-
Notifications
You must be signed in to change notification settings - Fork 0
/
rtp-rmarkdown-12-13-16.html
658 lines (548 loc) · 803 KB
/
rtp-rmarkdown-12-13-16.html
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
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
<!DOCTYPE html>
<html>
<head>
<title>Everything R Markdown</title>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="generator" content="pandoc" />
<meta name="date" content="2016-12-13" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<base target="_blank">
<script type="text/javascript">
var SLIDE_CONFIG = {
// Slide settings
settings: {
title: 'Everything R Markdown',
useBuilds: true,
usePrettify: true,
enableSlideAreas: true,
enableTouch: true,
},
// Author information
presenters: [
{
name: 'Mine Cetinkaya-Rundel' ,
company: '',
gplus: '',
twitter: '',
www: '',
github: ''
},
]
};
</script>
<style type="text/css">
b, strong {
font-weight: bold;
}
em {
font-style: italic;
}
slides > slide {
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
.auto-fadein {
-webkit-transition: opacity 0.6s ease-in;
-webkit-transition-delay: 0.4s;
-moz-transition: opacity 0.6s ease-in 0.4s;
-o-transition: opacity 0.6s ease-in 0.4s;
transition: opacity 0.6s ease-in 0.4s;
opacity: 0;
}
</style>
<link href="data:text/css;charset=utf-8,%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%3B%0Afont%2Dstyle%3A%20normal%3B%0Afont%2Dweight%3A%20400%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAQAQAABAAARkZUTVyseR0AAI5wAAAAHE9TLzKhPb8OAAABiAAAAGBjbWFwjOjcmQAABUAAAAGyY3Z0IA9NGKQAAA%2B0AAAAomZwZ21%2BYbYRAAAG9AAAB7RnYXNwABUAIwAAjmAAAAAQZ2x5ZqzBrbUAABIIAABRVGhlYWT5NhTaAAABDAAAADZoaGVhDrcE%2BgAAAUQAAAAkaG10eJh3VwIAAAHoAAADWGtlcm4Mlg8JAABjXAAAIwRsb2NhdpdjTAAAEFgAAAGubWF4cAJdAUoAAAFoAAAAIG5hbWXeiHLCAACGYAAABglwb3N0gnjp1QAAjGwAAAHycHJlcEO3lqQAAA6oAAABCQABAAAAARmaMibrIV8PPPUAHwgAAAAAAMnt2GAAAAAAye3YYP55%2FhAHrgdzAAAACAACAAAAAAAAAAEAAAiN%2FagAAAgA%2Fnn%2BeweuAAEAAAAAAAAAAAAAAAAAAADWAAEAAADWAEIABQA9AAQAAgAQAC8AXAAAAQ4AmQADAAEAAwROAZAABQAIBZoFMwAAAR8FmgUzAAAD0QBmAfEIAgILBgYDBQQCAgTgAALvQAAgWwAAACgAAAAAMUFTQwBAACAgrAYf%2FhQAhAiNAlggAAGfAAAAAARIBbYAAAAgAAEIAAAAAAAAAAQUAAACFAAAAiMAmAM1AIUFKwAzBJMAgwaWAGgF1wBxAcUAhQJeAFICXgA9BGoAVgSTAGgB9gA%2FApMAVAIhAJgC8AAUBJMAZgSTALwEkwBkBJMAXgSTACsEkwCFBJMAdQSTAF4EkwBoBJMAagIhAJgCIQA%2FBJMAaASTAHcEkwBoA28AGwcxAHkFEAAABS8AyQUMAH0F1QDJBHMAyQQhAMkF0wB9BecAyQI7AMkCI%2F9gBOkAyQQnAMkHOQDJBggAyQY7AH0E0QDJBjsAfQTyAMkEZABqBG0AEgXTALoEwwAAB2gAGwSeAAgEewAABJEAUgKiAKYC8AAXAqIAMwRWADEDlv%2F8BJ4BiQRzAF4E5wCwA88AcwTnAHMEfQBzArYAHQRiACcE6QCwAgYAogIG%2F5EEMwCwAgYAsAdxALAE6QCwBNUAcwTnALAE5wBzA0QAsAPRAGoC0wAfBOkApAQCAAAGOQAXBDEAJwQIAAIDvgBSAwgAPQRoAe4DCABIBJMAaAIUAAACIwCYBJMAvgSTAD8EkwB7BJMAHwRoAe4EIQB7BJ4BNQaoAGQC1QBGA%2FoAUgSTAGgCkwBUBqgAZAQA%2F%2FoDbQB%2FBJMAaALHADECxwAhBJ4BiQT0ALAFPQBxAiEAmAHRACUCxwBMAwAAQgP6AFAGPQBLBj0ALgY9ABoDbwAzBRAAAAUQAAAFEAAABRAAAAUQAAAFEAAABvz%2F%2FgUMAH0EcwDJBHMAyQRzAMkEcwDJAjsABQI7ALMCO%2F%2FHAjsABQXHAC8GCADJBjsAfQY7AH0GOwB9BjsAfQY7AH0EkwCFBjsAfQXTALoF0wC6BdMAugXTALoEewAABOMAyQT6ALAEcwBeBHMAXgRzAF4EcwBeBHMAXgRzAF4G3QBeA88AcwR9AHMEfQBzBH0AcwR9AHMCBv%2FaAgYAqQIG%2F7MCBv%2FsBMUAcQTpALAE1QBzBNUAcwTVAHME1QBzBNUAcwSTAGgE1QBzBOkApATpAKQE6QCkBOkApAQIAAIE5wCwBAgAAgIGALAHYgB9B4kAcQS8AQwEngFvBLwBCAQAAFIIAABSAVwAGQFcABkB9gA%2FAs0AGQLNABkDPQAZAwIApAJvAFICbwBQAQr%2BeQLHABQEuAA%2FAAAAAwAAAAMAAAAcAAEAAAAAAKwAAwABAAAAHAAEAJAAAAAgACAABAAAAH4A%2FwExAVMCxgLaAtwgFCAaIB4gIiA6IEQgdCCs%2F%2F8AAAAgAKABMQFSAsYC2gLcIBMgGCAcICIgOSBEIHQgrP%2F%2F%2F%2BP%2Fwv%2BR%2F3H9%2F%2F3s%2FevgteCy4LHgruCY4I%2FgYOApAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0%2BP0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAhoeJi5OYnqOipKalp6mrqqytr66wsbO1tLa4t7y7vb4AcmRladB4oXBrAHZqAIiaAHMAAGd3AAAAAABsfACouoFjbgAAAABtfQBigoWXw8TIyc3Oysu5AMEA09XR0gAAAHnMzwCEjIONio%2BQkY6VlgCUnJ2bwsXHcQAAxnoAAAAAAEBHW1pZWFVUU1JRUE9OTUxLSklIR0ZFRENCQUA%2FPj08Ozo5ODc2NTEwLy4tLCgnJiUkIyIhHxgUERAPDg0LCgkIBwYFBAMCAQAsILABYEWwAyUgEUZhI0UjYUgtLCBFGGhELSxFI0ZgsCBhILBGYLAEJiNISC0sRSNGI2GwIGAgsCZhsCBhsAQmI0hILSxFI0ZgsEBhILBmYLAEJiNISC0sRSNGI2GwQGAgsCZhsEBhsAQmI0hILSwBECA8ADwtLCBFIyCwzUQjILgBWlFYIyCwjUQjWSCw7VFYIyCwTUQjWSCwBCZRWCMgsA1EI1khIS0sICBFGGhEILABYCBFsEZ2aIpFYEQtLAGxCwpDI0NlCi0sALEKC0MjQwstLACwKCNwsQEoPgGwKCNwsQIoRTqxAgAIDS0sIEWwAyVFYWSwUFFYRUQbISFZLSxJsA4jRC0sIEWwAENgRC0sAbAGQ7AHQ2UKLSwgabBAYbAAiyCxLMCKjLgQAGJgKwxkI2RhXFiwA2FZLSyKA0WKioewESuwKSNEsCl65BgtLEVlsCwjREWwKyNELSxLUlhFRBshIVktLEtRWEVEGyEhWS0sAbAFJRAjIIr1ALABYCPt7C0sAbAFJRAjIIr1ALABYSPt7C0sAbAGJRD1AO3sLSywAkOwAVJYISEhISEbRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F7qLG7BGjFmwEGBoATpZLSwgRbADJUZSS7ATUVtYsAIlRiBoYbADJbADJT8jITgbIRFZLSwgRbADJUZQWLACJUYgaGGwAyWwAyU%2FIyE4GyERWS0sALAHQ7AGQwstLCEhDGQjZIu4QABiLSwhsIBRWAxkI2SLuCAAYhuyAEAvK1mwAmAtLCGwwFFYDGQjZIu4FVViG7IAgC8rWbACYC0sDGQjZIu4QABiYCMhLSxLU1iKsAQlSWQjRWmwQIthsIBisCBharAOI0QjELAO9hshI4oSESA5L1ktLEtTWCCwAyVJZGkgsAUmsAYlSWQjYbCAYrAgYWqwDiNEsAQmELAO9ooQsA4jRLAO9rAOI0SwDu0birAEJhESIDkjIDkvL1ktLEUjRWAjRWAjRWAjdmgYsIBiIC0ssEgrLSwgRbAAVFiwQEQgRbBAYUQbISFZLSxFsTAvRSNFYWCwAWBpRC0sS1FYsC8jcLAUI0IbISFZLSxLUVggsAMlRWlTWEQbISFZGyEhWS0sRbAUQ7AAYGOwAWBpRC0ssC9FRC0sRSMgRYpgRC0sRSNFYEQtLEsjUVi5ADP%2F4LE0IBuzMwA0AFlERC0ssBZDWLADJkWKWGRmsB9gG2SwIGBmIFgbIbBAWbABYVkjWGVZsCkjRCMQsCngGyEhISEhWS0ssAJDVFhLUyNLUVpYOBshIVkbISEhIVktLLAWQ1iwBCVFZLAgYGYgWBshsEBZsAFhI1gbZVmwKSNEsAUlsAglCCBYAhsDWbAEJRCwBSUgRrAEJSNCPLAEJbAHJQiwByUQsAYlIEawBCWwAWAjQjwgWAEbAFmwBCUQsAUlsCngsCkgRWVEsAclELAGJbAp4LAFJbAIJQggWAIbA1mwBSWwAyVDSLAEJbAHJQiwBiWwAyWwAWBDSBshWSEhISEhISEtLAKwBCUgIEawBCUjQrAFJQiwAyVFSCEhISEtLAKwAyUgsAQlCLACJUNIISEhLSxFIyBFGCCwAFAgWCNlI1kjaCCwQFBYIbBAWSNYZVmKYEQtLEtTI0tRWlggRYpgRBshIVktLEtUWCBFimBEGyEhWS0sS1MjS1FaWDgbISFZLSywACFLVFg4GyEhWS0ssAJDVFiwRisbISEhIVktLLACQ1RYsEcrGyEhIVktLLACQ1RYsEgrGyEhISFZLSywAkNUWLBJKxshISFZLSwgiggjS1OKS1FaWCM4GyEhWS0sALACJUmwAFNYILBAOBEbIVktLAFGI0ZgI0ZhIyAQIEaKYbj%2FgGKKsUBAinBFYGg6LSwgiiNJZIojU1g8GyFZLSxLUlh9G3pZLSywEgBLAUtUQi0ssQIAQrEjAYhRsUABiFNaWLkQAAAgiFRYsgIBAkNgQlmxJAGIUVi5IAAAQIhUWLICAgJDYEKxJAGIVFiyAiACQ2BCAEsBS1JYsgIIAkNgQlkbuUAAAICIVFiyAgQCQ2BCWblAAACAY7gBAIhUWLICCAJDYEJZuUAAAQBjuAIAiFRYsgIQAkNgQlmxJgGIUVi5QAACAGO4BACIVFiyAkACQ2BCWblAAAQAY7gIAIhUWLICgAJDYEJZWVlZWVmxAAJDVFhACgVACEAJQAwCDQIbsQECQ1RYsgVACLoBAAAJAQCzDAENARuxgAJDUliyBUAIuAGAsQlAG7IFQAi6AYAACQFAWblAAACAiFW5QAACAGO4BACIVVpYswwADQEbswwADQFZWVlCQkJCQi0sRRhoI0tRWCMgRSBksEBQWHxZaIpgWUQtLLAAFrACJbACJQGwASM%2BALACIz6xAQIGDLAKI2VCsAsjQgGwASM%2FALACIz%2BxAQIGDLAGI2VCsAcjQrABFgEtLLCAsAJDULABsAJDVFtYISMQsCAayRuKEO1ZLSywWSstLIoQ5S1AmQkhSCBVIAEeVR9IA1UfHgEPHj8erx4DTUsmH0xLMx9LRiUfJjQQVSUzJFUZE%2F8fBwT%2FHwYD%2Fx9KSTMfSUYlHxMzElUFAQNVBDMDVR8DAQ8DPwOvAwNHRhkf60YBIzMiVRwzG1UWMxVVEQEPVRAzD1UPD08PAh8Pzw8CDw%2F%2FDwIGAgEAVQEzAFVvAH8ArwDvAAQQAAGAFgEFAbgBkLFUUysrS7gH%2F1JLsAlQW7ABiLAlU7ABiLBAUVqwBoiwAFVaW1ixAQGOWYWNjQBCHUuwMlNYsCAdWUuwZFNYsBAdsRYAQllzcysrXnN0dSsrKysrdCtzdCsrKysrKysrKysrKytzdCsrKxheAAAABhQAFwBOBbYAFwB1BbYFzQAAAAAAAAAAAAAAAAAABEgAFACRAAD%2F7AAAAAD%2F7AAAAAD%2F7AAA%2FhT%2F7AAABbYAE%2FyU%2F%2B3%2Bhf%2Fq%2Fqn%2F7AAY%2FrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAiwCBAN0AmACPAI4AmQCIAIEBDwCKAAAAAAAAAAAAAAAAADIAWADgAVwBzgJMAmYCkgK%2BAvoDJgNEA1oDfAOWA9gEAgREBKIE5AUwBY4FsAYgBn4GtAboBwgHMgdSB6oIMghyCM4JDAlICX4JrAn8Ci4KRApsCpwKugr4CzALdgu0DAgMVgyqDM4NAg0qDW4Nng3GDfIOFg4wDlQOdg6MDqwPCA9eD5oP7hA8EHwREBFOEXwRuhH4EhASaBKiEuQTOhOOE8IUFBRUFJIUuhUGFTYVcBWcFd4V9hY8FnYWdhaoFvQXRheUF%2BgYDhiKGMAZPBmKGcYZ5BnsGnYajBrEGuIbHBtsG4wbzBv8HB4cUBx4HLIc6h0AHRYdLB2KHZwdrh3AHdId5B3wHj4eSh5cHm4egB6SHqQeth7IHtofMh9EH1YfaB96H4wfnh%2FMIDggSiBcIG4ggCCSINQhPCFMIVwhbCF8IY4hoCIsIjgiSCJYImgieiKMIp4isCLCIyojOiNKI1ojaiN6I4wj0iQ4JEgkWCRoJHokiiTiJPQlDCVwJeomFCZKJoQmmiawJs4m7Cb0JyQnVidwJ5AntCfYJ%2FIoNCiqAAAAAgCY%2F%2BMBiQW2AAMADgArQBQDCQkCBAQPEAEBDAIMBk9ZDBYCAwA%2FPysREgA5GC8REgE5ETMzETMxMAEjAzMDNDMyFhUUBiMiJgFGaTPP4Xg6P0A5NEQBkwQj%2BrSIRkJARz8AAAIAhQOmArAFtgADAAcAH0ANAAMHBAMECAkGAgcDAwA%2FM80yERIBOTkRMxEzMTABAyMDIQMjAwE%2FKGkpAispaCkFtv3wAhD98AIQAAACADMAAAT2BbYAGwAfAJlAVQgfHBUEFAkRDAwJEg8OCwQKExMUFh0eBwQGFwQBABkEGAUFBhQGCiEDGhcDGAoYICEIBAwNDE5ZHAENHwAQERBOWRkVEU8NAU8RAQ0RDREFFxMDCgUALzM%2FMxI5OS8vXV0RMzMrEQAzMxEzMysRADMzERIBOTkRFzMREjk5ETMREhc5ERIXOREzERIXOTIyETMREhc5MTABAyEVIQMjEyEDIxMhNSETITUhEzMDIRMzAyEVASETIQPVQgEb%2Fs1UiVT%2B0VKIUP76AR9E%2FusBK1KLUgExVIZUAQj85QEvQv7RA4P%2BrIH%2BUgGu%2FlIBroEBVH8BtP5MAbT%2BTH%2F%2BrAFUAAMAg%2F%2BJBAwGEgAgACYALQBmQDUnESUdFwQEKhQNBSEAABkFEQkFLi8lDQYNTVkDBiQOKg5MWR0qKxwUHE1ZFyoUBhQGFAUWBQAvLxI5OS8vEjkyKxEAMxEzKxEAMxEzKxEAMxESARc5ETMRMzMzMxEzMzMRMzEwARQGBxUjNSImJzUeATMRLgE1NDY3NTMVFhcHJicRHgIHNCYnETYBFBYXEQ4BBAzMt4Fw0kNT2VnNpcungbirNJWanZxKqlmA2f3dWm9jZgHBiLEX6N8jH5wlLwG4QayIg6gStrQFRYM7C%2F5OMl97ZUhZLP57HgMHTFwpAYMQXQAABQBo%2F%2BwGLQXLAAkAFQAhAC0AMQBFQCQAEAUKFigcIiIuKAowEAYyMwMNHysNKw0rMDEGMBgZJRkHEwcAPzM%2FMz8%2FEjk5Ly8RMxEzERIBFzkRMxEzETMRMzEwExQWMzIRECMiBgUUBiMiJjU0NjMyFgEUFjMyNjU0JiMiBgUUBiMiJjU0NjMyFgkBIwHySlOkpFNKAcqZlIyblZKRnAGmSlRUUFBUVEoBy5mUjpmVko6f%2Fv781ZMDKwQCqqoBVAFSqKrk6e7f4%2Bbu%2FNurqaetq6Wlq%2BPp7t7j5usDIPpKBbYAAAAAAwBx%2F%2BwF0wXNAAsAFQA1AFFAMBMWAB0GIyorListIw4mGR0WCTY3MwxJWTMTDyctDjAFLwMZJgMqKiAvEiAJSlkgBAA%2FKwAYPxI5Lxc5Ehc5PysREgEXOREzETMRMxEzMTABFBYXPgE1NCYjIgYTMjcBDgIVFBYlNDY3LgI1NDYzMhYVFAYHAT4BNzMCBwEjJw4BIyImAZ5IV4FlZ1ZZb5vxn%2F5Lb1wsm%2F65i7RVPSTEr6K6iJ0BlzhDF6hEiQEr5bl29JbX7QSTRX1YS39TTWFg%2B52aAahEWWZBdYn6gshmX2JqOZaop5VrtV3%2BeT6nY%2F7ilP7dsmpc1AAAAQCFA6YBPwW2AAMAFLcAAwMEBQIDAwA%2FzRESATkRMzEwAQMjAwE%2FKGkpBbb98AIQAAAAAAEAUv68AiEFtgANABxADAcACgQABA4PCycDAwA%2FPxESATk5ETMRMzEwExASNzMGAhUUEhcjJgJSm5KikJGUi6CTmgIxAQkBzq7B%2FjL08P42vaoBxgAAAAABAD3%2BvAIMBbYADQAcQAwECgcACgAODwoDBCcAPz8REgE5OREzETMxMAEQAgcjNhI1NAInMxYSAgybkqCLlJGQopOaAjH%2B%2Bf46qLwBy%2FD0Ac7Br%2F4xAAAAAQBWAn8EDgYUAA4AMEAbAwUEAQcNCgkLCQ8QBAoBDQIMDA0KBwQGCA4AAD%2FEMhc5ETMRMxEzERIBFzkxMAEDJRcFEwcLAScTJTcFAwKRKwGOGv6D%2BKywoLDy%2FocdAYcrBhT%2BdW%2B2H%2F66XgFq%2FpZeAUYftm8BiwAAAQBoAOMEKQTDAAsAKEATAAQECQUFDA0DBwgHUFkADwgBCAAvXTMrEQAzERIBOREzMxEzMTABIRUhESMRITUhETMCjQGc%2FmSL%2FmYBmosDF4r%2BVgGqigGsAAEAP%2F74AW0A7gAIABG1BQAJCgUAAC%2FNERIBOTkxMCUXBgIHIzYSNwFeDxpiNX0bQQ3uF2T%2B93JoATJcAAEAVAHZAj8CcQADABG1AgAFBAABAC8zERIBOTkxMBM1IRVUAesB2ZiYAAAAAQCY%2F%2BMBiQDyAAsAGEALBgAADA0JA09ZCRYAPysREgE5ETMxMDc0NjMyFhUUBiMiJpg9OTpBQjkzQ2pDRUVDQUY%2FAAABABQAAALbBbYAAwATtwIABAUDAwISAD8%2FERIBOTkxMAkBIwEC2%2F3fpgIhBbb6SgW2AAAAAgBm%2F%2BwELQXNAAsAFwAoQBQSAAwGAAYZGAkVS1kJBwMPS1kDGQA%2FKwAYPysREgE5OREzETMxMAEQAiMiAhEQEjMyEgEQEjMyEhEQAiMiAgQt7%2Fbs9u707vf84ZakppWVpqSWAt3%2Bhf6KAX8BcgF%2BAXL%2Bfv6S%2FsH%2B3QEnATsBOwEl%2Ft8AAQC8AAACywW2AAoAJEAQCQABCAELDAQJBwcBCQYBGAA%2FPxI5LxI5ERIBOTkRMzMxMCEjETQ3DgEHJwEzAsuiCBU01FgBg4wEEoJ0FS6scgErAAAAAQBkAAAEJQXLABkAK0AXGAEHEwATDgEEGhsQCktZEAcBGExZARgAPysAGD8rERIBFzkRMxEzMTApATUBPgI1NCYjIgYHJzYzMhYVFAIHARUhBCX8PwGBsHA4jn5bo2RYyu7O6pzW%2FsAC8I8Bg7KYkFN1iTxPcajTsov%2B8ND%2BxwgAAAAAAQBe%2F%2BwEGwXLACcAQ0AkGwATBwcAAxYiDQYoKQMXFhcWS1kXFwolJR5LWSUHChFLWQoZAD8rABg%2FKxESADkYLysREgA5ERIBFzkRMxEzMTABFAYHFR4BFRQEISImJzUeATMgERAhIzUzMjY1NCYjIgYHJz4BMzIWA%2B6dkLCq%2Ft7%2B9XTBW1%2FXYAF7%2Fl6QkqvIk35gqm1UWuuC1ewEXoyyHggWtJLR4SMsni8xASkBCo%2BXhmt6NEZwR1HDAAACACsAAARqBb4ACgASADxAHhIFCQICCwcDAAMFAxMUAQUSBUxZCQ8HEhIDBwYDGAA%2FPxI5LxI5MysRADMREgEXOREzMzMRMxEzMTABIxEjESE1ATMRMyERNDcjBgcBBGrZn%2F05Araw2f6ICggwKv43AVD%2BsAFQkQPd%2FCkB5o%2B0YD%2F9dgABAIX%2F7AQdBbYAGgA6QB8PAxkUCBQXAwQcGwARS1kAAAYVFRhMWRUGBgxLWQYZAD8rABg%2FKxESADkYLysREgEXOREzETMxMAEyBBUUACMiJzUeATMyNjUQISIHJxMhFSEDNgIt5wEJ%2Ft%2F%2B94JG0GWww%2F6JX59WNwLX%2FbclcwN95cfj%2Fv5PoC0zpp0BMh03AqyZ%2FkkXAAAAAAIAdf%2FsBC8FywAWACQAREAjGhELISEAAAYRAyYlDAsOHU1ZCw4OFAMUF0tZFBkDCE1ZAwcAPysAGD8rERIAORgvOSsRADMREgEXOREzETMRMzEwExAAITIXFSYjIgIDMzYzMhYVFAIjIgAFMjY1NCYjIg4BFRQeAXUBTwFIcUFNY%2Bv4DAxu7sXj%2BdTj%2FvYB646dkpFalllQkwJxAa8BqxOPGf7b%2Fsas7szk%2FvsBVcizqZGmSoJGZ7JoAAAAAQBeAAAEKwW2AAYAH0AQAQUFAAIDBwgDAkxZAwYAGAA%2FPysREgEXOREzMTAhASE1IRUBAR0CXvzjA839qgUdmYX6zwADAGj%2F7AQpBcsAFgAiAC4ATUApFw8mFCwDHQkJAwYRFA8GLzAGESkgKSBLWSkpDAAMGk1ZDBkAI01ZAAcAPysAGD8rERIAORgvKxESADk5ERIBFzkRMxEzETMRMzEwATIWFRQGBx4BFRQGIyImNTQlLgE1NDYDFBYzMjY1NCYnDgEBIgYVFBYXPgE1NCYCSMjqhpOylv7d6vwBMop463enl5WmnMKVhgE6fY52n493kQXLuqRssklVu3u22c28%2B4xOtXCfvfumeIaMemGXR0CbA2d4ZFyEQjyKXGV3AAAAAAIAav%2FsBCUFywAXACUAQUAiGxEiCgoAAAQRAyYnDh5NWQsUDg4CFBQYS1kUBwIHTVkCGQA%2FKwAYPysREgA5GC8SOSsREgEXOREzETMRMzEwARAhIic1FjMyEhMjDgEjIiY1NAAzMhYSASIGFRQWMzI%2BATU0LgEEJf1odERQZvD1Cww3tnLC5AD%2F0JXfeP4Uj5yQk1uZWFKTA0b8phSPGgEpATNTV%2BjQ5AEImf7bATC4pJClSoBGabJmAAAAAgCY%2F%2BMBiQRkAAsAFQAoQBQQBgYMAAAWFw4TT1kOEAkDT1kJFgA%2FKwAYPysREgE5ETMzETMxMDc0NjMyFhUUBiMiJhE0MzIVFAYjIiaYPTk6QUI5M0N2e0I5M0NqQ0VFQ0FGPwO7h4dBRj8AAgA%2F%2FvgBhQRkAAgAEgAiQBABDQ0FCQkUEwsQT1kLEAUAAC%2FNPysREgE5ETMzETMxMCUXBgIHIzYSNwM0MzIVFAYjIiYBXg8aYjV9G0ENFXd7Qjk6Pe4XZP73cmgBMlwC74eHQUZGAAABAGgA8gQpBNkABgAVQAkEAAUBBAcIAwAALy8REgEXOTEwJQE1ARUJAQQp%2FD8DwfzyAw7yAaZiAd%2BV%2Fo3%2BuAAAAgB3AcEEGQPjAAMABwAqQBUHAgQAAgAJCAQFUFkEAQBQWQ8BAQEAL10rABgvKxESATk5ETMRMzEwEzUhFQE1IRV3A6L8XgOiA1qJif5niYkAAAAAAQBoAPIEKQTZAAYAFUAJBQECAAQHCAYDAC8vERIBFzkxMBMJATUBFQFoAw%2F88QPB%2FD8BiQFGAXWV%2FiFi%2FloAAAIAG%2F%2FjAzkFywAbACYAOUAdIRwbAAcTEwAcDgQnKAAAJBAkHk9ZJBYQCklZEAQAPysAGD8rERIAORgvERIBFzkRMxEzETMxMAE1NDY3PgE1NCYjIgYHJzYzMhYVFA4BBw4BHQEDNDMyFhUUBiMiJgEhSGKIR4N7T5ZhO73Ov9QnTH5lQbJ4Oj9AOTREAZM2dZdUc3RSZm8lMYdjvKtJb2NuVnJfIf7XiEZCQEc%2FAAAAAgB5%2F0YGuAW0ADUAPwBFQCIjLjYOOwcUGwAAKRQOLgVAQRg4OAQ9CBELEQsRKx8yAyYrAC8zPzMSOTkvLxI5MjMzETMREgEXOREzETMzETMRMzEwARQOASMiJicjDgEjIiY1NBIzMhYXAxUUMzI2NTQCJCMiBAIVEAAhMjcVBiMgABEQEiQhMgQSARQzMhsBJiMiBga4WKBoVnYLCCiVZpap7MBErEUZhVtylP7vsd%2F%2Btq4BQgEv0uLA9P6V%2Fm%2FWAYwBANcBT7f79sPPEg5IVYKTAtmO7IJoUVdizbDMAP8ZFv4qFrLXrLUBEJO5%2Fqnh%2Fs%2F%2BuFaFVAGPAWYBBAGW37X%2Bs%2F6k%2FgE5AQUUtAAAAAACAAAAAAUQBbwABwAOADlAHgIOCwgBBQADAAcDBAcEEA8OAklZCwUODgQFAwAEEgA%2FMz8SOS8SOSsREgE5OREzETMREhc5MTAhAyEDIwEzCQEDJicGBwMEYLb9trSsAkKPAj%2F%2BZaohIxYprAHR%2Fi8FvPpEAmoBxVZ9YHP%2BOwAAAAMAyQAABL4FtgAOABcAIABJQCYTBB0KDxkZDgoEBw4EISIIDxgPGEpZDw8OAA4ZSlkOEgAXSlkAAwA%2FKwAYPysREgA5GC8rERIAORESARc5ETMRMxEzETMxMBMhIAQVFAYHFQQRFAQjIRMhMjY1NCYrARkBITI2NTQmI8kBnQEjAQSRiwFN%2Fvfu%2FgKqARi0nrDA%2BgExsbO3uwW2rryCqRkKOf7bxNwDRHGGe239kf3diZKIgAAAAAABAH3%2F7ATPBcsAFgAmQBQDDhQJDgMXGBIASVkSBAsGSVkLEwA%2FKwAYPysREgEXOREzMTABIgAREAAzMjcVBiMgABE0EiQzMhcHJgM78f7pAQ35mcSY3%2F69%2FqGpAT%2FY5qxIpgUz%2Fr%2F%2B6f7h%2Fsc3lTkBiAFp4gFUuFSSTgAAAgDJAAAFWAW2AAgAEQAoQBQOBAkABAASEwUNSlkFAwQOSlkEEgA%2FKwAYPysREgE5OREzETMxMAEQACkBESEgAAMQACEjETMgAAVY%2Fnf%2Bj%2F5rAcABVQF6tP7h%2FuX3zwEwATIC6f6W%2FoEFtv6G%2FqcBHgEi%2B3ABKwAAAQDJAAAD%2BAW2AAsAOkAfBgoKAQQACAEEDA0GCUlZBgYBAgIFSVkCAwEKSVkBEgA%2FKwAYPysREgA5GC8rERIBFzkRMxEzMTApAREhFSERIRUhESED%2BPzRAy%2F9ewJe%2FaIChQW2l%2F4plv3mAAAAAQDJAAAD%2BAW2AAkAMkAaBgAAAQMIAQMKCwYJSVkGBgECAgVJWQIDARIAPz8rERIAORgvKxESARc5ETMRMzEwISMRIRUhESEVIQFzqgMv%2FXsCXv2iBbaX%2FemXAAABAH3%2F7AU9BcsAGwA6QB8UCBkCAg4bCAQcHQAbSVkAAAUMDBFJWQwEBRdJWQUTAD8rABg%2FKxESADkYLysREgEXOREzETMxMAEhEQ4BIyAAETQSJDMyFwcmIyAAERAAITI3ESEDTAHxdPCe%2FrT%2BjrcBWOfqykLGt%2F71%2FtQBIQEYmJH%2BuQL%2B%2FTklJgGLAWTkAVe1VpZU%2FsL%2B5v7Y%2Fs4jAcIAAQDJAAAFHwW2AAsAM0AZCQEBAAgEBAUABQ0MCANJWQgIBQoGAwEFEgA%2FMz8zEjkvKxESATk5ETMRMxEzETMxMCEjESERIxEzESERMwUfqvz%2BqqoDAqoCsP1QBbb9kgJuAAAAAAEAyQAAAXMFtgADABG2AAQFAQMAEgA%2FPxESATkxMDMRMxHJqgW2%2BkoAAAAAAf9g%2Fn8BaAW2AA0AHUANCwgIDg8JAwAFSVkAIgA%2FKwAYPxESATkRMzEwAyInNRYzMjY1ETMRFAYMXjZHTWNnqsD%2BfxuRFHhxBbb6WL7RAAABAMkAAATpBbYACwAqQBUIBAQFBQILCgAFDQwCCAUJBgMBBRIAPzM%2FMxI5ORESARc5ETMRMzEwISMBBxEjETMRATMBBOnI%2FeuZqqoCl8n9tALFiP3DBbb9KwLV%2FYUAAAABAMkAAAP4BbYABQAfQA4DAAAEBgcBAwADSVkAEgA%2FKwAYPxESATk5ETMxMDMRMxEhFcmqAoUFtvrkmgABAMkAAAZxBbYAEwAyQBgIBQUGCw4ODQYNFBUBChEDBgsHAw4ABhIAPzMzPzMSFzkREgE5OREzETMRMxEzMTAhASMWFREjESEBMwEzESMRNDcjAQNQ%2FhAIDp0BAAHPCAHT%2FqoOCP4MBRCa1PxeBbb7SgS2%2BkoDrqK%2B%2BvIAAQDJAAAFPwW2ABAALkAVCQYGBwEPDwAHABESCwMHDwgDAQcSAD8zPzMSOTkREgE5OREzETMRMxEzMTAhIwEjFhURIxEzATMmAjcRMwU%2FwvzhCBCdwAMdCAIOAp8Ey9i0%2FMEFtvs6GwElPwNHAAAAAAIAff%2FsBb4FzQALABcAKEAUEgAMBgAGGRgJFUlZCQQDD0lZAxMAPysAGD8rERIBOTkRMxEzMTABEAAhIAAREAAhIAABEBIzMhIREAIjIgIFvv6d%2FsT%2Bvf6hAWABRAE7AWL7c%2F3x8%2Fj38vP9At3%2Bof5uAYsBaAFlAYn%2BcP6g%2Ftf%2BzQEyASoBJwEx%2Fs0AAgDJAAAEaAW2AAkAEgA0QBoKBQUGDgAGABMUCgRKWQoKBgcHEkpZBwMGEgA%2FPysREgA5GC8rERIBOTkRMxEzETMxMAEUBCEjESMRISABMzI2NTQmKwEEaP7R%2FuasqgF7AiT9C5niyr7JvgQM3u%2F9wQW2%2FRuSoZGOAAAAAAIAff6kBb4FzQAPABsANEAbEAoWAAAEAwoEHB0DDQcNGUlZDQQHE0lZBQcTAD%2FGKwAYPysREgA5ERIBFzkRMxEzMTABEAIHASMBByAAERAAISAAARASMzISERACIyICBb7izgFc9%2F7jN%2F69%2FqEBYAFEATsBYvtz%2FfHz%2BPfy8%2F0C3f7n%2FoxC%2FpYBSgIBiwFoAWUBif5w%2FqD%2B1%2F7NATIBKgEnATH%2BzQAAAAIAyQAABM8FtgAMABUASEAlDQEBAgwJEQcLCgoHCQIEFhcJDQANAEpZDQ0CAwMVSVkDAwsCEgA%2FMz8rERIAORgvKxESADkREgEXOREzETMRMxEzETMxMAERIxEhIAQVEAUBIwElMzI2NTQmKwEBc6oBkQENAQH%2B2gGNyf6e%2Fs%2FptKirvd0CYP2gBbbOz%2F7eZv1vAmCSj4%2BRgAAAAAEAav%2FsBAIFywAkADRAGx4TDAAAGBMFBCUmDB4DFhYbSVkWBAMJSVkDEwA%2FKwAYPysREgA5ORESARc5ETMRMzEwARQEIyAnNR4BMzI2NTQuAScuATU0NjMyFwcmIyIGFRQeARceAQQC%2Fujw%2FvyMWtRoqqw9j5LMr%2F7R2rc1tauHmDiFieatAYXB2EOkJiyBc0xhUjRJyKGpyFCUTHRnTGFRMVK8AAAAAAEAEgAABFoFtgAHACRAEgABBQEDAwgJBwMEA0lZBAMBEgA%2FPysRADMREgEXOREzMTAhIxEhNSEVIQKLqv4xBEj%2BMQUfl5cAAAEAuv%2FsBRkFtgARACVAERABCgcBBxMSEQgDBA1JWQQTAD8rABg%2FMxESATk5ETMRMzEwAREUACEgADURMxEUFjMyNjURBRn%2B0v74%2Fvj%2B36rIwrnIBbb8Tvr%2B4gEg%2FAOu%2FEa3xMW4A7gAAQAAAAAEwwW2AAoAGkALAQQMCwgDAAQDAxIAPz8zEjkREgE5OTEwATMBIwEzARYXNjcEDLf98aj99LQBUDoiJDoFtvpKBbb8TqOaoqEAAAABABsAAAdMBbYAGQAkQBAZChsaFQ4OBQkYEQoDAQkSAD8zPzMzEjk5ETMREgE5OTEwISMBLgEnBgcBIwEzExYXNjcBMwEWFzY3EzMFxaj%2B2RU0ARYw%2FuKo%2Fnu05zAWGzUBBrQBEzAhEzXmtAPTQcYUhJ38MwW2%2FHm%2BmrevA3n8f5vDjswDhQAAAQAIAAAElgW2AAsAI0ASBAYFCwoABg0MAggECQYDAQQSAD8zPzMSOTkREgEXOTEwISMJASMJATMJATMBBJbB%2Fnf%2BcLQB5v47vAFrAW61%2FjsCg%2F19AvwCuv29AkP9TAAAAQAAAAAEewW2AAgAIEAPBAUCBQcDCQoABQEHAwUSAD8%2FMxI5ERIBFzkRMzEwCQEzAREjEQEzAj0Bhrj%2BGKz%2BGboC2wLb%2FIH9yQIvA4cAAAABAFIAAAQ%2FBbYACQArQBcIAQMHAAcEAQQKCwUESVkFAwEISVkBEgA%2FKwAYPysREgEXOREzETMxMCkBNQEhNSEVASEEP%2FwTAwj9EAO%2F%2FPgDHoUEmJmF%2B2kAAQCm%2FrwCbwW2AAcAIEAOBgEEAAEACAkFAgMGAScAPzM%2FMxESATk5ETMRMzEwASERIRUhESECb%2F43Acn%2B3wEh%2FrwG%2Bo36IQAAAQAXAAAC3QW2AAMAE7cDAQQFAwMCEgA%2FPxESATk5MTATASMBugIjpv3gBbb6SgW2AAAAAAEAM%2F68AfwFtgAHACBADgMAAQYABggJAAcnAwQDAD8zPzMREgE5OREzETMxMBchESE1IREhMwEh%2Ft8Byf43tgXfjfkGAAAAAAEAMQInBCMFwQAGABhACQADBwgFAgAEAgAvLzMSORESATk5MTATATMBIwkBMQGyYwHdmP6M%2FrICJwOa%2FGYC6f0XAAAAAf%2F8%2FsUDmv9IAAMAEbUABQEEAQIALzMRATMRMzEwASE1IQOa%2FGIDnv7FgwABAYkE2QMSBiEACQATtgAECwoGgAEALxrNERIBOTkxMAEjLgEnNTMeARcDEm5BsijLIHIsBNk0wD8VRbU1AAAAAgBe%2F%2BwDzQRaABkAJABHQCUiCAseHhkZEggDJSYBAgseR1kCCwsAFRUPRlkVEAUaRlkFFgAVAD8%2FKwAYPysREgA5GC85KxEAMxESARc5ETMRMxEzMTAhJyMOASMiJjUQJTc1NCYjIgcnPgEzMhYVESUyNj0BBw4BFRQWA1IhCFKjeqO5AhO6b3qJrTNRwWHEvf4Om7Gmxq9tnGdJqJsBTBAGRIF7VH8sMq7A%2FRR1qpljBwdtc1peAAIAsP%2FsBHUGFAATAB8AREAiChcXDw8MHQMMAyAhDQAMFRIRChEGAAYaRlkGFgAURlkAEAA%2FKwAYPysREgA5OREzGD8%2FERIBOTkRMxEzETMRMzEwATISERACIyImJyMHIxEzERQHMzYXIgYVFBYzMjY1NCYCrtjv8dZrsTwMI3emCAh0zKqWmqqZlpYEWv7Z%2FvL%2B8v7VT1KNBhT%2Bhn9lpIvD5%2BfH39HW0gAAAAABAHP%2F7AOLBFwAFgAmQBQPAwMVCQMYFwYNRlkGEAASRlkAFgA%2FKwAYPysREgEXOREzMTAFIgAREAAzMhYXBy4BIyARFBYzMjcVBgJm7v77AQn1T54tMzeCMv6yo6CJkG4UASUBDAETASwiF40WHf5Wytg7kzkAAAACAHP%2F7AQ3BhQAEgAfAEJAIR0GFwAODhEGESAhEhUPAAABAQwDCQkaRlkJEAMTRlkDFgA%2FKwAYPysREgA5OREzGD8%2FERIBOTkRMxEzMxEzMTAlIwYjIgIREBIzMhczLwERMxEjJTI2PQE0JiMiBhUUFgOaCXPl1%2B%2Fw1t93DQcEpof%2BnqqZm6qSm5qTpwEmAQ8BDwEsok9NAb757He5ziPpx%2BPP0tYAAAACAHP%2F7AQSBFwAEwAaADtAHxgKFwsDAxEKAxwbFwtGWRcXAAYGFEZZBhAADkZZABYAPysAGD8rERIAORgvKxESARc5ETMzETMxMAUiABEQADMyEh0BIR4BMzI3FQ4BAyIGByE0JgJ%2F8%2F7nAQXczvD9DQW5qLGtWJ2chJ0OAj2MFAEoAQcBCQE4%2FvHeacHISpQmIQPlrJidpwAAAAABAB0AAAMOBh8AFAA5QB0UDAwTAgIHAwUDFRYKD0ZZCgABBQcFRlkTBw8DFQA%2FPzMrEQAzGD8rERIBOTkRMzMRMzMSOTEwASERIxEjNTc1ECEyFwcmIyIGHQEhAp7%2B6abExAFhV3UrYEReWgEXA8f8OQPHSzw9AZQjhR99ikcAAAMAJ%2F4UBDEEXAAqADcAQQBuQD4rGTglDB89BTETARMFAioiHB8lGQpCQxwPNQ81RlkIO0dZCiIIKg8IDwgWKioCR1kqDyg%2FR1koEBYuR1kWGwA%2FKwAYPysAGD8rERIAOTkYLy8REjk5KysREgA5ERIBFzkRMxEzETMRMxEzMTABFQceARUUBiMiJwYVFBY7ATIWFRQEISImNTQ2Ny4BNTQ2Ny4BNTQ2MzIXARQWMzI2NTQmKwEiBhMUFjMyNTQjIgYEMcscLNzAMStqSlrCsr%2F%2B3P7o1%2BmAdCo5QEVVa9jGVkX%2BEZaM0clumMdxflqCdPP2dX4ESGkYI3FHocAIOFUtK5aPtr%2BgkmSSGhNQNTxaKiOobLTDFPsAWVx9a1lFbAM8c3bs934AAQCwAAAERAYUABYAM0AZDgwICAkAFgkWFxgOCRISBEZZEhAKAAAJFQA%2FMz8%2FKxESADkREgE5OREzETMRMzMxMCERNCYjIgYVESMRMxEUBzM%2BATMyFhURA556gq2fpqYICjG1dMnJAsWGhLzW%2FcMGFP4pVThPW7%2FQ%2FTUAAAIAogAAAWYF3wADAA8AI0ARCgAABAEBEBENB0hZDQIPARUAPz%2FOKxESATkRMzMRMzEwISMRMwM0NjMyFhUUBiMiJgFWpqa0OCooOjooKjgESAEpOTU2ODg3NwAAAv%2BR%2FhQBZgXfAAwAGAAsQBYTCwsNCAgZGhYQSFkWQAkPAAVGWQAbAD8rABg%2FGs4rERIBOREzMxEzMTATIic1FjMyNjURMxEQAzQ2MzIWFRQGIyImK187RUNOSaa0OCooOjooKjj%2BFBmHFFVXBPz7EP68B105NTY4ODc3AAEAsAAABB0GFAAQADZAGxAOCgoLCwgGBAUIBBESDAAAEBAICAMHCxUDDwA%2FPzMSOS85ETM%2FERIBFzkROREzETMzMTABNjcBMwkBIwEHESMRMxEUBwFUK1gBYsX%2BRAHbyf59faSkCAIxPWMBd%2F4t%2FYsCBmz%2BZgYU%2FMc3cwABALAAAAFWBhQAAwAWQAkAAQEEBQIAARUAPz8REgE5ETMxMCEjETMBVqamBhQAAAABALAAAAbLBFwAIwBGQCMVERESCAkAIwkSIwMkJRwWFRUSGQQNGQ1GWR8ZEBMPCQASFQA%2FMzM%2FPzMrEQAzERI5GC8zMxESARc5ETMRMxEzETMxMCERNCYjIgYVESMRNCYjIgYVESMRMxczPgEzIBczPgEzMhYVEQYlcHablKZwd5yRpocbCC%2BragEBTwgxune6uQLJg4Oyuf2cAsmDg7vV%2FcEESJZQWrpWZL%2FS%2FTUAAAEAsAAABEQEXAAUADFAGAAUDAgICRQJFhUMCRAQBEZZEBAKDwAJFQA%2FMz8%2FKxESADkREgE5OREzETMRMzEwIRE0JiMiBhURIxEzFzM%2BATMyFhURA556gqygpocbCDO4ccbIAsWGhLrW%2FcEESJZRWb%2FS%2FTUAAgBz%2F%2BwEYgRcAAwAGAAoQBQTAA0HAAcaGQoWRlkKEAMQRlkDFgA%2FKwAYPysREgE5OREzETMxMAEQACMiJgI1EAAzMgABFBYzMjY1NCYjIgYEYv7y7pPkfAEM7uYBD%2Fy9qKOjqamlo6YCJf70%2FtOKAQKtAQwBK%2F7O%2FvvS3NvT0dnWAAAAAgCw%2FhQEdQRcABQAIQA%2FQCAZCwQHBwgfEggSIiMECwAPDxVGWQ8QCQ8IGwAcRlkAFgA%2FKwAYPz8%2FKxESADk5ERIBOTkRMxEzETMzMzEwBSImJyMWFREjETMXMz4BMzISERACAyIGBxUUFjMyNjU0JgKua7E8DAymhxcIQKpu2u3x7qiWApqqjqGhFE9SYFb%2BPQY0llpQ%2Ftb%2B8%2F7y%2FtUD47rLJefH5srN2wAAAAIAc%2F4UBDcEXAAMAB8AREAiChAdFgMaGhkQGSAhGhsXDx0eHhYNExMHRlkTEA0ARlkNFgA%2FKwAYPysREgA5OREzGD8%2FERIBOTkRMxEzMzMRMzEwJTI2NzU0JiMiBhUUFhciAhEQEjMyFzM3MxEjETQ3IwYCTqaYBZypkpuZfdTu8NbheQkYg6YLDXN3stMl5srjz8%2FZiwEqAQsBDQEuqpb5zAHVZEanAAEAsAAAAycEXAAQACpAFA0JCQoKAhESCw8NAAoVAAVGWQAQAD8rABg%2FEjk%2FERIBOTkRMxEzMTABMhcHJiMiBhURIxEzFzM%2BAQKkSToXRDSFvaaJEwg9rARcDJoP2KH9tARIy2t0AAAAAQBq%2F%2BwDcwRcACQANkAcHhMMAAAYBRMEJSYMHgMWFhtGWRYQBgMJRlkDFgA%2FKwAYLz8rERIAOTkREgEXOREzETMxMAEUBiMiJzUeATMyNjU0JicuAjU0NjMyFwcmIyIGFRQeARceAQNz5M7aek%2B1VIKMb6GZgT%2FavrGpO6WGdngtZI7DiQErmaZFmiguU1VAWz45VWxLhptIh0RKQSw%2BODVHkAABAB%2F%2F7AKoBUYAFgA0QBsQFBQJCwkSAwQYFwoTEBNHWQ5AEA8HAEZZBxYAPysAGD8azSsRADMREgEXOREzETMxMCUyNjcVDgEjIBkBIzU%2FATMVIRUhERQWAhIsUhgbaSr%2Bwp2dRmABPv7CXnUNB38NEQFPAoxQRer%2Bgf17Y2oAAAEApP%2FsBDkESAAUADRAGQETBwwMChMKFRYMDQ0QCBQPEARGWRAWCxUAPz8rABg%2FMxI5ETMREgE5OREzETMRMzEwAREUFjMyNjURMxEjJyMOASMiJjURAUx6gqyfpokYCTO1dMjHBEj9OYaEvNUCQPu4k1FWvtECzQAAAAABAAAAAAQCBEgACwAYQAoBCgwNBQkBDwAVAD8%2FMzkREgE5OTEwIQEzExYXMzYSEzMBAaD%2BYLLsUA4IC3XMsv5gBEj9duRENQFNAjD7uAAAAAEAFwAABiMESAAcACxAFAkbHR4XFg4NAwQNBAgaEgkPAAgVAD8zPzMzEjk5ETMRMzMzERIBOTkxMCEDJicjBgcDIwEzGgEXMz4BNxMzExYXMz4BEzMBBC%2FJEzQIKB7PwP7VrmpvCAgLMRLJtMQ4FAgEI7%2Bs%2FtECgzvRr1%2F9fwRI%2FmP%2BUEs5tTUCdf2LrHUklgLc%2B7gAAAAAAQAnAAAECARIAAsAIkARBwUGAAEFDA0JAwEICxUEAQ8APzM%2FMxI5ORESARc5MTAJATMJATMJASMJASMBuP6DvQEhASC7%2FoMBkbz%2Bzf7KvAIxAhf%2BXAGk%2Fen9zwG8%2FkQAAQAC%2FhQEBgRIABUAJEASCQ8AAxYXBA0ADRJGWQ0bCAAPAD8yPysREgA5ERIBFzkxMBMzExYXMz4BEzMBDgEjIic1FjMyPwECsvBPEwgNU%2Bay%2FilGu4hMSjdEq0k9BEj9j9ZfM%2FcCfPsguZsRhQzAnAAAAAABAFIAAANtBEgACQArQBcIAQMHAAcEAQQKCwUER1kFDwEIR1kBFQA%2FKwAYPysREgEXOREzETMxMCkBNQEhNSEVASEDbfzlAlb9zwLn%2FbICXXEDVoGB%2FLoAAQA9%2FrwCwQW2ABwALEAVGRoaCxcAAA8HFAMDBwsDHR4TAwQnAD8%2FERIBFzkRMxEzMxEzETMRMzEwJRQWFxUuATURNCYjNT4BNRE0NjMVBhURFAcVFhUB23VxvtB%2BeIJ02Lbm398MZlwCjAKqmgEvaFmNAlxgATKbrIsGwf7Z1ycMJ9cAAQHu%2FhACewYUAAMAFkAJAgMDBAUDGwAAAD8%2FERIBOREzMTABMxEjAe6NjQYU9%2FwAAQBI%2FrwCywW2AB0ALEAVFQUKEhICGQAdHQ4OGQUDHh8VJwYDAD8%2FERIBFzkRMxEzETMzETMRMzEwASY1ETQnNTIWFREUFhcVIgYVERQGBzU%2BATURNDY3Agrf47jTdoJ6fs2%2Bb3RucQI%2FJ9cBJ8EGi66Z%2Fs5hWwKNWWj%2B0ZmrAowCXGYBKXJ4FAAAAAABAGgCUAQpA1QAFwAkQBEDDxgZEgxQWQMSDwYGAFBZBgAvKwAQGMQvxCsREgE5OTEwASIGBzU2MzIWFx4BMzI2NxUGIyImJy4BAVI1fzZkkERxWUJiLzaANmaOSH5IS1oCyUM2l20cJhwbQDmWbiEgIBgAAAIAmP6LAYkEXgADAA4AK0AUAgQEAwkJDxAAAAMMDAZPWQwQAyIAPz8rERIAORgvERIBOREzMxEzMTATMxMjExQjIiY1NDYzMhbbaTPP4Xk8PD85M0YCrPvfBUyHR0A%2FSEAAAAABAL7%2F7APbBcsAGwA%2BQB4WCA0DAwoEABAQBAgDHB0ZBQITCg0CDQINBAsHBBkAPz8SOTkvLxEzMxEzMxESARc5ETMRMzMRMxEzMTAlBgcVIzUmAjUQJTUzFR4BFwcmIyIGFRQWMzI3A8tpk4XLwQGMh0uOMTGFbayin6eNjvA2BsjOIAER%2BgH8PqykAyEXjDPT2dTLOwAAAAEAPwAABEQFyQAdAEhAJhgTCQ0NGhYRAgsWEwUeHwwYGRhOWQkZGRMAExBMWRMYAAVLWQAHAD8rABg%2FKxESADkYLzMrEQAzERIBFzkRMzMRMxEzMTABMhcHJiMiBhURIRUhFRQGByEVITU2PQEjNTMRNDYCqr6qPZqPe30Bpv5aQUoDG%2Fv7zcbG4AXJVIVNfIz%2B2X%2FdZIgsmo0v9N9%2FATyyzQAAAgB7AQYEFwSgABsAJwAgQA0cACIOAA4oKR8VFSUHAC8zMy8zERIBOTkRMxEzMTATNDcnNxc2MzIXNxcHFhUUBxcHJwYjIicHJzcmNxQWMzI2NTQmIyIGuEqHXodogn9miV%2BGSkqDXIlmf4Zkh1yFSoGddHSeoHJ0nQLTemuMXIVJSYVcinF2g2eHXIVHSYVciGt8cKCfcXKipAAAAQAfAAAEcQW2ABYAVkAuEg4HCwsQDAUJAgkDDBQOFQcXGAoODgcPBhISAwATFQ8THxMCDxMPEwwBFQYMGAA%2FPzMSOTkvL10REjkyMhEzETMzETMREgEXOREzETMzETMRMzEwCQEzASEVIRUhFSERIxEhNSE1ITUhATMCSAF7rv5gAQb%2BwwE9%2FsOk%2FsQBPP7EAQD%2BZbIC3wLX%2FP5%2Fqn%2F%2B9AEMf6p%2FAwIAAgHu%2FhACewYUAAMABwAkQBACBgYDBwcICQQDBAMHGwAAAD8%2FOTkvLxESATkRMzMRMzEwATMRIxEzESMB7o2NjY0GFPz4%2Fg389wAAAAIAe%2F%2F4A5YGHQAxAD0AQ0AmMgATBioeOBkZHgwGACMGPj8VAzs2HC0GIQkhJ0dZIRUJEEdZCQAAPysAGD8rERIAFzkREgEXOREzETMRMxEzMTATNDY3LgE1NDYzMhYXBy4BIyIGFRQWFx4BFRQGBxYVFAYjIic1HgEzMjY1NC4BJy4CNxQWHwE2NTQmJw4Bi1ZOSlTPxV6fYTVih0x0dHuaupZSSpnq1NqATsJSho0wbHOOhkKShKcxiZO5RFUDKVaJJShvVXmLHSeDJxs7QDxUN0SXa1qNKVGSjJlBlCUtTEcuOjorNFpyYk1pPRNQb1NwORNkAAAAAgE1BQ4DaAXTAAsAFwAeQAwGAAwSABIYGQ8DFQkALzPNMhESATk5ETMRMzEwATQ2MzIWFRQGIyImJTQ2MzIWFRQGIyImATU1JSY3NyYlNQF9NSUlNzclJTUFcTQuLjQyMTEyNC4uNDIxMQAAAwBk%2F%2BwGRAXLABYAJgA2AEZAJycXAw8vHx8UCQ8XBTc4BgwAEg8MHwwCABIQEgIMEgwSGysjEzMbBAA%2FMz8zEjk5Ly9dXREzETMREgEXOREzETMRMzEwASIGFRQWMzI3FQ4BIyImNTQ2MzIXByYBNBIkMzIEEhUUAgQjIiQCNxQSBDMyJBI1NAIkIyIEAgN9fYd%2Fg1Z9MGVGwtDdv4B2Omz8l8gBXsrIAV7Kwv6i0M%2F%2BosNprgEtrK4BKq%2Bu%2Ftewrv7WrwQjrpqooi18FBzx2NH2PHYz%2FrjIAV7KyP6iysX%2BptDPAVrGrf7Tra4BKbCuASqvrv7XAAACAEYDFAJxBccAFgAfADdAHBcGGwoBARYWEAYDICEcCgoSGRYAAxADAgMNEh8APzPUXcQzEjkvMxESARc5ETMRMzMRMzEwAScGIyImNTQ2PwE1NCMiByc2MzIWFRElFDMyPQEHDgECFBhcjF9vmqV1lGRoK3KFgon%2BUHDJYnBnAyFUYWNmZmkGBCeFM2A4aXn%2BPLxktDEEBDkAAAACAFIAdQOqA74ABgANAClAEwMGCg0CBAsJCQQNBgQODwwFCAEALzMvMxESARc5ETMRMxEzETMxMBMBFwkBBwElARcJAQcBUgFWd%2F7fASF3%2FqoBiwFYdf7hAR91%2FqgCJwGXRf6i%2FqFHAZcbAZdF%2FqL%2BoUcBlwAAAAABAGgBCAQpAxcABQAbQAwCAQQBBgcFBFBZBQIALy8rERIBOTkRMzEwAREjESE1BCmJ%2FMgDF%2F3xAYWKAP%2F%2FAFQB2QI%2FAnESBgAQAAAABABk%2F%2BwGRAXLAAgAFgAmADYAXUAzJxcAERESBAkvHx8NCQwSFwY3OAwQEAAADhMOEggTDxIfEgIAExATAhITEhMbKyMTMxsEAD8zPzMSOTkvL11dETMRMxESOS8zETMREgEXOREzETMRMxEzETMxMAEzMjY1NCYrAQUUBgcTIwMjESMRITIWATQSJDMyBBIVFAIEIyIkAjcUEgQzMiQSNTQCJCMiBAIC02xQYVZdagGyVU3uqM%2BHlAEFppv738gBXsrIAV7Kwv6i0M%2F%2BosNprgEtrK4BKq%2Bu%2Ftewrv7WrwL6U0BLQYhQex7%2BdQFi%2Fp4De4L%2BxcgBXsrI%2FqLKxf6m0M8BWsat%2FtOtrgEpsK4BKq%2Bu%2FtcAAf%2F6BhQEBgaTAAMAEbUABQEEAQIALzMRATMRMzEwASE1IQQG%2B%2FQEDAYUfwACAH8DXALuBcsADAAYACFADg0AEwYABhkaEArAFgMEAD8zGswyERIBOTkRMxEzMTATNDYzMhYVFA4BIyImNxQWMzI2NTQmIyIGf7WCgrZSklSCtXN1UVBzcVJTcwSTgra1g1SPVLSDUnJxU1RxcgAAAgBoAAEEKQTDAAMADwAANzUhFQEhFSERIxEhNSERM2gDwf5kAZz%2BZIv%2BZgGaiwGKigMWiv5WAaqKAawAAQAxAkoCjQXJABgAI0ARBxMXAQEOEwAEGhkKEB8XASAAPzM%2FMxESARc5ETMRMzEwASE1Nz4CNTQmIyIGByc2MzIWFRQGDwEhAo39pOxZUiFQPzRiRUKDmISTWZOuAbgCSmjmVmFMNkRFJjJYb4JwUJeKpQABACECOQKNBckAIwA5QCIPBQUAAxIeCgYkJRJdE20TAkwTAQsTGxMCExMIGiEfDQghAD8zPzMSOS9dXV0zERIBFzkRMzEwARQGBxYVFAYjIic1FjMyNTQrATUzMjY1NCYjIgYHJz4BMzIWAnNSRLC4qJh0k3vT53V3Z2NQQ0JwOEU%2FjF6InQTnUGcXL6KAjzh7RKKRa09EPUQrI1otNncAAQGJBNkDEgYhAAkAE7YJBAoLBIAJAC8azRESATk5MTABPgE3MxUOAQcjAYkwbyDKLK5AbwTyPrBBFUG%2BNAAAAAEAsP4UBEQESAAWADVAGgUKCggQABMTFAgUGBcGFQ8UGw0CRlkNFgkVAD8%2FKwAYPz8zERIBOTkRMxEzMxEzETMxMAEQMzI2NREzESMnIwYjIicjFhURIxEzAVb%2Bq5%2BmiBoKb%2BWWWAoKpqYBff76vdQCQPu4k6dcVKD%2BwAY0AAAAAQBx%2FvwEYAYUAA8AJ0ASBAUBAAAFCwMQEQgIBQMPBQEFAC8zPzMSOS8REgEXOREzETMxMAEjESMRIxEGIyImNRA2MyEEYHLVcz5U2Mva6AIt%2FvwGsPlQAzMS%2BvsBBP4AAQCYAkwBiQNaAAsAF0AKBgAADQwDCU9ZAwAvKxESATkRMzEwEzQ2MzIWFRQGIyImmD44OkFCOTNDAtNCRUVCQUY%2FAAABACX%2BFAG0AAAAEgAkQBARDgsAAA4FAxMUDhERCAMQAC%2FMMjkvMxESARc5ETMRMzEwARQGIyInNRYzMjY1NCYnNzMHFgG0mZYzLS07T1FPbVhuN7T%2B32FqCWoIKDYrNRGycycAAQBMAkoB4QW2AAoAIEAOAgADAwoMCwkJAyAGAB4APzI%2FOS8REgE5OREzMzEwATMRIxE0Nw4BBycBUo%2BFBhY2h0MFtvyUAkNbWhYtX2AAAAACAEIDFAK%2BBccACwAXACVAEgwGEgAGABgZDwADEAMCAxUJHwA%2FM8RdMhESATk5ETMRMzEwARQGIyImNTQ2MzIWBRQWMzI2NTQmIyIGAr6rlpKpqJeYpf3%2BW2hpXFxpZ1wEb6S3uqGjtbaienp6ent2dgAAAAIAUAB1A6gDvgAGAA0AI0ARCwkEAgADBwIKCQYODwwFCAEALzMvMxESARc5ETMRMzEwCQEnCQE3AQUBJwkBNwEDqP6odQEf%2FuF1AVj%2Bdf6odQEf%2FuF1AVgCDP5pRwFfAV5F%2Fmkb%2FmlHAV8BXkX%2Baf%2F%2FAEsAAAXRBbYQJwDTAoMAABAmAHv%2FABEHANQDHf23AAmzAwISGAA%2FNTUA%2F%2F8ALgAABdsFthAnANMCPwAAECYAe%2BIAEQcAdANO%2FbcAB7ICEBgAPzUAAAD%2F%2FwAaAAAGIQXJECYAdfkAECcA0wLfAAARBwDUA239twAJswMCKxgAPzU1AAACADP%2BdwNUBF4AHQAoAEFAIggUHiMBHA8cIxQEKSoAHQEMAx0dESYmIE9ZJhARC0lZESMAPysAGD8rERIAORgvX15dERIBFzkRMxEzETMxMAEVFAYHDgIVFBYzMjY3FwYjIiY1ND4CNz4BPQETFCMiJjU0NjMyFgJOS2F5PRmEelCWYjvFxr7YI0BZNmVBtHk7PkI3M0YCrDN6lFRqS004ZHEmMIdguqpGaVlSL1h0XR8BK4dFQkBHQAAA%2F%2F8AAAAABRAHcxImACQAABEHAEP%2FwgFSAAizAhAFJgArNQAA%2F%2F8AAAAABRAHcxImACQAABEHAHYAhQFSAAizAhgFJgArNQAA%2F%2F8AAAAABRAHcxImACQAABEHAMUAIwFSAAizAh0FJgArNQAA%2F%2F8AAAAABRAHLxImACQAABEHAMcABAFSAAizAhgFJgArNQAA%2F%2F8AAAAABRAHJRImACQAABEHAGoANwFSAAq0AwIkBSYAKzU1%2F%2F8AAAAABRAHBhImACQAABAHAMYAOQCBAAL%2F%2FgAABoEFtgAPABMATkAsCg4OEQEACAwBEAUFFQUUCRMGE0lZEANJWQoNSVkQChAKAQYDBRIBDklZARIAPysAGD8%2FEjk5Ly8rKysRADMRATMREhc5ETMzETMxMCkBESEDIwEhFSERIRUhESEBIREjBoH9Ev3%2B47ACugPJ%2FbwCHf3jAkT7VAG%2BdgHR%2Fi8Ftpf%2BKZb95gHSArUA%2F%2F8Aff4UBM8FyxImACYAABAHAHoCAgAA%2F%2F8AyQAAA%2FgHcxImACgAABEHAEP%2FtwFSAAizAQ0FJgArNQAA%2F%2F8AyQAAA%2FgHcxImACgAABEHAHYAPwFSAAizARUFJgArNQAA%2F%2F8AyQAAA%2FgHcxImACgAABEHAMX%2F%2BwFSAAizARoFJgArNQAA%2F%2F8AyQAAA%2FgHJRImACgAABEHAGoAEgFSAAq0AgEhBSYAKzU1%2F%2F8ABQAAAY4HcxImACwAABEHAEP%2BfAFSAAizAQUFJgArNQAA%2F%2F8AswAAAjwHcxImACwAABEHAHb%2FKgFSAAizAQ0FJgArNQAA%2F%2F%2F%2FxwAAAmkHcxImACwAABEHAMX%2BuwFSAAizARIFJgArNQAA%2F%2F8ABQAAAjgHJRImACwAABEHAGr%2B0AFSAAq0AgEZBSYAKzU1AAIALwAABUgFtgAMABcAV0AyERUVCAQNAAATBAYEGBkUBgcGSVkRDwc%2FB68HzwffBwULAwcHBAkJEEpZCQMEFUpZBBIAPysAGD8rERIAORgvX15dMysRADMREgEXOREzETMzETMxMAEQACkBESM1MxEhIAADECEjESEVIREzIAVI%2Fnf%2Bj%2F57mpoBsgFRAXy1%2FcfnAXv%2Bhb4CYgLp%2Fpb%2BgQKJlgKX%2Fon%2BpAJA%2FfyW%2Fgr%2F%2FwDJAAAFPwcvEiYAMQAAEQcAxwCTAVIACLMBGgUmACs1AAD%2F%2FwB9%2F%2BwFvgdzEiYAMgAAEQcAQwB5AVIACLMCGQUmACs1AAD%2F%2FwB9%2F%2BwFvgdzEiYAMgAAEQcAdgEKAVIACLMCIQUmACs1AAD%2F%2FwB9%2F%2BwFvgdzEiYAMgAAEQcAxQC0AVIACLMCJgUmACs1AAD%2F%2FwB9%2F%2BwFvgcvEiYAMgAAEQcAxwCaAVIACLMCIQUmACs1AAD%2F%2FwB9%2F%2BwFvgclEiYAMgAAEQcAagDVAVIACrQDAi0FJgArNTUAAQCFARAEDASYAAsAGUAJBwkDAQkBDA0IABkvERIBOTkRMxEzMTABFwkBBwkBJwkBNwEDrGD%2BoAFeYP6e%2FqRlAV7%2BoGQBYQSYY%2F6e%2FqBjAV%2F%2BoWMBYAFgZf6dAAADAH3%2FwwW%2BBfYAEwAbACMATkAsFh8XHgQcFBwKFAAAEg8FCAoGJCUWHiEZDSFJWQ8SCAUEAxANBAMZSVkGAxMAP8YrABg%2FxhIXOSsREgA5ORESARc5ETMRMxESFzkxMAEQACEiJwcnNyYREAAhMhc3FwcWAxAnARYzMhIBEBcBJiMiAgW%2B%2Fp3%2BxOuUZXhssgFgAUTRnWF4asC0bv1gc7Dz%2BPwnZQKdaqjz%2FQLd%2FqH%2BbmSNT5rGAW0BZQGJXodQlMr%2BlQEQmvxMUgEyASr%2B%2BpoDr0n%2BzQAAAP%2F%2FALr%2F7AUZB3MSJgA4AAARBwBDAEYBUgAIswETBSYAKzUAAP%2F%2FALr%2F7AUZB3MSJgA4AAARBwB2AM8BUgAIswEbBSYAKzUAAP%2F%2FALr%2F7AUZB3MSJgA4AAARBwDFAH0BUgAIswEgBSYAKzUAAP%2F%2FALr%2F7AUZByUSJgA4AAARBwBqAJgBUgAKtAIBJwUmACs1Nf%2F%2FAAAAAAR7B3MSJgA8AAARBwB2ADEBUgAIswESBSYAKzUAAAACAMkAAAR5BbYADAAVADZAHA0JBQUGEQAGABYXDQRKWQkVSlkNCQ0JBgcDBhIAPz8SOTkvLysrERIBOTkRMxEzETMzMTABFAQhIxEjETMRMyAEATMyNjU0JisBBHn%2B0f7huKqq1wEZARb8%2Bqjiyr7KzAMQ4%2B7%2BwQW2%2FwDP%2FeqPpJWKAAABALD%2F7AScBh8AMABBQCIpKgUdIwAXDAwAHREqBTEyEhIqLi4mRlkuACoVDxVGWQ8WAD8rABg%2FPysREgA5GC8REgEXOREzETMRMxEzMTABFAcOARUUHgEXHgEVFAYjIic1HgEzMjU0JicuATU0Njc%2BATU0JiMgFREjETQ2MzIWBBmPWDgbR06MZsKzvGs%2FnEjXU25%2FYEVHS0CIf%2F7sptzezuEE8odzRkMhICo5M1%2BdZaCrRZonL7ZLa0ZSe1Q%2FajU5WjVQVd%2F7TASysrudAAD%2F%2FwBe%2F%2BwDzQYhEiYARAAAEQYAQ44AAAizAiYRJgArNf%2F%2FAF7%2F7APNBiESJgBEAAARBgB2KwAACLMCLhEmACs1%2F%2F8AXv%2FsA80GIRImAEQAABEGAMXYAAAIswIzESYAKzX%2F%2FwBe%2F%2BwDzQXdEiYARAAAEQYAx70AAAizAi4RJgArNf%2F%2FAF7%2F7APNBdMSJgBEAAARBgBq4gAACrQDAjoRJgArNTUAAP%2F%2FAF7%2F7APNBoUSJgBEAAARBgDG9wAACrQDAigRJgArNTUAAAADAF7%2F7AZzBFwAKQA0ADsAYUAzKgAkETA4GRkEMDkYGB8wCwAFPD0bLSctRlkZMQQxR1k4JCcRBAQOIicWNQgOCEZZFA4QAD8zKxEAMxg%2FMxI5LzkSOTMrEQAzKxEAMxESARc5ETMRMzMRMxI5OREzMTATNDY%2FATU0JiMiByc%2BATMyFhc%2BATMyEh0BIRIhMjY3FQ4BIyAnDgEjIiY3FBYzMjY9AQcOAQEiBgchNCZe%2BP64dHeQozRKx2KCpSk1q27A6P1DCAE6W51UVpVl%2Ft99UcWGo7mua1iRqJ66pAO9eYsLAgeAAS%2BhswgGRIF7VH8pNVdfWGD%2B9d5r%2FnUjJ5QmIel%2FaqqXX1mpmmMHCG0CMqaenKgAAAD%2F%2FwBz%2FhQDiwRcEiYARgAAEAcAegFGAAD%2F%2FwBz%2F%2BwEEgYhEiYASAAAEQYAQ7UAAAizAhwRJgArNf%2F%2FAHP%2F7AQSBiESJgBIAAARBgB2TgAACLMCJBEmACs1%2F%2F8Ac%2F%2FsBBIGIRImAEgAABEGAMX3AAAIswIpESYAKzX%2F%2FwBz%2F%2BwEEgXTEiYASAAAEQYAagoAAAq0AwIwESYAKzU1AAD%2F%2F%2F%2FaAAABYwYhEiYAwgAAEQcAQ%2F5RAAAACLMBBREmACs1AAD%2F%2FwCpAAACMgYhEiYAwgAAEQcAdv8gAAAACLMBDREmACs1AAD%2F%2F%2F%2BzAAACVQYhEiYAwgAAEQcAxf6nAAAACLMBEhEmACs1AAD%2F%2F%2F%2FsAAACHwXTEiYAwgAAEQcAav63AAAACrQCARkRJgArNTUAAgBx%2F%2BwEYgYhABsAJgBKQCshBgwcHAAAGBkWDhETEAYJJygJH0ZZCwMWERkODwUUCQkDFxQBAyRGWQMWAD8rABg%2FMxI5LxIXORI5KxESARc5ETMRMxEzMTABEAAjIgA1NAAzMhc3JicFJzcmJzcWFzcXBxYSAzQmIyARFBYzMjYEYv77997%2B6QEH3OJkCDnN%2FvFJ6VxeRZxm7kzPmKWotJz%2Br6%2Bir6ECM%2F7n%2FtIBDeLmAQZ5BNa%2Fm2yFPjF1SUuKa3eP%2FnL%2B6JOq%2Fpint8kA%2F%2F8AsAAABEQF3RImAFEAABEGAMcOAAAIswEeESYAKzX%2F%2FwBz%2F%2BwEYgYhEiYAUgAAEQYAQ9QAAAizAhoRJgArNf%2F%2FAHP%2F7ARiBiESJgBSAAARBgB2VgAACLMCIhEmACs1%2F%2F8Ac%2F%2FsBGIGIRImAFIAABEGAMUOAAAIswInESYAKzX%2F%2FwBz%2F%2BwEYgXdEiYAUgAAEQYAx%2FEAAAizAiIRJgArNf%2F%2FAHP%2F7ARiBdMSJgBSAAARBgBqGwAACrQDAi4RJgArNTUAAAADAGgA%2FAQpBKgAAwAPABsAM0AYFgoKEAQCBAEDHB0ZExMBBw0NAQEAUFkBAC8rEQAzGC8zETMvMxESARc5ETMzETMxMBM1IRUBNDYzMhYVFAYjIiYRNDYzMhYVFAYjIiZoA8H9rjs2NDo7MzQ9OzY0OjszND0CjYqK%2Fug8PT86OUA%2FAvQ8PT86OUA%2FAAMAc%2F%2B8BGIEhwATABsAIwBLQCkXHxwUFAocAAASDwUICgYkJRYeIRkNGUZZDxIIBQQDEA0QAyFGWQYDFgA%2FxisAGD%2FGEhc5KxESADk5ERIBFzkRMxEzERI5OTEwARAAIyInByc3JhEQADMyFzcXBxYFFBcBJiMiBgU0JwEWMzI2BGL%2B8u6acFRyXoEBDO6adFR1YX%2F8vTUB0Utyo6YClzP%2BL0dxo6kCJf70%2FtNFdU6DmAEAAQwBK0x3TIWY%2BatmAoY11tSkZP19M9sA%2F%2F8ApP%2FsBDkGIRImAFgAABEGAEPEAAAIswEWESYAKzX%2F%2FwCk%2F%2BwEOQYhEiYAWAAAEQYAdnEAAAizAR4RJgArNf%2F%2FAKT%2F7AQ5BiESJgBYAAARBgDFEgAACLMBIxEmACs1%2F%2F8ApP%2FsBDkF0xImAFgAABEGAGohAAAKtAIBKhEmACs1NQAA%2F%2F8AAv4UBAYGIRImAFwAABEGAHYSAAAIswEfESYAKzUAAgCw%2FhQEdQYUABYAIgA%2BQB8gBhsUEBARBhEkIxIAERsMFgkDCR5GWQkWAxdGWQMQAD8rABg%2FKxESADk5GD8%2FERIBOTkRMxEzMxEzMTABPgEzMhIREAIjIicjFxYVESMRMxEUByUiBgcVFBYzIBE0JgFYQqpq1%2FDx1t56DAQIpqYGAUiomAKaqgEvlAO0WU%2F%2B1P71%2FvT%2B06EiTT%2F%2BNQgA%2Fi40Whu4ySnnxwGw19EAAP%2F%2FAAL%2BFAQGBdMSJgBcAAARBgBqtQAACrQCASsRJgArNTUAAAABALAAAAFWBEgAAwAWQAkAAQEFBAIPARUAPz8REgE5ETMxMCEjETMBVqamBEgAAAACAH3%2F7AbnBc0AFAAfAFNALhgGDxMTHQANER0GBSAhDxJJWQ8PAAsLDklZCwMJFUlZCQQDG0lZAxIAE0lZABIAPysAGD8rABg%2FKwAYPysREgA5GC8rERIBFzkRMxEzETMxMCkBBiMgABEQACEyFyEVIREhFSERIQEiABEQADMyNxEmBuf9AGZc%2Frn%2BnwFcAUBmWgMO%2FbMCJ%2F3ZAk38RPn%2B%2FwEB93BXVxQBiQFqAWgBhheX%2FimW%2FeYEnf7P%2Ftn%2B1%2F7NIQR1HgAAAAMAcf%2FsBx8EWgAeACoAMQBVQC0fCA4CFhYlLxUVHCUIBDIzKygLKEZZLhZGWQIFDgsuLgURCxAYIgUiRlkABRYAPzMrEQAzGD8zEjkvEjkSOSsrEQAzERIBFzkRMxEzEjk5ETMxMAUgJw4BIyIAERAAMzIWFz4BMzISHQEhEiEyNjcVDgEBFBYzMjY1NCYjIgYlIgYHITQmBZb%2B230%2B0Ynf%2FvQBBuuDzT46wH7J7v0nCAFKXqFXWJj7IZino5mbpaaVBEd%2FkQwCIIQU63R3ATEBCAEJASx3cnB5%2Fvfiaf53IyeUJyACOdPb1dHd1djYpJ6epAABAQwE2QOuBiEADgAYQAkHABAPCwSADgkALzMazTIREgE5OTEwAT4BNzMeARcVIyYnBgcjAQx%2FZhemFm19d1iFiFNzBPCIgCkqhYIXN4OGNAAAAAACAW8E2QMtBoUACwAXAB5ADBIGDAAGABgZDwkVAwAvM8wyERIBOTkRMxEzMTABFAYjIiY1NDYzMhYHNCYjIgYVFBYzMjYDLXtmZXh5ZGV8bEIzM0I8OTRBBbJid3ViYnN3Xjg9PTg4PT0AAAABAQgE2QPwBd0AFwAkQA8JFRgZEQAFDAAMAAwVgAkALxrMOTkvLxEzETMREgE5OTEwASIuAiMiBgcjPgEzMh4CMzI2NzMOAQMUK1JPSSIyMw5iDXNbLlZOSCAxMA9jDXEE2yUtJTw9eYklLSU7PnmJAAAAAAEAUgHZA64CcQADABG1AAIEBQABAC8zERIBOTkxMBM1IRVSA1wB2ZiYAAAAAQBSAdkHrgJxAAMAEbUAAgQFAAEALzMREgE5OTEwEzUhFVIHXAHZmJgAAAABABkDwQFEBbYABwAStgEFCAkABAMAP80REgE5OTEwEyc2EjczBgclDBZiOHtCJQPBFloBDHn%2B9wAAAAABABkDwQFEBbYABwAStgUBCAkFBwMAP8YREgE5OTEwARcGAgcjEjcBNQ8aYjV6RiAFthZk%2FvdyAR3YAP%2F%2FAD%2F%2B%2BAFtAO4SBgAPAAAAAgAZA8ECtAW2AAcADwAaQAwEAQ0JBBARAAgDDAMAPzPNMhESARc5MTABJzYTMwYCByEnNhI3MwYHAZYPOHp7HjsN%2FdcMFmI4e0IlA8EW1wEIc%2F7fYRZaAQx5%2FvcAAAAAAgAZA8ECtAW2AAcAEAAaQAwJDQEFBBESDQUQBwMAPzPGMhESARc5MTABFwYCByMSNyEXBgIHIzYSNwE1DxpiNXpGIAInDhhgOH0aQg0FthZk%2FvdyAR3YFlv%2B9npkATRdAAAA%2F%2F8AGf75ArQA7hEHAM4AAPs4ACC3AQAHQA0NSAe4%2F8CzDAxIB7j%2FwLMJCUgHABErKys1NQABAKQB9AJeA%2BMACwATtgYAAAwNCQMAL80REgE5ETMxMBM0NjMyFhUUBiMiJqRxbGl0c2prcgLseX58e3eBgwAAAQBSAHUCHwO%2BAAYAGkAKBAIDBgIGCAcFAQAvLxESATk5ETMRMzEwEwEXCQEHAVIBVnf%2B3wEhd%2F6qAicBl0X%2Bov6hRwGXAAAAAQBQAHUCHQO%2BAAYAGkAKAwAEAgACCAcFAQAvLxESATk5ETMRMzEwCQEnCQE3AQId%2Fqh1AR%2F%2B4XUBWAIM%2FmlHAV8BXkX%2BaQAAAf55AAACjwW2AAMAE7cABQIEAwMCEgA%2FPxEBMxEzMTAJASMBAo%2F8eY8DhwW2%2BkoFtgAAAAIAFAJKArQFvAAKABQAPEAfFAULBwMDCQIAAgUDFRYBBQUJDxQfFAIUFAMOBx8DIAA%2FPzMSOS9dMzMRMxESARc5ETMzETMzETMxMAEjFSM1ITUBMxEzITU0Nw4DDwECtH2R%2Fm4BmIt9%2FvIGBRgeHguoAxTKymUCQ%2F3Nw4ZLDCctLRH2AAEAP%2F%2FsBIkFywAmAHFAPx0XHxYWGgsCBwcaJBEEChoXBicoCxcYF05ZCBgFHR4dTlkCHg8eHx4vHgMJAxgeGB4TIiIATFkiBxMOTFkTGQA%2FKwAYPysREgA5ORgvL19eXREzKxEAMxEzKxEAMxESARc5ETMRMzMRMxEzETMxMAEgAyEVIQcVFyEVIR4BMzI3FQYjIgADIzUzJzU3IzUzEgAzMhcHJgMb%2FsFPAf799AICAc%2F%2BQSXLqpyZkqvt%2Ft8uppgCApikJwEk7cmlR6YFNf5tgTlALYG0xUKWQQENAQGBKixQgQEFASRhi1YAAAABAAAjAAABBdMYAAAKCvIABQAk%2F3EABQA3ACkABQA5ACkABQA6ACkABQA8ABQABQBE%2F64ABQBG%2F4UABQBH%2F4UABQBI%2F4UABQBK%2F8MABQBQ%2F8MABQBR%2F8MABQBS%2F4UABQBT%2F8MABQBU%2F4UABQBV%2F8MABQBW%2F8MABQBY%2F8MABQCC%2F3EABQCD%2F3EABQCE%2F3EABQCF%2F3EABQCG%2F3EABQCH%2F3EABQCfABQABQCi%2F4UABQCj%2F64ABQCk%2F64ABQCl%2F64ABQCm%2F64ABQCn%2F64ABQCo%2F64ABQCp%2F4UABQCq%2F4UABQCr%2F4UABQCs%2F4UABQCt%2F4UABQC0%2F4UABQC1%2F4UABQC2%2F4UABQC3%2F4UABQC4%2F4UABQC6%2F4UABQC7%2F8MABQC8%2F8MABQC9%2F8MABQC%2B%2F8MABQDE%2F4UACgAk%2F3EACgA3ACkACgA5ACkACgA6ACkACgA8ABQACgBE%2F64ACgBG%2F4UACgBH%2F4UACgBI%2F4UACgBK%2F8MACgBQ%2F8MACgBR%2F8MACgBS%2F4UACgBT%2F8MACgBU%2F4UACgBV%2F8MACgBW%2F8MACgBY%2F8MACgCC%2F3EACgCD%2F3EACgCE%2F3EACgCF%2F3EACgCG%2F3EACgCH%2F3EACgCfABQACgCi%2F4UACgCj%2F64ACgCk%2F64ACgCl%2F64ACgCm%2F64ACgCn%2F64ACgCo%2F64ACgCp%2F4UACgCq%2F4UACgCr%2F4UACgCs%2F4UACgCt%2F4UACgC0%2F4UACgC1%2F4UACgC2%2F4UACgC3%2F4UACgC4%2F4UACgC6%2F4UACgC7%2F8MACgC8%2F8MACgC9%2F8MACgC%2B%2F8MACgDE%2F4UACwAtALgADwAm%2F5oADwAq%2F5oADwAy%2F5oADwA0%2F5oADwA3%2F3EADwA4%2F9cADwA5%2F4UADwA6%2F4UADwA8%2F4UADwCJ%2F5oADwCU%2F5oADwCV%2F5oADwCW%2F5oADwCX%2F5oADwCY%2F5oADwCa%2F5oADwCb%2F9cADwCc%2F9cADwCd%2F9cADwCe%2F9cADwCf%2F4UADwDD%2F5oAEAA3%2F64AEQAm%2F5oAEQAq%2F5oAEQAy%2F5oAEQA0%2F5oAEQA3%2F3EAEQA4%2F9cAEQA5%2F4UAEQA6%2F4UAEQA8%2F4UAEQCJ%2F5oAEQCU%2F5oAEQCV%2F5oAEQCW%2F5oAEQCX%2F5oAEQCY%2F5oAEQCa%2F5oAEQCb%2F9cAEQCc%2F9cAEQCd%2F9cAEQCe%2F9cAEQCf%2F4UAEQDD%2F5oAJAAF%2F3EAJAAK%2F3EAJAAm%2F9cAJAAq%2F9cAJAAtAQoAJAAy%2F9cAJAA0%2F9cAJAA3%2F3EAJAA5%2F64AJAA6%2F64AJAA8%2F4UAJACJ%2F9cAJACU%2F9cAJACV%2F9cAJACW%2F9cAJACX%2F9cAJACY%2F9cAJACa%2F9cAJACf%2F4UAJADD%2F9cAJADL%2F3EAJADO%2F3EAJQAP%2F64AJQAR%2F64AJQAk%2F9cAJQA3%2F8MAJQA5%2F%2BwAJQA6%2F%2BwAJQA7%2F9cAJQA8%2F%2BwAJQA9%2F%2BwAJQCC%2F9cAJQCD%2F9cAJQCE%2F9cAJQCF%2F9cAJQCG%2F9cAJQCH%2F9cAJQCf%2F%2BwAJQDM%2F64AJQDP%2F64AJgAm%2F9cAJgAq%2F9cAJgAy%2F9cAJgA0%2F9cAJgCJ%2F9cAJgCU%2F9cAJgCV%2F9cAJgCW%2F9cAJgCX%2F9cAJgCY%2F9cAJgCa%2F9cAJgDD%2F9cAJwAP%2F64AJwAR%2F64AJwAk%2F9cAJwA3%2F8MAJwA5%2F%2BwAJwA6%2F%2BwAJwA7%2F9cAJwA8%2F%2BwAJwA9%2F%2BwAJwCC%2F9cAJwCD%2F9cAJwCE%2F9cAJwCF%2F9cAJwCG%2F9cAJwCH%2F9cAJwCf%2F%2BwAJwDM%2F64AJwDP%2F64AKAAtAHsAKQAP%2F4UAKQAR%2F4UAKQAiACkAKQAk%2F9cAKQCC%2F9cAKQCD%2F9cAKQCE%2F9cAKQCF%2F9cAKQCG%2F9cAKQCH%2F9cAKQDM%2F4UAKQDP%2F4UALgAm%2F9cALgAq%2F9cALgAy%2F9cALgA0%2F9cALgCJ%2F9cALgCU%2F9cALgCV%2F9cALgCW%2F9cALgCX%2F9cALgCY%2F9cALgCa%2F9cALgDD%2F9cALwAF%2F1wALwAK%2F1wALwAm%2F9cALwAq%2F9cALwAy%2F9cALwA0%2F9cALwA3%2F9cALwA4%2F%2BwALwA5%2F9cALwA6%2F9cALwA8%2F8MALwCJ%2F9cALwCU%2F9cALwCV%2F9cALwCW%2F9cALwCX%2F9cALwCY%2F9cALwCa%2F9cALwCb%2F%2BwALwCc%2F%2BwALwCd%2F%2BwALwCe%2F%2BwALwCf%2F8MALwDD%2F9cALwDL%2F1wALwDO%2F1wAMgAP%2F64AMgAR%2F64AMgAk%2F9cAMgA3%2F8MAMgA5%2F%2BwAMgA6%2F%2BwAMgA7%2F9cAMgA8%2F%2BwAMgA9%2F%2BwAMgCC%2F9cAMgCD%2F9cAMgCE%2F9cAMgCF%2F9cAMgCG%2F9cAMgCH%2F9cAMgCf%2F%2BwAMgDM%2F64AMgDP%2F64AMwAP%2FvYAMwAR%2FvYAMwAk%2F5oAMwA7%2F9cAMwA9%2F%2BwAMwCC%2F5oAMwCD%2F5oAMwCE%2F5oAMwCF%2F5oAMwCG%2F5oAMwCH%2F5oAMwDM%2FvYAMwDP%2FvYANAAP%2F64ANAAR%2F64ANAAk%2F9cANAA3%2F8MANAA5%2F%2BwANAA6%2F%2BwANAA7%2F9cANAA8%2F%2BwANAA9%2F%2BwANACC%2F9cANACD%2F9cANACE%2F9cANACF%2F9cANACG%2F9cANACH%2F9cANACf%2F%2BwANADM%2F64ANADP%2F64ANwAP%2F4UANwAQ%2F64ANwAR%2F4UANwAiACkANwAk%2F3EANwAm%2F9cANwAq%2F9cANwAy%2F9cANwA0%2F9cANwA3ACkANwBE%2F1wANwBG%2F3EANwBH%2F3EANwBI%2F3EANwBK%2F3EANwBQ%2F5oANwBR%2F5oANwBS%2F3EANwBT%2F5oANwBU%2F3EANwBV%2F5oANwBW%2F4UANwBY%2F5oANwBZ%2F9cANwBa%2F9cANwBb%2F9cANwBc%2F9cANwBd%2F64ANwCC%2F3EANwCD%2F3EANwCE%2F3EANwCF%2F3EANwCG%2F3EANwCH%2F3EANwCJ%2F9cANwCU%2F9cANwCV%2F9cANwCW%2F9cANwCX%2F9cANwCY%2F9cANwCa%2F9cANwCi%2F3EANwCj%2F1wANwCk%2F1wANwCl%2F1wANwCm%2F1wANwCn%2F1wANwCo%2F1wANwCp%2F3EANwCq%2F3EANwCr%2F3EANwCs%2F3EANwCt%2F3EANwC0%2F3EANwC1%2F3EANwC2%2F3EANwC3%2F3EANwC4%2F3EANwC6%2F3EANwC7%2F5oANwC8%2F5oANwC9%2F5oANwC%2B%2F5oANwC%2F%2F9cANwDD%2F9cANwDE%2F3EANwDI%2F64ANwDJ%2F64ANwDM%2F4UANwDP%2F4UAOAAP%2F9cAOAAR%2F9cAOAAk%2F%2BwAOACC%2F%2BwAOACD%2F%2BwAOACE%2F%2BwAOACF%2F%2BwAOACG%2F%2BwAOACH%2F%2BwAOADM%2F9cAOADP%2F9cAOQAP%2F5oAOQAR%2F5oAOQAiACkAOQAk%2F64AOQAm%2F%2BwAOQAq%2F%2BwAOQAy%2F%2BwAOQA0%2F%2BwAOQBE%2F9cAOQBG%2F9cAOQBH%2F9cAOQBI%2F9cAOQBK%2F%2BwAOQBQ%2F%2BwAOQBR%2F%2BwAOQBS%2F9cAOQBT%2F%2BwAOQBU%2F9cAOQBV%2F%2BwAOQBW%2F%2BwAOQBY%2F%2BwAOQCC%2F64AOQCD%2F64AOQCE%2F64AOQCF%2F64AOQCG%2F64AOQCH%2F64AOQCJ%2F%2BwAOQCU%2F%2BwAOQCV%2F%2BwAOQCW%2F%2BwAOQCX%2F%2BwAOQCY%2F%2BwAOQCa%2F%2BwAOQCi%2F9cAOQCj%2F9cAOQCk%2F9cAOQCl%2F9cAOQCm%2F9cAOQCn%2F9cAOQCo%2F9cAOQCp%2F9cAOQCq%2F9cAOQCr%2F9cAOQCs%2F9cAOQCt%2F9cAOQC0%2F9cAOQC1%2F9cAOQC2%2F9cAOQC3%2F9cAOQC4%2F9cAOQC6%2F9cAOQC7%2F%2BwAOQC8%2F%2BwAOQC9%2F%2BwAOQC%2B%2F%2BwAOQDD%2F%2BwAOQDE%2F9cAOQDM%2F5oAOQDP%2F5oAOgAP%2F5oAOgAR%2F5oAOgAiACkAOgAk%2F64AOgAm%2F%2BwAOgAq%2F%2BwAOgAy%2F%2BwAOgA0%2F%2BwAOgBE%2F9cAOgBG%2F9cAOgBH%2F9cAOgBI%2F9cAOgBK%2F%2BwAOgBQ%2F%2BwAOgBR%2F%2BwAOgBS%2F9cAOgBT%2F%2BwAOgBU%2F9cAOgBV%2F%2BwAOgBW%2F%2BwAOgBY%2F%2BwAOgCC%2F64AOgCD%2F64AOgCE%2F64AOgCF%2F64AOgCG%2F64AOgCH%2F64AOgCJ%2F%2BwAOgCU%2F%2BwAOgCV%2F%2BwAOgCW%2F%2BwAOgCX%2F%2BwAOgCY%2F%2BwAOgCa%2F%2BwAOgCi%2F9cAOgCj%2F9cAOgCk%2F9cAOgCl%2F9cAOgCm%2F9cAOgCn%2F9cAOgCo%2F9cAOgCp%2F9cAOgCq%2F9cAOgCr%2F9cAOgCs%2F9cAOgCt%2F9cAOgC0%2F9cAOgC1%2F9cAOgC2%2F9cAOgC3%2F9cAOgC4%2F9cAOgC6%2F9cAOgC7%2F%2BwAOgC8%2F%2BwAOgC9%2F%2BwAOgC%2B%2F%2BwAOgDD%2F%2BwAOgDE%2F9cAOgDM%2F5oAOgDP%2F5oAOwAm%2F9cAOwAq%2F9cAOwAy%2F9cAOwA0%2F9cAOwCJ%2F9cAOwCU%2F9cAOwCV%2F9cAOwCW%2F9cAOwCX%2F9cAOwCY%2F9cAOwCa%2F9cAOwDD%2F9cAPAAP%2F4UAPAAR%2F4UAPAAiACkAPAAk%2F4UAPAAm%2F9cAPAAq%2F9cAPAAy%2F9cAPAA0%2F9cAPABE%2F5oAPABG%2F5oAPABH%2F5oAPABI%2F5oAPABK%2F9cAPABQ%2F8MAPABR%2F8MAPABS%2F5oAPABT%2F8MAPABU%2F5oAPABV%2F8MAPABW%2F64APABY%2F8MAPABd%2F9cAPACC%2F4UAPACD%2F4UAPACE%2F4UAPACF%2F4UAPACG%2F4UAPACH%2F4UAPACJ%2F9cAPACU%2F9cAPACV%2F9cAPACW%2F9cAPACX%2F9cAPACY%2F9cAPACa%2F9cAPACi%2F5oAPACj%2F5oAPACk%2F5oAPACl%2F5oAPACm%2F5oAPACn%2F5oAPACo%2F5oAPACp%2F5oAPACq%2F5oAPACr%2F5oAPACs%2F5oAPACt%2F5oAPAC0%2F5oAPAC1%2F5oAPAC2%2F5oAPAC3%2F5oAPAC4%2F5oAPAC6%2F5oAPAC7%2F8MAPAC8%2F8MAPAC9%2F8MAPAC%2B%2F8MAPADD%2F9cAPADE%2F5oAPADM%2F4UAPADP%2F4UAPQAm%2F%2BwAPQAq%2F%2BwAPQAy%2F%2BwAPQA0%2F%2BwAPQCJ%2F%2BwAPQCU%2F%2BwAPQCV%2F%2BwAPQCW%2F%2BwAPQCX%2F%2BwAPQCY%2F%2BwAPQCa%2F%2BwAPQDD%2F%2BwAPgAtALgARAAF%2F%2BwARAAK%2F%2BwARADL%2F%2BwARADO%2F%2BwARQAF%2F%2BwARQAK%2F%2BwARQBZ%2F9cARQBa%2F9cARQBb%2F9cARQBc%2F9cARQBd%2F%2BwARQC%2F%2F9cARQDL%2F%2BwARQDO%2F%2BwARgAFACkARgAKACkARgDLACkARgDOACkASAAF%2F%2BwASAAK%2F%2BwASABZ%2F9cASABa%2F9cASABb%2F9cASABc%2F9cASABd%2F%2BwASAC%2F%2F9cASADL%2F%2BwASADO%2F%2BwASQAFAHsASQAKAHsASQDLAHsASQDOAHsASwAF%2F%2BwASwAK%2F%2BwASwDL%2F%2BwASwDO%2F%2BwATgBG%2F9cATgBH%2F9cATgBI%2F9cATgBS%2F9cATgBU%2F9cATgCi%2F9cATgCp%2F9cATgCq%2F9cATgCr%2F9cATgCs%2F9cATgCt%2F9cATgC0%2F9cATgC1%2F9cATgC2%2F9cATgC3%2F9cATgC4%2F9cATgC6%2F9cATgDE%2F9cAUAAF%2F%2BwAUAAK%2F%2BwAUADL%2F%2BwAUADO%2F%2BwAUQAF%2F%2BwAUQAK%2F%2BwAUQDL%2F%2BwAUQDO%2F%2BwAUgAF%2F%2BwAUgAK%2F%2BwAUgBZ%2F9cAUgBa%2F9cAUgBb%2F9cAUgBc%2F9cAUgBd%2F%2BwAUgC%2F%2F9cAUgDL%2F%2BwAUgDO%2F%2BwAUwAF%2F%2BwAUwAK%2F%2BwAUwBZ%2F9cAUwBa%2F9cAUwBb%2F9cAUwBc%2F9cAUwBd%2F%2BwAUwC%2F%2F9cAUwDL%2F%2BwAUwDO%2F%2BwAVQAFAFIAVQAKAFIAVQBE%2F9cAVQBG%2F9cAVQBH%2F9cAVQBI%2F9cAVQBK%2F%2BwAVQBS%2F9cAVQBU%2F9cAVQCi%2F9cAVQCj%2F9cAVQCk%2F9cAVQCl%2F9cAVQCm%2F9cAVQCn%2F9cAVQCo%2F9cAVQCp%2F9cAVQCq%2F9cAVQCr%2F9cAVQCs%2F9cAVQCt%2F9cAVQC0%2F9cAVQC1%2F9cAVQC2%2F9cAVQC3%2F9cAVQC4%2F9cAVQC6%2F9cAVQDE%2F9cAVQDLAFIAVQDOAFIAVwAFACkAVwAKACkAVwDLACkAVwDOACkAWQAFAFIAWQAKAFIAWQAP%2F64AWQAR%2F64AWQAiACkAWQDLAFIAWQDM%2F64AWQDOAFIAWQDP%2F64AWgAFAFIAWgAKAFIAWgAP%2F64AWgAR%2F64AWgAiACkAWgDLAFIAWgDM%2F64AWgDOAFIAWgDP%2F64AWwBG%2F9cAWwBH%2F9cAWwBI%2F9cAWwBS%2F9cAWwBU%2F9cAWwCi%2F9cAWwCp%2F9cAWwCq%2F9cAWwCr%2F9cAWwCs%2F9cAWwCt%2F9cAWwC0%2F9cAWwC1%2F9cAWwC2%2F9cAWwC3%2F9cAWwC4%2F9cAWwC6%2F9cAWwDE%2F9cAXAAFAFIAXAAKAFIAXAAP%2F64AXAAR%2F64AXAAiACkAXADLAFIAXADM%2F64AXADOAFIAXADP%2F64AXgAtALgAggAF%2F3EAggAK%2F3EAggAm%2F9cAggAq%2F9cAggAtAQoAggAy%2F9cAggA0%2F9cAggA3%2F3EAggA5%2F64AggA6%2F64AggA8%2F4UAggCJ%2F9cAggCU%2F9cAggCV%2F9cAggCW%2F9cAggCX%2F9cAggCY%2F9cAggCa%2F9cAggCf%2F4UAggDD%2F9cAggDL%2F3EAggDO%2F3EAgwAF%2F3EAgwAK%2F3EAgwAm%2F9cAgwAq%2F9cAgwAtAQoAgwAy%2F9cAgwA0%2F9cAgwA3%2F3EAgwA5%2F64AgwA6%2F64AgwA8%2F4UAgwCJ%2F9cAgwCU%2F9cAgwCV%2F9cAgwCW%2F9cAgwCX%2F9cAgwCY%2F9cAgwCa%2F9cAgwCf%2F4UAgwDD%2F9cAgwDL%2F3EAgwDO%2F3EAhAAF%2F3EAhAAK%2F3EAhAAm%2F9cAhAAq%2F9cAhAAtAQoAhAAy%2F9cAhAA0%2F9cAhAA3%2F3EAhAA5%2F64AhAA6%2F64AhAA8%2F4UAhACJ%2F9cAhACU%2F9cAhACV%2F9cAhACW%2F9cAhACX%2F9cAhACY%2F9cAhACa%2F9cAhACf%2F4UAhADD%2F9cAhADL%2F3EAhADO%2F3EAhQAF%2F3EAhQAK%2F3EAhQAm%2F9cAhQAq%2F9cAhQAtAQoAhQAy%2F9cAhQA0%2F9cAhQA3%2F3EAhQA5%2F64AhQA6%2F64AhQA8%2F4UAhQCJ%2F9cAhQCU%2F9cAhQCV%2F9cAhQCW%2F9cAhQCX%2F9cAhQCY%2F9cAhQCa%2F9cAhQCf%2F4UAhQDD%2F9cAhQDL%2F3EAhQDO%2F3EAhgAF%2F3EAhgAK%2F3EAhgAm%2F9cAhgAq%2F9cAhgAtAQoAhgAy%2F9cAhgA0%2F9cAhgA3%2F3EAhgA5%2F64AhgA6%2F64AhgA8%2F4UAhgCJ%2F9cAhgCU%2F9cAhgCV%2F9cAhgCW%2F9cAhgCX%2F9cAhgCY%2F9cAhgCa%2F9cAhgCf%2F4UAhgDD%2F9cAhgDL%2F3EAhgDO%2F3EAhwAF%2F3EAhwAK%2F3EAhwAm%2F9cAhwAq%2F9cAhwAtAQoAhwAy%2F9cAhwA0%2F9cAhwA3%2F3EAhwA5%2F64AhwA6%2F64AhwA8%2F4UAhwCJ%2F9cAhwCU%2F9cAhwCV%2F9cAhwCW%2F9cAhwCX%2F9cAhwCY%2F9cAhwCa%2F9cAhwCf%2F4UAhwDD%2F9cAhwDL%2F3EAhwDO%2F3EAiAAtAHsAiQAm%2F9cAiQAq%2F9cAiQAy%2F9cAiQA0%2F9cAiQCJ%2F9cAiQCU%2F9cAiQCV%2F9cAiQCW%2F9cAiQCX%2F9cAiQCY%2F9cAiQCa%2F9cAiQDD%2F9cAigAtAHsAiwAtAHsAjAAtAHsAjQAtAHsAkgAP%2F64AkgAR%2F64AkgAk%2F9cAkgA3%2F8MAkgA5%2F%2BwAkgA6%2F%2BwAkgA7%2F9cAkgA8%2F%2BwAkgA9%2F%2BwAkgCC%2F9cAkgCD%2F9cAkgCE%2F9cAkgCF%2F9cAkgCG%2F9cAkgCH%2F9cAkgCf%2F%2BwAkgDM%2F64AkgDP%2F64AlAAP%2F64AlAAR%2F64AlAAk%2F9cAlAA3%2F8MAlAA5%2F%2BwAlAA6%2F%2BwAlAA7%2F9cAlAA8%2F%2BwAlAA9%2F%2BwAlACC%2F9cAlACD%2F9cAlACE%2F9cAlACF%2F9cAlACG%2F9cAlACH%2F9cAlACf%2F%2BwAlADM%2F64AlADP%2F64AlQAP%2F64AlQAR%2F64AlQAk%2F9cAlQA3%2F8MAlQA5%2F%2BwAlQA6%2F%2BwAlQA7%2F9cAlQA8%2F%2BwAlQA9%2F%2BwAlQCC%2F9cAlQCD%2F9cAlQCE%2F9cAlQCF%2F9cAlQCG%2F9cAlQCH%2F9cAlQCf%2F%2BwAlQDM%2F64AlQDP%2F64AlgAP%2F64AlgAR%2F64AlgAk%2F9cAlgA3%2F8MAlgA5%2F%2BwAlgA6%2F%2BwAlgA7%2F9cAlgA8%2F%2BwAlgA9%2F%2BwAlgCC%2F9cAlgCD%2F9cAlgCE%2F9cAlgCF%2F9cAlgCG%2F9cAlgCH%2F9cAlgCf%2F%2BwAlgDM%2F64AlgDP%2F64AlwAP%2F64AlwAR%2F64AlwAk%2F9cAlwA3%2F8MAlwA5%2F%2BwAlwA6%2F%2BwAlwA7%2F9cAlwA8%2F%2BwAlwA9%2F%2BwAlwCC%2F9cAlwCD%2F9cAlwCE%2F9cAlwCF%2F9cAlwCG%2F9cAlwCH%2F9cAlwCf%2F%2BwAlwDM%2F64AlwDP%2F64AmAAP%2F64AmAAR%2F64AmAAk%2F9cAmAA3%2F8MAmAA5%2F%2BwAmAA6%2F%2BwAmAA7%2F9cAmAA8%2F%2BwAmAA9%2F%2BwAmACC%2F9cAmACD%2F9cAmACE%2F9cAmACF%2F9cAmACG%2F9cAmACH%2F9cAmACf%2F%2BwAmADM%2F64AmADP%2F64AmgAP%2F64AmgAR%2F64AmgAk%2F9cAmgA3%2F8MAmgA5%2F%2BwAmgA6%2F%2BwAmgA7%2F9cAmgA8%2F%2BwAmgA9%2F%2BwAmgCC%2F9cAmgCD%2F9cAmgCE%2F9cAmgCF%2F9cAmgCG%2F9cAmgCH%2F9cAmgCf%2F%2BwAmgDM%2F64AmgDP%2F64AmwAP%2F9cAmwAR%2F9cAmwAk%2F%2BwAmwCC%2F%2BwAmwCD%2F%2BwAmwCE%2F%2BwAmwCF%2F%2BwAmwCG%2F%2BwAmwCH%2F%2BwAmwDM%2F9cAmwDP%2F9cAnAAP%2F9cAnAAR%2F9cAnAAk%2F%2BwAnACC%2F%2BwAnACD%2F%2BwAnACE%2F%2BwAnACF%2F%2BwAnACG%2F%2BwAnACH%2F%2BwAnADM%2F9cAnADP%2F9cAnQAP%2F9cAnQAR%2F9cAnQAk%2F%2BwAnQCC%2F%2BwAnQCD%2F%2BwAnQCE%2F%2BwAnQCF%2F%2BwAnQCG%2F%2BwAnQCH%2F%2BwAnQDM%2F9cAnQDP%2F9cAngAP%2F9cAngAR%2F9cAngAk%2F%2BwAngCC%2F%2BwAngCD%2F%2BwAngCE%2F%2BwAngCF%2F%2BwAngCG%2F%2BwAngCH%2F%2BwAngDM%2F9cAngDP%2F9cAnwAP%2F4UAnwAR%2F4UAnwAiACkAnwAk%2F4UAnwAm%2F9cAnwAq%2F9cAnwAy%2F9cAnwA0%2F9cAnwBE%2F5oAnwBG%2F5oAnwBH%2F5oAnwBI%2F5oAnwBK%2F9cAnwBQ%2F8MAnwBR%2F8MAnwBS%2F5oAnwBT%2F8MAnwBU%2F5oAnwBV%2F8MAnwBW%2F64AnwBY%2F8MAnwBd%2F9cAnwCC%2F4UAnwCD%2F4UAnwCE%2F4UAnwCF%2F4UAnwCG%2F4UAnwCH%2F4UAnwCJ%2F9cAnwCU%2F9cAnwCV%2F9cAnwCW%2F9cAnwCX%2F9cAnwCY%2F9cAnwCa%2F9cAnwCi%2F5oAnwCj%2F5oAnwCk%2F5oAnwCl%2F5oAnwCm%2F5oAnwCn%2F5oAnwCo%2F5oAnwCp%2F5oAnwCq%2F5oAnwCr%2F5oAnwCs%2F5oAnwCt%2F5oAnwC0%2F5oAnwC1%2F5oAnwC2%2F5oAnwC3%2F5oAnwC4%2F5oAnwC6%2F5oAnwC7%2F8MAnwC8%2F8MAnwC9%2F8MAnwC%2B%2F8MAnwDD%2F9cAnwDE%2F5oAnwDM%2F4UAnwDP%2F4UAoAAP%2FvYAoAAR%2FvYAoAAk%2F5oAoAA7%2F9cAoAA9%2F%2BwAoACC%2F5oAoACD%2F5oAoACE%2F5oAoACF%2F5oAoACG%2F5oAoACH%2F5oAoADM%2FvYAoADP%2FvYAogAF%2F%2BwAogAK%2F%2BwAogDL%2F%2BwAogDO%2F%2BwAowAF%2F%2BwAowAK%2F%2BwAowDL%2F%2BwAowDO%2F%2BwApAAF%2F%2BwApAAK%2F%2BwApADL%2F%2BwApADO%2F%2BwApQAF%2F%2BwApQAK%2F%2BwApQDL%2F%2BwApQDO%2F%2BwApgAF%2F%2BwApgAK%2F%2BwApgDL%2F%2BwApgDO%2F%2BwApwAF%2F%2BwApwAK%2F%2BwApwDL%2F%2BwApwDO%2F%2BwAqgAF%2F%2BwAqgAK%2F%2BwAqgBZ%2F9cAqgBa%2F9cAqgBb%2F9cAqgBc%2F9cAqgBd%2F%2BwAqgC%2F%2F9cAqgDL%2F%2BwAqgDO%2F%2BwAqwAF%2F%2BwAqwAK%2F%2BwAqwBZ%2F9cAqwBa%2F9cAqwBb%2F9cAqwBc%2F9cAqwBd%2F%2BwAqwC%2F%2F9cAqwDL%2F%2BwAqwDO%2F%2BwArAAF%2F%2BwArAAK%2F%2BwArABZ%2F9cArABa%2F9cArABb%2F9cArABc%2F9cArABd%2F%2BwArAC%2F%2F9cArADL%2F%2BwArADO%2F%2BwArQAF%2F%2BwArQAK%2F%2BwArQBZ%2F9cArQBa%2F9cArQBb%2F9cArQBc%2F9cArQBd%2F%2BwArQC%2F%2F9cArQDL%2F%2BwArQDO%2F%2BwAsgAF%2F%2BwAsgAK%2F%2BwAsgBZ%2F9cAsgBa%2F9cAsgBb%2F9cAsgBc%2F9cAsgBd%2F%2BwAsgC%2F%2F9cAsgDL%2F%2BwAsgDO%2F%2BwAtAAF%2F%2BwAtAAK%2F%2BwAtABZ%2F9cAtABa%2F9cAtABb%2F9cAtABc%2F9cAtABd%2F%2BwAtAC%2F%2F9cAtADL%2F%2BwAtADO%2F%2BwAtQAF%2F%2BwAtQAK%2F%2BwAtQBZ%2F9cAtQBa%2F9cAtQBb%2F9cAtQBc%2F9cAtQBd%2F%2BwAtQC%2F%2F9cAtQDL%2F%2BwAtQDO%2F%2BwAtgAF%2F%2BwAtgAK%2F%2BwAtgBZ%2F9cAtgBa%2F9cAtgBb%2F9cAtgBc%2F9cAtgBd%2F%2BwAtgC%2F%2F9cAtgDL%2F%2BwAtgDO%2F%2BwAuAAF%2F9cAuAAK%2F9cAuADL%2F9cAuADO%2F9cAugAF%2F%2BwAugAK%2F%2BwAugBZ%2F9cAugBa%2F9cAugBb%2F9cAugBc%2F9cAugBd%2F%2BwAugC%2F%2F9cAugDL%2F%2BwAugDO%2F%2BwAvwAFAFIAvwAKAFIAvwAP%2F64AvwAR%2F64AvwAiACkAvwDLAFIAvwDM%2F64AvwDOAFIAvwDP%2F64AwAAF%2F%2BwAwAAK%2F%2BwAwABZ%2F9cAwABa%2F9cAwABb%2F9cAwABc%2F9cAwABd%2F%2BwAwAC%2F%2F9cAwADL%2F%2BwAwADO%2F%2BwAwQAFAFIAwQAKAFIAwQAP%2F64AwQAR%2F64AwQAiACkAwQDLAFIAwQDM%2F64AwQDOAFIAwQDP%2F64AwwAtAHsAyAA3%2F64AyQA3%2F64AygAk%2F3EAygA3ACkAygA5ACkAygA6ACkAygA8ABQAygBE%2F64AygBG%2F4UAygBH%2F4UAygBI%2F4UAygBK%2F8MAygBQ%2F8MAygBR%2F8MAygBS%2F4UAygBT%2F8MAygBU%2F4UAygBV%2F8MAygBW%2F8MAygBY%2F8MAygCC%2F3EAygCD%2F3EAygCE%2F3EAygCF%2F3EAygCG%2F3EAygCH%2F3EAygCfABQAygCi%2F4UAygCj%2F64AygCk%2F64AygCl%2F64AygCm%2F64AygCn%2F64AygCo%2F64AygCp%2F4UAygCq%2F4UAygCr%2F4UAygCs%2F4UAygCt%2F4UAygC0%2F4UAygC1%2F4UAygC2%2F4UAygC3%2F4UAygC4%2F4UAygC6%2F4UAygC7%2F8MAygC8%2F8MAygC9%2F8MAygC%2B%2F8MAygDE%2F4UAywAk%2F3EAywA3ACkAywA5ACkAywA6ACkAywA8ABQAywBE%2F64AywBG%2F4UAywBH%2F4UAywBI%2F4UAywBK%2F8MAywBQ%2F8MAywBR%2F8MAywBS%2F4UAywBT%2F8MAywBU%2F4UAywBV%2F8MAywBW%2F8MAywBY%2F8MAywCC%2F3EAywCD%2F3EAywCE%2F3EAywCF%2F3EAywCG%2F3EAywCH%2F3EAywCfABQAywCi%2F4UAywCj%2F64AywCk%2F64AywCl%2F64AywCm%2F64AywCn%2F64AywCo%2F64AywCp%2F4UAywCq%2F4UAywCr%2F4UAywCs%2F4UAywCt%2F4UAywC0%2F4UAywC1%2F4UAywC2%2F4UAywC3%2F4UAywC4%2F4UAywC6%2F4UAywC7%2F8MAywC8%2F8MAywC9%2F8MAywC%2B%2F8MAywDE%2F4UAzAAm%2F5oAzAAq%2F5oAzAAy%2F5oAzAA0%2F5oAzAA3%2F3EAzAA4%2F9cAzAA5%2F4UAzAA6%2F4UAzAA8%2F4UAzACJ%2F5oAzACU%2F5oAzACV%2F5oAzACW%2F5oAzACX%2F5oAzACY%2F5oAzACa%2F5oAzACb%2F9cAzACc%2F9cAzACd%2F9cAzACe%2F9cAzACf%2F4UAzADD%2F5oAzQAk%2F3EAzQA3ACkAzQA5ACkAzQA6ACkAzQA8ABQAzQBE%2F64AzQBG%2F4UAzQBH%2F4UAzQBI%2F4UAzQBK%2F8MAzQBQ%2F8MAzQBR%2F8MAzQBS%2F4UAzQBT%2F8MAzQBU%2F4UAzQBV%2F8MAzQBW%2F8MAzQBY%2F8MAzQCC%2F3EAzQCD%2F3EAzQCE%2F3EAzQCF%2F3EAzQCG%2F3EAzQCH%2F3EAzQCfABQAzQCi%2F4UAzQCj%2F64AzQCk%2F64AzQCl%2F64AzQCm%2F64AzQCn%2F64AzQCo%2F64AzQCp%2F4UAzQCq%2F4UAzQCr%2F4UAzQCs%2F4UAzQCt%2F4UAzQC0%2F4UAzQC1%2F4UAzQC2%2F4UAzQC3%2F4UAzQC4%2F4UAzQC6%2F4UAzQC7%2F8MAzQC8%2F8MAzQC9%2F8MAzQC%2B%2F8MAzQDE%2F4UAzwAm%2F5oAzwAq%2F5oAzwAy%2F5oAzwA0%2F5oAzwA3%2F3EAzwA4%2F9cAzwA5%2F4UAzwA6%2F4UAzwA8%2F4UAzwCJ%2F5oAzwCU%2F5oAzwCV%2F5oAzwCW%2F5oAzwCX%2F5oAzwCY%2F5oAzwCa%2F5oAzwCb%2F9cAzwCc%2F9cAzwCd%2F9cAzwCe%2F9cAzwCf%2F4UAzwDD%2F5oAAAAaAT4AAQAAAAAAAAA5AHQAAQAAAAAAAQAJAMIAAQAAAAAAAgAHANwAAQAAAAAAAwAeASIAAQAAAAAABAAJAVUAAQAAAAAABQAMAXkAAQAAAAAABgAIAZgAAQAAAAAABwBSAkcAAQAAAAAACAAUAsQAAQAAAAAACwAcAxMAAQAAAAAADAAuA44AAQAAAAAADQAuBBsAAQAAAAAADgAqBKAAAwABBAkAAAByAAAAAwABBAkAAQASAK4AAwABBAkAAgAOAMwAAwABBAkAAwA8AOQAAwABBAkABAASAUEAAwABBAkABQAYAV8AAwABBAkABgAQAYYAAwABBAkABwCkAaEAAwABBAkACAAoApoAAwABBAkACwA4AtkAAwABBAkADABcAzAAAwABBAkADQBcA70AAwABBAkADgBUBEoARABpAGcAaQB0AGkAegBlAGQAIABkAGEAdABhACAAYwBvAHAAeQByAGkAZwBoAHQAIACpACAAMgAwADEAMAAtADIAMAAxADEALAAgAEcAbwBvAGcAbABlACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAC4AAERpZ2l0aXplZCBkYXRhIGNvcHlyaWdodCCpIDIwMTAtMjAxMSwgR29vZ2xlIENvcnBvcmF0aW9uLgAATwBwAGUAbgAgAFMAYQBuAHMAAE9wZW4gU2FucwAAUgBlAGcAdQBsAGEAcgAAUmVndWxhcgAAQQBzAGMAZQBuAGQAZQByACAALQAgAE8AcABlAG4AIABTAGEAbgBzACAAQgB1AGkAbABkACAAMQAwADAAAEFzY2VuZGVyIC0gT3BlbiBTYW5zIEJ1aWxkIDEwMAAATwBwAGUAbgAgAFMAYQBuAHMAAE9wZW4gU2FucwAAVgBlAHIAcwBpAG8AbgAgADEALgAxADAAAFZlcnNpb24gMS4xMAAATwBwAGUAbgBTAGEAbgBzAABPcGVuU2FucwAATwBwAGUAbgAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABHAG8AbwBnAGwAZQAgAGEAbgBkACAAbQBhAHkAIABiAGUAIAByAGUAZwBpAHMAdABlAHIAZQBkACAAaQBuACAAYwBlAHIAdABhAGkAbgAgAGoAdQByAGkAcwBkAGkAYwB0AGkAbwBuAHMALgAAT3BlbiBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIEdvb2dsZSBhbmQgbWF5IGJlIHJlZ2lzdGVyZWQgaW4gY2VydGFpbiBqdXJpc2RpY3Rpb25zLgAAQQBzAGMAZQBuAGQAZQByACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAABBc2NlbmRlciBDb3Jwb3JhdGlvbgAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tLwAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwB0AHkAcABlAGQAZQBzAGkAZwBuAGUAcgBzAC4AaAB0AG0AbAAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tL3R5cGVkZXNpZ25lcnMuaHRtbAAATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMAAATGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAAGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAAAAAAAAgAAAAAAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADWAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA%2BAD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCsAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQIAigEDAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB%2BAIAAgQDsAO4AugDXALAAsQDYAN0A2QCyALMAtgC3AMQAtAC1AMUAhwC%2BAL8AvAEEAQUHdW5pMDBBRAlvdmVyc2NvcmUMZm91cnN1cGVyaW9yBEV1cm8AAAABAAMACAAKAA0AB%2F%2F%2FAA8AAAABAAAAAMmJbzEAAAAAyTUxiwAAAADJ7dhg%29%20format%28%27truetype%27%29%3B%0A%7D%0A%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%3B%0Afont%2Dstyle%3A%20normal%3B%0Afont%2Dweight%3A%20600%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAQAQAABAAARkZUTVzEMhEAAJKkAAAAHE9TLzKiDbgUAAABiAAAAGBjbWFwjOjcmQAABUAAAAGyY3Z0IBCRGjQAAA%2FAAAAApmZwZ21%2BYbYRAAAG9AAAB7RnYXNwAAgAGwAAkpgAAAAMZ2x5ZhQyYgAAABIYAABUuGhlYWT5NRTiAAABDAAAADZoaGVhDrUE%2BgAAAUQAAAAkaG10eLHEUI0AAAHoAAADWGtlcm4Mlg8JAABm0AAAIwRsb2Nh0PO82gAAEGgAAAGubWF4cAJSAT8AAAFoAAAAIG5hbWUEDhKHAACJ1AAABs9wb3N0gnjp1QAAkKQAAAHycHJlcHism24AAA6oAAABGAABAAAAARmawtwUTF8PPPUAHwgAAAAAAMnt2GIAAAAAye3YYv53%2FhQHrgdzAAEACAACAAAAAAAAAAEAAAiN%2FagAAAgA%2Fnf%2BeweuAAEAAAAAAAAAAAAAAAAAAADWAAEAAADWAEQABQA%2FAAQAAgAQAC8AXAAAAQMAigADAAEAAwRsAlgABQAIBZoFMwAAAR8FmgUzAAAD0QBmAfYAAAILBwYDCAQCAgTgAALvQAAgWwAAACgAAAAAMUFTQwAgACAgrAYf%2FhQAhAiNAlggAAGfAAAAAARSBbYAAAAgAAEIAAAAAAAAAAQUAAACFAAAAjUAhQN9AIUFKwAvBJEAbwblAFQF7ABgAfIAhQKJAFICiQA9BGIASgSRAGACIwA%2FApMASAIzAIUDHwAQBJEAWASRAJoEkQBaBJEAVgSRACcEkQB1BJEAXgSRAEoEkQBYBJEAVgIzAIUCOQA%2FBJEAYASRAGYEkQBgA6AAEAcvAG8FSgAABUgAwQUSAHkF3wDBBHcAwQRCAMEFzwB5BgIAwQJxAMECZP9kBR0AwQRWAMEHYgDBBkQAwQZMAHkE7ADBBkwAeQUdAMEEZgBkBIcAHQXwALQE%2BgAAB5EADAT6AAQEvAAABJoAQgKkAJoDHwAQAqQAMwRMAB0Db%2F%2F8BLwBagSkAFoE%2FACoA%2FYAZgT8AGYEnABmAucAIwRzABcFFACoAjsAmgI7%2F4cEkwCoAjsAqAemAKgFFACoBOMAZgT8AKgE%2FABmA3MAqAPlAGIDJQAnBRQAngRIAAAGiQAUBGgAGQRKAAAD0wBEAxcALQRoAdkC%2BAAtBJEAYAIUAAACNQCFBJEApgSRAEgEkQB1BJEAEgRoAdkEAgBzBLwBJQaoAGQC8gA5BHMAUgSRAGACkwBIBqgAZAQA%2F%2FoDbQBtBJEAYALnADMC5wAtBLwBagUdAKgFPQBxAjMAhQG6AAAC5wBUAwwAPQRzAFAGpAA8BqQALgakADcDoAA3BUoAAAVKAAAFSgAABUoAAAVKAAAFSgAAB0z%2F%2FgUSAHkEdwDBBHcAwQR3AMEEdwDBAnH%2F%2BgJxALMCcf%2B1AnEAAQXZAC8GRADBBkwAeQZMAHkGTAB5BkwAeQZMAHkEkQCDBkwAeQXwALQF8AC0BfAAtAXwALQEvAAABPQAwQVUAKgEpABaBKQAWgSkAFoEpABaBKQAWgSkAFoHGQBaA%2FYAZgScAGYEnABmBJwAZgScAGYCO%2F%2B7AjsAnAI7%2F5wCO%2F%2FnBNsAZgUUAKgE4wBmBOMAZgTjAGYE4wBmBOMAZgSRAGAE4wBmBRQAngUUAJ4FFACeBRQAngRKAAAE%2FACoBEoAAAI7AKgHlgB5B64AZgTLAOMEngFgBMsA7AQAAFIIAABSAYsAGQGLABkCJQA%2FAy0AGQMtABkDsAArAwIAgwKwAFICsABQAQr%2BdwLnABAEpAA%2FAAAAAwAAAAMAAAAcAAEAAAAAAKwAAwABAAAAHAAEAJAAAAAgACAABAAAAH4A%2FwExAVMCxgLaAtwgFCAaIB4gIiA6IEQgdCCs%2F%2F8AAAAgAKABMQFSAsYC2gLcIBMgGCAcICIgOSBEIHQgrP%2F%2F%2F%2BP%2Fwv%2BR%2F3H9%2F%2F3s%2FevgteCy4LHgruCY4I%2FgYOApAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0%2BP0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAhoeJi5OYnqOipKalp6mrqqytr66wsbO1tLa4t7y7vb4AcmRladB4oXBrAHZqAIiaAHMAAGd3AAAAAABsfACouoFjbgAAAABtfQBigoWXw8TIyc3Oysu5AMEA09XR0gAAAHnMzwCEjIONio%2BQkY6VlgCUnJ2bwsXHcQAAxnoAAAAAAEBHW1pZWFVUU1JRUE9OTUxLSklIR0ZFRENCQUA%2FPj08Ozo5ODc2NTEwLy4tLCgnJiUkIyIhHxgUERAPDg0LCgkIBwYFBAMCAQAsILABYEWwAyUgEUZhI0UjYUgtLCBFGGhELSxFI0ZgsCBhILBGYLAEJiNISC0sRSNGI2GwIGAgsCZhsCBhsAQmI0hILSxFI0ZgsEBhILBmYLAEJiNISC0sRSNGI2GwQGAgsCZhsEBhsAQmI0hILSwBECA8ADwtLCBFIyCwzUQjILgBWlFYIyCwjUQjWSCw7VFYIyCwTUQjWSCwBCZRWCMgsA1EI1khIS0sICBFGGhEILABYCBFsEZ2aIpFYEQtLAGxCwpDI0NlCi0sALEKC0MjQwstLACwKCNwsQEoPgGwKCNwsQIoRTqxAgAIDS0sIEWwAyVFYWSwUFFYRUQbISFZLSxJsA4jRC0sIEWwAENgRC0sAbAGQ7AHQ2UKLSwgabBAYbAAiyCxLMCKjLgQAGJgKwxkI2RhXFiwA2FZLSyKA0WKioewESuwKSNEsCl65BgtLEVlsCwjREWwKyNELSxLUlhFRBshIVktLEtRWEVEGyEhWS0sAbAFJRAjIIr1ALABYCPt7C0sAbAFJRAjIIr1ALABYSPt7C0sAbAGJRD1AO3sLSywAkOwAVJYISEhISEbRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F7qLG7BGjFmwEGBoATpZLSwgRbADJUZSS7ATUVtYsAIlRiBoYbADJbADJT8jITgbIRFZLSwgRbADJUZQWLACJUYgaGGwAyWwAyU%2FIyE4GyERWS0sALAHQ7AGQwstLCEhDGQjZIu4QABiLSwhsIBRWAxkI2SLuCAAYhuyAEAvK1mwAmAtLCGwwFFYDGQjZIu4FVViG7IAgC8rWbACYC0sDGQjZIu4QABiYCMhLSxLU1iKsAQlSWQjRWmwQIthsIBisCBharAOI0QjELAO9hshI4oSESA5L1ktLEtTWCCwAyVJZGkgsAUmsAYlSWQjYbCAYrAgYWqwDiNEsAQmELAO9ooQsA4jRLAO9rAOI0SwDu0birAEJhESIDkjIDkvL1ktLEUjRWAjRWAjRWAjdmgYsIBiIC0ssEgrLSwgRbAAVFiwQEQgRbBAYUQbISFZLSxFsTAvRSNFYWCwAWBpRC0sS1FYsC8jcLAUI0IbISFZLSxLUVggsAMlRWlTWEQbISFZGyEhWS0sRbAUQ7AAYGOwAWBpRC0ssC9FRC0sRSMgRYpgRC0sRSNFYEQtLEsjUVi5ADP%2F4LE0IBuzMwA0AFlERC0ssBZDWLADJkWKWGRmsB9gG2SwIGBmIFgbIbBAWbABYVkjWGVZsCkjRCMQsCngGyEhISEhWS0ssAJDVFhLUyNLUVpYOBshIVkbISEhIVktLLAWQ1iwBCVFZLAgYGYgWBshsEBZsAFhI1gbZVmwKSNEsAUlsAglCCBYAhsDWbAEJRCwBSUgRrAEJSNCPLAEJbAHJQiwByUQsAYlIEawBCWwAWAjQjwgWAEbAFmwBCUQsAUlsCngsCkgRWVEsAclELAGJbAp4LAFJbAIJQggWAIbA1mwBSWwAyVDSLAEJbAHJQiwBiWwAyWwAWBDSBshWSEhISEhISEtLAKwBCUgIEawBCUjQrAFJQiwAyVFSCEhISEtLAKwAyUgsAQlCLACJUNIISEhLSxFIyBFGCCwAFAgWCNlI1kjaCCwQFBYIbBAWSNYZVmKYEQtLEtTI0tRWlggRYpgRBshIVktLEtUWCBFimBEGyEhWS0sS1MjS1FaWDgbISFZLSywACFLVFg4GyEhWS0ssAJDVFiwRisbISEhIVktLLACQ1RYsEcrGyEhIVktLLACQ1RYsEgrGyEhISFZLSywAkNUWLBJKxshISFZLSwgiggjS1OKS1FaWCM4GyEhWS0sALACJUmwAFNYILBAOBEbIVktLAFGI0ZgI0ZhIyAQIEaKYbj%2FgGKKsUBAinBFYGg6LSwgiiNJZIojU1g8GyFZLSxLUlh9G3pZLSywEgBLAUtUQi0ssQIAQrEjAYhRsUABiFNaWLkQAAAgiFRYsgIBAkNgQlmxJAGIUVi5IAAAQIhUWLICAgJDYEKxJAGIVFiyAiACQ2BCAEsBS1JYsgIIAkNgQlkbuUAAAICIVFiyAgQCQ2BCWblAAACAY7gBAIhUWLICCAJDYEJZuUAAAQBjuAIAiFRYsgIQAkNgQlmxJgGIUVi5QAACAGO4BACIVFiyAkACQ2BCWblAAAQAY7gIAIhUWLICgAJDYEJZWVlZWVmxAAJDVFhACgVACEAJQAwCDQIbsQECQ1RYsgVACLoBAAAJAQCzDAENARuxgAJDUliyBUAIuAGAsQlAG7IFQAi6AYAACQFAWblAAACAiFW5QAACAGO4BACIVVpYswwADQEbswwADQFZWVlCQkJCQi0sRRhoI0tRWCMgRSBksEBQWHxZaIpgWUQtLLAAFrACJbACJQGwASM%2BALACIz6xAQIGDLAKI2VCsAsjQgGwASM%2FALACIz%2BxAQIGDLAGI2VCsAcjQrABFgEtLLCAsAJDULABsAJDVFtYISMQsCAayRuKEO1ZLSywWSstLIoQ5S1ApQkhSCBVIAEeVR9IHlUfHgEPHj8erx4DT0YcH05NGx9NRhofJjQQVSUkSB8ZE%2F8fBwT%2FHwYD%2Fx9MSxwfS0YbHxMzElUFAQNVBDMDVR8DAQ8DPwOvAwPLSttK60oDy0kBSEYSH0dGEh9JRgEjSCJVHDMbVRYzFVURAQ9VEDMPVc8PAR8PAQ8P3w%2F%2FDwMGAgEAVQEzAFVvAH8ArwDvAAQQAAGAFgEFAbgBkLFUUysrS7gH%2F1JLsAlQW7ABiLAlU7ABiLBAUVqwBoiwAFVaW1ixAQGOWYWNjQBCHUuwMlNYsCAdWUuwZFNYsBAdsRYAQllzcysrXnN0dCsrKysrdCsrc3NzdCsrKysrKysrKysrKytzdCsrKxheBhQAFwBOBbYAFwB1BbYFzQAAAAAAAAAAAAAAAAAABFIAFACGAAD%2F7AAAAAD%2F7AAAAAD%2F7AAA%2FhT%2F7AAABbYAGfyU%2F%2B3%2Be%2F%2Fy%2Fqj%2BngAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAwAC4ALAAowCUAMAAzQDFAM8AugCaATEAsgAAAAAAAAAAAAAAAAA0AFoA2AFWAc4CTAJmApICwALyAyADQgNaA3wDmgPcBAQESgSmBO4FPAWYBb4GJgaGBr4G%2BAcgB0oHcgfOCFgImAjyCTIJagmiCdQKIgpUCmoKkgrMCuoLMgtuC7QL8gxKDJYM6A0MDUANcg3IDgQOMg5mDooOqA7KDvQPCg8qD4oP3hAYEGoQwBECEZwR2hISElwSnBK0EwwTRhOGE9oULhReFKwU8BUqFVoVshXsFiwWYBawFsgXGhdgF2AXkhfkGDwYmBjuGRQZjhnEGkAakhrOGvAa%2BBuCG5gb0BwMHEYclhy2HPwdMB1SHYgdsh3sHiYePB5SHmgeyB7aHuwe%2Fh8QHyIfNB%2BOH5ofrB%2B%2BH9Af4h%2F0IAYgGCAqIHwgjiCgILIgxCDWIOghGCGCIZQhpiG4Icoh3CImIpIioiKyIsIi0iLkIvYjhCOQI6AjsCPAI9Ij5CP2JAgkGiSGJJYkpiS2JMYk1iToJTAlmCWoJbolyiXcJewmRCZWJm4m0idYJ4YnwCf%2BKBQoKihKKGoojCi%2BKO4pIilCKWQpiCmmKeYqXAAAAAIAhf%2FjAa4FtgADAA8AKUATCgMEAwICERABAQ0CAw0HUVkNEwA%2FKwAYPxI5LxESATkRMzMRMzEwASMDIQE0NjMyFhUUBiMiJgFzrjQBFf7fTkhHTE1GR08BvAP6%2BsdKTVBHR1NQAAAAAgCFA6YC%2BAW2AAMABwAfQA0HBAADBAMJCAYCBwMDAD8zzTIREgE5OREzETMxMAEDIwMhAyMDAW0plikCcymWKQW2%2FfACEP3wAhAAAAIALwAABPoFtAAbAB8AikBKCB8cFQQUCREMDAkSDw4LBAoTExQWHR4HBAYXBAEAGQQYBQUGFAYKIQMaFwMYChggIQgEDAwcAQ0fABAQGRURDRENEQUXEwMKBRIAPzM%2FMxI5OS8vETMzMxEzMxEzMzMRMzMREgE5OREXMxESOTkRMxESFzkREhc5ETMREhc5MjIRMxESFzkxMAEDIRUhAyMTIwMjEyM1IRMhNSETMwMzEzMDMxUBMxMjA903AQ7%2B0VCyUPhQrkz6ARs5%2FvgBJVC0UPxQrlD8%2FQD6OfoDZv7kqP5eAaL%2BXgGiqAEcqAGm%2FloBpv5aqP7kARwAAAMAb%2F%2BJBCcGEgAgACYALQBnQDkMFBcdJSoGBAQFIQAnEQAFCBEZBS8uBQYWQA8SSBYXQB0NJAMqKgYXJQwGDE9ZAwYrHBQXFxxPWRcALysRADMRMxgvMysRADMREjkRFzMaGBDNKxDNERIBFzkRMxEzETMSFzkxMAEUBgcVIzUmJzUeARcRJy4BNTQ2NzUzFRYXByYnERceAQc0JicRNgEUFhcRDgEEJ9TIhfifVuZbVKSX17iFy7ZJnZtMvpLsUV%2Bw%2FidHXVBUAcWRvBbZ0wRI0yo5AQF2Hz%2BvgYqyE6ilB0u3Pgz%2BlB1JooQ6SyP%2BwRsC4zlMJQE3DEoAAAUAVP%2FsBpEFywAJABQAHgApAC0AV0AwLSorLBofFSUFCgAQChAfJSosBi8uHKAnAScnLQNgDQGvDQENDSwtAywSBxIEGCITAD8zPzM%2FPxI5L11xMxE5L10zERIBFzkRMxEzETMRMxEzETMxMAEUFjMyERAjIgYFFAYjIiY1ECEyFgEUFjMyERAjIgYFFAYjIiY1ECEyFgkBIwEBFzpChIRCOgHCpaGYpwE%2FnakB9jtCg4NCOwHCpp%2BYqAFAmqv%2B1%2FzVwgMrBACVkgEnASeSk%2Bbn794Bye382pWUASkBJZCV5ubt3wHJ7AMh%2BkoFtgAAAAMAYP%2FsBekFywALABQAMgBUQC4sKxIVJygGIQAbKxUbISgFNDMlDi0qBCwnAyQYAw8nHiwSHglLWR4EMAxMWTATAD8rABg%2FKwAYPxI5ERc5ERIXORESARc5ETMRMxEzETMRMzEwARQWFz4BNTQmIyIGEzI3AQ4BFRQWJTQ2Ny4BNTQ2MzIWFRQGBwE2NzMCBwEhJw4BIyIkAcNDPHFbV0hPXZW3gv6BalCL%2Fn2Ap19F2bexyoeeAVpRNvJGmgEt%2FtGVZueM5v76BHs%2FcD9Ab0VBTlH792sBeUR3TGJ7zYPDYG%2BZUpiwq5Fyul3%2BsmvP%2FuSz%2Ft2RUlPaAAAAAAEAhQOmAW0FtgADABS3AAMDBQQCAwMAP80REgE5ETMxMAEDIwMBbSmWKQW2%2FfACEAAAAAABAFL%2BvAJMBbYADQAfQA4DBAsDCgcACgAPDgsDAwA%2FLxESATk5ETMRFzMxMBMQEjczBgIVFBIXIyYCUpuSzYuUlInLk5oCMQEJAc6uvP4t9PT%2BNrmqAcYAAQA9%2FrwCNwW2AA0AH0AOAwoLAwQHAAQADw4ECgMAPy8REgE5OREzERczMTABEAIHIzYSNTQCJzMWEgI3m5LLipOUi82TmgIx%2Fvn%2BOqi7Acj09QHRva%2F%2BMQAAAAABAEoCagQUBhQADgAbQA8DBQQBBw0KCQsJDxAIDgAAP8QREgEXOTEwAQMlFwUTBwsBJxMlNwUDAqApAYEc%2Fpjsx6aVzef%2BmiMBeCkGFP6CbNkd%2FslrAVL%2BrmsBNx3ZbAF%2BAAAAAQBgAOMEMQTDAAsALEAWBgMKCgsLAQgDDQwJAQIBUlkGLwIBAgAvXTMrEQAzERIBFzkRMxI5OTEwASE1IREzESEVIREjAe7%2BcgGOtAGP%2FnG0AnmyAZj%2BaLL%2BagABAD%2F%2B%2BAGcAO4ABgAeQA8ABQMFCAcDQAZQBtAGAwYAL13NERIBOTkRMzEwJQYDIxI3MwGcMICtRSLn17r%2B2wEO6AAAAAEASAHBAkoCiQADABVACQMABQQBAE1ZAQAvKxESATk5MTATNSEVSAICAcHIyAAAAAEAhf%2FjAa4BFAALABhACwYAAA0MCQNRWQkTAD8rERIBOREzMTA3NDYzMhYVFAYjIiaFTEhJTE1ISEx9SU5RRkdTUgAAAQAQAAADDgW2AAMAHEAMAwABAgIABQQDAwISAD8%2FERIBOTkRMxEzMTAJASMBAw794N4CIQW2%2BkoFtgAAAgBY%2F%2BwEOQXNAAsAFwAoQBQSAAwGBgAZGAkVTVkJBwMPTVkDGQA%2FKwAYPysREgE5OREzETMxMAEQAiMiAhEQEjMyEgEQEjMyEhEQAiMiAgQ59fz0%2FPX79fz9DXuHh319h4d7Atv%2Bg%2F6OAX4BcQGDAW%2F%2BgP6O%2FtX%2FAAEEAScBJgEH%2Fv4AAQCaAAADDAW2AAoAIUAQAAQICQQBAQwLBAcBCQYBGAA%2FPxI5ORESATkRFzMxMCEjETQ3DgEHJwEzAwzrCBdDv3YBrsQDsKljGDqblQFSAAABAFoAAAQ5BcsAGwAxQBoHFBoCAg4UGwQdHBEKTVkRBwIaAQEaTlkBGAA%2FKxESADkYPysREgEXOREzETMxMCkBNQE%2BAjU0JiMiBgcnPgEzMhYVFA4BDwEVIQQ5%2FCEBeadtMndpVJ1nf3rmgsz2R5Or%2FgK2sgF7q49%2BSGNyPlGbZ1bVtGOyvaH2CgAAAAEAVv%2FsBC0FywAmAENAJBMHGwAABAcNFyIGKCcDFxgYF09ZGBgKJCQeTVkkBwoQTVkKGQA%2FKwAYPysREgA5GC8rERIAORESARc5ETMRMzEwARQGBxUeARUUBCEiJzUeATMyNjU0JisBNTMgNTQmIyIGByc2ITIWBAKik7Cw%2Ftb%2B7fOnXdBgqqi6x3%2BBAV56d1OaaXPJAQrd%2BARmi7kgCBavkdPlT9EuMn6EdW6%2F8l5mL0SklL4AAAACACcAAARtBboACgASAEhAJwkBAQ4LBwQSBQUEAAMUEwEFEgVNWQkGUBIBDxIfEgISEgMPBwYDGAA%2FPzMSOS9dXTMzKxEAMxESARc5ETMRMzMzMxEzMTABIxEjESE1ATMRMyERNDcjBgcBBG3F5f1kApzlxf5WCggcPP6VAT%2F%2BwQE%2FtQPG%2FEgBb8R9Ql798AABAHX%2F7AQpBbYAHAA6QB8PAxoVAwgVGAQeHQARTVkAAAYWFhlOWRYGBgxNWQYZAD8rABg%2FKxESADkYLysREgEXOREzETMxMAEyBBUUACEiJzUeATMyNjUQISIGBycTIRUhAz4BAkrdAQL%2B2%2F7y9YxR0lqfpv6yL4o0aTgC%2BP3XISNlA5Hqyur%2B%2BU%2FVLjKOiQEGEww%2BAsrR%2FpYGEAACAF7%2F7AQ%2FBckAFwAkAERAIxsRIgoKAAAFEQMmJQoUDg4eT1kODhQCAgdPWQIHFBhNWRQZAD8rABg%2FKxESADkYLysREgA5ERIBFzkRMxEzETMxMBMQITIXFSYjIgYDMz4BMzIWFRQAIyImAgUyNjU0JiMiDgEVFBZeArtuTExk6%2BwKDC%2Bqc8fe%2Fv%2Feneh9Af55g3t7TIBKmQJvA1oRxBb8%2FupRWfTR5v71lwEh9pyRfpBBcTuNwQAAAQBKAAAEPQW0AAYAJUASBgABBQACBQMIBwAYAwJOWQMGAD8rABg%2FERIBFzkRMxEzMTAhASE1IRUBAQACQv0IA%2FP9wQTlz6T68AAAAAMAWP%2FsBDkFyQAWACMAMAA3QB0DCA4UKyEGMjEFESEhKysLAAAkT1kABwsaT1kLGQA%2FKwAYPysREgA5GC8zEjk5ERIBFzkxMAEyFhUUBR4BFRQEIyIkNTQ2Ny4BNTQ2AxQWMzI2NTQmLwEOAQEiBhUUHgEXPgE1NCYCSNDy%2FvKskf724%2B7%2B%2BomchnL6RpJ9gY%2BEhh2EdAENZHosVGR4Y3sFyb%2Bg4YVWvnW12sy7esNMULJvn737smhzd2ZRhjkNOosDP2NVNFJDLzV1TlVjAAACAFb%2F7AQ3BckAGAAlAERAIyIMDAAcEgAGEgMnJgwPFQ8fT1kPDwMVFRlNWRUHAwhPWQMZAD8rABg%2FKxESADkYLysREgA5ERIBFzkRMxEzETMxMAEQACEiJzUWMzISEyMOASMiJjU0ADMyFhIlIgYVFBYzMjY1NC4BBDf%2BpP6ihTpZWu7qCww7p3DC3gEB3pzofv4CeoJ5e3eiRXwDRv5Q%2FlYQxRkBAAESWlDy0%2BUBD5j%2B3%2FafkH2Pjl9Zm1oAAAACAIX%2F4wGuBGoACwAWAChAFBEMBgYAABgXDhRRWQ4QCQNRWQkTAD8rABg%2FKxESATkRMxI5OTEwNzQ2MzIWFRQGIyImETQzMhYVFAYjIiaFTEhJTE1ISEyUS0pNSEhMfUlOUUZHU1IDnpdQR0dTUgAAAgA%2F%2FvgBrARqAAYAEQAyQBsMBwEGBgQHAxMSBAAGEAaQBgMNAwYJD1FZCRAAPysAGC9fXl3GERIBFzkRMxEzMTAlFwYDIxI3AzQzMhYVFAYjIiYBjQ8wgK1FIiOUS0pNSEhM7he6%2FtsBDugC5ZdQR0dTUgABAGAA3QQxBOwABgAmQBYFAQABBAMIBwAPAwE%2FA28DjwPvAwQDAC9dccYREgEXOREzMTAlATUBFQkBBDH8LwPR%2FSMC3d0BrnkB6MP%2BqP7RAAIAZgGwBCkD8gADAAcALUAbBAcAAwQJCAQFUlkEAQEAUlkPAS8BTwFvAQQBAC9dKwAYEMYrERIBFzkxMBM1IRUBNSEVZgPD%2FD0DwwM%2Fs7P%2BcbKyAAEAYADdBDEE7AAGACZAFgEFAgUGAwgHBg8DAT8DbwOPA%2B8DBAMAL11xxhESARc5ETMxMBMJATUBFQFgAt39IwPR%2FC8BogEvAVjD%2Fhh5%2FlIAAgAQ%2F%2BMDbQXLABsAJgBBQCEhHBsABxMADhMcBCgnBBcXEAAAJBAQCktZEAQkHlFZJBMAPysAGD8rERIAORgvEjkRMxESARc5ETMRMxEzMTABNTQ2Nz4BNTQmIyIGByc2MzIWFRQOAQcOAR0BAzQzMhYVFAYjIiYBG1Bkd0VwaV%2BiTVTL6MTmLFltXT%2Ftk0hMTUdHTAG8QG6STl5oSFRaNiawccCpS3VqVUlgUS3%2BwZdPSEdTUQAAAAIAb%2F9WBr4FvgA1AD8ATEAmGwA7FDoHFjYOIy4ADhQWKC4GQUAICz0RETIYODgECwsrHzIDJisALzM%2FMxI5LzMzETMROS8zEjkREgEXOREzETMRMzMRMxEzMTABFA4BIyImJyMOASMiJjU0EjMyFhcDFRQzMjY1NAIkIyIEAhUQACEyNxUGIyAAERASJDMyBBIBFDMyEzcmIyIGBr5ao2tPdBQMMZBao7v40Uy5SBZoT12M%2Fv6n1f7FpgE2ASLd8NL3%2Fo7%2BYuABjfvZAVO7%2B%2Fy3wRIMP0iAjwLjj%2B2EVEhOTtKzzgEBGxj%2BLxigzJ6rAQOMsP652P7e%2FshapFYBjwFlAQUBl9i0%2FrP%2Bp%2BkBJe8RqgAAAAIAAAAABUoFvAAHAA8AN0AeBgUMAAcDBAECBAcIDA8HERAPAkxZDw8FAAQSDAUDAD8zPzMSOS8rERIBFzkRMxEzETMzMTAhAyEDIwEhCQEDLgEnBgcDBEyS%2FdGP%2FAIjAQQCI%2F4xiQ81Chs0hAGW%2FmoFvPpEAmQBjiisKHuS%2FoMAAwDBAAAE2QW2AA8AGAAhAElAJhQEHgsQGhoPBAgLDwQjIggZEBAZS1kQEA8AABhMWQADDxpMWQ8SAD8rABg%2FKxESADkYLysREgA5ERIBFzkRMxEzETMRMzEwEyEgBBUUBgcVHgEVFAQjIRMzMjY1NCYrARkBMzI2NTQmI8EBsgEuAQ2EfJqR%2Fu31%2FfDv5paKlaLP%2FpaZnJ8FtrC%2BgKoWCh2rksXfA1pfcmdc%2Far%2BMXN8cm4AAQB5%2F%2BwEzwXLABgAJkAUAw8JDxUDGhkTAExZEwQMBkxZDBMAPysAGD8rERIBFzkRMzEwASICERASMzI2NxUGIyAAETQSJDMyFwcuAQMvzuzj112uXqza%2Fr%2F%2BqKcBPNXgvlZKpQT%2B%2Ftz%2B%2F%2F7z%2FuwlHc1BAYUBauQBVrZexyM1AAACAMEAAAVmBbYACAAPAChAFA0ECQAEABARBQxMWQUDBA1MWQQSAD8rABg%2FKxESATk5ETMRMzEwARAAKQERISAAAxAhIxEzIAVm%2Fm7%2Bhv5nAcQBXQGE%2FP4Vz6oCEALp%2Fpb%2BgQW2%2Foj%2BowIN%2B9sAAAAAAQDBAAAD%2FAW2AAsAPUAgBAAGCgoBAAEIAw0MBglMWQYGAQICBUxZAgMBCkxZARIAPysAGD8rERIAORgvKxESARc5ETMRMxEzMTApAREhFSERIRUhESED%2FPzFAzv9tAIn%2FdkCTAW2yv5yyP41AAAAAAEAwQAAA%2FoFtgAJADhAHgYAAAEEBwEDCgsGCUxZDwYBCwMGBgIBEgIFTFkCAwA%2FKwAYPxI5L19eXSsREgEXOREzETMxMCEjESEVIREhFSEBru0DOf20Aif92QW2yv43ywAAAAABAHn%2F7AUxBcsAGgA6QB8YAhMIAggaDQQcGwAaTFkAAAULCxBMWQsEBRZMWQUTAD8rABg%2FKxESADkYLysREgEXOREzETMxMAEhEQ4BIyAAERAAITIXByYjIgAVEBIzMjcRIQMXAhqE843%2BtP6YAZYBZOXNVLKy6v7w9eZ0hP7RAxn9IiskAYkBZgFhAY9Yx1L%2B2v%2F%2B9P7pHQF5AAABAMEAAAVCBbYACwAzQBkIBAQFCQEBAAUADA0IA0xZCAgFCgYDAQUSAD8zPzMSOS8rERIBOTkRMxEzETMRMzEwISMRIREjETMRIREzBULw%2FV7v7wKi8AKT%2FW0Ftv2qAlYAAAAAAQDBAAABsAW2AAMAEbYABQQBAwASAD8%2FERIBOTEwMxEzEcHvBbb6SgAAAAAB%2F2T%2BaAGqBbYADAAfQA4KAwcHDg0IAwAFTFkAIwA%2FKwAYPxESATkRMzMxMBMiJzUWMzI1ETMRFAYIYkJUPsTw1f5oGckV%2BAWJ%2Bn%2Fg7QAAAAEAwQAABR0FtgAOADVAHAsMAQAIBAQFAAIFDA4FEA8CDgMIBAULBgMBBRIAPzM%2FMxIXORESARc5ETMRMxEzETMxMCkBAQcRIxEzETY3ASEABwUd%2Fuv%2BNY3v72JhAYsBEP6BpgKWc%2F3dBbb9RnhvAdP%2BPr8AAQDBAAAEGwW2AAUAH0AOAwAFAAcGAQMAA0xZABIAPysAGD8REgE5OREzMTAzETMRIRXB7wJrBbb7F80AAQDBAAAGogW2ABQAPkAfEgsODg0UAAkCCAUFBgYJDQMWFQISCQMGCwcDAA4GEgA%2FMzM%2FMxIXORESARc5ETMRMzMRMzMRMxEzMzEwIQEjEhURIxEhATMBIREjETQSNyMBAzn%2BWAgR2QFRAZYGAaIBUuYLBAj%2BSQTF%2FvDu%2FTkFtvt1BIv6SgLTbQFeJfs9AAAAAQDBAAAFgwW2ABEAMkAXDAEQEAADCgcHCAgAExIDDAgQCQMBCBIAPzM%2FMxI5ORESATk5ETMRMzMRMxEzMzEwKQEBIxcWFREjESEBMyYCNREzBYP%2B2%2F0xCAUO2QEiAs0GAgzbBI1Bupr9CAW2%2B3kXASFRAv4AAAAAAgB5%2F%2BwF0wXNAAsAFwAoQBQMBhIABgAYGQkVTFkJBAMPTFkDEwA%2FKwAYPysREgE5OREzETMxMAEQACEgABEQACEgAAEQEjMyEhEQAiMiAgXT%2Fpv%2Buf61%2Fp0BZQFLAUYBZPuk2tbV2dfV19sC3f6b%2FnQBiQFqAWoBhP52%2Fpr%2B8v7pARQBEQENARb%2B6gACAMEAAASJBbYACgATADJAGQ8ACwUFBgYAFRQLBExZCwsHBhIHE0xZBwMAPysAGD8SOS8rERIBOTkRMxEzETMxMAEUBCEjESMRISAEATMyNjU0JisBBIn%2B1P7rmO8BpQESARH9J3%2B4rJqjpgP85fT93QW24P4WgIh%2BfAAAAgB5%2FqQF0wXNAA8AGwA7QB8FBAMGFgAQCgAEBgoEHRwNGUxZDQQFBwMHBxNMWQcTAD8rEQAzGBDGPysREgEXOREzETMRMxEzMTABEAIHASEBIyAAERAAISAAARASMzISERACIyICBdPLwgFe%2Fr7%2B7Cf%2Btf6dAWUBSwFGAWT7pNrW1dnX1dfbAt3%2B9v6USv6HAUgBiQFqAWoBhP52%2Fpr%2B8v7pARQBEQENARb%2B6gAAAAACAMEAAAUKBbYACAAVAERAIxIVBBAUEwAKCgsLEBMVBBcWEgkACUtZAAAMFAsSDAhMWQwDAD8rABg%2FMxI5LysRADMREgEXOREzETMRMxEzETMxMAEzMjY1NCYrARkBIxEhIAQVEAUBIQEBsKanlqKjnu8BnQEbARD%2B5AGd%2FvD%2BogMOfHp8bP1c%2FbgFttTW%2Fu90%2FXkCSAAAAAEAZP%2FsBAwFywAkADRAGwwAHRIFEhcABCYlDB0DFRUaTFkVBAMJTFkDEwA%2FKwAYPysREgA5ORESARc5ETMRMzEwARQEIyInNR4BMzI2NTQmJy4BNTQkMzIXByYjIgYVFB4BFx4CBAz%2B5vj4nmThYY6HfMLIpAEE29LQTMOZdHgwbo%2BhlkYBjcPeTeIvNmxbUnJOUdCSt9Jcw1JlUzlRSDtDdJIAAQAdAAAEaAW2AAcAJUASAAEBAwYDCQgBEgcDBANMWQQDAD8rEQAzGD8REgEXOREzMTAhIxEhNSEVIQK67%2F5SBEv%2BUgTpzc0AAQC0%2F%2BwFOwW2ABEAJUAREAELCAgBExIRCQMFDkxZBRMAPysAGD8zERIBOTkRMxEzMTABERQGBCMgADURMxEUFjMgGQEFO4v%2B%2Bbf%2B8P7S8KiuAVIFtvxOovODASD8A678Y7WsAWMDmwABAAAAAAT6BbYADAAqQBQDAgkAAQUEAQQJAw4NCQMABAMDEgA%2FPzMSORESARc5ETMRMxEzMzEwATMBIwEzAR4BFz4BNwQC%2BP4A%2FP4C9gExGDYIDTYRBbb6SgW2%2FHNBzTJMyDAAAQAMAAAHgwW2ABwAQEAhAQAYCgkQFRQFGxwNDAUMEBgcBR4dEAUYAwobFAwDAQoSAD8zPzMzEhc5ERIBFzkRMxEzETMzETMzETMzMTApAQMuAScOAQcDIQsBMxMWFz4BNxMzExYXNjcTMwYG%2Fvz4EDAFCi0P8v78vcD00TEVCywS7u30IycPOdDyA2g51ypAzDL8nALcAtr8rM2dVdJBA1b8pnftj90DUgAAAAEABAAABPYFtgALADVAHAEACQoHBgMEBAACBQYICgsIDQwCCAQJBgMBBBIAPzM%2FMxI5ORESARc5ETMRMxEzETMxMCkBCQEhCQEhCQEhAQT2%2Fu3%2Bkv6P%2FwAB5f46AQoBUgFSAQL%2BNwJW%2FaoC9gLA%2FdcCKf08AAAAAAEAAAAABLwFtgAIACxAFQECCAcABAQFAgUHAwoJAAUBBwMFEgA%2FPzMSORESARc5ETMSOREzETMxMAkBIQERIxEBIQJeAVoBBP4Z8P4bAQQDGwKb%2FIH9yQIvA4cAAQBCAAAEWAW2AAkAOEAdAwcIAgACBAcECwoHBAUFBExZBQMCCAEBCExZARIAPysREgA5GD8rERIAORESARc5ETMRMzEwKQE1ASE1IRUBIQRY%2B%2BoC4f0zA%2B79HAL4pgRDzaj7vwAAAAABAJr%2BvAJxBbYABwAfQA0EAAYBAQAJCAYBBQIDAD8zLzMREgE5OREzETMxMAEhESEVIREhAnH%2BKQHX%2FwABAP68Bvqw%2BmcAAAABABAAAAMOBbYAAwAcQAwCAQADAwEFBAMDAhIAPz8REgE5OREzETMxMBMBIwHuAiDd%2Fd8FtvpKBbYAAAABADP%2BvAIIBbYABwAfQA0DAAEGBgAJCAAHAwQDAD8zLzMREgE5OREzETMxMBchESE1IREhMwEA%2FwAB1f4rkwWZsPkGAAEAHQIXBC8FvgAGACdAEgIBBQQDBgAAAwUDCAcFAAQCAwA%2FzTI5ERIBFzkRMxEzETMzMTATATMBIwkBHQG0eQHlwv6j%2Fs0CFwOn%2FFkCtv1KAAAAAAH%2F%2FP7BA3P%2FSAADABG1AwUCBAECAC8zEQEzETMxMAEhNSEDc%2FyJA3f%2BwYcAAQFqBNkDUAYhAAkAE7YIAwsKBYAAAC8azRESATk5MTABLgEnNSEeARcVArJF0zABESaDLATZNMU6FUa2MxkAAAIAWv%2FsBAQEZgAbACYASUAmDAEfHxskCAgUGwMoJwIFFwwgSlkMDAUXABUXEEhZFxAFHEhZBRYAPysAGD8rABg%2FERI5LysREgA5ERIBFzkRMxEzETMzMTAhJyMOASMiJjU0NiU3NTQmIyIGByc%2BATMyFhURJTI2PQEHDgEVFBYDXC8IUKJ%2Fo7f%2BAQS%2FY2hVnEhMWtZf09f9%2BoCbjqaXWJplSbChq64IBjtqaTIiqC8xuMX9F6CPgWAGBmNmSlEAAAIAqP%2FsBJMGFAATAB8AQEAhCRgRAw0eAw0LCwMhIAgRBgAMAAsVABRGWQAQBhtGWQYWAD8rABg%2FKwAYPz8REjk5ERIBOTkRMxEzERczMTABMhIREAIjIicjByMRMxEUBgczNhciBgcVFBYzMjY1EALdz%2Bfq0NJ0ECuw6wgCCnCdjn0CgJF9gQRm%2FtT%2B8f7w%2FtGXgwYU%2Fo4pohalwKfEEMq1xrsBeQAAAAEAZv%2FsA7QEZgAVACZAFA0DAwgSAxcWBgtGWQYQABBGWQAWAD8rABg%2FKxESARc5ETMxMAUiABEQACEyFwcmIyARFBYzMjcVDgECZvv%2B%2BwERAQKvjEeVYf7hj4qdjD%2BPFAElARIBFwEsQb06%2FoO6u07NJSAAAgBm%2F%2BwEVAYUABIAHwBAQCEQFwkDDAwOHQMOAyEgCREABgwADxUGGkZZBhAAE0ZZABYAPysAGD8rABg%2FPxESOTkREgE5OREzETMRFzMxMAUiAhEQEjMyFzMmNREzESMnIwYnMjY3NTQmIyIGFRQWAh3P6OvQ2nIMEey4KQtxm5GEAoiRfIaCFAEsAQ8BEAEvoXdFAZP57JGlvqO3IdGwybq4wQACAGb%2F7AQ5BGYAFAAbAEdAJxkKGAsLAwMKEQMdHBgLSFkMGBwYAhADGBgABgYVSFkGEAAOR1kAFgA%2FKwAYPysREgA5GC9fXl0rERIBFzkRMxEzETMxMAUgABEQADMyEh0BIR4BMzI2NxUOAQMiBgchLgECi%2F7%2B%2Ft0BDuzb%2Fv0fBaSVYqlhVrCccIcNAfYCgBQBLQEIAQ8BNv726X%2BhrSUrvykiA8iOiImNAAAAAQAjAAADQgYfABUAO0AeDRQUBwICAwADBQMXFgMVCxBGWQsABQEUAUhZBxQPAD8zKxEAMxg%2FKwAYPxESARc5ETMSOTkRMzEwASERIxEjNTc1NDYzMhcHJiMiBh0BIQLT%2FvLstra4vXx4PldPUEkBDgOg%2FGADoG5ISMS9KbIcY2NIAAAAAwAX%2FhQETgRmACsAOABDAHJAPSsCJT4FOSUMHzITLBkABRMZHyUGRUQiCAg8SlkICBYoHDYPDzZGWQ8PFigoQUpZKBArAklZKw8WL0lZFhsAPysAGD8rABg%2FKxESADkYLysREgA5ERI5GC8rEQAzERIBFzkRMxEzETMRMxEzEjk5MTABFQceARUUBiMiJwYVFBY7ATIWFRQEISImNTQ2Ny4BNTQ2Ny4BNTQ2MzIWFwEUFjMyNjU0JisBIgYTFBYzMjU0JiMiBgROvRoi7M81K0xHX8G3vv7K%2Ftvi7oF0Lz1GRVZr49IvZxr%2BGol8wLxnjLJld2VrZMxlZ2ZpBFKBIyNmOavECC8%2FJiack7zMoJRmixsUWTE%2BViolp3C0xg0H%2BwJMUm5bSD1fA0docNpsdXQAAAABAKgAAAR1BhQAFQAzQBkBAA8NCQkKAAoXFg8KExMFRlkTEAsAAQoVAD8zPz8rERIAORESATk5ETMRMzMRMzEwISMRNCYjIgYVESMRMxEUBzM%2BATMgEQR17GdwlIvr6wwPMKtyAZICqIB%2BsdD92wYU%2FnVfbFBY%2FmsAAAAAAgCaAAABogX6AAMADwA2QCIKAAQAAQEREA0fBy8HAl8Hbwd%2FB58HrwffB%2B8HBwcCDwEVAD8%2FL11xzRESATkRMzMRMzEwISMRMwM0NjMyFhUUBiMiJgGT6%2Bv5RUA%2BRUU%2BQEUEUgElP0REPzxFRQAAAAL%2Fh%2F4UAaIF%2BgAMABgAQ0AqEwoKDQMDBwcaGRZADxAfEC8QTxBfEI8QnxDPEN8QCQ4DEAgPAAVGWQAbAD8rABg%2FL19eXRrNERIBOREXMxEzMTATIic1FjMyNREzERQGAzQ2MzIWFRQGIyImN2pGREeW67NGRUA%2BRUU%2BQEX%2BFBm6EqoE0%2Fsdq7AHYz9ERD88RUUAAAABAKgAAASJBhQADgA6QB8CAwYFDgwJCQoDBAUHCgUQDw4IBwQECgILAAIPBgoVAD8zPz8REhc5ERIBFzkRMxEzMxEzETMxMAE3ASEJASEBBxEjETMRBwGLhQFOAQ%2F%2BQwHZ%2Fuz%2BnYHp6QwCSKYBZP4l%2FYkB5Wr%2BhQYU%2FQnVAAAAAAEAqAAAAZMGFAADABZACQABAQUEAgABFQA%2FPxESATkRMzEwISMRMwGT6%2BsGFAAAAAEAqAAABwYEZgAjAEZAIxwbEwAAAQ0JCQoBChsDJSQUDQoRCw8cAQoVIAURBUZZFxEQAD8zKxEAMxg%2FMzM%2FERI5ORESARc5ETMRMxEzEjkRMzEwISMRNCYjIgYVESMRMxczPgEzIBczPgEzMhYVESMRNCYjIgYVBEzsYGaIf%2Bu4IQwur2kA%2F1MQMbJzxrXrYWaJfwKqf32xzv3ZBFKRT1auUlzIzf0vAqp%2FfauxAAAAAQCoAAAEdQRmABMAMUAYDQkJCgEACgAUFQ0KEREFRlkREAsPAQoVAD8zPz8rERIAORESATk5ETMRMxEzMTAhIxE0JiMiBhURIxEzFzM%2BATMgEQR17GdwlYrruCEMMrhwAY4CqIB%2BsM%2F92QRSkU9W%2FmsAAAACAGb%2F7AR9BGYADAAVAChAFA0HEQAHABYXChNGWQoQAw9GWQMWAD8rABg%2FKxESATk5ETMRMzEwARAAIyImAjUQADMyAAEQISARECEiBgR9%2Fur4m%2B6AART78AEY%2FNsBGwEY%2FuaUhQIr%2FvH%2B0IwBBq0BDQEu%2Fsv%2B%2Bv6BAX8Be8QAAAIAqP4UBJMEZgATACAAP0AgGAsDBgYHHhEHESEiAwsADg4URlkOEAgPBxsAG0ZZABYAPysAGD8%2FPysREgA5ORESATk5ETMRMxEzMzMxMAUiJyMWFREjETMWFzM2MzISERACASIGHQEUFjMyNjU0JgLZ0nQODuu%2BCBkMbtzP5%2Bv%2B%2BIyBgJF6hIMUl4we%2FjsGPh91qP7U%2FvH%2B8f7QA7qktCPKtci5ur8AAAIAZv4UBFQEZgALACAAQEAgHhYDGhoZCg8ZDyIhGhsXDx8WDBISB0ZZEhAMAEZZDBYAPysAGD8rERIAOTkYPz8REgE5OREzETMRMzMzMTAlMjY9ATQmIyIGFRAXIgIREBIzMhYXMzczESMRNDY3IwYCXpSBhZR%2BhMPN6OzPaKVBCBrD7AgDDWioq60lzbTIu%2F6FvAEtAQ4BDgExTViR%2BcIB1SxiGqUAAAEAqAAAA04EZgAQACNAEA0JCQoCChIRCw8NChUFABAAPzI%2FOT8REgE5OREzETMxMAEyFwcmIyIGFREjETMXMz4BAtlHLhcyNo2v67gfDDexBGYK2wy4k%2F2%2BBFLDY3QAAAEAYv%2FsA48EZgAhADRAGwoAGxEABhEWBCMiChsDFBQZR1kUEAMISFkDFgA%2FKwAYPysREgA5ORESARc5ETMRMzEwARQGIyInNRYzMjU0LgEnLgE1NDYzMhcHJiMiFRQWFx4CA4%2Fs3N2Gw6jZMG5iv4flxcOuTLN6umGjiXw8ATuirUPLWoMqODwmSpR2jp1PsUpqNEg%2FNVhzAAAAAAEAJ%2F%2FsAvAFSAAVAD1AHw8MExMIAggKEQQXFg0PQAkSDA8PEkhZDw8GAEZZBhYAPysAGD8rEQAzETMaGBDNERIBFzkRMxI5OTEwJTI3FQ4BIyAZASM1PwEzFSEVIREUFgJEVlYne0L%2BspeiUJEBO%2F7FVaobsREXAWACVGhW6vay%2FbBVUQAAAAABAJ7%2F7ARtBFIAFAAwQBcBEREUCwgUCBYVAgUSCQ8AFQUORlkFFgA%2FKwAYPz8zEjkREgE5OREzETMRMzEwIScjDgEjIiY1ETMRFBYzMjY1ETMRA7QhDDG1dMnG7WhvlIvskU1YyMsC0%2F1Wf3%2Bx0AIn%2B64AAAEAAAAABEgEUgALAChAEwkKAgELAAUBCgUDDQwJAQ8FABUAPzI%2FMxESARc5ETMzETMRMzEwIQEzExYXMzY3EzMBAaT%2BXPjhOgwICT3h%2Bv5aBFL9faJkSL4Cg%2FuuAAAAAAEAFAAABnMEUgAdAD5AIR0AFxMSBAgHDhscCgkECQ4XHAUfHgANFwMIFQkbBAMSDwA%2FFzM%2FFzMREgEXOREzETMRMzMRMzMRMzMxMCEDJgMjAgcDIQEzExYXMz4BNxMhEx4BFzM2NxMzAQQzjxpECToik%2F78%2FsrwjTAUBgopD6gBAqMPLQQIDzeP7P7IAgRSASv%2B8nH9%2FgRS%2Fd%2FKkEm9LwJG%2Fboxyjh73QIh%2B64AAAAAAQAZAAAETgRSAAsAM0AaCAcEBQIBCgsAAQUGBwsGDQwJAwsEAQ8ICxUAPzM%2FMxI5ORESARc5ETMRMxEzETMxMAkBIRsBIQkBIQkBIQGe%2Fo0BDPz%2BAQr%2BjAGH%2Fvb%2B7%2F7w%2FvYCNQId%2Fn0Bg%2F3j%2FcsBnv5iAAABAAD%2BFARKBFIAFAAzQBoUCgQICQEAAAQJDwQWFQQUFQgADwwRRlkMGwA%2FKwAYPzM%2FMxESARc5ETMRMxEzMzEwESETFhczPgETMwECISInNRYzMj8BAQDhMxEICTDm%2Fv4ngf7TTko1RKpFKQRS%2FY2GdjedApv7G%2F6nEboMxWgAAAEARAAAA4sEUgAJADhAHQMHCAICBAcJBAsKBwQFBQRIWQUPAggBAQhIWQEVAD8rERIAORg%2FKxESADkREgEXOREzETMxMCkBNQEhNSEVASEDi%2Fy5Ai%2F98wMV%2Fd0CM5EDDbSk%2FQYAAAAAAQAt%2FrwC6QW2ABwARUAnCxgSAg4HFRUcAhgcAx4dEQICDwN%2FA48DrwO%2FA88DBgMDChgZCwoDAD8zLzMSOS9dMxI5ERIBFzkRMxI5ORE5ETMxMAE0ITUyNjURNDYzFQ4BFREUBxUWFREUFhcVLgE1ATf%2B9oeD2dlyZ%2BXlZnPnywEfur9bXQE3nJO2BVNS%2FtfHJwwkyf7VUlQCtwKZqwAAAAEB2f4fAo0GEAADABS3AgMDBQQDAAAAPy8REgE5ETMxMAEzESMB2bS0BhD4DwAAAAEALf68AssFtgAeAEVAJwsbEgQXDgcHAAAEGwMgHwwbGw8afxqPGq8avxrPGgYaGhMEAxITAwA%2FMy8zEjkvXTMSORESARc5ETMSOTkRMxE5MTAFFAYHNT4BNRE0Njc1JjURNCYnNTIWFREUFjMVIgYVAc%2FH219qanvlW27fw399e4EUnJICtwFLXAEGeYQVDCfHASlSUwW2ma7%2B4WRUv1VlAAAAAQBgAjsEMQNoABUAQEAkDwMXFg4GAxERC1JZABEQEQIJAxEGQAYAUlkPBh8GPwZvBgQGAC9dKwAaGBDNX15dKwAQGMQQxhESATk5MTABIgYHNTYzMhYXFjMyNjcVBiMiJicmAUoyez1jl0J2WINZNH06aZFBfVR%2FArQ8Pb9sGiU3Pjq%2Bbx8jNwAAAAACAIX%2BjQGuBF4AAwAPAChAEgQCCgIDAxEQAAANAw0HUVkNEAA%2FKwAYLxI5LxESATkRMzMRMzEwEzMTIQEUBiMiJjU0NjMyFsGuM%2F7rASFLSkhMTEhITQKF%2FAgFOEpOT0lFVFEAAQCm%2F%2BwD9gXLABwASkApDgILAgUWCAUIEBwEHh0FAgIZTVkAAhACAhADAgQZDhNNWQuQDgEODAcAP81dMisAGD%2FFX15dKxEAMxESARc5ETMRMzMRMzEwJQYHFSM1JgI1NBI3NTMVFhcHJiMiBhUUFjMyNjcD23eLnM%2FIyc6emINGkmiSjJCKS4dX7jsFwsgfARj6%2FgEeIKqiBT28O77BwrIeJQABAEgAAARWBckAHQBVQC4aCAsLFw8TAgkQExcYBh8eCxgZGE9ZCA8ZAQsDGRkSAAAFTVkABxMPEg9OWRIYAD8rEQAzGD8rERIAORgvX15dMysRADMREgEXOREzETMSOTkxMAEyFwcmIyIdASEVIRUUBgchFSE1PgE9ASM1MxE0NgKywrVMonrNAY3%2Bc0JQAvT78mJevLzjBclStkfb9Ky2W4Atz8MehHC4rAEAvNQAAAIAdQECBBsEpAAbACcAOkAlIg4cAAACBQkMDhATFxoKKSgJDBATFxoCBQgfFSUPBx8HbwcDBwAvXTPEMhc5ERIBFzkRMxEzMTATNDcnNxc2MzIXNxcHFhUUBxcHJwYjIicHJzcmNxQWMzI2NTQmIyIGukCFeYNkc3NihXmDPz%2BBd4Vjcn5Zg3eDQKiIXmGIiGFdiQLTbWiFd4E%2FQYN1hWRzd2KBd4E9PX93gWN0YoWFYmGIiAAAAAABABIAAAR9BbYAFgBbQDMABxADCwsMAgUJDA4SFQcYFwYSExJQWQADDxMfEwIJAxMTDBUKDg8OUFkHDw8MARUGDBgAPz8zEjkvMysRADMREjkYL19eXTMzKxEAMxESARc5ETMSFzkxMAkBMwEzFSEVIRUhFSM1ITUhNSE1MwEzAkgBQfT%2BceP%2B5wEZ%2Fufh%2FuUBG%2F7l4P529gMdApn9CJeamfT0mZqXAvgAAAAAAgHZ%2Fh8CjQYQAAMABwAkQBADAgUFBAQJCAMEAwQHGwAAAD8%2FOTkvLxESATkRMxI5OTEwATMRIxEzESMB2bS0tLQGEPzm%2FkX85AAAAAIAc%2F%2FyA4kGIwAtADkATUAsNBcmGy4AEQUyGTcDAAMFCxcZGyEIOzoDGTcUMioGHggID0lZCAEeJElZHhYAPysAGD8rERIAFzkREgEXOREzETMRMxEzETMRMzEwEzQ2NyY1NDYzMhYXBy4BIyIVFBYXHgEVFAcWFRQGIyInNR4BMzI1NC4BJy4CNxQeARc2NTQmJw4BgU1Jktu5W6ZjRHR4PcJuiK%2BWi4vs0NSGTcBR6ypkYY2CPbgwbYxtfJ82RQMnUIMrU5iBkiIqojIabTZPM0SdbbFZUI%2BOpUezKDODKzY2JjdddWEtRkQ4QWdLZzUQWwACASUFAgOWBewACwAXAB5ADAwSBgASABkYDwMVCQAvM80yERIBOTkRMxEzMTABNDYzMhYVFAYjIiYlNDYzMhYVFAYjIiYBJUMwNT9ANDBDAYlDMDVAQjMwQwV3Pjc%2BNzVAOjs%2BNz43Nj86AAADAGT%2F7AZEBcsAFgAmADYARkAoAw8vHycXCQ8UFx8FODcAABIQEgISEhsGDwwfDJ8MAwwMIzMbBCsjEwA%2FMz8zEjkvXTMROS9dMxESARc5ETMRMxEzMTABIgYVFBYzMjY3FQYjIiY1NDYzMhcHJgE0EiQzMgQSFRQCBCMiJAI3FBIEMzIkEjU0AiQjIgQCA31veGx7N34uc3jF2dzEiohBavyGyAFeysgBXsrC%2FqLQz%2F6iw3upASSoqgEkp6n%2B26eo%2Ft%2BsBAqhjpOeHhWeM%2FHe1vdGjzf%2B0cgBXsrI%2FqLKxf6m0M8BWsaq%2Ft2oqwEhqagBJaim%2FtwAAAIAOQMCApMFxwAXACEAOUAdCwEhIRcbBwcRFwMjIiELCxMdAQAABBAEAgQOEwQAPzPUXcQzMxI5LzMREgEXOREzETMRMzMxMAEnDgEjIiY1NDY%2FATQmIyIHJzYzMhYVEQEOARUUMzI2PQECIx0udkdxcaioa0VFWng2kI2Kiv7%2BR21gW1wDDmE3NmlqaG8GBEhIOHNGfX3%2BQQE8AkAxWFJSKwAAAgBSAGgEIQPhAAYADQApQBMDBgoNAgQLCQkEDQYEDg8MBQgBAC8zxDIREgEXOREzETMRMxEzMTATARcJAQcBJQEXCQEHAVIBZKj%2B5gEaqP6cAcIBZaj%2B5QEbqP6bAjEBsF7%2Bov6kYQGvGgGwXv6i%2FqRhAa8AAAAAAQBgAQAEMQMrAAUAI0AQAQADAAcGAQQEA1JZLwQBBAAvXSsAGBDEERIBOTkRMzEwASMRITUhBDGy%2FOED0QEAAXmyAP%2F%2FAEgBwQJKAokSBgAQAAAABABk%2F%2BwGRAXLAAgAFQAlADUAXUAzBAkLDg0MABAQES4eJhYJDA4RFh4GNzYPAAASDQ8RHxECEREaCAASEBICEhIiMhoEKiITAD8zPzMSOS9dMxE5L10zEjkvMxESARc5ETMRMxEzETMRMxEzETMxMAEzMjY1NCYrAQUUBxMjAyMRIxEhMhYBNBIkMzIEEhUUAgQjIiQCNxQSBDMyJBI1NAIkIyIEAgLsRUpMSU9DAZmZ7dPAWr0BBq6i%2B9%2FIAV7KyAFeysL%2BotDP%2FqLDe6kBJKiqASSnqf7bp6j%2B36wDAkZBSDl9qz7%2BcwFa%2FqYDh4j%2BxcgBXsrI%2FqLKxf6m0M8BWsaq%2Ft2oqwEhqagBJaim%2FtwAAAAAAf%2F6BhQEBga4AAMAEbUABQEEAQIALzMRATMRMzEwASE1IQQG%2B%2FQEDAYUpAACAG0DOQL%2BBcsADAAYAB9ADRMGDQAGABoZEAkWAwQAPzPEMhESATk5ETMRMzEwEzQ2MzIWFRQGIyIuATcUFjMyNjU0JiMiBm2%2Bi4q%2BwIhYmViZZkpKZmhISGgEgYfDwIqLvVeYWUZoZ0dMZmgAAAAAAgBgAAAEMQThAAsADwA3QB4GAwoKCwwPAQgLBREQDA1SWQwSCQECAVJZBp8CAQIAL10zKxEAMxg%2FKxESARc5ETMSOTkxMAEhNSERMxEhFSERIwE1IRUB7v5yAY60AY%2F%2BcbT%2BcgPRApiyAZf%2BabL%2Bav7%2BsrIAAAAAAQAzAkoCpgXJABYAJ0ATBhEVAgIMERYEGBcJDh8CFRUBIAA%2FMxI5PzMREgEXOREzETMxMAEhNTc%2BATU0JiMiByc2MzIWFRQGDwEhAqb9jeZ1QUAzXWxei6qIl1yJiwGNAkqH4XBqOzQ2WHl3hHJTl3%2BBAAABAC0COQKiBckAIwA5QB8XABAGAAYLEx4DBiUkAxMTHxQBHxQBFBQJGiEfDgkhAD8zPzMSOS9dcTMSORESARc5ETMRMzEwARQGBx4BFRQGIyInNRYzMjU0KwE1MzI1NCYjIgYHJz4BMzIWAoVRT15fuq2UepF9s8dzabhFODlhOVQ9kmKGnQTjS18nFW5Nf4o%2BnU%2BHfYWBNDgoJXIuO3sAAQFqBNkDUAYhAAkAE7YFAAsKBYAAAC8azRESATk5MTABNT4BNyEVDgEHAWo5eSMBETTPRwTZGUasPRU9wTUAAAEAqP4UBHUEUgAYADtAHQoFBQgRABUVFhYIGhkRCw4GFw8JFRYbDgJGWQ4WAD8rABg%2FPz8zEjk5ERIBOTkRMxEzMxEzETMxMAEUMzI2NREzESMnIw4BIyInIx4BFREjETMBk9qSiuy3Ig0wj2iMTwQDB%2BvrAab8sdACJ%2Fuuk1NUWhyyJP7ABj4AAAAAAQBx%2FvwEdwYUAA8ALUAVAQAEBQAFCwMREAEFCAgOBQ4DS1kOAC8rABgvEjkvETMREgEXOREzETMxMAEjESMRIxEGIyImNRA2MyEEd4m%2FiT5U2Mva6AJE%2FvwGf%2FmBAzMS%2BvsBBP4AAAABAIUCOQGuA2oACwAXQAoGAAANDAMJUVkDAC8rERIBOREzMTATNDYzMhYVFAYjIiaFTEhJTE1ISEwC00lOUUZHU1IAAAEAAP4UAaoAAAARAC1AFw8MCgAABQwDExIMD0ALDkgPDw4HAhsOAC8%2FMxI5LyszERIBFzkRMxEzMTABFCEiJzUWMzI2NTQnNzMHHgEBqv7PQjc2RTY%2Fs1SYKVBa%2FvLeD4kOIS1VGaZYFV8AAAEAVAJKAhQFtgAKACJAEAAECQMBCAEMCwcJASAECR4APzM%2FEjkREgE5OREXMzEwASMRPwEOAQcnJTMCFLoDBREvdlgBGacCSgIAZ1sSLFlw0QAAAAIAPQMCAs8FxwALABcAJUASEgAMBgAGGRgPAAMQAwIDFQkEAD8zxF0yERIBOTkRMxEzMTABFAYjIiY1NDYzMhYFFBYzMjY1NCYjIgYCz6%2BdlrCxmZiw%2FhBOWFhOTlhYTgRkpL6%2Fo6m6vaZvbm5vcW1tAAAAAgBQAGgEIQPhAAYADQAlQBILCQQCAAMHAgoJBg4PCAEBDAUALzPELzIREgEXOREzETMxMAkBJwkBNwEFAScJATcBBCH%2BmagBG%2F7lqAFn%2Fj3%2BmqgBGv7mqAFmAhf%2BUWEBXAFeXv5QGv5RYQFcAV5e%2FlAAAP%2F%2FADwAAAYxBbYQJwDTAqYAABAmAHvoABEHANQDXP23AAmzAwIRGAA%2FNTUA%2F%2F8ALgAABkgFthAnANMCgwAAECYAe9oAEQcAdAOi%2FbcAB7ICEBgAPzUAAAD%2F%2FwA3AAAGaAXJECcA0wL4AAAQJwDUA5P9txEGAHUKAAAJswIBBxgAPzU1AAACADf%2BdwOWBF4AGwAnAEhAJhwiABsHExMbIgMpKAQXFwAbEBsCCwMbGxAlJR9RWSUQEApLWRAiAD8rABg%2FKxESADkYL19eXTkRMxESARc5ETMRMxEzMTABFRQGBw4BFRQWMzI2NxcGIyImNTQ%2BATc%2BAT0BExQGIyImNTQ2MzIWAotSZnw%2BbGtaqFJS3MzP6CpWcl4%2B70tKSExMSEhNAoU%2FapZQYmJLTl43JrNuv6lJcmhaTGFPLQFASk5PSUVUUf%2F%2FAAAAAAVKB3MSJgAkAAARBwBD%2F%2BQBUgAIswIZBSYAKzUAAP%2F%2FAAAAAAVKB3MSJgAkAAARBwB2AKoBUgAIswIZBSYAKzUAAP%2F%2FAAAAAAVKB3MSJgAkAAARBwDFADsBUgAIswIcBSYAKzUAAP%2F%2FAAAAAAVKB0gSJgAkAAARBwDHAC0BUgAIswIYBSYAKzUAAP%2F%2FAAAAAAVKBz4SJgAkAAARBwBqAEYBUgAKtAMCJQUmACs1Nf%2F%2FAAAAAAVKBwkSJgAkAAARBgDGVm0ACbMDAiQDAD81NQAAAAAC%2F%2F4AAAbTBbYADwATAGVANgYTExERCg4OAQgABAUFAAEMEBIFFRQKDUxZCgoBBhADTFkQEAEGBRIJEwYTTFkGAwEOTFkBEgA%2FKwAYPysRADMYPxESOS8rERIAORgvKxESARc5MxEzETMRMxI5OREzETMxMCkBESEDIwEhFSERIRUhESEBIREjBtP81f4IvPYCpgQv%2FcUCFP3sAjv7NwGeewGW%2FmoFtsr%2Bcsj%2BNQGZAoEAAP%2F%2FAHn%2BFATPBcsSJgAmAAAQBwB6Ag4AAP%2F%2FAMEAAAP8B3MSJgAoAAARBwBD%2F7cBUgAIswEVBSYAKzUAAP%2F%2FAMEAAAP8B3MSJgAoAAARBwB2AE4BUgAIswEVBSYAKzUAAP%2F%2FAMEAAAP8B3MSJgAoAAARBwDF%2F%2FkBUgAIswEYBSYAKzUAAP%2F%2FAMEAAAP8Bz4SJgAoAAARBwBqAAQBUgAKtAIBIQUmACs1Nf%2F%2F%2F%2FoAAAHgB3MSJgAsAAARBwBD%2FpABUgAIswENBSYAKzUAAP%2F%2FALMAAAKZB3MSJgAsAAARBwB2%2F0kBUgAIswENBSYAKzUAAP%2F%2F%2F7UAAAK3B3MSJgAsAAARBwDF%2FtIBUgAIswEQBSYAKzUAAP%2F%2FAAEAAAJyBz4SJgAsAAARBwBq%2FtwBUgAKtAIBGQUmACs1NQACAC8AAAVeBbYADAAYAEdAJQ0AEggWFgQABAYUBBoZFQYHBkxZEgcHBAkJEUxZCQMEFkxZBBIAPysAGD8rERIAORgvMysRADMREgEXOREzEjk5ETMxMAEQACkBESM1MxEhIAADEAIrAREhFSERMyAFXv5u%2Fob%2Bb5KSAb4BWwGE%2FPn0xQEz%2Fs2gAhIC6f6Y%2Fn8Cb8gCf%2F6H%2FqQBBAEJ%2FknI%2FloA%2F%2F8AwQAABYMHSBImADEAABEHAMcAsgFSAAizARoFJgArNQAA%2F%2F8Aef%2FsBdMHcxImADIAABEHAEMAdwFSAAizAiEFJgArNQAA%2F%2F8Aef%2FsBdMHcxImADIAABEHAHYBJwFSAAizAiEFJgArNQAA%2F%2F8Aef%2FsBdMHcxImADIAABEHAMUAugFSAAizAiQFJgArNQAA%2F%2F8Aef%2FsBdMHSBImADIAABEHAMcArgFSAAizAiAFJgArNQAA%2F%2F8Aef%2FsBdMHPhImADIAABEHAGoAywFSAAq0AwItBSYAKzU1AAEAgwEOBA4EmAALABxADwEDBQcJCwYNDC8AXwACAAAZL10REgEXOTEwCQE3CQEXCQEHCQEnAcn%2Bun0BSAFJff63AUV7%2Frf%2BvH0C0wFGf%2F66AUZ7%2Frb%2BuH0BRv66fQAAAAMAef%2B0BdMF%2FAATABsAIwBOQC0WFx4fBBQcFAAcCgAFCAoPBSUkFx4WHwQhGQ8SCAUEAw0NIUxZDQQDGUxZAxMAPysAGD8rERIAFzkREhc5ERIBFzkRMxEzERIXOTEwARAAISInByc3JhEQACEyFzcXBxYDNCcBFjMyEgEUFwEmIyICBdP%2Bm%2F651ZRejWK8AWUBS8ebWo5jw%2F5Q%2FbZhi9XZ%2FKJOAktci9fbAt3%2Bm%2F50UYlekMQBeQFqAYRSgVyMx%2F6Q4Yj8rjwBFAER54MDUjv%2B6gD%2F%2FwC0%2F%2BwFOwdzEiYAOAAAEQcAQwA3AVIACLMBGwUmACs1AAD%2F%2FwC0%2F%2BwFOwdzEiYAOAAAEQcAdgDuAVIACLMBGwUmACs1AAD%2F%2FwC0%2F%2BwFOwdzEiYAOAAAEQcAxQCLAVIACLMBHgUmACs1AAD%2F%2FwC0%2F%2BwFOwc%2BEiYAOAAAEQcAagCYAVIACrQCAScFJgArNTX%2F%2FwAAAAAEvAdzEiYAPAAAEQcAdgBYAVIACLMBEgUmACs1AAAAAgDBAAAEkQW2AAwAFQBGQCURAA0JBQUGBgAXFgkVTFkACRAJAgwDCQkGBw0ETFkNDQYHAwYSAD8%2FEjkvKxESADkYL19eXSsREgE5OREzETMzETMxMAEUBCEjESMRMxUzIAQBMzI2NTQmKwEEkf7c%2Fuuo7%2B%2FFAQwBEP0fhbusnKykAwjj9P7PBbbz4P4Vfox%2FewAAAAEAqP%2FsBQIGHwAzAEFAIiUABh8ZDiwtAA4UHy0FNTQZJRExLRUxKEZZMQARF0hZERYAPysAGD8rABg%2FERI5ORESARc5ETMRMxEzETMxMAEUBgcOARUUFh8BHgIVFAYjIic1HgEzMjU0JicuATU0Njc%2BATU0JiMiBhURIxE0JDMyBAR9TUJaNi05X1xXLNbMvm06okPARXl3aERHS0CGb3%2BG6wEB7%2BEBBATlSoUzRTocHjMmQD5fcEelrEHHJTGXPVhKSXxUP2k1N1UzSFFsaftzBJHBzagA%2F%2F8AWv%2FsBAQGIRImAEQAABEGAEOZAAAIswIwESYAKzX%2F%2FwBa%2F%2BwEBAYhEiYARAAAEQYAdkwAAAizAjARJgArNf%2F%2FAFr%2F7AQEBiESJgBEAAARBgDF6AAACLMCMxEmACs1%2F%2F8AWv%2FsBAQF9hImAEQAABEGAMfkAAAIswIvESYAKzX%2F%2FwBa%2F%2BwEBAXsEiYARAAAEQYAavUAAAq0AwI8ESYAKzU1AAD%2F%2FwBa%2F%2BwEBAacEiYARAAAEQYAxg4AAAq0AwIqESYAKzU1AAAAAwBa%2F%2BwGuARmACYAMAA3AHNAPyEPFgQtNBYWLTUVJwAAChUaLQU5OA8hJA0ELUpZBAQkDTQWSVk0NCQNETFIWQ0HSFkRDRAeGEdZJClIWR4kFgA%2FMysrABg%2FMysrERIAORgvKxESADkYLysREgA5ORESARc5ETMRMxEzETMRMxI5OTEwEzQ2PwE1NCMiByc%2BATMyFzYzMhIdASESITI3FQ4BIyImJw4BIyImNxQzMjY9AQcOAQEiBgchNCZa8%2Fm8yY2mSljRY%2FFjeOLO9P04CgEjuKxWq26M2UNewZGlu%2FSmfJCHm5ADpHCDCQHZdQE9rK0IBkzCUqYvMZub%2FvPkf%2F6wUL8pIm1ufV60m5uRf2AGBmECEYuLgpQAAP%2F%2FAGb%2BFAO0BGYSJgBGAAAQBwB6AWQAAP%2F%2FAGb%2F7AQ5BiESJgBIAAARBgBDrwAACLMCJREmACs1%2F%2F8AZv%2FsBDkGIRImAEgAABEGAHZgAAAIswIlESYAKzX%2F%2FwBm%2F%2BwEOQYhEiYASAAAEQYAxQAAAAizAigRJgArNf%2F%2FAGb%2F7AQ5BewSJgBIAAARBgBqDgAACrQDAjERJgArNTUAAP%2F%2F%2F7sAAAGhBiESJgDCAAARBwBD%2FlEAAAAIswENESYAKzUAAP%2F%2FAJwAAAKCBiESJgDCAAARBwB2%2FzIAAAAIswENESYAKzUAAP%2F%2F%2F5wAAAKeBiESJgDCAAARBwDF%2FrkAAAAIswEQESYAKzUAAP%2F%2F%2F%2BcAAAJYBewSJgDCAAARBwBq%2FsIAAAAKtAIBGREmACs1NQACAGb%2F7AR9BiEAGwAnAFBAKwwcHAAiBgAGEBMYBSkoFhkRDhAFFw8PFAwDCQkfR1kJCQMXFAEDJUdZAxYAPysAGD%2FGEjkvKxESADkSORgvEhc5ERIBFzkRMxEzETMxMAEQACMiADU0ADMyFzcmJwcnNyYnNxYXNxcHFhIDNCYjIgYVFBYzMjYEff7t%2B%2Bv%2B4gEG3NZXCD6l%2BljMVlFUjHbnWLyYn%2FCXg5eGlImUhgI3%2Fun%2BzAEQ5ecBDW8EvZyWhXc7K5I%2FUYqBcYz%2BhP7pf5aknpmitgAAAP%2F%2FAKgAAAR1BfYSJgBRAAARBgDHIQAACLMBHBEmACs1%2F%2F8AZv%2FsBH0GIRImAFIAABEGAEO7AAAIswIfESYAKzX%2F%2FwBm%2F%2BwEfQYhEiYAUgAAEQYAdm8AAAizAh8RJgArNf%2F%2FAGb%2F7AR9BiESJgBSAAARBgDFDAAACLMCIhEmACs1%2F%2F8AZv%2FsBH0F9hImAFIAABEGAMf%2FAAAIswIeESYAKzX%2F%2FwBm%2F%2BwEfQXsEiYAUgAAEQYAahIAAAq0AwIrESYAKzU1AAAAAwBgAOwEMQS2AAMADwAbADRAGhYQCgQAAwQQBB0cBw0ZEw0TAQEAUlkvAQEBAC9dKxEAMzMYLzMvMxESARc5ETMRMzEwEzUhFQE0NjMyFhUUBiMiJhE0NjMyFhUUBiMiJmAD0f2YP0A9QEQ5PEM%2FQD1ARDk8QwJ5srL%2B%2FEBHSD8%2FSkcC%2FEBHSD8%2FSkcAAAAAAwBm%2F7gEfQSLABMAGwAiAE9ALhYXHh8EHBQcABQKAAUICg8SBiQjFx4WHwQhGQ8SCAUEAw0NGUZZDRADIUZZAxYAPysAGD8rERIAFzkREhc5ERIBFzkRMxEzERIXOTEwARAAIyInByc3JhEQADMyFzcXBxYBFBcBJiMiBgU0JwEWMyAEff7q%2BJBqTIdSjgEU%2B5ByRYhOh%2FzbJQGHPFeUhQIzIf59NlYBGAIr%2FvH%2B0DltWnWbAQkBDQEuP2RcbJj%2FAIdUAi8nxLd5Uv3XIQAA%2F%2F8Anv%2FsBG0GIRImAFgAABEGAEO3AAAIswEeESYAKzX%2F%2FwCe%2F%2BwEbQYhEiYAWAAAEQcAdgCLAAAACLMBHhEmACs1AAD%2F%2FwCe%2F%2BwEbQYhEiYAWAAAEQYAxSEAAAizASERJgArNf%2F%2FAJ7%2F7ARtBewSJgBYAAARBgBqJwAACrQCASoRJgArNTUAAP%2F%2FAAD%2BFARKBiESJgBcAAARBgB2JwAACLMBHhEmACs1AAIAqP4UBJMGFAAVACEAQUAiHwYMEhUaBA8PEBAGIyIMFQkDEQAQGwMWRlkDEAkdRlkJFgA%2FKwAYPysAGD8%2FERI5ORESATk5ETMRFzMRMzEwAT4BMzISERACIyInIx8BESMRMxEPAQUiBh0BFBYzMhE0JgGTPaNqzujpzdtvDggG6%2BsHAwEZjoGAkf57A8FWT%2F7S%2FvP%2B8P7RlUhc%2FjcIAP5SihsbpLIlyrUBgb67AAD%2F%2FwAA%2FhQESgXsEiYAXAAAEQYAasoAAAq0AgEqESYAKzU1AAAAAQCoAAABkwRSAAMAFkAJAAEBBQQCDwEVAD8%2FERIBOREzMTAhIxEzAZPr6wRSAAAAAgB5%2F%2BwHGwXNABQAHwBWQC8NAA8TEx0YBgAGER0EISAPEkxZDw8BCwsOTFkLAwkVTFkJBAETTFkBEwMbTFkDEgA%2FKwAYPysAGD8rABg%2FKxESADkYLysREgEXOREzETMRMxEzMTApAQYjIAAREAAhMhchFSERIRUhESEBIgIREBIzMjcRJgcb%2FMxmbf7A%2FqUBWAE%2Fc14DOv3AAhv95QJA%2B%2F7Q1tTQgVRQFAGJAWoBaAGGF8r%2Bcsj%2BNQQ1%2Fur%2B8%2F7z%2FugjBAAlAAADAGb%2F7AdMBGYAHQApADAAb0A9DQIkLRQUJC4THgcHExokBDIxDQIECi0USFkMLRwtAhADLS0ECg8qSFkPCgonRlkKEAAXR1kABAQhRlkEFgA%2FKxEAMysAGD8rEQAzKxESADkYL19eXSsREgA5ORESARc5ETMRMxEzETMSOTkxMAUgJwYhIgAREAAzMhYXNjMyAB0BIR4BMzI2NxUOAQEUFjMyNjU0JiMiBiUiBgchNCYFnv7ni4T%2B9Oz%2B6AES9XnMQoP43QEA%2FR4LlZpmqmBUr%2FtHg5KNg4SRj4EEGW6HCwHxfhTCwgE2AQkBEAErYmDC%2FvXof6SqJSu%2FKCMCP73Cv7zAv77Mi4uGkAAAAQDjBNkD5QYhAAwAKEASCQgCAAwEBQIFDAMODQIJgAUAAC8yGs0yERIBFzkRMxEzETMzMTABJicGByM1NjchFhcVA0Z7aWd6nr8%2FAQQ%2FwQTZSWtnTRnGaW7BGQACAWAE1wM7BpwACwAWACpAFgwAEgYGABgXD3AJAQ8JHwkvCQMJFAMALzPEXV0yERIBOTkRMxEzMTABFAYjIiY1NDYzMhYHNCYjIgYVFDMyNgM7g2xsgH9taIeFPC4vPGsuPAW8Zn99ZmV9fGYyOTkyajcAAAEA7ATXA%2F4F9gAVADJAGBITBwgTCBcWEAAFCwALAAt%2FE48TAhOACAAvGsxdOTkvLxEzETMREgE5OREzETMxMAEiLgIjIgcjPgEzMh4CMzI3Mw4BAwgqUU5KIlEcegyDZitSTkkiTxt9DIIE2SMrI3OLkiMrI3OGlwAAAAABAFIBxwOuAoUAAwARtQMABQQAAQAvMxESATk5MTATNSEVUgNcAce%2BvgAAAAEAUgHHB64ChQADABG1AwAFBAABAC8zERIBOTkxMBM1IRVSB1wBx76%2BAAAAAQAZA8EBcwW2AAcAF0AJAQcHBQkIAAQDAD%2FNERIBOTkRMzEwEyc2EjczAgclDBRmNqpAJQPBFlMBGnL%2FAPUAAAEAGQPBAXMFtgAGABdACQEGBgQIBwQGAwA%2FxhESATk5ETMxMAEXBgMjEjcBZA81e6pFHwW2FtH%2B8gEh1AAAAAABAD%2F%2B%2BAGcAO4ABgAeQA8ABQUDCAcDQAZQBtAGAwYAL13NERIBOTkRMzEwJQYDIxI3MwGcMICtRSLn17r%2B2wEO6AAAAAIAGQPBAxQFtgAGAA4AIkAQBw0ABQMFCw0EEA8GDgIKAwA%2FM80yERIBFzkRMxEzMTABNhMzAgcjJTYSNzMCByMBuDV9qkUf6f5SFGY2qkAl6QPXywEU%2FtjNFlMBGnL%2FAPUAAAACABkDwQMUBbYABgANACJAEAcMAAUDBQoMBA8OCgMMBQMAPzPGMhESARc5ETMRMzEwAQYDIxI3MwUGAyMSNzMBczV7qkUf5wGwNXusRSLnBaDR%2FvIBIdQW0f7yAQ%2FmAAACACv%2B%2BAMpAO4ABgANAClAFgcMAAUDBQoMBA8OCgMMQAZQBtAGAwYAL10zzTIREgEXOREzETMxMCUGAyMSNzMFBgMjEjczAYc3eaxCJOgBsDCArEIk6NfW%2FvcBBPIXuv7bAQTyAAAAAAEAgwHRAn8EBgALABO2BgAADQwJAwAvzRESATkRMzEwEzQ2MzIWFRQGIyImg4R6eYWGeHiGAuyKkJGJh5SRAAABAFIAaAJeA%2BEABgAYQAoDBgIEBgMIBwUBAC%2FEERIBFzkRMzEwEwEXCQEHAVIBZKj%2B5gEaqP6cAjEBsF7%2Bov6kYQGvAAEAUABoAl4D4QAGABhACgMAAAIEAwgHAQUAL8QREgEXOREzMTAJAScJATcBAl7%2BmqgBGv7mqAFmAhf%2BUWEBXAFeXv5QAAAAAAH%2BdwAAAo8FtgADABpACwMABQECAgQDAwISAD8%2FEQEzETMRMzIxMAkBIwECj%2FyowANaBbb6SgW2AAAAAAIAEAJKAtUFvAAKABEAPkAgCQEBCwcEEQYABAYDExIBBQUGCQ8RHxECEREHAyAOBx4APzM%2FEjkvXTMzMxEzERIBFzkRMxEzMzMRMzEwASMVIzUhNQEzETMhNTQ3Bg8BAtV9wP54AYy8ff7DBjQklAL6sLB%2FAkP9zbJhZGg22QAAAQA%2F%2F%2BwEhQXFACYAcUBCDAMICBYfAxsFChEYGx0kBygnBh0eHVBZAw8eHx4vHr8eBAkDHhcJGBcYUFkMAxcBFAMXFxMiIgBNWSIHEw5NWRMZAD8rABg%2FKxESADkYL19eXTMrEQAzGBDGX15dMisRADMREgEXOREXMxEzMzEwASIGByEVIQcVFyEVIRIhMjcVBiMiACcjNTMnNTcjNTM2ADMyFwcmAx%2BNsx4ByP4pAgIBmP55QAEsj5aDrvH%2B0y6YiAICiJYmATLyyJ5UmgT%2BqKqaLTcnmf7IPss9AQj6mSUlQZr7AR5Yu0wAAAAAAAEAACMAAAEF0xgAAAoK8gAFACT%2FcQAFADcAKQAFADkAKQAFADoAKQAFADwAFAAFAET%2FrgAFAEb%2FhQAFAEf%2FhQAFAEj%2FhQAFAEr%2FwwAFAFD%2FwwAFAFH%2FwwAFAFL%2FhQAFAFP%2FwwAFAFT%2FhQAFAFX%2FwwAFAFb%2FwwAFAFj%2FwwAFAIL%2FcQAFAIP%2FcQAFAIT%2FcQAFAIX%2FcQAFAIb%2FcQAFAIf%2FcQAFAJ8AFAAFAKL%2FhQAFAKP%2FrgAFAKT%2FrgAFAKX%2FrgAFAKb%2FrgAFAKf%2FrgAFAKj%2FrgAFAKn%2FhQAFAKr%2FhQAFAKv%2FhQAFAKz%2FhQAFAK3%2FhQAFALT%2FhQAFALX%2FhQAFALb%2FhQAFALf%2FhQAFALj%2FhQAFALr%2FhQAFALv%2FwwAFALz%2FwwAFAL3%2FwwAFAL7%2FwwAFAMT%2FhQAKACT%2FcQAKADcAKQAKADkAKQAKADoAKQAKADwAFAAKAET%2FrgAKAEb%2FhQAKAEf%2FhQAKAEj%2FhQAKAEr%2FwwAKAFD%2FwwAKAFH%2FwwAKAFL%2FhQAKAFP%2FwwAKAFT%2FhQAKAFX%2FwwAKAFb%2FwwAKAFj%2FwwAKAIL%2FcQAKAIP%2FcQAKAIT%2FcQAKAIX%2FcQAKAIb%2FcQAKAIf%2FcQAKAJ8AFAAKAKL%2FhQAKAKP%2FrgAKAKT%2FrgAKAKX%2FrgAKAKb%2FrgAKAKf%2FrgAKAKj%2FrgAKAKn%2FhQAKAKr%2FhQAKAKv%2FhQAKAKz%2FhQAKAK3%2FhQAKALT%2FhQAKALX%2FhQAKALb%2FhQAKALf%2FhQAKALj%2FhQAKALr%2FhQAKALv%2FwwAKALz%2FwwAKAL3%2FwwAKAL7%2FwwAKAMT%2FhQALAC0AuAAPACb%2FmgAPACr%2FmgAPADL%2FmgAPADT%2FmgAPADf%2FcQAPADj%2F1wAPADn%2FhQAPADr%2FhQAPADz%2FhQAPAIn%2FmgAPAJT%2FmgAPAJX%2FmgAPAJb%2FmgAPAJf%2FmgAPAJj%2FmgAPAJr%2FmgAPAJv%2F1wAPAJz%2F1wAPAJ3%2F1wAPAJ7%2F1wAPAJ%2F%2FhQAPAMP%2FmgAQADf%2FrgARACb%2FmgARACr%2FmgARADL%2FmgARADT%2FmgARADf%2FcQARADj%2F1wARADn%2FhQARADr%2FhQARADz%2FhQARAIn%2FmgARAJT%2FmgARAJX%2FmgARAJb%2FmgARAJf%2FmgARAJj%2FmgARAJr%2FmgARAJv%2F1wARAJz%2F1wARAJ3%2F1wARAJ7%2F1wARAJ%2F%2FhQARAMP%2FmgAkAAX%2FcQAkAAr%2FcQAkACb%2F1wAkACr%2F1wAkAC0BCgAkADL%2F1wAkADT%2F1wAkADf%2FcQAkADn%2FrgAkADr%2FrgAkADz%2FhQAkAIn%2F1wAkAJT%2F1wAkAJX%2F1wAkAJb%2F1wAkAJf%2F1wAkAJj%2F1wAkAJr%2F1wAkAJ%2F%2FhQAkAMP%2F1wAkAMv%2FcQAkAM7%2FcQAlAA%2F%2FrgAlABH%2FrgAlACT%2F1wAlADf%2FwwAlADn%2F7AAlADr%2F7AAlADv%2F1wAlADz%2F7AAlAD3%2F7AAlAIL%2F1wAlAIP%2F1wAlAIT%2F1wAlAIX%2F1wAlAIb%2F1wAlAIf%2F1wAlAJ%2F%2F7AAlAMz%2FrgAlAM%2F%2FrgAmACb%2F1wAmACr%2F1wAmADL%2F1wAmADT%2F1wAmAIn%2F1wAmAJT%2F1wAmAJX%2F1wAmAJb%2F1wAmAJf%2F1wAmAJj%2F1wAmAJr%2F1wAmAMP%2F1wAnAA%2F%2FrgAnABH%2FrgAnACT%2F1wAnADf%2FwwAnADn%2F7AAnADr%2F7AAnADv%2F1wAnADz%2F7AAnAD3%2F7AAnAIL%2F1wAnAIP%2F1wAnAIT%2F1wAnAIX%2F1wAnAIb%2F1wAnAIf%2F1wAnAJ%2F%2F7AAnAMz%2FrgAnAM%2F%2FrgAoAC0AewApAA%2F%2FhQApABH%2FhQApACIAKQApACT%2F1wApAIL%2F1wApAIP%2F1wApAIT%2F1wApAIX%2F1wApAIb%2F1wApAIf%2F1wApAMz%2FhQApAM%2F%2FhQAuACb%2F1wAuACr%2F1wAuADL%2F1wAuADT%2F1wAuAIn%2F1wAuAJT%2F1wAuAJX%2F1wAuAJb%2F1wAuAJf%2F1wAuAJj%2F1wAuAJr%2F1wAuAMP%2F1wAvAAX%2FXAAvAAr%2FXAAvACb%2F1wAvACr%2F1wAvADL%2F1wAvADT%2F1wAvADf%2F1wAvADj%2F7AAvADn%2F1wAvADr%2F1wAvADz%2FwwAvAIn%2F1wAvAJT%2F1wAvAJX%2F1wAvAJb%2F1wAvAJf%2F1wAvAJj%2F1wAvAJr%2F1wAvAJv%2F7AAvAJz%2F7AAvAJ3%2F7AAvAJ7%2F7AAvAJ%2F%2FwwAvAMP%2F1wAvAMv%2FXAAvAM7%2FXAAyAA%2F%2FrgAyABH%2FrgAyACT%2F1wAyADf%2FwwAyADn%2F7AAyADr%2F7AAyADv%2F1wAyADz%2F7AAyAD3%2F7AAyAIL%2F1wAyAIP%2F1wAyAIT%2F1wAyAIX%2F1wAyAIb%2F1wAyAIf%2F1wAyAJ%2F%2F7AAyAMz%2FrgAyAM%2F%2FrgAzAA%2F%2B9gAzABH%2B9gAzACT%2FmgAzADv%2F1wAzAD3%2F7AAzAIL%2FmgAzAIP%2FmgAzAIT%2FmgAzAIX%2FmgAzAIb%2FmgAzAIf%2FmgAzAMz%2B9gAzAM%2F%2B9gA0AA%2F%2FrgA0ABH%2FrgA0ACT%2F1wA0ADf%2FwwA0ADn%2F7AA0ADr%2F7AA0ADv%2F1wA0ADz%2F7AA0AD3%2F7AA0AIL%2F1wA0AIP%2F1wA0AIT%2F1wA0AIX%2F1wA0AIb%2F1wA0AIf%2F1wA0AJ%2F%2F7AA0AMz%2FrgA0AM%2F%2FrgA3AA%2F%2FhQA3ABD%2FrgA3ABH%2FhQA3ACIAKQA3ACT%2FcQA3ACb%2F1wA3ACr%2F1wA3ADL%2F1wA3ADT%2F1wA3ADcAKQA3AET%2FXAA3AEb%2FcQA3AEf%2FcQA3AEj%2FcQA3AEr%2FcQA3AFD%2FmgA3AFH%2FmgA3AFL%2FcQA3AFP%2FmgA3AFT%2FcQA3AFX%2FmgA3AFb%2FhQA3AFj%2FmgA3AFn%2F1wA3AFr%2F1wA3AFv%2F1wA3AFz%2F1wA3AF3%2FrgA3AIL%2FcQA3AIP%2FcQA3AIT%2FcQA3AIX%2FcQA3AIb%2FcQA3AIf%2FcQA3AIn%2F1wA3AJT%2F1wA3AJX%2F1wA3AJb%2F1wA3AJf%2F1wA3AJj%2F1wA3AJr%2F1wA3AKL%2FcQA3AKP%2FXAA3AKT%2FXAA3AKX%2FXAA3AKb%2FXAA3AKf%2FXAA3AKj%2FXAA3AKn%2FcQA3AKr%2FcQA3AKv%2FcQA3AKz%2FcQA3AK3%2FcQA3ALT%2FcQA3ALX%2FcQA3ALb%2FcQA3ALf%2FcQA3ALj%2FcQA3ALr%2FcQA3ALv%2FmgA3ALz%2FmgA3AL3%2FmgA3AL7%2FmgA3AL%2F%2F1wA3AMP%2F1wA3AMT%2FcQA3AMj%2FrgA3AMn%2FrgA3AMz%2FhQA3AM%2F%2FhQA4AA%2F%2F1wA4ABH%2F1wA4ACT%2F7AA4AIL%2F7AA4AIP%2F7AA4AIT%2F7AA4AIX%2F7AA4AIb%2F7AA4AIf%2F7AA4AMz%2F1wA4AM%2F%2F1wA5AA%2F%2FmgA5ABH%2FmgA5ACIAKQA5ACT%2FrgA5ACb%2F7AA5ACr%2F7AA5ADL%2F7AA5ADT%2F7AA5AET%2F1wA5AEb%2F1wA5AEf%2F1wA5AEj%2F1wA5AEr%2F7AA5AFD%2F7AA5AFH%2F7AA5AFL%2F1wA5AFP%2F7AA5AFT%2F1wA5AFX%2F7AA5AFb%2F7AA5AFj%2F7AA5AIL%2FrgA5AIP%2FrgA5AIT%2FrgA5AIX%2FrgA5AIb%2FrgA5AIf%2FrgA5AIn%2F7AA5AJT%2F7AA5AJX%2F7AA5AJb%2F7AA5AJf%2F7AA5AJj%2F7AA5AJr%2F7AA5AKL%2F1wA5AKP%2F1wA5AKT%2F1wA5AKX%2F1wA5AKb%2F1wA5AKf%2F1wA5AKj%2F1wA5AKn%2F1wA5AKr%2F1wA5AKv%2F1wA5AKz%2F1wA5AK3%2F1wA5ALT%2F1wA5ALX%2F1wA5ALb%2F1wA5ALf%2F1wA5ALj%2F1wA5ALr%2F1wA5ALv%2F7AA5ALz%2F7AA5AL3%2F7AA5AL7%2F7AA5AMP%2F7AA5AMT%2F1wA5AMz%2FmgA5AM%2F%2FmgA6AA%2F%2FmgA6ABH%2FmgA6ACIAKQA6ACT%2FrgA6ACb%2F7AA6ACr%2F7AA6ADL%2F7AA6ADT%2F7AA6AET%2F1wA6AEb%2F1wA6AEf%2F1wA6AEj%2F1wA6AEr%2F7AA6AFD%2F7AA6AFH%2F7AA6AFL%2F1wA6AFP%2F7AA6AFT%2F1wA6AFX%2F7AA6AFb%2F7AA6AFj%2F7AA6AIL%2FrgA6AIP%2FrgA6AIT%2FrgA6AIX%2FrgA6AIb%2FrgA6AIf%2FrgA6AIn%2F7AA6AJT%2F7AA6AJX%2F7AA6AJb%2F7AA6AJf%2F7AA6AJj%2F7AA6AJr%2F7AA6AKL%2F1wA6AKP%2F1wA6AKT%2F1wA6AKX%2F1wA6AKb%2F1wA6AKf%2F1wA6AKj%2F1wA6AKn%2F1wA6AKr%2F1wA6AKv%2F1wA6AKz%2F1wA6AK3%2F1wA6ALT%2F1wA6ALX%2F1wA6ALb%2F1wA6ALf%2F1wA6ALj%2F1wA6ALr%2F1wA6ALv%2F7AA6ALz%2F7AA6AL3%2F7AA6AL7%2F7AA6AMP%2F7AA6AMT%2F1wA6AMz%2FmgA6AM%2F%2FmgA7ACb%2F1wA7ACr%2F1wA7ADL%2F1wA7ADT%2F1wA7AIn%2F1wA7AJT%2F1wA7AJX%2F1wA7AJb%2F1wA7AJf%2F1wA7AJj%2F1wA7AJr%2F1wA7AMP%2F1wA8AA%2F%2FhQA8ABH%2FhQA8ACIAKQA8ACT%2FhQA8ACb%2F1wA8ACr%2F1wA8ADL%2F1wA8ADT%2F1wA8AET%2FmgA8AEb%2FmgA8AEf%2FmgA8AEj%2FmgA8AEr%2F1wA8AFD%2FwwA8AFH%2FwwA8AFL%2FmgA8AFP%2FwwA8AFT%2FmgA8AFX%2FwwA8AFb%2FrgA8AFj%2FwwA8AF3%2F1wA8AIL%2FhQA8AIP%2FhQA8AIT%2FhQA8AIX%2FhQA8AIb%2FhQA8AIf%2FhQA8AIn%2F1wA8AJT%2F1wA8AJX%2F1wA8AJb%2F1wA8AJf%2F1wA8AJj%2F1wA8AJr%2F1wA8AKL%2FmgA8AKP%2FmgA8AKT%2FmgA8AKX%2FmgA8AKb%2FmgA8AKf%2FmgA8AKj%2FmgA8AKn%2FmgA8AKr%2FmgA8AKv%2FmgA8AKz%2FmgA8AK3%2FmgA8ALT%2FmgA8ALX%2FmgA8ALb%2FmgA8ALf%2FmgA8ALj%2FmgA8ALr%2FmgA8ALv%2FwwA8ALz%2FwwA8AL3%2FwwA8AL7%2FwwA8AMP%2F1wA8AMT%2FmgA8AMz%2FhQA8AM%2F%2FhQA9ACb%2F7AA9ACr%2F7AA9ADL%2F7AA9ADT%2F7AA9AIn%2F7AA9AJT%2F7AA9AJX%2F7AA9AJb%2F7AA9AJf%2F7AA9AJj%2F7AA9AJr%2F7AA9AMP%2F7AA%2BAC0AuABEAAX%2F7ABEAAr%2F7ABEAMv%2F7ABEAM7%2F7ABFAAX%2F7ABFAAr%2F7ABFAFn%2F1wBFAFr%2F1wBFAFv%2F1wBFAFz%2F1wBFAF3%2F7ABFAL%2F%2F1wBFAMv%2F7ABFAM7%2F7ABGAAUAKQBGAAoAKQBGAMsAKQBGAM4AKQBIAAX%2F7ABIAAr%2F7ABIAFn%2F1wBIAFr%2F1wBIAFv%2F1wBIAFz%2F1wBIAF3%2F7ABIAL%2F%2F1wBIAMv%2F7ABIAM7%2F7ABJAAUAewBJAAoAewBJAMsAewBJAM4AewBLAAX%2F7ABLAAr%2F7ABLAMv%2F7ABLAM7%2F7ABOAEb%2F1wBOAEf%2F1wBOAEj%2F1wBOAFL%2F1wBOAFT%2F1wBOAKL%2F1wBOAKn%2F1wBOAKr%2F1wBOAKv%2F1wBOAKz%2F1wBOAK3%2F1wBOALT%2F1wBOALX%2F1wBOALb%2F1wBOALf%2F1wBOALj%2F1wBOALr%2F1wBOAMT%2F1wBQAAX%2F7ABQAAr%2F7ABQAMv%2F7ABQAM7%2F7ABRAAX%2F7ABRAAr%2F7ABRAMv%2F7ABRAM7%2F7ABSAAX%2F7ABSAAr%2F7ABSAFn%2F1wBSAFr%2F1wBSAFv%2F1wBSAFz%2F1wBSAF3%2F7ABSAL%2F%2F1wBSAMv%2F7ABSAM7%2F7ABTAAX%2F7ABTAAr%2F7ABTAFn%2F1wBTAFr%2F1wBTAFv%2F1wBTAFz%2F1wBTAF3%2F7ABTAL%2F%2F1wBTAMv%2F7ABTAM7%2F7ABVAAUAUgBVAAoAUgBVAET%2F1wBVAEb%2F1wBVAEf%2F1wBVAEj%2F1wBVAEr%2F7ABVAFL%2F1wBVAFT%2F1wBVAKL%2F1wBVAKP%2F1wBVAKT%2F1wBVAKX%2F1wBVAKb%2F1wBVAKf%2F1wBVAKj%2F1wBVAKn%2F1wBVAKr%2F1wBVAKv%2F1wBVAKz%2F1wBVAK3%2F1wBVALT%2F1wBVALX%2F1wBVALb%2F1wBVALf%2F1wBVALj%2F1wBVALr%2F1wBVAMT%2F1wBVAMsAUgBVAM4AUgBXAAUAKQBXAAoAKQBXAMsAKQBXAM4AKQBZAAUAUgBZAAoAUgBZAA%2F%2FrgBZABH%2FrgBZACIAKQBZAMsAUgBZAMz%2FrgBZAM4AUgBZAM%2F%2FrgBaAAUAUgBaAAoAUgBaAA%2F%2FrgBaABH%2FrgBaACIAKQBaAMsAUgBaAMz%2FrgBaAM4AUgBaAM%2F%2FrgBbAEb%2F1wBbAEf%2F1wBbAEj%2F1wBbAFL%2F1wBbAFT%2F1wBbAKL%2F1wBbAKn%2F1wBbAKr%2F1wBbAKv%2F1wBbAKz%2F1wBbAK3%2F1wBbALT%2F1wBbALX%2F1wBbALb%2F1wBbALf%2F1wBbALj%2F1wBbALr%2F1wBbAMT%2F1wBcAAUAUgBcAAoAUgBcAA%2F%2FrgBcABH%2FrgBcACIAKQBcAMsAUgBcAMz%2FrgBcAM4AUgBcAM%2F%2FrgBeAC0AuACCAAX%2FcQCCAAr%2FcQCCACb%2F1wCCACr%2F1wCCAC0BCgCCADL%2F1wCCADT%2F1wCCADf%2FcQCCADn%2FrgCCADr%2FrgCCADz%2FhQCCAIn%2F1wCCAJT%2F1wCCAJX%2F1wCCAJb%2F1wCCAJf%2F1wCCAJj%2F1wCCAJr%2F1wCCAJ%2F%2FhQCCAMP%2F1wCCAMv%2FcQCCAM7%2FcQCDAAX%2FcQCDAAr%2FcQCDACb%2F1wCDACr%2F1wCDAC0BCgCDADL%2F1wCDADT%2F1wCDADf%2FcQCDADn%2FrgCDADr%2FrgCDADz%2FhQCDAIn%2F1wCDAJT%2F1wCDAJX%2F1wCDAJb%2F1wCDAJf%2F1wCDAJj%2F1wCDAJr%2F1wCDAJ%2F%2FhQCDAMP%2F1wCDAMv%2FcQCDAM7%2FcQCEAAX%2FcQCEAAr%2FcQCEACb%2F1wCEACr%2F1wCEAC0BCgCEADL%2F1wCEADT%2F1wCEADf%2FcQCEADn%2FrgCEADr%2FrgCEADz%2FhQCEAIn%2F1wCEAJT%2F1wCEAJX%2F1wCEAJb%2F1wCEAJf%2F1wCEAJj%2F1wCEAJr%2F1wCEAJ%2F%2FhQCEAMP%2F1wCEAMv%2FcQCEAM7%2FcQCFAAX%2FcQCFAAr%2FcQCFACb%2F1wCFACr%2F1wCFAC0BCgCFADL%2F1wCFADT%2F1wCFADf%2FcQCFADn%2FrgCFADr%2FrgCFADz%2FhQCFAIn%2F1wCFAJT%2F1wCFAJX%2F1wCFAJb%2F1wCFAJf%2F1wCFAJj%2F1wCFAJr%2F1wCFAJ%2F%2FhQCFAMP%2F1wCFAMv%2FcQCFAM7%2FcQCGAAX%2FcQCGAAr%2FcQCGACb%2F1wCGACr%2F1wCGAC0BCgCGADL%2F1wCGADT%2F1wCGADf%2FcQCGADn%2FrgCGADr%2FrgCGADz%2FhQCGAIn%2F1wCGAJT%2F1wCGAJX%2F1wCGAJb%2F1wCGAJf%2F1wCGAJj%2F1wCGAJr%2F1wCGAJ%2F%2FhQCGAMP%2F1wCGAMv%2FcQCGAM7%2FcQCHAAX%2FcQCHAAr%2FcQCHACb%2F1wCHACr%2F1wCHAC0BCgCHADL%2F1wCHADT%2F1wCHADf%2FcQCHADn%2FrgCHADr%2FrgCHADz%2FhQCHAIn%2F1wCHAJT%2F1wCHAJX%2F1wCHAJb%2F1wCHAJf%2F1wCHAJj%2F1wCHAJr%2F1wCHAJ%2F%2FhQCHAMP%2F1wCHAMv%2FcQCHAM7%2FcQCIAC0AewCJACb%2F1wCJACr%2F1wCJADL%2F1wCJADT%2F1wCJAIn%2F1wCJAJT%2F1wCJAJX%2F1wCJAJb%2F1wCJAJf%2F1wCJAJj%2F1wCJAJr%2F1wCJAMP%2F1wCKAC0AewCLAC0AewCMAC0AewCNAC0AewCSAA%2F%2FrgCSABH%2FrgCSACT%2F1wCSADf%2FwwCSADn%2F7ACSADr%2F7ACSADv%2F1wCSADz%2F7ACSAD3%2F7ACSAIL%2F1wCSAIP%2F1wCSAIT%2F1wCSAIX%2F1wCSAIb%2F1wCSAIf%2F1wCSAJ%2F%2F7ACSAMz%2FrgCSAM%2F%2FrgCUAA%2F%2FrgCUABH%2FrgCUACT%2F1wCUADf%2FwwCUADn%2F7ACUADr%2F7ACUADv%2F1wCUADz%2F7ACUAD3%2F7ACUAIL%2F1wCUAIP%2F1wCUAIT%2F1wCUAIX%2F1wCUAIb%2F1wCUAIf%2F1wCUAJ%2F%2F7ACUAMz%2FrgCUAM%2F%2FrgCVAA%2F%2FrgCVABH%2FrgCVACT%2F1wCVADf%2FwwCVADn%2F7ACVADr%2F7ACVADv%2F1wCVADz%2F7ACVAD3%2F7ACVAIL%2F1wCVAIP%2F1wCVAIT%2F1wCVAIX%2F1wCVAIb%2F1wCVAIf%2F1wCVAJ%2F%2F7ACVAMz%2FrgCVAM%2F%2FrgCWAA%2F%2FrgCWABH%2FrgCWACT%2F1wCWADf%2FwwCWADn%2F7ACWADr%2F7ACWADv%2F1wCWADz%2F7ACWAD3%2F7ACWAIL%2F1wCWAIP%2F1wCWAIT%2F1wCWAIX%2F1wCWAIb%2F1wCWAIf%2F1wCWAJ%2F%2F7ACWAMz%2FrgCWAM%2F%2FrgCXAA%2F%2FrgCXABH%2FrgCXACT%2F1wCXADf%2FwwCXADn%2F7ACXADr%2F7ACXADv%2F1wCXADz%2F7ACXAD3%2F7ACXAIL%2F1wCXAIP%2F1wCXAIT%2F1wCXAIX%2F1wCXAIb%2F1wCXAIf%2F1wCXAJ%2F%2F7ACXAMz%2FrgCXAM%2F%2FrgCYAA%2F%2FrgCYABH%2FrgCYACT%2F1wCYADf%2FwwCYADn%2F7ACYADr%2F7ACYADv%2F1wCYADz%2F7ACYAD3%2F7ACYAIL%2F1wCYAIP%2F1wCYAIT%2F1wCYAIX%2F1wCYAIb%2F1wCYAIf%2F1wCYAJ%2F%2F7ACYAMz%2FrgCYAM%2F%2FrgCaAA%2F%2FrgCaABH%2FrgCaACT%2F1wCaADf%2FwwCaADn%2F7ACaADr%2F7ACaADv%2F1wCaADz%2F7ACaAD3%2F7ACaAIL%2F1wCaAIP%2F1wCaAIT%2F1wCaAIX%2F1wCaAIb%2F1wCaAIf%2F1wCaAJ%2F%2F7ACaAMz%2FrgCaAM%2F%2FrgCbAA%2F%2F1wCbABH%2F1wCbACT%2F7ACbAIL%2F7ACbAIP%2F7ACbAIT%2F7ACbAIX%2F7ACbAIb%2F7ACbAIf%2F7ACbAMz%2F1wCbAM%2F%2F1wCcAA%2F%2F1wCcABH%2F1wCcACT%2F7ACcAIL%2F7ACcAIP%2F7ACcAIT%2F7ACcAIX%2F7ACcAIb%2F7ACcAIf%2F7ACcAMz%2F1wCcAM%2F%2F1wCdAA%2F%2F1wCdABH%2F1wCdACT%2F7ACdAIL%2F7ACdAIP%2F7ACdAIT%2F7ACdAIX%2F7ACdAIb%2F7ACdAIf%2F7ACdAMz%2F1wCdAM%2F%2F1wCeAA%2F%2F1wCeABH%2F1wCeACT%2F7ACeAIL%2F7ACeAIP%2F7ACeAIT%2F7ACeAIX%2F7ACeAIb%2F7ACeAIf%2F7ACeAMz%2F1wCeAM%2F%2F1wCfAA%2F%2FhQCfABH%2FhQCfACIAKQCfACT%2FhQCfACb%2F1wCfACr%2F1wCfADL%2F1wCfADT%2F1wCfAET%2FmgCfAEb%2FmgCfAEf%2FmgCfAEj%2FmgCfAEr%2F1wCfAFD%2FwwCfAFH%2FwwCfAFL%2FmgCfAFP%2FwwCfAFT%2FmgCfAFX%2FwwCfAFb%2FrgCfAFj%2FwwCfAF3%2F1wCfAIL%2FhQCfAIP%2FhQCfAIT%2FhQCfAIX%2FhQCfAIb%2FhQCfAIf%2FhQCfAIn%2F1wCfAJT%2F1wCfAJX%2F1wCfAJb%2F1wCfAJf%2F1wCfAJj%2F1wCfAJr%2F1wCfAKL%2FmgCfAKP%2FmgCfAKT%2FmgCfAKX%2FmgCfAKb%2FmgCfAKf%2FmgCfAKj%2FmgCfAKn%2FmgCfAKr%2FmgCfAKv%2FmgCfAKz%2FmgCfAK3%2FmgCfALT%2FmgCfALX%2FmgCfALb%2FmgCfALf%2FmgCfALj%2FmgCfALr%2FmgCfALv%2FwwCfALz%2FwwCfAL3%2FwwCfAL7%2FwwCfAMP%2F1wCfAMT%2FmgCfAMz%2FhQCfAM%2F%2FhQCgAA%2F%2B9gCgABH%2B9gCgACT%2FmgCgADv%2F1wCgAD3%2F7ACgAIL%2FmgCgAIP%2FmgCgAIT%2FmgCgAIX%2FmgCgAIb%2FmgCgAIf%2FmgCgAMz%2B9gCgAM%2F%2B9gCiAAX%2F7ACiAAr%2F7ACiAMv%2F7ACiAM7%2F7ACjAAX%2F7ACjAAr%2F7ACjAMv%2F7ACjAM7%2F7ACkAAX%2F7ACkAAr%2F7ACkAMv%2F7ACkAM7%2F7AClAAX%2F7AClAAr%2F7AClAMv%2F7AClAM7%2F7ACmAAX%2F7ACmAAr%2F7ACmAMv%2F7ACmAM7%2F7ACnAAX%2F7ACnAAr%2F7ACnAMv%2F7ACnAM7%2F7ACqAAX%2F7ACqAAr%2F7ACqAFn%2F1wCqAFr%2F1wCqAFv%2F1wCqAFz%2F1wCqAF3%2F7ACqAL%2F%2F1wCqAMv%2F7ACqAM7%2F7ACrAAX%2F7ACrAAr%2F7ACrAFn%2F1wCrAFr%2F1wCrAFv%2F1wCrAFz%2F1wCrAF3%2F7ACrAL%2F%2F1wCrAMv%2F7ACrAM7%2F7ACsAAX%2F7ACsAAr%2F7ACsAFn%2F1wCsAFr%2F1wCsAFv%2F1wCsAFz%2F1wCsAF3%2F7ACsAL%2F%2F1wCsAMv%2F7ACsAM7%2F7ACtAAX%2F7ACtAAr%2F7ACtAFn%2F1wCtAFr%2F1wCtAFv%2F1wCtAFz%2F1wCtAF3%2F7ACtAL%2F%2F1wCtAMv%2F7ACtAM7%2F7ACyAAX%2F7ACyAAr%2F7ACyAFn%2F1wCyAFr%2F1wCyAFv%2F1wCyAFz%2F1wCyAF3%2F7ACyAL%2F%2F1wCyAMv%2F7ACyAM7%2F7AC0AAX%2F7AC0AAr%2F7AC0AFn%2F1wC0AFr%2F1wC0AFv%2F1wC0AFz%2F1wC0AF3%2F7AC0AL%2F%2F1wC0AMv%2F7AC0AM7%2F7AC1AAX%2F7AC1AAr%2F7AC1AFn%2F1wC1AFr%2F1wC1AFv%2F1wC1AFz%2F1wC1AF3%2F7AC1AL%2F%2F1wC1AMv%2F7AC1AM7%2F7AC2AAX%2F7AC2AAr%2F7AC2AFn%2F1wC2AFr%2F1wC2AFv%2F1wC2AFz%2F1wC2AF3%2F7AC2AL%2F%2F1wC2AMv%2F7AC2AM7%2F7AC4AAX%2F1wC4AAr%2F1wC4AMv%2F1wC4AM7%2F1wC6AAX%2F7AC6AAr%2F7AC6AFn%2F1wC6AFr%2F1wC6AFv%2F1wC6AFz%2F1wC6AF3%2F7AC6AL%2F%2F1wC6AMv%2F7AC6AM7%2F7AC%2FAAUAUgC%2FAAoAUgC%2FAA%2F%2FrgC%2FABH%2FrgC%2FACIAKQC%2FAMsAUgC%2FAMz%2FrgC%2FAM4AUgC%2FAM%2F%2FrgDAAAX%2F7ADAAAr%2F7ADAAFn%2F1wDAAFr%2F1wDAAFv%2F1wDAAFz%2F1wDAAF3%2F7ADAAL%2F%2F1wDAAMv%2F7ADAAM7%2F7ADBAAUAUgDBAAoAUgDBAA%2F%2FrgDBABH%2FrgDBACIAKQDBAMsAUgDBAMz%2FrgDBAM4AUgDBAM%2F%2FrgDDAC0AewDIADf%2FrgDJADf%2FrgDKACT%2FcQDKADcAKQDKADkAKQDKADoAKQDKADwAFADKAET%2FrgDKAEb%2FhQDKAEf%2FhQDKAEj%2FhQDKAEr%2FwwDKAFD%2FwwDKAFH%2FwwDKAFL%2FhQDKAFP%2FwwDKAFT%2FhQDKAFX%2FwwDKAFb%2FwwDKAFj%2FwwDKAIL%2FcQDKAIP%2FcQDKAIT%2FcQDKAIX%2FcQDKAIb%2FcQDKAIf%2FcQDKAJ8AFADKAKL%2FhQDKAKP%2FrgDKAKT%2FrgDKAKX%2FrgDKAKb%2FrgDKAKf%2FrgDKAKj%2FrgDKAKn%2FhQDKAKr%2FhQDKAKv%2FhQDKAKz%2FhQDKAK3%2FhQDKALT%2FhQDKALX%2FhQDKALb%2FhQDKALf%2FhQDKALj%2FhQDKALr%2FhQDKALv%2FwwDKALz%2FwwDKAL3%2FwwDKAL7%2FwwDKAMT%2FhQDLACT%2FcQDLADcAKQDLADkAKQDLADoAKQDLADwAFADLAET%2FrgDLAEb%2FhQDLAEf%2FhQDLAEj%2FhQDLAEr%2FwwDLAFD%2FwwDLAFH%2FwwDLAFL%2FhQDLAFP%2FwwDLAFT%2FhQDLAFX%2FwwDLAFb%2FwwDLAFj%2FwwDLAIL%2FcQDLAIP%2FcQDLAIT%2FcQDLAIX%2FcQDLAIb%2FcQDLAIf%2FcQDLAJ8AFADLAKL%2FhQDLAKP%2FrgDLAKT%2FrgDLAKX%2FrgDLAKb%2FrgDLAKf%2FrgDLAKj%2FrgDLAKn%2FhQDLAKr%2FhQDLAKv%2FhQDLAKz%2FhQDLAK3%2FhQDLALT%2FhQDLALX%2FhQDLALb%2FhQDLALf%2FhQDLALj%2FhQDLALr%2FhQDLALv%2FwwDLALz%2FwwDLAL3%2FwwDLAL7%2FwwDLAMT%2FhQDMACb%2FmgDMACr%2FmgDMADL%2FmgDMADT%2FmgDMADf%2FcQDMADj%2F1wDMADn%2FhQDMADr%2FhQDMADz%2FhQDMAIn%2FmgDMAJT%2FmgDMAJX%2FmgDMAJb%2FmgDMAJf%2FmgDMAJj%2FmgDMAJr%2FmgDMAJv%2F1wDMAJz%2F1wDMAJ3%2F1wDMAJ7%2F1wDMAJ%2F%2FhQDMAMP%2FmgDNACT%2FcQDNADcAKQDNADkAKQDNADoAKQDNADwAFADNAET%2FrgDNAEb%2FhQDNAEf%2FhQDNAEj%2FhQDNAEr%2FwwDNAFD%2FwwDNAFH%2FwwDNAFL%2FhQDNAFP%2FwwDNAFT%2FhQDNAFX%2FwwDNAFb%2FwwDNAFj%2FwwDNAIL%2FcQDNAIP%2FcQDNAIT%2FcQDNAIX%2FcQDNAIb%2FcQDNAIf%2FcQDNAJ8AFADNAKL%2FhQDNAKP%2FrgDNAKT%2FrgDNAKX%2FrgDNAKb%2FrgDNAKf%2FrgDNAKj%2FrgDNAKn%2FhQDNAKr%2FhQDNAKv%2FhQDNAKz%2FhQDNAK3%2FhQDNALT%2FhQDNALX%2FhQDNALb%2FhQDNALf%2FhQDNALj%2FhQDNALr%2FhQDNALv%2FwwDNALz%2FwwDNAL3%2FwwDNAL7%2FwwDNAMT%2FhQDPACb%2FmgDPACr%2FmgDPADL%2FmgDPADT%2FmgDPADf%2FcQDPADj%2F1wDPADn%2FhQDPADr%2FhQDPADz%2FhQDPAIn%2FmgDPAJT%2FmgDPAJX%2FmgDPAJb%2FmgDPAJf%2FmgDPAJj%2FmgDPAJr%2FmgDPAJv%2F1wDPAJz%2F1wDPAJ3%2F1wDPAJ7%2F1wDPAJ%2F%2FhQDPAMP%2FmgAAAB4BbgABAAAAAAAAADQAagABAAAAAAABABIAxQABAAAAAAACAAcA6AABAAAAAAADACcBQAABAAAAAAAEABIBjgABAAAAAAAFAAwBuwABAAAAAAAGABEB7AABAAAAAAAHAFICpAABAAAAAAAIABQDIQABAAAAAAALABwDcAABAAAAAAAMAC4D6wABAAAAAAANAC4EeAABAAAAAAAOACoE%2FQABAAAAAAAQAAkFPAABAAAAAAARAAgFWAADAAEECQAAAGgAAAADAAEECQABACQAnwADAAEECQACAA4A2AADAAEECQADAE4A8AADAAEECQAEACQBaAADAAEECQAFABgBoQADAAEECQAGACIByAADAAEECQAHAKQB%2FgADAAEECQAIACgC9wADAAEECQALADgDNgADAAEECQAMAFwDjQADAAEECQANAFwEGgADAAEECQAOAFQEpwADAAEECQAQABIFKAADAAEECQARABAFRgBEAGkAZwBpAHQAaQB6AGUAZAAgAGQAYQB0AGEAIABjAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQAxACwAIABHAG8AbwBnAGwAZQAgAEMAbwByAHAAbwByAGEAdABpAG8AbgAuAABEaWdpdGl6ZWQgZGF0YSBjb3B5cmlnaHQgqSAyMDExLCBHb29nbGUgQ29ycG9yYXRpb24uAABPAHAAZQBuACAAUwBhAG4AcwAgAFMAZQBtAGkAYgBvAGwAZAAAT3BlbiBTYW5zIFNlbWlib2xkAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABBAHMAYwBlAG4AZABlAHIAIAAtACAATwBwAGUAbgAgAFMAYQBuAHMAIABTAGUAbQBpAGIAbwBsAGQAIABCAHUAaQBsAGQAIAAxADAAMAAAQXNjZW5kZXIgLSBPcGVuIFNhbnMgU2VtaWJvbGQgQnVpbGQgMTAwAABPAHAAZQBuACAAUwBhAG4AcwAgAFMAZQBtAGkAYgBvAGwAZAAAT3BlbiBTYW5zIFNlbWlib2xkAABWAGUAcgBzAGkAbwBuACAAMQAuADEAMAAAVmVyc2lvbiAxLjEwAABPAHAAZQBuAFMAYQBuAHMALQBTAGUAbQBpAGIAbwBsAGQAAE9wZW5TYW5zLVNlbWlib2xkAABPAHAAZQBuACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEcAbwBvAGcAbABlACAAYQBuAGQAIABtAGEAeQAgAGIAZQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQAIABpAG4AIABjAGUAcgB0AGEAaQBuACAAagB1AHIAaQBzAGQAaQBjAHQAaQBvAG4AcwAuAABPcGVuIFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgR29vZ2xlIGFuZCBtYXkgYmUgcmVnaXN0ZXJlZCBpbiBjZXJ0YWluIGp1cmlzZGljdGlvbnMuAABBAHMAYwBlAG4AZABlAHIAIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4AAEFzY2VuZGVyIENvcnBvcmF0aW9uAABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAABodHRwOi8vd3d3LmFzY2VuZGVyY29ycC5jb20vAABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAHQAeQBwAGUAZABlAHMAaQBnAG4AZQByAHMALgBoAHQAbQBsAABodHRwOi8vd3d3LmFzY2VuZGVyY29ycC5jb20vdHlwZWRlc2lnbmVycy5odG1sAABMAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAEEAcABhAGMAaABlACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADIALgAwAABMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wAABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBwAGEAYwBoAGUALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAEwASQBDAEUATgBTAEUALQAyAC4AMAAAaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wAABPAHAAZQBuACAAUwBhAG4AcwAAT3BlbiBTYW5zAABTAGUAbQBpAGIAbwBsAGQAAFNlbWlib2xkAAAAAgAAAAAAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADWAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA%2BAD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCsAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQIAigEDAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB%2BAIAAgQDsAO4AugDXALAAsQDYAN0A2QCyALMAtgC3AMQAtAC1AMUAhwC%2BAL8AvAEEAQUHdW5pMDBBRAlvdmVyc2NvcmUMZm91cnN1cGVyaW9yBEV1cm8AAAABAAIACAAK%2F%2F8ADwAAAAEAAAAAyYlvMQAAAADJTOp9AAAAAMnt2GI%3D%29%20format%28%27truetype%27%29%3B%0A%7D%0A%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%3B%0Afont%2Dstyle%3A%20italic%3B%0Afont%2Dweight%3A%20400%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAQAQAABAAARkZUTVzakEwAAIZUAAAAHE9TLzKhTLaOAAABiAAAAGBjbWFwjOjcmQAABUAAAAGyY3Z0IA7AFxkAAA%2B0AAAAoGZwZ21%2BYbYRAAAG9AAAB7RnYXNwABUAIwAAhkQAAAAQZ2x5Zr%2FLVRcAABIEAABJAGhlYWT4qxTOAAABDAAAADZoaGVhDj8E%2FgAAAUQAAAAkaG10eGTdQjIAAAHoAAADWGtlcm4Mlg8JAABbBAAAIwRsb2NhW7BKSgAAEFQAAAGubWF4cAJdAPoAAAFoAAAAIG5hbWVqCPoKAAB%2BCAAABkVwb3N0gmzp1QAAhFAAAAHycHJlcFSBlpMAAA6oAAABCQABAAAAARmacz8BIV8PPPUAHwgAAAAAAMnt2FoAAAAAye3YWv4Z%2FhAHgQdzAAIACAACAAAAAAAAAAEAAAiN%2FagAAAgA%2Fhn%2BHAeBAGQAFQAAAAAAAAAAAAAAAADWAAEAAADWAEQABQA5AAQAAgAQAC8AXAAAAQ4ASwADAAEAAwQPAZAABQAIBZoFMwAAAR8FmgUzAAAD0QBmAgAAAAILBgYDBQQCAgTgAALvQAAgWwAAACgAAAAAMUFTQwABACAgrAYf%2FhQAhAiNAlggAAGfAAAAAARIBbYAAAAgAAEIAAAAAAAAAAQUAAACFAAAAhIAKwMXAOEFKwA%2FBGgASAZYAKgFXABCAbwA4QJIAFICSP9gBGoA1wRoAH8B7P%2BcAn8ANwIGACsCzf%2BiBGgAeQRoAS8EaAAMBGgALwRoABAEaABQBGgAhQRoAK4EaABgBGgAYgIGACsCBv%2BcBGgAeQRoAH8EaAB5A2oAngbHAG8Ecf%2BLBMkAVgSuAJYFVABWBBcAVgPHAFYFagCWBW0AVgIvAFYCI%2F7BBHUAVgPLAFYGsgBUBZ4AVAXDAJYEhwBWBcMAlgSNAFYEBAAnA%2FwAugVoAKQEYgC8BtEA3wQn%2F5gEBgC8BD%2F%2F8AJK%2F%2FACzQDdAkr%2FagQjADUDJ%2F9EBG8CPwSFAGIEngA7A5oAYgSeAGID8gBiAoH%2FGwQC%2F4EEngA7AggAOwII%2Fv4D5wA5AggAOQb6ADsEngA7BH0AYgSe%2F9UEngBiAysAOwNtAAgCmABaBJ4AcQOyAGIFvAB1A9P%2FtgOy%2FzsDjf%2FjAssAGwRoAh0Cy%2F%2B2BGgAcwIUAAACEv%2FyBGgA4QRo%2F%2BkEaACoBGgAfwRoAh0D4wA7BG8ByQaoAIsCrgCqA74AWARoAH8CfwA3BqgAiwMOAOMDbQDXBGgAfwLNAGACzQB3BG8CFASq%2F9UFPQDHAgYAqgGk%2F1YCzQECArAAqAO%2BABcF7gB7Be4AQgYdAFcDav%2F8BHH%2FiwRx%2F4sEcf%2BLBHH%2FiwRx%2F4sEcf%2BLBon%2FiQSuAJYEFwBWBBcAVgQXAFYEFwBWAi8AVgIvAFYCLwBWAi8AVgVUAEgFngBUBcMAlgXDAJYFwwCWBcMAlgXDAJYEaACoBcMAdwVoAKQFaACkBWgApAVoAKQEBgC8BIcAVgSe%2FwAEhQBiBIUAYgSFAGIEhQBiBIUAYgSFAGIGhQBiA5oAYgPyAGID8gBiA%2FIAYgPyAGICCAA7AggAOwIIADsCCAA7BI0AWgSeADsEfQBiBH0AYgR9AGIEfQBiBH0AYgRoAH8EfQA9BJ4AcQSeAHEEngBxBJ4AcQOy%2FzsEnv%2FVA7L%2FOwIIADsG1wCWBukAYgRvAY8EngInBG8BUAPXADcHrgA3AVwAewFcAH0B7P%2BcAs8AewLPAH0DWv%2BcAwYAxwJEAFgCRAAXAQz%2BGQLNAFwEaAA%2FAAAAAwAAAAMAAAAcAAEAAAAAAKwAAwABAAAAHAAEAJAAAAAgACAABAAAAH4A%2FwExAVMCxgLaAtwgFCAaIB4gIiA6IEQgdCCs%2F%2F8AAAAgAKABMQFSAsYC2gLcIBMgGCAcICIgOSBEIHQgrP%2F%2F%2F%2BP%2Fwv%2BR%2F3H9%2F%2F3s%2FevgteCy4LHgruCY4I%2FgYOApAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0%2BP0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAhoeJi5OYnqOipKalp6mrqqytr66wsbO1tLa4t7y7vb4AcmRladB4oXBrAHZqAIiaAHMAAGd3AAAAAABsfACouoFjbgAAAABtfQBigoWXw8TIyc3Oysu5AMEA09XR0gAAAHnMzwCEjIONio%2BQkY6VlgCUnJ2bwsXHcQAAxnoAAAAAAEBHW1pZWFVUU1JRUE9OTUxLSklIR0ZFRENCQUA%2FPj08Ozo5ODc2NTEwLy4tLCgnJiUkIyIhHxgUERAPDg0LCgkIBwYFBAMCAQAsILABYEWwAyUgEUZhI0UjYUgtLCBFGGhELSxFI0ZgsCBhILBGYLAEJiNISC0sRSNGI2GwIGAgsCZhsCBhsAQmI0hILSxFI0ZgsEBhILBmYLAEJiNISC0sRSNGI2GwQGAgsCZhsEBhsAQmI0hILSwBECA8ADwtLCBFIyCwzUQjILgBWlFYIyCwjUQjWSCw7VFYIyCwTUQjWSCwBCZRWCMgsA1EI1khIS0sICBFGGhEILABYCBFsEZ2aIpFYEQtLAGxCwpDI0NlCi0sALEKC0MjQwstLACwKCNwsQEoPgGwKCNwsQIoRTqxAgAIDS0sIEWwAyVFYWSwUFFYRUQbISFZLSxJsA4jRC0sIEWwAENgRC0sAbAGQ7AHQ2UKLSwgabBAYbAAiyCxLMCKjLgQAGJgKwxkI2RhXFiwA2FZLSyKA0WKioewESuwKSNEsCl65BgtLEVlsCwjREWwKyNELSxLUlhFRBshIVktLEtRWEVEGyEhWS0sAbAFJRAjIIr1ALABYCPt7C0sAbAFJRAjIIr1ALABYSPt7C0sAbAGJRD1AO3sLSywAkOwAVJYISEhISEbRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F7qLG7BGjFmwEGBoATpZLSwgRbADJUZSS7ATUVtYsAIlRiBoYbADJbADJT8jITgbIRFZLSwgRbADJUZQWLACJUYgaGGwAyWwAyU%2FIyE4GyERWS0sALAHQ7AGQwstLCEhDGQjZIu4QABiLSwhsIBRWAxkI2SLuCAAYhuyAEAvK1mwAmAtLCGwwFFYDGQjZIu4FVViG7IAgC8rWbACYC0sDGQjZIu4QABiYCMhLSxLU1iKsAQlSWQjRWmwQIthsIBisCBharAOI0QjELAO9hshI4oSESA5L1ktLEtTWCCwAyVJZGkgsAUmsAYlSWQjYbCAYrAgYWqwDiNEsAQmELAO9ooQsA4jRLAO9rAOI0SwDu0birAEJhESIDkjIDkvL1ktLEUjRWAjRWAjRWAjdmgYsIBiIC0ssEgrLSwgRbAAVFiwQEQgRbBAYUQbISFZLSxFsTAvRSNFYWCwAWBpRC0sS1FYsC8jcLAUI0IbISFZLSxLUVggsAMlRWlTWEQbISFZGyEhWS0sRbAUQ7AAYGOwAWBpRC0ssC9FRC0sRSMgRYpgRC0sRSNFYEQtLEsjUVi5ADP%2F4LE0IBuzMwA0AFlERC0ssBZDWLADJkWKWGRmsB9gG2SwIGBmIFgbIbBAWbABYVkjWGVZsCkjRCMQsCngGyEhISEhWS0ssAJDVFhLUyNLUVpYOBshIVkbISEhIVktLLAWQ1iwBCVFZLAgYGYgWBshsEBZsAFhI1gbZVmwKSNEsAUlsAglCCBYAhsDWbAEJRCwBSUgRrAEJSNCPLAEJbAHJQiwByUQsAYlIEawBCWwAWAjQjwgWAEbAFmwBCUQsAUlsCngsCkgRWVEsAclELAGJbAp4LAFJbAIJQggWAIbA1mwBSWwAyVDSLAEJbAHJQiwBiWwAyWwAWBDSBshWSEhISEhISEtLAKwBCUgIEawBCUjQrAFJQiwAyVFSCEhISEtLAKwAyUgsAQlCLACJUNIISEhLSxFIyBFGCCwAFAgWCNlI1kjaCCwQFBYIbBAWSNYZVmKYEQtLEtTI0tRWlggRYpgRBshIVktLEtUWCBFimBEGyEhWS0sS1MjS1FaWDgbISFZLSywACFLVFg4GyEhWS0ssAJDVFiwRisbISEhIVktLLACQ1RYsEcrGyEhIVktLLACQ1RYsEgrGyEhISFZLSywAkNUWLBJKxshISFZLSwgiggjS1OKS1FaWCM4GyEhWS0sALACJUmwAFNYILBAOBEbIVktLAFGI0ZgI0ZhIyAQIEaKYbj%2FgGKKsUBAinBFYGg6LSwgiiNJZIojU1g8GyFZLSxLUlh9G3pZLSywEgBLAUtUQi0ssQIAQrEjAYhRsUABiFNaWLkQAAAgiFRYsgIBAkNgQlmxJAGIUVi5IAAAQIhUWLICAgJDYEKxJAGIVFiyAiACQ2BCAEsBS1JYsgIIAkNgQlkbuUAAAICIVFiyAgQCQ2BCWblAAACAY7gBAIhUWLICCAJDYEJZuUAAAQBjuAIAiFRYsgIQAkNgQlmxJgGIUVi5QAACAGO4BACIVFiyAkACQ2BCWblAAAQAY7gIAIhUWLICgAJDYEJZWVlZWVmxAAJDVFhACgVACEAJQAwCDQIbsQECQ1RYsgVACLoBAAAJAQCzDAENARuxgAJDUliyBUAIuAGAsQlAG7IFQAi6AYAACQFAWblAAACAiFW5QAACAGO4BACIVVpYswwADQEbswwADQFZWVlCQkJCQi0sRRhoI0tRWCMgRSBksEBQWHxZaIpgWUQtLLAAFrACJbACJQGwASM%2BALACIz6xAQIGDLAKI2VCsAsjQgGwASM%2FALACIz%2BxAQIGDLAGI2VCsAcjQrABFgEtLLCAsAJDULABsAJDVFtYISMQsCAayRuKEO1ZLSywWSstLIoQ5S1AmQkhSCBVIAEeVR9IA1UfHgEPHj8erx4DTUsmH0xLMx9LRiUfJjQQVSUzJFUZE%2F8fBwT%2FHwYD%2Fx9KSTMfSUYlHxMzElUFAQNVBDMDVR8DAQ8DPwOvAwNHRhkf60YBIyIzHxwzG1UWMxVVEQEPVRAzD1UPD08PAh8Pzw8CDw%2F%2FDwIGAgEAVQEzAFVvAH8ArwDvAAQQAAGAFgEFAbgBkLFUUysrS7gH%2F1JLsAlQW7ABiLAlU7ABiLBAUVqwBoiwAFVaW1ixAQGOWYWNjQBCHUuwMlNYsCAdWUuwZFNYsBAdsRYAQllzcysrXnN0dSsrKysrdCtzdCsrKysrKysrKysrKytzdCsrKxheAAAABhQAFwBOBbYAFwB1BbYFzQAAAAAAAAAAAAAAAAAABEgAFACRAAD%2F7AAAAAD%2F7AAAAAD%2F7AAA%2FhT%2F7AAABbYAF%2FyU%2F%2Bv%2Bhf5e%2Fqj%2F6wAW%2FrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAiwCBAN0AmACPAI4AmQCIAIEBDwAAAAAAAAAAAAAALgBMAKQBDAF6AeYB%2BgIcAjwCZgKGApwCrgLKAuADHAM%2BA3oDzAQIBE4EpgTEBSgFfgWuBdoF%2FAYaBj4GjgcKBzoHiAfAB%2FYIJAhKCJIIugjOCPIJHAk2CW4JmgnaCg4KWgqYCuQLBAs2C1oLmgvCC%2BIMCgwmDDoMVgxyDIQMnAzmDTINZg2yDfwORg7ODw4PMA9mD5YPqBAAEDoQdhDCERARQBGIEcgSABIiEmYSjhLGEu4TOBNKE5QTxhPGE%2FAUNhSAFNAVGhU6FaQVzhY%2BFnwWshbIFtAXQBdSF4AXsBfiGCIYPBh6GKQYrhjSGPIZIBlUGWoZgBmWGeQZ9hoIGhoaLBpAGloapBqwGsIa1BrmGvobDBseGzAbRBuQG6IbtBvGG9gb6hv%2BHCochhyYHKocvBzQHOIdHh2QHaIdtB3GHdgd6h38HoAejB6eHrAewh7UHuYe%2BB8KHx4fgh%2BUH6YfuB%2FKH9wf7iAgIH4gkCCiILQgxiDYISghOiFMIaQiGCI8Im4inCKuIsAi2CLyIwgjLiNWI3ojlCOyI9Ij6CQcJIAAAAACACv%2F4wIrBbYABAAQABhACwICDgQDDghPWQ4WAD8rABg%2FEjkvMTAJASMSEwE0NjMyFhUUBiMiJgIr%2Fu5tMX%2F%2Bz09ELThOQjE3Bbb73QEzAvD6mExYNzZEXjgAAAIA4QOmA0IFtgADAAcADbQGAgcDAwA%2FM80yMTABAyMTIQMjEwHlmWtIAhmaa0gFtv3wAhD98AIQAAAAAAIAPwAABTsFtgAbAB8AM0AYAB8QEBkVERETBAgMDAEcDQ0KFxMDBgoSAD8zPzMSOS8zMzMRMzMROS8zMzMRMzMxMAEDIQchAyMTIQMjEyE3IRMhNyETMwMhEzMDIQcBIRMhBAxiAR0N%2Fst9i4H%2B0X%2BFef77DQEcZf7rDQEte4t9ATF%2FhX0BCAz8xQEvYP7RA4P%2BrIH%2BUgGu%2FlIBroEBVH8BtP5MAbT%2BTH%2F%2BrAFUAAAAAwBI%2F4kELwYQAB4AJQAsADpAHx8MAykiLBwNJQYGEwYMS1kbJhMmS1kWEwYTBhMVBRUALy8SOTkvLxEzKxEAMysREgAXOTIRMzEwARQGDwEjNyYnNR4BMxMuATU0Nj8BMwcWFwcmJwMeAQE%2BATU0JicDDgEVFBYXA67hxTGFMcN4UrtJYot92L8nhSeffD95f16Vf%2F53a35CUQhsdkVJAeyiyhbh3w46miktAcQxlXKfwBGwsgxAhz8J%2Fkg3jP6iDXxcNlQgAkoLdGI1WRoAAAUAqP%2FsBfwFywADAA8AHgArADoAJUASBBwcAyUxMQIDBgIYHzgHChUZAD8zPzM%2FPxI5LzMROS8zMTAJASMBAyIOARUUMzI2EjU0FxQCDgEjIiY1NBI2MzIWASIOARUUMzI%2BAjU0FxQCDgEjIiY1NBI2MzIWBbz7w5gEPiFDaT9qQWhFiz9ljVZuemWscnR4%2FCNCakBrNFQ%2FJoxAZYxXbXplrHJ0eAW2%2BkoFtv1Ogfh0rYIBC2eml2v%2B%2FrFjlZGmATGYjwJcfvl3rE%2BVyUemmGz%2B%2FbBilpGmATGYkAADAEL%2F7AUfBc0ACwAWADUAMEAbKioaBRAnBA8oMC0EHy8SHwBKWR8EMwxKWTMTAD8rABg%2FKwAYPxIXORc5OS8xMAEiBhUUFz4CNTQmATI2NwEOAhUUFiU0NjcmNTQ2MzIWFRQOAgcBNjczBgcTIycOASMiJgLhaXRSi2g%2BVf6lV6Jy%2Fs6AcDuF%2Fti01WfUr5WvQW6RUQEWf0ioZbbLyXV43ImoygVEeG54c0dOXDpNWfszQlsBsUNidUlqgd%2BU22alkKTJnoVOdmJSKv57brnssP7ypmRWwAABAOEDpgHlBbYAAwAJsgIDAwA%2FzTEwAQMjEwHlmWtIBbb98AIQAAAAAQBS%2FrwC5wW2AAsACrMDAwonAD8%2FMTATEBIBMwoBERATIwJS8AEInfb7coOTARABUwJAARP%2B8v2o%2FsL%2Brf79AQoAAAAB%2F2D%2BvAH0BbYACgAKswgDBCcAPz8xMAEQAgEjABEQAzMSAfTz%2FvucAfBxg5IDYP6r%2Fb%2F%2B8gInAn0BVQEB%2FvMAAQDXAmoEgQYbAA4AC7MGBg4AAD8zLzEwAQMlByUTBwMBJwElNwUTA1Z7AaYI%2Fne0pnH%2B%2FnQBNf6LNwFzKQX4%2FoESnS%2F%2BgTQBlv6oeQEcbZq5AZAAAQB%2FAQgEFwSgAAsADrQJAQEGAgAvMzMRMzEwASE1IREzESEVIREjAgT%2BewGFjQGG%2FnqNAouOAYf%2BeY7%2BfQAAAAH%2FnP74ASsA7gAGAAixBAAAL80xMCUXBgcjEjcBIwhxnYF%2BTu4X6%2FQBHtgAAQA3AdUCOQJzAAMACLEAAQAvMzEwEzchBzcjAd8iAdWengAAAQAr%2F%2BMBIwDyAAsADLUJA09ZCRYAPysxMDc0NjMyFhUUBiMiJitRRys1UEQuNkpNWzQ1R180AAAB%2F6IAAAN9BbYAAwAKswMDAhIAPz8xMAkBIwEDffzTrgMtBbb6SgW2AAAAAAIAef%2FsBEQFzQAMABkAF0AMCw1LWQsHBBRLWQQZAD8rABg%2FKzEwARACBCMiAjUQEiQzIAUiBgIVFBYzMjYSNRAERJ3%2B8bOwvKQBDa0Bbf6JccB3ZG9zvHED9v7Z%2Fhj7AP%2FyAQ4B6fmQ5%2F5h2Ky45AGs7wFDAAAAAAEBLwAAA4UFtgAKABC2BAcBCQYBGAA%2FPxI5OTEwISMTEjcGDwEnATMCTKzEOx0yWbJQAcGVA5EBBWI1Om5%2FARwAAAAAAQAMAAAENwXLABsAHEAOAhoRC0tZEQcBGkxZARgAPysAGD8rEQAzMTApATcBPgM1NCYjIgYHJzYzMhYVFA4BBwEVIQOP%2FH0fAdFmlWEveGdNk1lSv96wzU%2B3y%2F6gAqaTAaRdjX17S2N0OURzmrGbb7rQsf7NCAAAAQAv%2F%2BwEMQXLACgALUAXAxgZGRhLWRkZCyYmIEtZJgcLEUtZCxkAPysAGD8rERIAORgvKxESADkxMAEUBgcVHgEVFA4BIyInNR4BMzI2NTQmKwE3MzI2NTQmIyIGByc2MzIWBDHKs3yOfO6k0q9e0lWitJ6Ngx%2BLpdp0Y1CaYlDD5bPEBIec2SAJF6d9hctyT6QxNZ%2BKg4eProxcbDZCdpCuAAACABAAAARMBb4ACgATACVAEgYTDwcBBRMFTFkJExMDBwYDGAA%2FPxI5LzMrEQAzETMRMzEwASMDIxMhNwEzAzMhNhITIw4BBwEEK%2BlIpEr9cB0DQsTP6P51LkBUCBFjF%2F3rAU7%2BsgFOngPS%2FCncATIBJB2HHf2PAAABAFD%2F7ARIBbYAHAAtQBcbBwAAEk1ZAAAHFxcaTFkXBgcMS1kHGQA%2FKwAYPysREgA5GC8rERIAOTEwATIWFRQGBCMiJzUWMzI2NTQmIyIGBycTIQchAzYCVrbXkv76scGJpKq%2F1pODMGJaSsUCnCH99n9XA33RsqH0eU%2BkZsCsfpMNGDkCrJn%2BSRcAAAIAhf%2FsBFoFywAaACgALUAXDRgFESFNWRERGAUFCktZBQcYG0tZGBkAPysAGD8rERIAORgvKxESADkxMBM0GgEkMzIXByYjIgADMz4BMzIWFRQCBiMiJgUyPgE1NCMiDgIVFBaFec4BHrhvSSNEZtT%2B30QIO69qmrSF5JO2xwGPXpNR3UJ8YDB5AajRAZwBI5MXkRb%2B1v7aT17FrKH%2B9Y3mWWy%2Bcfg5X3JiiZ4AAAAAAQCuAAAEeQW2AAYAFkAKBQIAGAMCTFkDBgA%2FKwAYPxEzMTAzASE3IQcBrgMA%2FTEfA3sb%2FQQFIZWL%2BtUAAwBg%2F%2BwEVgXNABkAJQAxADJAGxMGKSMEDQAsGktZLCwNAAAmS1kABw0gS1kNGQA%2FKwAYPysREgA5GC8rERIAFzkxMAEyFhUUBgceARUUDgEjIiY1NDY3LgE1ND4BAw4BFRQWMzI2NTQmEyIGFRQWFz4BNTQmAuWuw5y8f2p44Zi%2B2L7JX1Ftxgq5mYpwi6ZoCHKITlihhnMFza2VgcBQTq5zer9mxamU2ExFl2Bvr2H87zynd2t%2BlHpjlgK9g25SfDY8j2ZaagACAGL%2F7AQrBcsAGgAoAC1AFw4FGCERTVkhIQUYGBtLWRgHBQpLWQUZAD8rABg%2FKxESADkYLysREgA5MTABFAoBBCMiJzUWMzISEyMOASMiJjU0EjYzMhYlIgYVFBYzMj4CNTQmBCtwt%2F78rIhqhnDK%2BkAKM6NjqbiB55C0x%2F5%2FlrZtbEyAWSl2BArC%2Flf%2B2Ywini8BGgEsS1fFvpkA%2F4%2FlV%2BKxfIQ5anpag5kAAgAr%2F%2BMBwwRkAAsAFgAXQAwPFE9ZDxAJA09ZCRYAPysAGD8rMTA3NDYzMhYVFAYjIiYTNDYzMhUUBiMiJitRRys1UEQuNqBQR2FTQS42Sk1bNDVHXzQDpU1baEldNQAAAv%2Bc%2FvgBwwRkAAYAEQAVQAkEQAYKD09ZChAAPysAGC8azjEwJRcGByMSNxM0NjMyFRQGIyImASMIcZ2Bfk5jUEdhU0EuNu4X6%2FQBHtgCzk1baEldNQAAAAEAeQDyBBAE2QAGABdACQECBQUGBAMAAwAvLxEzMjkRMzMxMCUBNQEVCQEEEPxpA5f9FQLr8gGmYgHflf6N%2FrgAAAAAAgB%2FAbwEFwPlAAMABwAStwUABAEEBAABAC8zMy9dMzEwEzUhFQE1IRV%2FA5j8aAOYA1qLi%2F5ijo4AAAAAAQB5APIEEATZAAYAG0ALBQQBAQMABgIDBgMALy8RMxEzEjkRMzMxMBMJATUBFQF5Aun9FwOX%2FGkBiQFIAXOV%2FiFi%2FloAAAAAAgCe%2F%2BMDmgXLABoAJgAlQBIHEQAAJBEkHk9ZJBYRCklZEQQAPysAGD8rERIAORgvEjkxMAE%2BATc%2BAjU0JiMiBgcnPgEzMhYVFAYHDgEHAzQ2MzIWFRQGIyImAQQWZXOAUC5nYFGUQj1cyFKnuIOgfVgX7VBHLDVTQS42AZOCp1tkWGQ%2BXWUzH4EzMqiae894W3Fo%2FrdNWzQ1SV00AAAAAAIAb%2F9GBo8FtAA1AEEAKkATJisHCTYQGD09BAkQCRAJKx8yAwA%2FM8Q5OS8vETMzETMRMxI5ETMxMAEUAgYjIicjBiMiJjU0PgEzMhYXDgEXFDMyPgE1NAAjIgQCFRAAITI3FQYjIAAREBIkITIEEgUiDgEVFBYzMhsBJgaPbsh6xRAIb7Rzg4jxjEF9WEBEA2ZOf0r%2FAPLk%2FpvFAR8BCsXf2%2BD%2Bxv6X%2FQGyAQ2%2FARSR%2FUpeoFxCQbtVRj8DVLP%2B3qS4uJeGnf6QGCTy%2FC51hul%2F7wEA1v6H5P7y%2FtdWf1oBcQFBAQUBwfaX%2FuxfbsRyXVMBOwECFwAAAv%2BLAAAEEAW2AAcADgAdQA4LBA4BSVkODgMEAwcDEgA%2FMz8SOS8rEQAzMTABIQMjATMTIwsBJicOAQMDLf4Q9b0DH664qksjGAUlV84B0f4vBbb6SgJtASuzq1iu%2Fn0AAwBWAAAEsgW2AA4AFwAgAC1AFwUgDw8gSlkPDw0ODhdKWQ4DDRhKWQ0SAD8rABg%2FKxESADkYLysREgA5MTABIBEUBgcVHgEVFAQjIQETMzI2NTQmKwEDITI2NTQmKwEDAgGwrp5ze%2F7Q%2F%2F4xATUn%2BJy6hY%2FT%2BgEKtcKVjOwFtv6wjcIdCiCdbtTxBbb9jpJ%2BaGf7bqGTdHsAAAAAAQCW%2F%2BwFCgXLABgAF0AMFABJWRQEDQdJWQ0TAD8rABg%2FKzEwASIEAhUUFjMyNxUOASMiABEQEiQzMhcHJgOurv7tocOri7dWnG7y%2FuzTAWThxZdFigUzwv6J3bvfOZUfHAErAQIBBQHB7FCNRQAAAAIAVgAABRQFtgAJABMAF0AMBhJKWQYDBRNKWQUSAD8rABg%2FKzEwARACBCkBASEgAAEyJBI1NCYrAQMFFNL%2Bev76%2FqABNQFWARQBH%2FytygEyo87HsvoDbf77%2FnDYBbb%2B1fwItwFO19fd%2B3AAAAEAVgAABGoFtgALACZAFAYJSVkGBgECAgVJWQIDAQpJWQESAD8rABg%2FKxESADkYLysxMCkBASEHIQMhByEDIQM1%2FSEBNQLfIP3KYgIPHf3vcgI1BbaZ%2FiuY%2FegAAQBWAAAEagW2AAkAHUAPBglJWQYGAgESAgVJWQIDAD8rABg%2FEjkvKzEwISMBIQchAyEHIQECrAE1At8e%2FchuAhAg%2Fe8Ftpn965kAAAEAlv%2FsBU4FywAdACZAFAAdSVkAAAQLCxJJWQsEBBlJWQQTAD8rABg%2FKxESADkYLysxMAEhAwYjIAAREBIkMzIWFwcuASMiBAIVFBYzMjcTIQM1Acua2Mv%2B%2BP7bywFo23XNaEJNsWqp%2FuuazbiaamD%2B3wL%2B%2FTlLASEBAwENAbn1KCyYIjLL%2FpThvtonAbwAAAEAVgAABXMFtgALABpADQgDSVkICAUKBgMBBRIAPzM%2FMxI5LysxMCEjEyEDIwEzAyETMwQ9p4%2F9bJGqATWqgwKUhagCsP1QBbb9kgJuAAAAAQBWAAACNQW2AAMACrMBAwASAD8%2FMTAzATMBVgE3qP7JBbb6SgAAAAH%2Bwf5%2FAjUFtgAMABG3CQMABUlZACIAPysAGD8xMAMiJzcWMzI2NwEzAQKmaTAGRUxkgxkBM6r%2By0%2F%2BfxmTFH14Bar6RP6FAAEAVgAABSsFtgANABVACQoEBwsIAwEHEgA%2FMz8zEjk5MTAhIyYCJwcDIwEzAwEzAQQKukiVSK59qgE1qpcCvNH9gbUBZbeD%2FbIFtv06Asb9gwAAAAEAVgAAA1YFtgAFABG3AQMAA0lZABIAPysAGD8xMDMBMwEhB1YBNar%2B7AI1IQW2%2BuSaAAABAFQAAAa4BbYAFAAZQAwKAhMDBwwIAwAPBxIAPzMzPzMSFzkxMCEDIw4BBwMjATMTMwEhASMaATcjAQKkpggHKxC%2BogE19JUJApMBCv7Rrn6GGwb9MwUQSPtK%2FH0FtvtMBLT6SgJOAndN%2Bu4AAAAAAQBUAAAFqAW2AA8AFUAJAwsHDggDAQcSAD8zPzMSOTkxMCEjASMGBwMjATMBMzY3EzMEc7X%2BNAYgKqyiATW0AcsGHiqupATH3cX82wW2%2BzzgtQMvAAAAAAIAlv%2FsBYMFzQANABsAF0AMCw5JWQsEBBVJWQQTAD8rABg%2FKzEwARACBCMgABEQEiQzMgAlIgYCFRQWMzI2EjU0JgWDsP641%2F8A%2FuLAAU%2FS9AEY%2Feed%2BInEqJjxjLwDi%2F7z%2FlfpASsBDgEIAbTs%2Fsycyv6Y2sffwwFs3cffAAAAAgBWAAAEhwW2AAoAEwAdQA8LBEpZCwsHBhIHE0pZBwMAPysAGD8SOS8rMTABFAAhIwMjASEyFgEzMjY1NCYrAQSH%2Frj%2Bw4d7qgE1AUrW3P0Thdjgi5CjBD34%2Fvr9wQW2vf3YtrB9bwACAJb%2BpAWDBc0ADQAfACNAER8QHRAHFwBJWRcEEAdJWRATAD8rABg%2FKxESADkYEMYxMAEiBgIVFBYzMjYSNTQmAQcjIAAREBIkMzIAERAABwEjA2qd%2BInEqJ7yhbz%2BxBEQ%2FwD%2B4sABT9L0ARj%2B6uwBEtsFNcr%2BmNrH38gBadvH3%2Fq5AgErAQ4BCAG07P7M%2FvL%2Bs%2F4aTv6aAAIAVgAABIkFtgALABUAJkATCAAODgBKWQ4OAwoCEgMMSVkDAwA%2FKwAYPzMSOS8rERIAOTEwAQMjASEgERAFEyMLAQIHMzI2NTQmIwGBgaoBNQFAAb7%2BkO%2B60WlmDqjB0IeYAmD9oAW2%2FpL%2BpGX9eQJgAsH%2BEkGqn3ltAAABACf%2F7AQjBcsAJgAgQBAfDBUDFRxJWRUEAwlJWQMTAD8rABg%2FKxESADk5MTABFAQjIiYnNRYzMjY1NCYnLgE1NCQzMhYXBy4BIyIGFRQeARceAgOR%2Fuf%2FaqFHorKivmmPl3UBCNdjq19CQqRFhqMiSmmTZzUBqNPpHSKqVJeETndRVap0u%2BsmLpYmLIt3Nk1EPVhkeQAAAAEAugAABLQFtgAHABZACgESBwMEA0lZBAMAPysRADMYPzEwISMBITchByEB56wBFf5qIQPZHv5oBR%2BXlwAAAAABAKT%2F7AV%2FBbYAFQAUQAkVCgMEEUlZBBMAPysAGD8zMTABAwIEIyImNTQ3EzMDBhUUFjMyNjcTBX%2FNN%2F7j9ubeGL2qvxaSkay%2FLM0Ftvw6%2Fvn90MNReANu%2FIVqUnWHr8oDugAAAQC8AAAFHwW2AAsAELYLBgMHAwYSAD8%2FMxEzMTAlNjcBMwEjAzMTFhUB3z1lAd%2B%2F%2FPO0oqphFMWQwgOf%2BkoFtvxexIsAAAAAAQDfAAAHgQW2AB0AGUAMBA8YAwkcEwoDAQkSAD8zPzMzEhc5MTAhIwMmNSMOAQEjAzMTFxQHMzY3ATMTFhUHMzY3ATME6aoxCAYZSP4srj6qHwIKBllDAZWyKwkBCUs4AYO2A8WIkkil%2FA4Ftvx7WGKg84wDYPykmZdT4IIDfQAB%2F5gAAATRBbYACwAVQAkIAgQJBgMBBBIAPzM%2FMxI5OTEwISMDASMJATMTATMBA7y01f4fugJU%2FvmsywG7uv3VAoH9fwMIAq79zQIz%2FUoAAAEAvAAABMMFtgAIABC2AAUBBwMFEgA%2FPzMSOTEwCQEzAQMjEwMzAhkB6cH9jXGsd%2B6qAssC6%2Fxn%2FeMCJQORAAAB%2F%2FAAAASTBbYACQAgQBAHBAIIBQRJWQUDAQhJWQESAD8rABg%2FKxEAMxEzMTApATcBITchBwEhA3X8exwDnP1xIANaGvxkArmJBJKbi%2FtvAAH%2F8P68AvAFtgAHAA61BQIDBgEnAD8zPzMxMAEhASEHIwEzAXP%2BfQF9AYMf4%2F7C4%2F68BvqN%2BiEAAQDdAAACUAW2AAMACrMDAwISAD8%2FMTABEyMDAXfZmtkFtvpKBbYAAAH%2Fav68AmoFtgAHAA61AwQDAAcnAD8zPzMxMAczASM3IQEhd%2BEBQOMeAYX%2BhP58tgXfjfkGAAAAAQA1AikEAgXBAAYADrQFAQAEAgAvLzMRMzEwEwEzASMDATUCVm0BCpHJ%2Fi0CKQOY%2FGgC6%2F0VAAAB%2F0T%2BvAKN%2F0gAAwAIsQECAC8zMTABITchAm%2F81R4DK%2F68jAABAj8E2QOHBiEACAAIsQYBAC%2FNMTABIy4BJzUzFhcDh2g9hxy1K2gE2T26PBWIpwACAGL%2F7ARgBFwAEgAgACdAFAoEDAAFDwgVABpGWQAQDBNGWQwWAD8rABg%2FKwAYPz8REjk5MTABMhYXMzczAyM3IwYjIiY1NBI2AzI2EjU0JiMiBgIVFBYCf1yQKAtDf%2BmFGgizxouejvopYcB4cFtos2ZeBFxjXaz7uNHlxqzQAWTK%2FBu5ASmVZ3qs%2FtqjcnEAAAAAAgA7%2F%2BwEOQYUABUAIgAnQBQLBAAPBwAGFQ8WRlkPEAAdRlkAFgA%2FKwAYPysAGD8%2FERI5OTEwBSImJyMHIwEzBgIHMz4BMzIWFRQCBhMiBgIVFBYzMjYSNTQCIWGTJQpGfQFKqDM3MAldtWCNnon1IGDHdW9pY6toFGZYqgYU8v7%2FrHZvxq3R%2Fp3HA%2BO%2B%2FuCXbnWiASuo4wABAGL%2F7AOqBFwAGAAXQAwHDEZZBxAAE0ZZABYAPysAGD8rMTAFIiY1NBIkMzIXByYjIgYCFRQWMzI2NxUGAfrC1pQBBaOJgy94Y3C5aYV1SIA%2BfBTWw8gBUr0zjTOZ%2Fu%2BggI4oG48%2FAAIAYv%2FsBMMGFAAUACEAJ0AUAwsOAAYACRUAHEZZABAOFUZZDhYAPysAGD8rABg%2FPxESOTkxMAEyFzM2NxMzASM3Iw4BIyImNTQSNgMyNhI1NCYjIgYCFRQCf8JXChEcTqb%2BtosWCGWwXouckPUmXsh1bGdlrWkEWr6bdwFm%2BezRfWjErtYBZML8HbsBI5dvdKX%2B1aXjAAAAAgBi%2F%2BwDtARcABgAIgAmQBQcDkZZHBwABwcZRlkHEAASRlkAFgA%2FKwAYPysREgA5GC8rMTAFIiY1NBI2MzIWFRQEISMHFBYzMjY3FQ4BEyIGBzMyNjU0JgHsuNKV9pSZmv60%2FsshBHuBP4VjXpA0Z7UwDOTzSRTawbwBWcCFd7TNUIOTJDCSLCMD4bynd3E1RgAAAAH%2FG%2F4UA4MGHwAgACpAFgwaCR0QFkZZEAAaHUdZGg8ABUZZABsAPysAGD8rABg%2FKxEAMxEzMTADIic1FjMyNjcTIz8CPgEzMhYXByYjIgYPATMHIwMOAWhFOEAwTFIZ48ENzhcuo6AodCArTD1XXR0Z7hnt6Cei%2FhQVjRZ8cwQ6Q0JkyKUXDoEdYYFsf%2Fu2va4AAAAD%2F4H%2BFARMBFwAKAA1AEMASEAoGzMzDkZZBzlHWQQgCQMHJjMHMwcVKCZAR1kmECgCR1koDxUsR1kVGwA%2FKwAYPysAGD8rERIAOTkYLy8REhc5KysRADMxMAEPARYVFAYjIicGFRQWHwEeARUUBCEiJjU0NjcmNTQ2Ny4BNTQ2MzIXARQWMzI2NTQmLwEOAQEUFjMyPgE1NCYjIg4BBEwZ0ynpwzcdi0I%2FdbWj%2Ftz%2B98LckKFOZls%2FUO%2B6Tkz9SoKAts1sgp94gAEWWlBPdj9YUk51QQRIaxg%2BYL%2FjCDVOKRsIDhaEgLjKk4ZpmjYpUEVjKyB9U8L4FPr1TVp%2FdD5IDhAZfgMSVVlUk1ZSVlGRAAEAOwAABCkGFAAdAB1ADhILFgwAAAsVFgVGWRYQAD8rABg%2FMz8REjkxMCETNjU0IyIOAQcDIwEzDgMHMz4BMzIWFRQHBgMC2ZQSk1mpgSFlqAFKqBIhIykbC163ZIOPFydqArReKZR24Z%2F%2BJwYUUpqfrmZ7apCEPmjB%2FiEAAAAAAgA7AAACHwXfAAMADgAOtQwHAg8BFQA%2FP8QyMTAzIxMzAzQ2MzIVFAYjIibjqOqoeUAzWEMsKDQESAEYOEdaN0wxAAAC%2Fv7%2BFAIdBd8ADAAXABZAChUQCA8ABUZZABsAPysAGD%2FEMjEwAyInNRYzMjcBMwEOAQE0NjMyFRQGIyImh0U2PTp9KwEIpv72JJ0BVEAzVkMsJjT%2BFBWNFs0E2%2FsWq58HTDhHWjdMMQAAAAABADkAAAQhBhQADgAYQAsGDgkBCgABDwUJFQA%2FMz8%2FERI5OTEwCQEzCQEjAwcDIwEzCgEHAUoCDsn%2BKwEnu%2BuYUqoBSqpIci0CLwIZ%2Fi39iwIMe%2F5vBhT%2BsP3sgQAAAAABADkAAAItBhQAAwAKswIAARUAPz8xMDMjATPhqAFMqAYUAAABADsAAAaHBFwALAAnQBMWDwwTDQ8AIQwVJwYTBkZZGhMQAD8zKxEAMxg%2FMzM%2FERI5OTEwIRM2NTQmIyIOAQcDIxMzBzM%2BATMyFhczPgEzMhYVFAcDIxM2NTQmIyIOAQcDAriUEj5LVJ95IWWo6osWCletXHF6CwhWwmN%2FixaQqpQURUpRnncfawK0XilGTnjfnf4lBEjLd2iCdH15iIJEbv1gArRoKj5LdNWS%2FgwAAAEAOwAABCkEXAAZAB1ADg8MEw0PAAwVEwZGWRMQAD8rABg%2FMz8REjkxMCETNjU0JiMiDgEHAyMTMwczPgEzMhYVFAcDAtmUFEdOWamBIWWo6osWCmCzYH%2BTF48CtGgoP0x43p7%2BJQRIy3pli31PZf1gAAAAAgBi%2F%2FAEHQRWAA0AGwAXQAwAEUZZABAHGEZZBxYAPysAGD8rMTABMhYVFAIGIyImNTQSNgE0JiMiBgIVFBYzMjYSAoO%2B3JD2m8DakvgBg31rba1ff3dopl0EVuHFvP6ytuLEvgFPs%2F5xc4%2BU%2Fvmhg4%2BSAQ0AAAAAAv%2FV%2FhQEOQRaABUAIgAnQBQEDAAPCg8JGw8WRlkPEAAdRlkAFgA%2FKwAYPysAGD8%2FERI5OTEwBSImJyMHDgEDIwEzBzM2MzIWFRQCBhMiBgIVFBYzMjYSNTQCIWGSKAoEAw9rpgFQixoIs8GJnor0IGDHdW9pY6toFGRaJhla%2FgMGNNHjw7DU%2Fp7FA%2BO%2B%2FuCXbnWiASuo4wACAGL%2BFARgBFwAFQAiACdAFAQLAA8FDwgbAB1GWQAQDxZGWQ8WAD8rABg%2FKwAYPz8REjk5MTABMhYXMzczASMTNjcjDgEjIiY1NBI2AzI2EjU0JiMiBgIVFAKBXo8lDUN9%2FrCmZQkwCF%2B0YIyfkfcpXMR5bWJlsGgEXGVbrPnMAeAtsHlsw6%2FUAWjC%2FBu4ASKbaXqp%2Ftej4wAAAAABADsAAANoBFwAEgAbQA0OCwAMDwsVAAVGWQAQAD8rABg%2FPxESOTEwATIXByYjIg4BBwMjEzMHMz4CAvBFMyQ1NFufdxxrqOqLFgpIXmcEXA6WDXjVgv4KBEjLX1MtAAABAAj%2F7ANEBFwAJAAgQBAMHgMVFRtGWRUQAwlGWQMWAD8rABg%2FKxESADk5MTABFAYjIic1HgEzMjY1NCYnLgE1NDYzMhcHJyYjIgYVFBYXHgIC393JqYhGokV%2BgEZ0gmzKpaufNjhld11qR29rXS4BN5yvRZ4qLmROOU5ESYxgiqlKiRkrV0U4UD88VmMAAAABAFr%2F7ALbBUQAGgAnQBMQEkAMFQ8SEhVHWRIPBgBGWQYWAD8rABg%2FKxEAMxEzGhgQzTEwJTI3FQ4BIyImNTQ3EyM%2FAjMHIQchAwYVFBYBizdZImQefYUSf6wOuX1iNwESGv7vgRI6dRqBDhR3dkJUAlpJTuT8f%2F2kVy04PAAAAAEAcf%2FsBF4ESAAYABtADQ8SChgPDRUSBUZZEhYAPysAGD8%2FMxI5MTABAwYVFDMyPgE3EzMDIzcjDgEjIiY1NDcTAcOWEpNYqoIiZKbnixYMYrJfgJIWkgRI%2FUlZMo944J4B2%2Fu4y31ii4E%2BbgKkAAABAGIAAAQSBEgACwAOtQkBDwUAFQA%2FMj8zMTAzAzMTEhUzEjcBMwHffahAGAZ%2FNAFFsv2xBEj9m%2F7%2BaAETYAJc%2B7gAAAEAdQAABgYESAAfABlADAUPGQMJHRMKDwAJFQA%2FMz8zMxIXOTEwIQMmPQEjDwEBIwMzExUUBzM2NwEzExYdAQczNhIBMwEDPyAECTJT%2Ft3KK6QSCAYvWgEntiUGAgYcbgEMsv4GAlpeTpx2vf2RBEj9rliTenzGAnX9rqheNSpWAQkCWPu4AAAB%2F7YAAAQGBEgACwAVQAkGAAIHBA8LAhUAPzM%2FMxI5OTEwCQEjAQMzEwEzARMjAdP%2BpsMB2%2B%2BqrgFKwv45%2FKgBsv5OAjUCE%2F5kAZz95f3TAAH%2FO%2F4UBBIESAAYABhACwUPCgAPDxRGWQ8bAD8rABg%2FMxI5MTATMxMWEhUzPgE3ATMBDgEjIic1FjMyNj8BYqhKChMGI2gZAUWy%2FUhdtoBIRD9EUnU3TARI%2Fd9F%2FvNSV%2BIrAmH6%2FqyGFYcSZWOIAAAB%2F%2BMAAAN9BEgACQAgQBAHBAIIBQRHWQUPAQhHWQEVAD8rABg%2FKxEAMxEzMTApATcBITchBwEhArL9MRcCtv4hGwKRHf1YAhN1A1Z9jPzBAAEAG%2F68Ay8FtgAnABlACxsKCgsLJhQSAwAnAD8%2FMzI5LzMSOTEwASImNTQ3PgEnNCM3MjY3Ez4BOwEHIgYHAw4BBxUWFRQPAQYVFBYzFQG6jZcUISUE0SB2jxZEIqerIR9pXBRHHH5olxIvD0lT%2FrxpdzRZkqMVj49XaAFGoICNSVf%2Bv3t6EQUprDtI0zooNTGOAAABAh3%2BEAKoBhQAAwAKswAAAxsAPz8xMAEzESMCHYuLBhT3%2FAAB%2F7b%2BvALBBbYAJwAbQAwcCwsKChQTJgADEycAPz8yETM5LzMSOTEwATIWFRQPAQYVFDMHIgYHAw4BKwE1MjY3Ez4BNzUmNTQ%2FATY1NCYjNwEdkJkVMRDRIXeOFkMkprUNc2gTSBl%2Ba5YSMg5RYxwFtml2MF3bRCuPkFZo%2FrqkfY5IVwFCdX0SBiqpO0jVQSI1MY0AAQBzAlAEMwNUABcAErYPAAaADAMSAC8zMxrNMjIxMAEiBgc1NjMyFhceATMyNjcVBiMiJicuAQFcNoEyYpFFdFZAYTI3gTNkkEh%2BSEtaAslFNJdtHSUbHEI3lm4hICAYAAAAAAL%2F8v6LAfIEXgADAA8AGEALAAAHAyIHDU9ZBxAAPysAGD8SOS8xMAEzAyMBNDYzMhYVFAYjIiYBBG2wzwEIUUYsNVFBMDYCrPvfBStMXDQ2R10zAAEA4f%2FsBCkFywAeAChAFQIeDAkJEU1ZHhhLWR4JHgkBCgcBGQA%2FPxI5OS8vKysRADMRMzEwBSM3LgE1NBI2PwEzBxYXByYjIgYCFRQWMzI2NxUGBwJGfSuEj3%2FmkSN7JXdiL21ucLlphHZIgD57oxTXIs%2BauQE%2BxxWqqAkojjSZ%2Fu%2BgfZIoHI8%2BBAAAAf%2FpAAAEmgXJABsAMUAZCxcYF05ZCBgYEgAABUtZAAcTDxIPTFkSGAA%2FKxEAMxg%2FKxESADkYLzMrEQAzMTABMhcHJiMiBwMhByEHDgEHIQchNzY%2FASM3MxMSA0q4mEKShNUyRQFyGv6NLxZYUALVIfxHG801L8gayUxLBclWhU%2Ft%2Frp%2F22KJK5qNLvPdfwFeAWEAAAIAqAEhBBAEhwAbACcAJEATBQIaFxMQDAkIBxIYFQoEHxUlBwAvM8QyzjIQzjISFzkxMBM0Nyc3FzYzMhc3FwcWFRQHFwcnBiMiJwcnNyY3FBYzMjY1NCYjIgblRIFcf2dycmWBXIFGRn9agWJ1d2J%2FWn9EgY9naJKSaGaQAtN1YoFcgUZGgVqBaHF3Yn9af0RGf1p%2FYHdnj49naJKRAAABAH8AAATsBbYAFgA9QCEKDg8OTVkHDwYSExJNWQMAExUPEx8TAg8TDxMMARUGDBgAPz8zEjk5Ly9dERI5MisRADMRMysRADMxMAkBMwEzByEHIQchAyMTITchNyE3MwMzAkYB67v96%2Bcc%2FtchASkd%2Ftk5mjj%2B3R0BIiH%2B3R3hyqMCywLr%2FP6FoIX%2B9gEKhaCFAwIAAgId%2FhACqAYUAAMABwAXQAoDAwcEBAcAAAcbAD8%2FETkvETkvMTABMxEjETMRIwIdi4uLiwYU%2FPj%2BDfz3AAAAAAIAO%2F%2F4A%2BUGHQAsADgALUAZGTMCLQ8tNjAzJwYeBx4kR1keFQcMR1kHAAA%2FKwAYPysREgAXOREzETMxMBM0NyY1NDYzMhcHJiMiBhUUFhceAhUUBgcWFRQGIyInNR4BMzI2NTQmJy4BAQ4BFRQWFz4BNTQmru53z7C9hDWUdmZ5THxkYjR6b3LkzLB3OKFMhY5lZopwAVRSamWUUF9jAwLJakaFf55EezxRRTFFOCxPZEBhpjhHdpirPZQiLFlVMFIuPYsBURp7RkZeQCx%2BRDxbAAAAAgHJBQ4D6QXTAAoAFQAMsw4DEwgALzPNMjEwATQ2MzIVFAYjIiYlNDYzMhUUBiMiJgHJOC5OOycjLwFsOC9NOycjLwViLkNQMUQsKC5DUDFELAAAAwCL%2F%2BwGagXLABYAJgA2AC1AGQYMABIPDB8MAgASEBICDBIMEhsrIxMzGwQAPzM%2FMxI5OS8vXV0RMxEzMTABIgYVFBYzMjcVDgEjIiY1NDYzMhcHJgE0EiQzMgQSFRQCBCMiJAI3FBIEMzIkEjU0AiQjIgQCA6B9hYKAUoFCXjnA0ty%2BgnY8avyXyAFeysUBWtDJ%2FqfNz%2F6iw2muAS2srgEqr67%2B17Cu%2FtavBCOumqmhK3ocFO%2Fc0PU8eDX%2BuMgBXsrC%2FqLQzP6nys8BWsat%2FtOtrgEpsK4BKq%2Bu%2FtcAAAACAKoDFAMMBccAEgAeABtADAkDAAcTDAAEHhoAHwA%2FMj8Q1DLEEjk5MTABMhczNzMDIzcjDgEjIiY1ND4BAzI%2BATU0JiMiBhUUAfJyJwYlVotcDgQoZElNY1OWFj1nRTk5XH0Fx2da%2FWd1OEp4an%2FXe%2F20YrFPPkXOjIsAAgBYAHEDqAO%2BAAYADQAhQA4NBwoGAAMKAwUIAQwFAQAvLzMRMxI5OREzMxEzMzEwEwEXARMHAwUBFwETBwNYAYdO%2FtescecBiwFvVv7lnnHXAkgBdlH%2BuP59MQG6DgGVRf6T%2FqIxAY0AAAAAAQB%2FAQgEFwMZAAUACrICBAUALzMvMTABESMRITUEF4z89AMZ%2Fe8Bg44AAP%2F%2FADcB1QI5AnMSBgAQAAAABACL%2F%2BwGagXLAA8AHwAtADUALUAVJSkpBDUqKgwEIycnLi4MHAQEFAwTAD8zPzMSOS8zEjkREjkvMxE5LzMxMBM0EiQzMgQSFRQCBCMiJAI3FBIEMzIkEjU0AiQjIgQCJRQGBxMjAyMRIxEzMhYBMzI1NCYrAYvIAV7KxQFa0Mn%2Bp83P%2FqLDaa4BLayuASqvrv7XsK7%2B1q8Dtl9V45XPcX%2Flo53%2BWlzDX2ZaAtvIAV7Kwv6i0Mz%2Bp8rPAVrGrf7Tra4BKbCuASqvrv7XCE5%2BI%2F5%2FAWD%2BoANwfv7llUw%2BAAABAOMGFAQXBpgAAwAIsQECAC8zMTABITchA%2FT87yEDEwYUhAACANcDXgNGBcsADAAYAAyzEAoWAwAvMy8zMTATNDYzMh4BFRQGIyImNxQWMzI2NTQmIyIG17WCU5FUtYODtHF0UlNyc1JQdgSTgLhTkVSAtbWAUHR1T1J1dQAAAAIAfwAABBcEmAALAA8AIUAOCQEBBgILAgsCDQUNDAUALy8zERI5OS8vETMzETMxMAEhNSERMxEhFSERIwE1IRUCBP57AYWNAYb%2Beo3%2BewOYAoONAYj%2BeI3%2Bff8AjY0AAAEAYAJKAvYFyQAXABK3Cg8fAhYWASAAPzMRMz8zMTABITclPgI1NCYjIgcnNjMyFhUUBg8BIQKR%2Fc8XAQhzVyg%2BO1ppO32VbX1pkd0BiwJKauRkY1cvNUBQWmVxXmOhfbsAAAABAHcCOQL0BckAIgAbQAwiEBAREQYYHR8LBiEAPzM%2FMxI5LzMSOTEwAR4BFRQGIyInNRYzMjU0KwE3MzI2NTQmIyIHJzYzMhYVFAcCJUVOtqJ9bH1yzbJaFl9hdEU7Zl43bZ9ygM8EDBFmRYSTOH9IqolrUkc8PURdWHBftDYAAAECFATZA7oGIQAJAAixBAkAL80xMAE%2BATczFQ4BByMCFDiLJb4mzEtpBPQ8tzoVMcw2AAAB%2F9X%2BFARqBEgAGgAgQBASDA8HFw8KFRYbDwJGWQ8WAD8rABg%2FPz8zEjk5MTABFDMyPgE3EzMDIzcjDgEjIicjDgEDIwEzAwYBJ5NZpoMiaaPpixgMXbRicDMJCxdIpAFQqJQSAQqTduCdAd77uM15aGBOjP6iBjT9SVwAAQDH%2FvwEtgYUAA8AGkALBggIDgUBDgNJWQ4ALysAGC8zEjkvOTEwASMRIxEjEQYjIiY1EDYzIQS2ctVzPlTYy9roAi3%2B%2FAZ9%2BYMDMxL6%2BwEE%2FgD%2F%2FwCqAksBogNaEAcAEQB%2FAmgAAAAB%2F1b%2BFADTAAAAEQAMswgDEA8ALzPMMjEwExQGIyInNRYzMjU0Jic3MwcW06KFKS0mHq5OPGVqPYP%2B7GJ2CWQGbi4rCLZ5JgABAQICSgKPBbYACgAOtQkGAyAAHgA%2FPzk5MTABMwMjEzY3DgEHJwIZdrqHcBkhGTJ4MwW2%2FJQCDmd6GStPWgAAAgCoAxQC6QXHAAwAFwANtBMDDQofAD8zxDIxMAEUBiMiJjU0PgEzMhYnIgYVFBYzMjY1NALpsZhxh1SXY3V%2B9WZ1TEVedQTDv%2FCOfXXFboYfr45VVbGQpgAAAAACABcAcwNoA8EABgANAB9ADQAGAwcNCgoDBQgBDAUALzMvMxI5OREzMxEzMzEwCQEnAQM3EyUBJwEDNxMDaP53TgEprHHp%2FnX%2BkFYBGp5x2QHl%2Fo5SAUMBhzL%2BQQ7%2Bb0YBaAFiMv5u%2F%2F8AewAABVIFthAnANMCYgAAECYAe8oAEQcA1AJm%2FbcACbMDAhIYAD81NQD%2F%2FwBCAAAFpAW2ECYAe5IAECcA0wIpAAARBwB0Aq79twAHsgIQGAA%2FNQAAAP%2F%2FAFcAAAXoBckQJgB14AAQJwDTAvgAABEHANQC%2FP23AAmzAwIqGAA%2FNTUAAAL%2F%2FP5xAvgEWAAZACUAI0ARBhkZECMjHU9ZIxAQCUlZECMAPysAGD8rERIAORgvOTEwAQ4BDwEGFRQWMzI2NxcOASMiJjU0Njc%2BATcTFAYjIiY1NDYzMhYCkRZkc1%2BfZ2BQlEI%2BWsZXqLaEn4RRFu5RRys1UEMvNgKogqRdS3%2BUXWYzH4EwNKeafNB3Ym1kAUpNWzQ0R18zAAAA%2F%2F%2F%2FiwAABBAHcxImACQAABEHAEP%2F2AFSAAq0AhAQBSYAKxE1%2F%2F%2F%2FiwAABE0HcxImACQAABEHAHYAkwFSAAq0AhgYBSYAKxE1%2F%2F%2F%2FiwAABDgHcxImACQAABEHAMUAQgFSAAq0AhUVBSYAKxE1%2F%2F%2F%2FiwAABI8HLxImACQAABEHAMcAYAFSAAq0AhgYBSYAKxE1%2F%2F%2F%2FiwAABCsHJRImACQAABEHAGoAQgFSAAy1AwIiIgUmACsRNTUAAP%2F%2F%2F4sAAAQQBwISJgAkAAARBwDGAAIAgQAZQA8DAu8YAd8YAW8YAQ8YARgAEV1dXV01NQAAAv%2BJAAAG3QW2AA8AEwA8QCAKDUlZCgoBBhMDSVkTEwEGBRIJEgYSSVkGAwEOSVkBEgA%2FKwAYPysRADMYPxESOS8rERIAORgvKzEwKQETIQEjASEHIQMhByEDIQETIwEFqP0fYv5K%2FtvFA6oDqiH9y2QCEBz973MCNv1%2Fk1T%2BTgHR%2Fi8Ftpn%2BK5b95gHVArD9UAAA%2F%2F8Alv4UBQoFyxImACYAABAHAHoCIwAA%2F%2F8AVgAABGoHcxImACgAABEHAEP%2F%2BwFSAAq0AQ0NBSYAKxE1%2F%2F8AVgAABGoHcxImACgAABEHAHYAfQFSAAq0ARUVBSYAKxE1%2F%2F8AVgAABGoHcxImACgAABEHAMUARgFSAAq0ARISBSYAKxE1%2F%2F8AVgAABGoHJRImACgAABEHAGoAQgFSAAy1AgEfHwUmACsRNTUAAP%2F%2FAFYAAAJRB3MSJgAsAAARBwBD%2FsoBUgAKtAEFBQUmACsRNf%2F%2FAFYAAANCB3MSJgAsAAARBwB2%2F4gBUgAKtAENDQUmACsRNf%2F%2FAFYAAAMoB3MSJgAsAAARBwDF%2FzIBUgAKtAEKCgUmACsRNf%2F%2FAFYAAAMpByUSJgAsAAARBwBq%2F0ABUgAMtQIBFxcFJgArETU1AAAAAgBIAAAFFAW2AA0AGwAtQBcaBwgHSVkXCAgFCgoWSlkKAwUbSlkFEgA%2FKwAYPysREgA5GC8zKxEAMzEwARACBCkBEyM3MxMhIAABMiQSNTQmKwEDIQchAwUU0v56%2Fvr%2BoIeVIJaNAVYBFAEf%2FK3KATKjzseybwFKIf62agNt%2Fvv%2BcNgCiZYCl%2F7V%2FAi3AU7X1939%2FJb%2BCv%2F%2FAFQAAAWoBy8SJgAxAAARBwDHAQgBUgAKtAEZGQUmACsRNf%2F%2FAJb%2F7AWDB3MSJgAyAAARBwBDAGgBUgAKtAIdHQUmACsRNf%2F%2FAJb%2F7AWDB3MSJgAyAAARBwB2ASEBUgAKtAIlJQUmACsRNf%2F%2FAJb%2F7AWDB3MSJgAyAAARBwDFANUBUgAKtAIiIgUmACsRNf%2F%2FAJb%2F7AWDBy8SJgAyAAARBwDHAOUBUgAKtAIlJQUmACsRNf%2F%2FAJb%2F7AWDByUSJgAyAAARBwBqAM8BUgAMtQMCLy8FJgArETU1AAAAAQCoATED8AR3AAsAFkAKAwYACQQCCggEAgAvMy8zEhc5MTAJATcJARcJAQcJAScB5%2F7BYgFAAUNj%2FrwBQmH%2Bvf7AYALTAUFj%2FsABQGD%2BvP6%2BYAFA%2FsJgAAMAd%2F%2BsBbYGBAAXACAAKQAjQBMfIx4kBCYYDxhJWQ8EBCZJWQQTAD8rABg%2FKxESABc5MTABEAIEIyInByc3JjUQEiQzMhYXNxcHHgEBIgYCFRQXASYTNCcBFjMyNhIFg7D%2BuNfIhIFwiWrAAU%2FSY59Ig3KVMDL95534iSkC4VrRIf0jW46Y8YwDi%2F7z%2FlfpYKBcqojrAQgBtOw2OaZcuD68AT%2FK%2Fpjah1wDl1j%2BWnZX%2FHFKwwFsAP%2F%2FAKT%2F7AV%2FB3MSJgA4AAARBwBDAFgBUgAKtAEXFwUmACsRNf%2F%2FAKT%2F7AV%2FB3MSJgA4AAARBwB2ASMBUgAKtAEfHwUmACsRNf%2F%2FAKT%2F7AV%2FB3MSJgA4AAARBwDFAMsBUgAKtAEcHAUmACsRNf%2F%2FAKT%2F7AV%2FByUSJgA4AAARBwBqALoBUgAMtQIBKSkFJgArETU1AAD%2F%2FwC8AAAEwwdzEiYAPAAAEQcAdgBUAVIACrQBEhIFJgArETUAAgBWAAAEUgW2AAwAFQAlQBMJFUpZCQkGBw0ESlkNDQYHAwYSAD8%2FEjkvKxESADkYLysxMAEUACEjAyMBMwMzMhYBMzI2NTQmKwEEUv64%2FsGFRqoBNao1oNXd%2FRCH1%2BKMkaYDPfj%2B%2Bv7BBbb%2FAL792bawfm4AAAAAAf8A%2FhQEWAYfAD8ALEAYNhUnAx4MDDlGWQwAHiRGWR4WAAVGWQAbAD8rABg%2FKwAYPysREgAXOTEwAyInNRYzMjY3AT4BMzIWFRQOAQcGFRQXHgIVFAYjIic1HgEzMjY1NC4BJy4BNTQ%2BATc%2BAjU0JiMiBgcBDgGFRTY9MkFUFwEYK%2BLCorQqUYpuXy9sM9m4r10zhz5xiBUuQlhFJT5dUD4iaVl3hhz%2B7iii%2FhQVjxZfbgUiyMaOfTljW2lTRDhCImtxQ6%2FHR6ApM3RlKD44N0VuPDVWR0U4P0MlQEl9gPrpva7%2F%2FwBi%2F%2BwEYAYhEiYARAAAEQYAQ7EAAAq0AiIiESYAKxE1AAD%2F%2FwBi%2F%2BwEYAYhEiYARAAAEQYAdkQAAAq0AioqESYAKxE1AAD%2F%2FwBi%2F%2BwEYAYhEiYARAAAEQYAxfcAAAq0AicnESYAKxE1AAD%2F%2FwBi%2F%2BwEYAXdEiYARAAAEQYAxxIAAAq0AioqESYAKxE1AAD%2F%2FwBi%2F%2BwEYAXTEiYARAAAEQYAav0AAAy1AwI0NBEmACsRNTX%2F%2FwBi%2F%2BwEYAaBEiYARAAAEQYAxtoAAAy1AwIkJBEmACsRNTUAAwBi%2F%2BwGWARcACoAOABCAEJAJBUYAwYEChE8IUZZPDwFFg8FFTkyETJGWRoRECUrCitGWQAKFgA%2FMysRADMYPzMrEQAzGD8%2FEjkvKxESABc5MTAFIiYnByM3Iw4BIyImNTQSNjMyFhczNzMHNjMyFhUUBCEjBxQWMzI2NxUGJTI2EjU0JiMiBgIVFBYBIgYHMzI2NTQmBI1soygfchoIbaVfeoqN8o5SficLQ20fe9F3k%2F6z%2Fs4nBH2DN3t1pPxrX7t3W01jsGRKA9V1vC8O4vVGFE9Qi9GEYcaqzgFmzGFfrJKmiHS2y1CDkyEzlkuLtwEqlmd6rf7epHJzA1a9pnVvPUIAAAD%2F%2FwBi%2FhQDqgRcEiYARgAAEAcAegF9AAD%2F%2FwBi%2F%2BwDtAYhEiYASAAAEQYAQ4IAAAq0AiQkESYAKxE1AAD%2F%2FwBi%2F%2BwD7wYhEiYASAAAEQYAdjUAAAq0AiwsESYAKxE1AAD%2F%2FwBi%2F%2BwDxgYhEiYASAAAEQYAxdAAAAq0AikpESYAKxE1AAD%2F%2FwBi%2F%2BwDvQXTEiYASAAAEQYAatQAAAy1AwI2NhEmACsRNTX%2F%2FwA7AAAB7AYhEiYAwgAAEQcAQ%2F5lAAAACrQBBQURJgArETX%2F%2FwA7AAAC6gYhEiYAwgAAEQcAdv8wAAAACrQBDQ0RJgArETX%2F%2FwA7AAACxAYhEiYAwgAAEQcAxf7OAAAACrQBCgoRJgArETX%2F%2FwA7AAACwQXTEiYAwgAAEQcAav7YAAAADLUCARcXESYAKxE1NQAAAAIAWv%2FsBHEGJQAgAC4ANEAcGQ8WHgAIBQQDHxYoRlkWFg8fDwYDAQ8hRlkPFgA%2FKwAYPzM%2FEjkvKxESABc5ERI5MTABJic3FhclFwceARUUAgQjIiY1NBI2MzIWFzc1NCYnBScTMj4BNTQmIyIOARUUFgKkQlBfdkYBBEDwV0%2BP%2Fvm0ts2H75RpmSMGSUr%2B8jgxa6Zmg3FtoFdzBT86N3VURpJphXP7kP3%2BfMTQuaABFJ5bTwIRiNBdlWz7vXDgcnaKc8%2BAfoL%2F%2FwA7AAAEUAXdEiYAUQAAEQYAxyEAAAq0ASMjESYAKxE1AAD%2F%2FwBi%2F%2FAEHQYhEiYAUgAAEQYAQ5cAAAq0Ah0dESYAKxE1AAD%2F%2FwBi%2F%2FAEHQYhEiYAUgAAEQYAdjkAAAq0AiUlESYAKxE1AAD%2F%2FwBi%2F%2FAEHQYhEiYAUgAAEQYAxe8AAAq0AiIiESYAKxE1AAD%2F%2FwBi%2F%2FAENQXdEiYAUgAAEQYAxwYAAAq0AiUlESYAKxE1AAD%2F%2FwBi%2F%2FAEHQXTEiYAUgAAEQYAaugAAAy1AwIvLxEmACsRNTUAAwB%2FAPwEFwSoAAMADgAZABC1AAEBEQwRAC8vEjkvMzEwEzUhFQE0MzIWFRQGIyImETQzMhYVFAYjIiZ%2FA5j9xG81Ozw0NDtvNTs8NDQ7AouOjv7qeT08Oj8%2BAvV5PTw6Pz4AAAMAPf%2B0BFAEkwAVAB4AJwAwQBsSDwcEBgkiHB0hERQIDwQPFkZZDxAEJEZZBBYAPysAGD8rERIAFzkYEMYQxjEwARQCBiMiJwcnNyY1NBI2MzIXNxcHFiUiBgIVFBcBJhM0JwEWMzI2EgQXi%2FSakmRiaW1Ek%2FSWkmpoaXc%2B%2FnBsr2QRAgY2jA39%2FjllZ6tfAsG9%2Fqq%2BQX1Sh2eiwgFOsESBT4FhaZL%2B%2FpdcLQKFL%2F7lVCP9fy2PAQIAAAD%2F%2FwBx%2F%2BwEXgYhEiYAWAAAEQYAQ5kAAAq0ARoaESYAKxE1AAD%2F%2FwBx%2F%2BwEXgYhEiYAWAAAEQYAdmgAAAq0ASIiESYAKxE1AAD%2F%2FwBx%2F%2BwEXgYhEiYAWAAAEQYAxQoAAAq0AR8fESYAKxE1AAD%2F%2FwBx%2F%2BwEXgXTEiYAWAAAEQYAagAAAAy1AgEsLBEmACsRNTX%2F%2F%2F87%2FhQEEgYhEiYAXAAAEQYAduAAAAq0ASIiESYAKxE1AAAAAv%2FV%2FhQEOQYUABcAJAAnQBQEDQARCQAIGxEYRlkREAAfRlkAFgA%2FKwAYPysAGD8%2FERI5OTEwBSImJyMGBwMjATMCBgczPgEzMhYVFAIGEyIGAhUUFjMyNhI1NAIhYpQnCggRZqYBsKhfKBMJZbBfi56K9CBgx3VvaWOraBRmWGhI%2FhoIAP5HokR9aMOw1P6exQPjvv7gl251ogErqOMA%2F%2F%2F%2FO%2F4UBBIF0xImAFwAABEGAGqGAAAMtQIBLCwRJgArETU1AAEAOwAAAc0ESAADAAqzAg8BFQA%2FPzEwMyMTM%2BOo6qgESAAAAAIAlv%2FsBykFzQAVACEAOUAgEBNJWRAQAQwMD0lZDAMKG0lZCgQDFklZAxIBEgEUSVkrABg%2FPysAGD8rABg%2FKxESADkYLysxMCkBBiMgABEQEiQzMhchByEDIQchAyEFMjcTJiMiBgIVFBYF9P1eTlD%2FAP7iwAFP0phVAsUf%2FctkAhAf%2FfBzAjX8pEU29kxznfiJxBQBKwEOAQgBtOwXmf4rlv3mFRMEiRbK%2Fpjax98AAwBi%2F%2BwGrARcACEALgA4ADtAHgIOBQwyGEZZMjIFDC8iDCJGWREMEBwpBSlGWQAFFgA%2FMysRADMYPzMrEQAzERI5GC8rERIAOTkxMAUgJw4BIyImNTQSNjMgFz4BMzIWFRQEISMHFBYzMjY3FQYBIgYCFRQWMzISETQmJSIGBzMyNjU0JgTj%2FvJWRc17uNiW%2FJsBDllLzXeLnP63%2FtApBHuBS4xQov0Cba5gfG6xyncCiX2%2FLBLn8EAU4Wty5MLBAU6x4W16g3m3ylCDkzEjlksD3ZL%2B%2FpuNkgFBAQt8hgS9pnp0MEUAAAEBjwTZA%2FYGIQAOAAyzAwsGAQAvM80yMTABIyYnBgcjNT4BNzMWHwED9mc5aIZsbZF3F54lWyoE2TCNd0YbhYEnY4hCAAAAAAICJwTZA90GgQALABcAFUALDx8JLwk%2FCQMJFQMALzPMXTIxMAEUBiMiJjU0NjMyFgc0JiMiBhUUFjMyNgPdeGNldnxfZXZoQDMxQjs4M0AFsGN0c2JedXJhNT4%2BNTY9PQAAAAABAVAE2QQvBd0AFQAStgUTC4AQAAkAL8QyGt3GMzEwASIuAiMiBgcjEjMyHgIzMjY3MwIDRihLR0MgLDMWZDqtLE9HPhssMxpkQgTbIysjOToBAiQrJDY%2F%2Fv4AAAEANwHVA5ECdQADAAixAAEALzMxMBM3IQc3IwM3IgHVoKAAAAEANwHVB2gCdQADAAixAAEALzMxMBM3IQc3IwcOIgHVoKAAAAEAewPBAggFtgAGAAmyAAMDAD%2FNMTATJzYTMwIHgQZirH%2BTOAPBFtMBDP6nnAAAAAEAfQPBAgwFtgAHAAmyBQcDAD%2FGMTABFw4BByMSNwIECCiOWIGGRQW2Flv%2FhQEqywAAAAAB%2F5z%2B%2BAErAO4ABgAIsQQAAC%2FNMTAlFwYHIxI3ASMIcZ2Bfk7uF%2Bv0AR7YAAIAewPBA3sFtgAGAA0ADbQABwMKAwA%2FM80yMTABJzYTMwIHISc2EzMCBwH0CFDAf6Ip%2FdEGYqx%2FkzgDwRa1ASr%2BhXoW0wEM%2FqecAAACAH0DwQN%2FBbYABwAPAA20DAUPBwMAPzPGMjEwARcOAQcjEjchFwYDIzYSNwIECCiOWIGGRQItCl60fzl1HAW2Flv%2FhQEqyxbO%2Fu9%2BASVSAAL%2FnP74ApwA7gAGAA0ADLMLDQQAAC%2FNMzIxMCUXBgcjEjchFwYDIxI3ASMIcZ2Bfk4CKwlfsIGMP%2B4X6%2FQBHtgXzf7uATy6AAEAxwHsApED6QALAAixCQMAL80xMBM0NjMyFhUUBiMiJseTfVxelIBZXQKskaxiXI2yYwABAFgAcQItA74ABgAStgYAAwMBBQEALy8SOREzMzEwEwEXARMHA1gBh07%2B16xx5wJCAXxR%2FrL%2BgzEBtAABABcAcwHsA8EABgAStgAGAwMFAQUALy8SOREzMzEwCQEnAQM3EwHs%2FnhNASiscegB8P6DUgFNAX0y%2FksAAAAAAf4ZAAAC8AW2AAMACrMDAwISAD8%2FMTAJASMBAvD7wpkEPQW2%2BkoFtgAAAAACAFwCSgLfBbwACgAQACFADw0HBhABBQUJEBADBx4DIAA%2FPxI5LzMzETMRMxEzMTABIwcjNyE3ATMDMyMSNwYPAQLJgSt%2FK%2F6TFwHhhXl%2F%2FkUVFFrNAxTKymUCQ%2F3NAUJJJHH2AAAAAAEAP%2F%2FsBNcFyQAmAEtAKQsXGBdOWQgYBhwdHE1ZAx0PHR8dAgkDGB0YHRIhIQBMWSEHEg1MWRIZAD8rABg%2FKxESADk5GC8vX15dETMrEQAzETMrEQAzMTABIgYHIQchBgchByEQITI3FQYjIgI9ASM3MzY3IzczEgAzMhYXByYDoIzkSwGqGv5HFQsBfR3%2BlwEpe4V%2Fl9TpqhuaCBaXG59hAUXPWY5GUHEFMcbHhUFjg%2F6LN5M7AQv1DINQVIUBCwEaKzGKTgAAAAABAAAjAAABBdMYAAAKCvIABQAk%2F3EABQA3ACkABQA5ACkABQA6ACkABQA8ABQABQBE%2F64ABQBG%2F4UABQBH%2F4UABQBI%2F4UABQBK%2F8MABQBQ%2F8MABQBR%2F8MABQBS%2F4UABQBT%2F8MABQBU%2F4UABQBV%2F8MABQBW%2F8MABQBY%2F8MABQCC%2F3EABQCD%2F3EABQCE%2F3EABQCF%2F3EABQCG%2F3EABQCH%2F3EABQCfABQABQCi%2F4UABQCj%2F64ABQCk%2F64ABQCl%2F64ABQCm%2F64ABQCn%2F64ABQCo%2F64ABQCp%2F4UABQCq%2F4UABQCr%2F4UABQCs%2F4UABQCt%2F4UABQC0%2F4UABQC1%2F4UABQC2%2F4UABQC3%2F4UABQC4%2F4UABQC6%2F4UABQC7%2F8MABQC8%2F8MABQC9%2F8MABQC%2B%2F8MABQDE%2F4UACgAk%2F3EACgA3ACkACgA5ACkACgA6ACkACgA8ABQACgBE%2F64ACgBG%2F4UACgBH%2F4UACgBI%2F4UACgBK%2F8MACgBQ%2F8MACgBR%2F8MACgBS%2F4UACgBT%2F8MACgBU%2F4UACgBV%2F8MACgBW%2F8MACgBY%2F8MACgCC%2F3EACgCD%2F3EACgCE%2F3EACgCF%2F3EACgCG%2F3EACgCH%2F3EACgCfABQACgCi%2F4UACgCj%2F64ACgCk%2F64ACgCl%2F64ACgCm%2F64ACgCn%2F64ACgCo%2F64ACgCp%2F4UACgCq%2F4UACgCr%2F4UACgCs%2F4UACgCt%2F4UACgC0%2F4UACgC1%2F4UACgC2%2F4UACgC3%2F4UACgC4%2F4UACgC6%2F4UACgC7%2F8MACgC8%2F8MACgC9%2F8MACgC%2B%2F8MACgDE%2F4UACwAtALgADwAm%2F5oADwAq%2F5oADwAy%2F5oADwA0%2F5oADwA3%2F3EADwA4%2F9cADwA5%2F4UADwA6%2F4UADwA8%2F4UADwCJ%2F5oADwCU%2F5oADwCV%2F5oADwCW%2F5oADwCX%2F5oADwCY%2F5oADwCa%2F5oADwCb%2F9cADwCc%2F9cADwCd%2F9cADwCe%2F9cADwCf%2F4UADwDD%2F5oAEAA3%2F64AEQAm%2F5oAEQAq%2F5oAEQAy%2F5oAEQA0%2F5oAEQA3%2F3EAEQA4%2F9cAEQA5%2F4UAEQA6%2F4UAEQA8%2F4UAEQCJ%2F5oAEQCU%2F5oAEQCV%2F5oAEQCW%2F5oAEQCX%2F5oAEQCY%2F5oAEQCa%2F5oAEQCb%2F9cAEQCc%2F9cAEQCd%2F9cAEQCe%2F9cAEQCf%2F4UAEQDD%2F5oAJAAF%2F3EAJAAK%2F3EAJAAm%2F9cAJAAq%2F9cAJAAtAQoAJAAy%2F9cAJAA0%2F9cAJAA3%2F3EAJAA5%2F64AJAA6%2F64AJAA8%2F4UAJACJ%2F9cAJACU%2F9cAJACV%2F9cAJACW%2F9cAJACX%2F9cAJACY%2F9cAJACa%2F9cAJACf%2F4UAJADD%2F9cAJADL%2F3EAJADO%2F3EAJQAP%2F64AJQAR%2F64AJQAk%2F9cAJQA3%2F8MAJQA5%2F%2BwAJQA6%2F%2BwAJQA7%2F9cAJQA8%2F%2BwAJQA9%2F%2BwAJQCC%2F9cAJQCD%2F9cAJQCE%2F9cAJQCF%2F9cAJQCG%2F9cAJQCH%2F9cAJQCf%2F%2BwAJQDM%2F64AJQDP%2F64AJgAm%2F9cAJgAq%2F9cAJgAy%2F9cAJgA0%2F9cAJgCJ%2F9cAJgCU%2F9cAJgCV%2F9cAJgCW%2F9cAJgCX%2F9cAJgCY%2F9cAJgCa%2F9cAJgDD%2F9cAJwAP%2F64AJwAR%2F64AJwAk%2F9cAJwA3%2F8MAJwA5%2F%2BwAJwA6%2F%2BwAJwA7%2F9cAJwA8%2F%2BwAJwA9%2F%2BwAJwCC%2F9cAJwCD%2F9cAJwCE%2F9cAJwCF%2F9cAJwCG%2F9cAJwCH%2F9cAJwCf%2F%2BwAJwDM%2F64AJwDP%2F64AKAAtAHsAKQAP%2F4UAKQAR%2F4UAKQAiACkAKQAk%2F9cAKQCC%2F9cAKQCD%2F9cAKQCE%2F9cAKQCF%2F9cAKQCG%2F9cAKQCH%2F9cAKQDM%2F4UAKQDP%2F4UALgAm%2F9cALgAq%2F9cALgAy%2F9cALgA0%2F9cALgCJ%2F9cALgCU%2F9cALgCV%2F9cALgCW%2F9cALgCX%2F9cALgCY%2F9cALgCa%2F9cALgDD%2F9cALwAF%2F1wALwAK%2F1wALwAm%2F9cALwAq%2F9cALwAy%2F9cALwA0%2F9cALwA3%2F9cALwA4%2F%2BwALwA5%2F9cALwA6%2F9cALwA8%2F8MALwCJ%2F9cALwCU%2F9cALwCV%2F9cALwCW%2F9cALwCX%2F9cALwCY%2F9cALwCa%2F9cALwCb%2F%2BwALwCc%2F%2BwALwCd%2F%2BwALwCe%2F%2BwALwCf%2F8MALwDD%2F9cALwDL%2F1wALwDO%2F1wAMgAP%2F64AMgAR%2F64AMgAk%2F9cAMgA3%2F8MAMgA5%2F%2BwAMgA6%2F%2BwAMgA7%2F9cAMgA8%2F%2BwAMgA9%2F%2BwAMgCC%2F9cAMgCD%2F9cAMgCE%2F9cAMgCF%2F9cAMgCG%2F9cAMgCH%2F9cAMgCf%2F%2BwAMgDM%2F64AMgDP%2F64AMwAP%2FvYAMwAR%2FvYAMwAk%2F5oAMwA7%2F9cAMwA9%2F%2BwAMwCC%2F5oAMwCD%2F5oAMwCE%2F5oAMwCF%2F5oAMwCG%2F5oAMwCH%2F5oAMwDM%2FvYAMwDP%2FvYANAAP%2F64ANAAR%2F64ANAAk%2F9cANAA3%2F8MANAA5%2F%2BwANAA6%2F%2BwANAA7%2F9cANAA8%2F%2BwANAA9%2F%2BwANACC%2F9cANACD%2F9cANACE%2F9cANACF%2F9cANACG%2F9cANACH%2F9cANACf%2F%2BwANADM%2F64ANADP%2F64ANwAP%2F4UANwAQ%2F64ANwAR%2F4UANwAiACkANwAk%2F3EANwAm%2F9cANwAq%2F9cANwAy%2F9cANwA0%2F9cANwA3ACkANwBE%2F1wANwBG%2F3EANwBH%2F3EANwBI%2F3EANwBK%2F3EANwBQ%2F5oANwBR%2F5oANwBS%2F3EANwBT%2F5oANwBU%2F3EANwBV%2F5oANwBW%2F4UANwBY%2F5oANwBZ%2F9cANwBa%2F9cANwBb%2F9cANwBc%2F9cANwBd%2F64ANwCC%2F3EANwCD%2F3EANwCE%2F3EANwCF%2F3EANwCG%2F3EANwCH%2F3EANwCJ%2F9cANwCU%2F9cANwCV%2F9cANwCW%2F9cANwCX%2F9cANwCY%2F9cANwCa%2F9cANwCi%2F3EANwCj%2F1wANwCk%2F1wANwCl%2F1wANwCm%2F1wANwCn%2F1wANwCo%2F1wANwCp%2F3EANwCq%2F3EANwCr%2F3EANwCs%2F3EANwCt%2F3EANwC0%2F3EANwC1%2F3EANwC2%2F3EANwC3%2F3EANwC4%2F3EANwC6%2F3EANwC7%2F5oANwC8%2F5oANwC9%2F5oANwC%2B%2F5oANwC%2F%2F9cANwDD%2F9cANwDE%2F3EANwDI%2F64ANwDJ%2F64ANwDM%2F4UANwDP%2F4UAOAAP%2F9cAOAAR%2F9cAOAAk%2F%2BwAOACC%2F%2BwAOACD%2F%2BwAOACE%2F%2BwAOACF%2F%2BwAOACG%2F%2BwAOACH%2F%2BwAOADM%2F9cAOADP%2F9cAOQAP%2F5oAOQAR%2F5oAOQAiACkAOQAk%2F64AOQAm%2F%2BwAOQAq%2F%2BwAOQAy%2F%2BwAOQA0%2F%2BwAOQBE%2F9cAOQBG%2F9cAOQBH%2F9cAOQBI%2F9cAOQBK%2F%2BwAOQBQ%2F%2BwAOQBR%2F%2BwAOQBS%2F9cAOQBT%2F%2BwAOQBU%2F9cAOQBV%2F%2BwAOQBW%2F%2BwAOQBY%2F%2BwAOQCC%2F64AOQCD%2F64AOQCE%2F64AOQCF%2F64AOQCG%2F64AOQCH%2F64AOQCJ%2F%2BwAOQCU%2F%2BwAOQCV%2F%2BwAOQCW%2F%2BwAOQCX%2F%2BwAOQCY%2F%2BwAOQCa%2F%2BwAOQCi%2F9cAOQCj%2F9cAOQCk%2F9cAOQCl%2F9cAOQCm%2F9cAOQCn%2F9cAOQCo%2F9cAOQCp%2F9cAOQCq%2F9cAOQCr%2F9cAOQCs%2F9cAOQCt%2F9cAOQC0%2F9cAOQC1%2F9cAOQC2%2F9cAOQC3%2F9cAOQC4%2F9cAOQC6%2F9cAOQC7%2F%2BwAOQC8%2F%2BwAOQC9%2F%2BwAOQC%2B%2F%2BwAOQDD%2F%2BwAOQDE%2F9cAOQDM%2F5oAOQDP%2F5oAOgAP%2F5oAOgAR%2F5oAOgAiACkAOgAk%2F64AOgAm%2F%2BwAOgAq%2F%2BwAOgAy%2F%2BwAOgA0%2F%2BwAOgBE%2F9cAOgBG%2F9cAOgBH%2F9cAOgBI%2F9cAOgBK%2F%2BwAOgBQ%2F%2BwAOgBR%2F%2BwAOgBS%2F9cAOgBT%2F%2BwAOgBU%2F9cAOgBV%2F%2BwAOgBW%2F%2BwAOgBY%2F%2BwAOgCC%2F64AOgCD%2F64AOgCE%2F64AOgCF%2F64AOgCG%2F64AOgCH%2F64AOgCJ%2F%2BwAOgCU%2F%2BwAOgCV%2F%2BwAOgCW%2F%2BwAOgCX%2F%2BwAOgCY%2F%2BwAOgCa%2F%2BwAOgCi%2F9cAOgCj%2F9cAOgCk%2F9cAOgCl%2F9cAOgCm%2F9cAOgCn%2F9cAOgCo%2F9cAOgCp%2F9cAOgCq%2F9cAOgCr%2F9cAOgCs%2F9cAOgCt%2F9cAOgC0%2F9cAOgC1%2F9cAOgC2%2F9cAOgC3%2F9cAOgC4%2F9cAOgC6%2F9cAOgC7%2F%2BwAOgC8%2F%2BwAOgC9%2F%2BwAOgC%2B%2F%2BwAOgDD%2F%2BwAOgDE%2F9cAOgDM%2F5oAOgDP%2F5oAOwAm%2F9cAOwAq%2F9cAOwAy%2F9cAOwA0%2F9cAOwCJ%2F9cAOwCU%2F9cAOwCV%2F9cAOwCW%2F9cAOwCX%2F9cAOwCY%2F9cAOwCa%2F9cAOwDD%2F9cAPAAP%2F4UAPAAR%2F4UAPAAiACkAPAAk%2F4UAPAAm%2F9cAPAAq%2F9cAPAAy%2F9cAPAA0%2F9cAPABE%2F5oAPABG%2F5oAPABH%2F5oAPABI%2F5oAPABK%2F9cAPABQ%2F8MAPABR%2F8MAPABS%2F5oAPABT%2F8MAPABU%2F5oAPABV%2F8MAPABW%2F64APABY%2F8MAPABd%2F9cAPACC%2F4UAPACD%2F4UAPACE%2F4UAPACF%2F4UAPACG%2F4UAPACH%2F4UAPACJ%2F9cAPACU%2F9cAPACV%2F9cAPACW%2F9cAPACX%2F9cAPACY%2F9cAPACa%2F9cAPACi%2F5oAPACj%2F5oAPACk%2F5oAPACl%2F5oAPACm%2F5oAPACn%2F5oAPACo%2F5oAPACp%2F5oAPACq%2F5oAPACr%2F5oAPACs%2F5oAPACt%2F5oAPAC0%2F5oAPAC1%2F5oAPAC2%2F5oAPAC3%2F5oAPAC4%2F5oAPAC6%2F5oAPAC7%2F8MAPAC8%2F8MAPAC9%2F8MAPAC%2B%2F8MAPADD%2F9cAPADE%2F5oAPADM%2F4UAPADP%2F4UAPQAm%2F%2BwAPQAq%2F%2BwAPQAy%2F%2BwAPQA0%2F%2BwAPQCJ%2F%2BwAPQCU%2F%2BwAPQCV%2F%2BwAPQCW%2F%2BwAPQCX%2F%2BwAPQCY%2F%2BwAPQCa%2F%2BwAPQDD%2F%2BwAPgAtALgARAAF%2F%2BwARAAK%2F%2BwARADL%2F%2BwARADO%2F%2BwARQAF%2F%2BwARQAK%2F%2BwARQBZ%2F9cARQBa%2F9cARQBb%2F9cARQBc%2F9cARQBd%2F%2BwARQC%2F%2F9cARQDL%2F%2BwARQDO%2F%2BwARgAFACkARgAKACkARgDLACkARgDOACkASAAF%2F%2BwASAAK%2F%2BwASABZ%2F9cASABa%2F9cASABb%2F9cASABc%2F9cASABd%2F%2BwASAC%2F%2F9cASADL%2F%2BwASADO%2F%2BwASQAFAHsASQAKAHsASQDLAHsASQDOAHsASwAF%2F%2BwASwAK%2F%2BwASwDL%2F%2BwASwDO%2F%2BwATgBG%2F9cATgBH%2F9cATgBI%2F9cATgBS%2F9cATgBU%2F9cATgCi%2F9cATgCp%2F9cATgCq%2F9cATgCr%2F9cATgCs%2F9cATgCt%2F9cATgC0%2F9cATgC1%2F9cATgC2%2F9cATgC3%2F9cATgC4%2F9cATgC6%2F9cATgDE%2F9cAUAAF%2F%2BwAUAAK%2F%2BwAUADL%2F%2BwAUADO%2F%2BwAUQAF%2F%2BwAUQAK%2F%2BwAUQDL%2F%2BwAUQDO%2F%2BwAUgAF%2F%2BwAUgAK%2F%2BwAUgBZ%2F9cAUgBa%2F9cAUgBb%2F9cAUgBc%2F9cAUgBd%2F%2BwAUgC%2F%2F9cAUgDL%2F%2BwAUgDO%2F%2BwAUwAF%2F%2BwAUwAK%2F%2BwAUwBZ%2F9cAUwBa%2F9cAUwBb%2F9cAUwBc%2F9cAUwBd%2F%2BwAUwC%2F%2F9cAUwDL%2F%2BwAUwDO%2F%2BwAVQAFAFIAVQAKAFIAVQBE%2F9cAVQBG%2F9cAVQBH%2F9cAVQBI%2F9cAVQBK%2F%2BwAVQBS%2F9cAVQBU%2F9cAVQCi%2F9cAVQCj%2F9cAVQCk%2F9cAVQCl%2F9cAVQCm%2F9cAVQCn%2F9cAVQCo%2F9cAVQCp%2F9cAVQCq%2F9cAVQCr%2F9cAVQCs%2F9cAVQCt%2F9cAVQC0%2F9cAVQC1%2F9cAVQC2%2F9cAVQC3%2F9cAVQC4%2F9cAVQC6%2F9cAVQDE%2F9cAVQDLAFIAVQDOAFIAVwAFACkAVwAKACkAVwDLACkAVwDOACkAWQAFAFIAWQAKAFIAWQAP%2F64AWQAR%2F64AWQAiACkAWQDLAFIAWQDM%2F64AWQDOAFIAWQDP%2F64AWgAFAFIAWgAKAFIAWgAP%2F64AWgAR%2F64AWgAiACkAWgDLAFIAWgDM%2F64AWgDOAFIAWgDP%2F64AWwBG%2F9cAWwBH%2F9cAWwBI%2F9cAWwBS%2F9cAWwBU%2F9cAWwCi%2F9cAWwCp%2F9cAWwCq%2F9cAWwCr%2F9cAWwCs%2F9cAWwCt%2F9cAWwC0%2F9cAWwC1%2F9cAWwC2%2F9cAWwC3%2F9cAWwC4%2F9cAWwC6%2F9cAWwDE%2F9cAXAAFAFIAXAAKAFIAXAAP%2F64AXAAR%2F64AXAAiACkAXADLAFIAXADM%2F64AXADOAFIAXADP%2F64AXgAtALgAggAF%2F3EAggAK%2F3EAggAm%2F9cAggAq%2F9cAggAtAQoAggAy%2F9cAggA0%2F9cAggA3%2F3EAggA5%2F64AggA6%2F64AggA8%2F4UAggCJ%2F9cAggCU%2F9cAggCV%2F9cAggCW%2F9cAggCX%2F9cAggCY%2F9cAggCa%2F9cAggCf%2F4UAggDD%2F9cAggDL%2F3EAggDO%2F3EAgwAF%2F3EAgwAK%2F3EAgwAm%2F9cAgwAq%2F9cAgwAtAQoAgwAy%2F9cAgwA0%2F9cAgwA3%2F3EAgwA5%2F64AgwA6%2F64AgwA8%2F4UAgwCJ%2F9cAgwCU%2F9cAgwCV%2F9cAgwCW%2F9cAgwCX%2F9cAgwCY%2F9cAgwCa%2F9cAgwCf%2F4UAgwDD%2F9cAgwDL%2F3EAgwDO%2F3EAhAAF%2F3EAhAAK%2F3EAhAAm%2F9cAhAAq%2F9cAhAAtAQoAhAAy%2F9cAhAA0%2F9cAhAA3%2F3EAhAA5%2F64AhAA6%2F64AhAA8%2F4UAhACJ%2F9cAhACU%2F9cAhACV%2F9cAhACW%2F9cAhACX%2F9cAhACY%2F9cAhACa%2F9cAhACf%2F4UAhADD%2F9cAhADL%2F3EAhADO%2F3EAhQAF%2F3EAhQAK%2F3EAhQAm%2F9cAhQAq%2F9cAhQAtAQoAhQAy%2F9cAhQA0%2F9cAhQA3%2F3EAhQA5%2F64AhQA6%2F64AhQA8%2F4UAhQCJ%2F9cAhQCU%2F9cAhQCV%2F9cAhQCW%2F9cAhQCX%2F9cAhQCY%2F9cAhQCa%2F9cAhQCf%2F4UAhQDD%2F9cAhQDL%2F3EAhQDO%2F3EAhgAF%2F3EAhgAK%2F3EAhgAm%2F9cAhgAq%2F9cAhgAtAQoAhgAy%2F9cAhgA0%2F9cAhgA3%2F3EAhgA5%2F64AhgA6%2F64AhgA8%2F4UAhgCJ%2F9cAhgCU%2F9cAhgCV%2F9cAhgCW%2F9cAhgCX%2F9cAhgCY%2F9cAhgCa%2F9cAhgCf%2F4UAhgDD%2F9cAhgDL%2F3EAhgDO%2F3EAhwAF%2F3EAhwAK%2F3EAhwAm%2F9cAhwAq%2F9cAhwAtAQoAhwAy%2F9cAhwA0%2F9cAhwA3%2F3EAhwA5%2F64AhwA6%2F64AhwA8%2F4UAhwCJ%2F9cAhwCU%2F9cAhwCV%2F9cAhwCW%2F9cAhwCX%2F9cAhwCY%2F9cAhwCa%2F9cAhwCf%2F4UAhwDD%2F9cAhwDL%2F3EAhwDO%2F3EAiAAtAHsAiQAm%2F9cAiQAq%2F9cAiQAy%2F9cAiQA0%2F9cAiQCJ%2F9cAiQCU%2F9cAiQCV%2F9cAiQCW%2F9cAiQCX%2F9cAiQCY%2F9cAiQCa%2F9cAiQDD%2F9cAigAtAHsAiwAtAHsAjAAtAHsAjQAtAHsAkgAP%2F64AkgAR%2F64AkgAk%2F9cAkgA3%2F8MAkgA5%2F%2BwAkgA6%2F%2BwAkgA7%2F9cAkgA8%2F%2BwAkgA9%2F%2BwAkgCC%2F9cAkgCD%2F9cAkgCE%2F9cAkgCF%2F9cAkgCG%2F9cAkgCH%2F9cAkgCf%2F%2BwAkgDM%2F64AkgDP%2F64AlAAP%2F64AlAAR%2F64AlAAk%2F9cAlAA3%2F8MAlAA5%2F%2BwAlAA6%2F%2BwAlAA7%2F9cAlAA8%2F%2BwAlAA9%2F%2BwAlACC%2F9cAlACD%2F9cAlACE%2F9cAlACF%2F9cAlACG%2F9cAlACH%2F9cAlACf%2F%2BwAlADM%2F64AlADP%2F64AlQAP%2F64AlQAR%2F64AlQAk%2F9cAlQA3%2F8MAlQA5%2F%2BwAlQA6%2F%2BwAlQA7%2F9cAlQA8%2F%2BwAlQA9%2F%2BwAlQCC%2F9cAlQCD%2F9cAlQCE%2F9cAlQCF%2F9cAlQCG%2F9cAlQCH%2F9cAlQCf%2F%2BwAlQDM%2F64AlQDP%2F64AlgAP%2F64AlgAR%2F64AlgAk%2F9cAlgA3%2F8MAlgA5%2F%2BwAlgA6%2F%2BwAlgA7%2F9cAlgA8%2F%2BwAlgA9%2F%2BwAlgCC%2F9cAlgCD%2F9cAlgCE%2F9cAlgCF%2F9cAlgCG%2F9cAlgCH%2F9cAlgCf%2F%2BwAlgDM%2F64AlgDP%2F64AlwAP%2F64AlwAR%2F64AlwAk%2F9cAlwA3%2F8MAlwA5%2F%2BwAlwA6%2F%2BwAlwA7%2F9cAlwA8%2F%2BwAlwA9%2F%2BwAlwCC%2F9cAlwCD%2F9cAlwCE%2F9cAlwCF%2F9cAlwCG%2F9cAlwCH%2F9cAlwCf%2F%2BwAlwDM%2F64AlwDP%2F64AmAAP%2F64AmAAR%2F64AmAAk%2F9cAmAA3%2F8MAmAA5%2F%2BwAmAA6%2F%2BwAmAA7%2F9cAmAA8%2F%2BwAmAA9%2F%2BwAmACC%2F9cAmACD%2F9cAmACE%2F9cAmACF%2F9cAmACG%2F9cAmACH%2F9cAmACf%2F%2BwAmADM%2F64AmADP%2F64AmgAP%2F64AmgAR%2F64AmgAk%2F9cAmgA3%2F8MAmgA5%2F%2BwAmgA6%2F%2BwAmgA7%2F9cAmgA8%2F%2BwAmgA9%2F%2BwAmgCC%2F9cAmgCD%2F9cAmgCE%2F9cAmgCF%2F9cAmgCG%2F9cAmgCH%2F9cAmgCf%2F%2BwAmgDM%2F64AmgDP%2F64AmwAP%2F9cAmwAR%2F9cAmwAk%2F%2BwAmwCC%2F%2BwAmwCD%2F%2BwAmwCE%2F%2BwAmwCF%2F%2BwAmwCG%2F%2BwAmwCH%2F%2BwAmwDM%2F9cAmwDP%2F9cAnAAP%2F9cAnAAR%2F9cAnAAk%2F%2BwAnACC%2F%2BwAnACD%2F%2BwAnACE%2F%2BwAnACF%2F%2BwAnACG%2F%2BwAnACH%2F%2BwAnADM%2F9cAnADP%2F9cAnQAP%2F9cAnQAR%2F9cAnQAk%2F%2BwAnQCC%2F%2BwAnQCD%2F%2BwAnQCE%2F%2BwAnQCF%2F%2BwAnQCG%2F%2BwAnQCH%2F%2BwAnQDM%2F9cAnQDP%2F9cAngAP%2F9cAngAR%2F9cAngAk%2F%2BwAngCC%2F%2BwAngCD%2F%2BwAngCE%2F%2BwAngCF%2F%2BwAngCG%2F%2BwAngCH%2F%2BwAngDM%2F9cAngDP%2F9cAnwAP%2F4UAnwAR%2F4UAnwAiACkAnwAk%2F4UAnwAm%2F9cAnwAq%2F9cAnwAy%2F9cAnwA0%2F9cAnwBE%2F5oAnwBG%2F5oAnwBH%2F5oAnwBI%2F5oAnwBK%2F9cAnwBQ%2F8MAnwBR%2F8MAnwBS%2F5oAnwBT%2F8MAnwBU%2F5oAnwBV%2F8MAnwBW%2F64AnwBY%2F8MAnwBd%2F9cAnwCC%2F4UAnwCD%2F4UAnwCE%2F4UAnwCF%2F4UAnwCG%2F4UAnwCH%2F4UAnwCJ%2F9cAnwCU%2F9cAnwCV%2F9cAnwCW%2F9cAnwCX%2F9cAnwCY%2F9cAnwCa%2F9cAnwCi%2F5oAnwCj%2F5oAnwCk%2F5oAnwCl%2F5oAnwCm%2F5oAnwCn%2F5oAnwCo%2F5oAnwCp%2F5oAnwCq%2F5oAnwCr%2F5oAnwCs%2F5oAnwCt%2F5oAnwC0%2F5oAnwC1%2F5oAnwC2%2F5oAnwC3%2F5oAnwC4%2F5oAnwC6%2F5oAnwC7%2F8MAnwC8%2F8MAnwC9%2F8MAnwC%2B%2F8MAnwDD%2F9cAnwDE%2F5oAnwDM%2F4UAnwDP%2F4UAoAAP%2FvYAoAAR%2FvYAoAAk%2F5oAoAA7%2F9cAoAA9%2F%2BwAoACC%2F5oAoACD%2F5oAoACE%2F5oAoACF%2F5oAoACG%2F5oAoACH%2F5oAoADM%2FvYAoADP%2FvYAogAF%2F%2BwAogAK%2F%2BwAogDL%2F%2BwAogDO%2F%2BwAowAF%2F%2BwAowAK%2F%2BwAowDL%2F%2BwAowDO%2F%2BwApAAF%2F%2BwApAAK%2F%2BwApADL%2F%2BwApADO%2F%2BwApQAF%2F%2BwApQAK%2F%2BwApQDL%2F%2BwApQDO%2F%2BwApgAF%2F%2BwApgAK%2F%2BwApgDL%2F%2BwApgDO%2F%2BwApwAF%2F%2BwApwAK%2F%2BwApwDL%2F%2BwApwDO%2F%2BwAqgAF%2F%2BwAqgAK%2F%2BwAqgBZ%2F9cAqgBa%2F9cAqgBb%2F9cAqgBc%2F9cAqgBd%2F%2BwAqgC%2F%2F9cAqgDL%2F%2BwAqgDO%2F%2BwAqwAF%2F%2BwAqwAK%2F%2BwAqwBZ%2F9cAqwBa%2F9cAqwBb%2F9cAqwBc%2F9cAqwBd%2F%2BwAqwC%2F%2F9cAqwDL%2F%2BwAqwDO%2F%2BwArAAF%2F%2BwArAAK%2F%2BwArABZ%2F9cArABa%2F9cArABb%2F9cArABc%2F9cArABd%2F%2BwArAC%2F%2F9cArADL%2F%2BwArADO%2F%2BwArQAF%2F%2BwArQAK%2F%2BwArQBZ%2F9cArQBa%2F9cArQBb%2F9cArQBc%2F9cArQBd%2F%2BwArQC%2F%2F9cArQDL%2F%2BwArQDO%2F%2BwAsgAF%2F%2BwAsgAK%2F%2BwAsgBZ%2F9cAsgBa%2F9cAsgBb%2F9cAsgBc%2F9cAsgBd%2F%2BwAsgC%2F%2F9cAsgDL%2F%2BwAsgDO%2F%2BwAtAAF%2F%2BwAtAAK%2F%2BwAtABZ%2F9cAtABa%2F9cAtABb%2F9cAtABc%2F9cAtABd%2F%2BwAtAC%2F%2F9cAtADL%2F%2BwAtADO%2F%2BwAtQAF%2F%2BwAtQAK%2F%2BwAtQBZ%2F9cAtQBa%2F9cAtQBb%2F9cAtQBc%2F9cAtQBd%2F%2BwAtQC%2F%2F9cAtQDL%2F%2BwAtQDO%2F%2BwAtgAF%2F%2BwAtgAK%2F%2BwAtgBZ%2F9cAtgBa%2F9cAtgBb%2F9cAtgBc%2F9cAtgBd%2F%2BwAtgC%2F%2F9cAtgDL%2F%2BwAtgDO%2F%2BwAuAAF%2F9cAuAAK%2F9cAuADL%2F9cAuADO%2F9cAugAF%2F%2BwAugAK%2F%2BwAugBZ%2F9cAugBa%2F9cAugBb%2F9cAugBc%2F9cAugBd%2F%2BwAugC%2F%2F9cAugDL%2F%2BwAugDO%2F%2BwAvwAFAFIAvwAKAFIAvwAP%2F64AvwAR%2F64AvwAiACkAvwDLAFIAvwDM%2F64AvwDOAFIAvwDP%2F64AwAAF%2F%2BwAwAAK%2F%2BwAwABZ%2F9cAwABa%2F9cAwABb%2F9cAwABc%2F9cAwABd%2F%2BwAwAC%2F%2F9cAwADL%2F%2BwAwADO%2F%2BwAwQAFAFIAwQAKAFIAwQAP%2F64AwQAR%2F64AwQAiACkAwQDLAFIAwQDM%2F64AwQDOAFIAwQDP%2F64AwwAtAHsAyAA3%2F64AyQA3%2F64AygAk%2F3EAygA3ACkAygA5ACkAygA6ACkAygA8ABQAygBE%2F64AygBG%2F4UAygBH%2F4UAygBI%2F4UAygBK%2F8MAygBQ%2F8MAygBR%2F8MAygBS%2F4UAygBT%2F8MAygBU%2F4UAygBV%2F8MAygBW%2F8MAygBY%2F8MAygCC%2F3EAygCD%2F3EAygCE%2F3EAygCF%2F3EAygCG%2F3EAygCH%2F3EAygCfABQAygCi%2F4UAygCj%2F64AygCk%2F64AygCl%2F64AygCm%2F64AygCn%2F64AygCo%2F64AygCp%2F4UAygCq%2F4UAygCr%2F4UAygCs%2F4UAygCt%2F4UAygC0%2F4UAygC1%2F4UAygC2%2F4UAygC3%2F4UAygC4%2F4UAygC6%2F4UAygC7%2F8MAygC8%2F8MAygC9%2F8MAygC%2B%2F8MAygDE%2F4UAywAk%2F3EAywA3ACkAywA5ACkAywA6ACkAywA8ABQAywBE%2F64AywBG%2F4UAywBH%2F4UAywBI%2F4UAywBK%2F8MAywBQ%2F8MAywBR%2F8MAywBS%2F4UAywBT%2F8MAywBU%2F4UAywBV%2F8MAywBW%2F8MAywBY%2F8MAywCC%2F3EAywCD%2F3EAywCE%2F3EAywCF%2F3EAywCG%2F3EAywCH%2F3EAywCfABQAywCi%2F4UAywCj%2F64AywCk%2F64AywCl%2F64AywCm%2F64AywCn%2F64AywCo%2F64AywCp%2F4UAywCq%2F4UAywCr%2F4UAywCs%2F4UAywCt%2F4UAywC0%2F4UAywC1%2F4UAywC2%2F4UAywC3%2F4UAywC4%2F4UAywC6%2F4UAywC7%2F8MAywC8%2F8MAywC9%2F8MAywC%2B%2F8MAywDE%2F4UAzAAm%2F5oAzAAq%2F5oAzAAy%2F5oAzAA0%2F5oAzAA3%2F3EAzAA4%2F9cAzAA5%2F4UAzAA6%2F4UAzAA8%2F4UAzACJ%2F5oAzACU%2F5oAzACV%2F5oAzACW%2F5oAzACX%2F5oAzACY%2F5oAzACa%2F5oAzACb%2F9cAzACc%2F9cAzACd%2F9cAzACe%2F9cAzACf%2F4UAzADD%2F5oAzQAk%2F3EAzQA3ACkAzQA5ACkAzQA6ACkAzQA8ABQAzQBE%2F64AzQBG%2F4UAzQBH%2F4UAzQBI%2F4UAzQBK%2F8MAzQBQ%2F8MAzQBR%2F8MAzQBS%2F4UAzQBT%2F8MAzQBU%2F4UAzQBV%2F8MAzQBW%2F8MAzQBY%2F8MAzQCC%2F3EAzQCD%2F3EAzQCE%2F3EAzQCF%2F3EAzQCG%2F3EAzQCH%2F3EAzQCfABQAzQCi%2F4UAzQCj%2F64AzQCk%2F64AzQCl%2F64AzQCm%2F64AzQCn%2F64AzQCo%2F64AzQCp%2F4UAzQCq%2F4UAzQCr%2F4UAzQCs%2F4UAzQCt%2F4UAzQC0%2F4UAzQC1%2F4UAzQC2%2F4UAzQC3%2F4UAzQC4%2F4UAzQC6%2F4UAzQC7%2F8MAzQC8%2F8MAzQC9%2F8MAzQC%2B%2F8MAzQDE%2F4UAzwAm%2F5oAzwAq%2F5oAzwAy%2F5oAzwA0%2F5oAzwA3%2F3EAzwA4%2F9cAzwA5%2F4UAzwA6%2F4UAzwA8%2F4UAzwCJ%2F5oAzwCU%2F5oAzwCV%2F5oAzwCW%2F5oAzwCX%2F5oAzwCY%2F5oAzwCa%2F5oAzwCb%2F9cAzwCc%2F9cAzwCd%2F9cAzwCe%2F9cAzwCf%2F4UAzwDD%2F5oAAAAaAT4AAQAAAAAAAAA5AHQAAQAAAAAAAQAJAMIAAQAAAAAAAgAGANoAAQAAAAAAAwAlAS0AAQAAAAAABAAQAXUAAQAAAAAABQAMAaAAAQAAAAAABgAPAc0AAQAAAAAABwBSAoMAAQAAAAAACAAUAwAAAQAAAAAACwAcA08AAQAAAAAADAAuA8oAAQAAAAAADQAuBFcAAQAAAAAADgAqBNwAAwABBAkAAAByAAAAAwABBAkAAQASAK4AAwABBAkAAgAMAMwAAwABBAkAAwBKAOEAAwABBAkABAAgAVMAAwABBAkABQAYAYYAAwABBAkABgAeAa0AAwABBAkABwCkAd0AAwABBAkACAAoAtYAAwABBAkACwA4AxUAAwABBAkADABcA2wAAwABBAkADQBcA%2FkAAwABBAkADgBUBIYARABpAGcAaQB0AGkAegBlAGQAIABkAGEAdABhACAAYwBvAHAAeQByAGkAZwBoAHQAIACpACAAMgAwADEAMAAtADIAMAAxADEALAAgAEcAbwBvAGcAbABlACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAC4AAERpZ2l0aXplZCBkYXRhIGNvcHlyaWdodCCpIDIwMTAtMjAxMSwgR29vZ2xlIENvcnBvcmF0aW9uLgAATwBwAGUAbgAgAFMAYQBuAHMAAE9wZW4gU2FucwAASQB0AGEAbABpAGMAAEl0YWxpYwAAQQBzAGMAZQBuAGQAZQByACAALQAgAE8AcABlAG4AIABTAGEAbgBzACAASQB0AGEAbABpAGMAIABCAHUAaQBsAGQAIAAxADAAMAAAQXNjZW5kZXIgLSBPcGVuIFNhbnMgSXRhbGljIEJ1aWxkIDEwMAAATwBwAGUAbgAgAFMAYQBuAHMAIABJAHQAYQBsAGkAYwAAT3BlbiBTYW5zIEl0YWxpYwAAVgBlAHIAcwBpAG8AbgAgADEALgAxADAAAFZlcnNpb24gMS4xMAAATwBwAGUAbgBTAGEAbgBzAC0ASQB0AGEAbABpAGMAAE9wZW5TYW5zLUl0YWxpYwAATwBwAGUAbgAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABHAG8AbwBnAGwAZQAgAGEAbgBkACAAbQBhAHkAIABiAGUAIAByAGUAZwBpAHMAdABlAHIAZQBkACAAaQBuACAAYwBlAHIAdABhAGkAbgAgAGoAdQByAGkAcwBkAGkAYwB0AGkAbwBuAHMALgAAT3BlbiBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIEdvb2dsZSBhbmQgbWF5IGJlIHJlZ2lzdGVyZWQgaW4gY2VydGFpbiBqdXJpc2RpY3Rpb25zLgAAQQBzAGMAZQBuAGQAZQByACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAABBc2NlbmRlciBDb3Jwb3JhdGlvbgAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tLwAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwB0AHkAcABlAGQAZQBzAGkAZwBuAGUAcgBzAC4AaAB0AG0AbAAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tL3R5cGVkZXNpZ25lcnMuaHRtbAAATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMAAATGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAAGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAAAAAAAAgAA%2F%2FQAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADWAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA%2BAD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCsAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQIAigEDAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB%2BAIAAgQDsAO4AugDXALAAsQDYAN0A2QCyALMAtgC3AMQAtAC1AMUAhwC%2BAL8AvAEEAQUHdW5pMDBBRAlvdmVyc2NvcmUMZm91cnN1cGVyaW9yBEV1cm8AAAABAAMACAAKAA0AB%2F%2F%2FAA8AAAABAAAAAMmJbzEAAAAAyWNIwAAAAADJ7dha%29%20format%28%27truetype%27%29%3B%0A%7D%0A%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%3B%0Afont%2Dstyle%3A%20italic%3B%0Afont%2Dweight%3A%20600%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAQAQAABAAARkZUTVzakCwAAIdAAAAAHE9TLzKiF7fYAAABiAAAAGBjbWFwjOjcmQAABUAAAAGyY3Z0IBCQGPYAAA%2FAAAAApmZwZ21%2BYbYRAAAG9AAAB7RnYXNwAAgAGwAAhzQAAAAMZ2x5ZlP99RUAABIYAABI%2BGhlYWT4yBTmAAABDAAAADZoaGVhDlsE5gAAAUQAAAAkaG10eH8IOQoAAAHoAAADWGtlcm4Mlg8JAABbEAAAIwRsb2NhVbZEUAAAEGgAAAGubWF4cAJpAQYAAAFoAAAAIG5hbWUVGrLBAAB%2BFAAAByxwb3N0gmzp1QAAhUAAAAHycHJlcHisnCUAAA6oAAABGAABAAAAARmaflhYuV8PPPUAHwgAAAAAAMnt2GQAAAAAye3YZP4C%2FhQHtAdzAAMACAACAAAAAAAAAAEAAAiN%2FagAAAgA%2FgL%2BBAe0AGQAFQAAAAAAAAAAAAAAAADWAAEAAADWAEUABQA8AAQAAgAQAC8AXAAAARoAUwADAAEAAwQvAlgABQAIBZoFMwAAAR8FmgUzAAAD0QBmAgAAAAILBwYDCAQCAgTgAALvQAAgWwAAACgAAAAAMUFTQwAhACAgrAYf%2FhQAhAiNAlggAAGfAAAAAARSBbYAAAAgAAEIAAAAAAAAAAQUAAACFAAAAi0AIQNaANUFKwAzBGgAPQaYAI0FgwBCAeMA1QJ%2FAE4Cf%2F9mBGIAwQRoAHUCEv%2BaAokALwInACEDFP%2BkBGgAXARoAPIEaP%2FuBGgAHwRo%2F%2FwEaAA1BGgAbwRoAH0EaABMBGgAXAInACECJ%2F%2BcBGgAcwRoAHUEaABzA4sAogbPAGQEuv%2BHBN8ARgTJAIcFXgBGBDUARgQCAEYFdwCHBYMARgJgAEYCZP6%2BBK4ARgP4AEYG3QBEBdMARAXNAIcElgBGBc0AhwS2AEYEIQAnBB0AsAV3AJgEjQC6BvwAywR%2F%2F5EERAC6BET%2F2QJ3%2F%2BUDFADdAnf%2FcQQtACUDLf9EBG8CHQSiAF4EsAAvA7oAXgSuAF4EMwBeAr7%2FHwQr%2F4cEuAAvAjMALwIz%2FvoEOQAvAjMALwcbAC8EuAAvBJYAXgSw%2F8kErgBeA0QALwOaAA4C8ABcBLgAbwPlAGQGBAB5BAj%2FqgPs%2F1YDmP%2FZAtEACARoAfIC0f%2BoBGgAbwIUAAACLf%2FTBGgAwwRo%2F%2B4EaACNBGgAagRoAfID4wAnBG8BqgaoAIMC2QCgBB8AUARoAHUCiQAvBqgAgwOHAG8DbQC8BGgAdQLpAE4C6QBoBG8B%2FATF%2F8kFPQCsAicAlgGk%2F0QC6QDBAtEApAQfAAoGfQCVBn0AeQaTAGwDi%2F%2FdBLr%2FhwS6%2F4cEuv%2BHBLr%2FhwS6%2F4cEuv%2BHBtn%2FhwTJAIcENQBGBDUARgQ1AEYENQBGAmAARgJgAEYCYABGAmAARgVeADUF0wBEBc0AhwXNAIcFzQCHBc0AhwXNAIcEaACTBc0AbQV3AJgFdwCYBXcAmAV3AJgERAC6BJYARgTy%2Fv4EogBeBKIAXgSiAF4EogBeBKIAXgSiAF4GvgBeA7oAXgQzAF4EMwBeBDMAXgQzAF4CMwAvAjMALwIzAC8CMwAvBJYAUAS4AC8ElgBeBJYAXgSWAF4ElgBeBJYAXgRoAHUElgAzBLgAbwS4AG8EuABvBLgAbwPs%2F1YEsP%2FJA%2Bz%2FVgIzAC8HBgCHBvwAXgRvAWIEngIdBG8BRgPXAC8HrgAvAYkAdwGJAHMCEv%2BaAyMAdwMjAHMDqv%2BaAvQAmAJtAFACbQAKAQb%2BAgLpAEYEaAAzAAAAAwAAAAMAAAAcAAEAAAAAAKwAAwABAAAAHAAEAJAAAAAgACAABAAAAH4A%2FwExAVMCxgLaAtwgFCAaIB4gIiA6IEQgdCCs%2F%2F8AAAAgAKABMQFSAsYC2gLcIBMgGCAcICIgOSBEIHQgrP%2F%2F%2F%2BP%2Fwv%2BR%2F3H9%2F%2F3s%2FevgteCy4LHgruCY4I%2FgYOApAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0%2BP0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAhoeJi5OYnqOipKalp6mrqqytr66wsbO1tLa4t7y7vb4AcmRladB4oXBrAHZqAIiaAHMAAGd3AAAAAABsfACouoFjbgAAAABtfQBigoWXw8TIyc3Oysu5AMEA09XR0gAAAHnMzwCEjIONio%2BQkY6VlgCUnJ2bwsXHcQAAxnoAAAAAAEBHW1pZWFVUU1JRUE9OTUxLSklIR0ZFRENCQUA%2FPj08Ozo5ODc2NTEwLy4tLCgnJiUkIyIhHxgUERAPDg0LCgkIBwYFBAMCAQAsILABYEWwAyUgEUZhI0UjYUgtLCBFGGhELSxFI0ZgsCBhILBGYLAEJiNISC0sRSNGI2GwIGAgsCZhsCBhsAQmI0hILSxFI0ZgsEBhILBmYLAEJiNISC0sRSNGI2GwQGAgsCZhsEBhsAQmI0hILSwBECA8ADwtLCBFIyCwzUQjILgBWlFYIyCwjUQjWSCw7VFYIyCwTUQjWSCwBCZRWCMgsA1EI1khIS0sICBFGGhEILABYCBFsEZ2aIpFYEQtLAGxCwpDI0NlCi0sALEKC0MjQwstLACwKCNwsQEoPgGwKCNwsQIoRTqxAgAIDS0sIEWwAyVFYWSwUFFYRUQbISFZLSxJsA4jRC0sIEWwAENgRC0sAbAGQ7AHQ2UKLSwgabBAYbAAiyCxLMCKjLgQAGJgKwxkI2RhXFiwA2FZLSyKA0WKioewESuwKSNEsCl65BgtLEVlsCwjREWwKyNELSxLUlhFRBshIVktLEtRWEVEGyEhWS0sAbAFJRAjIIr1ALABYCPt7C0sAbAFJRAjIIr1ALABYSPt7C0sAbAGJRD1AO3sLSywAkOwAVJYISEhISEbRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F7qLG7BGjFmwEGBoATpZLSwgRbADJUZSS7ATUVtYsAIlRiBoYbADJbADJT8jITgbIRFZLSwgRbADJUZQWLACJUYgaGGwAyWwAyU%2FIyE4GyERWS0sALAHQ7AGQwstLCEhDGQjZIu4QABiLSwhsIBRWAxkI2SLuCAAYhuyAEAvK1mwAmAtLCGwwFFYDGQjZIu4FVViG7IAgC8rWbACYC0sDGQjZIu4QABiYCMhLSxLU1iKsAQlSWQjRWmwQIthsIBisCBharAOI0QjELAO9hshI4oSESA5L1ktLEtTWCCwAyVJZGkgsAUmsAYlSWQjYbCAYrAgYWqwDiNEsAQmELAO9ooQsA4jRLAO9rAOI0SwDu0birAEJhESIDkjIDkvL1ktLEUjRWAjRWAjRWAjdmgYsIBiIC0ssEgrLSwgRbAAVFiwQEQgRbBAYUQbISFZLSxFsTAvRSNFYWCwAWBpRC0sS1FYsC8jcLAUI0IbISFZLSxLUVggsAMlRWlTWEQbISFZGyEhWS0sRbAUQ7AAYGOwAWBpRC0ssC9FRC0sRSMgRYpgRC0sRSNFYEQtLEsjUVi5ADP%2F4LE0IBuzMwA0AFlERC0ssBZDWLADJkWKWGRmsB9gG2SwIGBmIFgbIbBAWbABYVkjWGVZsCkjRCMQsCngGyEhISEhWS0ssAJDVFhLUyNLUVpYOBshIVkbISEhIVktLLAWQ1iwBCVFZLAgYGYgWBshsEBZsAFhI1gbZVmwKSNEsAUlsAglCCBYAhsDWbAEJRCwBSUgRrAEJSNCPLAEJbAHJQiwByUQsAYlIEawBCWwAWAjQjwgWAEbAFmwBCUQsAUlsCngsCkgRWVEsAclELAGJbAp4LAFJbAIJQggWAIbA1mwBSWwAyVDSLAEJbAHJQiwBiWwAyWwAWBDSBshWSEhISEhISEtLAKwBCUgIEawBCUjQrAFJQiwAyVFSCEhISEtLAKwAyUgsAQlCLACJUNIISEhLSxFIyBFGCCwAFAgWCNlI1kjaCCwQFBYIbBAWSNYZVmKYEQtLEtTI0tRWlggRYpgRBshIVktLEtUWCBFimBEGyEhWS0sS1MjS1FaWDgbISFZLSywACFLVFg4GyEhWS0ssAJDVFiwRisbISEhIVktLLACQ1RYsEcrGyEhIVktLLACQ1RYsEgrGyEhISFZLSywAkNUWLBJKxshISFZLSwgiggjS1OKS1FaWCM4GyEhWS0sALACJUmwAFNYILBAOBEbIVktLAFGI0ZgI0ZhIyAQIEaKYbj%2FgGKKsUBAinBFYGg6LSwgiiNJZIojU1g8GyFZLSxLUlh9G3pZLSywEgBLAUtUQi0ssQIAQrEjAYhRsUABiFNaWLkQAAAgiFRYsgIBAkNgQlmxJAGIUVi5IAAAQIhUWLICAgJDYEKxJAGIVFiyAiACQ2BCAEsBS1JYsgIIAkNgQlkbuUAAAICIVFiyAgQCQ2BCWblAAACAY7gBAIhUWLICCAJDYEJZuUAAAQBjuAIAiFRYsgIQAkNgQlmxJgGIUVi5QAACAGO4BACIVFiyAkACQ2BCWblAAAQAY7gIAIhUWLICgAJDYEJZWVlZWVmxAAJDVFhACgVACEAJQAwCDQIbsQECQ1RYsgVACLoBAAAJAQCzDAENARuxgAJDUliyBUAIuAGAsQlAG7IFQAi6AYAACQFAWblAAACAiFW5QAACAGO4BACIVVpYswwADQEbswwADQFZWVlCQkJCQi0sRRhoI0tRWCMgRSBksEBQWHxZaIpgWUQtLLAAFrACJbACJQGwASM%2BALACIz6xAQIGDLAKI2VCsAsjQgGwASM%2FALACIz%2BxAQIGDLAGI2VCsAcjQrABFgEtLLCAsAJDULABsAJDVFtYISMQsCAayRuKEO1ZLSywWSstLIoQ5S1ApQkhSCBVIAEeVR9IHlUfHgEPHj8erx4DT0YcH05NGx9NRhofJjQQVSUk%2Fx8ZE%2F8fBwT%2FHwYD%2Fx9MSxwfS0YbHxMzElUFAQNVBDMDVR8DAQ8DPwOvAwPLSttK60oDy0kBSEYSH0dGEh9JRgEjSCJVHDMbVRYzFVURAQ9VEDMPVc8PAR8PAQ8P3w%2F%2FDwMGAgEAVQEzAFVvAH8ArwDvAAQQAAGAFgEFAbgBkLFUUysrS7gH%2F1JLsAlQW7ABiLAlU7ABiLBAUVqwBoiwAFVaW1ixAQGOWYWNjQBCHUuwMlNYsCAdWUuwZFNYsBAdsRYAQllzcysrXnN0dCsrKysrdCsrc3NzdCsrKysrKysrKysrKytzdCsrKxheBhQAFwBOBbYAFwB1BbYFzQAAAAAAAAAAAAAAAAAABFIAFACGAAD%2F7AAAAAD%2F7AAAAAD%2F7AAA%2FhT%2F7AAABbYAFfyU%2F%2Bv%2Bef%2F0%2Fqj%2BqAAX%2FrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAwAC4ALAAowCUAMAAzQDFAM8AugCaATEAsgAAAAAAAAAAAAAAAAAsAEoAngEIAXIB3AHwAhACMAJaAnwClAKoAsQC2gMWAzYDdAPIBAQERgSeBL4FHAVwBaIF0AXqBg4GKAZ2BvYHJgdyB6oH4AgOCDQIfAikCLgI3AkGCSAJVgmGCcYJ%2BgpGCoIKygrqCxwLQguEC64Lzgv2DBIMJgxCDF4McAyKDNINIA1UDaQN8A42DroO9g8mD2oPmA%2BqD%2FoQMhBsELYRBBEuEXIRsBHqEgwSThJ4Eq4S2BMmEzgThBO8E7wT5hQqFHYUwBUKFSgVjhW8FiwWbBaWFrAWuBcsFz4XbBeeF9IYGhg0GHIYmBiiGNAY8BkiGU4ZZBl6GZAZ4hn0GgYaGBoqGj4aUBqaGqYauBrKGtwa8BsCGxQbJhs6G4YbmBuqG7wbzhvgG%2FQcIBx%2BHJAcohy0HMgc2h0SHXwdjh2gHbIdxB3WHegeaB50HoYemB6qHrwezh7gHvIfBh9oH3ofjB%2BeH7Afwh%2FUIBAgaiB8II4goCCyIMQhFCEmITghkiIGIigiXCKSIqQitiLQIuwjAiMqI1QjeCOSI6wjxiPcJBIkfAAAAAIAIf%2FlAlgFtgADAA8AGEALAQENAgMNB1FZDRMAPysAGD8SOS8xMAEjEyEBNDYzMhYVFAYjIiYBULCoARD9yVtVOUReTD5FAbwD%2BvqqUGRBPU9iQwAAAAACANUDpgN9BbYAAwAHAA20BgIHAwMAPzPNMjEwAQMjEyEDIxMCBJeYSAJgmJlKBbb98AIQ%2FfACEAAAAAACADMAAAU3BbYAGwAfADNAGAAfEBAZFREECAwMARwNEQ0RChcTAwYKEgA%2FMz8zEjk5Ly8zMzMRMzMRMzMzETMzMTABAyEHIQMjEyMDIxMjNyETITchEzMDMxMzAzMHATMTIwQMVAEPD%2F7RebR7%2BHmudfoRARhU%2FvgQASd5snn8ea55%2FA785fpS%2BgNo%2FuKo%2Fl4Bov5eAaKoAR6oAab%2BWgGm%2Flqo%2FuIBHgADAD3%2FiQRIBhIAHwAlACsAQUAiFUAPEkgcJQ0DKysTBAZAIAwGDE9ZAwYVE0AbJhMmTVkWEwAvMysRADMaGBDNLzMrEQAzGhgQzRI5ERczKzEwARQGDwEjNyYnNR4BFxMuATU0Nj8BMwcWFwcmJwMeAgE%2BATU0JwMOARUUFwPb79othy3FiU7LXFSch%2B3OJYcjoYBWhm5QgHU4%2FmBWZXMOWVluAe6s0hTT0w1D0So4AgGDOKV1p8kRo6UQQrlCCP6NM1hy%2FuELYk1lLAJEC11MYikAAAUAjf%2FsBkYFywALABkAHQApADcAJ0ATHjUGEDUQNRAcHQMcEgAXByQuEwA%2FMz8zPz8SOTkvLxEzETMxMAEiDgEVFDMyPgE1NBcUAgYjIiY1NBI2MzIWJQEjARMiDgEVFDMyPgE1NBcUAgYjIiY1NBI2MzIWAhI3WDVQNFc7wW%2B2c3yEarN3f4UCwvvDwwQ%2BDDRXOVE0WDvBb7Zxf4Vqs3Z%2FiAUjeuBnh3TrZoOBoP7Nmp6VpgEnlpiD%2BkoFtv0lc%2BNshnXoaIN%2Fof7LmpmSqwEqlZYAAwBC%2F%2BwFWgXNAAoAFAAxADRAHQUYIw8ELx0kDiksBCYmHSsSHQBLWR0ELwtLWS8TAD8rABg%2FKwAYPxI5Ehc5ERIXOTEwASIGFRQXPgE1NCYBMjY3AQ4BFRQWJTQ2NyY1NDYzMhYVFAYHEzY3MwIHEyEnDgEjIiYC7FdePpNpSP7TTYxK%2FviFYXD%2BoavJWOG5oLizzOttSOlxuM3%2B615q0ny%2B0wUSbFhtXEt1REJH%2B542NwF9SodWVm2uk9Zil4S01aKJgcpb%2Frpwt%2F7yuP7pg1BHwwABANUDpgIEBbYAAwAJsgIDAwA%2FzTEwAQMjEwIEl5hIBbb98AIQAAAAAQBO%2FrwDFwW2AAoACrMJJwMDAD8%2FMTATEBIBMwAREBMjAk75AP%2FR%2Fg5zt5MBFAFXAkMBCP3c%2FX7%2Bt%2F71AQUAAAH%2FZv68Ai8FtgAKAAqzBCcIAwA%2FPzEwARACASMAERADMxICL%2Fb%2B%2FtEB8nO3kwNc%2Fqr9wf71AiQCggFHAQ3%2B9wABAMECVgSDBh8ADgAJsgYOAAA%2FzTEwAQMlByUTBwsBJwElNwUTA2R0AZMM%2FpGqzWbjogEl%2FqJHAWIlBfT%2BkRfNLf6XPQFz%2FsiQAQpkw7IBfwAAAAABAHUBAAQdBKgACwAStwkBAgFSWQYCAC8zKxEAMzEwASE1IREzESEVIREjAfD%2BhQF7tAF5%2Foe0Ane0AX3%2Bg7T%2BiQAAAAH%2Fmv74AVYA7gAGAAixBAAAL80xMCUXAgcjNhMBTgh9jbJpX%2B4X%2Fvzb7gEIAAAAAAEALwG%2BAlICiQADAAu0AQBMWQEALysxMBM3IQcvLQH2LQG%2By8sAAAABACH%2F4wFOARQACwAMtQkDUVkJEwA%2FKzEwNzQ2MzIWFRQGIyImIV5UOENfTUI%2FXlNjPz1OZ0cAAAH%2FpAAAA7gFtgADAAqzAwMCEgA%2FPzEwCQEjAQO4%2FNXpAysFtvpKBbYAAAAAAgBc%2F%2BwETAXNAA0AGgAXQAwLDk1ZCwcEFU1ZBBkAPysAGD8rMTABEAIEIyICNRASJDMyFiUiBgIVFBYzMjYSNRAETJ7%2B6LnCv6YBF7a7wv5wYaZrTlpkpWMD9P7O%2Fh%2F1AP%2FsARwB5PbtKOD%2Bb8KPluMBltMBDAAAAQDyAAADtAW2AAoAELYHBAEJBgEYAD8%2FEjk5MTAhIxM2NwYPAScBMwJ97r0cNjlOu2oB%2FMYDZpauNy91qgE9AAH%2F7gAABD8FywAbAB1ADxEKTVkRBwIaAQEaTlkBGAA%2FKxESADkYPysxMCkBNwE%2BAjU0JiMiBgcnPgEzMhYVFA4BBwEVIQOP%2FF8kAdewfThjWkaKZXN43nW11k6oyP7JAm60AaafkHtGVWM8T6BhU7qebLrDq%2F74CAAAAAABAB%2F%2F7AQ%2FBcsAKAAtQBcDFxgYF09ZGBgLJiYfTVkmBwsRTVkLGQA%2FKwAYPysREgA5GC8rERIAOTEwARQGBxUeARUUBgQjIic1HgEzMjY1NCEjNzMyNjU0JiMiBgcnPgEzMhYEP8aqf4uI%2Fv%2Bw4aBUy16dsP7qhSVqpM9jWkiVWGh403m3zgSBntQfBxike4XPck%2FXMTWPfdu3lX1PWzM7oVFBsQAAAAAC%2F%2FwAAARCBboACgASAClAFwEFEgVNWQkPEh8SAlASARISAw8HBgMYAD8%2FMxI5L11dMysRADMxMAEjAyMTITcBMwMzIRM2NyMGBwEEF8lE5UX9kiUDI%2F7Jyf5RRB9FCDNU%2FloBPf7DAT3FA7j8SAE1iPFWZP4MAAABADX%2F7ARYBbYAGwAmQBQAEk9ZAAAHFhYZTlkWBgcMTVkHGQA%2FKwAYPysREgA5GC8rMTABMhYVFAYEIyInNRYzMjY1NCYjIgcnEyEHIQM2AmK114z%2B9L7WjaevrcJ8fl%2BCWMgCyS3%2BBmpdA4vPtqH0hU%2FZZKaTaX8jRALE0f6UEgAAAAACAG%2F%2F7ARtBcsAGQAoAC1AFw0XEBAgT1kQEBcFBQpNWQUHFxpNWRcZAD8rABg%2FKxESADkYLysREgA5MTATNBoBJDMyFwcmIyIAAzM2MzIWFRQCBiMiJgUyPgE1NCMiDgMXFBZvedEBJcR1VitIbc3%2B%2BEEGfcmcr4nqmcLRAaNRfESyM1lFMB4CYwG%2BzQGSARySGcIW%2Fv3%2B%2BarGraL%2B6o%2FwLmGsZsgmOkddQ26GAAAAAAEAfQAABJwFtgAGABhACwAYBQIDAwJOWQMGAD8rERIAORg%2FMTAzASE3IQcBfQLy%2FV4rA6Qh%2FQoE6c2o%2BvIAAAADAEz%2F7AReBc0AFwAjAC8AKUAUBhIYGCoqDQAAJE9ZAAcNHk9ZDRkAPysAGD8rERIAORgvMxI5OTEwATIWFRQGBx4BFRQOASMiJjUQJS4BNTQ2Ew4BFRQWMzI2NTQmEyIGFRQWFz4BNTQmAtuz0J6peGl75J3L5QFwW0%2F%2BQpWGdmNzi2EaXXJOQXN9YAXNspaEw0JOr3J5v2nIqAEph0aWV7Pb%2FNM2kWhdcIBnW4UCqXBcU2wnK3xfUVsAAAIAXP%2FsBDcFywAZACYALUAXDhAXECFPWRAQBRcXGk1ZFwcFCk1ZBRkAPysAGD8rERIAORgvKxESADkxMAEUCgEEIyInNRYzMjYTIwYjIiY1NBI2MzIWJSIOARUUFjMyNjU0JgQ3dL3%2B%2BbOFa3lzvOw7BnHApbWG75vAzf5hUn9EXFh1omAD%2Bs3%2BXf7phyDPK%2FYBCqDMupwBCo%2FvLF6mYGluvJJsgQAAAAIAIf%2FjAfoEagALABcAF0AMAwlRWQMQFQ9RWRUWAD8rABg%2FKzEwEzQ2MzIWFRQGIyImAzQ2MzIWFRQGIyImzV5UOENhTUI9rF5UOENfTUI%2FA7RTYz89T2ZH%2FN5TYz89TmdHAAAC%2F5z%2B%2BAH6BGoABgASABVACQRABgoQUVkKEAA%2FKwAYLxrOMTAlFwIHIzYbATQ2MzIWFRQGIyImAU4IfY2wX2drXlQ4Q2FNQj3uF%2F7829YBIALGU2M%2FPU9mRwAAAAEAcwDdBBsE7AAGAAixAAMAL8YxMCUBNQEVCQEEG%2FxYA6j9RwK53QGueQHow%2F6o%2FtEAAAACAHUBrgQdA%2FIAAwAHAB9AEQQFUlkEAQEAUlkPAQGQAQEBAC9dXSsAGBDGKzEwEzUhFQE1IRV1A6j8WAOoAz%2Bzs%2F5vtLQAAAABAHMA3QQbBOwABgAIsQYDAC%2FGMTATCQE1ARUBcwK2%2FUoDqPxYAaIBLwFYw%2F4Yef5SAAAAAgCi%2F%2BUDwwXLABkAJQAlQBIHEAAAIxAjHVFZIxYQCk1ZEAQAPysAGD8rERIAORgvEjkxMAE%2BATc%2BAjU0JiMiBgcnNjMyFhUUBgcOAQcBNDYzMhYVFAYjIiYBBBJre2tPJVVRTZJOTs%2FLq8R%2FqGhcD%2F7ZXlQ4Q2JMQj0BvIWvWk1QUTBGWDclsHGrnXjDd0p2Vf6iU2M%2FPU9kRQAAAgBk%2F0YGqgW0ADgARAAsQBQHCjkRESg1BAoaPz8KCi0hNQMoLQAvMz8zEjkvMxEzETMREjkvMxI5MTABFAIGIyImJyMGIyImNTQSNjMyHgEXAwYVFDMyPgE1NCQjIgQCFRAAMzI3FQYjIiQCNRASJCEyBBIFIg4BFRQzMjY%2FASYGqnfWhGJpDAZlsHuFh%2FGPNFVKXGUeT0h8R%2F7%2F69b%2Bqr8BGfvI5tvr0v7GqfUBuQERyAEkm%2F0zVpFScFJ3KUA1A06w%2FtumXEqmnYyXAQGVChAf%2FnhyLVyF2Hrk78f%2BlOD%2B%2Ff7kVptapwE40QEOAbb6lf7odmu1Z52QlPAQAAAAAAL%2FhwAABE4FuAAHAA4AGkANDgFMWQ4OBAcDEgsEAwA%2FMz8zEjkvKzEwASEDIwEhEyMDAiY1BgcDAzv%2BG9H%2BAw8BEqbqOSgLN1esAZb%2BagW4%2BkgCZgGgrzSLqP6wAAAAAAMARgAABMsFtgAPABcAIAAtQBcGIBAQIEtZEBAODw8XTFkPAw4YTFkOEgA%2FKwAYPysREgA5GC8rERIAOTEwATIWFRQGBxUeARUUBCkBARMzMjY1NCsBAzMyNjU0JisBAwre462ZbHf%2B1P71%2FhUBNW7Hi5jftePfk6d4dMgFtqikksIeCByXbNn4Bbb9pHlvrPvbiH5iZwAAAQCH%2F%2BwFIQXLABgAF0AMEwBMWRMEDAdMWQwTAD8rABg%2FKzEwASIGAhUUFjMyNxUGIyIAERASJDMyFwcuAQOcmvKRpaGNvLTC%2BP7n0wFg4tmsXj%2BOBP6y%2FqvMtL9EzUMBKQEMAQQBvuhcwyIwAAAAAAIARgAABR8FtgAJABMAF0AMBhJMWQYDBRNMWQUSAD8rABg%2FKzEwARACBCkBASEgAAEyJBI1NCYrAQMFH8j%2Bgv7%2B%2Fm8BNQFxAQ8BJPzEsQEIjbCokuMDff7x%2FmzaBbb%2B3vw1rAE4yLjB%2B9sAAAEARgAABIMFtgALACZAFAYJTFkGBgECAgVMWQIDAQpMWQESAD8rABg%2FKxESADkYLysxMCkBASEHIQMhByEDIQNO%2FPgBNQMIK%2F3lVAH2Kf4IYAIbBbbN%2FnXL%2FjgAAQBGAAAEgQW2AAkAHUAPBglMWQYGAgESAgVMWQIDAD8rABg%2FEjkvKzEwISMBIQchAyEHIQEz7QE1AwYr%2FedgAfYt%2FgwFts3%2BOssAAAEAh%2F%2FsBVwFywAdACZAFAAdTFkAAAUMDBJMWQwEBRlMWQUTAD8rABg%2FKxESADkYLysxMAEhAw4BIyAAERASJDMyFhcHJiMiBAIVFBYzMjcTIQMSAgCdcNWE%2Fvv%2B4M0Bd%2B9vzGdarqCe%2Fv6VsqRtalD%2B6wMZ%2FSAoJQEkAQsBCAG28ikxy1a1%2FrHNt7whAXMAAAEARgAABYsFtgALABpADQgDTFkICAUKBgMBBRIAPzM%2FMxI5LysxMCEjEyEDIwEzAyETMwRW7oz9yovtATXtfwI2f%2B0Ck%2F1tBbb9qgJWAAAAAQBGAAACaAW2AAMACrMBAwASAD8%2FMTAzATMBRgE36%2F7JBbb6SgAAAAH%2Bvv5oAnMFtgAMABG3CAMABUxZACMAPysAGD8xMAMiJzcWMzI3ATMBDgGYaEIFVEXJNQEr7v7PLuf%2BaBnJFfoFh%2Fpa2c8AAAEARgAABWYFtgAMABVACQgCBQoGAwEFEgA%2FMz8zEjk5MTApAQMHAyMBMwM3ASEBBD%2F%2B%2BvyVde0BNe2XjQHsARz9mAKPZP3VBbb9PqYCHP1jAAAAAAEARgAAA3kFtgAFABG3AQMAA0xZABIAPysAGD8xMDMBMwEhB0YBNe3%2B9gIbKwW2%2BxfNAAABAEQAAAblBbYAEwAbQAwRAgIJBgsHAwAOBhIAPzMzPzMSOTkRMzEwIQMjBgcDIwEhEzMBIQEjEzY3IwECh3MGCS642wE1AUNtBgJeAVj%2Bz%2BO2Jy8G%2FX0Evnbe%2FJYFtvuDBH36SgNoupz7QgABAEQAAAXdBbYAEQAVQAkDCwgQCQMBCBIAPzM%2FMxI5OTEwKQEBIwcOAQMjASEBMzYSNxMzBKj%2B%2FP5mBgoYF6zbATUBDAGPBwYyD6DbBItFlX%2F8zgW2%2B4M2ARVBAvEAAAACAIf%2F7AWNBc0ADQAbABdADAsOTFkLBAQVTFkEEwA%2FKwAYPysxMAEQAgQjIAAREBIkMzIAJSIGAhUUFjMyNhI1NCYFjb7%2Bs9z%2B%2Ff7kxQFW2fsBF%2F3biuB%2Fo5KK3XueA5r%2B6f5M4wErAQgBCwG56v7WXcD%2Bq8qtvL8BU86qvgAAAAIARgAABJYFtgAIABMAHUAPDQBMWQ0NEA8SEAhMWRADAD8rABg%2FEjkvKzEwATMyNjU0JisBBRQAISMDIwEhMhYB0V6yw3V5dwJX%2Fq3%2B0W5z7QE1AU7l6ALsn5JtZMn4%2Fvb93QW2yQAAAgCH%2FqQFjQXNABAAHgAjQBEFBw4RTFkOBAMYBwcYTFkHEwA%2FKxESADkYPysAGBDGMTABEAAHASEDIyAAERASJDMyACUiBgIVFBYzMjYSNTQmBY3%2B%2FOEBCP7fyh%2F%2B%2Ff7kxQFW2fsBF%2F3biuB%2Fo5KK3XueA5r%2Bvv4eW%2F6JAUgBKwEIAQsBuer%2B1l3A%2FqvKrby8AVPRqr4AAAACAEYAAASaBbYADQAWACZAEwoADg4AS1kODgMMAhIDFkxZAwMAPysAGD8zEjkvKxESADkxMAEDIwEhMhYVFAYHEyEDJzMyNjU0JisBAa577QE1AVLf7q2r%2Bf78z497qqh2fHcCSP24Bba9xKXjNP2HAkjGloNpXAABACf%2F7AQ7BcsAJAAgQBALHgMWFhtMWRYEAwhMWQMTAD8rABg%2FKxESADk5MTABFAQjIic1FjMyNjU0JicuAjU0PgEzMhcHJiMiBhUUHgEXHgEDov7f%2FtKKrbGJnlKDaWQ1e%2BGNzbBWoYZthB4%2FZ5t2AazS7kvgYXVoRWtTQ26DT4DGbFy%2FTnVeL0c9QWG1AAABALAAAATDBbYABwAWQAoBEgcDBANMWQQDAD8rEQAzGD8xMCEjASE3IQchAhDtAQj%2BhS0D5iv%2BgwTpzc0AAAAAAQCY%2F%2BwFiwW2ABUAFEAJFQoDBBFMWQQTAD8rABg%2FMzEwAQMCACMiJjU0NxMzAwYVFBYzMjY3EwWLyjj%2B0PvZ7RTB7cAVd3mRqifHBbb8RP71%2Fv3Ux1NXA4X8d1hGZnGhtQOoAAEAugAABUgFtgAMABC2DAYDBwMGEgA%2FPzMSOTEwJTY3ATMBIQMzExYXBwH6RkMBx%2F79BP7%2BkOhKCQIB%2BLKDA4n6SgW2%2FHdngkwAAAABAMsAAAe0BbYAHAAbQAwXDgUOCRsSCgMBCRIAPzM%2FMzMSOTkRMzEwKQEDJzcjBgcBIQMzExQHMzY3ATMTFwczPgE3ATMFJf7%2BJQYEBi9G%2Fn%2F%2FADXlEw0GUzsBg%2BEfAwMIHFQTAWb2A0q5apCT%2FLYFtvyuiNLdhgNJ%2FLmpvFjbKwNOAAAB%2F5EAAAUlBbYACwAVQAkCCAQJBgMBBBIAPzM%2FMxI5OTEwKQEDASEBAzMTASEBBBD%2FAMD%2BSv73Akr69rIBkgEK%2FdkCUP2wAwICtP3kAhz9OgAAAAABALoAAAUABbYACAAQtgAFAQcDBRIAPz8zEjkxMAkBIQEDIxMDMwJGAbABCv2Rcu537vIDGQKd%2FG%2F92wIpA40AAf%2FZAAAEogW2AAkAIEAQBwQFBExZBQMCCAEITFkBEgA%2FKxEAMxg%2FKxEAMzEwKQE3ASE3IQcBIQOF%2FFQhA1L9qisDgSP8rAKFqAQ%2Fz6z7wwAB%2F%2BX%2BvAMQBbYABwAOtQUCAwYBJwA%2FMz8zMTABIQEhByMBMwGT%2FlIBfQGuJ93%2B0d3%2BvAb6sPpnAAEA3QAAAocFtgADAAqzAwMCEgA%2FPzEwARMjAwGs29HZBbb6SgW2AAAB%2F3H%2BvAKaBbYABwAOtQMEAwAHJwA%2FMz8zMTAHMwEjNyEBIWrbATHdJwGu%2FoP%2BVJMFmbD5BgAAAAEAJQIZBBQFvgAGAA60BQIABAIALy8zEjkxMBMBMwEjAwElAmB%2FARC4vP5OAhkDpfxbArL9TgAAAf9E%2FrwCk%2F9IAAMACLEBAgAvMzEwASE3IQJ1%2FM8eAzH%2BvIwAAQIdBNkDlgYhAAgACrIGgAEALxrNMTABIy4BJzUzFhcDlpBBhiL1L1UE2T%2BxQxWalQAAAAIAXv%2FsBH8EZgASACAAJ0AUCxEABwwPBxpGWQcQDxUAE0ZZABYAPysAGD8%2FKwAYPxESOTkxMAUiJjU0EjYzMhYXMzczAyM3IwYnMjYSNTQmIyIGAhUUFgGPjaSL9JJhjCcKPrTsthUGnmlSnmZeTFWWWlEUy7jKAWDNW1ee%2B66wxL6bAQSaWGua%2FveOZmUAAAIAL%2F%2FsBFAGFAAWACMAJ0AUBAwAEAcABhUQF0ZZEBAAHkZZABYAPysAGD8rABg%2FPxESOTkxMAUiJicjByMBMwMOAQczPgEzMhYVFAIGAyIGAhUUFjMyNhI1NAJCYo0oCkCyAUrrRw0yDwhallaRoovyDFGiY11VVZRWFFpWnAYU%2FrM%2Fuy9xV8%2B2yv6dyAO6oP77jGBrnQEHj8kAAAEAXv%2FsA80EZgAXABdADAcMRlkHEAASRlkAFgA%2FKwAYPysxMAUiJjU0EiQzMhcHJiMiAhUUFjMyNjcVBgH6xNiTAQqppIVGemOWyHBjSoFBjBTUxc8BU789uDX%2BzeJveCwgw0cAAAAAAgBe%2F%2BwE3QYUABQAIQAuQBgDCw4ABgAAHEZZABAJCkhZCRUOFUZZDhYAPysAGD8rABg%2FKwAYPxESOTkxMAEyFzM2NxMzASM3Iw4BIyImNTQSNhMyNhI1NCYjIgYCFRQCb7NZCA0YTOn%2BtrgTB1ikXI%2Bij%2FAMUqFhV1lVlFgEZrKSaAFm%2BeywalrLus0BZMT8RKQBCIdbbpr%2B9IvLAAAAAAIAXv%2FsA%2FoEZgAJACMAJkAUAxhIWQMDChERAEhZERAKHUdZChYAPysAGD8rERIAORgvKzEwASIGBzMyNjU0JgMiJjU0EiQzMhYVFAQhIwcVFBYzMjY3FQ4BAphgqSUdvNRA18XdmwEJpKGz%2FrP%2BzCsCcXBIjmFgoQOyrI1rYjM5%2FDrex8YBVbqRhbbNHx1vfiYuuywlAAAAAf8f%2FhQDrgYfAB4AKUAWDxRGWQ8ACBsLGBgbSFkYDwAFRlkAGwA%2FKwAYPysRADMRMxg%2FKzEwAyInNRYzMjcTIz8CPgEzMhcHJiMiBg8BMwcjAw4BTFo7QDKGK9mzFcIVLLWmc2A9Sj5FUxYS5SXl3yi2%2FhQXvhTNA%2F5qTFzGpyuwHFZiVrL7472yAAAD%2F4f%2BFAR3BGYAJwA0AEEASEAoGygoDkZZBzxKWQQgCQMHJSgHKAcVJScCSFknDyU1SVklEBUuSVkVGwA%2FKwAYPysAGD8rERIAOTkYLy8REhc5KysRADMxMAEPARYVFAYjIicGFRQWHwEeARUUBCEiJjU0NjcmNTQ2NyY1NDYzMhcBDgEVFBYzMjY1NCYnEyIOARUUFjMyPgE1NAR3H8Ac7sg0KG8%2FPH%2BwmP7S%2FurL34uaTF1kh%2FXJUFD%2BTHB4b3KjuFpxhUFiNkdCQV81BFKJITpPweMIKEAmHAgQFoN6xNaWg2eWNC1SRWUvUavE8BT7wBJqTkFNbGUzOgwDxU2FT0dNTohRjgABAC8AAARKBhQAGgAcQA4QChQUBUZZFBALAAAKFQA%2FMz8%2FKxESADkxMCETNjU0IyIGBwMjATMDBg8BMz4BMzIWFRQHAwK%2BjhKBcMMtYuwBSus5Gy4TCFSpXYiRF4sCoFolh%2FrZ%2Fi0GFP76fqdLal6bkExi%2FXMAAAACAC8AAAJWBfoACwAPACVAGgkfAy8DAl8DbwN%2FA58DrwPfA%2B8DBwMODw0VAD8%2FL11xzTEwATQ2MzIWFRQGIyImAyMTMwFKTkc1QlBBNUYv7OzrBWJEVDU2R1I0%2BtYEUgAC%2Fvr%2BFAJWBfoADAAYADBAIBZADxAfEC8QTxBfEI8QnxDPEN8QCQ4DEAgPAAVGWQAbAD8rABg%2FL19eXRrNMTADIic1FjMyNwEzAQ4BATQ2MzIWFRQGIyImcVo7QDWDJwEE6f72JrMBKUxHNkFQQTVE%2FhQXvhS6BMP7IbWqB05EVDU2R1IzAAAAAQAvAAAEhwYUAA4AGUANAg0FBgQICQAADwQIFQA%2FMz8%2FERc5MTABIQkBIQMHAyMBMwIGBzMDdwEQ%2Fh0BI%2F760YhN7AFK64cxIwQEUv4b%2FZMB12D%2BiQYU%2FY3NfAABAC8AAAJkBhQAAwAKswIAARUAPz8xMCEjATMBGeoBSusGFAABAC8AAAauBGYAJgAlQBIDJAAXDSEVEhwAHEZZBgAQIg8APz8yKxEAMxg%2FMzMSOTkxMAEyFzM%2BATMyFhUUBwMjEzY1NCMiBgcDIxM2NTQjIgYHAyMTMwczNgMn3CIIS79nhYsWjOuPE3lsuytl648RdW67LWLs7LgVCZQEZut0d5mLQHX9cwKgXyaB%2BM3%2BHwKgUi2H%2FtP%2BKwRSzeEAAAAAAQAvAAAESgRmABgAHEAODgsSEgVGWRIQDA8ACxUAPzM%2FPysREgA5MTAhEzY1NCMiDgEHAyMTMwczPgEzMhYVFAcDAr6OEoFIjHAcYuzsuBUJU7BnhpMXiQKgWimDcteI%2FisEUs12a5iMRXD9cwAAAAIAXv%2FuBDcEZAANABsAF0AMGQNGWRkQEgpGWRIWAD8rABg%2FKzEwATQmIyIOARUUFjMyPgE3FAIGIyImNTQSJDMyFgNKYltdk1FjYVqQUO2S%2F6bA4o8BAqnD3AK%2Ba3mP9Ytvdoj1icr%2BtbHlxccBTLnoAAAAAv%2FJ%2FhQEUARmABMAIAAmQBQDCgANDRRGWQ0QCA8HGwAbRlkAFgA%2FKwAYPz8%2FKxESADk5MTAFIicjBgcDIwEzBzM2MzIWFRQCBgMiBgIVFBYzMjYSNTQCQrVYCgcSYOkBUrgVCZ27j6KM8QxRoGVdVVWUVhSwYVj%2BMQY%2BvNDOt8z%2BncYDup%2F%2B%2Boxga50BB4%2FJAAAAAAIAXv4UBH8EZgAVACIAJ0AUDAMPAAQPBxsAHUZZABAPFkZZDxYAPysAGD8rABg%2FPxESOTkxMAEyFzM3MwEjEz4BNyMOASMiJjU0EjYTMjYSNTQmIyIGAhUUAnG3WwpAsv6s6UsMPwcIVKBai6CS7w1QnmFbUVaUWQRmsp75wgFdOPgRbFrNttABZsH8RKIBCIlea5v%2B%2BI7LAAAAAAEALwAAA4kEZgAQABRACQUNCgAQChULDwA%2FPz8ROTIxMAEyFwcmIyIGBwMjEzMHMz4BAx0%2BLjM2MH7GJ2rs7LgVCVOmBGYM2w7it%2F4MBFLNeGkAAAEADv%2FsA3EEZgAiACBAEAscAxQUGUdZFBADCEhZAxYAPysAGD8rERIAOTkxMAEUBiMiJzUWMzI2NTQmJy4BNTQ2MzIXByYjIgYVFBYXHgIDDuzSvoSZn2F4RWt9Z9a2xJZMjH5JW0JmaVguAVStu0PLWlBFM0k9Q4tfm7BUsExCOy1GNztUYwABAFz%2F7AMlBUgAGQAnQBMPEUALFA4RERRIWREPBgBGWQYWAD8rABg%2FKxEAMxEzGhgQzTEwJTI3FQ4BIyA1NDcTIz8CMwchByEDBhUUFgHHRFMjeDz%2B7hB5ohW%2BgZI0ARcn%2Fut6DTKqH7IRGvc5SgI6blLo9rL9xDclKzMAAQBv%2F%2BwEhwRSABkAG0ANDxIKGQ8NFRIFRlkSFgA%2FKwAYPz8zEjkxMAEDBhUUMzI%2BATcTMwMjNyMOASMiJjU0NjcTAfqBH39Ijm4eY%2BnpuRUIUrJnhpIYDHsEUv2ejTSFctOOAdX7rs10bZiOP3s%2BAkgAAAABAGQAAARQBFIADAAOtQUKAQ8AFQA%2FPzMyMTAzAzMTFhUzPgE3ATMB54PoNw4HHFQXATf6%2FaoEUv2qn4pKtikCVvuuAAEAeQAABl4EUgAbAB1ADRQMAwwHEBAZCA8ABxUAPzM%2FMzMREjk5ETMxMCEDJzcOAQEhAzMTBgczNjcBMxMXBzM%2BAhMzAQNMEwEDGTX%2Bwf76L90NAgkGQisBFv4TAQMGEVAv5PT9%2BgJzRsg%2Bfv07BFL9eleesGACa%2F2kNeoy2W4CAvuuAAH%2FqgAABFQEUgALABVACQAGAgcEDwsCFQA%2FMz8zEjk5MTAJASEBAzMTASEBEyMB6f7P%2FvIB2%2Bf1kAEfARL%2BM%2Fj2AYP%2BfQI5Ahn%2BiwF1%2Fdv90wAAAAH%2FVv4UBFIEUgAXABhACwUOCQAPDhNGWQ4bAD8rABg%2FMxI5MTATMxMeARUzNjcBMwEOASMiJzUWMzI2PwFk6D8JDgZWMQEl%2Fv1QWtSPTENLMkp4QDMEUv3tPuFF12ICPvsApZkTvBBXcFwAAAH%2F2QAAA6IEUgAJACRAEgcEBQUESFkFDwIIAQEISFkBFQA%2FKxESADkYPysREgA5MTApATcBITchBwEhAs%2F9Ch0Ce%2F5JJwLBJf2RAeaTAw2yqv0KAAEACP68A0oFtgAnACBAEBsJCa8KvwoCCgoTJicUEwMAPzMvMxI5L10zEjkxMAEgNTQ%2FATY1NCM3MjY3Ez4COwEHIgYHAw4BBxUWFRQPAQYVFBYzFQHJ%2FsQRLQ7RJ3iPFjscWpZ7PClgVxJGGH50oBArC0FN%2FrzsPUjJQSGNu1VlAROGhzy4RFL%2By2x9EQYtqiZTwjAaMy%2B5AAAAAAEB8v4fAqQGEAADAAmyAAADAC8%2FMTABMxEjAfKysgYQ%2BA8AAAH%2FqP68AtEFtgAmACBAEBoKCq8JvwkCCQkmExIlJgMAPzMvMxI5L10zEjkxMAEgFRQPAQYVFDMHIgYHAw4BKwE1PgE3Ez4BNzUmNTQ%2FATY1NCYjNwEOAT4RLQ7RJ3mOFj8is7Qdal0SRhh%2BdJ4RKwpWTiMFtus9SMtBIY66VGT%2BzqWGtwJFUAE1bXoRBjCnN0LFLB46KLgAAQBvAjsEKwNoABcAH0AODwYDEhIMUlkSBgBSWQYALysAGC8rABAYxBDGMTABIgYHNTYzMhYXHgEzMjY3FQYjIiYnLgEBWDN6PGSVQG1cRloxMn06Z5M%2Fek1MVwK0Pju%2FbBgnHhk%2BOr5vISEgFwAAAAL%2F0%2F6LAgoEXgADAA8AF0AKAAANAw0HUVkNEAA%2FKwAYLxI5LzEwEzMDIQEUBiMiJjU0NjMyFt2upv7uAjdeUDtEYk5BPAKF%2FAYFVlBkPzxSZEcAAAEAw%2F%2FsBDEFywAeACRAEgIeHhhNWR4BGQkMDBFPWQwKBgA%2FzSsRADMYP8UrEQAzMTAFIzcuATU0EjY%2FATMHFhcHJiMiDgEVFBYzMjY3FQYHAkKcLYSMf%2BWTI5wlfGFFfWFjollwY0qBQYWgFNUiyZ6%2BAULHFqSkDC25NY%2F2j294KyDCRQUAAAAB%2F%2B4AAAS4BcsAHAAxQBkLFxgXT1kIGBgSAAAFTVkABxMPEg9OWRIYAD8rEQAzGD8rERIAORgvMysRADMxMAEyFwcmIyIHAyEHIQcOAQchByE3Nj8BIzczEz4BA1i8pFiPc7kqOQFNIv6wIRVfUwKyLfw0JsgyI8QkxT0m5gXLVrdKzf7qrJhihirPwS3npKwBK7nCAAAAAAIAjQEOBBkEmAAbACcAGEANCQwQExcaAgUIHxUlBwAvM8QyFzkxMBM0Nyc3FzYzMhc3FwcWFRQHFwcnBiMiJwcnNyY3FBYzMjY1NCYjIgbRPYF3f2ZpbGN%2FeYE9PX93f19weFd%2FdX89qH1cW4KCW1x9AtNuX4F3fz0%2FgXWBY2xyX313fzs7fXd9X3BbfnxdXX6AAAABAGoAAAT6BbYAFgA9QCEKDg8OUFkHDwYSExJQWQMAExUPEx8TAg8TDxMMARUGDBgAPz8zEjk5Ly9dERI5MisRADMRMysRADMxMAkBMwEzByEHIQchByM3ITchNyE3MwMzAlIBsPj9%2Btkj%2Fu4fARIh%2FvA13TP%2B7yEBER7%2B8CPTx%2BgDGQKd%2FQiblJv09JuUmwL4AAAAAgHy%2Fh8CpAYQAAMABwATtwMEAwQHAAAHAC8%2FETk5Ly8xMAEzESMRMxEjAfKysrKyBhD85v5F%2FOQAAAAAAgAn%2F%2FID9AYjACwAOAAlQBUCLRQzGikGHwgIDklZCAEfJElZHxYAPysAGD8rERIAFzkxMBM0Ny4BNTQ2MzIXBy4BIyIGFRQWFx4BFRQGBxYVFAYjIic1FjMyNjU0JicuAQEOARUUFhc%2BATU0JqLbLz7fubKaRD6HTVZhSXB%2Fd2lsZvbPvH%2BYp3R0TmaCdgFcRVNdfz5LYwL8vHcgZEGKpU6eHStFPCtDMjiPYFyePUx1nbBDu11RRytJMDyPAUEaaj49VzkkbTw8WQAAAgGqBQIEFwXsAAsAFwAMsw8DFQkALzPNMjEwATQ2MzIWFRQGIyImJTQ2MzIWFRQGIyImAapGPzA5RzovPgF%2FRj8wOUc6Lz4FZDxMLzBBSi8zPEwvMEFKLwAAAAADAIP%2F7AZiBcsAFQAlADUAL0AbBQsPCx8LnwsDABEAERARAgsRCxEiMhoEKiITAD8zPzMSOTkvL10RM10RMzEwASIGFRAzMjY3FQYjIiY1NDYzMhcHJgE0EiQzMgQSFRQCBCMiJAI3FBIEMzIkEjU0AiQjIgQCA6Jxfe4vgix1e8XU48eKgERq%2FIfIAV7KxwFdy8X%2BpM7P%2FqLDe6YBJKutASWipP7draj%2B26gECpib%2FtMgE54z99TY%2BUKTN%2F7RyAFeysb%2Bn8nH%2FqTMzwFaxqj%2B36yuASGmpQEjran%2B2wAAAAIAoAMCAzsFxwASAB0AH0AQBwgDEwAMEAwCDAAEHhkAHwA%2FMj8Q1F0yOTnEMTABMhczNzMDIzcjDgEjIiY1ND4BEzI%2BATU0IyIGFRQB8nE1Bid2k3sKBDJgPVtpXpcHMl87ZlJxBcdnWv1UaT43hHKA3XL9umCfT3fDhX0AAAAAAgBQAGQEEgPjAAYADQAMswwFCAEALzPEMjEwEwEXARMHAyUBFwETBwNQAYuH%2FuCZstkBuAGBif7ok7TRAj8BpHb%2BtP6PTAHFAgGycP6h%2FqJMAa4AAQB1AQAEHQMrAAUAEbYCBQUEUlkFAC8rABgQxDEwAREjESE1BB2z%2FQsDK%2F3VAXe0AAAA%2F%2F8ALwG%2BAlICiRIGABAAAAAEAIP%2F7AZiBcsADwAfACwANQAzQB0lKQ8pHykCNSoAKhAqAictKSoqKS0DDBwEBBQMEwA%2FMz8zEhc5Ly8vM10RM10RMzEwEzQSJDMyBBIVFAIEIyIkAjcUEgQzMiQSNTQCJCMiBAIlFAYHEyMDIxEjESEgATMyNjU0JisBg8gBXsrHAV3Lxf6kzs%2F%2BosN7pgEkq60BJaKk%2Ft2tqP7bqAPAW1XTyKxbsgENAVH%2BVEhUWltTSALbyAFeysb%2Bn8nH%2FqTMzwFaxqj%2B36yuASGmpQEjran%2B2wlTfCT%2BiwFF%2FrsDbv5nSD9JOAAAAQBvBhQEJQa6AAMACLEBAgAvMzEwASE3IQP8%2FHMnA48GFKYAAgC8AzsDTgXLAAwAGAAMsxAJFgMALzPEMjEwEzQ2MzIWFRQGIyIuATcUFjMyNjU0JiMiBrzCiIjAwIhYmliYaEpIaGdJSmgEgYjCwoiJvViWWEZoaEZKaGcAAAACAHUAAAQdBMMACwAPACRAFAwNUlkMQgkBAgFSWQYQAgFwAgECAC9dcTMrEQAzGD8rMTABITUhETMRIRUhESMBNSEVAfD%2BhQF7tAF5%2Foe0%2FoUDqAKRtQF9%2FoO1%2For%2B5bS0AAAAAQBOAkoDEAXJABkAErcKEB8CGBgBIAA%2FMxI5PzMxMAEhNyU%2BAjU0JiMiByc%2BATMyFhUUDgEPASECqv2kHAENb0sjODBbZFBElV5ziS9ldq4BcwJKh99fUkgmLjRQezY3eF9Fb25bjgABAGgCOQMQBckAIwAnQBYDFRUPFh8WAg8WHxYCFhYKHCEfDwohAD8zPzMSOS9dcTMSOTEwARQGBxUeARUUBiMiJzUWMzI2NTQrATczMjY1NCMiByc2MzIWAxBtaE5Kx6qKcH56WmOSbBxdWWt1XGBEfqV8igT4WnYaBBJiQoGaOJ9HSkVxhURBZEF5Wm8AAAABAfwE2QPlBiEACAAKsgOACAAvGs0xMAE2NyEVDgEHIwH8YYABCDbQR5wE8mzDE0K%2FNAAAAf%2FJ%2FhQEkwRSABoAIEAQEgwKBxcPFhsKFQ8DRlkPFgA%2FKwAYPz8%2FMxI5OTEwARQWMzI2NxMzAyM3Iw4BIyInIwYHAyMBMwMGAWZCP3HBLWbn67gWCkucV2wvCAkeQukBUuuNEwEzQUj71AHZ%2B66%2Bb2NRSaL%2BwgY%2B%2FWJUAAEArP78BLQGFAAPABO3CAgBAw4ABQEALzM%2FMxI5LzEwASMRIxEjEQYjIiY1EDYzIQS0i7yMPlPYzNrpAkX%2B%2FAZm%2BZoDMxL6%2BwEE%2Fv%2F%2FAJYCOQHDA2oQBwARAHUCVgAAAAH%2FRP4UAOwAAAASABpADQ0QQAsOSBAQDwgDGw8ALz8zEjkvKzMxMBMUBiMiJzUWMzI1NCYnNzMHHgHspI5ANi8xiUZFYpIySED%2B%2BGp6D4cOYCgrCahgGVQAAAAAAQDBAkoCtgW2AAoADrUJAyAGAB4APzI%2FOTEwATMDIxM2Nw4BBycCFKK6v2MRKBU5fU0FtvyUAc1PihQuUIEAAAIApAMCAwgFxwANABcAFEAKEwAEEAQCBA4LHwA%2FM8RdMjEwARQOASMiJjU0PgEzMhYlIgYVFDMyNjU0AwhUnm56ilija3yC%2FvZRZ3BNZQS2fsZwkoN6x2%2BPCq%2BBja%2BEigAAAAACAAoAXAPPA9sABgANAA60CAEBDAUALzPELzIxMAkBJwEDNxMFAScBAzcTA8%2F%2Bc4YBH5m02f5I%2Fn%2BMARmSs9MB%2Fv5edwFKAXJM%2FjkC%2FlBxAVwBYEz%2BUAD%2F%2FwCVAAAFxQW2ECcA0wKTAAAQJgB71gARBwDUAsH9twAJswMCERgAPzU1AP%2F%2FAHkAAAYeBbYQJwDTAncAABAmAHu5ABEHAHQDDv23AAeyAhAYAD81AAAA%2F%2F8AbAAABi8FyRAnANMDIQAAECcA1AMr%2FbcRBgB1BAAACbMCAQYYAD81NQAAAv%2Fd%2FnUC%2FgRaABkAJQAtQBgHABkQGQILAxkZECMjHVFZIxAQCk1ZECIAPysAGD8rERIAORgvX15dOTEwAQ4BBw4CFRQWMzI2NxcGIyImNTQ2Nz4BNwEUBiMiJjU0NjMyFgKcGW10a00lVFFMk09Lzcyuv4CnXWAWASdgUjhDXU9CPwKDkqpTT05QMEdXNyaxcKuceMZ1QHVfAV5VY0E8TmZEAP%2F%2F%2F4cAAAROB3MSJgAkAAARBwBD%2F%2F0BUgAKtAIQEAUmACsRNf%2F%2F%2F4cAAASsB3MSJgAkAAARBwB2AMcBUgAKtAIXFwUmACsRNf%2F%2F%2F4cAAASFB3MSJgAkAAARBwDFAFoBUgAKtAIVFQUmACsRNf%2F%2F%2F4cAAATLB0gSJgAkAAARBwDHAHMBUgAKtAIYGAUmACsRNf%2F%2F%2F4cAAARzBz4SJgAkAAARBwBqAFwBUgAMtQMCJCQFJgArETU1AAD%2F%2F%2F%2BHAAAETgcHEiYAJAAAEQYAxhttAAmzAwIkAwA%2FNTUAAAAAAv%2BHAAAHJQW2AA8AEwA8QCAKDUxZCgoBBhMDTFkTEwEGBRIJEgYSTFkGAwEOTFkBEgA%2FKwAYPysRADMYPxESOS8rERIAORgvKzEwKQETIQEhASEHIQMhByEDIQETIwEF8Pz3Vv5Q%2FwD%2B%2BgOiA%2Fwr%2FeVUAfgr%2FgpiAhv9TYpS%2FnABlv5qBbbN%2FnXI%2FjUBmwKD%2FX0A%2F%2F8Ah%2F4UBSEFyxImACYAABAHAHoCKwAA%2F%2F8ARgAABIMHcxImACgAABEHAEP%2F8QFSAAq0AQ0NBSYAKxE1%2F%2F8ARgAABIMHcxImACgAABEHAHYAfQFSAAq0ARQUBSYAKxE1%2F%2F8ARgAABIMHcxImACgAABEHAMUAPwFSAAq0ARISBSYAKxE1%2F%2F8ARgAABIMHPhImACgAABEHAGoANQFSAAy1AgEhIQUmACsRNTUAAP%2F%2FAEYAAAJ2B3MSJgAsAAARBwBD%2FuABUgAKtAEFBQUmACsRNf%2F%2FAEYAAAOIB3MSJgAsAAARBwB2%2F6MBUgAKtAEMDAUmACsRNf%2F%2FAEYAAANpB3MSJgAsAAARBwDF%2Fz4BUgAKtAEKCgUmACsRNf%2F%2FAEYAAANgBz4SJgAsAAARBwBq%2F0kBUgAMtQIBGRkFJgArETU1AAAAAgA1AAAFHwW2AA0AGwAtQBcaBwgHTFkXCAgFCgoWTFkKAwUbTFkFEgA%2FKwAYPysREgA5GC8zKxEAMzEwARACBCkBEyM3MxMhIAABMiQSNTQmKwEDIQchAwUfyP6C%2Fv7%2Bb4GSLZCJAXEBDwEk%2FMSxAQiNsKiSXgEdLf7lWgN9%2FvH%2BbNoCb8gCf%2F7e%2FDWsATjIuMH%2BScj%2BWv%2F%2FAEQAAAXdB0gSJgAxAAARBwDHAQABUgAKtAEbGwUmACsRNf%2F%2FAIf%2F7AWNB3MSJgAyAAARBwBDAG8BUgAKtAIdHQUmACsRNf%2F%2FAIf%2F7AWNB3MSJgAyAAARBwB2ARcBUgAKtAIkJAUmACsRNf%2F%2FAIf%2F7AWNB3MSJgAyAAARBwDFAMkBUgAKtAIiIgUmACsRNf%2F%2FAIf%2F7AWNB0gSJgAyAAARBwDHANkBUgAKtAIlJQUmACsRNf%2F%2FAIf%2F7AWNBz4SJgAyAAARBwBqAMUBUgAMtQMCMTEFJgArETU1AAAAAQCTAR8EAASHAAsAFkAKAwAGCQQCCggEAgAvMy8zEhc5MTAJATcJARcJAQcJAScByf7KfQE4ATl%2F%2FsUBN3v%2Bx%2F7IegLTATd9%2FssBNXv%2Bx%2F7HewE1%2Fs17AAMAbf%2BqBbQGBAAVAB4AJwAuQBodIRwiBCQWERQJBgQEDw8WTFkPBAQkTFkEEwA%2FKwAYPysREgAXORESFzkxMAEQAgQjIicHJzcmNRASJDMyFzcXBxYlIgYCFRQXASYTNCcBFjMyNhIFjb7%2Bs9zBfXaFgWfFAVbZvYB3hYVe%2FduN4IIYApxQvxP9a0t3i998A5r%2B6f5M41OVaKCK4wELAbnqXpVopoKOuv6oz1hMA0RB%2FpZYN%2FzHOL8BUgD%2F%2FwCY%2F%2BwFiwdzEiYAOAAAEQcAQwBOAVIACrQBFxcFJgArETX%2F%2FwCY%2F%2BwFiwdzEiYAOAAAEQcAdgEbAVIACrQBHh4FJgArETX%2F%2FwCY%2F%2BwFiwdzEiYAOAAAEQcAxQC2AVIACrQBHBwFJgArETX%2F%2FwCY%2F%2BwFiwc%2BEiYAOAAAEQcAagCwAVIADLUCASsrBSYAKxE1NQAA%2F%2F8AugAABQAHcxImADwAABEHAHYAZgFSAAq0ARERBSYAKxE1AAIARgAABGQFtgAMABUAH0ARCRVMWQ0ETFkJDQkNBgcDBhIAPz8SOTkvLysrMTABFAAhIwMjATMHMzIWATMyNjU0JisBBGT%2Bs%2F7KbELtATXtM2Hj6%2F06YLDFd3l5AzHz%2FvP%2BzwW288r%2BAZ2UbWIAAAAB%2Fv7%2BFAS2BhsAOQAsQBgxFCUDHQwMNEdZDAAdIkhZHRYABUZZABsAPysAGD8rABg%2FKxESABc5MTADIic1FjMyNjcBPgEzMhYVFAcOARUUFx4CFRQGIyInNRYzMjY1NCYnLgE1NDY3PgE1NCYjIgcBDgF1RUg9NEFTFgEGMPrgvNGzdj1Ka0gm6Ma2ZX5%2BaXYvWFJOWVtiUV5V0jT%2B%2BCq5%2FhQXwRVXaATS58ygh6mCV0EjLDlUVmM8rMhByVZYUDBKRkBzRUuAPEJcNEFI7%2FsUxa4A%2F%2F8AXv%2FsBH8GIRImAEQAABEGAEO5AAAKtAIiIhEmACsRNQAA%2F%2F8AXv%2FsBH8GIRImAEQAABEGAHZaAAAKtAIpKREmACsRNQAA%2F%2F8AXv%2FsBH8GIRImAEQAABEGAMX9AAAKtAInJxEmACsRNQAA%2F%2F8AXv%2FsBH8F9hImAEQAABEGAMcSAAAKtAIqKhEmACsRNQAA%2F%2F8AXv%2FsBH8F7BImAEQAABEGAGr%2FAAAMtQMCNjYRJgArETU1%2F%2F8AXv%2FsBH8GmhImAEQAABEGAMboAAAMtQMCJCQRJgArETU1AAMAXv%2FsBo8EZgApADcAQQA%2FQCM7IUhZOzsGAhQXBAkQFQ84MRAxRlkaEBAEFSUqCSpGWQAJFgA%2FMysRADMYPz8zKxEAMxg%2FERIXOTkvKzEwBSInByM3Iw4BIyImNTQSNjMyFhczNzMHPgEzMhYVFAQhIwcUFjMyNxUGJTI2EjU0JiMiBgIVFBYBIgYHMzI2NTQmBKLeUxeXFAhVoV6Gl4rvjViALAk%2FlBkzoGSMof6z%2FswtBHlzfbSv%2FIZVm2BNS1WVU0oDn2erJR%2B71EQUiXWwalrOtckBYsxXW551P0qZfbbNPHV4VL1PvqEBDoRbbqD%2B%2BotpYgMIrI1rYDo0AP%2F%2FAF7%2BFAPNBGYSJgBGAAAQBwB6AYEAAP%2F%2FAF7%2F7AP6BiESJgBIAAARBgBDlwAACrQCJSURJgArETUAAP%2F%2FAF7%2F7AQWBiESJgBIAAARBgB2MQAACrQCLCwRJgArETUAAP%2F%2FAF7%2F7AQJBiESJgBIAAARBgDF3gAACrQCKioRJgArETUAAP%2F%2FAF7%2F7AP6BewSJgBIAAARBgBq2gAADLUDAjk5ESYAKxE1Nf%2F%2FAC8AAAIYBiESJgDCAAARBwBD%2FoIAAAAKtAEFBREmACsRNf%2F%2FAC8AAAMdBiESJgDCAAARBwB2%2FzgAAAAKtAEMDBEmACsRNf%2F%2FAC8AAAMJBiESJgDCAAARBwDF%2Ft4AAAAKtAEKChEmACsRNf%2F%2FAC8AAAL7BewSJgDCAAARBwBq%2FuQAAAAMtQIBGRkRJgArETU1AAAAAgBQ%2F%2BwEewYlAB0AKwA2QBwFCAAbBAYcHAMZDhUVJUdZFRUOBgMBDh5HWQ4WAD8rABg%2FMxI5LysREgA5EjkYLxIXOTEwASYnNxYXNxcHFhEUAgQjIiY1NBI2MzIWFzMmJwcnEzI%2BATU0JiMiDgEVFBYChyxbaoFQ%2BkbZm5L%2B%2BrXF24Puk2CQKQYKe%2FpIUFyLTmhcW4tKYgUtKTeYSEqKf3nN%2Fs3%2F%2FoW%2F1sOiARKcTUbzjI6B%2B%2B53x2phdHDDc2hvAAAA%2F%2F8ALwAABH0F9hImAFEAABEGAMclAAAKtAEiIhEmACsRNQAA%2F%2F8AXv%2FuBDcGIRImAFIAABEGAEOfAAAKtAIdHREmACsRNQAA%2F%2F8AXv%2FuBDcGIRImAFIAABEGAHZIAAAKtAIkJBEmACsRNQAA%2F%2F8AXv%2FuBDcGIRImAFIAABEGAMXzAAAKtAIiIhEmACsRNQAA%2F%2F8AXv%2FuBFoF9hImAFIAABEGAMcCAAAKtAIlJREmACsRNQAA%2F%2F8AXv%2FuBDcF7BImAFIAABEGAGrvAAAMtQMCMTERJgArETU1AAMAdQDsBB0EtgADAA8AGwAcQAwHDRkTDRMBAQBSWQEALysRADMzGC8zLzMxMBM1IRUBNDYzMhYVFAYjIiYRNDYzMhYVFAYjIiZ1A6j9rj8%2BPkFFOjpDPz4%2BQUU6OkMCd7S0%2Fv5AR0g%2FQElHAvxAR0g%2FQElHAAAAAAMAM%2F%2BmBFoEkwAVAB0AJgAuQBocJBslBB4WERQJBgQEDw8WR1kPEAQeR1kEFgA%2FKwAYPysREgAXORESFzkxMAEUAgYjIicHJzcmNTQSJDMyFzcXBxYlIgIVFBcBJgMyPgE1NCcBFgQ1lP2iiWJpe3NGjQECqYhnVn1kP%2F5YjbwIAbotyVmUVQb%2BTCkCvND%2BsK47g2CNaJ3IAUq6PWxgdWRO%2Ft3bJyMCJSP9AIXrjC0W%2FeIh%2F%2F8Ab%2F%2FsBIcGIRImAFgAABEGAEOhAAAKtAEbGxEmACsRNQAA%2F%2F8Ab%2F%2FsBIcGIRImAFgAABEGAHZzAAAKtAEiIhEmACsRNQAA%2F%2F8Ab%2F%2FsBIcGIRImAFgAABEGAMUQAAAKtAEgIBEmACsRNQAA%2F%2F8Ab%2F%2FsBIcF7BImAFgAABEGAGoGAAAMtQIBLy8RJgArETU1%2F%2F%2F%2FVv4UBFIGIRImAFwAABEGAHb5AAAKtAEgIBEmACsRNQAAAAL%2Fyf4UBFAGFAAWACQAJ0AUBA0AEAkACBsQF0ZZEBAAHkZZABYAPysAGD8rABg%2FPxESOTkxMAUiJicjBgcDIwEzDgEHMzYzMhYVFAIGAyIGAhUUFjMyNhI1NCYCSl6OKwgHEmDpAbDrMDIzCJutkKGI6RxUnmBcVlaTVlIUW1VbXv4xCADf6K%2FIzLnM%2Fp3GA7qi%2FveGYmmaAQiRZGUAAP%2F%2F%2F1b%2BFARSBewSJgBcAAARBgBqmQAADLUCAS0tESYAKxE1NQABAC8AAAIGBFIAAwAKswIPARUAPz8xMCEjEzMBG%2Bzs6wRSAAACAIf%2F7AdSBc0AFQAhADpAIBATTFkQEAEMDA9MWQwDChtMWQoEARRMWQESAxZMWQMTAD8rABg%2FKwAYPysAGD8rERIAORgvKzEwKQEGIyAAERASJDMyFyEHIQMhByEDIQUyNxMmIyIGAhUUFgYd%2FTNUVv79%2FuTFAVbZkU4C%2BCv95VQB%2BCv%2BCGACG%2FxsSkHeRHGK4H%2BjFAErAQgBCwG56hfN%2FnXI%2FjUTGwQOH8D%2Bq8qtvAAAAAADAF7%2F7AbDBGYAIgAvADkAO0AeDgMFDDMYSFkzMwUMMCMMI0ZZEQwQHCoFKkZZAAUWAD8zKxEAMxg%2FMysRADMREjkYLysREgA5OTEwBSImJwYjIiY1NBIkMzIXPgEzMhYVFAQhIwcUFjMyNjcVDgEBIg4BFRQWMzISNTQmJSIGBzMyNjU0JgTJeLkwie262pMA%2F6btYknKfZ%2Bv%2FrX%2Bzi8DcXFFg29bqP1dV41XYVuPrWMCiWmuIh%2B90jwUXFy258XOAU2vwFtnlYG3zDxvfiMxvSskA7aA9ZF0egEl6291EKuObGUwOAAAAQFiBNkEKwYhAA0ADrQDC4AGAQAvMxrNMjEwASMmJwYHIzU%2BATczFhcEK5hMVYNppIp%2BG%2FgmiATZP3NuRBmAhyhjzAACAh0E1wP0BpoACwAXABlADg8PCR8JLwkDcAkBCRUDAC8zzF1dMjEwARQGIyImNTQ2MzIWBzQmIyIGFRQWMzI2A%2FSEamp%2FgmdohoM8Ly07NTMvPAW6aHt6Z2d7eWkyOTkyMTc3AAAAAAEBRgTXBFgF9gAVACFAEBAABQsACwALfxSPFAIUgAkALxrMXTk5Ly8RMxEzMTABIi4CIyIGByMSMzIeAjMyNjczAgNULUtEPyAmMhKJOccuTkM8HSgyF4lCBNkiKSI3OAEdIykjNTz%2B4wAAAAEALwHFA6AChwADAAixAAEALzMxMBM3IQcvKwNGKwHFwsIAAAEALwHFB3cChwADAAixAAEALzMxMBM3IQcvKwcdKwHFwsIAAAEAdwPBAjEFtgAHAAmyAAQDAD%2FNMTATJzYSNzMCB30GIpFXsHpNA8EWTAEKif7i1wAAAAABAHMDwQIvBbYACAAJsgUIAwA%2FzjEwARcGAgcjNhI3AicIJZNSsit%2BHQW2FlP%2B839fAUBWAAAAAAH%2Fmv74AVYA7gAGAAixBAAAL80xMCUXBgcjNhMBTghsnrJpX%2B4X6fbuAQgAAgB3A8EDyQW2AAYADgANtAAHAwsDAD8zzTIxMAEnNhMzAgchJzYSNzMCBwIXCVS3sHpN%2FXsGIpFXsHpNA8EWvgEh%2FuLXFkwBCon%2B4tcAAAACAHMDwQPHBbYACAAQAA20DQUQCAMAPzPOMjEwARcGAgcjNhI3IRcGAyM2EjcCJwglk1KyK34dAoUJYquwM3QgBbYWU%2F7zf18BQFYW3P79cgEmXQAC%2F5r%2B%2BALuAO4ABgANAAyzCwQNAAAvMs0yMTAlFwYHIzYTIRcGAyMSNwFOCGyesmlfAoMJXK%2BweE%2FuF%2Bn27gEIF87%2B7wEZ3QABAJgBzQKkBAgACwAIsQkDAC8vMTATNDYzMhYVFAYjIiaYp4xkdaSRZnECrJzAbXKcwHMAAQBQAGQCYgPjAAYACLEFAQAvxDEwEwEXARMHA1ABi4f%2B4Jmy2QI9AaZ2%2FrL%2BkUwBwQAAAAEACgBcAh0D2wAGAAixAQUAL8QxMAkBJwEDNxMCHf50hwEhmrPZAgL%2BWncBTgFuTP5AAAAB%2FgIAAAMCBbYAAwAKswMDAhIAPz8xMAkBIwEDAvvFxQQ9Bbb6SgW2AAAAAAIARgJKAwQFvAAKABAAJUAUDQcBBQkFBgMPEB8QAhAQAwceAyAAPz8SOS9dFzMRMxEzMTABIwcjNyE3ATMDMyE%2FAQYPAQLneie3J%2F6QGgHdxXl7%2Fs80IiBCuwL6sLCJAjn9zd2BM1DbAAAAAAEAM%2F%2FsBNkFywAnAFNALwYcHRxQWQMdCxcYF1BZCBgPHR8dAgkAGHAYAgsDHRgdGBMhIQBNWSEHEw5OWRMZAD8rABg%2FKxESADk5GC8vX15dXl0RMysRADMRMysRADMxMAEiBgchByEGByEHIRQWMzI3FQYjIgI1IzczNjcjNzMSADMyFhcHLgEDkXbBQQGDIf5uEgoBVCH%2BwXmHeIqBsdjkoiGLDwyJIJRcAUfQWJlQZjZqBQKuqJpDSJuhkzzLPQEE%2FJtfLJoBBAEbLDe0IiwAAAAAAAABAAAjAAABBdMYAAAKCvIABQAk%2F3EABQA3ACkABQA5ACkABQA6ACkABQA8ABQABQBE%2F64ABQBG%2F4UABQBH%2F4UABQBI%2F4UABQBK%2F8MABQBQ%2F8MABQBR%2F8MABQBS%2F4UABQBT%2F8MABQBU%2F4UABQBV%2F8MABQBW%2F8MABQBY%2F8MABQCC%2F3EABQCD%2F3EABQCE%2F3EABQCF%2F3EABQCG%2F3EABQCH%2F3EABQCfABQABQCi%2F4UABQCj%2F64ABQCk%2F64ABQCl%2F64ABQCm%2F64ABQCn%2F64ABQCo%2F64ABQCp%2F4UABQCq%2F4UABQCr%2F4UABQCs%2F4UABQCt%2F4UABQC0%2F4UABQC1%2F4UABQC2%2F4UABQC3%2F4UABQC4%2F4UABQC6%2F4UABQC7%2F8MABQC8%2F8MABQC9%2F8MABQC%2B%2F8MABQDE%2F4UACgAk%2F3EACgA3ACkACgA5ACkACgA6ACkACgA8ABQACgBE%2F64ACgBG%2F4UACgBH%2F4UACgBI%2F4UACgBK%2F8MACgBQ%2F8MACgBR%2F8MACgBS%2F4UACgBT%2F8MACgBU%2F4UACgBV%2F8MACgBW%2F8MACgBY%2F8MACgCC%2F3EACgCD%2F3EACgCE%2F3EACgCF%2F3EACgCG%2F3EACgCH%2F3EACgCfABQACgCi%2F4UACgCj%2F64ACgCk%2F64ACgCl%2F64ACgCm%2F64ACgCn%2F64ACgCo%2F64ACgCp%2F4UACgCq%2F4UACgCr%2F4UACgCs%2F4UACgCt%2F4UACgC0%2F4UACgC1%2F4UACgC2%2F4UACgC3%2F4UACgC4%2F4UACgC6%2F4UACgC7%2F8MACgC8%2F8MACgC9%2F8MACgC%2B%2F8MACgDE%2F4UACwAtALgADwAm%2F5oADwAq%2F5oADwAy%2F5oADwA0%2F5oADwA3%2F3EADwA4%2F9cADwA5%2F4UADwA6%2F4UADwA8%2F4UADwCJ%2F5oADwCU%2F5oADwCV%2F5oADwCW%2F5oADwCX%2F5oADwCY%2F5oADwCa%2F5oADwCb%2F9cADwCc%2F9cADwCd%2F9cADwCe%2F9cADwCf%2F4UADwDD%2F5oAEAA3%2F64AEQAm%2F5oAEQAq%2F5oAEQAy%2F5oAEQA0%2F5oAEQA3%2F3EAEQA4%2F9cAEQA5%2F4UAEQA6%2F4UAEQA8%2F4UAEQCJ%2F5oAEQCU%2F5oAEQCV%2F5oAEQCW%2F5oAEQCX%2F5oAEQCY%2F5oAEQCa%2F5oAEQCb%2F9cAEQCc%2F9cAEQCd%2F9cAEQCe%2F9cAEQCf%2F4UAEQDD%2F5oAJAAF%2F3EAJAAK%2F3EAJAAm%2F9cAJAAq%2F9cAJAAtAQoAJAAy%2F9cAJAA0%2F9cAJAA3%2F3EAJAA5%2F64AJAA6%2F64AJAA8%2F4UAJACJ%2F9cAJACU%2F9cAJACV%2F9cAJACW%2F9cAJACX%2F9cAJACY%2F9cAJACa%2F9cAJACf%2F4UAJADD%2F9cAJADL%2F3EAJADO%2F3EAJQAP%2F64AJQAR%2F64AJQAk%2F9cAJQA3%2F8MAJQA5%2F%2BwAJQA6%2F%2BwAJQA7%2F9cAJQA8%2F%2BwAJQA9%2F%2BwAJQCC%2F9cAJQCD%2F9cAJQCE%2F9cAJQCF%2F9cAJQCG%2F9cAJQCH%2F9cAJQCf%2F%2BwAJQDM%2F64AJQDP%2F64AJgAm%2F9cAJgAq%2F9cAJgAy%2F9cAJgA0%2F9cAJgCJ%2F9cAJgCU%2F9cAJgCV%2F9cAJgCW%2F9cAJgCX%2F9cAJgCY%2F9cAJgCa%2F9cAJgDD%2F9cAJwAP%2F64AJwAR%2F64AJwAk%2F9cAJwA3%2F8MAJwA5%2F%2BwAJwA6%2F%2BwAJwA7%2F9cAJwA8%2F%2BwAJwA9%2F%2BwAJwCC%2F9cAJwCD%2F9cAJwCE%2F9cAJwCF%2F9cAJwCG%2F9cAJwCH%2F9cAJwCf%2F%2BwAJwDM%2F64AJwDP%2F64AKAAtAHsAKQAP%2F4UAKQAR%2F4UAKQAiACkAKQAk%2F9cAKQCC%2F9cAKQCD%2F9cAKQCE%2F9cAKQCF%2F9cAKQCG%2F9cAKQCH%2F9cAKQDM%2F4UAKQDP%2F4UALgAm%2F9cALgAq%2F9cALgAy%2F9cALgA0%2F9cALgCJ%2F9cALgCU%2F9cALgCV%2F9cALgCW%2F9cALgCX%2F9cALgCY%2F9cALgCa%2F9cALgDD%2F9cALwAF%2F1wALwAK%2F1wALwAm%2F9cALwAq%2F9cALwAy%2F9cALwA0%2F9cALwA3%2F9cALwA4%2F%2BwALwA5%2F9cALwA6%2F9cALwA8%2F8MALwCJ%2F9cALwCU%2F9cALwCV%2F9cALwCW%2F9cALwCX%2F9cALwCY%2F9cALwCa%2F9cALwCb%2F%2BwALwCc%2F%2BwALwCd%2F%2BwALwCe%2F%2BwALwCf%2F8MALwDD%2F9cALwDL%2F1wALwDO%2F1wAMgAP%2F64AMgAR%2F64AMgAk%2F9cAMgA3%2F8MAMgA5%2F%2BwAMgA6%2F%2BwAMgA7%2F9cAMgA8%2F%2BwAMgA9%2F%2BwAMgCC%2F9cAMgCD%2F9cAMgCE%2F9cAMgCF%2F9cAMgCG%2F9cAMgCH%2F9cAMgCf%2F%2BwAMgDM%2F64AMgDP%2F64AMwAP%2FvYAMwAR%2FvYAMwAk%2F5oAMwA7%2F9cAMwA9%2F%2BwAMwCC%2F5oAMwCD%2F5oAMwCE%2F5oAMwCF%2F5oAMwCG%2F5oAMwCH%2F5oAMwDM%2FvYAMwDP%2FvYANAAP%2F64ANAAR%2F64ANAAk%2F9cANAA3%2F8MANAA5%2F%2BwANAA6%2F%2BwANAA7%2F9cANAA8%2F%2BwANAA9%2F%2BwANACC%2F9cANACD%2F9cANACE%2F9cANACF%2F9cANACG%2F9cANACH%2F9cANACf%2F%2BwANADM%2F64ANADP%2F64ANwAP%2F4UANwAQ%2F64ANwAR%2F4UANwAiACkANwAk%2F3EANwAm%2F9cANwAq%2F9cANwAy%2F9cANwA0%2F9cANwA3ACkANwBE%2F1wANwBG%2F3EANwBH%2F3EANwBI%2F3EANwBK%2F3EANwBQ%2F5oANwBR%2F5oANwBS%2F3EANwBT%2F5oANwBU%2F3EANwBV%2F5oANwBW%2F4UANwBY%2F5oANwBZ%2F9cANwBa%2F9cANwBb%2F9cANwBc%2F9cANwBd%2F64ANwCC%2F3EANwCD%2F3EANwCE%2F3EANwCF%2F3EANwCG%2F3EANwCH%2F3EANwCJ%2F9cANwCU%2F9cANwCV%2F9cANwCW%2F9cANwCX%2F9cANwCY%2F9cANwCa%2F9cANwCi%2F3EANwCj%2F1wANwCk%2F1wANwCl%2F1wANwCm%2F1wANwCn%2F1wANwCo%2F1wANwCp%2F3EANwCq%2F3EANwCr%2F3EANwCs%2F3EANwCt%2F3EANwC0%2F3EANwC1%2F3EANwC2%2F3EANwC3%2F3EANwC4%2F3EANwC6%2F3EANwC7%2F5oANwC8%2F5oANwC9%2F5oANwC%2B%2F5oANwC%2F%2F9cANwDD%2F9cANwDE%2F3EANwDI%2F64ANwDJ%2F64ANwDM%2F4UANwDP%2F4UAOAAP%2F9cAOAAR%2F9cAOAAk%2F%2BwAOACC%2F%2BwAOACD%2F%2BwAOACE%2F%2BwAOACF%2F%2BwAOACG%2F%2BwAOACH%2F%2BwAOADM%2F9cAOADP%2F9cAOQAP%2F5oAOQAR%2F5oAOQAiACkAOQAk%2F64AOQAm%2F%2BwAOQAq%2F%2BwAOQAy%2F%2BwAOQA0%2F%2BwAOQBE%2F9cAOQBG%2F9cAOQBH%2F9cAOQBI%2F9cAOQBK%2F%2BwAOQBQ%2F%2BwAOQBR%2F%2BwAOQBS%2F9cAOQBT%2F%2BwAOQBU%2F9cAOQBV%2F%2BwAOQBW%2F%2BwAOQBY%2F%2BwAOQCC%2F64AOQCD%2F64AOQCE%2F64AOQCF%2F64AOQCG%2F64AOQCH%2F64AOQCJ%2F%2BwAOQCU%2F%2BwAOQCV%2F%2BwAOQCW%2F%2BwAOQCX%2F%2BwAOQCY%2F%2BwAOQCa%2F%2BwAOQCi%2F9cAOQCj%2F9cAOQCk%2F9cAOQCl%2F9cAOQCm%2F9cAOQCn%2F9cAOQCo%2F9cAOQCp%2F9cAOQCq%2F9cAOQCr%2F9cAOQCs%2F9cAOQCt%2F9cAOQC0%2F9cAOQC1%2F9cAOQC2%2F9cAOQC3%2F9cAOQC4%2F9cAOQC6%2F9cAOQC7%2F%2BwAOQC8%2F%2BwAOQC9%2F%2BwAOQC%2B%2F%2BwAOQDD%2F%2BwAOQDE%2F9cAOQDM%2F5oAOQDP%2F5oAOgAP%2F5oAOgAR%2F5oAOgAiACkAOgAk%2F64AOgAm%2F%2BwAOgAq%2F%2BwAOgAy%2F%2BwAOgA0%2F%2BwAOgBE%2F9cAOgBG%2F9cAOgBH%2F9cAOgBI%2F9cAOgBK%2F%2BwAOgBQ%2F%2BwAOgBR%2F%2BwAOgBS%2F9cAOgBT%2F%2BwAOgBU%2F9cAOgBV%2F%2BwAOgBW%2F%2BwAOgBY%2F%2BwAOgCC%2F64AOgCD%2F64AOgCE%2F64AOgCF%2F64AOgCG%2F64AOgCH%2F64AOgCJ%2F%2BwAOgCU%2F%2BwAOgCV%2F%2BwAOgCW%2F%2BwAOgCX%2F%2BwAOgCY%2F%2BwAOgCa%2F%2BwAOgCi%2F9cAOgCj%2F9cAOgCk%2F9cAOgCl%2F9cAOgCm%2F9cAOgCn%2F9cAOgCo%2F9cAOgCp%2F9cAOgCq%2F9cAOgCr%2F9cAOgCs%2F9cAOgCt%2F9cAOgC0%2F9cAOgC1%2F9cAOgC2%2F9cAOgC3%2F9cAOgC4%2F9cAOgC6%2F9cAOgC7%2F%2BwAOgC8%2F%2BwAOgC9%2F%2BwAOgC%2B%2F%2BwAOgDD%2F%2BwAOgDE%2F9cAOgDM%2F5oAOgDP%2F5oAOwAm%2F9cAOwAq%2F9cAOwAy%2F9cAOwA0%2F9cAOwCJ%2F9cAOwCU%2F9cAOwCV%2F9cAOwCW%2F9cAOwCX%2F9cAOwCY%2F9cAOwCa%2F9cAOwDD%2F9cAPAAP%2F4UAPAAR%2F4UAPAAiACkAPAAk%2F4UAPAAm%2F9cAPAAq%2F9cAPAAy%2F9cAPAA0%2F9cAPABE%2F5oAPABG%2F5oAPABH%2F5oAPABI%2F5oAPABK%2F9cAPABQ%2F8MAPABR%2F8MAPABS%2F5oAPABT%2F8MAPABU%2F5oAPABV%2F8MAPABW%2F64APABY%2F8MAPABd%2F9cAPACC%2F4UAPACD%2F4UAPACE%2F4UAPACF%2F4UAPACG%2F4UAPACH%2F4UAPACJ%2F9cAPACU%2F9cAPACV%2F9cAPACW%2F9cAPACX%2F9cAPACY%2F9cAPACa%2F9cAPACi%2F5oAPACj%2F5oAPACk%2F5oAPACl%2F5oAPACm%2F5oAPACn%2F5oAPACo%2F5oAPACp%2F5oAPACq%2F5oAPACr%2F5oAPACs%2F5oAPACt%2F5oAPAC0%2F5oAPAC1%2F5oAPAC2%2F5oAPAC3%2F5oAPAC4%2F5oAPAC6%2F5oAPAC7%2F8MAPAC8%2F8MAPAC9%2F8MAPAC%2B%2F8MAPADD%2F9cAPADE%2F5oAPADM%2F4UAPADP%2F4UAPQAm%2F%2BwAPQAq%2F%2BwAPQAy%2F%2BwAPQA0%2F%2BwAPQCJ%2F%2BwAPQCU%2F%2BwAPQCV%2F%2BwAPQCW%2F%2BwAPQCX%2F%2BwAPQCY%2F%2BwAPQCa%2F%2BwAPQDD%2F%2BwAPgAtALgARAAF%2F%2BwARAAK%2F%2BwARADL%2F%2BwARADO%2F%2BwARQAF%2F%2BwARQAK%2F%2BwARQBZ%2F9cARQBa%2F9cARQBb%2F9cARQBc%2F9cARQBd%2F%2BwARQC%2F%2F9cARQDL%2F%2BwARQDO%2F%2BwARgAFACkARgAKACkARgDLACkARgDOACkASAAF%2F%2BwASAAK%2F%2BwASABZ%2F9cASABa%2F9cASABb%2F9cASABc%2F9cASABd%2F%2BwASAC%2F%2F9cASADL%2F%2BwASADO%2F%2BwASQAFAHsASQAKAHsASQDLAHsASQDOAHsASwAF%2F%2BwASwAK%2F%2BwASwDL%2F%2BwASwDO%2F%2BwATgBG%2F9cATgBH%2F9cATgBI%2F9cATgBS%2F9cATgBU%2F9cATgCi%2F9cATgCp%2F9cATgCq%2F9cATgCr%2F9cATgCs%2F9cATgCt%2F9cATgC0%2F9cATgC1%2F9cATgC2%2F9cATgC3%2F9cATgC4%2F9cATgC6%2F9cATgDE%2F9cAUAAF%2F%2BwAUAAK%2F%2BwAUADL%2F%2BwAUADO%2F%2BwAUQAF%2F%2BwAUQAK%2F%2BwAUQDL%2F%2BwAUQDO%2F%2BwAUgAF%2F%2BwAUgAK%2F%2BwAUgBZ%2F9cAUgBa%2F9cAUgBb%2F9cAUgBc%2F9cAUgBd%2F%2BwAUgC%2F%2F9cAUgDL%2F%2BwAUgDO%2F%2BwAUwAF%2F%2BwAUwAK%2F%2BwAUwBZ%2F9cAUwBa%2F9cAUwBb%2F9cAUwBc%2F9cAUwBd%2F%2BwAUwC%2F%2F9cAUwDL%2F%2BwAUwDO%2F%2BwAVQAFAFIAVQAKAFIAVQBE%2F9cAVQBG%2F9cAVQBH%2F9cAVQBI%2F9cAVQBK%2F%2BwAVQBS%2F9cAVQBU%2F9cAVQCi%2F9cAVQCj%2F9cAVQCk%2F9cAVQCl%2F9cAVQCm%2F9cAVQCn%2F9cAVQCo%2F9cAVQCp%2F9cAVQCq%2F9cAVQCr%2F9cAVQCs%2F9cAVQCt%2F9cAVQC0%2F9cAVQC1%2F9cAVQC2%2F9cAVQC3%2F9cAVQC4%2F9cAVQC6%2F9cAVQDE%2F9cAVQDLAFIAVQDOAFIAVwAFACkAVwAKACkAVwDLACkAVwDOACkAWQAFAFIAWQAKAFIAWQAP%2F64AWQAR%2F64AWQAiACkAWQDLAFIAWQDM%2F64AWQDOAFIAWQDP%2F64AWgAFAFIAWgAKAFIAWgAP%2F64AWgAR%2F64AWgAiACkAWgDLAFIAWgDM%2F64AWgDOAFIAWgDP%2F64AWwBG%2F9cAWwBH%2F9cAWwBI%2F9cAWwBS%2F9cAWwBU%2F9cAWwCi%2F9cAWwCp%2F9cAWwCq%2F9cAWwCr%2F9cAWwCs%2F9cAWwCt%2F9cAWwC0%2F9cAWwC1%2F9cAWwC2%2F9cAWwC3%2F9cAWwC4%2F9cAWwC6%2F9cAWwDE%2F9cAXAAFAFIAXAAKAFIAXAAP%2F64AXAAR%2F64AXAAiACkAXADLAFIAXADM%2F64AXADOAFIAXADP%2F64AXgAtALgAggAF%2F3EAggAK%2F3EAggAm%2F9cAggAq%2F9cAggAtAQoAggAy%2F9cAggA0%2F9cAggA3%2F3EAggA5%2F64AggA6%2F64AggA8%2F4UAggCJ%2F9cAggCU%2F9cAggCV%2F9cAggCW%2F9cAggCX%2F9cAggCY%2F9cAggCa%2F9cAggCf%2F4UAggDD%2F9cAggDL%2F3EAggDO%2F3EAgwAF%2F3EAgwAK%2F3EAgwAm%2F9cAgwAq%2F9cAgwAtAQoAgwAy%2F9cAgwA0%2F9cAgwA3%2F3EAgwA5%2F64AgwA6%2F64AgwA8%2F4UAgwCJ%2F9cAgwCU%2F9cAgwCV%2F9cAgwCW%2F9cAgwCX%2F9cAgwCY%2F9cAgwCa%2F9cAgwCf%2F4UAgwDD%2F9cAgwDL%2F3EAgwDO%2F3EAhAAF%2F3EAhAAK%2F3EAhAAm%2F9cAhAAq%2F9cAhAAtAQoAhAAy%2F9cAhAA0%2F9cAhAA3%2F3EAhAA5%2F64AhAA6%2F64AhAA8%2F4UAhACJ%2F9cAhACU%2F9cAhACV%2F9cAhACW%2F9cAhACX%2F9cAhACY%2F9cAhACa%2F9cAhACf%2F4UAhADD%2F9cAhADL%2F3EAhADO%2F3EAhQAF%2F3EAhQAK%2F3EAhQAm%2F9cAhQAq%2F9cAhQAtAQoAhQAy%2F9cAhQA0%2F9cAhQA3%2F3EAhQA5%2F64AhQA6%2F64AhQA8%2F4UAhQCJ%2F9cAhQCU%2F9cAhQCV%2F9cAhQCW%2F9cAhQCX%2F9cAhQCY%2F9cAhQCa%2F9cAhQCf%2F4UAhQDD%2F9cAhQDL%2F3EAhQDO%2F3EAhgAF%2F3EAhgAK%2F3EAhgAm%2F9cAhgAq%2F9cAhgAtAQoAhgAy%2F9cAhgA0%2F9cAhgA3%2F3EAhgA5%2F64AhgA6%2F64AhgA8%2F4UAhgCJ%2F9cAhgCU%2F9cAhgCV%2F9cAhgCW%2F9cAhgCX%2F9cAhgCY%2F9cAhgCa%2F9cAhgCf%2F4UAhgDD%2F9cAhgDL%2F3EAhgDO%2F3EAhwAF%2F3EAhwAK%2F3EAhwAm%2F9cAhwAq%2F9cAhwAtAQoAhwAy%2F9cAhwA0%2F9cAhwA3%2F3EAhwA5%2F64AhwA6%2F64AhwA8%2F4UAhwCJ%2F9cAhwCU%2F9cAhwCV%2F9cAhwCW%2F9cAhwCX%2F9cAhwCY%2F9cAhwCa%2F9cAhwCf%2F4UAhwDD%2F9cAhwDL%2F3EAhwDO%2F3EAiAAtAHsAiQAm%2F9cAiQAq%2F9cAiQAy%2F9cAiQA0%2F9cAiQCJ%2F9cAiQCU%2F9cAiQCV%2F9cAiQCW%2F9cAiQCX%2F9cAiQCY%2F9cAiQCa%2F9cAiQDD%2F9cAigAtAHsAiwAtAHsAjAAtAHsAjQAtAHsAkgAP%2F64AkgAR%2F64AkgAk%2F9cAkgA3%2F8MAkgA5%2F%2BwAkgA6%2F%2BwAkgA7%2F9cAkgA8%2F%2BwAkgA9%2F%2BwAkgCC%2F9cAkgCD%2F9cAkgCE%2F9cAkgCF%2F9cAkgCG%2F9cAkgCH%2F9cAkgCf%2F%2BwAkgDM%2F64AkgDP%2F64AlAAP%2F64AlAAR%2F64AlAAk%2F9cAlAA3%2F8MAlAA5%2F%2BwAlAA6%2F%2BwAlAA7%2F9cAlAA8%2F%2BwAlAA9%2F%2BwAlACC%2F9cAlACD%2F9cAlACE%2F9cAlACF%2F9cAlACG%2F9cAlACH%2F9cAlACf%2F%2BwAlADM%2F64AlADP%2F64AlQAP%2F64AlQAR%2F64AlQAk%2F9cAlQA3%2F8MAlQA5%2F%2BwAlQA6%2F%2BwAlQA7%2F9cAlQA8%2F%2BwAlQA9%2F%2BwAlQCC%2F9cAlQCD%2F9cAlQCE%2F9cAlQCF%2F9cAlQCG%2F9cAlQCH%2F9cAlQCf%2F%2BwAlQDM%2F64AlQDP%2F64AlgAP%2F64AlgAR%2F64AlgAk%2F9cAlgA3%2F8MAlgA5%2F%2BwAlgA6%2F%2BwAlgA7%2F9cAlgA8%2F%2BwAlgA9%2F%2BwAlgCC%2F9cAlgCD%2F9cAlgCE%2F9cAlgCF%2F9cAlgCG%2F9cAlgCH%2F9cAlgCf%2F%2BwAlgDM%2F64AlgDP%2F64AlwAP%2F64AlwAR%2F64AlwAk%2F9cAlwA3%2F8MAlwA5%2F%2BwAlwA6%2F%2BwAlwA7%2F9cAlwA8%2F%2BwAlwA9%2F%2BwAlwCC%2F9cAlwCD%2F9cAlwCE%2F9cAlwCF%2F9cAlwCG%2F9cAlwCH%2F9cAlwCf%2F%2BwAlwDM%2F64AlwDP%2F64AmAAP%2F64AmAAR%2F64AmAAk%2F9cAmAA3%2F8MAmAA5%2F%2BwAmAA6%2F%2BwAmAA7%2F9cAmAA8%2F%2BwAmAA9%2F%2BwAmACC%2F9cAmACD%2F9cAmACE%2F9cAmACF%2F9cAmACG%2F9cAmACH%2F9cAmACf%2F%2BwAmADM%2F64AmADP%2F64AmgAP%2F64AmgAR%2F64AmgAk%2F9cAmgA3%2F8MAmgA5%2F%2BwAmgA6%2F%2BwAmgA7%2F9cAmgA8%2F%2BwAmgA9%2F%2BwAmgCC%2F9cAmgCD%2F9cAmgCE%2F9cAmgCF%2F9cAmgCG%2F9cAmgCH%2F9cAmgCf%2F%2BwAmgDM%2F64AmgDP%2F64AmwAP%2F9cAmwAR%2F9cAmwAk%2F%2BwAmwCC%2F%2BwAmwCD%2F%2BwAmwCE%2F%2BwAmwCF%2F%2BwAmwCG%2F%2BwAmwCH%2F%2BwAmwDM%2F9cAmwDP%2F9cAnAAP%2F9cAnAAR%2F9cAnAAk%2F%2BwAnACC%2F%2BwAnACD%2F%2BwAnACE%2F%2BwAnACF%2F%2BwAnACG%2F%2BwAnACH%2F%2BwAnADM%2F9cAnADP%2F9cAnQAP%2F9cAnQAR%2F9cAnQAk%2F%2BwAnQCC%2F%2BwAnQCD%2F%2BwAnQCE%2F%2BwAnQCF%2F%2BwAnQCG%2F%2BwAnQCH%2F%2BwAnQDM%2F9cAnQDP%2F9cAngAP%2F9cAngAR%2F9cAngAk%2F%2BwAngCC%2F%2BwAngCD%2F%2BwAngCE%2F%2BwAngCF%2F%2BwAngCG%2F%2BwAngCH%2F%2BwAngDM%2F9cAngDP%2F9cAnwAP%2F4UAnwAR%2F4UAnwAiACkAnwAk%2F4UAnwAm%2F9cAnwAq%2F9cAnwAy%2F9cAnwA0%2F9cAnwBE%2F5oAnwBG%2F5oAnwBH%2F5oAnwBI%2F5oAnwBK%2F9cAnwBQ%2F8MAnwBR%2F8MAnwBS%2F5oAnwBT%2F8MAnwBU%2F5oAnwBV%2F8MAnwBW%2F64AnwBY%2F8MAnwBd%2F9cAnwCC%2F4UAnwCD%2F4UAnwCE%2F4UAnwCF%2F4UAnwCG%2F4UAnwCH%2F4UAnwCJ%2F9cAnwCU%2F9cAnwCV%2F9cAnwCW%2F9cAnwCX%2F9cAnwCY%2F9cAnwCa%2F9cAnwCi%2F5oAnwCj%2F5oAnwCk%2F5oAnwCl%2F5oAnwCm%2F5oAnwCn%2F5oAnwCo%2F5oAnwCp%2F5oAnwCq%2F5oAnwCr%2F5oAnwCs%2F5oAnwCt%2F5oAnwC0%2F5oAnwC1%2F5oAnwC2%2F5oAnwC3%2F5oAnwC4%2F5oAnwC6%2F5oAnwC7%2F8MAnwC8%2F8MAnwC9%2F8MAnwC%2B%2F8MAnwDD%2F9cAnwDE%2F5oAnwDM%2F4UAnwDP%2F4UAoAAP%2FvYAoAAR%2FvYAoAAk%2F5oAoAA7%2F9cAoAA9%2F%2BwAoACC%2F5oAoACD%2F5oAoACE%2F5oAoACF%2F5oAoACG%2F5oAoACH%2F5oAoADM%2FvYAoADP%2FvYAogAF%2F%2BwAogAK%2F%2BwAogDL%2F%2BwAogDO%2F%2BwAowAF%2F%2BwAowAK%2F%2BwAowDL%2F%2BwAowDO%2F%2BwApAAF%2F%2BwApAAK%2F%2BwApADL%2F%2BwApADO%2F%2BwApQAF%2F%2BwApQAK%2F%2BwApQDL%2F%2BwApQDO%2F%2BwApgAF%2F%2BwApgAK%2F%2BwApgDL%2F%2BwApgDO%2F%2BwApwAF%2F%2BwApwAK%2F%2BwApwDL%2F%2BwApwDO%2F%2BwAqgAF%2F%2BwAqgAK%2F%2BwAqgBZ%2F9cAqgBa%2F9cAqgBb%2F9cAqgBc%2F9cAqgBd%2F%2BwAqgC%2F%2F9cAqgDL%2F%2BwAqgDO%2F%2BwAqwAF%2F%2BwAqwAK%2F%2BwAqwBZ%2F9cAqwBa%2F9cAqwBb%2F9cAqwBc%2F9cAqwBd%2F%2BwAqwC%2F%2F9cAqwDL%2F%2BwAqwDO%2F%2BwArAAF%2F%2BwArAAK%2F%2BwArABZ%2F9cArABa%2F9cArABb%2F9cArABc%2F9cArABd%2F%2BwArAC%2F%2F9cArADL%2F%2BwArADO%2F%2BwArQAF%2F%2BwArQAK%2F%2BwArQBZ%2F9cArQBa%2F9cArQBb%2F9cArQBc%2F9cArQBd%2F%2BwArQC%2F%2F9cArQDL%2F%2BwArQDO%2F%2BwAsgAF%2F%2BwAsgAK%2F%2BwAsgBZ%2F9cAsgBa%2F9cAsgBb%2F9cAsgBc%2F9cAsgBd%2F%2BwAsgC%2F%2F9cAsgDL%2F%2BwAsgDO%2F%2BwAtAAF%2F%2BwAtAAK%2F%2BwAtABZ%2F9cAtABa%2F9cAtABb%2F9cAtABc%2F9cAtABd%2F%2BwAtAC%2F%2F9cAtADL%2F%2BwAtADO%2F%2BwAtQAF%2F%2BwAtQAK%2F%2BwAtQBZ%2F9cAtQBa%2F9cAtQBb%2F9cAtQBc%2F9cAtQBd%2F%2BwAtQC%2F%2F9cAtQDL%2F%2BwAtQDO%2F%2BwAtgAF%2F%2BwAtgAK%2F%2BwAtgBZ%2F9cAtgBa%2F9cAtgBb%2F9cAtgBc%2F9cAtgBd%2F%2BwAtgC%2F%2F9cAtgDL%2F%2BwAtgDO%2F%2BwAuAAF%2F9cAuAAK%2F9cAuADL%2F9cAuADO%2F9cAugAF%2F%2BwAugAK%2F%2BwAugBZ%2F9cAugBa%2F9cAugBb%2F9cAugBc%2F9cAugBd%2F%2BwAugC%2F%2F9cAugDL%2F%2BwAugDO%2F%2BwAvwAFAFIAvwAKAFIAvwAP%2F64AvwAR%2F64AvwAiACkAvwDLAFIAvwDM%2F64AvwDOAFIAvwDP%2F64AwAAF%2F%2BwAwAAK%2F%2BwAwABZ%2F9cAwABa%2F9cAwABb%2F9cAwABc%2F9cAwABd%2F%2BwAwAC%2F%2F9cAwADL%2F%2BwAwADO%2F%2BwAwQAFAFIAwQAKAFIAwQAP%2F64AwQAR%2F64AwQAiACkAwQDLAFIAwQDM%2F64AwQDOAFIAwQDP%2F64AwwAtAHsAyAA3%2F64AyQA3%2F64AygAk%2F3EAygA3ACkAygA5ACkAygA6ACkAygA8ABQAygBE%2F64AygBG%2F4UAygBH%2F4UAygBI%2F4UAygBK%2F8MAygBQ%2F8MAygBR%2F8MAygBS%2F4UAygBT%2F8MAygBU%2F4UAygBV%2F8MAygBW%2F8MAygBY%2F8MAygCC%2F3EAygCD%2F3EAygCE%2F3EAygCF%2F3EAygCG%2F3EAygCH%2F3EAygCfABQAygCi%2F4UAygCj%2F64AygCk%2F64AygCl%2F64AygCm%2F64AygCn%2F64AygCo%2F64AygCp%2F4UAygCq%2F4UAygCr%2F4UAygCs%2F4UAygCt%2F4UAygC0%2F4UAygC1%2F4UAygC2%2F4UAygC3%2F4UAygC4%2F4UAygC6%2F4UAygC7%2F8MAygC8%2F8MAygC9%2F8MAygC%2B%2F8MAygDE%2F4UAywAk%2F3EAywA3ACkAywA5ACkAywA6ACkAywA8ABQAywBE%2F64AywBG%2F4UAywBH%2F4UAywBI%2F4UAywBK%2F8MAywBQ%2F8MAywBR%2F8MAywBS%2F4UAywBT%2F8MAywBU%2F4UAywBV%2F8MAywBW%2F8MAywBY%2F8MAywCC%2F3EAywCD%2F3EAywCE%2F3EAywCF%2F3EAywCG%2F3EAywCH%2F3EAywCfABQAywCi%2F4UAywCj%2F64AywCk%2F64AywCl%2F64AywCm%2F64AywCn%2F64AywCo%2F64AywCp%2F4UAywCq%2F4UAywCr%2F4UAywCs%2F4UAywCt%2F4UAywC0%2F4UAywC1%2F4UAywC2%2F4UAywC3%2F4UAywC4%2F4UAywC6%2F4UAywC7%2F8MAywC8%2F8MAywC9%2F8MAywC%2B%2F8MAywDE%2F4UAzAAm%2F5oAzAAq%2F5oAzAAy%2F5oAzAA0%2F5oAzAA3%2F3EAzAA4%2F9cAzAA5%2F4UAzAA6%2F4UAzAA8%2F4UAzACJ%2F5oAzACU%2F5oAzACV%2F5oAzACW%2F5oAzACX%2F5oAzACY%2F5oAzACa%2F5oAzACb%2F9cAzACc%2F9cAzACd%2F9cAzACe%2F9cAzACf%2F4UAzADD%2F5oAzQAk%2F3EAzQA3ACkAzQA5ACkAzQA6ACkAzQA8ABQAzQBE%2F64AzQBG%2F4UAzQBH%2F4UAzQBI%2F4UAzQBK%2F8MAzQBQ%2F8MAzQBR%2F8MAzQBS%2F4UAzQBT%2F8MAzQBU%2F4UAzQBV%2F8MAzQBW%2F8MAzQBY%2F8MAzQCC%2F3EAzQCD%2F3EAzQCE%2F3EAzQCF%2F3EAzQCG%2F3EAzQCH%2F3EAzQCfABQAzQCi%2F4UAzQCj%2F64AzQCk%2F64AzQCl%2F64AzQCm%2F64AzQCn%2F64AzQCo%2F64AzQCp%2F4UAzQCq%2F4UAzQCr%2F4UAzQCs%2F4UAzQCt%2F4UAzQC0%2F4UAzQC1%2F4UAzQC2%2F4UAzQC3%2F4UAzQC4%2F4UAzQC6%2F4UAzQC7%2F8MAzQC8%2F8MAzQC9%2F8MAzQC%2B%2F8MAzQDE%2F4UAzwAm%2F5oAzwAq%2F5oAzwAy%2F5oAzwA0%2F5oAzwA3%2F3EAzwA4%2F9cAzwA5%2F4UAzwA6%2F4UAzwA8%2F4UAzwCJ%2F5oAzwCU%2F5oAzwCV%2F5oAzwCW%2F5oAzwCX%2F5oAzwCY%2F5oAzwCa%2F5oAzwCb%2F9cAzwCc%2F9cAzwCd%2F9cAzwCe%2F9cAzwCf%2F4UAzwDD%2F5oAAAAeAW4AAQAAAAAAAAA5AHQAAQAAAAAAAQASANQAAQAAAAAAAgAGAPUAAQAAAAAAAwAuAVoAAQAAAAAABAAZAb0AAQAAAAAABQAMAfEAAQAAAAAABgAXAi4AAQAAAAAABwBSAuwAAQAAAAAACAAUA2kAAQAAAAAACwAcA7gAAQAAAAAADAAuBDMAAQAAAAAADQAuBMAAAQAAAAAADgAqBUUAAQAAAAAAEAAJBYQAAQAAAAAAEQAPBa4AAwABBAkAAAByAAAAAwABBAkAAQAkAK4AAwABBAkAAgAMAOcAAwABBAkAAwBcAPwAAwABBAkABAAyAYkAAwABBAkABQAYAdcAAwABBAkABgAuAf4AAwABBAkABwCkAkYAAwABBAkACAAoAz8AAwABBAkACwA4A34AAwABBAkADABcA9UAAwABBAkADQBcBGIAAwABBAkADgBUBO8AAwABBAkAEAASBXAAAwABBAkAEQAeBY4ARABpAGcAaQB0AGkAegBlAGQAIABkAGEAdABhACAAYwBvAHAAeQByAGkAZwBoAHQAIACpACAAMgAwADEAMAAtADIAMAAxADEALAAgAEcAbwBvAGcAbABlACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAC4AAERpZ2l0aXplZCBkYXRhIGNvcHlyaWdodCCpIDIwMTAtMjAxMSwgR29vZ2xlIENvcnBvcmF0aW9uLgAATwBwAGUAbgAgAFMAYQBuAHMAIABTAGUAbQBpAGIAbwBsAGQAAE9wZW4gU2FucyBTZW1pYm9sZAAASQB0AGEAbABpAGMAAEl0YWxpYwAAQQBzAGMAZQBuAGQAZQByACAALQAgAE8AcABlAG4AIABTAGEAbgBzACAAUwBlAG0AaQBiAG8AbABkACAASQB0AGEAbABpAGMAIABCAHUAaQBsAGQAIAAxADAAMAAAQXNjZW5kZXIgLSBPcGVuIFNhbnMgU2VtaWJvbGQgSXRhbGljIEJ1aWxkIDEwMAAATwBwAGUAbgAgAFMAYQBuAHMAIABTAGUAbQBpAGIAbwBsAGQAIABJAHQAYQBsAGkAYwAAT3BlbiBTYW5zIFNlbWlib2xkIEl0YWxpYwAAVgBlAHIAcwBpAG8AbgAgADEALgAxADAAAFZlcnNpb24gMS4xMAAATwBwAGUAbgBTAGEAbgBzAC0AUwBlAG0AaQBiAG8AbABkAEkAdABhAGwAaQBjAABPcGVuU2Fucy1TZW1pYm9sZEl0YWxpYwAATwBwAGUAbgAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABHAG8AbwBnAGwAZQAgAGEAbgBkACAAbQBhAHkAIABiAGUAIAByAGUAZwBpAHMAdABlAHIAZQBkACAAaQBuACAAYwBlAHIAdABhAGkAbgAgAGoAdQByAGkAcwBkAGkAYwB0AGkAbwBuAHMALgAAT3BlbiBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIEdvb2dsZSBhbmQgbWF5IGJlIHJlZ2lzdGVyZWQgaW4gY2VydGFpbiBqdXJpc2RpY3Rpb25zLgAAQQBzAGMAZQBuAGQAZQByACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAABBc2NlbmRlciBDb3Jwb3JhdGlvbgAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tLwAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwB0AHkAcABlAGQAZQBzAGkAZwBuAGUAcgBzAC4AaAB0AG0AbAAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tL3R5cGVkZXNpZ25lcnMuaHRtbAAATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMAAATGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAAGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAAATwBwAGUAbgAgAFMAYQBuAHMAAE9wZW4gU2FucwAAUwBlAG0AaQBiAG8AbABkACAASQB0AGEAbABpAGMAAFNlbWlib2xkIEl0YWxpYwAAAgAA%2F%2FQAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADWAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA%2BAD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCsAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQIAigEDAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB%2BAIAAgQDsAO4AugDXALAAsQDYAN0A2QCyALMAtgC3AMQAtAC1AMUAhwC%2BAL8AvAEEAQUHdW5pMDBBRAlvdmVyc2NvcmUMZm91cnN1cGVyaW9yBEV1cm8AAAABAAIACAAK%2F%2F8ADwAAAAEAAAAAyYlvMQAAAADJY0iWAAAAAMnt2GQ%3D%29%20format%28%27truetype%27%29%3B%0A%7D%0A%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Source%20Code%20Pro%27%3B%0Afont%2Dstyle%3A%20normal%3B%0Afont%2Dweight%3A%20400%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAPAIAAAwBwRkZUTWaiaLcAAKVwAAAAHE9TLzJyvPgMAAABeAAAAGBjbWFwVIOo9QAAA8QAAAICY3Z0IAC%2FC3EAAAeAAAAAImZwZ20GWZw3AAAFyAAAAXNnYXNw%2F%2F8AAwAApWgAAAAIZ2x5ZrbD8a4AAAmIAABdUGhlYWT7xXV0AAAA%2FAAAADZoaGVhBi4C3QAAATQAAAAkaG10eDZGLdMAAAHYAAAB6mxvY2F%2FBGjeAAAHpAAAAeJtYXhwAwgBUgAAAVgAAAAgbmFtZXFCsfwAAGbYAAA7ZHBvc3QKYvRKAACiPAAAAylwcmVwJrMjsAAABzwAAABBAAEAAAABBFos1IC0Xw889QAfA%2BgAAAAAzR8W4gAAAADNHxbi%2F%2F%2F%2FBgJVA2sAAAAIAAIAAAAAAAAAAQAAA9j%2B7wAAA%2Bj%2F%2FwAAAlUAAQAAAAAAAAAAAAAAAAAAAAUAAQAAAPAAVgAEAEgABgABAAAAAAAKAAACAACyAAMAAQADAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIBIAAAAgsFCQMEAwICBCAAAAcAABgBAAAAAAAAAABBREJFAEAADSIVAu7%2FBgAAA9gBEWAAAZMAAAAAAeYCkAAAACAAAQPoAAAAAAAAAU0AAAAAAAACWAAAAAAA4wCDAFcAVQAcACoA9QDQAHoAVABVAMUAVQDbAGMARwBiAEUAOQAnADgATQBGAEQAQwDbAMUAeABVAGsAbQAxACAAZwBCAFUAcwCHADUATwBfAFEAYgCGAFEAUwAwAGYAMQBkAEMAKgBPACsACgA2ACYAQQDiAGMAYwBvADwAuQBRAF0AUAA8AEUAZwBIAF0AWgA3AGoAUQA8AF0APABdADwAkgBIAEUATQAzAAgAQAAxAEcAeAEHAGMATAAAAOMAcQBNADoANQEHAFsAlgAeAKcAUwBVAFUAcACxAK8AVQCuAKwA6wBNAEgA2wDdANAAjgBhABwAHAAnAHsAIAAgACAAIAAgACD%2F%2FwBCAHMAcwBzAHMAXwBfAF8AXwAQAFMAMAAwADAAMAAwAGYALQBPAE8ATwBPACYAZQBYAFEAUQBRAFEAUQBRABEAUABFAEUARQBFAFoAWgBaAFoAPABdADwAPAA8ADwAPABVADwATQBNAE0ATQAxAF0AMQBaACEACwCoAM8AngC5AOsAqACeALEAlgDPANcApwCOAFAAFADRANkA2QBfAGcAZwCXAMUA0wAcAKwAOgBVABwAoQDQAK0ArACsAKkA%2BQCkAJsApQDPANIAAAAAAAMAAAADAAAAHAABAAAAAAD8AAMAAQAAABwABADgAAAANAAgAAQAFAAAAA0AfgD%2FATEBUwLGAtoC3AMEAwgDCgMnHUMdUiAUIBogHiAiIDogRCB0IKwiEiIV%2F%2F8AAAAAAA0AIACgATEBUgLGAtoC3AMAAwgDCgMnHUMdUiATIBggHCAiIDkgRCB0IKwiEiIV%2F%2F8AA%2F%2F3%2F%2BX%2FxP%2BT%2F3P%2BAf3u%2Fe39yv3H%2Fcb9quOP44HgweC%2B4L3guuCk4JvgbOA13tDezgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAMAAAAAAAAAAQIAAAAEAAAAAAAAAAAAAAAAAAAAAQAABQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmMAiImLjZWaoKWkpqinqautrK6vsbCys7W3tri6ub69v8AAdGZna9x6o3JtAHhsAIqcAHUAAGl5AAAAAABufgCqvINlcAAAAABvfwBkhIeZxcbU1dna1te7AMMA3%2BHd3gAAAHvY2wCGjoWPjJGSk5CXmACWnp%2BdxMfJcwAAyHwAAAAAALgAACxLuAAJUFixAQGOWbgB%2F4W4AEQduQAJAANfXi24AAEsICBFaUSwAWAtuAACLLgAASohLbgAAywgRrADJUZSWCNZIIogiklkiiBGIGhhZLAEJUYgaGFkUlgjZYpZLyCwAFNYaSCwAFRYIbBAWRtpILAAVFghsEBlWVk6LbgABCwgRrAEJUZSWCOKWSBGIGphZLAEJUYgamFkUlgjilkv%2FS24AAUsSyCwAyZQWFFYsIBEG7BARFkbISEgRbDAUFiwwEQbIVlZLbgABiwgIEVpRLABYCAgRX1pGESwAWAtuAAHLLgABiotuAAILEsgsAMmU1iwQBuwAFmKiiCwAyZTWCMhsICKihuKI1kgsAMmU1gjIbgAwIqKG4ojWSCwAyZTWCMhuAEAioobiiNZILADJlNYIyG4AUCKihuKI1kguAADJlNYsAMlRbgBgFBYIyG4AYAjIRuwAyVFIyEjIVkbIVlELbgACSxLU1hFRBshIVktALAAKwCyAQECKwGyAgECKwG3AkA2KiEUAAgrALcBTUAyJBcACCsAsgMHByuwACBFfWkYREuwYFJYsAEbsABZsAGOAAAAABQARABWAAAADP8zAAwB5gAMAj4ADAJ%2BAAwCkAAMAsgADAAAAAAAAAAAAAAAAAAAAAAAOABEALoBJAE0AeYB%2FAIeAj4CdAKYAr4CxgLoAwIDZAOcA%2B4EYASyBRgFjAXCBkgGvAbIBtQHBgcSB0QHlggMCFAItAkECUIJgAm2ChYKUgqICsQLFAs6C5AL4Aw0DH4M8A1EDbIN3g4gDlgOuA8UD1IPiA%2BmD8AP3hAIEBwQJBCqESYRdhHuEkwSnBNqE8IUABRWFKYU3hViFboWDhaIFwAXTBeyGAIYVhiQGQIZYBm%2BGfQaVhpqGswbChsKGzgbohwKHGQcxhzkHXAdeB4AHggeFB4qHjIeqh6yHu4fLB82H0AfSB%2B%2BH%2FAf%2BiACIAwgFCAgIDAgQCBQIKAgrCC4IMQg0CDcIOghQiFOIVohZiFyIX4hiiGWIaIhriH%2BIgoiFiIiIi4iOiJGInQi%2FCMIIxQjICMsIzgjfCP4JAQkECQcJCgkNCRAJPglBCUQJRwlKCU0JUAlTCVYJWQl8CX8JggmFCYgJiwmOCZ4JwAnDCcYJyQnMCc8J7YnwifqKDwo5CjsKPQo%2FCkOKSIpQil6KY4pwin0KiIqdiqyKsYq2isAKyQrLis6K0YrVCt6K5IrqivGK9AsTixiLGospCzGLQQtWC2SLaQtuC3YLhQuSC56LqgAAAACAOP%2F9AF1Ap4ABQARAC0AuAAARVi4AAEvG7kAAQANPlm4AABFWLgADy8buQAPAAM%2BWbgACdy4AAXcMDEBJzMHAyMHNDYzMhYVFAYjIiYBBgJQAgo4LSseHisrHh4rAkBeXv6opiMpKSMkKioAAAD%2F%2FwCDAWAB1gKvEiYADI4AEAYADHMAAAAAAgBXAAACBwKKABsAHwCLALgAAEVYuAAILxu5AAgACz5ZuAAARVi4AAwvG7kADAALPlm4AABFWLgAGy8buQAbAAM%2BWbgAAEVYuAAXLxu5ABcAAz5ZuwACAAEAAQAEK7sABgABAAUABCu4AAYQuAAK0LgADtC4AAUQuAAe0LgAEdC4AAIQuAAf0LgAEtC4AAEQuAAZ0LgAFdAwMTcjNTM3IzUzNzMHMzczBzMVIwczFSMHIzcjByMTNyMHpk9WE1VbGDUXhBg1F1FXE1ZdGDYZhRg22ROFEsw5lDq3t7e3OpQ5zMzMAQWUlAAAAAABAFX%2FkgIAAuwAMQBHALgAFi%2B4ACwvuAAr3LkABQAB9LgAFhC4ABfcugAIABcAKxESObgAFNC4ABcQuQAeAAH0ugAhACsAFxESObgAKxC4AC7QMDEBLgMjIgYVFB4EFRQOAgcVIzUuASc3HgEzMjY1NC4ENTQ2NzUzFR4BFwHDER8iKBkzOy9HUkcvGS9BJzw4ZCMnJls5PD0vRlNGL1lJPDdKHgHtDRUPCC0mHCQeHio8LiA3KRsEkpEFLB05GykxJh8pIB4pOSw%2FUAiEgwUqHQAA%2F%2F8AHP%2F0Aj0CihInAOT%2FewFNECYA3wAAEAcA5ACGAAAAAwAq%2F%2FQCQQKcAA0AGwBHAJAAuAAARVi4ADMvG7kAMwANPlm4AABFWLgAIS8buQAhAAM%2BWbgAAEVYuAAcLxu5ABwAAz5ZuAAhELkABQAB9LoACAAhADMREjm6ABEAMwAhERI5uAARELgAK9C4AAvQuAAzELkAGQAB9LgACBC4AB7QuAARELkAOwAB9LgAHhC4AEXQuAA%2B0LgAHBC4AEfQMDE3FB4CMzI2Ny4BJw4BExQWFz4DNTQmIyIGASYnDgEjIi4CNTQ%2BAjcuATU0PgIzMhYVFA4CBx4BFz4BNzMOAQcWF3oUIi4aHzoaMFUiICpGEA4VJR0QGyEjJgFqQUgkVzgsSDMdFCMsGBUXFSU1IT1CGSgyGiBTLRwpDkwSNCQ8Na8bLSARHBgqZDYcPQEtGzoeDx8hJRYdKzb9yRQ3IygbMEMoIDYtJxIpTyMhOCoYSDogNC8pFDNeJyhfOUF2NC4RAAABAPUBYAFjAq8ABQALALoAAgAEAAMrMDETJzMPASP3Am4CGTgCQW5u4QAAAAEA0P9QAd4C3AAOAAsAugAGAAAAAyswMQUuATU0NjcXDgEVFBYXBwGxaHl5aC1lX19lLbBR5JGR5FEqVch%2Ff8hVKgAAAQB6%2F1ABiALcAA0ACwC6AAcADQADKzAxFz4BNTQmJzceARUUBgd6ZV9fZS1oeXlohlXIf3%2FIVSpR5JGR5FEAAAEAVABvAgQCLAAOAC8AuAAOL7oAAQAOAAUREjm4AAEQuQAEAAH0uAAH0LgAARC4AArQuAAOELgADNAwMT8BJzcXNzMXNxcHFwcnB4psohCnCTAJpxCibCp4eI2lRi43vb03LkalHp%2BfAAAAAAEAVQBoAgMCLAALAB0AuwACAAEAAQAEK7gAAhC4AAbQuAABELgACdAwMQEjNTM1MxUzFSMVIwELtrZCtrZCASs%2Bw8M%2BwwAAAAEAxf8rAYwAmwASAAsAugAMAAYAAyswMRc%2BATcOASMiJjU0NjMyFhUUBgfFPj4CBQkFIC4wIC0tXVOhHE88AQElJiUnRTtYeR8AAP%2F%2FAFUBKwIDAWkSBgDiAAAAAQDb%2F%2FQBfQCdAAsAGAC4AABFWLgACS8buQAJAAM%2BWbgAA9wwMTc0NjMyFhUUBiMiJtsvIiIvLyIiL0gmLy8mJi4uAAABAGP%2FYAH1AsYAAwAYALgAAEVYuAACLxu5AAIADz5ZuAAA3DAxFyMBM61KAUhKoANmAAAAAwBH%2F%2FQCEQKKAAsAGwAnAEsAuAAARVi4AAYvG7kABgALPlm4AABFWLgAAC8buQAAAAM%2BWbgABhC5AAwAAfS4AAAQuQAUAAH0ugAcABQADBESObgAHC%2B4ACLcMDEFIiY1NDYzMhYVFAYDIg4CFRQWMzI2NTQuAgMiJjU0NjMyFhUUBgEsa3p6a2t6emshOCkWVUNDVRYpOCEZJSUZGSUlDK2goaiooaCtAlQeQWNFiYKCiUVjQR7%2BvSMgHyMjHyAjAAAAAAEAYgAAAhACfgAMAD0AuAAARVi4AAovG7kACgALPlm4AABFWLgAAi8buQACAAM%2BWbkAAwAB9LgAANC4AAoQuAAF0LkABwAB9DAxJRUhNTMRIzU%2BATczEQIQ%2FlK1iDNMHj1EREQB1jUIFxD9xgAAAAABAEUAAAIKAooAHwBDALgAAEVYuAAPLxu5AA8ACz5ZuAAARVi4AB4vG7kAHgADPlm5ABwAAfS4AADQugAFAA8AHhESObgADxC5AAgAAfQwMTc%2BAzU0JiMiBgcnPgEzMh4CFRQOAgc%2BATsBFSFJUX1VLERHLU0fLytjRDBNNh0rTmxBHT0d0v4%2FMUh0YVQoN0YtIC8sNRsxRiotW2FpOwIERwAAAAEAOf%2F0AgYCigAzAFMAuAAARVi4AB0vG7kAHQALPlm4AABFWLgAMC8buQAwAAM%2BWbkAAwAB9LoADQAdADAREjm4AA0vuQAOAAH0uAAdELkAFgAB9LoAJgANAA4REjkwMTceATMyPgI1NC4CIzUyPgI1NCYjIgYHJz4BMzIeAhUUBgcVHgMVFA4CIyImJ2MgWT4hOCkXGThYPzlPMhdHOy1QICwoZj4tTTkgTDwgOSwZJD9UMFNwI4QeLhEeKxscLyISPxIgLBkvNiQdNCMtFik8JzpKFAQHGyk2ISpELxk3IwAAAAIAJwAAAiECfgAJABQAWQC4AABFWLgAES8buQARAAs%2BWbgAAEVYuAANLxu5AA0AAz5ZuwAOAAEAAAAEK7gAERC5AAQAAfS4AAAQuAAJ0LgADhC4AAvQuAAJELgAENC4AAAQuAAT0DAxJTU%2BATcjDgEPAQUjFSM1ITUBMxEzAXABAgIFDyIQrQGfY07%2BtwE%2FWGPyxho9GhcvF9pCsLA3AZf%2BdAAAAQA4%2F%2FQCCgJ%2BACgAVQC4AABFWLgAEi8buQASAAs%2BWbgAAEVYuAAjLxu5ACMAAz5ZuwAZAAEADQAEK7gAIxC5AAUAAfS6ABYAIwASERI5uAAWELgAEdC4ABIQuQAUAAH0MDE3HgMzMj4CNTQmIyIGBycTIRUhBz4BMzIeAhUUDgIjIi4CJ2EQJCs1ICI7LBlVSCg4IiwVAWn%2B4BEcNSUuUDsiJ0JVLitFNy0SgQ4bFAwVJjYhQkoUExwBM0e9DA4YMUs0NFA3HQ8YHxEAAgBN%2F%2FQCFgKKAA0AMABXALgAAEVYuAAtLxu5AC0ACz5ZuAAARVi4ACMvG7kAIwADPlm7AAgAAQAZAAQruAAjELkAAAAB9LoAFgAjAC0REjm4ABYQuQALAAH0uAAtELkAEQAB9DAxJTI%2BAjU0JiMiBgceARMuASMiDgIHPgEzMh4CFRQOAiMiLgI1ND4CMzIWFwFBHDIkFUZCJlQpCVXhGUIkJkY1IQEmXzAsSTUdIzpNKzRZQiUsSmE0O1cgNRQlMyBCRScvXWAB3hcbHEBpTSYtGTFKMS5LNh4mTXNNYIdVJycdAAAAAAEARgAAAhQCfgAPADMAuAAARVi4AAcvG7kABwALPlm4AABFWLgAAC8buQAAAAM%2BWbgABxC5AAUAAfS4AAnQMDEzPgM3ITUhFQ4DByPiBBoyTTf%2BkAHOP1IyFgNWW5WGfkNHM0iEiZheAAAAAAMARP%2F0AhMCigANABoAQABXALgAAEVYuAApLxu5ACkACz5ZuAAARVi4ADwvG7kAPAADPlm5AAMAAfS4ACkQuQATAAH0ugALAAMAExESObgACy%2B4ADHQuAAxL7gADty4AAsQuAAg3DAxNxQWMzI2NTQuAicOATc2NTQmIyIGFRQeAgc0PgI3NS4BNTQ%2BAjMyHgIVFAYHFR4DFRQOAiMiLgKPV0pITB82SSovPtFQQj82QhouPfgYJjEaKDkdNUgrL0kzGzkoGi4iEx86VTc2VzwhqzZEPjIhLSAZDhpBgTpGMEE4Lx0pIBnEITQqHwwEGUkzJTwrGBktPyUtTxwEDR4mMyIkPi4aGi9AAAACAEP%2F9AIMAooADQAwAFcAuAAARVi4ACMvG7kAIwALPlm4AABFWLgALS8buQAtAAM%2BWbsAAAABABkABCu6ABYALQAjERI5uAAWELkAAwAB9LgAIxC5AAYAAfS4AC0QuQARAAH0MDEBMjY3LgEjIg4CFRQWBx4BMzI%2BAjcOASMiLgI1ND4CMzIeAhUUDgIjIiYnARklVCoKU0cdMSQVRVkYQiUmRTUgAiddMSxJNB0iO00qNFpCJS1KYDQ7VyABNicuXmAUJTQfQkXLFxwcQWhNJiwZMUoxLks2HiZNc01gh1UnJh0AAAD%2F%2FwDb%2F%2FQBfQIDEicAEwAAAWYQBgATAAD%2F%2FwDF%2FysBjAIDEicAEwAAAWYQBgARAAAAAQB4ADAB7QJoAAcAOwC7AAAAAQAHAAQruAAAELgAAtC4AAIvuQABAAH0ugAEAAAABxESObgABxC4AAXQuAAFL7kABgAB9DAxEyUVBRUFFSV4AXX%2B0wEt%2FosBa%2F1PywTLT%2F0A%2F%2F8AVQDBAgMB1BImAOIAaxAGAOIAlgAAAAEAawAwAeACaAAHADsAuwAHAAEAAAAEK7gAABC4AALQuAACL7kAAQAB9LoABAAHAAAREjm4AAcQuAAF0LgABS%2B5AAYAAfQwMQEFNSU1JTUFAeD%2BiwEt%2FtMBdQEt%2FU%2FLBMtP%2FQACAG3%2F9AHfAqoAHQApACoAuAAARVi4ACcvG7kAJwADPlm7ABEAAQAKAAQruAAnELgAIdy4AADcMDE3Jj4ENTQmIyIGByc%2BATMyHgIVFA4EFwc0NjMyFhUUBiMiJvIGEiMsJxo3NyZBGzEiXDoqRDEbGyctJRUFZiseHisrHh4r6CQ4LignKhoqNx8bLSMuFik5JCEzKygsMyCmIykpIyQqKgAAAAIAMf9wAiICewA0AD0APwC7AB4AAQAlAAQruwAvAAEAFAAEK7sAOAABAAYABCu7ADsAAQAOAAQrugACAAYALxESObgAAhC5ADoAAfQwMSUjJyMOASMiLgI1NDY3NTQuAiMiDgIVFB4CMzI2NxcOASMiLgI1ND4CMzIeAhUFFBYzMjc1DgECIjIHBBZHJxsvIxSIgBEkOSctUj8lJD5UMS1DHRwnUjI7alAvLVBrPjRMMhn%2FACslODhoWGQ6HCoSIjEeTU4QDiRAMBwqU31TUH1WLRcWLRscM2OUYGCQYDEkQFczsCMoQH4ONwAAAgAgAAACOAKQAAkAEQBBALgAAEVYuAAOLxu5AA4ADT5ZuAAARVi4AA0vG7kADQADPlm7AAoAAQAJAAQruAAOELkABQAB9LgADRC4ABHQMDEBJy4BJyMOAQ8BFyMHIxMzEyMBjR8RIBAEECARH9nuP1XdXt1YAQtkN205OW03ZEPIApD9cAAAAAMAZwAAAiECkAATABwAJQBXALgAAEVYuAAALxu5AAAADT5ZuAAARVi4ABMvG7kAEwADPlm6ACQAEwAAERI5uAAkL7kAHAAB9LoACgAkABwREjm4AAAQuQAbAAH0uAATELkAJQAB9DAxEzMyHgIVFAYHFR4BFRQOAisBEzI2NTQmKwEVEzI2NTQmKwEVZ7QyUzshOTpIUCRBWzfDplRJTUxWY1VcWldjApASJj0rMU8PBAtORDBIMBgBeDo3Ni%2FW%2Fso%2FQz05%2BAAAAQBC%2F%2FQCKgKcACEAOQC4AABFWLgABS8buQAFAA0%2BWbgAAEVYuAAdLxu5AB0AAz5ZuAAFELkADAAB9LgAHRC5ABYAAfQwMRM0PgIzMhYXBy4BIyIOAhUUHgIzMjY3Fw4BIyIuAkIrTmxAPFodLxpAKi9NNh0dNk0vLUYgMCdiPz5pTSwBSE9%2BWC8wIDUbISVFYj0%2BY0YmJiMzLTIuV38AAAIAVQAAAiUCkAAKABMAOQC4AABFWLgAAC8buQAAAA0%2BWbgAAEVYuAAKLxu5AAoAAz5ZuAAAELkAEgAB9LgAChC5ABMAAfQwMRMzMhYVFA4CKwE3MjY1NCYrARFVoJWbJ0xwSaSbcG9vcEgCkKidTntVLUSKfX2E%2FfgAAAABAHMAAAISApAACwBNALgAAEVYuAAALxu5AAAADT5ZuAAARVi4AAsvG7kACwADPlm4AAAQuQADAAH0ugAHAAsAABESObgABy%2B5AAQAAfS4AAsQuQAIAAH0MDETIRUhFSEVIRUhFSFzAZX%2BvwEP%2FvEBS%2F5hApBGzkfuRwAAAQCHAAACGAKQAAkAQwC4AABFWLgAAC8buQAAAA0%2BWbgAAEVYuAAJLxu5AAkAAz5ZuAAAELkAAwAB9LoABwAJAAAREjm4AAcvuQAEAAH0MDETIRUhFSEVIREjhwGR%2FsIBDf7zUwKQRt5G%2FtoAAQA1%2F%2FQCFQKcACcATQC4AABFWLgABS8buQAFAA0%2BWbgAAEVYuAAjLxu5ACMAAz5ZuAAFELkADgAB9LgAIxC5ABgAAfS6AB0AIwAFERI5uAAdL7kAHgAB9DAxEzQ%2BAjMyHgIXBy4BIyIOAhUUHgIzMjY3NSM1MxEOASMiLgI1K01rQCE2LSMOLxg%2BMC5LNh0bM0wwIzwTg9AgZEA%2BaEwqAUhPf1cvDhccDzUaIiVFYj0%2BY0YmFRKrRf7sICwuV38AAQBPAAACCQKQAAsASQC4AABFWLgAAC8buQAAAA0%2BWbgAAEVYuAALLxu5AAsAAz5ZugAJAAsAABESObgACS%2B5AAIAAfS4AAAQuAAE0LgACxC4AAfQMDETMxEhETMRIxEhESNPVAESVFT%2B7lQCkP7tARP9cAE1%2FssAAQBfAAAB%2BQKQAAsAQQC4AABFWLgABC8buQAEAA0%2BWbgAAEVYuAALLxu5AAsAAz5ZuQAAAAH0uAAEELkAAwAB9LgABtC4AAAQuAAJ0DAxNzMRIzUhFSMRMxUhX6OjAZqjo%2F5mRwIDRkb9%2FUcAAQBR%2F%2FQB7QKRABMANQC4AABFWLgACS8buQAJAA0%2BWbgAAEVYuAAQLxu5ABAAAz5ZuQADAAH0uAAJELkABwAB9DAxNx4BMzI2NREhNSERFA4CIyImJ4cdSCZHQf7tAWYWM1M9OGkikywqS1EBckb%2BQS5RPCM0OQAAAQBiAAACQwKQAAwAawC4AABFWLgAAC8buQAAAA0%2BWbgAAEVYuAAELxu5AAQADT5ZuAAARVi4AAsvG7kACwADPlm4AABFWLgACC8buQAIAAM%2BWboAAwAHAAAREjm6AAkABwAAERI5uAAJELgABtC4AAMQuAAK0DAxEzMRMwEzBxMjAwcVI2JUAwEUXs%2FnXb5yVAKQ%2FrcBSfr%2BagFVhdAAAAEAhgAAAh0CkAAFACsAuAAARVi4AAAvG7kAAAANPlm4AABFWLgABS8buQAFAAM%2BWbkAAgAB9DAxEzMRIRUhhlIBRf5pApD9t0cAAAABAFEAAAIHApAAHQBNALgAAEVYuAAALxu5AAAADT5ZuAAARVi4AB0vG7kAHQADPlm7ABIAAQAEAAQruAAAELgABtC4AB0QuAAJ0LgAABC5ABYAAfS4ABDQMDETMxMXMzcTMxEjETQ%2BAjcjDwEjLwEjHgMVESNRXF0hBCBcXEcCAwMCAytaLVosAwEEBAJGApD%2B6WpqARf9cAFxFDY3NRSM%2Ff2MFDU3NhT%2BjwAAAQBTAAACBQKQABMAWQC4AABFWLgAAS8buQABAA0%2BWbgAAEVYuAALLxu5AAsAAz5ZugACAAEACxESObkABAAB9LgAARC4AAjQugAMAAsAARESObgAARC5AA0AAfS4AAsQuAAS0DAxEzMTFzMuATURMxEjAycjHgEVESNTVdVCAgIJT1XVQgICCU8CkP5ihjFrNAFU%2FXABnoYzZzP%2BqQAAAAIAMP%2F0AigCnAATACcANQC4AABFWLgACi8buQAKAA0%2BWbgAAEVYuAAALxu5AAAAAz5ZuQAUAAH0uAAKELkAHgAB9DAxBSIuAjU0PgIzMh4CFRQOAicyPgI1NC4CIyIOAhUUHgIBLDhcQyUlQ1w4N11DJSVDXTclPisYGCs%2BJSY9KxgYKz0MMFl%2FT099Vy4vV31OT39ZMEkmR2M%2BPWJEJSVEYj0%2BY0cmAAIAZgAAAiECkAAOABcARwC4AABFWLgAAC8buQAAAA0%2BWbgAAEVYuAAOLxu5AA4AAz5ZugAMAA4AABESObgADC%2B4AAAQuQAWAAH0uAAMELkAFwAB9DAxEzMyHgIVFA4CKwERIxMyNjU0JisBEWbJNlo%2FIyNAWTZ2U75XU1VVawKQFC1KNjRMMhn%2B%2FAFIQUZHN%2F77AAACADH%2FXQIpAp0AEwA0AEsAuAAARVi4ACQvG7kAJAANPlm4AABFWLgAGi8buQAaAAM%2BWbsAMQABABcABCu4ABoQuQAFAAH0uAAkELkADwAB9LgAGhC4AC7QMDETFB4CMzI%2BAjU0LgIjIg4CAQ4BIyImJy4DNTQ%2BAjMyHgIVFA4CBx4BMzI2N4YXKz0mJT0rFxcrPSUmPSsXAaMQJBZXbRkvTTceJEJcODdcQiQdNEstEUozDxkJAUs9ZEcnJ0dkPT1jRSUlRWP94wYIWEMIN1d2R099Vy8vV35ORnRXOAkqKwYEAAACAGQAAAIpApAACAAYAFMAuAAARVi4AA4vG7kADgANPlm4AABFWLgADS8buQANAAM%2BWboACwANAA4REjm4AAsvuQAAAAH0uAAOELkACAAB9LgADRC4AAnQuAALELgAF9AwMRMzMjY1NCYrAQEDIxEjETMyHgIVFAYHE7dtTVFRTW0BE551U8wyVD0iUEOnAVk%2FQEE0%2FbMBFf7rApATLEYzTVwR%2FuIAAAABAEP%2F9AIZApwAMwBJALgAAEVYuAAWLxu5ABYADT5ZuAAARVi4ADAvG7kAMAADPlm5AAMAAfS6AAYAMAAWERI5uAAWELkAHQAB9LoAIAAWADAREjkwMTceATMyNjU0LgIvAS4DNTQ%2BAjMyFhcHLgEjIgYVFB4CHwEeAxUUDgIjIiYndSViNkZMEiArGV4ZMikaIDlPLz5oJCwgTTE8RhUhKhVcHjUnFyA8VjZIeS2PJS07MBkjGRQLKQocKDckJUAvGi0kNh0hMy0YIRkSCSgMHyk3JCdEMx00LQAAAQAqAAACLgKQAAcAMwC4AABFWLgAAi8buQACAA0%2BWbgAAEVYuAAHLxu5AAcAAz5ZuAACELkAAQAB9LgABdAwMQEjNSEVIxEjAQLYAgTYVAJKRkb9tgAAAAEAT%2F%2F0AgkCkAAZADMAuAAARVi4AAAvG7kAAAANPlm4AABFWLgAFC8buQAUAAM%2BWbkABwAB9LgAABC4AA3QMDETMxEUHgIzMj4CNREzERQOAiMiLgI1T1QVJTIeHjImFVEhOlEwMFI7IQKQ%2FmYzRysUFCtHMwGa%2FmhHYj8cHD9iRwAAAAEAKwAAAi0CkAAPADMAuAAARVi4AAAvG7kAAAANPlm4AABFWLgADy8buQAPAAM%2BWbkABQAB9LgAABC4AAzQMDETMxMeARczPgM3EzMDIytYahEcEgQJEA8PCGlV0GECkP6eO2Q6HTU0Nh0BYv1wAAABAAoAAAJOApEAIQBNALgAAEVYuAABLxu5AAEADT5ZuAAARVi4ACAvG7kAIAADPlm7ABwAAQAKAAQruAAgELkABgAB9LgAD9C4AAEQuAAU0LgAIBC4ABfQMDETMxMeARczPgE%2FATMXHgEXMz4BNxMzAyMDLgEnIw4BBwMjClM1AgkDAwsVCkU7RQkVCwQDCAMyT2FcSwcMBQMGDAhIWgKR%2FmQqTykpUCny8ihRKSlQKQGc%2FW8BEx08HR08Hf7tAAABADYAAAIiApAAGQBdALgAAEVYuAACLxu5AAIADT5ZuAAARVi4ABgvG7kAGAADPlm6AAAAGAACERI5ugAGABgAAhESObgAAhC4AAvQugANABgAAhESObgAGBC4AA%2FQugAUABgAAhESOTAxEwMzFx4BFzM%2BAT8BMwMTIycuAScjDgEPASP6t1xcDRgQBA4VDFpYt8RcYw4bEQQOGg1iWAFTAT2oFysdHSsXqP6%2F%2FrGxGDMeHjMYsQAAAQAmAAACMgKQAA8AQAC4AABFWLgAAS8buQABAA0%2BWbgAAEVYuAALLxu5AAsADT5ZuAAARVi4AA4vG7kADgADPlm6AAcADgABERI5MDElAzMXHgEXMz4BPwEzAxUjAQLcWGMTJBQEFCYTX1bcVOoBpsMmSygoTCbC%2FlrqAAEAQQAAAhsCkQAJAD0AuAAARVi4AAMvG7kAAwANPlm4AABFWLgACC8buQAIAAM%2BWbkABgAB9LgAANC4AAMQuQABAAH0uAAF0DAxNwEhNSEVASEVIUEBb%2F6xAbX%2BkAF1%2FiYyAhlGMv3oRwAAAAEA4v9oAfYCxAAHABcAuwAFAAEABgAEK7sAAQABAAIABCswMRMhFSMRMxUh4gEU09P%2B7ALEMP0EMAAAAAEAY%2F9gAfUCxgADABgAuAAARVi4AAAvG7kAAAAPPlm4AALcMDETMwEjY0oBSEoCxvyaAAABAGP%2FaAF3AsQABwAXALsAAAABAAUABCu7AAQAAQABAAQrMDEFESM1IREhNQE10gEU%2FuxoAvww%2FKQwAAABAG8BHAHpAp4ACQAmALgAAEVYuAAALxu5AAAADT5ZuAAC3LoABQAAAAIREjm4AAnQMDEBMxMjLwEjDwEjAQhImUhCMQQxQkgCnv5%2BsIWFsAAAAAABADz%2FdAIc%2F7sAAwANALsAAAABAAEABCswMQUVITUCHP4gRUdHAAD%2F%2FwC5Aj0BbQLREgYAygAAAAIAUf%2F0AgMB8gAhAC8AgAC4AABFWLgAEy8buQATAAc%2BWbgAAEVYuAAdLxu5AB0AAz5ZuAAARVi4ABcvG7kAFwADPlm6AAUAEwAXERI5uAAFL7gAExC5AAoAAfS4AB0QuQAnAAH0ugANAAoAJxESOboAGQAXABMREjm4ABkQuQAqAAH0uAAFELkAKwAB9DAxNzQ%2BAjcuAyMiBgcnPgMzMhYVESMnIw4BIyIuAjcUHgIzMjY3NQ4DUSdVhl4BDh4xIzBYIiASMTc%2BIGRhQwcDKWM0IjwtGlASHScVKlEqTmk%2FGn4pPSwcCBksIRQlFTgMGRQNbVv%2B1kIgLhMjMycVHRMJJSOABhYfJwAAAAACAF3%2F9AIcAsgAFgAnAIMAuAAARVi4AAYvG7kABgAHPlm4AABFWLgAAC8buQAAAA8%2BWbgAAEVYuAAQLxu5ABAAAz5ZuAAARVi4ABYvG7kAFgADPlm6AAMABgAQERI5ugAUABAABhESObgAFBC5ABcAAfS4ABAQuQAaAAH0uAAGELkAJAAB9LgAAxC5ACcAAfQwMRMzFQc%2BATMyHgIVFA4CIyImJyMHIzceATMyPgI1NC4CIyIGB11SAiNXKzFMMxokPVArI1EjAwdCUiNHGiA2KBYQITQkIEkmAsjCXiIoI0FbOD5iRCMjHzZyHxobMUgtKEIvGiMmAAEAUP%2F0AhsB8gAhADkAuAAARVi4AAUvG7kABQAHPlm4AABFWLgAHS8buQAdAAM%2BWbgABRC5AAwAAfS4AB0QuQAWAAH0MDE3ND4CMzIWFwcuASMiDgIVFB4CMzI2NxcOASMiLgJQK0pjNzxXHikeQSYqRjEcGzFFKi1LHyQoYzY5YUgo8j1fQiIqHTUaHhsyRSoqRDEbIxo1JCgiQV8AAAACADz%2F9AH7AsgAFgAkAIMAuAAARVi4AAUvG7kABQAHPlm4AABFWLgACi8buQAKAA8%2BWbgAAEVYuAASLxu5ABIAAz5ZuAAARVi4AAwvG7kADAADPlm6AAgABQASERI5ugAOABIABRESObgAEhC5ABoAAfS4AA4QuQAcAAH0uAAIELkAHQAB9LgABRC5ACAAAfQwMTc0PgIzMhYXJzUzESMnIw4BIyIuAjcUFjMyNzUuASMiDgI8JT1QKy1EIgNSRAcDHlMtME04HlVLREhBIT8gIDcpGPI7X0IkIh1au%2F04QB8tIkFePlhiSfIfGhsxRAACAEX%2F9AIZAfIAHgAnAEMAuAAARVi4AAUvG7kABQAHPlm4AABFWLgAGi8buQAaAAM%2BWbsAJwABAA0ABCu4ABoQuQATAAH0uAAFELkAIgAB9DAxNzQ%2BAjMyHgIVFAYHIR4DMzI2NxcOASMiLgIlNCYjIg4CB0UqRVkvNFI5HgEC%2FoQBHTFDKCtHIh0kXDs2X0cpAYhMRB43LB4F8jxfQiMhPFQzDRkJJz4sGBgVNhciI0FeZElOFCc4JAAAAAEAZwAAAkIC1AAWAFYAuAAARVi4ABQvG7kAFAAPPlm4AABFWLgAEC8buQAQAAc%2BWbgAAEVYuAAMLxu5AAwAAz5ZuAAUELkAAwAB9LgAEBC4AAfQuAAQELkADQAB9LgACtAwMQEuASMiBh0BMxUjESMRIzU3NTQ2MzIXAi8eMyBCOczMUYuLX2VIRAJ6DglDPCxD%2Fl0Boz4FKVlsHAAAAAADAEj%2FIAI2AfIAEQBFAFUAsgC4AABFWLgAJS8buQAlAAc%2BWbgAAEVYuAAoLxu5ACgABz5ZuAAARVi4ACcvG7kAJwAHPlm4AABFWLgAQy8buQBDAAU%2BWbgAAEVYuAAMLxu5AAwAAz5ZuABDELkAAwAB9LgADBC4AA%2FQuAAV0LgADBC5ADoAAfS4ADLcuQBGAAH0ugA1AEYAMhESObgANRC4ABzQuAAoELkAKQAB9LgAJxC5ACoAAfS4ACUQuQBOAAH0MDEXFBYzMj4CNTQmKwEiJicOAQc0Njc1LgE1NDY3NS4BNTQ%2BAjMyFzMVIx4BFRQOAiMiJicGFRQWOwEyFhUUDgIjIiYTMjY1NC4CIyIOAhUUFo9RTipEMBk3OF8VJRAjG0cpJxQeHhwZIx80RScoIMmCERwdM0UnEysUJjUwbV5bJkZkPmt12y9BEh4pFxcpHhJCUSYwERwkEyMYAwUTKR0dOBcECyYfFzETBBM%2FLChALRkMPxI0ICc%2BKxcJCRggHRs0PiI%2BLhxGAWs%2BNRkqHhERHioZNT4AAAAAAQBdAAACCwLIABYAZQC4AABFWLgAAC8buQAAAA8%2BWbgAAEVYuAAGLxu5AAYABz5ZuAAARVi4ABYvG7kAFgADPlm4AABFWLgACy8buQALAAM%2BWboAAwAGAAsREjm4AAYQuQAPAAH0uAADELkAFAAB9DAxEzMVBz4BMzIWFREjETQmIyIOAgcRI11SBCdYOVdRUjQ8FiUkJhVSAsjCcyk2Y2H%2B0gEjRUMLFiEW%2Fq0AAAACAFoAAAGeAskABQARADsAuAAARVi4AAAvG7kAAAAHPlm4AABFWLgAAi8buQACAAM%2BWbgAABC5AAQAAfS4AAAQuAAG3LgADNwwMRMhESMRIyUiJjU0NjMyFhUUBloBNFLiAQIdJSUdHCYmAeb%2BGgGjpyIdHSMjHR0iAAAAAgA3%2FycBngLJABUAIQBBALgAAEVYuAAALxu5AAAABz5ZuAAARVi4AAcvG7kABwAFPlm5AA4AAfS4AAAQuQAUAAH0uAAAELgAFty4ABzcMDETIREUDgIjIiYnNx4BMzI%2BAjURIyUiJjU0NjMyFhUUBloBNBQvTjsmSB0bGjkcJDAcC%2BIBAh0lJR0cJiYB5v4OLUs3HhMOPQ0OEiIxHwG1pyIdHSMjHR0iAAAAAAEAagAAAj4CyAAMAG0AuAAARVi4AAQvG7kABAAHPlm4AABFWLgAAC8buQAAAA8%2BWbgAAEVYuAAMLxu5AAwAAz5ZuAAARVi4AAgvG7kACAADPlm6AAIAAAAMERI5ugAJAAAACBESObgACRC4AAbQuAACELkACgAB9DAxEzMRMwEzBxMjJwcVI2pSBAEGXsLcXLNzUgLI%2Fh4BAMH%2B2%2FNvhAABAFH%2F9AIZAsgAEAA1ALgAAEVYuAAALxu5AAAADz5ZuAAARVi4AAsvG7kACwADPlm5AAUAAfS4AAAQuQAQAAH0MDETMxEUFjMyNxcOASMiJjURI1H4MywoNBUhOihOUaYCyP3VNi8XPgwRWFcB4gAAAQA8AAACLAHyACAAowC4AABFWLgABi8buQAGAAc%2BWbgAAEVYuAALLxu5AAsABz5ZuAAARVi4AAAvG7kAAAAHPlm4AABFWLgAIC8buQAgAAM%2BWbgAAEVYuAAYLxu5ABgAAz5ZuAAARVi4ABAvG7kAEAADPlm6AAIAIAAAERI5uAACELgACNC4AAsQuQATAAH0uAAIELkAFgAB9LgABhC5ABsAAfS4AAIQuQAeAAH0MDETMxczPgEzMhc%2BATMyFhURIxE0IyIGBxEjETQjIgYHESM8QAcDEjEqShIWNCkzN081GiYTQjcaJBNPAeZAIipUJi5NSf6kAVVWJSb%2BoAFVViUm%2FqAAAAAAAQBdAAACCwHyABYAZQC4AABFWLgABi8buQAGAAc%2BWbgAAEVYuAAALxu5AAAABz5ZuAAARVi4ABYvG7kAFgADPlm4AABFWLgACy8buQALAAM%2BWboAAgAGABYREjm4AAYQuQAPAAH0uAACELkAFAAB9DAxEzMXMz4BMzIWFREjETQmIyIOAgcRI11EBwQmWDlXUVI0PBYlJCYVUgHmUyk2Y2H%2B0gEjRUMLFiEW%2Fq0AAAACADz%2F9AIcAfIAEwAnADUAuAAARVi4AAUvG7kABQAHPlm4AABFWLgADy8buQAPAAM%2BWbkAGQAB9LgABRC5ACMAAfQwMTc0PgIzMh4CFRQOAiMiLgI3FB4CMzI%2BAjU0LgIjIg4CPCdCVzAwV0InJ0JXMDBXQidVFik5IyM5KRYWKTkjIzkpFvI9X0IiIkJfPTxfQSIiQV88KkQxGxsxRCoqRTIbGzJFAAACAF3%2FMwIcAfIAFgAlAIMAuAAARVi4AAkvG7kACQAHPlm4AABFWLgAAy8buQADAAc%2BWbgAAEVYuAATLxu5ABMAAz5ZuAAARVi4AAIvG7kAAgAFPlm6AAUACQATERI5ugAWABMACRESObgAFhC5ABcAAfS4ABMQuQAaAAH0uAAJELkAIgAB9LgABRC5ACUAAfQwMRcVIxEzFzM%2BATMyHgIVFA4CIyImJzceATMyNjU0LgIjIgYHr1JEBwMiWS0xSzMaJD1QLCJPIQIjRhlCVBAhNCQgSSYppAKzPiAqI0FbOT5hRCMhHj8fGmZbKEIvGiMmAAAAAgA8%2FzMB%2BwHyABYAJACDALgAAEVYuAAFLxu5AAUABz5ZuAAARVi4AAsvG7kACwAHPlm4AABFWLgAEi8buQASAAM%2BWbgAAEVYuAANLxu5AA0ABT5ZugAIAAUAEhESOboADwASAAUREjm4ABIQuQAaAAH0uAAPELkAHAAB9LgACBC5AB0AAfS4AAUQuQAgAAH0MDE3ND4CMzIWFzM3MxEjNTcOASMiLgI3FBYzMjc1LgEjIg4CPCU9UCstRiMDB0JSBCBRLTBNOB5VS0RIQSE%2FICA3KRjyO19CJCIgNv1Ns1gfKyJBXj5YYknyHxobMUQAAQCSAAACGQHyABIAVAC4AABFWLgAAC8buQAAAAc%2BWbgAAEVYuAAGLxu5AAYABz5ZuAAARVi4ABEvG7kAEQADPlm6AAIAEQAAERI5uAAGELkADQAB9LgAAhC5ABAAAfQwMRMzFzM%2BATMyFhcHLgEjIgYHESOSRAcDJm9EGy4XExojHTdlLFIB5nM7RAkLRwkIP0z%2B4wAAAAABAEj%2F9AIOAfIALQBJALgAAEVYuAATLxu5ABMABz5ZuAAARVi4ACovG7kAKgADPlm5AAMAAfS6AAYAKgATERI5uAATELkAGgAB9LoAHwATACoREjkwMTceATMyNjU0JicuAzU0PgIzMhYXBy4BIyIOAhUUFhceARUUDgIjIiYncCleQkJARVkmQzIeGjNNMjdoJCggTi0iLhwMUkJjXxw3UTRIeS12HiQsIBwsFgkaIyoaHTMlFSUZNRccCxMaDh4nERlAOB40KBctHwABAEX%2F9AIiAm4AGwBNALgABS%2B4AABFWLgAAy8buQADAAc%2BWbgAAEVYuAAWLxu5ABYAAz5ZuAADELkAAQAB9LgAAxC4AAfQuAABELgACNC4ABYQuQAPAAH0MDETIzU%2FATMVMxUjFRQeAjMyNjcXDgEjIi4CNc6JjAtE7%2B8MHDAjIzgaEiFQKDVIKxMBoz4FiIhD5yExIhEMCjwMER01Si0AAQBN%2F%2FQB%2BQHmABQAZQC4AABFWLgACi8buQAKAAc%2BWbgAAEVYuAATLxu5ABMABz5ZuAAARVi4AAYvG7kABgADPlm4AABFWLgAAC8buQAAAAM%2BWboAAgAGABMREjm4AAYQuQAPAAH0uAACELkAEgAB9DAxISMnIw4BIyImNREzERQWMzI2NxEzAflDBwQlVzlYUVMzPSpEKVJVKzZjYQEu%2Ft1FQysvAVEAAQAzAAACJQHmAA0APAC4AABFWLgAAC8buQAAAAc%2BWbgAAEVYuAAKLxu5AAoABz5ZuAAARVi4AA0vG7kADQADPlm5AAUAAfQwMRMzEx4BFzM%2BATcTMwMjM1NwDxsNBA0ZD3BPyVwB5v7sJUcjI0clART%2BGgABAAgAAAJQAeYAIQB0ALgAAEVYuAAALxu5AAAABz5ZuAAARVi4AAovG7kACgAHPlm4AABFWLgAFC8buQAUAAc%2BWbgAAEVYuAAhLxu5ACEAAz5ZuAAARVi4ABcvG7kAFwADPlm6AAYAAAAhERI5uAAGELgAD9C6ABwAAAAXERI5MDETMxMeARczPgE%2FATMXHgEXMz4BNxMzAyMnLgEnIw4BDwEjCFQ7BwwFBAcOCDtGPAgOCAQHCwY7TmpjOgcMCAQGDAk4YgHm%2FucjQiIiQyL8%2FCNCIiJCIwEZ%2Fhr2I0UlIEQq9QABAEAAAAIXAeYAGQBlALgAAEVYuAABLxu5AAEABz5ZuAAARVi4AAsvG7kACwAHPlm4AABFWLgAGS8buQAZAAM%2BWbgAAEVYuAAPLxu5AA8AAz5ZugATAAEAGRESObgAExC4AADQuAATELgADdC4AAfQMDE3JzMXHgEXMz4BPwEzBxcjJy4BJyMOAQ8BI%2FmrW00NHQ8EDhwNSVetulpVDyEQBA8eD1BY%2FOprFCoUFCwUafH1cBUuFRYrF3AAAAEAMf8vAicB5gAcAFsAuAAARVi4AAgvG7kACAAHPlm4AABFWLgAEi8buQASAAc%2BWbgAAEVYuAAZLxu5ABkABT5ZuAAARVi4AAcvG7kABwADPlm4ABkQuQADAAH0ugAOAAgABxESOTAxFx4BMzI2PwEDMxMeARczPgE3EzMDDgMjIic3VAoXCzNAEg%2FjU3cOHw8EDRsMak7WDiQyQSkkHBGGAwQ7LSQB5%2F7zIEojI0khAQ398iQ%2BLRoKQQAAAQBHAAACFAHmAAkAPQC4AABFWLgAAy8buQADAAc%2BWbgAAEVYuAAILxu5AAgAAz5ZuQAGAAH0uAAA0LgAAxC5AAEAAfS4AAXQMDE3ASE1IRUBIRUhRwFN%2FtgBnv6yAVj%2BMywBd0Ms%2FolDAAAAAQB4%2F2gB9gLEADkAKwC7ADMAAQA0AAQruwAZAAEAGgAEK7sACwABAAoABCu6ACcACgALERI5MDEFND4CNTQuAiM1Mj4CNTQmNTQ%2BAjsBFSMiDgIVFBYVFAYHFR4BFRQGFRQeAjsBFSMiLgIBAAMDAwwgOSwsOSAMCRYuRi89NCYxGwoGJzQ0JwYKGzEmND0vRi4WExsxLi4ZDxsWDjQOFhsPMF00JzMeDTAKFSMYK1svMTMJBAkzMTNULhgjFQowDR4zAAEBB%2F8GAVEC7gADAAsAugABAAIAAyswMQEzESMBB0pKAu78GAAAAAABAGP%2FaAHgAsQAOQArALsAAAABADcABCu7ABoAAQAXAAQruwAnAAEAKAAEK7oADAAoACcREjkwMRcyPgI1NCY1NDY3NS4BNTQ2NTQuAisBNTMyHgIVFAYVFB4CMxUiDgIVFB4CFRQOAisBNZYmMRwKBiY0NCYGChwxJjM9L0UuFgkMIDksLDkgDAMDAxYuRS89aAoVIxguVDMxMwkECTMxL1srGCMVCjANHjMnNF0wDxsWDjQOFhsPGS4uMRsnMx4NMAAAAQBMAP8CDAGVABkAJwC7AAMAAQAWAAQruwARAAEACAAEK7gAAxC4AA3QuAARELgAGdAwMRM%2BATMyHgIzMj4CNxcOASMiLgIjIgYHTBpIJh4vKScVDBUVEgk1GkgmHi8pJxUXKREBFkY3GiAaBxMiGhhGNhogGiI0AAAAAAIA4%2F9IAXUB8gAFABEAHAC4AABFWLgADy8buQAPAAc%2BWbgACdy4AATcMDEFFyM3EzM3FAYjIiY1NDYzMhYBUgJQAgo4LSseHisrHh4rWl5eAVinJCkpJCMqKgAAAgBx%2F98B%2BgKNAAYAJQBcALgAAEVYuAAYLxu5ABgACz5ZuwAiAAEACgAEK7sAGgABACEABCu4ACEQuAAA0LgAAC%2B4ACIQuAAG0LgABi%2B4AAoQuAAN0LgADS%2B4AAzcuAAaELgAF9C4ABcvMDEBDgEVFBYfAQ4BBxUjNS4DNTQ%2BAjc1MxUeARcHLgEnET4BNwE6OEA%2FOcAeSCczLUo1HR82SiozLEAXKBQtGiA0FQHdDVhCQ1gNCRoiA2doBSQ9VDU0UzwkBmpnAiIWNBIWAv6oAhsSAAABAE0AAAITAooAKQBXALgAAEVYuAATLxu5ABMACz5ZuAAARVi4AAEvG7kAAQADPlm7AAgAAQALAAQruAABELkAAAAB9LgAA9C4ABMQuQAaAAH0uAALELgAINC4AAgQuAAj0DAxJRUhNT4BNTQnIzU3LgE1ND4CMzIWFwcuASMiBhUUFhczFSMWFRQGBxUCE%2F47Pz0IdWMLFR43TTA%2BVR0wFzsqQkUTC72tBiUmR0cyHF85Gh00BCA9ICpEMBorIC8XHkE0IDsgOBsdNUYfBAAAAgA6AFMCHgJBACAANAAXALsAJgABAB0ABCu7AAwAAQAwAAQrMDE%2FAS4BNTQ2Nyc3FzYzMhc3FwceARUUBgcXBycOASMiJwc3FB4CMzI%2BAjU0LgIjIg4COlQRExIRUyxXMD8%2BMVcsVBETExFULFgXOR4%2BMVdQEyArGBgrIBMTICsYGCsgE4BVFzojIzsXVi1aJSVaLVYXOyMjOhdVLVkTEyZZ9h4xJBMTJDEeHjEkExMkMQAAAQA1AAACIwJ%2BAB0AbAC4AABFWLgAAC8buQAAAAs%2BWbgAAEVYuAAJLxu5AAkACz5ZuAAARVi4ABMvG7kAEwADPlm6AAUAEwAJERI5uAAFELgAC9C5AA4AAfS4ABnQuAAY3LgAD9C5ABIAAfS4ABXQuAALELgAHNAwMRMXHgEXMz4BPwEzAzMVIxUzFSMVIzUjNTM1IzUzA4pcESETBBIiElxSuqK3t7dStbW1obkCfqshQyMjQyGr%2FsAvQTCenjBBLwFAAAIBB%2F8GAVEC7gADAAcAEwC6AAEABQADK7oAAwAHAAMrMDEBMxEjFxEjEQEHSkpKSgLu%2FjVN%2FjAB0AAAAAIAW%2F%2FAAf0CrAAPAEcATwC7AC8AAQAoAAQruwBEAAEAEwAEK7oAMgAoABMREjm6ABYARAAvERI5ugAgADIAFhESObgAIBC4AADQugA8ABYAMhESObgAPBC4AAjQMDElPgE1NC4CJw4BFRQeAhMuASMiBhUUHgQVFAYHHgEVFA4CIyImJzceATMyNjU0LgQ1NDY3LgE1ND4CMzIWFwFzICMpPkkgHyUpP0lUGjgjKiYqP0k%2FKjEpDg8YKjskN1wgMho9KiktKj5KPiozKA4REyY4JjJRHsAOJiIiLCEdEhApHyErIRwBaxQaJRobJB4eKz0uMDwWECcaHjIkFSYhLRgcKB0cJh4dKj0uLUAVECcaGi8kFSIXAP%2F%2FAJYCTAHCAroSBgDPAAAAAwAe%2F%2FUCOgKNABMAJwBFAE0AuAAARVi4AAUvG7kABQALPlm4AABFWLgADy8buQAPAAM%2BWbkAGQAB9LgABRC5ACMAAfS4AC3QuQA0AAH0uAAZELgAQdC5ADoAAfQwMRM0PgIzMh4CFRQOAiMiLgI3FB4CMzI%2BAjU0LgIjIg4CFzQ%2BAjMyFhcHLgEjIgYVFBYzMjY3Fw4BIyIuAh4pSWM5OWNJKSlJYzk5Y0kpLiA7UzIyUzsgIDtTMjJTOyBGGy47ISMxFCIQHxQuODUtGiYRHhc0JiI7LBkBQ0x7VS4uVXtMTXtXLy9Xe01Ca00qKk1rQkJqTCkpTGpCK0YyGhsUJw4RSztCTRQOKhQbGzNJAP%2F%2FAKcA%2FAG6Ak4SBgDSAAD%2F%2FwBTADQB%2BAHEEiYA3Y4AEAYA3XMAAAAAAQBVAGgCAwFpAAUADQC7AAEAAQAEAAQrMDETIREjNSFVAa5C%2FpQBaf7%2Fw%2F%2F%2FAFUBKwIDAWkSBgDiAAAABABwAT8B6ALJABMAJwA1AD4APQC7ABQAAQAAAAQruwAKAAEAHgAEK7sANgABADIABCu4AB4QuAAp0LgAMhC4AC%2FQuAAUELgANNC4ADHQMDEBIi4CNTQ%2BAjMyHgIVFA4CJzI%2BAjU0LgIjIg4CFRQeAgMzMhYVFAYHFyMnIxUjNzI2NTQmKwEVASwnRTMdHTNFJydEMx4eM0QnHzcnFxcnNx8gNigXFyg2KUwgLxURLi4jKSlDFBgTFxwBPx00SCwsSDQdHTRILCxINB0lFyo7JCM7KxgYKzsjJDsqFwEIHSQSHwZTRkZmEREPEkMAAAD%2F%2FwCxAlkBpwKSEgYAzgAAAAIArwGtAaoCrQATAB8AFwC7AAoAAQAaAAQruwAUAAEAAAAEKzAxASIuAjU0PgIzMh4CFRQOAicyNjU0JiMiBhUUFgEsGS0jFBQjLRkZLiIVFSIuGSIqKiIhKioBrRIhLx0eLyISEiIvHh0vIRIuLiMlLi4lIy4AAAIAVQAAAgMCLAALAA8ARAC4AABFWLgADi8buQAOAAM%2BWbsAAwABAAAABCu4AAMQuAAE3LgAAxC4AAbQuAAAELgACNC4AA4QuQAMAAH0uAAL3DAxASM1MzUzFTMVIxUjByEVIQELtrZCtrZCtgGu%2FlIBMD6%2Bvj6xQT4AAP%2F%2FAK4BuAGnAvUSBwDmAAEBuAAA%2F%2F8ArAGsAaQC9RIHAOcAAAG4AAD%2F%2FwDrAj0BnwLREgYAywAAAAEATf9FAi4B5gAoAHMAuAAoL7gAAEVYuAAALxu5AAAABz5ZuAAARVi4AAsvG7kACwAHPlm4AABFWLgAHy8buQAfAAM%2BWbgAAEVYuAAYLxu5ABgAAz5ZuAAfELkABQAB9LoAHAALAB8REjm4ABwQuQAKAAH0uAAYELkAEgAB9DAxEzMRFBYzMj4CNxEzDgEVFBYzOgE3FwYjIiYnIw4BIyImJxwBHgEXI01TNDkTJiYnFFMCAxALBAcHDBMdJiQFAyBRLyM7FAICAlMB5v7dQ0UJGCsjATxjz1gUEAI%2BCDU6ODUVICY7NDMeAAAAAgBI%2F7AB5QKQAAMAEAAlALgAAEVYuAAALxu5AAAADT5ZuAAARVi4AA8vG7kADwANPlkwMQEzESMDIyIuAjU0PgI7AQGUUVE2IDVaQiUkP1YyKwKQ%2FSABMhk1Ujk7UTMWAAAA%2F%2F8A2wEHAX0BsBIHABMAAAETAAD%2F%2FwDd%2FysBdgADEgYA0QYA%2F%2F8A0AG4AWEC6RIHAOUAAAG4AAD%2F%2FwCOAPwBygJOEgYA0wAA%2F%2F8AYQA0AgYBxBImAN6OABAGAN5zAAAA%2F%2F8AHAAAAj8CfhInAOX%2FewFNECYA3wAAEAcA6ACGAAD%2F%2FwAcAAACPAJ%2BEicA5f97AU0QJgDfAAAQBwDmAIcAAP%2F%2FACcAAAJVAooSJwDn%2F3sBTRAmAN8ZABAHAOgAhgAAAAIAe%2F88AewB8gAbACcAKgC4AABFWLgAJS8buQAlAAc%2BWbsACgABABEABCu4ACUQuAAf3LgAG9wwMSUWDgQVFBYzMjY3Fw4BIyImNTQ%2BBCc3FAYjIiY1NDYzMhYBZwYSIywnGjg3JkEbMCFdOlRlGyctJBQEZyweHisrHh4s%2FiQ4LignKxkqNh4bLSMuVEghMysoLDIhpyQpKSQjKioAAP%2F%2FACAAAAI4AzISJgAmAAAQBgDpAAAAAP%2F%2FACAAAAI4AzISJgAmAAAQBgDqAAAAAP%2F%2FACAAAAI4AzISJgAmAAAQBgDrAAAAAP%2F%2FACAAAAI4AzMSJgAmAAAQBgDsAAAAAP%2F%2FACAAAAI4Ay0SJgAmAAAQBgDtAAAAAP%2F%2FACAAAAI4A2sSJgAmAAAQBgDuAAAAAAAC%2F%2F8AAAJPApAABgAWAGYAuAAARVi4AA4vG7kADgANPlm4AABFWLgACC8buQAIAAM%2BWbgAAEVYuAAMLxu5AAwAAz5ZuwAAAAEACgAEK7sAEwABABQABCu4AA4QuQABAAH0uAAIELkABwAB9LgAARC4ABHQMDEBESMOAQ8BBRUhNSMHIwEhFSMVMxUjFQE9AxQrFC4Blv7unklXAQQBQ72TkwECAUw2aTZ3u0e%2FvwKQRs1H7%2F%2F%2FAEL%2FKwIqApwSJgAoAAAQBgDvLwAAAP%2F%2FAHMAAAISAzISJgAqAAAQBgDpHwAAAP%2F%2FAHMAAAISAzISJgAqAAAQBgDqHwAAAP%2F%2FAHMAAAISAzISJgAqAAAQBgDrHwAAAP%2F%2FAHMAAAISAy0SJgAqAAAQBgDtHwAAAP%2F%2FAF8AAAH5AzISJgAuAAAQBgDpAAAAAP%2F%2FAF8AAAH5AzISJgAuAAAQBgDqAAAAAP%2F%2FAF8AAAH5AzISJgAuAAAQBgDrAAAAAP%2F%2FAF8AAAH5Ay0SJgAuAAAQBgDtAAAAAAACABAAAAIrApAADAAZAFMAuAAARVi4AAQvG7kABAANPlm4AABFWLgACy8buQALAAM%2BWbsAAwABAAAABCu4AAsQuQANAAH0uAAEELkAEwAB9LgAAxC4ABXQuAAAELgAF9AwMRMjNTcRMzIWFRQGKwE3MjY1NCYrARUzFSMVW0tLoZSbm5Gkm3Bvb3BIj48BQSoFASConZ2uRIp9fYTcL%2F3%2F%2FwBTAAACBQMzEiYAMwAAEAYA7AYAAAD%2F%2FwAw%2F%2FQCKAMyEiYANAAAEAYA6QAAAAD%2F%2FwAw%2F%2FQCKAMyEiYANAAAEAYA6gAAAAD%2F%2FwAw%2F%2FQCKAMyEiYANAAAEAYA6wAAAAD%2F%2FwAw%2F%2FQCKAMzEiYANAAAEAYA7AAAAAD%2F%2FwAw%2F%2FQCKAMtEiYANAAAEAYA7QAAAAAAAQBmAH4B8gIVAAsAKQC6AAUACQADK7oACgAJAAUREjm4AAoQuAAB0LgAChC4AAfQuAAE0DAxPwEnNxc3FwcXBycHZpqaLJqaLJqaLJqaq5%2BeLZ%2BfLZ6fLaCgAAADAC3%2F4gIsAq4ACgAVAC8AfQC4AABFWLgAKy8buQArAA0%2BWbgAAEVYuAAeLxu5AB4AAz5ZugAVAB4AKxESObgAFRC4AADQuAAeELkAAwAB9LoACgAeACsREjm4AAoQuAAL0LgAKxC5AA4AAfS4AAoQuAAW0LgAABC4ACDQuAAVELgAI9C4AAsQuAAt0DAxNx4BMzI%2BAjU0LwEuASMiDgIVFBcBHgEVFA4CIyInByc3LgE1ND4CMzIXNxfAFTcgJT4rGBkfFTghJj0rGBsBTB0eJUNdN1pANTA%2FHR8lQ1w4XD82L3QaHSZHYz5ZQDgaHSVEYj1fQAGFK3NIT39ZMD1PIF0tdklPfVcuPU8gAAAA%2F%2F8AT%2F%2F0AgkDMhImADoAABAGAOkAAAAA%2F%2F8AT%2F%2F0AgkDMhImADoAABAGAOoAAAAA%2F%2F8AT%2F%2F0AgkDMhImADoAABAGAOsAAAAA%2F%2F8AT%2F%2F0AgkDLRImADoAABAGAO0AAAAA%2F%2F8AJgAAAjIDMhImAD4AABAGAOoAAAAAAAIAZQAAAiECkAAQABkAOQC4AABFWLgAAC8buQAAAA0%2BWbgAAEVYuAAPLxu5AA8AAz5ZuwARAAEADQAEK7sAAwABABcABCswMRMzFTMyHgIVFA4CKwEVIzcyNjU0JisBEWVUdjZaPyMjQFk2dlS%2FV1NVVWsCkG4ULkk2NE0yGJbaQEdHNv78AAABAFj%2F9AI0AtQAOQBaALgAAEVYuAAFLxu5AAUADz5ZuAAARVi4ADkvG7kAOQADPlm4AABFWLgAGy8buQAbAAM%2BWbkAIgAB9LoADwAFACIREjm4AAUQuQA0AAH0ugAlABsANBESOTAxEzQ%2BAjMyHgIVFA4CFRQeBBUUDgIjIiYnNx4BMzI2NTQuBDU0PgI1NCYjIgYVESNYHDRKLyg9KhUcIhweLDUsHhcrPCUqRiAhHDQdKi0eLTQtHhwiHCwqNz9SAgcuTDYdGCk1HiY1LCkaGCAbGiQ1JyA2KBcYFToUEy8fHSYdGSEtIyIxLS8gJTFLS%2F4FAAAA%2F%2F8AUf%2F0AgMC0RImAEYAABAGAMoOAAAA%2F%2F8AUf%2F0AgMC0RImAEYAABAGAMsOAAAA%2F%2F8AUf%2F0AgMC0RImAEYAABAGAMwOAAAA%2F%2F8AUf%2F0AgMCsBImAEYAABAGAM0OAAAA%2F%2F8AUf%2F0AgMCuhImAEYAABAGAM8OAAAA%2F%2F8AUf%2F0AgMC1xImAEYAABAGANAOAAAAAAMAEf%2F0AlUB8gAuADcARAClALgAAEVYuAANLxu5AA0ABz5ZuAAARVi4ABMvG7kAEwAHPlm4AABFWLgAJi8buQAmAAM%2BWbgAAEVYuAAsLxu5ACwAAz5ZuwAvAAEAGwAEK7oAAwANACwREjm4AAMvuAANELkABgAB9LoAEAAmAA0REjm4ACYQuQAfAAH0ugApACYADRESObgAExC5ADQAAfS4ACwQuQA7AAH0uAADELkAQgAB9DAxNzQ2Ny4BIyIGByc%2BATMyFhc%2BATMyHgIVFAYHIR4BMzI2NxcOASMiJicOASMiJiU0LgIjIgYPARQWMzI2Ny4BLwEOARF8fAEnLxpBFx8eUC0wOw4YRTAlNyUSAgL%2B%2FgM8OxwvFR0ZQSY1SBgpTyY8RgH%2FCBQhGC85BfEoIho%2BGggHAQFcT4FJVxM2RRkQOBQgOCovMyQ9UC0OGg1MXRINNhEaMCstLkvXHzgrGVJJkScoJCMWNR0ZEDr%2F%2FwBQ%2FysCGwHyEiYASAAAEAYA0SoAAAD%2F%2FwBF%2F%2FQCGQLREiYASgAAEAYAyg8AAAD%2F%2FwBF%2F%2FQCGQLREiYASgAAEAYAyw8AAAD%2F%2FwBF%2F%2FQCGQLREiYASgAAEAYAzA8AAAD%2F%2FwBF%2F%2FQCGQK6EiYASgAAEAYAzw8AAAD%2F%2FwBaAAABnQLREiYAxAAAEAYAyjAAAAD%2F%2FwBaAAABzwLREiYAxAAAEAYAyzAAAAD%2F%2FwBaAAAB4ALREiYAxAAAEAYAzDAAAAD%2F%2FwBaAAAB8gK6EiYAxAAAEAYAzzAAAAAAAgA8%2F%2FQCGALaABQAOQBrALgAAEVYuAA0Lxu5ADQADz5ZuAAARVi4AB0vG7kAHQADPlm7ACcAAQALAAQruAAdELkAAAAB9LoAKgA0AB0REjm4ACoQuQAIAAH0ugAVADQAHRESObgAFRC4AC3QuAAVELgAN9C4ADDQMDElMj4CNTwBJy4BIyIOAhUUHgITHgEVFA4CIyIuAjU0PgIzMhYXLgEnByc3LgEnNx4BFzcXASwoOycTASNSJyg9KRUaLDx7QlAhPlg3L1ZCJyI9UzIvVBwOPS6WF4QaPCImKEoihxc4HTVILAsWCy8mGCw7IiY9KxgCKj2reTxjRycgPVc2M1M7IComRWUoTSlEEyERNBMqGkUpAAAA%2F%2F8AXQAAAgsCsBImAFMAABAGAM0SAAAA%2F%2F8APP%2F0AhwC0RImAFQAABAGAMoAAAAA%2F%2F8APP%2F0AhwC0RImAFQAABAGAMsAAAAA%2F%2F8APP%2F0AhwC0RImAFQAABAGAMwAAAAA%2F%2F8APP%2F0AhwCsBImAFQAABAGAM0AAAAA%2F%2F8APP%2F0AhwCuhImAFQAABAGAM8AAAAAAAMAVQBgAgMCMwALABcAGwAlALsAGQABABoABCu4ABkQuAAA3LgABty4ABoQuAAP3LgAFdwwMQEiJjU0NjMyFhUUBgM0NjMyFhUUBiMiJichFSEBLBcfHxcXHx9NHxcXHx8XFx%2BhAa7%2BUgHIHhgXHh4XGB7%2BzhceHhcYHh7rPgAAAwA8%2F%2BkCHAH9AAoAFgAwAH0AuAAARVi4ACwvG7kALAAHPlm4AABFWLgAHy8buQAfAAM%2BWboAFgAfACwREjm4ABYQuAAA0LgAHxC5AAIAAfS6AAoALAAfERI5uAAKELgAC9C4ACwQuQAOAAH0uAAKELgAF9C4AAAQuAAh0LgAFhC4ACTQuAALELgALtAwMTcWMzI%2BAjU0Ji8BLgEjIg4CFRQWFwEeARUUDgIjIicHJzcuATU0PgIzMhc3F8kpOiM5KRYODR4TMh0jOSkWDg0BNRsgJ0JXMFM%2FMyU1GyAnQlcwUz8zJVwmHDFFKiE6FyYSFBwyRiohOBcBICBZNzxfQSIwOx0%2BIFg2PV9CIjA7Hf%2F%2FAE3%2F9AH5AtESJgBaAAAQBgDK%2FAAAAP%2F%2FAE3%2F9AH5AtESJgBaAAAQBgDL%2FAAAAP%2F%2FAE3%2F9AH5AtESJgBaAAAQBgDM%2FAAAAP%2F%2FAE3%2F9AH5AroSJgBaAAAQBgDP%2FAAAAP%2F%2FADH%2FLwInAtESJgBeAAAQBgDLBAAAAAACAF3%2FMwIcAsgAFgAlAIMAuAAARVi4AAIvG7kAAgAPPlm4AABFWLgACC8buQAIAAc%2BWbgAAEVYuAABLxu5AAEABT5ZuAAARVi4ABIvG7kAEgADPlm6AAUACAASERI5ugAVABIACBESObgAFRC5ABcAAfS4ABIQuQAaAAH0uAAIELkAIgAB9LgABRC5ACUAAfQwMRcjETMVBz4BMzIeAhUUDgIjIiYnFzUeATMyPgI1NCYjIgYHr1JSAiNWKzFMMxslPVArJEwhASNFGiA3KBdBSSBIJs0DlclXIigjQVs5PmFEIyIdXJsfGhsxSC1QYyMmAAD%2F%2FwAx%2Fy8CJwK6EiYAXgAAEAYAzwQAAAAAAQBaAAABjgHmAAUALwC4AABFWLgAAC8buQAAAAc%2BWbgAAEVYuAACLxu5AAIAAz5ZuAAAELkABAAB9DAxEyERIxEjWgE0UuIB5v4aAaMAAAACACEAAAJPApEAEgAbAE8AuAAARVi4AAMvG7kAAwANPlm4AABFWLgADS8buQANAAM%2BWbsACAABAAkABCu4AAMQuQAGAAH0uAANELkACwAB9LgAFtC4AAYQuAAY0DAxEzQ2MyEVIxUzFSMVMxUhIi4CNxQWOwERIyIGIY19ARrClJTM%2Ftk%2BYUQkVlRWFRVWVAFLnqhGz0fuRy1Ve05%2BiQIIgwAAAAMAC%2F%2F0AlQB8gATADsARACNALgAAEVYuAAZLxu5ABkABz5ZuAAARVi4AB8vG7kAHwAHPlm4AABFWLgAMi8buQAyAAM%2BWbgAAEVYuAA3Lxu5ADcAAz5ZuwA8AAEAJwAEK7gANxC5AAUAAfS4ABkQuQAPAAH0ugAcADIAGRESObgAMhC5ACsAAfS6ADUAMgAZERI5uAAfELkAQQAB9DAxNxQeAjMyPgI1NC4CIyIOAgc0PgIzMhYXPgEzMh4CFRQGByMeATMyNjcXDgEjIiYnBiMiLgIlNC4CIyIGB1gNGiYaFiUaDg4aJRYaJhoNTRswQCUvRRQUQTAiNSMSAQLxBDo2GicUHRc7IzBIFitdJkAvGwIFCBIeFi0wBvMqRTEcHDFFKipEMhsbMkQqPV9BIj04Nz4kPFEtDhcQTF0RDjYRGjk3cCJBX2AfOCsZU0gA%2F%2F8AqAI9AbAC0RIGAMwAAP%2F%2FAM8CHgGJAtcSBgDQAAD%2F%2FwCeAkMBugKwEgYAzQAAAAEAuQI9AW0C0QADAAsAugABAAMAAyswMRMzFyO5Wlo%2FAtGUAAEA6wI9AZ8C0QADAAsAugACAAAAAyswMQEjNzMBKj9aWgI9lAAAAAABAKgCPQGwAtEABwAZALsAAQABAAQABCu4AAQQuAAD3LgABtAwMQEzFyMnIwcjAQlGYT9DBEM%2FAtGUY2MAAAAAAQCeAkMBugKwABYAJwC7AAgAAQAOAAQruAAOELgAE9y5AAMAAfS4AArQuAAOELgAFdAwMRM%2BATMyHgIzMjczDgEjIi4CIyIHI54FKygSHhkYDB8JLwUrKBIeGRgMHwkvAkMwPREUETYvPhEVETcAAAEAsQJZAacCkgADAA0AuwABAAEAAgAEKzAxEzMVI7H29gKSOQAAAAACAJYCTAHCAroACwAXAB0AuwAAAAEABgAEK7gAABC4AAzQuAAGELgAEtAwMRMiJjU0NjMyFhUUBjMiJjU0NjMyFhUUBswYHh4YFx8fqRcfHxcYHh4CTCAXFyAgFxcgIBcXICAXFyAAAAIAzwIeAYkC1wALABcAFwC6AAwAAAADK7gADBC4ABLcuAAG3DAxASImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWASwpNDQpKTQ0KRQcHBQUHBwCHjMqKjIyKiozJR4aGR4eGRoeAAABANf%2FKwFwAAMAEQAdALoAAQACAAMruAACELgAEdC4AAvcuQAKAAH0MDElMwceARUUDgIHJz4BNTQmJwEZNRkYIxgoNRwIKDEhHgM1CCAfFiAWDQMpBRcUFBUIAAIApwD8AboCTgAZACMAOQC4ABIvuwAdAAEAFwAEK7sADQABAAYABCu7AAMAAQAhAAQrugATAA0AFxESObgAExC5ACAAAfQwMRM0NjcuASMiBgcnPgEzMhYdASMnIw4BIyImNxQWMzI2NzUOAadmbQEeJx00FhkaSCg%2FPTQFAhg5ICs8PyIZFysXUUMBWTU4Cx4sFQ0rDxtIP8MlExoyLxgXFRNSCSUAAAIAjgD8AcoCTgATAB8AFwC7ABcAAQAPAAQruwAFAAEAHQAEKzAxEzQ%2BAjMyHgIVFA4CIyIuAjcUFjMyNjU0JiMiBo4aKzkgIDksGRksOSAgOSsaQjErKzExKysxAaUoPysXFys%2FKCg%2FKxcXKz8oNUBANTRBQQAAAAEAUADYAggBIAADAA0AuwABAAEAAgAEKzAxEyEVIVABuP5IASBIAAABABQA2AJEASAAAwANALsAAQABAAIABCswMRMhFSEUAjD90AEgSAAAAQDRAV4BfAK7ABEACwC6AAUACwADKzAxAQ4BBzYzMhYVFAYjIiY1NDY3AXwvNQMMDh8nKiAnM0xEAosbTzQGKCAjKj85S3cjAAAAAAEA2QFeAYQCuwARAAsAugAFAAsAAyswMRM%2BATcGIyImNTQ2MzIWFRQGB9kwNQMMDiAnKiAoMkxDAY4aTzUGJyAjK0A5S3Yj%2F%2F8A2f8fAYQAfBIHANcAAP3BAAD%2F%2FwBfAV4B7wK7EiYA1o4AEAYA1nMAAAD%2F%2FwBnAV4B9wK7EiYA144AEAYA13MAAAD%2F%2FwBn%2Fx8B9wB8EicA1%2F%2BO%2FcEQBwDXAHP9wQAAAAEAlwBzAcEBmQATAAsAugAKAAAAAyswMSUiLgI1ND4CMzIeAhUUDgIBLB42KRgYKTYeHjYpGBgpNnMVJzYhITYnFRUnNiEhNicVAAABAMUANAGFAcQABgALALoAAgAGAAMrMDE3NTcXBxcHxZknf38n1FCgI6WmIgAAAAABANMANAGTAcQABgALALoAAgAFAAMrMDElJzcXFQcnAVJ%2FJ5mZJ%2FylI6BQoCIAAAACABwAIAI8AnAAAwAHAAsAugAHAAMAAyswMT8BFwcBByc3HLchpwHvtyGnTbweywIjvB7LAAAA%2F%2F8ArAG4AbkC6RIHAOgAAAG4AAAAAQA6%2F%2FQCNgKKADEAbQC4AABFWLgAFS8buQAVAAs%2BWbgAAEVYuAADLxu5AAMAAz5ZugAoACIAAyu4ACgQuQArAAH0uAAG0LgAKBC4AAnQuAAiELgAD9C4ACIQuQAfAAH0uAAS0LgAFRC5ABwAAfS4AAMQuQAuAAH0MDElDgEjIiYnIzU3JjQ1PAE3IzU3PgEzMhYXBy4BIyIGByEVIQYUFRwBFyEVIx4BMzI2NwI2Jlw%2BYocTQDsBATtAE41qM1geMRo7JkpaDgEm%2FtUBAQED%2FQ5YRStBHlEsMYF2KwQJEgkIEAgsBXaFLSEvGiFiVzEHDggKEwkwVWAkIwAAAQBVASsCAwFpAAMADQC7AAEAAQACAAQrMDETIRUhVQGu%2FlIBaT4A%2F%2F8AHAAgAjwCcBIGAN8AAAACAKH%2F9AG3AT0ACwAXACgAuAAARVi4AAAvG7kAAAADPlm7AAYAAQASAAQruAAAELkADAAB9DAxBSImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWASw9Tk49PU5OPSAuLiAgLi4MWE9OVFROT1gyOTw8NTU8PDkAAAEA0AAAAWEBMQAIAB4AuAAARVi4AAgvG7kACAADPlm7AAUAAQAAAAQrMDElIzU%2BATczESMBIlIhKRUyP%2BYqBRAM%2Fs8AAQCtAAABpgE9ABgALAC4AABFWLgAFy8buQAXAAM%2BWbsADQABAAYABCu4ABcQuQAVAAH0uAAA0DAxNz4BNTQmIyIGByc%2BATMyFhUUDgIHMxUjt05THx0UJg4nFzskNj4TISwZiO8kO04hGyAXEyEaIzUyFCcnKRY1AAAAAAEArP%2F0AaQBPQAkADwAuAAARVi4ACEvG7kAIQADPlm7ABYAAQAPAAQruwAJAAEACAAEK7gAIRC5AAMAAfS6ABsACAAJERI5MDE3HgEzMjY1NCM1MjY1NCYjIgYHJz4BMzIWFRQHHgEVFAYjIiYnzA8xGxsjYConGh0SKA8eEz0jLzs4ICdGMyNDGVESGRYZMyYcFxQXEw8mFBksKDcUCCYfLTAcGgAAAAIArAAAAbkBMQAFABAAOAC4AABFWLgACS8buQAJAAM%2BWbsAEAABAAYABCu7AAIAAQANAAQruAAQELgAANC4AAYQuAAK0DAxJTU3Iw8BFyMVIzUjNTczFTMBTgQDLTbNMjmilEcydDhSQUkrSUkfyb0AAAAAAQCpAsIBXwMyAAMACwC6AAEAAwADKzAxEzMXI6leWEUDMnAAAQD5AsIBrwMyAAMACwC6AAIAAAADKzAxASM3MwE%2BRVheAsJwAAAAAAEApALCAbQDMgAHABkAuwACAAEABQAEK7gABRC4AATcuAAH0DAxEzczFyMnIwekYFBgQ0MEQwLCcHBERAAAAAABAJsCxwG9AzMAFwArALsAEQABAAAABCu4AAAQuAAF3LgAABC4AAjQuAAFELkADAAB9LgAFNAwMQEiLgIjIgYHIz4BMzIeAjMyNjczDgEBaBQgGxoODhYELgUsJBQgGxoODhYELgUsAscQFBAaGi89EBQQGxkuPgACAKUCywGzAy0ACwAXAB0AuwAGAAEAAAAEK7gAABC4AAzQuAAGELgAEtAwMRMiJjU0NjMyFhUUBjMiJjU0NjMyFhUUBtYWGxsWFRwclxUcHBUWGxsCyxwVFhsbFhUcHBUWGxsWFRwAAAIAzwK7AYkDawALABcAFwC6AAwAAAADK7gADBC4ABLcuAAG3DAxASImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWASwpNDQpKDU1KBMcHBMUHBwCuy8pKDAwKCkvJBsZFxwcFxkbAAABANL%2FKwFrAAMAEQAdALoAAQACAAMruAACELgAEdC4AAvcuQAKAAH0MDElMwceARUUDgIHJz4BNTQmJwETNhkYIxgoNRwIKDEhHwM1CCAfFiAWDQMpBRcUFBUIAAAAGgE%2BAAEAAAAAAAAAFgAuAAEAAAAAAAEADwBlAAEAAAAAAAIABwCFAAEAAAAAAAMAJgDbAAEAAAAAAAQADwEiAAEAAAAAAAUAQQG2AAEAAAAAAAYAFQIkAAEAAAAAAAcAYAL8AAEAAAAAAAgAGgOTAAEAAAAAAAkADAPIAAEAAAAAAAsAGQQJAAEAAAAAAA0R2yfbAAEAAAAAAA4AJDoBAAMAAQQJAAAALAAAAAMAAQQJAAEAHgBFAAMAAQQJAAIADgB1AAMAAQQJAAMATACNAAMAAQQJAAQAHgECAAMAAQQJAAUAggEyAAMAAQQJAAYAKgH4AAMAAQQJAAcAwAI6AAMAAQQJAAgANANdAAMAAQQJAAkAGAOuAAMAAQQJAAsAMgPVAAMAAQQJAA0jtgQjAAMAAQQJAA4ASDm3AFQAeQBwAG8AZwByAGEAcABoAGkAYwAgAGEAbAB0AGUAcgBuAGEAdABlAHMAAFR5cG9ncmFwaGljIGFsdGVybmF0ZXMAAFMAbwB1AHIAYwBlACAAQwBvAGQAZQAgAFAAcgBvAABTb3VyY2UgQ29kZSBQcm8AAFIAZQBnAHUAbABhAHIAAFJlZ3VsYXIAADEALgAwADEANwA7AEEARABCAEUAOwBTAG8AdQByAGMAZQBDAG8AZABlAFAAcgBvAC0AUgBlAGcAdQBsAGEAcgA7AEEARABPAEIARQAAMS4wMTc7QURCRTtTb3VyY2VDb2RlUHJvLVJlZ3VsYXI7QURPQkUAAFMAbwB1AHIAYwBlACAAQwBvAGQAZQAgAFAAcgBvAABTb3VyY2UgQ29kZSBQcm8AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAxADcAOwBQAFMAIABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4ANwAwADsAbQBhAGsAZQBvAHQAZgAuAGwAaQBiADIALgA1AC4ANQA5ADAAMAAAVmVyc2lvbiAxLjAxNztQUyBWZXJzaW9uIDEuMDAwO2hvdGNvbnYgMS4wLjcwO21ha2VvdGYubGliMi41LjU5MDAAAFMAbwB1AHIAYwBlAEMAbwBkAGUAUAByAG8ALQBSAGUAZwB1AGwAYQByAABTb3VyY2VDb2RlUHJvLVJlZ3VsYXIAAFMAbwB1AHIAYwBlACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAAQQBkAG8AYgBlACAAUwB5AHMAdABlAG0AcwAgAEkAbgBjAG8AcgBwAG8AcgBhAHQAZQBkACAAaQBuACAAdABoAGUAIABVAG4AaQB0AGUAZAAgAFMAdABhAHQAZQBzACAAYQBuAGQALwBvAHIAIABvAHQAaABlAHIAIABjAG8AdQBuAHQAcgBpAGUAcwAuAABTb3VyY2UgaXMgYSB0cmFkZW1hcmsgb2YgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgYW5kL29yIG90aGVyIGNvdW50cmllcy4AAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAAQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQAAFAAYQB1AGwAIABEAC4AIABIAHUAbgB0AABQYXVsIEQuIEh1bnQAAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvAHQAeQBwAGUAAGh0dHA6Ly93d3cuYWRvYmUuY29tL3R5cGUAAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEAMAAsACAAMgAwADEAMgAgAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAJwBTAG8AdQByAGMAZQAnAC4AIABBAGwAbAAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4AIABTAG8AdQByAGMAZQAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgAGkAbgAgAHQAaABlACAAVQBuAGkAdABlAGQAIABTAHQAYQB0AGUAcwAgAGEAbgBkAC8AbwByACAAbwB0AGgAZQByACAAYwBvAHUAbgB0AHIAaQBlAHMALgANAAoADQAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ADQAKAA0ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGMAbwBwAGkAZQBkACAAYgBlAGwAbwB3ACwAIABhAG4AZAAgAGkAcwAgAGEAbABzAG8AIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAANAAoADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoAUwBJAEwAIABPAFAARQBOACAARgBPAE4AVAAgAEwASQBDAEUATgBTAEUAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIAAtACAAMgA2ACAARgBlAGIAcgB1AGEAcgB5ACAAMgAwADAANwANAAoALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAA0ACgANAAoAUABSAEUAQQBNAEIATABFAA0ACgBUAGgAZQAgAGcAbwBhAGwAcwAgAG8AZgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAKABPAEYATAApACAAYQByAGUAIAB0AG8AIABzAHQAaQBtAHUAbABhAHQAZQAgAHcAbwByAGwAZAB3AGkAZABlACAAZABlAHYAZQBsAG8AcABtAGUAbgB0ACAAbwBmACAAYwBvAGwAbABhAGIAbwByAGEAdABpAHYAZQAgAGYAbwBuAHQAIABwAHIAbwBqAGUAYwB0AHMALAAgAHQAbwAgAHMAdQBwAHAAbwByAHQAIAB0AGgAZQAgAGYAbwBuAHQAIABjAHIAZQBhAHQAaQBvAG4AIABlAGYAZgBvAHIAdABzACAAbwBmACAAYQBjAGEAZABlAG0AaQBjACAAYQBuAGQAIABsAGkAbgBnAHUAaQBzAHQAaQBjACAAYwBvAG0AbQB1AG4AaQB0AGkAZQBzACwAIABhAG4AZAAgAHQAbwAgAHAAcgBvAHYAaQBkAGUAIABhACAAZgByAGUAZQAgAGEAbgBkACAAbwBwAGUAbgAgAGYAcgBhAG0AZQB3AG8AcgBrACAAaQBuACAAdwBoAGkAYwBoACAAZgBvAG4AdABzACAAbQBhAHkAIABiAGUAIABzAGgAYQByAGUAZAAgAGEAbgBkACAAaQBtAHAAcgBvAHYAZQBkACAAaQBuACAAcABhAHIAdABuAGUAcgBzAGgAaQBwACAAdwBpAHQAaAAgAG8AdABoAGUAcgBzAC4ADQAKAA0ACgBUAGgAZQAgAE8ARgBMACAAYQBsAGwAbwB3AHMAIAB0AGgAZQAgAGwAaQBjAGUAbgBzAGUAZAAgAGYAbwBuAHQAcwAgAHQAbwAgAGIAZQAgAHUAcwBlAGQALAAgAHMAdAB1AGQAaQBlAGQALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGYAcgBlAGUAbAB5ACAAYQBzACAAbABvAG4AZwAgAGEAcwAgAHQAaABlAHkAIABhAHIAZQAgAG4AbwB0ACAAcwBvAGwAZAAgAGIAeQAgAHQAaABlAG0AcwBlAGwAdgBlAHMALgAgAFQAaABlACAAZgBvAG4AdABzACwAIABpAG4AYwBsAHUAZABpAG4AZwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAHcAbwByAGsAcwAsACAAYwBhAG4AIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIABlAG0AYgBlAGQAZABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAYQBuAHkAIAByAGUAcwBlAHIAdgBlAGQAIABuAGEAbQBlAHMAIABhAHIAZQAgAG4AbwB0ACAAdQBzAGUAZAAgAGIAeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALgAgAFQAaABlACAAZgBvAG4AdABzACAAYQBuAGQAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALAAgAGgAbwB3AGUAdgBlAHIALAAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcgBlAGwAZQBhAHMAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIAB0AHkAcABlACAAbwBmACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAG8AcgAgAHQAaABlAGkAcgAgAGQAZQByAGkAdgBhAHQAaQB2AGUAcwAuAA0ACgANAAoARABFAEYASQBOAEkAVABJAE8ATgBTAA0ACgAiAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABzAGUAdAAgAG8AZgAgAGYAaQBsAGUAcwAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQBuAGQAIABjAGwAZQBhAHIAbAB5ACAAbQBhAHIAawBlAGQAIABhAHMAIABzAHUAYwBoAC4AIABUAGgAaQBzACAAbQBhAHkAIABpAG4AYwBsAHUAZABlACAAcwBvAHUAcgBjAGUAIABmAGkAbABlAHMALAAgAGIAdQBpAGwAZAAgAHMAYwByAGkAcAB0AHMAIABhAG4AZAAgAGQAbwBjAHUAbQBlAG4AdABhAHQAaQBvAG4ALgANAAoADQAKACIAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABuAGEAbQBlAHMAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGEAcwAgAHMAdQBjAGgAIABhAGYAdABlAHIAIAB0AGgAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAcwB0AGEAdABlAG0AZQBuAHQAKABzACkALgANAAoADQAKACIATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIAB0AGgAZQAgAGMAbwBsAGwAZQBjAHQAaQBvAG4AIABvAGYAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAGEAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAuAA0ACgANAAoAIgBNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAG0AYQBkAGUAIABiAHkAIABhAGQAZABpAG4AZwAgAHQAbwAsACAAZABlAGwAZQB0AGkAbgBnACwAIABvAHIAIABzAHUAYgBzAHQAaQB0AHUAdABpAG4AZwAgAC0ALQAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUAIAAtAC0AIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAG8AZgAgAHQAaABlACAATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAsACAAYgB5ACAAYwBoAGEAbgBnAGkAbgBnACAAZgBvAHIAbQBhAHQAcwAgAG8AcgAgAGIAeQAgAHAAbwByAHQAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIAB0AG8AIABhACAAbgBlAHcAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQALgANAAoADQAKACIAQQB1AHQAaABvAHIAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABkAGUAcwBpAGcAbgBlAHIALAAgAGUAbgBnAGkAbgBlAGUAcgAsACAAcAByAG8AZwByAGEAbQBtAGUAcgAsACAAdABlAGMAaABuAGkAYwBhAGwAIAB3AHIAaQB0AGUAcgAgAG8AcgAgAG8AdABoAGUAcgAgAHAAZQByAHMAbwBuACAAdwBoAG8AIABjAG8AbgB0AHIAaQBiAHUAdABlAGQAIAB0AG8AIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFAARQBSAE0ASQBTAFMASQBPAE4AIAAmACAAQwBPAE4ARABJAFQASQBPAE4AUwANAAoAUABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGgAZQByAGUAYgB5ACAAZwByAGEAbgB0AGUAZAAsACAAZgByAGUAZQAgAG8AZgAgAGMAaABhAHIAZwBlACwAIAB0AG8AIABhAG4AeQAgAHAAZQByAHMAbwBuACAAbwBiAHQAYQBpAG4AaQBuAGcAIABhACAAYwBvAHAAeQAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAdABvACAAdQBzAGUALAAgAHMAdAB1AGQAeQAsACAAYwBvAHAAeQAsACAAbQBlAHIAZwBlACwAIABlAG0AYgBlAGQALAAgAG0AbwBkAGkAZgB5ACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQAsACAAYQBuAGQAIABzAGUAbABsACAAbQBvAGQAaQBmAGkAZQBkACAAYQBuAGQAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACAAYwBvAHAAaQBlAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAGYAbwBsAGwAbwB3AGkAbgBnACAAYwBvAG4AZABpAHQAaQBvAG4AcwA6AA0ACgANAAoAMQApACAATgBlAGkAdABoAGUAcgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG4AbwByACAAYQBuAHkAIABvAGYAIABpAHQAcwAgAGkAbgBkAGkAdgBpAGQAdQBhAGwAIABjAG8AbQBwAG8AbgBlAG4AdABzACwAIABpAG4AIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMALAAgAG0AYQB5ACAAYgBlACAAcwBvAGwAZAAgAGIAeQAgAGkAdABzAGUAbABmAC4ADQAKAA0ACgAyACkAIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAGIAZQAgAGIAdQBuAGQAbABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUALAAgAHAAcgBvAHYAaQBkAGUAZAAgAHQAaABhAHQAIABlAGEAYwBoACAAYwBvAHAAeQAgAGMAbwBuAHQAYQBpAG4AcwAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAHAAeQByAGkAZwBoAHQAIABuAG8AdABpAGMAZQAgAGEAbgBkACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlAHMAZQAgAGMAYQBuACAAYgBlACAAaQBuAGMAbAB1AGQAZQBkACAAZQBpAHQAaABlAHIAIABhAHMAIABzAHQAYQBuAGQALQBhAGwAbwBuAGUAIAB0AGUAeAB0ACAAZgBpAGwAZQBzACwAIABoAHUAbQBhAG4ALQByAGUAYQBkAGEAYgBsAGUAIABoAGUAYQBkAGUAcgBzACAAbwByACAAaQBuACAAdABoAGUAIABhAHAAcAByAG8AcAByAGkAYQB0AGUAIABtAGEAYwBoAGkAbgBlAC0AcgBlAGEAZABhAGIAbABlACAAbQBlAHQAYQBkAGEAdABhACAAZgBpAGUAbABkAHMAIAB3AGkAdABoAGkAbgAgAHQAZQB4AHQAIABvAHIAIABiAGkAbgBhAHIAeQAgAGYAaQBsAGUAcwAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAbwBzAGUAIABmAGkAZQBsAGQAcwAgAGMAYQBuACAAYgBlACAAZQBhAHMAaQBsAHkAIAB2AGkAZQB3AGUAZAAgAGIAeQAgAHQAaABlACAAdQBzAGUAcgAuAA0ACgANAAoAMwApACAATgBvACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG0AYQB5ACAAdQBzAGUAIAB0AGgAZQAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACgAcwApACAAdQBuAGwAZQBzAHMAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuACAAcABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGcAcgBhAG4AdABlAGQAIABiAHkAIAB0AGgAZQAgAGMAbwByAHIAZQBzAHAAbwBuAGQAaQBuAGcAIABDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByAC4AIABUAGgAaQBzACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuACAAbwBuAGwAeQAgAGEAcABwAGwAaQBlAHMAIAB0AG8AIAB0AGgAZQAgAHAAcgBpAG0AYQByAHkAIABmAG8AbgB0ACAAbgBhAG0AZQAgAGEAcwAgAHAAcgBlAHMAZQBuAHQAZQBkACAAdABvACAAdABoAGUAIAB1AHMAZQByAHMALgANAAoADQAKADQAKQAgAFQAaABlACAAbgBhAG0AZQAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAG8AcgAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABzAGgAYQBsAGwAIABuAG8AdAAgAGIAZQAgAHUAcwBlAGQAIAB0AG8AIABwAHIAbwBtAG8AdABlACwAIABlAG4AZABvAHIAcwBlACAAbwByACAAYQBkAHYAZQByAHQAaQBzAGUAIABhAG4AeQAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4ALAAgAGUAeABjAGUAcAB0ACAAdABvACAAYQBjAGsAbgBvAHcAbABlAGQAZwBlACAAdABoAGUAIABjAG8AbgB0AHIAaQBiAHUAdABpAG8AbgAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAGEAbgBkACAAdABoAGUAIABBAHUAdABoAG8AcgAoAHMAKQAgAG8AcgAgAHcAaQB0AGgAIAB0AGgAZQBpAHIAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuACAAcABlAHIAbQBpAHMAcwBpAG8AbgAuAA0ACgANAAoANQApACAAVABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACwAIABtAG8AZABpAGYAaQBlAGQAIABvAHIAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACwAIABpAG4AIABwAGEAcgB0ACAAbwByACAAaQBuACAAdwBoAG8AbABlACwAIABtAHUAcwB0ACAAYgBlACAAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAZQBuAHQAaQByAGUAbAB5ACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALAAgAGEAbgBkACAAbQB1AHMAdAAgAG4AbwB0ACAAYgBlACAAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIABsAGkAYwBlAG4AcwBlAC4AIABUAGgAZQAgAHIAZQBxAHUAaQByAGUAbQBlAG4AdAAgAGYAbwByACAAZgBvAG4AdABzACAAdABvACAAcgBlAG0AYQBpAG4AIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGQAbwBlAHMAIABuAG8AdAAgAGEAcABwAGwAeQAgAHQAbwAgAGEAbgB5ACAAZABvAGMAdQBtAGUAbgB0ACAAYwByAGUAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAuAA0ACgANAAoAVABFAFIATQBJAE4AQQBUAEkATwBOAA0ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGIAZQBjAG8AbQBlAHMAIABuAHUAbABsACAAYQBuAGQAIAB2AG8AaQBkACAAaQBmACAAYQBuAHkAIABvAGYAIAB0AGgAZQAgAGEAYgBvAHYAZQAgAGMAbwBuAGQAaQB0AGkAbwBuAHMAIABhAHIAZQAgAG4AbwB0ACAAbQBlAHQALgANAAoADQAKAEQASQBTAEMATABBAEkATQBFAFIADQAKAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAgAEkAUwAgAFAAUgBPAFYASQBEAEUARAAgACIAQQBTACAASQBTACIALAAgAFcASQBUAEgATwBVAFQAIABXAEEAUgBSAEEATgBUAFkAIABPAEYAIABBAE4AWQAgAEsASQBOAEQALAAgAEUAWABQAFIARQBTAFMAIABPAFIAIABJAE0AUABMAEkARQBEACwAIABJAE4AQwBMAFUARABJAE4ARwAgAEIAVQBUACAATgBPAFQAIABMAEkATQBJAFQARQBEACAAVABPACAAQQBOAFkAIABXAEEAUgBSAEEATgBUAEkARQBTACAATwBGACAATQBFAFIAQwBIAEEATgBUAEEAQgBJAEwASQBUAFkALAAgAEYASQBUAE4ARQBTAFMAIABGAE8AUgAgAEEAIABQAEEAUgBUAEkAQwBVAEwAQQBSACAAUABVAFIAUABPAFMARQAgAEEATgBEACAATgBPAE4ASQBOAEYAUgBJAE4ARwBFAE0ARQBOAFQAIABPAEYAIABDAE8AUABZAFIASQBHAEgAVAAsACAAUABBAFQARQBOAFQALAAgAFQAUgBBAEQARQBNAEEAUgBLACwAIABPAFIAIABPAFQASABFAFIAIABSAEkARwBIAFQALgAgAEkATgAgAE4ATwAgAEUAVgBFAE4AVAAgAFMASABBAEwATAAgAFQASABFACAAQwBPAFAAWQBSAEkARwBIAFQAIABIAE8ATABEAEUAUgAgAEIARQAgAEwASQBBAEIATABFACAARgBPAFIAIABBAE4AWQAgAEMATABBAEkATQAsACAARABBAE0AQQBHAEUAUwAgAE8AUgAgAE8AVABIAEUAUgAgAEwASQBBAEIASQBMAEkAVABZACwAIABJAE4AQwBMAFUARABJAE4ARwAgAEEATgBZACAARwBFAE4ARQBSAEEATAAsACAAUwBQAEUAQwBJAEEATAAsACAASQBOAEQASQBSAEUAQwBUACwAIABJAE4AQwBJAEQARQBOAFQAQQBMACwAIABPAFIAIABDAE8ATgBTAEUAUQBVAEUATgBUAEkAQQBMACAARABBAE0AQQBHAEUAUwAsACAAVwBIAEUAVABIAEUAUgAgAEkATgAgAEEATgAgAEEAQwBUAEkATwBOACAATwBGACAAQwBPAE4AVABSAEEAQwBUACwAIABUAE8AUgBUACAATwBSACAATwBUAEgARQBSAFcASQBTAEUALAAgAEEAUgBJAFMASQBOAEcAIABGAFIATwBNACwAIABPAFUAVAAgAE8ARgAgAFQASABFACAAVQBTAEUAIABPAFIAIABJAE4AQQBCAEkATABJAFQAWQAgAFQATwAgAFUAUwBFACAAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFACAATwBSACAARgBSAE8ATQAgAE8AVABIAEUAUgAgAEQARQBBAEwASQBOAEcAUwAgAEkATgAgAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAuAA0ACgAAQ29weXJpZ2h0IDIwMTAsIDIwMTIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQgKGh0dHA6Ly93d3cuYWRvYmUuY29tLyksIHdpdGggUmVzZXJ2ZWQgRm9udCBOYW1lICdTb3VyY2UnLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBTb3VyY2UgaXMgYSB0cmFkZW1hcmsgb2YgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgYW5kL29yIG90aGVyIGNvdW50cmllcy4NCg0KVGhpcyBGb250IFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBTSUwgT3BlbiBGb250IExpY2Vuc2UsIFZlcnNpb24gMS4xLg0KDQpUaGlzIGxpY2Vuc2UgaXMgY29waWVkIGJlbG93LCBhbmQgaXMgYWxzbyBhdmFpbGFibGUgd2l0aCBhIEZBUSBhdDogaHR0cDovL3NjcmlwdHMuc2lsLm9yZy9PRkwNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClNJTCBPUEVOIEZPTlQgTElDRU5TRSBWZXJzaW9uIDEuMSAtIDI2IEZlYnJ1YXJ5IDIwMDcNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNClBSRUFNQkxFDQpUaGUgZ29hbHMgb2YgdGhlIE9wZW4gRm9udCBMaWNlbnNlIChPRkwpIGFyZSB0byBzdGltdWxhdGUgd29ybGR3aWRlIGRldmVsb3BtZW50IG9mIGNvbGxhYm9yYXRpdmUgZm9udCBwcm9qZWN0cywgdG8gc3VwcG9ydCB0aGUgZm9udCBjcmVhdGlvbiBlZmZvcnRzIG9mIGFjYWRlbWljIGFuZCBsaW5ndWlzdGljIGNvbW11bml0aWVzLCBhbmQgdG8gcHJvdmlkZSBhIGZyZWUgYW5kIG9wZW4gZnJhbWV3b3JrIGluIHdoaWNoIGZvbnRzIG1heSBiZSBzaGFyZWQgYW5kIGltcHJvdmVkIGluIHBhcnRuZXJzaGlwIHdpdGggb3RoZXJzLg0KDQpUaGUgT0ZMIGFsbG93cyB0aGUgbGljZW5zZWQgZm9udHMgdG8gYmUgdXNlZCwgc3R1ZGllZCwgbW9kaWZpZWQgYW5kIHJlZGlzdHJpYnV0ZWQgZnJlZWx5IGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IHNvbGQgYnkgdGhlbXNlbHZlcy4gVGhlIGZvbnRzLCBpbmNsdWRpbmcgYW55IGRlcml2YXRpdmUgd29ya3MsIGNhbiBiZSBidW5kbGVkLCBlbWJlZGRlZCwgcmVkaXN0cmlidXRlZCBhbmQvb3Igc29sZCB3aXRoIGFueSBzb2Z0d2FyZSBwcm92aWRlZCB0aGF0IGFueSByZXNlcnZlZCBuYW1lcyBhcmUgbm90IHVzZWQgYnkgZGVyaXZhdGl2ZSB3b3Jrcy4gVGhlIGZvbnRzIGFuZCBkZXJpdmF0aXZlcywgaG93ZXZlciwgY2Fubm90IGJlIHJlbGVhc2VkIHVuZGVyIGFueSBvdGhlciB0eXBlIG9mIGxpY2Vuc2UuIFRoZSByZXF1aXJlbWVudCBmb3IgZm9udHMgdG8gcmVtYWluIHVuZGVyIHRoaXMgbGljZW5zZSBkb2VzIG5vdCBhcHBseSB0byBhbnkgZG9jdW1lbnQgY3JlYXRlZCB1c2luZyB0aGUgZm9udHMgb3IgdGhlaXIgZGVyaXZhdGl2ZXMuDQoNCkRFRklOSVRJT05TDQoiRm9udCBTb2Z0d2FyZSIgcmVmZXJzIHRvIHRoZSBzZXQgb2YgZmlsZXMgcmVsZWFzZWQgYnkgdGhlIENvcHlyaWdodCBIb2xkZXIocykgdW5kZXIgdGhpcyBsaWNlbnNlIGFuZCBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiBUaGlzIG1heSBpbmNsdWRlIHNvdXJjZSBmaWxlcywgYnVpbGQgc2NyaXB0cyBhbmQgZG9jdW1lbnRhdGlvbi4NCg0KIlJlc2VydmVkIEZvbnQgTmFtZSIgcmVmZXJzIHRvIGFueSBuYW1lcyBzcGVjaWZpZWQgYXMgc3VjaCBhZnRlciB0aGUgY29weXJpZ2h0IHN0YXRlbWVudChzKS4NCg0KIk9yaWdpbmFsIFZlcnNpb24iIHJlZmVycyB0byB0aGUgY29sbGVjdGlvbiBvZiBGb250IFNvZnR3YXJlIGNvbXBvbmVudHMgYXMgZGlzdHJpYnV0ZWQgYnkgdGhlIENvcHlyaWdodCBIb2xkZXIocykuDQoNCiJNb2RpZmllZCBWZXJzaW9uIiByZWZlcnMgdG8gYW55IGRlcml2YXRpdmUgbWFkZSBieSBhZGRpbmcgdG8sIGRlbGV0aW5nLCBvciBzdWJzdGl0dXRpbmcgLS0gaW4gcGFydCBvciBpbiB3aG9sZSAtLSBhbnkgb2YgdGhlIGNvbXBvbmVudHMgb2YgdGhlIE9yaWdpbmFsIFZlcnNpb24sIGJ5IGNoYW5naW5nIGZvcm1hdHMgb3IgYnkgcG9ydGluZyB0aGUgRm9udCBTb2Z0d2FyZSB0byBhIG5ldyBlbnZpcm9ubWVudC4NCg0KIkF1dGhvciIgcmVmZXJzIHRvIGFueSBkZXNpZ25lciwgZW5naW5lZXIsIHByb2dyYW1tZXIsIHRlY2huaWNhbCB3cml0ZXIgb3Igb3RoZXIgcGVyc29uIHdobyBjb250cmlidXRlZCB0byB0aGUgRm9udCBTb2Z0d2FyZS4NCg0KUEVSTUlTU0lPTiAmIENPTkRJVElPTlMNClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YgdGhlIEZvbnQgU29mdHdhcmUsIHRvIHVzZSwgc3R1ZHksIGNvcHksIG1lcmdlLCBlbWJlZCwgbW9kaWZ5LCByZWRpc3RyaWJ1dGUsIGFuZCBzZWxsIG1vZGlmaWVkIGFuZCB1bm1vZGlmaWVkIGNvcGllcyBvZiB0aGUgRm9udCBTb2Z0d2FyZSwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6DQoNCjEpIE5laXRoZXIgdGhlIEZvbnQgU29mdHdhcmUgbm9yIGFueSBvZiBpdHMgaW5kaXZpZHVhbCBjb21wb25lbnRzLCBpbiBPcmlnaW5hbCBvciBNb2RpZmllZCBWZXJzaW9ucywgbWF5IGJlIHNvbGQgYnkgaXRzZWxmLg0KDQoyKSBPcmlnaW5hbCBvciBNb2RpZmllZCBWZXJzaW9ucyBvZiB0aGUgRm9udCBTb2Z0d2FyZSBtYXkgYmUgYnVuZGxlZCwgcmVkaXN0cmlidXRlZCBhbmQvb3Igc29sZCB3aXRoIGFueSBzb2Z0d2FyZSwgcHJvdmlkZWQgdGhhdCBlYWNoIGNvcHkgY29udGFpbnMgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgbGljZW5zZS4gVGhlc2UgY2FuIGJlIGluY2x1ZGVkIGVpdGhlciBhcyBzdGFuZC1hbG9uZSB0ZXh0IGZpbGVzLCBodW1hbi1yZWFkYWJsZSBoZWFkZXJzIG9yIGluIHRoZSBhcHByb3ByaWF0ZSBtYWNoaW5lLXJlYWRhYmxlIG1ldGFkYXRhIGZpZWxkcyB3aXRoaW4gdGV4dCBvciBiaW5hcnkgZmlsZXMgYXMgbG9uZyBhcyB0aG9zZSBmaWVsZHMgY2FuIGJlIGVhc2lseSB2aWV3ZWQgYnkgdGhlIHVzZXIuDQoNCjMpIE5vIE1vZGlmaWVkIFZlcnNpb24gb2YgdGhlIEZvbnQgU29mdHdhcmUgbWF5IHVzZSB0aGUgUmVzZXJ2ZWQgRm9udCBOYW1lKHMpIHVubGVzcyBleHBsaWNpdCB3cml0dGVuIHBlcm1pc3Npb24gaXMgZ3JhbnRlZCBieSB0aGUgY29ycmVzcG9uZGluZyBDb3B5cmlnaHQgSG9sZGVyLiBUaGlzIHJlc3RyaWN0aW9uIG9ubHkgYXBwbGllcyB0byB0aGUgcHJpbWFyeSBmb250IG5hbWUgYXMgcHJlc2VudGVkIHRvIHRoZSB1c2Vycy4NCg0KNCkgVGhlIG5hbWUocykgb2YgdGhlIENvcHlyaWdodCBIb2xkZXIocykgb3IgdGhlIEF1dGhvcihzKSBvZiB0aGUgRm9udCBTb2Z0d2FyZSBzaGFsbCBub3QgYmUgdXNlZCB0byBwcm9tb3RlLCBlbmRvcnNlIG9yIGFkdmVydGlzZSBhbnkgTW9kaWZpZWQgVmVyc2lvbiwgZXhjZXB0IHRvIGFja25vd2xlZGdlIHRoZSBjb250cmlidXRpb24ocykgb2YgdGhlIENvcHlyaWdodCBIb2xkZXIocykgYW5kIHRoZSBBdXRob3Iocykgb3Igd2l0aCB0aGVpciBleHBsaWNpdCB3cml0dGVuIHBlcm1pc3Npb24uDQoNCjUpIFRoZSBGb250IFNvZnR3YXJlLCBtb2RpZmllZCBvciB1bm1vZGlmaWVkLCBpbiBwYXJ0IG9yIGluIHdob2xlLCBtdXN0IGJlIGRpc3RyaWJ1dGVkIGVudGlyZWx5IHVuZGVyIHRoaXMgbGljZW5zZSwgYW5kIG11c3Qgbm90IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIGFueSBvdGhlciBsaWNlbnNlLiBUaGUgcmVxdWlyZW1lbnQgZm9yIGZvbnRzIHRvIHJlbWFpbiB1bmRlciB0aGlzIGxpY2Vuc2UgZG9lcyBub3QgYXBwbHkgdG8gYW55IGRvY3VtZW50IGNyZWF0ZWQgdXNpbmcgdGhlIEZvbnQgU29mdHdhcmUuDQoNClRFUk1JTkFUSU9ODQpUaGlzIGxpY2Vuc2UgYmVjb21lcyBudWxsIGFuZCB2b2lkIGlmIGFueSBvZiB0aGUgYWJvdmUgY29uZGl0aW9ucyBhcmUgbm90IG1ldC4NCg0KRElTQ0xBSU1FUg0KVEhFIEZPTlQgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBDT1BZUklHSFQsIFBBVEVOVCwgVFJBREVNQVJLLCBPUiBPVEhFUiBSSUdIVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElORElSRUNULCBJTkNJREVOVEFMLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBGT05UIFNPRlRXQVJFIE9SIEZST00gT1RIRVIgREVBTElOR1MgSU4gVEhFIEZPTlQgU09GVFdBUkUuDQoAAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvAHQAeQBwAGUALwBsAGUAZwBhAGwALgBoAHQAbQBsAABodHRwOi8vd3d3LmFkb2JlLmNvbS90eXBlL2xlZ2FsLmh0bWwAAAIAAAAAAAD%2FtQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAEAAgECAQMAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQQAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBBQCKANoAgwCTAQYBBwCNAQgAiADDAN4BCQCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB%2FAH4AgACBAOwA7gC6ANcAsACxANgA3QDZAQoBCwEMAQ0BDgEPARABEQESARMAsgCzALYAtwDEALQAtQDFAIcAvgC%2FALwBFAEVAO8BFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgROVUxMAkNSB3VuaTAwQTAHdW5pMDBBRAh0d28uc3Vwcwp0aHJlZS5zdXBzB3VuaTAwQjUIb25lLnN1cHMHdW5pMDMwMAd1bmkwMzAxB3VuaTAzMDIHdW5pMDMwMwd1bmkwMzA0B3VuaTAzMDgHdW5pMDMwQQd1bmkwMzI3BmEuc3VwcwZvLnN1cHMJZm91ci5zdXBzBEV1cm8HdW5pMjIxNQl6ZXJvLmRub20Ib25lLmRub20IdHdvLmRub20KdGhyZWUuZG5vbQlmb3VyLmRub20LdW5pMDMwMC5jYXALdW5pMDMwMS5jYXALdW5pMDMwMi5jYXALdW5pMDMwMy5jYXALdW5pMDMwOC5jYXALdW5pMDMwQS5jYXALdW5pMDMyNy5jYXAAAAAAAAAB%2F%2F8AAgAAAAEAAAAAzG2xVQAAAADNFaB%2FAAAAAM0fFuI%3D%29%20format%28%27truetype%27%29%3B%0A%7D%0A" rel="stylesheet" />
<link href="data:text/css;charset=utf-8,%40charset%20%22UTF%2D8%22%3B%0A%0Ahtml%2C%20body%2C%20div%2C%20span%2C%20applet%2C%20object%2C%20iframe%2C%0Ah1%2C%20h2%2C%20h3%2C%20h4%2C%20h5%2C%20h6%2C%20p%2C%20blockquote%2C%20pre%2C%0Aa%2C%20abbr%2C%20acronym%2C%20address%2C%20big%2C%20cite%2C%20code%2C%0Adel%2C%20dfn%2C%20em%2C%20img%2C%20ins%2C%20kbd%2C%20q%2C%20s%2C%20samp%2C%0Asmall%2C%20strike%2C%20strong%2C%20tt%2C%20var%2C%0Ab%2C%20u%2C%20i%2C%20center%2C%0Adl%2C%20dt%2C%20dd%2C%20ol%2C%20ul%2C%20li%2C%0Afieldset%2C%20form%2C%20label%2C%20legend%2C%0Atable%2C%20caption%2C%20tbody%2C%20tfoot%2C%20thead%2C%20tr%2C%20th%2C%20td%2C%0Aarticle%2C%20aside%2C%20canvas%2C%20details%2C%20embed%2C%0Afigure%2C%20figcaption%2C%20footer%2C%20header%2C%20hgroup%2C%0Amenu%2C%20nav%2C%20output%2C%20ruby%2C%20section%2C%20summary%2C%0Atime%2C%20mark%2C%20audio%2C%20video%20%7B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Aborder%3A%200%3B%0Afont%3A%20inherit%3B%0Afont%2Dsize%3A%20100%25%3B%0Avertical%2Dalign%3A%20baseline%3B%0A%7D%0A%0Ahtml%20%7B%0Aline%2Dheight%3A%201%2E2%3B%0A%7D%0A%0Aul%20%7B%0Alist%2Dstyle%3A%20none%3B%0A%7D%0A%0Atable%20%7B%0Aborder%2Dcollapse%3A%20collapse%3B%0Aborder%2Dspacing%3A%200%3B%0A%7D%0A%0Acaption%2C%20th%2C%20td%20%7B%0Afont%2Dweight%3A%20normal%3B%0Avertical%2Dalign%3A%20middle%3B%0A%7D%0A%0Aq%2C%20blockquote%20%7B%0Aquotes%3A%20none%3B%0A%7D%0A%0Aq%3Abefore%2C%20q%3Aafter%2C%20blockquote%3Abefore%2C%20blockquote%3Aafter%20%7B%0Acontent%3A%20%22%22%3B%0Acontent%3A%20none%3B%0A%7D%0A%0Aa%20img%20%7B%0Aborder%3A%20none%3B%0A%7D%0A%0Aarticle%2C%20aside%2C%20details%2C%20figcaption%2C%20figure%2C%20footer%2C%20header%2C%20hgroup%2C%20menu%2C%20nav%2C%20section%2C%20summary%20%7B%0Adisplay%3A%20block%3B%0A%7D%0A%0A%0Ahtml%20%7B%0Aheight%3A%20100%25%3B%0Aoverflow%3A%20hidden%3B%0A%7D%0A%0Abody%20%7B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Aopacity%3A%200%3B%0Aheight%3A%20100%25%3B%0Amin%2Dheight%3A%20740px%3B%0Awidth%3A%20100%25%3B%0Aoverflow%3A%20hidden%3B%0Acolor%3A%20%23fff%3B%0A%2Dwebkit%2Dfont%2Dsmoothing%3A%20antialiased%3B%0A%2Dmoz%2Dfont%2Dsmoothing%3A%20antialiased%3B%0A%2Dms%2Dfont%2Dsmoothing%3A%20antialiased%3B%0A%2Do%2Dfont%2Dsmoothing%3A%20antialiased%3B%0A%2Dwebkit%2Dtransition%3A%20opacity%20250ms%20ease%2Din%3B%0A%2Dwebkit%2Dtransition%2Ddelay%3A%20100ms%3B%0A%2Dmoz%2Dtransition%3A%20opacity%20250ms%20ease%2Din%20100ms%3B%0A%2Do%2Dtransition%3A%20opacity%20250ms%20ease%2Din%20100ms%3B%0Atransition%3A%20opacity%20250ms%20ease%2Din%20100ms%3B%0A%7D%0A%0Abody%2Eloaded%20%7B%0Aopacity%3A%201%20%21important%3B%0A%7D%0A%0Ainput%2C%20button%20%7B%0Avertical%2Dalign%3A%20middle%3B%0A%7D%0A%0Aslides%20%3E%20slide%5Bhidden%5D%20%7B%0Adisplay%3A%20none%20%21important%3B%0A%7D%0A%0Aslides%20%7B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Aposition%3A%20absolute%3B%0Aleft%3A%200%3B%0Atop%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0A%2Dmoz%2Dtransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0A%2Do%2Dtransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0A%2Dwebkit%2Dperspective%3A%201000%3B%0A%2Dmoz%2Dperspective%3A%201000%3B%0A%2Dms%2Dperspective%3A%201000%3B%0A%2Do%2Dperspective%3A%201000%3B%0Aperspective%3A%201000%3B%0A%2Dwebkit%2Dtransform%2Dstyle%3A%20preserve%2D3d%3B%0A%2Dmoz%2Dtransform%2Dstyle%3A%20preserve%2D3d%3B%0A%2Dms%2Dtransform%2Dstyle%3A%20preserve%2D3d%3B%0A%2Do%2Dtransform%2Dstyle%3A%20preserve%2D3d%3B%0Atransform%2Dstyle%3A%20preserve%2D3d%3B%0A%2Dwebkit%2Dtransition%3A%20opacity%20250ms%20ease%2Din%3B%0A%2Dwebkit%2Dtransition%2Ddelay%3A%20100ms%3B%0A%2Dmoz%2Dtransition%3A%20opacity%20250ms%20ease%2Din%20100ms%3B%0A%2Do%2Dtransition%3A%20opacity%20250ms%20ease%2Din%20100ms%3B%0Atransition%3A%20opacity%20250ms%20ease%2Din%20100ms%3B%0A%7D%0A%0Aslides%20%3E%20slide%20%7B%0Adisplay%3A%20block%3B%0Aposition%3A%20absolute%3B%0Aoverflow%3A%20hidden%3B%0Aleft%3A%2050%25%3B%0Atop%3A%2050%25%3B%0A%2Dwebkit%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0A%2Dmoz%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%0A%7D%0A%0A%0A%0A%0A%3A%3Aselection%20%7B%0Acolor%3A%20white%3B%0Abackground%2Dcolor%3A%20%23ffd14d%3B%0Atext%2Dshadow%3A%20none%3B%0A%7D%0A%0A%3A%3A%2Dwebkit%2Dscrollbar%20%7B%0Aheight%3A%2016px%3B%0Aoverflow%3A%20visible%3B%0Awidth%3A%2016px%3B%0A%7D%0A%0A%3A%3A%2Dwebkit%2Dscrollbar%2Dthumb%20%7B%0Abackground%2Dcolor%3A%20rgba%280%2C%200%2C%200%2C%200%2E1%29%3B%0Abackground%2Dclip%3A%20padding%2Dbox%3B%0Aborder%3A%20solid%20transparent%3B%0Amin%2Dheight%3A%2028px%3B%0Apadding%3A%20100px%200%200%3B%0A%2Dwebkit%2Dbox%2Dshadow%3A%20inset%201px%201px%200%20rgba%280%2C%200%2C%200%2C%200%2E1%29%2C%20inset%200%20%2D1px%200%20rgba%280%2C%200%2C%200%2C%200%2E07%29%3B%0A%2Dmoz%2Dbox%2Dshadow%3A%20inset%201px%201px%200%20rgba%280%2C%200%2C%200%2C%200%2E1%29%2C%20inset%200%20%2D1px%200%20rgba%280%2C%200%2C%200%2C%200%2E07%29%3B%0Abox%2Dshadow%3A%20inset%201px%201px%200%20rgba%280%2C%200%2C%200%2C%200%2E1%29%2C%20inset%200%20%2D1px%200%20rgba%280%2C%200%2C%200%2C%200%2E07%29%3B%0Aborder%2Dwidth%3A%201px%201px%201px%206px%3B%0A%7D%0A%0A%3A%3A%2Dwebkit%2Dscrollbar%2Dthumb%3Ahover%20%7B%0Abackground%2Dcolor%3A%20rgba%280%2C%200%2C%200%2C%200%2E5%29%3B%0A%7D%0A%0A%3A%3A%2Dwebkit%2Dscrollbar%2Dbutton%20%7B%0Aheight%3A%200%3B%0Awidth%3A%200%3B%0A%7D%0A%0A%3A%3A%2Dwebkit%2Dscrollbar%2Dtrack%20%7B%0Abackground%2Dclip%3A%20padding%2Dbox%3B%0Aborder%3A%20solid%20transparent%3B%0Aborder%2Dwidth%3A%200%200%200%204px%3B%0A%7D%0A%0A%3A%3A%2Dwebkit%2Dscrollbar%2Dcorner%20%7B%0Abackground%3A%20transparent%3B%0A%7D%0A%0Abody%20%7B%0Abackground%3A%20black%3B%0A%7D%0A%0Aslides%20%3E%20slide%20%7B%0Adisplay%3A%20none%3B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%2C%20Arial%2C%20sans%2Dserif%3B%0Afont%2Dsize%3A%2026px%3B%0Acolor%3A%20%23797979%3B%0Awidth%3A%20900px%3B%0Aheight%3A%20700px%3B%0Amargin%2Dleft%3A%20%2D450px%3B%0Amargin%2Dtop%3A%20%2D350px%3B%0Apadding%3A%2040px%2060px%3B%0A%2Dwebkit%2Dborder%2Dradius%3A%205px%3B%0A%2Dmoz%2Dborder%2Dradius%3A%205px%3B%0A%2Dms%2Dborder%2Dradius%3A%205px%3B%0A%2Do%2Dborder%2Dradius%3A%205px%3B%0Aborder%2Dradius%3A%205px%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E6s%20ease%2Din%2Dout%3B%0A%2Dmoz%2Dtransition%3A%20all%200%2E6s%20ease%2Din%2Dout%3B%0A%2Do%2Dtransition%3A%20all%200%2E6s%20ease%2Din%2Dout%3B%0Atransition%3A%20all%200%2E6s%20ease%2Din%2Dout%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Efar%2Dpast%20%7B%0Adisplay%3A%20none%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Epast%20%7B%0Adisplay%3A%20block%3B%0Aopacity%3A%200%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Ecurrent%20%7B%0Adisplay%3A%20block%3B%0Aopacity%3A%201%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Ecurrent%20%2Eauto%2Dfadein%20%7B%0Aopacity%3A%201%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Ecurrent%20%2Egdbar%20%7B%0A%2Dwebkit%2Dbackground%2Dsize%3A%20100%25%20100%25%3B%0A%2Dmoz%2Dbackground%2Dsize%3A%20100%25%20100%25%3B%0A%2Do%2Dbackground%2Dsize%3A%20100%25%20100%25%3B%0Abackground%2Dsize%3A%20100%25%20100%25%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Enext%20%7B%0Adisplay%3A%20block%3B%0Aopacity%3A%200%3B%0Apointer%2Devents%3A%20none%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Efar%2Dnext%20%7B%0Adisplay%3A%20none%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Edark%20%7B%0Abackground%3A%20%23515151%20%21important%3B%0A%7D%0A%0Aslides%20%3E%20slide%3Anot%28%2Enobackground%29%3Aafter%20%7B%0Afont%2Dsize%3A%2012pt%3B%0Acontent%3A%20attr%28data%2Dslide%2Dnum%29%20%22%2F%22%20attr%28data%2Dtotal%2Dslides%29%3B%0Aposition%3A%20absolute%3B%0Abottom%3A%2020px%3B%0Aright%3A%2060px%3B%0Aline%2Dheight%3A%201%2E9%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Etitle%2Dslide%3Aafter%20%7B%0Acontent%3A%20%27%27%3B%0Aposition%3A%20absolute%3B%0Abottom%3A%2040px%3B%0Aright%3A%2040px%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%2060px%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Ebackdrop%20%7B%0Az%2Dindex%3A%20%2D10%3B%0Adisplay%3A%20block%20%21important%3B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%2050%25%200%25%2C%2050%25%20100%25%2C%20color%2Dstop%280%25%2C%20%23ffffff%29%2C%20color%2Dstop%2885%25%2C%20%23ffffff%29%2C%20color%2Dstop%28100%25%2C%20%23e6e6e6%29%29%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20linear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%2Dcolor%3A%20white%3B%0A%7D%0A%0Aslides%20%3E%20slide%2Ebackdrop%3Aafter%2C%20slides%20%3E%20slide%2Ebackdrop%3Abefore%20%7B%0Adisplay%3A%20none%3B%0A%7D%0A%0Aslides%20%3E%20slide%20%3E%20hgroup%20%2B%20article%20%7B%0Amargin%2Dtop%3A%2045px%3B%0A%7D%0A%0Aslides%20%3E%20slide%20%3E%20hgroup%20%2B%20article%2Eflexbox%2Evcenter%2C%20slides%20%3E%20slide%20%3E%20hgroup%20%2B%20article%2Eflexbox%2Evleft%2C%20slides%20%3E%20slide%20%3E%20hgroup%20%2B%20article%2Eflexbox%2Evright%20%7B%0Aheight%3A%2080%25%3B%0A%7D%0A%0Aslides%20%3E%20slide%20%3E%20hgroup%20%2B%20article%20p%20%7B%0Amargin%2Dbottom%3A%201em%3B%0A%7D%0A%0Aslides%20%3E%20slide%20%3E%20article%3Aonly%2Dchild%20%7B%0Aheight%3A%20100%25%3B%0A%7D%0A%0Aslides%20%3E%20slide%20%3E%20article%3Aonly%2Dchild%20%3E%20iframe%20%7B%0Aheight%3A%2095%25%3B%0A%7D%0A%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%3E%20slide%20%7B%0Apadding%3A%2040px%20160px%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%3E%20slide%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%3E%20slide%20%7B%0Amargin%2Dleft%3A%20%2D550px%3B%0Awidth%3A%201100px%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%3E%20slide%2Efar%2Dpast%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%3E%20slide%2Efar%2Dpast%20%7B%0Adisplay%3A%20block%3B%0Adisplay%3A%20none%3B%0A%2Dwebkit%2Dtransform%3A%20translate%28%2D2260px%29%3B%0A%2Dmoz%2Dtransform%3A%20translate%28%2D2260px%29%3B%0A%2Dms%2Dtransform%3A%20translate%28%2D2260px%29%3B%0A%2Do%2Dtransform%3A%20translate%28%2D2260px%29%3B%0Atransform%3A%20translate%28%2D2260px%29%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D2260px%2C%200%2C%200%29%3B%0A%2Dmoz%2Dtransform%3A%20translate3d%28%2D2260px%2C%200%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate3d%28%2D2260px%2C%200%2C%200%29%3B%0A%2Do%2Dtransform%3A%20translate3d%28%2D2260px%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28%2D2260px%2C%200%2C%200%29%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%3E%20slide%2Epast%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%3E%20slide%2Epast%20%7B%0Adisplay%3A%20block%3B%0Aopacity%3A%200%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%3E%20slide%2Ecurrent%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%3E%20slide%2Ecurrent%20%7B%0Adisplay%3A%20block%3B%0Aopacity%3A%201%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%3E%20slide%2Enext%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%3E%20slide%2Enext%20%7B%0Adisplay%3A%20block%3B%0Aopacity%3A%200%3B%0Apointer%2Devents%3A%20none%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%3E%20slide%2Efar%2Dnext%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%3E%20slide%2Efar%2Dnext%20%7B%0Adisplay%3A%20block%3B%0Adisplay%3A%20none%3B%0A%2Dwebkit%2Dtransform%3A%20translate%282260px%29%3B%0A%2Dmoz%2Dtransform%3A%20translate%282260px%29%3B%0A%2Dms%2Dtransform%3A%20translate%282260px%29%3B%0A%2Do%2Dtransform%3A%20translate%282260px%29%3B%0Atransform%3A%20translate%282260px%29%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%282260px%2C%200%2C%200%29%3B%0A%2Dmoz%2Dtransform%3A%20translate3d%282260px%2C%200%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate3d%282260px%2C%200%2C%200%29%3B%0A%2Do%2Dtransform%3A%20translate3d%282260px%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%282260px%2C%200%2C%200%29%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%23prev%2Dslide%2Darea%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%23prev%2Dslide%2Darea%20%7B%0Amargin%2Dleft%3A%20%2D650px%3B%0A%7D%0A%0Aslides%2Elayout%2Dwidescreen%20%23next%2Dslide%2Darea%2C%0Aslides%2Elayout%2Dfaux%2Dwidescreen%20%23next%2Dslide%2Darea%20%7B%0Amargin%2Dleft%3A%20550px%3B%0A%7D%0A%0Ab%20%7B%0Afont%2Dweight%3A%20600%3B%0A%7D%0A%0Aa%20%7B%0Acolor%3A%20%232a7cdf%3B%0Atext%2Ddecoration%3A%20none%3B%0Aborder%2Dbottom%3A%201px%20solid%20rgba%2842%2C%20124%2C%20223%2C%200%2E5%29%3B%0A%7D%0A%0Aa%3Ahover%20%7B%0Acolor%3A%20black%20%21important%3B%0A%7D%0A%0Ah1%2C%20h2%2C%20h3%20%7B%0Afont%2Dweight%3A%20600%3B%0A%7D%0A%0Ah2%20%7B%0Afont%2Dsize%3A%2045px%3B%0Aline%2Dheight%3A%2065px%3B%0Aletter%2Dspacing%3A%20%2D2px%3B%0Acolor%3A%20%23515151%3B%0A%7D%0A%0Ah3%20%7B%0Afont%2Dsize%3A%2030px%3B%0Aletter%2Dspacing%3A%20%2D1px%3B%0Aline%2Dheight%3A%202%3B%0Afont%2Dweight%3A%20inherit%3B%0Acolor%3A%20%23797979%3B%0A%7D%0A%0Aol%2C%20ul%20%7B%0Amargin%2Dleft%3A%201%2E2em%3B%0Amargin%2Dbottom%3A%201em%3B%0Aposition%3A%20relative%3B%0A%7D%0Aol%20%7B%0Amargin%2Dleft%3A%201%2E4em%3B%0A%7D%0A%0Aol%20li%2C%0Aul%20li%20%7B%0Amargin%2Dbottom%3A%200%2E5em%3B%0A%7D%0A%0Aul%20li%20ul%20%7B%0Amargin%2Dleft%3A%202em%3B%0Amargin%2Dbottom%3A%200%3B%0A%7D%0A%0Aul%20li%20ul%20li%3Abefore%20%7B%0Acontent%3A%20%27%2D%27%3B%0Afont%2Dweight%3A%20600%3B%0A%7D%0A%0Aul%20%3E%20li%3Abefore%20%7B%0Acontent%3A%20%27%5C00B7%27%3B%0Amargin%2Dleft%3A%20%2D1em%3B%0Aposition%3A%20absolute%3B%0Afont%2Dweight%3A%20600%3B%0A%7D%0A%0Aul%20ul%2C%0Aol%20ul%20%7B%0Amargin%2Dtop%3A%20%2E5em%3B%0A%7D%0Aol%20ul%2C%0Aol%20ol%20%7B%0Amargin%2Dtop%3A%20%2E5em%3B%0A%7D%0A%0A%2Ehighlight%2Dcode%20slide%2Ecurrent%20pre%20%3E%20%2A%20%7B%0Aopacity%3A%200%2E25%3B%0A%2Dwebkit%2Dtransition%3A%20opacity%200%2E5s%20ease%2Din%3B%0A%2Dmoz%2Dtransition%3A%20opacity%200%2E5s%20ease%2Din%3B%0A%2Do%2Dtransition%3A%20opacity%200%2E5s%20ease%2Din%3B%0Atransition%3A%20opacity%200%2E5s%20ease%2Din%3B%0A%7D%0A%0A%2Ehighlight%2Dcode%20slide%2Ecurrent%20b%20%7B%0Aopacity%3A%201%3B%0A%7D%0A%0Apre%20%7B%0Afont%2Dfamily%3A%20%27Source%20Code%20Pro%27%2C%20%27Courier%20New%27%2C%20monospace%3B%0Afont%2Dsize%3A%2020px%3B%0Aline%2Dheight%3A%2028px%3B%0Apadding%3A%2010px%200%2010px%2060px%3B%0Aletter%2Dspacing%3A%20%2D1px%3B%0Amargin%2Dbottom%3A%2020px%3B%0Awidth%3A%20106%25%3B%0Aleft%3A%20%2D60px%3B%0Aposition%3A%20relative%3B%0A%2Dwebkit%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0A%2Dmoz%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%0A%0A%7D%0A%2Eprettyprint%20%7B%0Abackground%2Dcolor%3A%20%23e6e6e6%3B%0A%7D%0A%0Apre%5Bdata%2Dlang%5D%3Aafter%20%7B%0Acontent%3A%20attr%28data%2Dlang%29%3B%0Abackground%2Dcolor%3A%20darkgrey%3B%0Aright%3A%200%3B%0Atop%3A%200%3B%0Aposition%3A%20absolute%3B%0Afont%2Dsize%3A%2016pt%3B%0Acolor%3A%20white%3B%0Apadding%3A%202px%2025px%3B%0Atext%2Dtransform%3A%20uppercase%3B%0A%7D%0A%0Apre%5Bdata%2Dlang%3D%22go%22%5D%20%7B%0Acolor%3A%20%23333%3B%0A%7D%0A%0Acode%20%7B%0Afont%2Dsize%3A%2095%25%3B%0Afont%2Dfamily%3A%20%27Source%20Code%20Pro%27%2C%20%27Courier%20New%27%2C%20monospace%3B%0Acolor%3A%20black%3B%0A%7D%0A%0Aiframe%20%7B%0Awidth%3A%20100%25%3B%0Aheight%3A%20510px%3B%0Abackground%3A%20white%3B%0Aborder%3A%201px%20solid%20%23e6e6e6%3B%0A%2Dwebkit%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0A%2Dmoz%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%0A%7D%0A%0Adt%20%7B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%0Abutton%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%2050%25%200%25%2C%2050%25%20100%25%2C%20color%2Dstop%2840%25%2C%20%23f9f9f9%29%2C%20color%2Dstop%2870%25%2C%20%23e3e3e3%29%29%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28%23f9f9f9%2040%25%2C%20%23e3e3e3%2070%25%29%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28%23f9f9f9%2040%25%2C%20%23e3e3e3%2070%25%29%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28%23f9f9f9%2040%25%2C%20%23e3e3e3%2070%25%29%3B%0Abackground%3A%20linear%2Dgradient%28%23f9f9f9%2040%25%2C%20%23e3e3e3%2070%25%29%3B%0Aborder%3A%201px%20solid%20darkgrey%3B%0A%2Dwebkit%2Dborder%2Dradius%3A%203px%3B%0A%2Dmoz%2Dborder%2Dradius%3A%203px%3B%0A%2Dms%2Dborder%2Dradius%3A%203px%3B%0A%2Do%2Dborder%2Dradius%3A%203px%3B%0Aborder%2Dradius%3A%203px%3B%0Apadding%3A%205px%208px%3B%0Aoutline%3A%20none%3B%0Awhite%2Dspace%3A%20nowrap%3B%0A%2Dwebkit%2Duser%2Dselect%3A%20none%3B%0A%2Dmoz%2Duser%2Dselect%3A%20none%3B%0Auser%2Dselect%3A%20none%3B%0Acursor%3A%20pointer%3B%0Atext%2Dshadow%3A%201px%201px%20white%3B%0Afont%2Dsize%3A%2010pt%3B%0A%7D%0A%0Abutton%3Anot%28%3Adisabled%29%3Ahover%20%7B%0Aborder%2Dcolor%3A%20%23515151%3B%0A%7D%0A%0Abutton%3Anot%28%3Adisabled%29%3Aactive%20%7B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%2050%25%200%25%2C%2050%25%20100%25%2C%20color%2Dstop%2840%25%2C%20%23e3e3e3%29%2C%20color%2Dstop%2870%25%2C%20%23f9f9f9%29%29%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28%23e3e3e3%2040%25%2C%20%23f9f9f9%2070%25%29%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28%23e3e3e3%2040%25%2C%20%23f9f9f9%2070%25%29%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28%23e3e3e3%2040%25%2C%20%23f9f9f9%2070%25%29%3B%0Abackground%3A%20linear%2Dgradient%28%23e3e3e3%2040%25%2C%20%23f9f9f9%2070%25%29%3B%0A%7D%0A%0A%3Adisabled%20%7B%0Acolor%3A%20darkgrey%3B%0A%7D%0A%0A%2Eblue%20%7B%0Acolor%3A%20%234387fd%3B%0A%7D%0A%0A%2Eblue2%20%7B%0Acolor%3A%20%233c8ef3%3B%0A%7D%0A%0A%2Eblue3%20%7B%0Acolor%3A%20%232a7cdf%3B%0A%7D%0A%0A%2Eyellow%20%7B%0Acolor%3A%20%23ffd14d%3B%0A%7D%0A%0A%2Eyellow2%20%7B%0Acolor%3A%20%23f9cc46%3B%0A%7D%0A%0A%2Eyellow3%20%7B%0Acolor%3A%20%23f6c000%3B%0A%7D%0A%0A%2Egreen%20%7B%0Acolor%3A%20%230da861%3B%0A%7D%0A%0A%2Egreen2%20%7B%0Acolor%3A%20%2300a86d%3B%0A%7D%0A%0A%2Egreen3%20%7B%0Acolor%3A%20%23009f5d%3B%0A%7D%0A%0A%2Ered%20%7B%0Acolor%3A%20%23f44a3f%3B%0A%7D%0A%0A%2Ered2%20%7B%0Acolor%3A%20%23e0543e%3B%0A%7D%0A%0A%2Ered3%20%7B%0Acolor%3A%20%23d94d3a%3B%0A%7D%0A%0A%2Egray%20%7B%0Acolor%3A%20%23e6e6e6%3B%0A%7D%0A%0A%2Egray2%20%7B%0Acolor%3A%20darkgrey%3B%0A%7D%0A%0A%2Egray3%20%7B%0Acolor%3A%20%23797979%3B%0A%7D%0A%0A%2Egray4%20%7B%0Acolor%3A%20%23515151%3B%0A%7D%0A%0A%2Ewhite%20%7B%0Acolor%3A%20white%20%21important%3B%0A%7D%0A%0A%2Eblack%20%7B%0Acolor%3A%20black%20%21important%3B%0A%7D%0A%0A%2Ecolumns%2D2%20%7B%0A%2Dwebkit%2Dcolumn%2Dcount%3A%202%3B%0A%2Dmoz%2Dcolumn%2Dcount%3A%202%3B%0A%2Dms%2Dcolumn%2Dcount%3A%202%3B%0A%2Do%2Dcolumn%2Dcount%3A%202%3B%0Acolumn%2Dcount%3A%202%3B%0A%7D%0A%0A%2Ecolumns%2D2%20ul%2C%20%2Ecolumns%2D2%20ol%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0A%7D%0A%0Atable%2Ermdtable%20%7B%0Awidth%3A%20100%25%3B%0Aborder%2Dcollapse%3A%20%2Dmoz%2Dinitial%3B%0Aborder%2Dcollapse%3A%20initial%3B%0Aborder%2Dspacing%3A%202px%3B%0Aborder%2Dbottom%3A%201px%20solid%20%23797979%3B%0A%7D%0A%0Atable%2Ermdtable%20tr%20%3E%20td%3Afirst%2Dchild%2C%20table%20th%20%7B%0Afont%2Dweight%3A%20600%3B%0Acolor%3A%20%23515151%3B%0A%7D%0A%0Atable%2Ermdtable%20tr%3Anth%2Dchild%28odd%29%20%7B%0Abackground%2Dcolor%3A%20%23e6e6e6%3B%0A%7D%0A%0Atable%2Ermdtable%20th%20%7B%0Acolor%3A%20white%3B%0Afont%2Dsize%3A%2018px%3B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%2050%25%200%25%2C%2050%25%20100%25%2C%20color%2Dstop%2840%25%2C%20%234387fd%29%2C%20color%2Dstop%2880%25%2C%20%232a7cdf%29%29%20no%2Drepeat%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28top%2C%20%234387fd%2040%25%2C%20%232a7cdf%2080%25%29%20no%2Drepeat%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28top%2C%20%234387fd%2040%25%2C%20%232a7cdf%2080%25%29%20no%2Drepeat%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28top%2C%20%234387fd%2040%25%2C%20%232a7cdf%2080%25%29%20no%2Drepeat%3B%0Abackground%3A%20linear%2Dgradient%28top%2C%20%234387fd%2040%25%2C%20%232a7cdf%2080%25%29%20no%2Drepeat%3B%0A%7D%0A%0Atable%2Ermdtable%20td%2C%20table%20th%20%7B%0Afont%2Dsize%3A%2018px%3B%0Apadding%3A%201em%200%2E5em%3B%0A%7D%0A%0Atable%2Ermdtable%20td%2Ehighlight%20%7B%0Acolor%3A%20%23515151%3B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%2050%25%200%25%2C%2050%25%20100%25%2C%20color%2Dstop%2840%25%2C%20%23ffd14d%29%2C%20color%2Dstop%2880%25%2C%20%23f6c000%29%29%20no%2Drepeat%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28top%2C%20%23ffd14d%2040%25%2C%20%23f6c000%2080%25%29%20no%2Drepeat%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28top%2C%20%23ffd14d%2040%25%2C%20%23f6c000%2080%25%29%20no%2Drepeat%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28top%2C%20%23ffd14d%2040%25%2C%20%23f6c000%2080%25%29%20no%2Drepeat%3B%0Abackground%3A%20linear%2Dgradient%28top%2C%20%23ffd14d%2040%25%2C%20%23f6c000%2080%25%29%20no%2Drepeat%3B%0A%7D%0A%0Atable%2Ermdtable%2Erows%20%7B%0Aborder%2Dbottom%3A%20none%3B%0Aborder%2Dright%3A%201px%20solid%20%23797979%3B%0A%7D%0A%0Aq%20%7B%0Afont%2Dsize%3A%2045px%3B%0Aline%2Dheight%3A%2072px%3B%0A%7D%0A%0Aq%3Abefore%20%7B%0Acontent%3A%20%27%5C201C%27%3B%0Aposition%3A%20absolute%3B%0Amargin%2Dleft%3A%20%2D0%2E5em%3B%0A%7D%0A%0Aq%3Aafter%20%7B%0Acontent%3A%20%27%5C201D%27%3B%0Aposition%3A%20absolute%3B%0Amargin%2Dleft%3A%200%2E1em%3B%0A%7D%0A%0Aslide%2Efill%20%7B%0Abackground%2Drepeat%3A%20no%2Drepeat%3B%0A%2Dwebkit%2Dborder%2Dradius%3A%205px%3B%0A%2Dmoz%2Dborder%2Dradius%3A%205px%3B%0A%2Dms%2Dborder%2Dradius%3A%205px%3B%0A%2Do%2Dborder%2Dradius%3A%205px%3B%0Aborder%2Dradius%3A%205px%3B%0A%2Dwebkit%2Dbackground%2Dsize%3A%20cover%3B%0A%2Dmoz%2Dbackground%2Dsize%3A%20cover%3B%0A%2Do%2Dbackground%2Dsize%3A%20cover%3B%0Abackground%2Dsize%3A%20cover%3B%0A%7D%0A%0A%0Aarticle%2Esmaller%20p%2C%20article%2Esmaller%20ul%2C%20article%2Esmaller%20ol%20%7B%0Afont%2Dsize%3A%2020px%3B%0Aline%2Dheight%3A%2024px%3B%0Aletter%2Dspacing%3A%200%3B%0A%7D%0A%0Aarticle%2Esmaller%20table%20td%2C%20article%2Esmaller%20table%20th%20%7B%0Afont%2Dsize%3A%2014px%3B%0A%7D%0A%0Aarticle%2Esmaller%20pre%20%7B%0Afont%2Dsize%3A%2015px%3B%0Aline%2Dheight%3A%2020px%3B%0Aletter%2Dspacing%3A%200%3B%0A%7D%0A%0Aarticle%2Esmaller%20q%20%7B%0Afont%2Dsize%3A%2040px%3B%0Aline%2Dheight%3A%2048px%3B%0A%7D%0A%0Aarticle%2Esmaller%20q%3Abefore%2C%20article%2Esmaller%20q%3Aafter%20%7B%0Afont%2Dsize%3A%2060px%3B%0A%7D%0A%0A%0A%2Ebuild%20%3E%20%2A%20%7B%0A%2Dwebkit%2Dtransition%3A%20opacity%200%2E5s%20ease%2Din%2Dout%3B%0A%2Dwebkit%2Dtransition%2Ddelay%3A%200%2E2s%3B%0A%2Dmoz%2Dtransition%3A%20opacity%200%2E5s%20ease%2Din%2Dout%200%2E2s%3B%0A%2Do%2Dtransition%3A%20opacity%200%2E5s%20ease%2Din%2Dout%200%2E2s%3B%0Atransition%3A%20opacity%200%2E5s%20ease%2Din%2Dout%200%2E2s%3B%0A%7D%0A%0A%2Ebuild%20%2Eto%2Dbuild%20%7B%0Aopacity%3A%200%3B%0A%7D%0A%0A%2Ebuild%20%2Ebuild%2Dfade%20%7B%0Aopacity%3A%200%2E3%3B%0A%7D%0A%0A%2Ebuild%20%2Ebuild%2Dfade%3Ahover%20%7B%0Aopacity%3A%201%2E0%3B%0A%7D%0A%0A%2Epopup%20%2Enext%20%2Ebuild%20%2Eto%2Dbuild%20%7B%0Aopacity%3A%201%3B%0A%7D%0A%0A%2Epopup%20%2Enext%20%2Ebuild%20%2Ebuild%2Dfade%20%7B%0Aopacity%3A%201%3B%0A%7D%0A%0A%0A%2Eprettyprint%20%2Estr%2C%0A%2Eprettyprint%20%2Eatv%20%7B%0A%0Acolor%3A%20%23009f5d%3B%0A%7D%0A%0A%2Eprettyprint%20%2Ekwd%2C%0A%2Eprettyprint%20%2Etag%20%7B%0A%0Acolor%3A%20%230066cc%3B%0A%7D%0A%0A%2Eprettyprint%20%2Ecom%20%7B%0A%0Acolor%3A%20%23797979%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%0A%2Eprettyprint%20%2Elit%20%7B%0A%0Acolor%3A%20%237f0000%3B%0A%7D%0A%0A%2Eprettyprint%20%2Epun%2C%0A%2Eprettyprint%20%2Eopn%2C%0A%2Eprettyprint%20%2Eclo%20%7B%0Acolor%3A%20%23515151%3B%0A%7D%0A%0A%2Eprettyprint%20%2Etyp%2C%0A%2Eprettyprint%20%2Eatn%2C%0A%2Eprettyprint%20%2Edec%2C%0A%2Eprettyprint%20%2Evar%20%7B%0A%0Acolor%3A%20%23d94d3a%3B%0A%7D%0A%0A%2Eprettyprint%20%2Epln%20%7B%0Acolor%3A%20%23515151%3B%0A%7D%0A%0A%2Enote%20%7B%0Aposition%3A%20absolute%3B%0Az%2Dindex%3A%20100%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Atop%3A%200%3B%0Aleft%3A%200%3B%0Apadding%3A%201em%3B%0Abackground%3A%20rgba%280%2C%200%2C%200%2C%200%2E3%29%3B%0Aopacity%3A%200%3B%0Apointer%2Devents%3A%20none%3B%0Adisplay%3A%20%2Dwebkit%2Dbox%20%21important%3B%0Adisplay%3A%20%2Dmoz%2Dbox%20%21important%3B%0Adisplay%3A%20%2Dms%2Dbox%20%21important%3B%0Adisplay%3A%20%2Do%2Dbox%20%21important%3B%0Adisplay%3A%20box%20%21important%3B%0A%2Dwebkit%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dmoz%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dms%2Dbox%2Dorient%3A%20vertical%3B%0Abox%2Dorient%3A%20vertical%3B%0A%2Dwebkit%2Dbox%2Dalign%3A%20center%3B%0A%2Dmoz%2Dbox%2Dalign%3A%20center%3B%0A%2Dms%2Dbox%2Dalign%3A%20center%3B%0Abox%2Dalign%3A%20center%3B%0A%2Dwebkit%2Dbox%2Dpack%3A%20center%3B%0A%2Dmoz%2Dbox%2Dpack%3A%20center%3B%0A%2Dms%2Dbox%2Dpack%3A%20center%3B%0Abox%2Dpack%3A%20center%3B%0A%2Dwebkit%2Dborder%2Dradius%3A%205px%3B%0A%2Dmoz%2Dborder%2Dradius%3A%205px%3B%0A%2Dms%2Dborder%2Dradius%3A%205px%3B%0A%2Do%2Dborder%2Dradius%3A%205px%3B%0Aborder%2Dradius%3A%205px%3B%0A%2Dwebkit%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0A%2Dmoz%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%0A%2Dwebkit%2Dtransform%3A%20translateY%28350px%29%3B%0A%2Dmoz%2Dtransform%3A%20translateY%28350px%29%3B%0A%2Dms%2Dtransform%3A%20translateY%28350px%29%3B%0A%2Do%2Dtransform%3A%20translateY%28350px%29%3B%0Atransform%3A%20translateY%28350px%29%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E4s%20ease%2Din%2Dout%3B%0A%2Dmoz%2Dtransition%3A%20all%200%2E4s%20ease%2Din%2Dout%3B%0A%2Do%2Dtransition%3A%20all%200%2E4s%20ease%2Din%2Dout%3B%0Atransition%3A%20all%200%2E4s%20ease%2Din%2Dout%3B%0A%7D%0A%0A%2Enote%20%3E%20section%20%7B%0Abackground%3A%20%23fff%3B%0A%2Dwebkit%2Dborder%2Dradius%3A%205px%3B%0A%2Dmoz%2Dborder%2Dradius%3A%205px%3B%0A%2Dms%2Dborder%2Dradius%3A%205px%3B%0A%2Do%2Dborder%2Dradius%3A%205px%3B%0Aborder%2Dradius%3A%205px%3B%0A%2Dwebkit%2Dbox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0A%2Dmoz%2Dbox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0Abox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0Awidth%3A%2060%25%3B%0Apadding%3A%202em%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20slides%2Elayout%2Dwidescreen%20slide%2Enext%2C%0A%2Ewith%2Dnotes%2Epopup%20slides%2Elayout%2Dfaux%2Dwidescreen%20slide%2Enext%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28690px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0A%2Dmoz%2Dtransform%3A%20translate3d%28690px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0A%2Dms%2Dtransform%3A%20translate3d%28690px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0A%2Do%2Dtransform%3A%20translate3d%28690px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0Atransform%3A%20translate3d%28690px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20slides%2Elayout%2Dwidescreen%20slide%20%2Enote%2C%0A%2Ewith%2Dnotes%2Epopup%20slides%2Elayout%2Dfaux%2Dwidescreen%20slide%20%2Enote%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28300px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%2Dmoz%2Dtransform%3A%20translate3d%28300px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%2Dms%2Dtransform%3A%20translate3d%28300px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%2Do%2Dtransform%3A%20translate3d%28300px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0Atransform%3A%20translate3d%28300px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20slide%20%7B%0Aoverflow%3A%20visible%3B%0Abackground%3A%20white%3B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0A%2Dmoz%2Dtransition%3A%20none%3B%0A%2Do%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%0Apointer%2Devents%3A%20none%3B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%200%200%3B%0A%2Dmoz%2Dtransform%2Dorigin%3A%200%200%3B%0A%2Dms%2Dtransform%2Dorigin%3A%200%200%3B%0A%2Do%2Dtransform%2Dorigin%3A%200%200%3B%0Atransform%2Dorigin%3A%200%200%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20slide%3Anot%28%2Ebackdrop%29%20%7B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E6%29%20translate3d%280%2E5em%2C%200%2E5em%2C%200%29%3B%0A%2Dmoz%2Dtransform%3A%20scale%280%2E6%29%20translate3d%280%2E5em%2C%200%2E5em%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E6%29%20translate3d%280%2E5em%2C%200%2E5em%2C%200%29%3B%0A%2Do%2Dtransform%3A%20scale%280%2E6%29%20translate3d%280%2E5em%2C%200%2E5em%2C%200%29%3B%0Atransform%3A%20scale%280%2E6%29%20translate3d%280%2E5em%2C%200%2E5em%2C%200%29%3B%0A%2Dwebkit%2Dbox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0A%2Dmoz%2Dbox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0Abox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20slide%2Ebackdrop%20%7B%0Abackground%2Dimage%3A%20%2Dwebkit%2Dgradient%28radial%2C%2050%25%2050%25%2C%200%2C%2050%25%2050%25%2C%20600%2C%20color%2Dstop%280%25%2C%20%23b1dfff%29%2C%20color%2Dstop%28100%25%2C%20%234387fd%29%29%3B%0Abackground%2Dimage%3A%20%2Dwebkit%2Dradial%2Dgradient%2850%25%2050%25%2C%20%23b1dfff%200%25%2C%20%234387fd%20600px%29%3B%0Abackground%2Dimage%3A%20%2Dmoz%2Dradial%2Dgradient%2850%25%2050%25%2C%20%23b1dfff%200%25%2C%20%234387fd%20600px%29%3B%0Abackground%2Dimage%3A%20%2Do%2Dradial%2Dgradient%2850%25%2050%25%2C%20%23b1dfff%200%25%2C%20%234387fd%20600px%29%3B%0Abackground%2Dimage%3A%20radial%2Dgradient%2850%25%2050%25%2C%20%23b1dfff%200%25%2C%20%234387fd%20600px%29%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20slide%2Enext%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28570px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0A%2Dmoz%2Dtransform%3A%20translate3d%28570px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0A%2Dms%2Dtransform%3A%20translate3d%28570px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0A%2Do%2Dtransform%3A%20translate3d%28570px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0Atransform%3A%20translate3d%28570px%2C%2080px%2C%200%29%20scale%280%2E35%29%3B%0Aopacity%3A%201%20%21important%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20slide%2Enext%20%2Enote%20%7B%0Adisplay%3A%20none%20%21important%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20%2Enote%20%7B%0Awidth%3A%20109%25%3B%0Aheight%3A%20260px%3B%0Abackground%3A%20%23e6e6e6%3B%0Apadding%3A%200%3B%0A%2Dwebkit%2Dbox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0A%2Dmoz%2Dbox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0Abox%2Dshadow%3A%200%200%2010px%20%23797979%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28250px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%2Dmoz%2Dtransform%3A%20translate3d%28250px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%2Dms%2Dtransform%3A%20translate3d%28250px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%2Do%2Dtransform%3A%20translate3d%28250px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0Atransform%3A%20translate3d%28250px%2C%20800px%2C%200%29%20scale%281%2E5%29%3B%0A%2Dwebkit%2Dtransition%3A%20opacity%20400ms%20ease%2Din%2Dout%3B%0A%2Dmoz%2Dtransition%3A%20opacity%20400ms%20ease%2Din%2Dout%3B%0A%2Do%2Dtransition%3A%20opacity%20400ms%20ease%2Din%2Dout%3B%0Atransition%3A%20opacity%20400ms%20ease%2Din%2Dout%3B%0A%7D%0A%0A%2Ewith%2Dnotes%2Epopup%20%2Enote%20%3E%20section%20%7B%0Abackground%3A%20%23fff%3B%0A%2Dwebkit%2Dborder%2Dradius%3A%205px%3B%0A%2Dmoz%2Dborder%2Dradius%3A%205px%3B%0A%2Dms%2Dborder%2Dradius%3A%205px%3B%0A%2Do%2Dborder%2Dradius%3A%205px%3B%0Aborder%2Dradius%3A%205px%3B%0Aheight%3A%20100%25%3B%0Awidth%3A%20100%25%3B%0A%2Dwebkit%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0A%2Dmoz%2Dbox%2Dsizing%3A%20border%2Dbox%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%0A%2Dwebkit%2Dbox%2Dshadow%3A%20none%3B%0A%2Dmoz%2Dbox%2Dshadow%3A%20none%3B%0Abox%2Dshadow%3A%20none%3B%0Aoverflow%3A%20auto%3B%0Apadding%3A%201em%3B%0A%7D%0A%0A%2Ewith%2Dnotes%20%2Enote%20%7B%0Aopacity%3A%201%3B%0A%2Dwebkit%2Dtransform%3A%20translateY%280%29%3B%0A%2Dmoz%2Dtransform%3A%20translateY%280%29%3B%0A%2Dms%2Dtransform%3A%20translateY%280%29%3B%0A%2Do%2Dtransform%3A%20translateY%280%29%3B%0Atransform%3A%20translateY%280%29%3B%0Apointer%2Devents%3A%20auto%3B%0A%7D%0A%0A%2Esource%20%7B%0Afont%2Dsize%3A%2014px%3B%0Acolor%3A%20darkgrey%3B%0Aposition%3A%20absolute%3B%0Abottom%3A%2070px%3B%0Aleft%3A%2060px%3B%0A%7D%0A%0A%2Ecentered%20%7B%0Atext%2Dalign%3A%20center%3B%0A%7D%0A%0A%2Ereflect%20%7B%0A%2Dwebkit%2Dbox%2Dreflect%3A%20below%203px%20%2Dwebkit%2Dlinear%2Dgradient%28rgba%28255%2C%20255%2C%20255%2C%200%29%2085%25%2C%20white%20150%25%29%3B%0A%2Dmoz%2Dbox%2Dreflect%3A%20below%203px%20%2Dmoz%2Dlinear%2Dgradient%28rgba%28255%2C%20255%2C%20255%2C%200%29%2085%25%2C%20white%20150%25%29%3B%0A%2Do%2Dbox%2Dreflect%3A%20below%203px%20%2Do%2Dlinear%2Dgradient%28rgba%28255%2C%20255%2C%20255%2C%200%29%2085%25%2C%20white%20150%25%29%3B%0A%2Dms%2Dbox%2Dreflect%3A%20below%203px%20%2Dms%2Dlinear%2Dgradient%28rgba%28255%2C%20255%2C%20255%2C%200%29%2085%25%2C%20white%20150%25%29%3B%0Abox%2Dreflect%3A%20below%203px%20linear%2Dgradient%28rgba%28255%2C%20255%2C%20255%2C%200%29%2085%25%2C%20%23ffffff%20150%25%29%3B%0A%7D%0A%0A%2Eflexbox%20%7B%0Adisplay%3A%20%2Dwebkit%2Dbox%20%21important%3B%0Adisplay%3A%20%2Dmoz%2Dbox%20%21important%3B%0Adisplay%3A%20%2Dms%2Dbox%20%21important%3B%0Adisplay%3A%20%2Do%2Dbox%20%21important%3B%0Adisplay%3A%20box%20%21important%3B%0A%7D%0A%0A%2Eflexbox%2Evcenter%20%7B%0A%2Dwebkit%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dmoz%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dms%2Dbox%2Dorient%3A%20vertical%3B%0Abox%2Dorient%3A%20vertical%3B%0A%2Dwebkit%2Dbox%2Dalign%3A%20center%3B%0A%2Dmoz%2Dbox%2Dalign%3A%20center%3B%0A%2Dms%2Dbox%2Dalign%3A%20center%3B%0Abox%2Dalign%3A%20center%3B%0A%2Dwebkit%2Dbox%2Dpack%3A%20center%3B%0A%2Dmoz%2Dbox%2Dpack%3A%20center%3B%0A%2Dms%2Dbox%2Dpack%3A%20center%3B%0Abox%2Dpack%3A%20center%3B%0Aheight%3A%20100%25%3B%0Awidth%3A%20100%25%3B%0A%7D%0A%0A%2Eflexbox%2Evleft%20%7B%0A%2Dwebkit%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dmoz%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dms%2Dbox%2Dorient%3A%20vertical%3B%0Abox%2Dorient%3A%20vertical%3B%0A%2Dwebkit%2Dbox%2Dalign%3A%20left%3B%0A%2Dmoz%2Dbox%2Dalign%3A%20left%3B%0A%2Dms%2Dbox%2Dalign%3A%20left%3B%0Abox%2Dalign%3A%20left%3B%0A%2Dwebkit%2Dbox%2Dpack%3A%20center%3B%0A%2Dmoz%2Dbox%2Dpack%3A%20center%3B%0A%2Dms%2Dbox%2Dpack%3A%20center%3B%0Abox%2Dpack%3A%20center%3B%0Aheight%3A%20100%25%3B%0Awidth%3A%20100%25%3B%0A%7D%0A%0A%2Eflexbox%2Evright%20%7B%0A%2Dwebkit%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dmoz%2Dbox%2Dorient%3A%20vertical%3B%0A%2Dms%2Dbox%2Dorient%3A%20vertical%3B%0Abox%2Dorient%3A%20vertical%3B%0A%2Dwebkit%2Dbox%2Dalign%3A%20end%3B%0A%2Dmoz%2Dbox%2Dalign%3A%20end%3B%0A%2Dms%2Dbox%2Dalign%3A%20end%3B%0Abox%2Dalign%3A%20end%3B%0A%2Dwebkit%2Dbox%2Dpack%3A%20center%3B%0A%2Dmoz%2Dbox%2Dpack%3A%20center%3B%0A%2Dms%2Dbox%2Dpack%3A%20center%3B%0Abox%2Dpack%3A%20center%3B%0Aheight%3A%20100%25%3B%0Awidth%3A%20100%25%3B%0A%7D%0A%0A%2Eauto%2Dfadein%20%7B%0A%2Dwebkit%2Dtransition%3A%20opacity%200%2E6s%20ease%2Din%3B%0A%2Dwebkit%2Dtransition%2Ddelay%3A%200%2E6s%3B%0A%2Dmoz%2Dtransition%3A%20opacity%200%2E6s%20ease%2Din%200%2E6s%3B%0A%2Do%2Dtransition%3A%20opacity%200%2E6s%20ease%2Din%200%2E6s%3B%0Atransition%3A%20opacity%200%2E6s%20ease%2Din%200%2E6s%3B%0Aopacity%3A%200%3B%0A%7D%0A%0A%0A%2Eslide%2Darea%20%7B%0Az%2Dindex%3A%201000%3B%0Aposition%3A%20absolute%3B%0Aleft%3A%200%3B%0Atop%3A%200%3B%0Awidth%3A%20100px%3B%0Aheight%3A%20700px%3B%0Aleft%3A%2050%25%3B%0Atop%3A%2050%25%3B%0Acursor%3A%20pointer%3B%0Amargin%2Dtop%3A%20%2D350px%3B%0A%7D%0A%0A%23prev%2Dslide%2Darea%20%7B%0Amargin%2Dleft%3A%20%2D550px%3B%0A%7D%0A%0A%23next%2Dslide%2Darea%20%7B%0Amargin%2Dleft%3A%20450px%3B%0A%7D%0A%0A%0A%2Elogoslide%20img%20%7B%0Awidth%3A%20383px%3B%0Aheight%3A%2092px%3B%0A%7D%0A%0A%2Esegue%20%7B%0Apadding%3A%2060px%20120px%3B%0A%7D%0A%0A%2Esegue%20h2%20%7B%0Acolor%3A%20%23e6e6e6%3B%0Afont%2Dsize%3A%2060px%3B%0A%7D%0A%0A%2Esegue%20h3%20%7B%0Acolor%3A%20%23e6e6e6%3B%0Aline%2Dheight%3A%202%2E8%3B%0A%7D%0A%0A%2Esegue%20hgroup%20%7B%0Aposition%3A%20absolute%3B%0Abottom%3A%20225px%3B%0A%7D%0A%0A%2Ethank%2Dyou%2Dslide%20%7B%0Abackground%3A%20%234387fd%20%21important%3B%0Acolor%3A%20white%3B%0A%7D%0A%0A%2Ethank%2Dyou%2Dslide%20h2%20%7B%0Afont%2Dsize%3A%2060px%3B%0Acolor%3A%20inherit%3B%0A%7D%0A%0A%2Ethank%2Dyou%2Dslide%20article%20%3E%20p%20%7B%0Amargin%2Dtop%3A%202em%3B%0Afont%2Dsize%3A%2020pt%3B%0A%7D%0A%0A%2Ethank%2Dyou%2Dslide%20%3E%20p%20%7B%0Aposition%3A%20absolute%3B%0Abottom%3A%2080px%3B%0Afont%2Dsize%3A%2024pt%3B%0Aline%2Dheight%3A%201%2E3%3B%0A%7D%0A%0Aaside%2Egdbar%20%7B%0Aheight%3A%2097px%3B%0Awidth%3A%20215px%3B%0Aposition%3A%20absolute%3B%0Aleft%3A%20%2D1px%3B%0Atop%3A%20125px%3B%0A%2Dwebkit%2Dborder%2Dradius%3A%200%2010px%2010px%200%3B%0A%2Dmoz%2Dborder%2Dradius%3A%200%2010px%2010px%200%3B%0A%2Dms%2Dborder%2Dradius%3A%200%2010px%2010px%200%3B%0A%2Do%2Dborder%2Dradius%3A%200%2010px%2010px%200%3B%0Aborder%2Dradius%3A%200%2010px%2010px%200%3B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%200%25%2050%25%2C%20100%25%2050%25%2C%20color%2Dstop%280%25%2C%20%23e6e6e6%29%2C%20color%2Dstop%28100%25%2C%20%23e6e6e6%29%29%20no%2Drepeat%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28left%2C%20%23e6e6e6%2C%20%23e6e6e6%29%20no%2Drepeat%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28left%2C%20%23e6e6e6%2C%20%23e6e6e6%29%20no%2Drepeat%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28left%2C%20%23e6e6e6%2C%20%23e6e6e6%29%20no%2Drepeat%3B%0Abackground%3A%20linear%2Dgradient%28left%2C%20%23e6e6e6%2C%20%23e6e6e6%29%20no%2Drepeat%3B%0A%2Dwebkit%2Dbackground%2Dsize%3A%200%25%20100%25%3B%0A%2Dmoz%2Dbackground%2Dsize%3A%200%25%20100%25%3B%0A%2Do%2Dbackground%2Dsize%3A%200%25%20100%25%3B%0Abackground%2Dsize%3A%200%25%20100%25%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E5s%20ease%2Dout%3B%0A%2Dwebkit%2Dtransition%2Ddelay%3A%200%2E5s%3B%0A%2Dmoz%2Dtransition%3A%20all%200%2E5s%20ease%2Dout%200%2E5s%3B%0A%2Do%2Dtransition%3A%20all%200%2E5s%20ease%2Dout%200%2E5s%3B%0Atransition%3A%20all%200%2E5s%20ease%2Dout%200%2E5s%3B%0A%0A%7D%0A%0Aaside%2Egdbar%2Eright%20%7B%0Aright%3A%200%3B%0Aleft%3A%20%2Dmoz%2Dinitial%3B%0Aleft%3A%20initial%3B%0Atop%3A%20254px%3B%0A%0A%2Dwebkit%2Dtransform%3A%20rotateZ%28180deg%29%3B%0A%2Dmoz%2Dtransform%3A%20rotateZ%28180deg%29%3B%0A%2Dms%2Dtransform%3A%20rotateZ%28180deg%29%3B%0A%2Do%2Dtransform%3A%20rotateZ%28180deg%29%3B%0Atransform%3A%20rotateZ%28180deg%29%3B%0A%7D%0A%0Aaside%2Egdbar%2Eright%20img%20%7B%0A%2Dwebkit%2Dtransform%3A%20rotateZ%28180deg%29%3B%0A%2Dmoz%2Dtransform%3A%20rotateZ%28180deg%29%3B%0A%2Dms%2Dtransform%3A%20rotateZ%28180deg%29%3B%0A%2Do%2Dtransform%3A%20rotateZ%28180deg%29%3B%0Atransform%3A%20rotateZ%28180deg%29%3B%0A%7D%0A%0Aaside%2Egdbar%2Ebottom%20%7B%0Atop%3A%20%2Dmoz%2Dinitial%3B%0Atop%3A%20initial%3B%0Abottom%3A%2060px%3B%0A%7D%0A%0Aaside%2Egdbar%20img%20%7B%0Awidth%3A%2085px%3B%0Aheight%3A%2085px%3B%0Aposition%3A%20absolute%3B%0Aright%3A%200%3B%0Amargin%3A%208px%2015px%3B%0A%7D%0A%0A%2Etitle%2Dslide%20hgroup%20%7B%0Abottom%3A%20100px%3B%0A%7D%0A%0A%2Etitle%2Dslide%20hgroup%20h1%20%7B%0Afont%2Dsize%3A%2065px%3B%0Aline%2Dheight%3A%201%2E4%3B%0Aletter%2Dspacing%3A%20%2D3px%3B%0Acolor%3A%20%23515151%3B%0A%7D%0A%0A%2Etitle%2Dslide%20hgroup%20h2%20%7B%0Afont%2Dsize%3A%2034px%3B%0Acolor%3A%20darkgrey%3B%0Afont%2Dweight%3A%20inherit%3B%0A%7D%0A%0A%2Etitle%2Dslide%20hgroup%20p%20%7B%0Afont%2Dsize%3A%2020px%3B%0Acolor%3A%20%23797979%3B%0Aline%2Dheight%3A%201%2E3%3B%0Amargin%2Dtop%3A%202em%3B%0A%7D%0A%0A%2Equote%20%7B%0Acolor%3A%20%23e6e6e6%3B%0A%7D%0A%0A%2Equote%20%2Eauthor%20%7B%0Afont%2Dsize%3A%2024px%3B%0Aposition%3A%20absolute%3B%0Abottom%3A%2080px%3B%0Aline%2Dheight%3A%201%2E4%3B%0A%7D%0A%0A%5Bdata%2Dconfig%2Dcontact%5D%20a%20%7B%0Acolor%3A%20white%3B%0Aborder%2Dbottom%3A%20none%3B%0A%7D%0A%0A%5Bdata%2Dconfig%2Dcontact%5D%20span%20%7B%0Awidth%3A%20115px%3B%0Adisplay%3A%20inline%2Dblock%3B%0A%7D%0A%0A%2Eoverview%2Epopup%20%2Enote%20%7B%0Adisplay%3A%20none%20%21important%3B%0A%7D%0A%0A%2Eoverview%20slides%20slide%20%7B%0Adisplay%3A%20block%3B%0Acursor%3A%20pointer%3B%0Aopacity%3A%200%2E5%3B%0Apointer%2Devents%3A%20auto%20%21important%3B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%2050%25%200%25%2C%2050%25%20100%25%2C%20color%2Dstop%280%25%2C%20%23ffffff%29%2C%20color%2Dstop%2885%25%2C%20%23ffffff%29%2C%20color%2Dstop%28100%25%2C%20%23e6e6e6%29%29%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20linear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%2Dcolor%3A%20white%3B%0A%7D%0A%0A%2Eoverview%20slides%20slide%2Ebackdrop%20%7B%0Adisplay%3A%20none%20%21important%3B%0A%7D%0A%0A%2Eoverview%20slides%20slide%2Efar%2Dpast%2C%20%2Eoverview%20slides%20slide%2Epast%2C%20%2Eoverview%20slides%20slide%2Enext%2C%20%2Eoverview%20slides%20slide%2Efar%2Dnext%2C%20%2Eoverview%20slides%20slide%2Efar%2Dpast%20%7B%0Aopacity%3A%200%2E5%3B%0Adisplay%3A%20block%3B%0A%7D%0A%0A%2Eoverview%20slides%20slide%2Ecurrent%20%7B%0Aopacity%3A%201%3B%0A%7D%0A%0A%2Eoverview%20%2Eslide%2Darea%20%7B%0Adisplay%3A%20none%3B%0A%7D%0A%40media%20print%20%7B%0A%0Aslides%20slide%20%7B%0Adisplay%3A%20block%20%21important%3B%0Aposition%3A%20relative%3B%0Abackground%3A%20%2Dwebkit%2Dgradient%28linear%2C%2050%25%200%25%2C%2050%25%20100%25%2C%20color%2Dstop%280%25%2C%20%23ffffff%29%2C%20color%2Dstop%2885%25%2C%20%23ffffff%29%2C%20color%2Dstop%28100%25%2C%20%23e6e6e6%29%29%3B%0Abackground%3A%20%2Dwebkit%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20%2Dmoz%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20%2Do%2Dlinear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%3A%20linear%2Dgradient%28%23ffffff%2C%20%23ffffff%2085%25%2C%20%23e6e6e6%29%3B%0Abackground%2Dcolor%3A%20white%3B%0A%2Dwebkit%2Dtransform%3A%20none%20%21important%3B%0A%2Dmoz%2Dtransform%3A%20none%20%21important%3B%0A%2Dms%2Dtransform%3A%20none%20%21important%3B%0A%2Do%2Dtransform%3A%20none%20%21important%3B%0Atransform%3A%20none%20%21important%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Apage%2Dbreak%2Dafter%3A%20always%3B%0Atop%3A%20auto%20%21important%3B%0Aleft%3A%20auto%20%21important%3B%0Amargin%2Dtop%3A%200%20%21important%3B%0Amargin%2Dleft%3A%200%20%21important%3B%0Aopacity%3A%201%20%21important%3B%0Acolor%3A%20%23555%3B%0A%7D%0A%0Aslides%20slide%2Efar%2Dpast%2C%20slides%20slide%2Epast%2C%20slides%20slide%2Enext%2C%20slides%20slide%2Efar%2Dnext%2C%20slides%20slide%2Efar%2Dpast%2C%20slides%20slide%2Ecurrent%20%7B%0Aopacity%3A%201%20%21important%3B%0Adisplay%3A%20block%20%21important%3B%0A%7D%0A%0Aslides%20slide%20%2Ebuild%20%3E%20%2A%20%7B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0A%2Dmoz%2Dtransition%3A%20none%3B%0A%2Do%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%0A%7D%0A%0Aslides%20slide%20%2Ebuild%20%2Eto%2Dbuild%2C%0Aslides%20slide%20%2Ebuild%20%2Ebuild%2Dfade%20%7B%0Aopacity%3A%201%3B%0A%7D%0A%0Aslides%20slide%20%2Eauto%2Dfadein%20%7B%0Aopacity%3A%201%20%21important%3B%0A%7D%0A%0Aslides%20slide%2Ebackdrop%20%7B%0Adisplay%3A%20none%20%21important%3B%0A%7D%0A%0Aslides%20slide%20table%2Erows%20%7B%0Aborder%2Dright%3A%200%3B%0A%7D%0A%0Aslides%20slide%5Bhidden%5D%20%7B%0Adisplay%3A%20none%20%21important%3B%0A%7D%0A%0A%2Eslide%2Darea%20%7B%0Adisplay%3A%20none%3B%0A%7D%0A%0A%2Ereflect%20%7B%0A%2Dwebkit%2Dbox%2Dreflect%3A%20none%3B%0A%2Dmoz%2Dbox%2Dreflect%3A%20none%3B%0A%2Do%2Dbox%2Dreflect%3A%20none%3B%0A%2Dms%2Dbox%2Dreflect%3A%20none%3B%0Abox%2Dreflect%3A%20none%3B%0A%7D%0A%0Apre%2C%20code%20%7B%0Afont%2Dfamily%3A%20monospace%20%21important%3B%0A%7D%0A%7D%0A%0Alabel%20%7B%0Adisplay%3A%20block%3B%0Amargin%2Dbottom%3A%204px%3B%0A%7D%0Alabel%2C%20input%20%7B%0Afont%2Dsize%3A%2016px%3B%0Acolor%3A%20%23333%3B%0A%7D%0Ainput%20%7B%0Awidth%3A%20220px%3B%0A%7D%0A%2Ejslider%20%7B%0Amargin%2Dtop%3A%208px%3B%0A%7D%0A%0A%2EdataTables%5Finfo%2C%20%2EdataTables%5Fpaginate%20%7B%0Afont%2Dsize%3A%2014px%3B%0A%7D%0A" rel="stylesheet" />
<link href="data:text/css;charset=utf-8,%0A%40media%20only%20screen%20and%20%28max%2Ddevice%2Dwidth%3A%20480px%29%20%7B%0Aslides%3Eslide%7B%2Dwebkit%2Dtransition%3Anone%20%21important%3B%2Dwebkit%2Dtransition%3Anone%20%21important%3B%2Dmoz%2Dtransition%3Anone%20%21important%3B%2Do%2Dtransition%3Anone%20%21important%3Btransition%3Anone%20%21important%7D%0A%7D%0A" rel="stylesheet" />
<script src="data:application/x-javascript;base64,LyogTW9kZXJuaXpyIDIuNS4zIChDdXN0b20gQnVpbGQpIHwgTUlUICYgQlNECiAqIEJ1aWxkOiBodHRwOi8vd3d3Lm1vZGVybml6ci5jb20vZG93bmxvYWQvIy1mb250ZmFjZS1iYWNrZ3JvdW5kc2l6ZS1ib3JkZXJpbWFnZS1ib3JkZXJyYWRpdXMtYm94c2hhZG93LWZsZXhib3gtZmxleGJveF9sZWdhY3ktaHNsYS1tdWx0aXBsZWJncy1vcGFjaXR5LXJnYmEtdGV4dHNoYWRvdy1jc3NhbmltYXRpb25zLWNzc2NvbHVtbnMtZ2VuZXJhdGVkY29udGVudC1jc3NncmFkaWVudHMtY3NzcmVmbGVjdGlvbnMtY3NzdHJhbnNmb3Jtcy1jc3N0cmFuc2Zvcm1zM2QtY3NzdHJhbnNpdGlvbnMtYXBwbGljYXRpb25jYWNoZS1jYW52YXMtY2FudmFzdGV4dC1kcmFnYW5kZHJvcC1oYXNoY2hhbmdlLWhpc3RvcnktYXVkaW8tdmlkZW8taW5kZXhlZGRiLWlucHV0LWlucHV0dHlwZXMtbG9jYWxzdG9yYWdlLXBvc3RtZXNzYWdlLXNlc3Npb25zdG9yYWdlLXdlYnNvY2tldHMtd2Vic3FsZGF0YWJhc2Utd2Vid29ya2Vycy1nZW9sb2NhdGlvbi1pbmxpbmVzdmctc21pbC1zdmctc3ZnY2xpcHBhdGhzLXRvdWNoLXdlYmdsLW1xLXByZWZpeGVkLXRlc3RzdHlsZXMtdGVzdHByb3AtdGVzdGFsbHByb3BzLWhhc2V2ZW50LXByZWZpeGVzLWRvbXByZWZpeGVzLWxvYWQKICovCjt3aW5kb3cuTW9kZXJuaXpyPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBDKGEpe2kuY3NzVGV4dD1hfWZ1bmN0aW9uIEQoYSxiKXtyZXR1cm4gQyhtLmpvaW4oYSsiOyIpKyhifHwiIikpfWZ1bmN0aW9uIEUoYSxiKXtyZXR1cm4gdHlwZW9mIGE9PT1ifWZ1bmN0aW9uIEYoYSxiKXtyZXR1cm4hIX4oIiIrYSkuaW5kZXhPZihiKX1mdW5jdGlvbiBHKGEsYil7Zm9yKHZhciBkIGluIGEpaWYoaVthW2RdXSE9PWMpcmV0dXJuIGI9PSJwZngiP2FbZF06ITA7cmV0dXJuITF9ZnVuY3Rpb24gSChhLGIsZCl7Zm9yKHZhciBlIGluIGEpe3ZhciBmPWJbYVtlXV07aWYoZiE9PWMpcmV0dXJuIGQ9PT0hMT9hW2VdOkUoZiwiZnVuY3Rpb24iKT9mLmJpbmQoZHx8Yik6Zn1yZXR1cm4hMX1mdW5jdGlvbiBJKGEsYixjKXt2YXIgZD1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyKDEpLGU9KGErIiAiK28uam9pbihkKyIgIikrZCkuc3BsaXQoIiAiKTtyZXR1cm4gRShiLCJzdHJpbmciKXx8RShiLCJ1bmRlZmluZWQiKT9HKGUsYik6KGU9KGErIiAiK3Auam9pbihkKyIgIikrZCkuc3BsaXQoIiAiKSxIKGUsYixjKSl9ZnVuY3Rpb24gSygpe2UuaW5wdXQ9ZnVuY3Rpb24oYyl7Zm9yKHZhciBkPTAsZT1jLmxlbmd0aDtkPGU7ZCsrKXRbY1tkXV09Y1tkXWluIGo7cmV0dXJuIHQubGlzdCYmKHQubGlzdD0hIWIuY3JlYXRlRWxlbWVudCgiZGF0YWxpc3QiKSYmISFhLkhUTUxEYXRhTGlzdEVsZW1lbnQpLHR9KCJhdXRvY29tcGxldGUgYXV0b2ZvY3VzIGxpc3QgcGxhY2Vob2xkZXIgbWF4IG1pbiBtdWx0aXBsZSBwYXR0ZXJuIHJlcXVpcmVkIHN0ZXAiLnNwbGl0KCIgIikpLGUuaW5wdXR0eXBlcz1mdW5jdGlvbihhKXtmb3IodmFyIGQ9MCxlLGcsaCxpPWEubGVuZ3RoO2Q8aTtkKyspai5zZXRBdHRyaWJ1dGUoInR5cGUiLGc9YVtkXSksZT1qLnR5cGUhPT0idGV4dCIsZSYmKGoudmFsdWU9ayxqLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVuOyIsL15yYW5nZSQvLnRlc3QoZykmJmouc3R5bGUuV2Via2l0QXBwZWFyYW5jZSE9PWM/KGYuYXBwZW5kQ2hpbGQoaiksaD1iLmRlZmF1bHRWaWV3LGU9aC5nZXRDb21wdXRlZFN0eWxlJiZoLmdldENvbXB1dGVkU3R5bGUoaixudWxsKS5XZWJraXRBcHBlYXJhbmNlIT09InRleHRmaWVsZCImJmoub2Zmc2V0SGVpZ2h0IT09MCxmLnJlbW92ZUNoaWxkKGopKTovXihzZWFyY2h8dGVsKSQvLnRlc3QoZyl8fCgvXih1cmx8ZW1haWwpJC8udGVzdChnKT9lPWouY2hlY2tWYWxpZGl0eSYmai5jaGVja1ZhbGlkaXR5KCk9PT0hMTovXmNvbG9yJC8udGVzdChnKT8oZi5hcHBlbmRDaGlsZChqKSxmLm9mZnNldFdpZHRoLGU9ai52YWx1ZSE9ayxmLnJlbW92ZUNoaWxkKGopKTplPWoudmFsdWUhPWspKSxzW2FbZF1dPSEhZTtyZXR1cm4gc30oInNlYXJjaCB0ZWwgdXJsIGVtYWlsIGRhdGV0aW1lIGRhdGUgbW9udGggd2VlayB0aW1lIGRhdGV0aW1lLWxvY2FsIG51bWJlciByYW5nZSBjb2xvciIuc3BsaXQoIiAiKSl9dmFyIGQ9IjIuNS4zIixlPXt9LGY9Yi5kb2N1bWVudEVsZW1lbnQsZz0ibW9kZXJuaXpyIixoPWIuY3JlYXRlRWxlbWVudChnKSxpPWguc3R5bGUsaj1iLmNyZWF0ZUVsZW1lbnQoImlucHV0Iiksaz0iOikiLGw9e30udG9TdHJpbmcsbT0iIC13ZWJraXQtIC1tb3otIC1vLSAtbXMtICIuc3BsaXQoIiAiKSxuPSJXZWJraXQgTW96IE8gbXMiLG89bi5zcGxpdCgiICIpLHA9bi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIikscT17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LHI9e30scz17fSx0PXt9LHU9W10sdj11LnNsaWNlLHcseD1mdW5jdGlvbihhLGMsZCxlKXt2YXIgaCxpLGosaz1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGw9Yi5ib2R5LG09bD9sOmIuY3JlYXRlRWxlbWVudCgiYm9keSIpO2lmKHBhcnNlSW50KGQsMTApKXdoaWxlKGQtLSlqPWIuY3JlYXRlRWxlbWVudCgiZGl2Iiksai5pZD1lP2VbZF06ZysoZCsxKSxrLmFwcGVuZENoaWxkKGopO3JldHVybiBoPVsiJiMxNzM7IiwiPHN0eWxlPiIsYSwiPC9zdHlsZT4iXS5qb2luKCIiKSxrLmlkPWcsKGw/azptKS5pbm5lckhUTUwrPWgsbS5hcHBlbmRDaGlsZChrKSxsfHwobS5zdHlsZS5iYWNrZ3JvdW5kPSIiLGYuYXBwZW5kQ2hpbGQobSkpLGk9YyhrLGEpLGw/ay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGspOm0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChtKSwhIWl9LHk9ZnVuY3Rpb24oYil7dmFyIGM9YS5tYXRjaE1lZGlhfHxhLm1zTWF0Y2hNZWRpYTtpZihjKXJldHVybiBjKGIpLm1hdGNoZXM7dmFyIGQ7cmV0dXJuIHgoIkBtZWRpYSAiK2IrIiB7ICMiK2crIiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9IixmdW5jdGlvbihiKXtkPShhLmdldENvbXB1dGVkU3R5bGU/Z2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmIuY3VycmVudFN0eWxlKVsicG9zaXRpb24iXT09ImFic29sdXRlIn0pLGR9LHo9ZnVuY3Rpb24oKXtmdW5jdGlvbiBkKGQsZSl7ZT1lfHxiLmNyZWF0ZUVsZW1lbnQoYVtkXXx8ImRpdiIpLGQ9Im9uIitkO3ZhciBmPWQgaW4gZTtyZXR1cm4gZnx8KGUuc2V0QXR0cmlidXRlfHwoZT1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxlLnNldEF0dHJpYnV0ZSYmZS5yZW1vdmVBdHRyaWJ1dGUmJihlLnNldEF0dHJpYnV0ZShkLCIiKSxmPUUoZVtkXSwiZnVuY3Rpb24iKSxFKGVbZF0sInVuZGVmaW5lZCIpfHwoZVtkXT1jKSxlLnJlbW92ZUF0dHJpYnV0ZShkKSkpLGU9bnVsbCxmfXZhciBhPXtzZWxlY3Q6ImlucHV0IixjaGFuZ2U6ImlucHV0IixzdWJtaXQ6ImZvcm0iLHJlc2V0OiJmb3JtIixlcnJvcjoiaW1nIixsb2FkOiJpbWciLGFib3J0OiJpbWcifTtyZXR1cm4gZH0oKSxBPXt9Lmhhc093blByb3BlcnR5LEI7IUUoQSwidW5kZWZpbmVkIikmJiFFKEEuY2FsbCwidW5kZWZpbmVkIik/Qj1mdW5jdGlvbihhLGIpe3JldHVybiBBLmNhbGwoYSxiKX06Qj1mdW5jdGlvbihhLGIpe3JldHVybiBiIGluIGEmJkUoYS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVbYl0sInVuZGVmaW5lZCIpfSxGdW5jdGlvbi5wcm90b3R5cGUuYmluZHx8KEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXM7aWYodHlwZW9mIGMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcjt2YXIgZD12LmNhbGwoYXJndW1lbnRzLDEpLGU9ZnVuY3Rpb24oKXtpZih0aGlzIGluc3RhbmNlb2YgZSl7dmFyIGE9ZnVuY3Rpb24oKXt9O2EucHJvdG90eXBlPWMucHJvdG90eXBlO3ZhciBmPW5ldyBhLGc9Yy5hcHBseShmLGQuY29uY2F0KHYuY2FsbChhcmd1bWVudHMpKSk7cmV0dXJuIE9iamVjdChnKT09PWc/ZzpmfXJldHVybiBjLmFwcGx5KGIsZC5jb25jYXQodi5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIGV9KTt2YXIgSj1mdW5jdGlvbihjLGQpe3ZhciBmPWMuam9pbigiIiksZz1kLmxlbmd0aDt4KGYsZnVuY3Rpb24oYyxkKXt2YXIgZj1iLnN0eWxlU2hlZXRzW2Iuc3R5bGVTaGVldHMubGVuZ3RoLTFdLGg9Zj9mLmNzc1J1bGVzJiZmLmNzc1J1bGVzWzBdP2YuY3NzUnVsZXNbMF0uY3NzVGV4dDpmLmNzc1RleHR8fCIiOiIiLGk9Yy5jaGlsZE5vZGVzLGo9e307d2hpbGUoZy0tKWpbaVtnXS5pZF09aVtnXTtlLnRvdWNoPSJvbnRvdWNoc3RhcnQiaW4gYXx8YS5Eb2N1bWVudFRvdWNoJiZiIGluc3RhbmNlb2YgRG9jdW1lbnRUb3VjaHx8KGoudG91Y2gmJmoudG91Y2gub2Zmc2V0VG9wKT09PTksZS5jc3N0cmFuc2Zvcm1zM2Q9KGouY3NzdHJhbnNmb3JtczNkJiZqLmNzc3RyYW5zZm9ybXMzZC5vZmZzZXRMZWZ0KT09PTkmJmouY3NzdHJhbnNmb3JtczNkLm9mZnNldEhlaWdodD09PTMsZS5nZW5lcmF0ZWRjb250ZW50PShqLmdlbmVyYXRlZGNvbnRlbnQmJmouZ2VuZXJhdGVkY29udGVudC5vZmZzZXRIZWlnaHQpPj0xLGUuZm9udGZhY2U9L3NyYy9pLnRlc3QoaCkmJmguaW5kZXhPZihkLnNwbGl0KCIgIilbMF0pPT09MH0sZyxkKX0oWydAZm9udC1mYWNlIHtmb250LWZhbWlseToiZm9udCI7c3JjOnVybCgiaHR0cHM6Ly8iKX0nLFsiQG1lZGlhICgiLG0uam9pbigidG91Y2gtZW5hYmxlZCksKCIpLGcsIikiLCJ7I3RvdWNoe3RvcDo5cHg7cG9zaXRpb246YWJzb2x1dGV9fSJdLmpvaW4oIiIpLFsiQG1lZGlhICgiLG0uam9pbigidHJhbnNmb3JtLTNkKSwoIiksZywiKSIsInsjY3NzdHJhbnNmb3JtczNke2xlZnQ6OXB4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDozcHg7fX0iXS5qb2luKCIiKSxbJyNnZW5lcmF0ZWRjb250ZW50OmFmdGVye2NvbnRlbnQ6IicsaywnIjt2aXNpYmlsaXR5OmhpZGRlbn0nXS5qb2luKCIiKV0sWyJmb250ZmFjZSIsInRvdWNoIiwiY3NzdHJhbnNmb3JtczNkIiwiZ2VuZXJhdGVkY29udGVudCJdKTtyLmZsZXhib3g9ZnVuY3Rpb24oKXtyZXR1cm4gSSgiZmxleE9yZGVyIil9LHJbImZsZXhib3gtbGVnYWN5Il09ZnVuY3Rpb24oKXtyZXR1cm4gSSgiYm94RGlyZWN0aW9uIil9LHIuY2FudmFzPWZ1bmN0aW9uKCl7dmFyIGE9Yi5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4hIWEuZ2V0Q29udGV4dCYmISFhLmdldENvbnRleHQoIjJkIil9LHIuY2FudmFzdGV4dD1mdW5jdGlvbigpe3JldHVybiEhZS5jYW52YXMmJiEhRShiLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikuZmlsbFRleHQsImZ1bmN0aW9uIil9LHIud2ViZ2w9ZnVuY3Rpb24oKXt0cnl7dmFyIGQ9Yi5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxlO2U9ISghYS5XZWJHTFJlbmRlcmluZ0NvbnRleHR8fCFkLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIpJiYhZC5nZXRDb250ZXh0KCJ3ZWJnbCIpKSxkPWN9Y2F0Y2goZil7ZT0hMX1yZXR1cm4gZX0sci50b3VjaD1mdW5jdGlvbigpe3JldHVybiBlLnRvdWNofSxyLmdlb2xvY2F0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuISFuYXZpZ2F0b3IuZ2VvbG9jYXRpb259LHIucG9zdG1lc3NhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWEucG9zdE1lc3NhZ2V9LHIud2Vic3FsZGF0YWJhc2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWEub3BlbkRhdGFiYXNlfSxyLmluZGV4ZWREQj1mdW5jdGlvbigpe3JldHVybiEhSSgiaW5kZXhlZERCIixhKX0sci5oYXNoY2hhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHooImhhc2hjaGFuZ2UiLGEpJiYoYi5kb2N1bWVudE1vZGU9PT1jfHxiLmRvY3VtZW50TW9kZT43KX0sci5oaXN0b3J5PWZ1bmN0aW9uKCl7cmV0dXJuISFhLmhpc3RvcnkmJiEhaGlzdG9yeS5wdXNoU3RhdGV9LHIuZHJhZ2FuZGRyb3A9ZnVuY3Rpb24oKXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiJkcmFnZ2FibGUiaW4gYXx8Im9uZHJhZ3N0YXJ0ImluIGEmJiJvbmRyb3AiaW4gYX0sci53ZWJzb2NrZXRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBiPS0xLGM9by5sZW5ndGg7KytiPGM7KWlmKGFbb1tiXSsiV2ViU29ja2V0Il0pcmV0dXJuITA7cmV0dXJuIldlYlNvY2tldCJpbiBhfSxyLnJnYmE9ZnVuY3Rpb24oKXtyZXR1cm4gQygiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE1MCwyNTUsMTUwLC41KSIpLEYoaS5iYWNrZ3JvdW5kQ29sb3IsInJnYmEiKX0sci5oc2xhPWZ1bmN0aW9uKCl7cmV0dXJuIEMoImJhY2tncm91bmQtY29sb3I6aHNsYSgxMjAsNDAlLDEwMCUsLjUpIiksRihpLmJhY2tncm91bmRDb2xvciwicmdiYSIpfHxGKGkuYmFja2dyb3VuZENvbG9yLCJoc2xhIil9LHIubXVsdGlwbGViZ3M9ZnVuY3Rpb24oKXtyZXR1cm4gQygiYmFja2dyb3VuZDp1cmwoaHR0cHM6Ly8pLHVybChodHRwczovLykscmVkIHVybChodHRwczovLykiKSwvKHVybFxzKlwoLio/KXszfS8udGVzdChpLmJhY2tncm91bmQpfSxyLmJhY2tncm91bmRzaXplPWZ1bmN0aW9uKCl7cmV0dXJuIEkoImJhY2tncm91bmRTaXplIil9LHIuYm9yZGVyaW1hZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gSSgiYm9yZGVySW1hZ2UiKX0sci5ib3JkZXJyYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gSSgiYm9yZGVyUmFkaXVzIil9LHIuYm94c2hhZG93PWZ1bmN0aW9uKCl7cmV0dXJuIEkoImJveFNoYWRvdyIpfSxyLnRleHRzaGFkb3c9ZnVuY3Rpb24oKXtyZXR1cm4gYi5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZS50ZXh0U2hhZG93PT09IiJ9LHIub3BhY2l0eT1mdW5jdGlvbigpe3JldHVybiBEKCJvcGFjaXR5Oi41NSIpLC9eMC41NSQvLnRlc3QoaS5vcGFjaXR5KX0sci5jc3NhbmltYXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIEkoImFuaW1hdGlvbk5hbWUiKX0sci5jc3Njb2x1bW5zPWZ1bmN0aW9uKCl7cmV0dXJuIEkoImNvbHVtbkNvdW50Iil9LHIuY3NzZ3JhZGllbnRzPWZ1bmN0aW9uKCl7dmFyIGE9ImJhY2tncm91bmQtaW1hZ2U6IixiPSJncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgYm90dG9tLGZyb20oIzlmOSksdG8od2hpdGUpKTsiLGM9ImxpbmVhci1ncmFkaWVudChsZWZ0IHRvcCwjOWY5LCB3aGl0ZSk7IjtyZXR1cm4gQygoYSsiLXdlYmtpdC0gIi5zcGxpdCgiICIpLmpvaW4oYithKSttLmpvaW4oYythKSkuc2xpY2UoMCwtYS5sZW5ndGgpKSxGKGkuYmFja2dyb3VuZEltYWdlLCJncmFkaWVudCIpfSxyLmNzc3JlZmxlY3Rpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIEkoImJveFJlZmxlY3QiKX0sci5jc3N0cmFuc2Zvcm1zPWZ1bmN0aW9uKCl7cmV0dXJuISFJKCJ0cmFuc2Zvcm0iKX0sci5jc3N0cmFuc2Zvcm1zM2Q9ZnVuY3Rpb24oKXt2YXIgYT0hIUkoInBlcnNwZWN0aXZlIik7cmV0dXJuIGEmJiJ3ZWJraXRQZXJzcGVjdGl2ZSJpbiBmLnN0eWxlJiYoYT1lLmNzc3RyYW5zZm9ybXMzZCksYX0sci5jc3N0cmFuc2l0aW9ucz1mdW5jdGlvbigpe3JldHVybiBJKCJ0cmFuc2l0aW9uIil9LHIuZm9udGZhY2U9ZnVuY3Rpb24oKXtyZXR1cm4gZS5mb250ZmFjZX0sci5nZW5lcmF0ZWRjb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2VuZXJhdGVkY29udGVudH0sci52aWRlbz1mdW5jdGlvbigpe3ZhciBhPWIuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxjPSExO3RyeXtpZihjPSEhYS5jYW5QbGF5VHlwZSljPW5ldyBCb29sZWFuKGMpLGMub2dnPWEuY2FuUGxheVR5cGUoJ3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEiJykucmVwbGFjZSgvXm5vJC8sIiIpLGMuaDI2ND1hLmNhblBsYXlUeXBlKCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MkUwMUUiJykucmVwbGFjZSgvXm5vJC8sIiIpLGMud2VibT1hLmNhblBsYXlUeXBlKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOCwgdm9yYmlzIicpLnJlcGxhY2UoL15ubyQvLCIiKX1jYXRjaChkKXt9cmV0dXJuIGN9LHIuYXVkaW89ZnVuY3Rpb24oKXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImF1ZGlvIiksYz0hMTt0cnl7aWYoYz0hIWEuY2FuUGxheVR5cGUpYz1uZXcgQm9vbGVhbihjKSxjLm9nZz1hLmNhblBsYXlUeXBlKCdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicpLnJlcGxhY2UoL15ubyQvLCIiKSxjLm1wMz1hLmNhblBsYXlUeXBlKCJhdWRpby9tcGVnOyIpLnJlcGxhY2UoL15ubyQvLCIiKSxjLndhdj1hLmNhblBsYXlUeXBlKCdhdWRpby93YXY7IGNvZGVjcz0iMSInKS5yZXBsYWNlKC9ebm8kLywiIiksYy5tNGE9KGEuY2FuUGxheVR5cGUoImF1ZGlvL3gtbTRhOyIpfHxhLmNhblBsYXlUeXBlKCJhdWRpby9hYWM7IikpLnJlcGxhY2UoL15ubyQvLCIiKX1jYXRjaChkKXt9cmV0dXJuIGN9LHIubG9jYWxzdG9yYWdlPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShnLGcpLGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGcpLCEwfWNhdGNoKGEpe3JldHVybiExfX0sci5zZXNzaW9uc3RvcmFnZT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShnLGcpLHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oZyksITB9Y2F0Y2goYSl7cmV0dXJuITF9fSxyLndlYndvcmtlcnM9ZnVuY3Rpb24oKXtyZXR1cm4hIWEuV29ya2VyfSxyLmFwcGxpY2F0aW9uY2FjaGU9ZnVuY3Rpb24oKXtyZXR1cm4hIWEuYXBwbGljYXRpb25DYWNoZX0sci5zdmc9ZnVuY3Rpb24oKXtyZXR1cm4hIWIuY3JlYXRlRWxlbWVudE5TJiYhIWIuY3JlYXRlRWxlbWVudE5TKHEuc3ZnLCJzdmciKS5jcmVhdGVTVkdSZWN0fSxyLmlubGluZXN2Zz1mdW5jdGlvbigpe3ZhciBhPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGEuaW5uZXJIVE1MPSI8c3ZnLz4iLChhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5uYW1lc3BhY2VVUkkpPT1xLnN2Z30sci5zbWlsPWZ1bmN0aW9uKCl7cmV0dXJuISFiLmNyZWF0ZUVsZW1lbnROUyYmL1NWR0FuaW1hdGUvLnRlc3QobC5jYWxsKGIuY3JlYXRlRWxlbWVudE5TKHEuc3ZnLCJhbmltYXRlIikpKX0sci5zdmdjbGlwcGF0aHM9ZnVuY3Rpb24oKXtyZXR1cm4hIWIuY3JlYXRlRWxlbWVudE5TJiYvU1ZHQ2xpcFBhdGgvLnRlc3QobC5jYWxsKGIuY3JlYXRlRWxlbWVudE5TKHEuc3ZnLCJjbGlwUGF0aCIpKSl9O2Zvcih2YXIgTCBpbiByKUIocixMKSYmKHc9TC50b0xvd2VyQ2FzZSgpLGVbd109cltMXSgpLHUucHVzaCgoZVt3XT8iIjoibm8tIikrdykpO3JldHVybiBlLmlucHV0fHxLKCksQygiIiksaD1qPW51bGwsZS5fdmVyc2lvbj1kLGUuX3ByZWZpeGVzPW0sZS5fZG9tUHJlZml4ZXM9cCxlLl9jc3NvbVByZWZpeGVzPW8sZS5tcT15LGUuaGFzRXZlbnQ9eixlLnRlc3RQcm9wPWZ1bmN0aW9uKGEpe3JldHVybiBHKFthXSl9LGUudGVzdEFsbFByb3BzPUksZS50ZXN0U3R5bGVzPXgsZS5wcmVmaXhlZD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI/SShhLGIsYyk6SShhLCJwZngiKX0sZX0odGhpcyx0aGlzLmRvY3VtZW50KSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXtyZXR1cm4gby5jYWxsKGEpPT0iW29iamVjdCBGdW5jdGlvbl0ifWZ1bmN0aW9uIGUoYSl7cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIn1mdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIGcoYSl7cmV0dXJuIWF8fGE9PSJsb2FkZWQifHxhPT0iY29tcGxldGUifHxhPT0idW5pbml0aWFsaXplZCJ9ZnVuY3Rpb24gaCgpe3ZhciBhPXAuc2hpZnQoKTtxPTEsYT9hLnQ/bShmdW5jdGlvbigpeyhhLnQ9PSJjIj9CLmluamVjdENzczpCLmluamVjdEpzKShhLnMsMCxhLmEsYS54LGEuZSwxKX0sMCk6KGEoKSxoKCkpOnE9MH1mdW5jdGlvbiBpKGEsYyxkLGUsZixpLGope2Z1bmN0aW9uIGsoYil7aWYoIW8mJmcobC5yZWFkeVN0YXRlKSYmKHUucj1vPTEsIXEmJmgoKSxsLm9ubG9hZD1sLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIpKXthIT0iaW1nIiYmbShmdW5jdGlvbigpe3QucmVtb3ZlQ2hpbGQobCl9LDUwKTtmb3IodmFyIGQgaW4geVtjXSl5W2NdLmhhc093blByb3BlcnR5KGQpJiZ5W2NdW2RdLm9ubG9hZCgpfX12YXIgaj1qfHxCLmVycm9yVGltZW91dCxsPXt9LG89MCxyPTAsdT17dDpkLHM6YyxlOmYsYTppLHg6an07eVtjXT09PTEmJihyPTEseVtjXT1bXSxsPWIuY3JlYXRlRWxlbWVudChhKSksYT09Im9iamVjdCI/bC5kYXRhPWM6KGwuc3JjPWMsbC50eXBlPWEpLGwud2lkdGg9bC5oZWlnaHQ9IjAiLGwub25lcnJvcj1sLm9ubG9hZD1sLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2suY2FsbCh0aGlzLHIpfSxwLnNwbGljZShlLDAsdSksYSE9ImltZyImJihyfHx5W2NdPT09Mj8odC5pbnNlcnRCZWZvcmUobCxzP251bGw6biksbShrLGopKTp5W2NdLnB1c2gobCkpfWZ1bmN0aW9uIGooYSxiLGMsZCxmKXtyZXR1cm4gcT0wLGI9Ynx8ImoiLGUoYSk/aShiPT0iYyI/djp1LGEsYix0aGlzLmkrKyxjLGQsZik6KHAuc3BsaWNlKHRoaXMuaSsrLDAsYSkscC5sZW5ndGg9PTEmJmgoKSksdGhpc31mdW5jdGlvbiBrKCl7dmFyIGE9QjtyZXR1cm4gYS5sb2FkZXI9e2xvYWQ6aixpOjB9LGF9dmFyIGw9Yi5kb2N1bWVudEVsZW1lbnQsbT1hLnNldFRpbWVvdXQsbj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXSxvPXt9LnRvU3RyaW5nLHA9W10scT0wLHI9Ik1vekFwcGVhcmFuY2UiaW4gbC5zdHlsZSxzPXImJiEhYi5jcmVhdGVSYW5nZSgpLmNvbXBhcmVOb2RlLHQ9cz9sOm4ucGFyZW50Tm9kZSxsPWEub3BlcmEmJm8uY2FsbChhLm9wZXJhKT09IltvYmplY3QgT3BlcmFdIixsPSEhYi5hdHRhY2hFdmVudCYmIWwsdT1yPyJvYmplY3QiOmw/InNjcmlwdCI6ImltZyIsdj1sPyJzY3JpcHQiOnUsdz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4gby5jYWxsKGEpPT0iW29iamVjdCBBcnJheV0ifSx4PVtdLHk9e30sej17dGltZW91dDpmdW5jdGlvbihhLGIpe3JldHVybiBiLmxlbmd0aCYmKGEudGltZW91dD1iWzBdKSxhfX0sQSxCO0I9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhKXt2YXIgYT1hLnNwbGl0KCIhIiksYj14Lmxlbmd0aCxjPWEucG9wKCksZD1hLmxlbmd0aCxjPXt1cmw6YyxvcmlnVXJsOmMscHJlZml4ZXM6YX0sZSxmLGc7Zm9yKGY9MDtmPGQ7ZisrKWc9YVtmXS5zcGxpdCgiPSIpLChlPXpbZy5zaGlmdCgpXSkmJihjPWUoYyxnKSk7Zm9yKGY9MDtmPGI7ZisrKWM9eFtmXShjKTtyZXR1cm4gY31mdW5jdGlvbiBnKGEsZSxmLGcsaSl7dmFyIGo9YihhKSxsPWouYXV0b0NhbGxiYWNrO2oudXJsLnNwbGl0KCIuIikucG9wKCkuc3BsaXQoIj8iKS5zaGlmdCgpLGouYnlwYXNzfHwoZSYmKGU9ZChlKT9lOmVbYV18fGVbZ118fGVbYS5zcGxpdCgiLyIpLnBvcCgpLnNwbGl0KCI/IilbMF1dfHxoKSxqLmluc3RlYWQ/ai5pbnN0ZWFkKGEsZSxmLGcsaSk6KHlbai51cmxdP2oubm9leGVjPSEwOnlbai51cmxdPTEsZi5sb2FkKGoudXJsLGouZm9yY2VDU1N8fCFqLmZvcmNlSlMmJiJjc3MiPT1qLnVybC5zcGxpdCgiLiIpLnBvcCgpLnNwbGl0KCI/Iikuc2hpZnQoKT8iYyI6YyxqLm5vZXhlYyxqLmF0dHJzLGoudGltZW91dCksKGQoZSl8fGQobCkpJiZmLmxvYWQoZnVuY3Rpb24oKXtrKCksZSYmZShqLm9yaWdVcmwsaSxnKSxsJiZsKGoub3JpZ1VybCxpLGcpLHlbai51cmxdPTJ9KSkpfWZ1bmN0aW9uIGkoYSxiKXtmdW5jdGlvbiBjKGEsYyl7aWYoYSl7aWYoZShhKSljfHwoaj1mdW5jdGlvbigpe3ZhciBhPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtrLmFwcGx5KHRoaXMsYSksbCgpfSksZyhhLGosYiwwLGgpO2Vsc2UgaWYoT2JqZWN0KGEpPT09YSlmb3IobiBpbiBtPWZ1bmN0aW9uKCl7dmFyIGI9MCxjO2ZvcihjIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShjKSYmYisrO3JldHVybiBifSgpLGEpYS5oYXNPd25Qcm9wZXJ0eShuKSYmKCFjJiYhLS1tJiYoZChqKT9qPWZ1bmN0aW9uKCl7dmFyIGE9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2suYXBwbHkodGhpcyxhKSxsKCl9Ompbbl09ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2EmJmEuYXBwbHkodGhpcyxiKSxsKCl9fShrW25dKSksZyhhW25dLGosYixuLGgpKX1lbHNlIWMmJmwoKX12YXIgaD0hIWEudGVzdCxpPWEubG9hZHx8YS5ib3RoLGo9YS5jYWxsYmFja3x8ZixrPWosbD1hLmNvbXBsZXRlfHxmLG0sbjtjKGg/YS55ZXA6YS5ub3BlLCEhaSksaSYmYyhpKX12YXIgaixsLG09dGhpcy55ZXBub3BlLmxvYWRlcjtpZihlKGEpKWcoYSwwLG0sMCk7ZWxzZSBpZih3KGEpKWZvcihqPTA7ajxhLmxlbmd0aDtqKyspbD1hW2pdLGUobCk/ZyhsLDAsbSwwKTp3KGwpP0IobCk6T2JqZWN0KGwpPT09bCYmaShsLG0pO2Vsc2UgT2JqZWN0KGEpPT09YSYmaShhLG0pfSxCLmFkZFByZWZpeD1mdW5jdGlvbihhLGIpe3pbYV09Yn0sQi5hZGRGaWx0ZXI9ZnVuY3Rpb24oYSl7eC5wdXNoKGEpfSxCLmVycm9yVGltZW91dD0xZTQsYi5yZWFkeVN0YXRlPT1udWxsJiZiLmFkZEV2ZW50TGlzdGVuZXImJihiLnJlYWR5U3RhdGU9ImxvYWRpbmciLGIuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQT1mdW5jdGlvbigpe2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQSwwKSxiLnJlYWR5U3RhdGU9ImNvbXBsZXRlIn0sMCkpLGEueWVwbm9wZT1rKCksYS55ZXBub3BlLmV4ZWN1dGVTdGFjaz1oLGEueWVwbm9wZS5pbmplY3RKcz1mdW5jdGlvbihhLGMsZCxlLGksail7dmFyIGs9Yi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxsLG8sZT1lfHxCLmVycm9yVGltZW91dDtrLnNyYz1hO2ZvcihvIGluIGQpay5zZXRBdHRyaWJ1dGUobyxkW29dKTtjPWo/aDpjfHxmLGsub25yZWFkeXN0YXRlY2hhbmdlPWsub25sb2FkPWZ1bmN0aW9uKCl7IWwmJmcoay5yZWFkeVN0YXRlKSYmKGw9MSxjKCksay5vbmxvYWQ9ay5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCl9LG0oZnVuY3Rpb24oKXtsfHwobD0xLGMoMSkpfSxlKSxpP2sub25sb2FkKCk6bi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShrLG4pfSxhLnllcG5vcGUuaW5qZWN0Q3NzPWZ1bmN0aW9uKGEsYyxkLGUsZyxpKXt2YXIgZT1iLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxqLGM9aT9oOmN8fGY7ZS5ocmVmPWEsZS5yZWw9InN0eWxlc2hlZXQiLGUudHlwZT0idGV4dC9jc3MiO2ZvcihqIGluIGQpZS5zZXRBdHRyaWJ1dGUoaixkW2pdKTtnfHwobi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLG4pLG0oYywwKSl9fSh0aGlzLGRvY3VtZW50KSxNb2Rlcm5penIubG9hZD1mdW5jdGlvbigpe3llcG5vcGUuYXBwbHkod2luZG93LFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX07"></script>
<script src="data:application/x-javascript;base64,dmFyIHE9bnVsbDt3aW5kb3cuUFJfU0hPVUxEX1VTRV9DT05USU5VQVRJT049ITA7CihmdW5jdGlvbigpe2Z1bmN0aW9uIEwoYSl7ZnVuY3Rpb24gbShhKXt2YXIgZj1hLmNoYXJDb2RlQXQoMCk7aWYoZiE9PTkyKXJldHVybiBmO3ZhciBiPWEuY2hhckF0KDEpO3JldHVybihmPXJbYl0pP2Y6IjAiPD1iJiZiPD0iNyI/cGFyc2VJbnQoYS5zdWJzdHJpbmcoMSksOCk6Yj09PSJ1Inx8Yj09PSJ4Ij9wYXJzZUludChhLnN1YnN0cmluZygyKSwxNik6YS5jaGFyQ29kZUF0KDEpfWZ1bmN0aW9uIGUoYSl7aWYoYTwzMilyZXR1cm4oYTwxNj8iXFx4MCI6IlxceCIpK2EudG9TdHJpbmcoMTYpO2E9U3RyaW5nLmZyb21DaGFyQ29kZShhKTtpZihhPT09IlxcInx8YT09PSItInx8YT09PSJbInx8YT09PSJdIilhPSJcXCIrYTtyZXR1cm4gYX1mdW5jdGlvbiBoKGEpe2Zvcih2YXIgZj1hLnN1YnN0cmluZygxLGEubGVuZ3RoLTEpLm1hdGNoKC9cXHVbXGRBLUZhLWZdezR9fFxceFtcZEEtRmEtZl17Mn18XFxbMC0zXVswLTddezAsMn18XFxbMC03XXsxLDJ9fFxcW1xTXHNdfFteXFxdL2cpLGE9CltdLGI9W10sbz1mWzBdPT09Il4iLGM9bz8xOjAsaT1mLmxlbmd0aDtjPGk7KytjKXt2YXIgaj1mW2NdO2lmKC9cXFtiZHN3XS9pLnRlc3QoaikpYS5wdXNoKGopO2Vsc2V7dmFyIGo9bShqKSxkO2MrMjxpJiYiLSI9PT1mW2MrMV0/KGQ9bShmW2MrMl0pLGMrPTIpOmQ9ajtiLnB1c2goW2osZF0pO2Q8NjV8fGo+MTIyfHwoZDw2NXx8aj45MHx8Yi5wdXNoKFtNYXRoLm1heCg2NSxqKXwzMixNYXRoLm1pbihkLDkwKXwzMl0pLGQ8OTd8fGo+MTIyfHxiLnB1c2goW01hdGgubWF4KDk3LGopJi0zMyxNYXRoLm1pbihkLDEyMikmLTMzXSkpfX1iLnNvcnQoZnVuY3Rpb24oYSxmKXtyZXR1cm4gYVswXS1mWzBdfHxmWzFdLWFbMV19KTtmPVtdO2o9W05hTixOYU5dO2ZvcihjPTA7YzxiLmxlbmd0aDsrK2MpaT1iW2NdLGlbMF08PWpbMV0rMT9qWzFdPU1hdGgubWF4KGpbMV0saVsxXSk6Zi5wdXNoKGo9aSk7Yj1bIlsiXTtvJiZiLnB1c2goIl4iKTtiLnB1c2guYXBwbHkoYixhKTtmb3IoYz0wO2M8CmYubGVuZ3RoOysrYylpPWZbY10sYi5wdXNoKGUoaVswXSkpLGlbMV0+aVswXSYmKGlbMV0rMT5pWzBdJiZiLnB1c2goIi0iKSxiLnB1c2goZShpWzFdKSkpO2IucHVzaCgiXSIpO3JldHVybiBiLmpvaW4oIiIpfWZ1bmN0aW9uIHkoYSl7Zm9yKHZhciBmPWEuc291cmNlLm1hdGNoKC9cWyg/OlteXFxcXV18XFxbXFNcc10pKl18XFx1W1xkQS1GYS1mXXs0fXxcXHhbXGRBLUZhLWZdezJ9fFxcXGQrfFxcW15cZHV4XXxcKFw/WyE6PV18WygpXl18W14oKVtcXF5dKy9nKSxiPWYubGVuZ3RoLGQ9W10sYz0wLGk9MDtjPGI7KytjKXt2YXIgaj1mW2NdO2o9PT0iKCI/KytpOiJcXCI9PT1qLmNoYXJBdCgwKSYmKGo9K2ouc3Vic3RyaW5nKDEpKSYmajw9aSYmKGRbal09LTEpfWZvcihjPTE7YzxkLmxlbmd0aDsrK2MpLTE9PT1kW2NdJiYoZFtjXT0rK3QpO2ZvcihpPWM9MDtjPGI7KytjKWo9ZltjXSxqPT09IigiPygrK2ksZFtpXT09PXZvaWQgMCYmKGZbY109Iig/OiIpKToiXFwiPT09ai5jaGFyQXQoMCkmJgooaj0rai5zdWJzdHJpbmcoMSkpJiZqPD1pJiYoZltjXT0iXFwiK2RbaV0pO2ZvcihpPWM9MDtjPGI7KytjKSJeIj09PWZbY10mJiJeIiE9PWZbYysxXSYmKGZbY109IiIpO2lmKGEuaWdub3JlQ2FzZSYmcylmb3IoYz0wO2M8YjsrK2Mpaj1mW2NdLGE9ai5jaGFyQXQoMCksai5sZW5ndGg+PTImJmE9PT0iWyI/ZltjXT1oKGopOmEhPT0iXFwiJiYoZltjXT1qLnJlcGxhY2UoL1tBLVphLXpdL2csZnVuY3Rpb24oYSl7YT1hLmNoYXJDb2RlQXQoMCk7cmV0dXJuIlsiK1N0cmluZy5mcm9tQ2hhckNvZGUoYSYtMzMsYXwzMikrIl0ifSkpO3JldHVybiBmLmpvaW4oIiIpfWZvcih2YXIgdD0wLHM9ITEsbD0hMSxwPTAsZD1hLmxlbmd0aDtwPGQ7KytwKXt2YXIgZz1hW3BdO2lmKGcuaWdub3JlQ2FzZSlsPSEwO2Vsc2UgaWYoL1thLXpdL2kudGVzdChnLnNvdXJjZS5yZXBsYWNlKC9cXHVbXGRhLWZdezR9fFxceFtcZGEtZl17Mn18XFxbXlVYdXhdL2dpLCIiKSkpe3M9ITA7bD0hMTticmVha319Zm9yKHZhciByPQp7Yjo4LHQ6OSxuOjEwLHY6MTEsZjoxMixyOjEzfSxuPVtdLHA9MCxkPWEubGVuZ3RoO3A8ZDsrK3Ape2c9YVtwXTtpZihnLmdsb2JhbHx8Zy5tdWx0aWxpbmUpdGhyb3cgRXJyb3IoIiIrZyk7bi5wdXNoKCIoPzoiK3koZykrIikiKX1yZXR1cm4gUmVnRXhwKG4uam9pbigifCIpLGw/ImdpIjoiZyIpfWZ1bmN0aW9uIE0oYSl7ZnVuY3Rpb24gbShhKXtzd2l0Y2goYS5ub2RlVHlwZSl7Y2FzZSAxOmlmKGUudGVzdChhLmNsYXNzTmFtZSkpYnJlYWs7Zm9yKHZhciBnPWEuZmlyc3RDaGlsZDtnO2c9Zy5uZXh0U2libGluZyltKGcpO2c9YS5ub2RlTmFtZTtpZigiQlIiPT09Z3x8IkxJIj09PWcpaFtzXT0iXG4iLHRbczw8MV09eSsrLHRbcysrPDwxfDFdPWE7YnJlYWs7Y2FzZSAzOmNhc2UgNDpnPWEubm9kZVZhbHVlLGcubGVuZ3RoJiYoZz1wP2cucmVwbGFjZSgvXHJcbj8vZywiXG4iKTpnLnJlcGxhY2UoL1tcdFxuXHIgXSsvZywiICIpLGhbc109Zyx0W3M8PDFdPXkseSs9Zy5sZW5ndGgsCnRbcysrPDwxfDFdPWEpfX12YXIgZT0vKD86Xnxccylub2NvZGUoPzpcc3wkKS8saD1bXSx5PTAsdD1bXSxzPTAsbDthLmN1cnJlbnRTdHlsZT9sPWEuY3VycmVudFN0eWxlLndoaXRlU3BhY2U6d2luZG93LmdldENvbXB1dGVkU3R5bGUmJihsPWRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSxxKS5nZXRQcm9wZXJ0eVZhbHVlKCJ3aGl0ZS1zcGFjZSIpKTt2YXIgcD1sJiYicHJlIj09PWwuc3Vic3RyaW5nKDAsMyk7bShhKTtyZXR1cm57YTpoLmpvaW4oIiIpLnJlcGxhY2UoL1xuJC8sIiIpLGM6dH19ZnVuY3Rpb24gQihhLG0sZSxoKXttJiYoYT17YTptLGQ6YX0sZShhKSxoLnB1c2guYXBwbHkoaCxhLmUpKX1mdW5jdGlvbiB4KGEsbSl7ZnVuY3Rpb24gZShhKXtmb3IodmFyIGw9YS5kLHA9W2wsInBsbiJdLGQ9MCxnPWEuYS5tYXRjaCh5KXx8W10scj17fSxuPTAsej1nLmxlbmd0aDtuPHo7KytuKXt2YXIgZj1nW25dLGI9cltmXSxvPXZvaWQgMCxjO2lmKHR5cGVvZiBiPT09CiJzdHJpbmciKWM9ITE7ZWxzZXt2YXIgaT1oW2YuY2hhckF0KDApXTtpZihpKW89Zi5tYXRjaChpWzFdKSxiPWlbMF07ZWxzZXtmb3IoYz0wO2M8dDsrK2MpaWYoaT1tW2NdLG89Zi5tYXRjaChpWzFdKSl7Yj1pWzBdO2JyZWFrfW98fChiPSJwbG4iKX1pZigoYz1iLmxlbmd0aD49NSYmImxhbmctIj09PWIuc3Vic3RyaW5nKDAsNSkpJiYhKG8mJnR5cGVvZiBvWzFdPT09InN0cmluZyIpKWM9ITEsYj0ic3JjIjtjfHwocltmXT1iKX1pPWQ7ZCs9Zi5sZW5ndGg7aWYoYyl7Yz1vWzFdO3ZhciBqPWYuaW5kZXhPZihjKSxrPWorYy5sZW5ndGg7b1syXSYmKGs9Zi5sZW5ndGgtb1syXS5sZW5ndGgsaj1rLWMubGVuZ3RoKTtiPWIuc3Vic3RyaW5nKDUpO0IobCtpLGYuc3Vic3RyaW5nKDAsaiksZSxwKTtCKGwraStqLGMsQyhiLGMpLHApO0IobCtpK2ssZi5zdWJzdHJpbmcoayksZSxwKX1lbHNlIHAucHVzaChsK2ksYil9YS5lPXB9dmFyIGg9e30seTsoZnVuY3Rpb24oKXtmb3IodmFyIGU9YS5jb25jYXQobSksCmw9W10scD17fSxkPTAsZz1lLmxlbmd0aDtkPGc7KytkKXt2YXIgcj1lW2RdLG49clszXTtpZihuKWZvcih2YXIgaz1uLmxlbmd0aDstLWs+PTA7KWhbbi5jaGFyQXQoayldPXI7cj1yWzFdO249IiIrcjtwLmhhc093blByb3BlcnR5KG4pfHwobC5wdXNoKHIpLHBbbl09cSl9bC5wdXNoKC9bXFNcc10vKTt5PUwobCl9KSgpO3ZhciB0PW0ubGVuZ3RoO3JldHVybiBlfWZ1bmN0aW9uIHUoYSl7dmFyIG09W10sZT1bXTthLnRyaXBsZVF1b3RlZFN0cmluZ3M/bS5wdXNoKFsic3RyIiwvXig/OicnJyg/OlteJ1xcXXxcXFtcU1xzXXwnJz8oPz1bXiddKSkqKD86JycnfCQpfCIiIig/OlteIlxcXXxcXFtcU1xzXXwiIj8oPz1bXiJdKSkqKD86IiIifCQpfCcoPzpbXidcXF18XFxbXFNcc10pKig/Oid8JCl8Iig/OlteIlxcXXxcXFtcU1xzXSkqKD86InwkKSkvLHEsIidcIiJdKTphLm11bHRpTGluZVN0cmluZ3M/bS5wdXNoKFsic3RyIiwvXig/OicoPzpbXidcXF18XFxbXFNcc10pKig/Oid8JCl8Iig/OlteIlxcXXxcXFtcU1xzXSkqKD86InwkKXxgKD86W15cXGBdfFxcW1xTXHNdKSooPzpgfCQpKS8sCnEsIidcImAiXSk6bS5wdXNoKFsic3RyIiwvXig/OicoPzpbXlxuXHInXFxdfFxcLikqKD86J3wkKXwiKD86W15cblxyIlxcXXxcXC4pKig/OiJ8JCkpLyxxLCJcIiciXSk7YS52ZXJiYXRpbVN0cmluZ3MmJmUucHVzaChbInN0ciIsL15AIig/OlteIl18IiIpKig/OiJ8JCkvLHFdKTt2YXIgaD1hLmhhc2hDb21tZW50cztoJiYoYS5jU3R5bGVDb21tZW50cz8oaD4xP20ucHVzaChbImNvbSIsL14jKD86IyMoPzpbXiNdfCMoPyEjIykpKig/OiMjI3wkKXwuKikvLHEsIiMiXSk6bS5wdXNoKFsiY29tIiwvXiMoPzooPzpkZWZpbmV8ZWxpZnxlbHNlfGVuZGlmfGVycm9yfGlmZGVmfGluY2x1ZGV8aWZuZGVmfGxpbmV8cHJhZ21hfHVuZGVmfHdhcm5pbmcpXGJ8W15cblxyXSopLyxxLCIjIl0pLGUucHVzaChbInN0ciIsL148KD86KD86KD86XC5cLlwvKSp8XC8/KSg/Oltcdy1dKyg/OlwvW1x3LV0rKSspP1tcdy1dK1wuaHxbYS16XVx3Kik+LyxxXSkpOm0ucHVzaChbImNvbSIsL14jW15cblxyXSovLApxLCIjIl0pKTthLmNTdHlsZUNvbW1lbnRzJiYoZS5wdXNoKFsiY29tIiwvXlwvXC9bXlxuXHJdKi8scV0pLGUucHVzaChbImNvbSIsL15cL1wqW1xTXHNdKj8oPzpcKlwvfCQpLyxxXSkpO2EucmVnZXhMaXRlcmFscyYmZS5wdXNoKFsibGFuZy1yZWdleCIsL14oPzpeXlwuP3xbISstXXwhPXwhPT18I3wlfCU9fCZ8JiZ8JiY9fCY9fFwofFwqfFwqPXxcKz18LHwtPXwtPnxcL3xcLz18Onw6Onw7fDx8PDx8PDw9fDw9fD18PT18PT09fD58Pj18Pj58Pj49fD4+Pnw+Pj49fFs/QFteXXxcXj18XF5cXnxcXlxePXx7fFx8fFx8PXxcfFx8fFx8XHw9fH58YnJlYWt8Y2FzZXxjb250aW51ZXxkZWxldGV8ZG98ZWxzZXxmaW5hbGx5fGluc3RhbmNlb2Z8cmV0dXJufHRocm93fHRyeXx0eXBlb2YpXHMqKFwvKD89W14qL10pKD86W14vW1xcXXxcXFtcU1xzXXxcWyg/OlteXFxcXV18XFxbXFNcc10pKig/Ol18JCkpK1wvKS9dKTsoaD1hLnR5cGVzKSYmZS5wdXNoKFsidHlwIixoXSk7YT0oIiIrYS5rZXl3b3JkcykucmVwbGFjZSgvXiB8ICQvZywKIiIpO2EubGVuZ3RoJiZlLnB1c2goWyJrd2QiLFJlZ0V4cCgiXig/OiIrYS5yZXBsYWNlKC9bXHMsXSsvZywifCIpKyIpXFxiIikscV0pO20ucHVzaChbInBsbiIsL15ccysvLHEsIiBcclxuXHRceGEwIl0pO2UucHVzaChbImxpdCIsL15AWyRfYS16XVtcdyRAXSovaSxxXSxbInR5cCIsL14oPzpbQF9dP1tBLVpdK1thLXpdW1x3JEBdKnxcdytfdFxiKS8scV0sWyJwbG4iLC9eWyRfYS16XVtcdyRAXSovaSxxXSxbImxpdCIsL14oPzoweFtcZGEtZl0rfCg/OlxkKD86X1xkKykqXGQqKD86XC5cZCopP3xcLlxkXCspKD86ZVsrLV0/XGQrKT8pW2Etel0qL2kscSwiMDEyMzQ1Njc4OSJdLFsicGxuIiwvXlxcW1xTXHNdPy8scV0sWyJwdW4iLC9eLlteXHNcdyItJCcuL0BcXGBdKi8scV0pO3JldHVybiB4KG0sZSl9ZnVuY3Rpb24gRChhLG0pe2Z1bmN0aW9uIGUoYSl7c3dpdGNoKGEubm9kZVR5cGUpe2Nhc2UgMTppZihrLnRlc3QoYS5jbGFzc05hbWUpKWJyZWFrO2lmKCJCUiI9PT1hLm5vZGVOYW1lKWgoYSksCmEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpO2Vsc2UgZm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWUoYSk7YnJlYWs7Y2FzZSAzOmNhc2UgNDppZihwKXt2YXIgYj1hLm5vZGVWYWx1ZSxkPWIubWF0Y2godCk7aWYoZCl7dmFyIGM9Yi5zdWJzdHJpbmcoMCxkLmluZGV4KTthLm5vZGVWYWx1ZT1jOyhiPWIuc3Vic3RyaW5nKGQuaW5kZXgrZFswXS5sZW5ndGgpKSYmYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLmNyZWF0ZVRleHROb2RlKGIpLGEubmV4dFNpYmxpbmcpO2goYSk7Y3x8YS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpfX19fWZ1bmN0aW9uIGgoYSl7ZnVuY3Rpb24gYihhLGQpe3ZhciBlPWQ/YS5jbG9uZU5vZGUoITEpOmEsZj1hLnBhcmVudE5vZGU7aWYoZil7dmFyIGY9YihmLDEpLGc9YS5uZXh0U2libGluZztmLmFwcGVuZENoaWxkKGUpO2Zvcih2YXIgaD1nO2g7aD1nKWc9aC5uZXh0U2libGluZyxmLmFwcGVuZENoaWxkKGgpfXJldHVybiBlfQpmb3IoOyFhLm5leHRTaWJsaW5nOylpZihhPWEucGFyZW50Tm9kZSwhYSlyZXR1cm47Zm9yKHZhciBhPWIoYS5uZXh0U2libGluZywwKSxlOyhlPWEucGFyZW50Tm9kZSkmJmUubm9kZVR5cGU9PT0xOylhPWU7ZC5wdXNoKGEpfXZhciBrPS8oPzpefFxzKW5vY29kZSg/OlxzfCQpLyx0PS9cclxuP3xcbi8scz1hLm93bmVyRG9jdW1lbnQsbDthLmN1cnJlbnRTdHlsZT9sPWEuY3VycmVudFN0eWxlLndoaXRlU3BhY2U6d2luZG93LmdldENvbXB1dGVkU3R5bGUmJihsPXMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLHEpLmdldFByb3BlcnR5VmFsdWUoIndoaXRlLXNwYWNlIikpO3ZhciBwPWwmJiJwcmUiPT09bC5zdWJzdHJpbmcoMCwzKTtmb3IobD1zLmNyZWF0ZUVsZW1lbnQoIkxJIik7YS5maXJzdENoaWxkOylsLmFwcGVuZENoaWxkKGEuZmlyc3RDaGlsZCk7Zm9yKHZhciBkPVtsXSxnPTA7ZzxkLmxlbmd0aDsrK2cpZShkW2ddKTttPT09KG18MCkmJmRbMF0uc2V0QXR0cmlidXRlKCJ2YWx1ZSIsCm0pO3ZhciByPXMuY3JlYXRlRWxlbWVudCgiT0wiKTtyLmNsYXNzTmFtZT0ibGluZW51bXMiO2Zvcih2YXIgbj1NYXRoLm1heCgwLG0tMXwwKXx8MCxnPTAsej1kLmxlbmd0aDtnPHo7KytnKWw9ZFtnXSxsLmNsYXNzTmFtZT0iTCIrKGcrbiklMTAsbC5maXJzdENoaWxkfHxsLmFwcGVuZENoaWxkKHMuY3JlYXRlVGV4dE5vZGUoIlx4YTAiKSksci5hcHBlbmRDaGlsZChsKTthLmFwcGVuZENoaWxkKHIpfWZ1bmN0aW9uIGsoYSxtKXtmb3IodmFyIGU9bS5sZW5ndGg7LS1lPj0wOyl7dmFyIGg9bVtlXTtBLmhhc093blByb3BlcnR5KGgpP3dpbmRvdy5jb25zb2xlJiZjb25zb2xlLndhcm4oImNhbm5vdCBvdmVycmlkZSBsYW5ndWFnZSBoYW5kbGVyICVzIixoKTpBW2hdPWF9fWZ1bmN0aW9uIEMoYSxtKXtpZighYXx8IUEuaGFzT3duUHJvcGVydHkoYSkpYT0vXlxzKjwvLnRlc3QobSk/ImRlZmF1bHQtbWFya3VwIjoiZGVmYXVsdC1jb2RlIjtyZXR1cm4gQVthXX1mdW5jdGlvbiBFKGEpe3ZhciBtPQphLmc7dHJ5e3ZhciBlPU0oYS5oKSxoPWUuYTthLmE9aDthLmM9ZS5jO2EuZD0wO0MobSxoKShhKTt2YXIgaz0vXGJNU0lFXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksbT0vXG4vZyx0PWEuYSxzPXQubGVuZ3RoLGU9MCxsPWEuYyxwPWwubGVuZ3RoLGg9MCxkPWEuZSxnPWQubGVuZ3RoLGE9MDtkW2ddPXM7dmFyIHIsbjtmb3Iobj1yPTA7bjxnOylkW25dIT09ZFtuKzJdPyhkW3IrK109ZFtuKytdLGRbcisrXT1kW24rK10pOm4rPTI7Zz1yO2ZvcihuPXI9MDtuPGc7KXtmb3IodmFyIHo9ZFtuXSxmPWRbbisxXSxiPW4rMjtiKzI8PWcmJmRbYisxXT09PWY7KWIrPTI7ZFtyKytdPXo7ZFtyKytdPWY7bj1ifWZvcihkLmxlbmd0aD1yO2g8cDspe3ZhciBvPWxbaCsyXXx8cyxjPWRbYSsyXXx8cyxiPU1hdGgubWluKG8sYyksaT1sW2grMV0sajtpZihpLm5vZGVUeXBlIT09MSYmKGo9dC5zdWJzdHJpbmcoZSxiKSkpe2smJihqPWoucmVwbGFjZShtLCJcciIpKTtpLm5vZGVWYWx1ZT0Kajt2YXIgdT1pLm93bmVyRG9jdW1lbnQsdj11LmNyZWF0ZUVsZW1lbnQoIlNQQU4iKTt2LmNsYXNzTmFtZT1kW2ErMV07dmFyIHg9aS5wYXJlbnROb2RlO3gucmVwbGFjZUNoaWxkKHYsaSk7di5hcHBlbmRDaGlsZChpKTtlPG8mJihsW2grMV09aT11LmNyZWF0ZVRleHROb2RlKHQuc3Vic3RyaW5nKGIsbykpLHguaW5zZXJ0QmVmb3JlKGksdi5uZXh0U2libGluZykpfWU9YjtlPj1vJiYoaCs9Mik7ZT49YyYmKGErPTIpfX1jYXRjaCh3KXsiY29uc29sZSJpbiB3aW5kb3cmJmNvbnNvbGUubG9nKHcmJncuc3RhY2s/dy5zdGFjazp3KX19dmFyIHY9WyJicmVhayxjb250aW51ZSxkbyxlbHNlLGZvcixpZixyZXR1cm4sd2hpbGUiXSx3PVtbdiwiYXV0byxjYXNlLGNoYXIsY29uc3QsZGVmYXVsdCxkb3VibGUsZW51bSxleHRlcm4sZmxvYXQsZ290byxpbnQsbG9uZyxyZWdpc3RlcixzaG9ydCxzaWduZWQsc2l6ZW9mLHN0YXRpYyxzdHJ1Y3Qsc3dpdGNoLHR5cGVkZWYsdW5pb24sdW5zaWduZWQsdm9pZCx2b2xhdGlsZSJdLAoiY2F0Y2gsY2xhc3MsZGVsZXRlLGZhbHNlLGltcG9ydCxuZXcsb3BlcmF0b3IscHJpdmF0ZSxwcm90ZWN0ZWQscHVibGljLHRoaXMsdGhyb3csdHJ1ZSx0cnksdHlwZW9mIl0sRj1bdywiYWxpZ25vZixhbGlnbl91bmlvbixhc20sYXhpb20sYm9vbCxjb25jZXB0LGNvbmNlcHRfbWFwLGNvbnN0X2Nhc3QsY29uc3RleHByLGRlY2x0eXBlLGR5bmFtaWNfY2FzdCxleHBsaWNpdCxleHBvcnQsZnJpZW5kLGlubGluZSxsYXRlX2NoZWNrLG11dGFibGUsbmFtZXNwYWNlLG51bGxwdHIscmVpbnRlcnByZXRfY2FzdCxzdGF0aWNfYXNzZXJ0LHN0YXRpY19jYXN0LHRlbXBsYXRlLHR5cGVpZCx0eXBlbmFtZSx1c2luZyx2aXJ0dWFsLHdoZXJlIl0sRz1bdywiYWJzdHJhY3QsYm9vbGVhbixieXRlLGV4dGVuZHMsZmluYWwsZmluYWxseSxpbXBsZW1lbnRzLGltcG9ydCxpbnN0YW5jZW9mLG51bGwsbmF0aXZlLHBhY2thZ2Usc3RyaWN0ZnAsc3VwZXIsc3luY2hyb25pemVkLHRocm93cyx0cmFuc2llbnQiXSwKSD1bRywiYXMsYmFzZSxieSxjaGVja2VkLGRlY2ltYWwsZGVsZWdhdGUsZGVzY2VuZGluZyxkeW5hbWljLGV2ZW50LGZpeGVkLGZvcmVhY2gsZnJvbSxncm91cCxpbXBsaWNpdCxpbixpbnRlcmZhY2UsaW50ZXJuYWwsaW50byxpcyxsb2NrLG9iamVjdCxvdXQsb3ZlcnJpZGUsb3JkZXJieSxwYXJhbXMscGFydGlhbCxyZWFkb25seSxyZWYsc2J5dGUsc2VhbGVkLHN0YWNrYWxsb2Msc3RyaW5nLHNlbGVjdCx1aW50LHVsb25nLHVuY2hlY2tlZCx1bnNhZmUsdXNob3J0LHZhciJdLHc9W3csImRlYnVnZ2VyLGV2YWwsZXhwb3J0LGZ1bmN0aW9uLGdldCxudWxsLHNldCx1bmRlZmluZWQsdmFyLHdpdGgsSW5maW5pdHksTmFOIl0sST1bdiwiYW5kLGFzLGFzc2VydCxjbGFzcyxkZWYsZGVsLGVsaWYsZXhjZXB0LGV4ZWMsZmluYWxseSxmcm9tLGdsb2JhbCxpbXBvcnQsaW4saXMsbGFtYmRhLG5vbmxvY2FsLG5vdCxvcixwYXNzLHByaW50LHJhaXNlLHRyeSx3aXRoLHlpZWxkLEZhbHNlLFRydWUsTm9uZSJdLApKPVt2LCJhbGlhcyxhbmQsYmVnaW4sY2FzZSxjbGFzcyxkZWYsZGVmaW5lZCxlbHNpZixlbmQsZW5zdXJlLGZhbHNlLGluLG1vZHVsZSxuZXh0LG5pbCxub3Qsb3IscmVkbyxyZXNjdWUscmV0cnksc2VsZixzdXBlcix0aGVuLHRydWUsdW5kZWYsdW5sZXNzLHVudGlsLHdoZW4seWllbGQsQkVHSU4sRU5EIl0sdj1bdiwiY2FzZSxkb25lLGVsaWYsZXNhYyxldmFsLGZpLGZ1bmN0aW9uLGluLGxvY2FsLHNldCx0aGVuLHVudGlsIl0sSz0vXihESVJ8RklMRXx2ZWN0b3J8KGRlfHByaW9yaXR5Xyk/cXVldWV8bGlzdHxzdGFja3woY29uc3RfKT9pdGVyYXRvcnwobXVsdGkpPyhzZXR8bWFwKXxiaXRzZXR8dT8oaW50fGZsb2F0KVxkKikvLE49L1xTLyxPPXUoe2tleXdvcmRzOltGLEgsdywiY2FsbGVyLGRlbGV0ZSxkaWUsZG8sZHVtcCxlbHNpZixldmFsLGV4aXQsZm9yZWFjaCxmb3IsZ290byxpZixpbXBvcnQsbGFzdCxsb2NhbCxteSxuZXh0LG5vLG91cixwcmludCxwYWNrYWdlLHJlZG8scmVxdWlyZSxzdWIsdW5kZWYsdW5sZXNzLHVudGlsLHVzZSx3YW50YXJyYXksd2hpbGUsQkVHSU4sRU5EIisKSSxKLHZdLGhhc2hDb21tZW50czohMCxjU3R5bGVDb21tZW50czohMCxtdWx0aUxpbmVTdHJpbmdzOiEwLHJlZ2V4TGl0ZXJhbHM6ITB9KSxBPXt9O2soTyxbImRlZmF1bHQtY29kZSJdKTtrKHgoW10sW1sicGxuIiwvXltePD9dKy9dLFsiZGVjIiwvXjwhXHdbXj5dKig/Oj58JCkvXSxbImNvbSIsL148XCEtLVtcU1xzXSo/KD86LS1cPnwkKS9dLFsibGFuZy0iLC9ePFw/KFtcU1xzXSs/KSg/Olw/PnwkKS9dLFsibGFuZy0iLC9ePCUoW1xTXHNdKz8pKD86JT58JCkvXSxbInB1biIsL14oPzo8WyU/XXxbJT9dPikvXSxbImxhbmctIiwvXjx4bXBcYltePl0qPihbXFNcc10rPyk8XC94bXBcYltePl0qPi9pXSxbImxhbmctanMiLC9ePHNjcmlwdFxiW14+XSo+KFtcU1xzXSo/KSg8XC9zY3JpcHRcYltePl0qPikvaV0sWyJsYW5nLWNzcyIsL148c3R5bGVcYltePl0qPihbXFNcc10qPykoPFwvc3R5bGVcYltePl0qPikvaV0sWyJsYW5nLWluLnRhZyIsL14oPFwvP1thLXpdW148Pl0qPikvaV1dKSwKWyJkZWZhdWx0LW1hcmt1cCIsImh0bSIsImh0bWwiLCJteG1sIiwieGh0bWwiLCJ4bWwiLCJ4c2wiXSk7ayh4KFtbInBsbiIsL15ccysvLHEsIiBcdFxyXG4iXSxbImF0diIsL14oPzoiW14iXSoiP3wnW14nXSonPykvLHEsIlwiJyJdXSxbWyJ0YWciLC9eXjxcLz9bYS16XSg/Oltcdy0uOl0qXHcpP3xcLz8+JC9pXSxbImF0biIsL14oPyFzdHlsZVtccz1dfG9uKVthLXpdKD86W1x3Oi1dKlx3KT8vaV0sWyJsYW5nLXVxLnZhbCIsL149XHMqKFteXHMiJz5dKig/OlteXHMiJy8+XXxcLyg/PVxzKSkpL10sWyJwdW4iLC9eWy88LT5dKy9dLFsibGFuZy1qcyIsL15vblx3K1xzKj1ccyoiKFteIl0rKSIvaV0sWyJsYW5nLWpzIiwvXm9uXHcrXHMqPVxzKicoW14nXSspJy9pXSxbImxhbmctanMiLC9eb25cdytccyo9XHMqKFteXHMiJz5dKykvaV0sWyJsYW5nLWNzcyIsL15zdHlsZVxzKj1ccyoiKFteIl0rKSIvaV0sWyJsYW5nLWNzcyIsL15zdHlsZVxzKj1ccyonKFteJ10rKScvaV0sWyJsYW5nLWNzcyIsCi9ec3R5bGVccyo9XHMqKFteXHMiJz5dKykvaV1dKSxbImluLnRhZyJdKTtrKHgoW10sW1siYXR2IiwvXltcU1xzXSsvXV0pLFsidXEudmFsIl0pO2sodSh7a2V5d29yZHM6RixoYXNoQ29tbWVudHM6ITAsY1N0eWxlQ29tbWVudHM6ITAsdHlwZXM6S30pLFsiYyIsImNjIiwiY3BwIiwiY3h4IiwiY3ljIiwibSJdKTtrKHUoe2tleXdvcmRzOiJudWxsLHRydWUsZmFsc2UifSksWyJqc29uIl0pO2sodSh7a2V5d29yZHM6SCxoYXNoQ29tbWVudHM6ITAsY1N0eWxlQ29tbWVudHM6ITAsdmVyYmF0aW1TdHJpbmdzOiEwLHR5cGVzOkt9KSxbImNzIl0pO2sodSh7a2V5d29yZHM6RyxjU3R5bGVDb21tZW50czohMH0pLFsiamF2YSJdKTtrKHUoe2tleXdvcmRzOnYsaGFzaENvbW1lbnRzOiEwLG11bHRpTGluZVN0cmluZ3M6ITB9KSxbImJzaCIsImNzaCIsInNoIl0pO2sodSh7a2V5d29yZHM6SSxoYXNoQ29tbWVudHM6ITAsbXVsdGlMaW5lU3RyaW5nczohMCx0cmlwbGVRdW90ZWRTdHJpbmdzOiEwfSksClsiY3YiLCJweSJdKTtrKHUoe2tleXdvcmRzOiJjYWxsZXIsZGVsZXRlLGRpZSxkbyxkdW1wLGVsc2lmLGV2YWwsZXhpdCxmb3JlYWNoLGZvcixnb3RvLGlmLGltcG9ydCxsYXN0LGxvY2FsLG15LG5leHQsbm8sb3VyLHByaW50LHBhY2thZ2UscmVkbyxyZXF1aXJlLHN1Yix1bmRlZix1bmxlc3MsdW50aWwsdXNlLHdhbnRhcnJheSx3aGlsZSxCRUdJTixFTkQiLGhhc2hDb21tZW50czohMCxtdWx0aUxpbmVTdHJpbmdzOiEwLHJlZ2V4TGl0ZXJhbHM6ITB9KSxbInBlcmwiLCJwbCIsInBtIl0pO2sodSh7a2V5d29yZHM6SixoYXNoQ29tbWVudHM6ITAsbXVsdGlMaW5lU3RyaW5nczohMCxyZWdleExpdGVyYWxzOiEwfSksWyJyYiJdKTtrKHUoe2tleXdvcmRzOncsY1N0eWxlQ29tbWVudHM6ITAscmVnZXhMaXRlcmFsczohMH0pLFsianMiXSk7ayh1KHtrZXl3b3JkczoiYWxsLGFuZCxieSxjYXRjaCxjbGFzcyxlbHNlLGV4dGVuZHMsZmFsc2UsZmluYWxseSxmb3IsaWYsaW4saXMsaXNudCxsb29wLG5ldyxubyxub3QsbnVsbCxvZixvZmYsb24sb3IscmV0dXJuLHN1cGVyLHRoZW4sdHJ1ZSx0cnksdW5sZXNzLHVudGlsLHdoZW4sd2hpbGUseWVzIiwKaGFzaENvbW1lbnRzOjMsY1N0eWxlQ29tbWVudHM6ITAsbXVsdGlsaW5lU3RyaW5nczohMCx0cmlwbGVRdW90ZWRTdHJpbmdzOiEwLHJlZ2V4TGl0ZXJhbHM6ITB9KSxbImNvZmZlZSJdKTtrKHgoW10sW1sic3RyIiwvXltcU1xzXSsvXV0pLFsicmVnZXgiXSk7d2luZG93LnByZXR0eVByaW50T25lPWZ1bmN0aW9uKGEsbSxlKXt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJQUkUiKTtoLmlubmVySFRNTD1hO2UmJkQoaCxlKTtFKHtnOm0saTplLGg6aH0pO3JldHVybiBoLmlubmVySFRNTH07d2luZG93LnByZXR0eVByaW50PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIG0oKXtmb3IodmFyIGU9d2luZG93LlBSX1NIT1VMRF9VU0VfQ09OVElOVUFUSU9OP2wubm93KCkrMjUwOkluZmluaXR5O3A8aC5sZW5ndGgmJmwubm93KCk8ZTtwKyspe3ZhciBuPWhbcF0saz1uLmNsYXNzTmFtZTtpZihrLmluZGV4T2YoInByZXR0eXByaW50Iik+PTApe3ZhciBrPWsubWF0Y2goZyksZixiO2lmKGI9CiFrKXtiPW47Zm9yKHZhciBvPXZvaWQgMCxjPWIuZmlyc3RDaGlsZDtjO2M9Yy5uZXh0U2libGluZyl2YXIgaT1jLm5vZGVUeXBlLG89aT09PTE/bz9iOmM6aT09PTM/Ti50ZXN0KGMubm9kZVZhbHVlKT9iOm86bztiPShmPW89PT1iP3ZvaWQgMDpvKSYmIkNPREUiPT09Zi50YWdOYW1lfWImJihrPWYuY2xhc3NOYW1lLm1hdGNoKGcpKTtrJiYoaz1rWzFdKTtiPSExO2ZvcihvPW4ucGFyZW50Tm9kZTtvO289by5wYXJlbnROb2RlKWlmKChvLnRhZ05hbWU9PT0icHJlInx8by50YWdOYW1lPT09ImNvZGUifHxvLnRhZ05hbWU9PT0ieG1wIikmJm8uY2xhc3NOYW1lJiZvLmNsYXNzTmFtZS5pbmRleE9mKCJwcmV0dHlwcmludCIpPj0wKXtiPSEwO2JyZWFrfWJ8fCgoYj0oYj1uLmNsYXNzTmFtZS5tYXRjaCgvXGJsaW5lbnVtc1xiKD86OihcZCspKT8vKSk/YlsxXSYmYlsxXS5sZW5ndGg/K2JbMV06ITA6ITEpJiZEKG4sYiksZD17ZzprLGg6bixpOmJ9LEUoZCkpfX1wPGgubGVuZ3RoP3NldFRpbWVvdXQobSwKMjUwKTphJiZhKCl9Zm9yKHZhciBlPVtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicHJlIiksZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImNvZGUiKSxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgieG1wIildLGg9W10saz0wO2s8ZS5sZW5ndGg7KytrKWZvcih2YXIgdD0wLHM9ZVtrXS5sZW5ndGg7dDxzOysrdCloLnB1c2goZVtrXVt0XSk7dmFyIGU9cSxsPURhdGU7bC5ub3d8fChsPXtub3c6ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9fSk7dmFyIHA9MCxkLGc9L1xibGFuZyg/OnVhZ2UpPy0oW1x3Ll0rKSg/IVxTKS87bSgpfTt3aW5kb3cuUFI9e2NyZWF0ZVNpbXBsZUxleGVyOngscmVnaXN0ZXJMYW5nSGFuZGxlcjprLHNvdXJjZURlY29yYXRvcjp1LFBSX0FUVFJJQl9OQU1FOiJhdG4iLFBSX0FUVFJJQl9WQUxVRToiYXR2IixQUl9DT01NRU5UOiJjb20iLFBSX0RFQ0xBUkFUSU9OOiJkZWMiLFBSX0tFWVdPUkQ6Imt3ZCIsUFJfTElURVJBTDoibGl0IiwKUFJfTk9DT0RFOiJub2NvZGUiLFBSX1BMQUlOOiJwbG4iLFBSX1BVTkNUVUFUSU9OOiJwdW4iLFBSX1NPVVJDRToic3JjIixQUl9TVFJJTkc6InN0ciIsUFJfVEFHOiJ0YWciLFBSX1RZUEU6InR5cCJ9fSkoKTsK"></script>
<script src="data:application/x-javascript;base64,Ly8gQ29weXJpZ2h0IChDKSAyMDEyIEplZmZyZXkgQi4gQXJub2xkCi8vCi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwovLyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAovLwovLyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAovLwovLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgovLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCi8qKgogKiBAZmlsZW92ZXJ2aWV3CiAqIFJlZ2lzdGVycyBhIGxhbmd1YWdlIGhhbmRsZXIgZm9yIFMsIFMtcGx1cywgYW5kIFIgc291cmNlIGNvZGUuCiAqCiAqCiAqIFRvIHVzZSwgaW5jbHVkZSBwcmV0dGlmeS5qcyBhbmQgdGhpcyBmaWxlIGluIHlvdXIgSFRNTCBwYWdlLgogKiBUaGVuIHB1dCB5b3VyIGNvZGUgaW4gYW4gSFRNTCB0YWcgbGlrZQogKiAgICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctciI+IGNvZGUgPC9wcmU+CiAqCiAqIExhbmd1YWdlIGRlZmluaXRpb24gZnJvbQogKiBodHRwOi8vY3Jhbi5yLXByb2plY3Qub3JnL2RvYy9tYW51YWxzL1ItbGFuZy5odG1sLgogKiBNYW55IG9mIHRoZSByZWdleGVzIGFyZSBzaGFyZWQgIHdpdGggdGhlIHB5Z21lbnRzIFNMZXhlciwKICogaHR0cDovL3B5Z21lbnRzLm9yZy8uCiAqCiAqIE9yaWdpbmFsOiBodHRwczovL3Jhdy5naXRodWIuY29tL2pybm9sZC9wcmV0dGlmeS1sYW5nLXItYnVncy9tYXN0ZXIvbGFuZy1yLmpzCiAqCiAqIEBhdXRob3IgamVmZnJleS5hcm5vbGRAZ21haWwuY29tCiAqLwpQUlsncmVnaXN0ZXJMYW5nSGFuZGxlciddKAogICAgUFJbJ2NyZWF0ZVNpbXBsZUxleGVyJ10oCiAgICAgICAgWwogICAgICAgICAgICBbUFJbJ1BSX1BMQUlOJ10sICAgICAgIC9eW1x0XG5cciBceEEwXSsvLCBudWxsLCAnXHRcblxyIFx4QTAnXSwKCSAgICBbUFJbJ1BSX1NUUklORyddLCAgICAgIC9eXCIoPzpbXlwiXFxdfFxcW1xzXFNdKSooPzpcInwkKS8sIG51bGwsICciJ10sCgkgICAgW1BSWydQUl9TVFJJTkcnXSwgICAgICAvXlwnKD86W15cJ1xcXXxcXFtcc1xTXSkqKD86XCd8JCkvLCBudWxsLCAiJyJdCiAgICAgICAgXSwKICAgICAgICBbCiAgICAgICAgICAgIFtQUlsnUFJfQ09NTUVOVCddLCAgICAgL14jLiovXSwKCSAgICBbUFJbJ1BSX0tFWVdPUkQnXSwgICAgIC9eKD86aWZ8ZWxzZXxmb3J8d2hpbGV8cmVwZWF0fGlufG5leHR8YnJlYWt8cmV0dXJufHN3aXRjaHxmdW5jdGlvbikoPyFbQS1aYS16MC05Xy5dKS9dLAoJICAgIC8vIGhleCBudW1iZXMKCSAgICBbUFJbJ1BSX0xJVEVSQUwnXSwgL14wW3hYXVthLWZBLUYwLTldKyhbcFBdWzAtOV0rKT9bTGldPy9dLAoJICAgIC8vIERlY2ltYWwgbnVtYmVycwogICAgICAgICAgICBbUFJbJ1BSX0xJVEVSQUwnXSwgL15bKy1dPyhbMC05XSsoXC5bMC05XSspP3xcLlswLTldKykoW2VFXVsrLV0/WzAtOV0rKT9bTGldPy9dLAoJICAgIC8vIGJ1aWx0aW4gc3ltYm9scwoJICAgIFtQUlsnUFJfTElURVJBTCddLCAvXig/Ok5VTEx8TkEoPzpfKD86aW50ZWdlcnxyZWFsfGNvbXBsZXh8Y2hhcmFjdGVyKV8pP3xJbmZ8VFJVRXxGQUxTRXxOYU58XC5cLig/OlwufFswLTldKykpKD8hW0EtWmEtejAtOV8uXSkvXSwKCSAgICAvLyBhc3NpZ25tZW50LCBvcGVyYXRvcnMsIGFuZCBwYXJlbnMsIGV0Yy4KCSAgICBbUFJbJ1BSX1BVTkNUVUFUSU9OJ10sIC9eKD86PDw/LXwtPj4/fC18PT18PD18Pj18PHw+fCYmP3whPXxcfFx8P3xcKnxcK3xcXnxcL3whfCUuKj8lfD18fnxcJHxAfDp7MSwzfXxbXFtcXSgpe307LD9dKS9dLAoJICAgIC8vIHZhbGlkIHZhcmlhYmxlIG5hbWVzCgkgICAgW1BSWydQUl9QTEFJTiddLCAvXig/OltBLVphLXpdK1tBLVphLXowLTlfLl0qfFwuW2EtekEtWl9dWzAtOWEtekEtWlwuX10qKSg/IVtBLVphLXowLTlfLl0pL10sCgkgICAgLy8gc3RyaW5nIGJhY2t0aWNrCgkgICAgW1BSWydQUl9TVFJJTkcnXSwgL15gLitgL10KICAgICAgICBdKSwKICAgIFsncicsICdzJywgJ1InLCAnUycsICdTcGx1cyddKTsK"></script>
<script src="data:application/x-javascript;base64,dmFyIGE9bnVsbDsKUFIucmVnaXN0ZXJMYW5nSGFuZGxlcihQUi5jcmVhdGVTaW1wbGVMZXhlcihbWyJwdW4iLC9eWzo+P3xdKy8sYSwiOnw+PyJdLFsiZGVjIiwvXiUoPzpZQU1MfFRBRylbXlxuXHIjXSsvLGEsIiUiXSxbInR5cCIsL14mXFMrLyxhLCImIl0sWyJ0eXAiLC9eIVxTKi8sYSwiISJdLFsic3RyIiwvXiIoPzpbXiJcXF18XFwuKSooPzoifCQpLyxhLCciJ10sWyJzdHIiLC9eJyg/OlteJ118JycpKig/Oid8JCkvLGEsIiciXSxbImNvbSIsL14jW15cblxyXSovLGEsIiMiXSxbInBsbiIsL15ccysvLGEsIiBcdFxyXG4iXV0sW1siZGVjIiwvXig/Oi0tLXxcLlwuXC4pKD86W1xuXHJdfCQpL10sWyJwdW4iLC9eLS9dLFsia3dkIiwvXlx3KzpbXG5cciBdL10sWyJwbG4iLC9eXHcrL11dKSxbInlhbWwiLCJ5bWwiXSk7Cg=="></script>
<script src="data:application/x-javascript;base64,LyoKICogSGFtbWVyLkpTCiAqIHZlcnNpb24gMC40CiAqIGF1dGhvcjogRWlnaHQgTWVkaWEKICogaHR0cHM6Ly9naXRodWIuY29tL0VpZ2h0TWVkaWEvaGFtbWVyLmpzCiAqLwpmdW5jdGlvbiBIYW1tZXIoZWxlbWVudCwgb3B0aW9ucywgdW5kZWZpbmVkKQp7CiAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgdmFyIGRlZmF1bHRzID0gewogICAgICAgIC8vIHByZXZlbnQgdGhlIGRlZmF1bHQgZXZlbnQgb3Igbm90Li4uIG1pZ2h0IGJlIGJ1Z2d5IHdoZW4gZmFsc2UKICAgICAgICBwcmV2ZW50X2RlZmF1bHQgICAgOiBmYWxzZSwKICAgICAgICBjc3NfaGFja3MgICAgICAgICAgOiB0cnVlLAoKICAgICAgICBkcmFnICAgICAgICAgICAgICAgOiB0cnVlLAogICAgICAgIGRyYWdfdmVydGljYWwgICAgICA6IHRydWUsCiAgICAgICAgZHJhZ19ob3Jpem9udGFsICAgIDogdHJ1ZSwKICAgICAgICAvLyBtaW5pbXVtIGRpc3RhbmNlIGJlZm9yZSB0aGUgZHJhZyBldmVudCBzdGFydHMKICAgICAgICBkcmFnX21pbl9kaXN0YW5jZSAgOiAyMCwgLy8gcGl4ZWxzCgogICAgICAgIC8vIHBpbmNoIHpvb20gYW5kIHJvdGF0aW9uCiAgICAgICAgdHJhbnNmb3JtICAgICAgICAgIDogdHJ1ZSwKICAgICAgICBzY2FsZV90cmVzaG9sZCAgICAgOiAwLjEsCiAgICAgICAgcm90YXRpb25fdHJlc2hvbGQgIDogMTUsIC8vIGRlZ3JlZXMKCiAgICAgICAgdGFwICAgICAgICAgICAgICAgIDogdHJ1ZSwKICAgICAgICB0YXBfZG91YmxlICAgICAgICAgOiB0cnVlLAogICAgICAgIHRhcF9tYXhfaW50ZXJ2YWwgICA6IDMwMCwKICAgICAgICB0YXBfZG91YmxlX2Rpc3RhbmNlOiAyMCwKCiAgICAgICAgaG9sZCAgICAgICAgICAgICAgIDogdHJ1ZSwKICAgICAgICBob2xkX3RpbWVvdXQgICAgICAgOiA1MDAKICAgIH07CiAgICBvcHRpb25zID0gbWVyZ2VPYmplY3QoZGVmYXVsdHMsIG9wdGlvbnMpOwoKICAgIC8vIHNvbWUgY3NzIGhhY2tzCiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoIW9wdGlvbnMuY3NzX2hhY2tzKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciB2ZW5kb3JzID0gWyd3ZWJraXQnLCdtb3onLCdtcycsJ28nLCcnXTsKICAgICAgICB2YXIgY3NzX3Byb3BzID0gewogICAgICAgICAgICAidXNlclNlbGVjdCI6ICJub25lIiwKICAgICAgICAgICAgInRvdWNoQ2FsbG91dCI6ICJub25lIiwKICAgICAgICAgICAgInVzZXJEcmFnIjogIm5vbmUiLAogICAgICAgICAgICAidGFwSGlnaGxpZ2h0Q29sb3IiOiAicmdiYSgwLDAsMCwwKSIKICAgICAgICB9OwoKICAgICAgICB2YXIgcHJvcCA9ICcnOwogICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCB2ZW5kb3JzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGZvcih2YXIgcCBpbiBjc3NfcHJvcHMpIHsKICAgICAgICAgICAgICAgIHByb3AgPSBwOwogICAgICAgICAgICAgICAgaWYodmVuZG9yc1tpXSkgewogICAgICAgICAgICAgICAgICAgIHByb3AgPSB2ZW5kb3JzW2ldICsgcHJvcC5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKSArIHByb3Auc3Vic3RyaW5nKDEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZVsgcHJvcCBdID0gY3NzX3Byb3BzW3BdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSkoKTsKCiAgICAvLyBob2xkcyB0aGUgZGlzdGFuY2UgdGhhdCBoYXMgYmVlbiBtb3ZlZAogICAgdmFyIF9kaXN0YW5jZSA9IDA7CgogICAgLy8gaG9sZHMgdGhlIGV4YWN0IGFuZ2xlIHRoYXQgaGFzIGJlZW4gbW92ZWQKICAgIHZhciBfYW5nbGUgPSAwOwoKICAgIC8vIGhvbGRzIHRoZSBkaXJhY3Rpb24gdGhhdCBoYXMgYmVlbiBtb3ZlZAogICAgdmFyIF9kaXJlY3Rpb24gPSAwOwoKICAgIC8vIGhvbGRzIHBvc2l0aW9uIG1vdmVtZW50IGZvciBzbGlkaW5nCiAgICB2YXIgX3BvcyA9IHsgfTsKCiAgICAvLyBob3cgbWFueSBmaW5nZXJzIGFyZSBvbiB0aGUgc2NyZWVuCiAgICB2YXIgX2ZpbmdlcnMgPSAwOwoKICAgIHZhciBfZmlyc3QgPSBmYWxzZTsKCiAgICB2YXIgX2dlc3R1cmUgPSBudWxsOwogICAgdmFyIF9wcmV2X2dlc3R1cmUgPSBudWxsOwoKICAgIHZhciBfdG91Y2hfc3RhcnRfdGltZSA9IG51bGw7CiAgICB2YXIgX3ByZXZfdGFwX3BvcyA9IHt4OiAwLCB5OiAwfTsKICAgIHZhciBfcHJldl90YXBfZW5kX3RpbWUgPSBudWxsOwoKICAgIHZhciBfaG9sZF90aW1lciA9IG51bGw7CgogICAgdmFyIF9vZmZzZXQgPSB7fTsKCiAgICAvLyBrZWVwIHRyYWNrIG9mIHRoZSBtb3VzZSBzdGF0dXMKICAgIHZhciBfbW91c2Vkb3duID0gZmFsc2U7CgogICAgdmFyIF9ldmVudF9zdGFydDsKICAgIHZhciBfZXZlbnRfbW92ZTsKICAgIHZhciBfZXZlbnRfZW5kOwoKCiAgICAvKioKICAgICAqIGFuZ2xlIHRvIGRpcmVjdGlvbiBkZWZpbmUKICAgICAqIEBwYXJhbSAgZmxvYXQgICAgYW5nbGUKICAgICAqIEByZXR1cm4gc3RyaW5nICAgZGlyZWN0aW9uCiAgICAgKi8KICAgIHRoaXMuZ2V0RGlyZWN0aW9uRnJvbUFuZ2xlID0gZnVuY3Rpb24oIGFuZ2xlICkKICAgIHsKICAgICAgICB2YXIgZGlyZWN0aW9ucyA9IHsKICAgICAgICAgICAgZG93bjogYW5nbGUgPj0gNDUgJiYgYW5nbGUgPCAxMzUsIC8vOTAKICAgICAgICAgICAgbGVmdDogYW5nbGUgPj0gMTM1IHx8IGFuZ2xlIDw9IC0xMzUsIC8vMTgwCiAgICAgICAgICAgIHVwOiBhbmdsZSA8IC00NSAmJiBhbmdsZSA+IC0xMzUsIC8vMjcwCiAgICAgICAgICAgIHJpZ2h0OiBhbmdsZSA+PSAtNDUgJiYgYW5nbGUgPD0gNDUgLy8wCiAgICAgICAgfTsKCiAgICAgICAgdmFyIGRpcmVjdGlvbiwga2V5OwogICAgICAgIGZvcihrZXkgaW4gZGlyZWN0aW9ucyl7CiAgICAgICAgICAgIGlmKGRpcmVjdGlvbnNba2V5XSl7CiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBrZXk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gZGlyZWN0aW9uOwogICAgfTsKCgogICAgLyoqCiAgICAgKiBjb3VudCB0aGUgbnVtYmVyIG9mIGZpbmdlcnMgaW4gdGhlIGV2ZW50CiAgICAgKiB3aGVuIG5vIGZpbmdlcnMgYXJlIGRldGVjdGVkLCBvbmUgZmluZ2VyIGlzIHJldHVybmVkIChtb3VzZSBwb2ludGVyKQogICAgICogQHBhcmFtICBldmVudAogICAgICogQHJldHVybiBpbnQgIGZpbmdlcnMKICAgICAqLwogICAgZnVuY3Rpb24gY291bnRGaW5nZXJzKCBldmVudCApCiAgICB7CiAgICAgICAgLy8gdGhlcmUgaXMgYSBidWcgb24gYW5kcm9pZCAodW50aWwgdjQ/KSB0aGF0IHRvdWNoZXMgaXMgYWx3YXlzIDEsCiAgICAgICAgLy8gc28gbm8gbXVsdGl0b3VjaCBpcyBzdXBwb3J0ZWQsIGUuZy4gbm8sIHpvb20gYW5kIHJvdGF0aW9uLi4uCiAgICAgICAgcmV0dXJuIGV2ZW50LnRvdWNoZXMgPyBldmVudC50b3VjaGVzLmxlbmd0aCA6IDE7CiAgICB9CgoKICAgIC8qKgogICAgICogZ2V0IHRoZSB4IGFuZCB5IHBvc2l0aW9ucyBmcm9tIHRoZSBldmVudCBvYmplY3QKICAgICAqIEBwYXJhbSAgZXZlbnQKICAgICAqIEByZXR1cm4gYXJyYXkgIFt7IHg6IGludCwgeTogaW50IH1dCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFhZZnJvbUV2ZW50KCBldmVudCApCiAgICB7CiAgICAgICAgZXZlbnQgPSBldmVudCB8fCB3aW5kb3cuZXZlbnQ7CgogICAgICAgIC8vIG5vIHRvdWNoZXMsIHVzZSB0aGUgZXZlbnQgcGFnZVggYW5kIHBhZ2VZCiAgICAgICAgaWYoIWV2ZW50LnRvdWNoZXMpIHsKICAgICAgICAgICAgdmFyIGRvYyA9IGRvY3VtZW50LAogICAgICAgICAgICAgICAgYm9keSA9IGRvYy5ib2R5OwoKICAgICAgICAgICAgcmV0dXJuIFt7CiAgICAgICAgICAgICAgICB4OiBldmVudC5wYWdlWCB8fCBldmVudC5jbGllbnRYICsgKCBkb2MgJiYgZG9jLnNjcm9sbExlZnQgfHwgYm9keSAmJiBib2R5LnNjcm9sbExlZnQgfHwgMCApIC0gKCBkb2MgJiYgZG9jLmNsaWVudExlZnQgfHwgYm9keSAmJiBkb2MuY2xpZW50TGVmdCB8fCAwICksCiAgICAgICAgICAgICAgICB5OiBldmVudC5wYWdlWSB8fCBldmVudC5jbGllbnRZICsgKCBkb2MgJiYgZG9jLnNjcm9sbFRvcCB8fCBib2R5ICYmIGJvZHkuc2Nyb2xsVG9wIHx8IDAgKSAtICggZG9jICYmIGRvYy5jbGllbnRUb3AgfHwgYm9keSAmJiBkb2MuY2xpZW50VG9wIHx8IDAgKQogICAgICAgICAgICB9XTsKICAgICAgICB9CiAgICAgICAgLy8gbXVsdGl0b3VjaCwgcmV0dXJuIGFycmF5IHdpdGggcG9zaXRpb25zCiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHZhciBwb3MgPSBbXSwgc3JjOwogICAgICAgICAgICBmb3IodmFyIHQ9MCwgbGVuPWV2ZW50LnRvdWNoZXMubGVuZ3RoOyB0PGxlbjsgdCsrKSB7CiAgICAgICAgICAgICAgICBzcmMgPSBldmVudC50b3VjaGVzW3RdOwogICAgICAgICAgICAgICAgcG9zLnB1c2goeyB4OiBzcmMucGFnZVgsIHk6IHNyYy5wYWdlWSB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcG9zOwogICAgICAgIH0KICAgIH0KCgogICAgLyoqCiAgICAgKiBjYWxjdWxhdGUgdGhlIGFuZ2xlIGJldHdlZW4gdHdvIHBvaW50cwogICAgICogQHBhcmFtIG9iamVjdCBwb3MxIHsgeDogaW50LCB5OiBpbnQgfQogICAgICogQHBhcmFtIG9iamVjdCBwb3MyIHsgeDogaW50LCB5OiBpbnQgfQogICAgICovCiAgICBmdW5jdGlvbiBnZXRBbmdsZSggcG9zMSwgcG9zMiApCiAgICB7CiAgICAgICAgcmV0dXJuIE1hdGguYXRhbjIocG9zMi55IC0gcG9zMS55LCBwb3MyLnggLSBwb3MxLngpICogMTgwIC8gTWF0aC5QSTsKICAgIH0KCiAgICAvKioKICAgICAqIHRyaWdnZXIgYW4gZXZlbnQvY2FsbGJhY2sgYnkgbmFtZSB3aXRoIHBhcmFtcwogICAgICogQHBhcmFtIHN0cmluZyBuYW1lCiAgICAgKiBAcGFyYW0gYXJyYXkgIHBhcmFtcwogICAgICovCiAgICBmdW5jdGlvbiB0cmlnZ2VyRXZlbnQoIGV2ZW50TmFtZSwgcGFyYW1zICkKICAgIHsKICAgICAgICAvLyByZXR1cm4gdG91Y2hlcyBvYmplY3QKICAgICAgICBwYXJhbXMudG91Y2hlcyA9IGdldFhZZnJvbUV2ZW50KHBhcmFtcy5vcmlnaW5hbEV2ZW50KTsKICAgICAgICBwYXJhbXMudHlwZSA9IGV2ZW50TmFtZTsKCiAgICAgICAgLy8gdHJpZ2dlciBjYWxsYmFjawogICAgICAgIGlmKGlzRnVuY3Rpb24oc2VsZlsib24iKyBldmVudE5hbWVdKSkgewogICAgICAgICAgICBzZWxmWyJvbiIrIGV2ZW50TmFtZV0uY2FsbChzZWxmLCBwYXJhbXMpOwogICAgICAgIH0KICAgIH0KCgogICAgLyoqCiAgICAgKiBjYW5jZWwgZXZlbnQKICAgICAqIEBwYXJhbSAgIG9iamVjdCAgZXZlbnQKICAgICAqIEByZXR1cm4gIHZvaWQKICAgICAqLwoKICAgIGZ1bmN0aW9uIGNhbmNlbEV2ZW50KGV2ZW50KXsKICAgICAgICBldmVudCA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDsKICAgICAgICBpZihldmVudC5wcmV2ZW50RGVmYXVsdCl7CiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGV2ZW50LnJldHVyblZhbHVlID0gZmFsc2U7CiAgICAgICAgICAgIGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7CiAgICAgICAgfQogICAgfQoKCiAgICAvKioKICAgICAqIHJlc2V0IHRoZSBpbnRlcm5hbCB2YXJzIHRvIHRoZSBzdGFydCB2YWx1ZXMKICAgICAqLwogICAgZnVuY3Rpb24gcmVzZXQoKQogICAgewogICAgICAgIF9wb3MgPSB7fTsKICAgICAgICBfZmlyc3QgPSBmYWxzZTsKICAgICAgICBfZmluZ2VycyA9IDA7CiAgICAgICAgX2Rpc3RhbmNlID0gMDsKICAgICAgICBfYW5nbGUgPSAwOwogICAgICAgIF9nZXN0dXJlID0gbnVsbDsKICAgIH0KCgogICAgdmFyIGdlc3R1cmVzID0gewogICAgICAgIC8vIGhvbGQgZ2VzdHVyZQogICAgICAgIC8vIGZpcmVkIG9uIHRvdWNoc3RhcnQKICAgICAgICBob2xkIDogZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgewogICAgICAgICAgICAvLyBvbmx5IHdoZW4gb25lIGZpbmdlciBpcyBvbiB0aGUgc2NyZWVuCiAgICAgICAgICAgIGlmKG9wdGlvbnMuaG9sZCkgewogICAgICAgICAgICAgICAgX2dlc3R1cmUgPSAnaG9sZCc7CiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoX2hvbGRfdGltZXIpOwoKICAgICAgICAgICAgICAgIF9ob2xkX3RpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBpZihfZ2VzdHVyZSA9PSAnaG9sZCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV2ZW50KCJob2xkIiwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudCAgIDogZXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgICAgOiBfcG9zLnN0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sIG9wdGlvbnMuaG9sZF90aW1lb3V0KTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgoKICAgICAgICAvLyBkcmFnIGdlc3R1cmUKICAgICAgICAvLyBmaXJlZCBvbiBtb3VzZW1vdmUKICAgICAgICBkcmFnIDogZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgewogICAgICAgICAgICAvLyBnZXQgdGhlIGRpc3RhbmNlIHdlIG1vdmVkCiAgICAgICAgICAgIHZhciBfZGlzdGFuY2VfeCA9IF9wb3MubW92ZVswXS54IC0gX3Bvcy5zdGFydFswXS54OwogICAgICAgICAgICB2YXIgX2Rpc3RhbmNlX3kgPSBfcG9zLm1vdmVbMF0ueSAtIF9wb3Muc3RhcnRbMF0ueTsKICAgICAgICAgICAgX2Rpc3RhbmNlID0gTWF0aC5zcXJ0KF9kaXN0YW5jZV94ICogX2Rpc3RhbmNlX3ggKyBfZGlzdGFuY2VfeSAqIF9kaXN0YW5jZV95KTsKCiAgICAgICAgICAgIC8vIGRyYWcKICAgICAgICAgICAgLy8gbWluaW1hbCBtb3ZlbWVudCByZXF1aXJlZAogICAgICAgICAgICBpZihvcHRpb25zLmRyYWcgJiYgKF9kaXN0YW5jZSA+IG9wdGlvbnMuZHJhZ19taW5fZGlzdGFuY2UpIHx8IF9nZXN0dXJlID09ICdkcmFnJykgewogICAgICAgICAgICAgICAgLy8gY2FsY3VsYXRlIHRoZSBhbmdsZQogICAgICAgICAgICAgICAgX2FuZ2xlID0gZ2V0QW5nbGUoX3Bvcy5zdGFydFswXSwgX3Bvcy5tb3ZlWzBdKTsKICAgICAgICAgICAgICAgIF9kaXJlY3Rpb24gPSBzZWxmLmdldERpcmVjdGlvbkZyb21BbmdsZShfYW5nbGUpOwoKICAgICAgICAgICAgICAgIC8vIGNoZWNrIHRoZSBtb3ZlbWVudCBhbmQgc3RvcCBpZiB3ZSBnbyBpbiB0aGUgd3JvbmcgZGlyZWN0aW9uCiAgICAgICAgICAgICAgICB2YXIgaXNfdmVydGljYWwgPSAoX2RpcmVjdGlvbiA9PSAndXAnIHx8IF9kaXJlY3Rpb24gPT0gJ2Rvd24nKTsKICAgICAgICAgICAgICAgIGlmKCgoaXNfdmVydGljYWwgJiYgIW9wdGlvbnMuZHJhZ192ZXJ0aWNhbCkgfHwgKCFpc192ZXJ0aWNhbCAmJiAhb3B0aW9ucy5kcmFnX2hvcml6b250YWwpKQogICAgICAgICAgICAgICAgICAgICYmIChfZGlzdGFuY2UgPiBvcHRpb25zLmRyYWdfbWluX2Rpc3RhbmNlKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBfZ2VzdHVyZSA9ICdkcmFnJzsKCiAgICAgICAgICAgICAgICB2YXIgcG9zaXRpb24gPSB7IHg6IF9wb3MubW92ZVswXS54IC0gX29mZnNldC5sZWZ0LAogICAgICAgICAgICAgICAgICAgIHk6IF9wb3MubW92ZVswXS55IC0gX29mZnNldC50b3AgfTsKCiAgICAgICAgICAgICAgICB2YXIgZXZlbnRfb2JqID0gewogICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQgICA6IGV2ZW50LAogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uICAgICAgICA6IHBvc2l0aW9uLAogICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiAgICAgICA6IF9kaXJlY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2UgICAgICAgIDogX2Rpc3RhbmNlLAogICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlWCAgICAgICA6IF9kaXN0YW5jZV94LAogICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlWSAgICAgICA6IF9kaXN0YW5jZV95LAogICAgICAgICAgICAgICAgICAgIGFuZ2xlICAgICAgICAgICA6IF9hbmdsZQogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICAvLyBvbiB0aGUgZmlyc3QgdGltZSB0cmlnZ2VyIHRoZSBzdGFydCBldmVudAogICAgICAgICAgICAgICAgaWYoX2ZpcnN0KSB7CiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV2ZW50KCJkcmFnc3RhcnQiLCBldmVudF9vYmopOwoKICAgICAgICAgICAgICAgICAgICBfZmlyc3QgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBub3JtYWwgc2xpZGUgZXZlbnQKICAgICAgICAgICAgICAgIHRyaWdnZXJFdmVudCgiZHJhZyIsIGV2ZW50X29iaik7CgogICAgICAgICAgICAgICAgY2FuY2VsRXZlbnQoZXZlbnQpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCgogICAgICAgIC8vIHRyYW5zZm9ybSBnZXN0dXJlCiAgICAgICAgLy8gZmlyZWQgb24gdG91Y2htb3ZlCiAgICAgICAgdHJhbnNmb3JtIDogZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgewogICAgICAgICAgICBpZihvcHRpb25zLnRyYW5zZm9ybSkgewogICAgICAgICAgICAgICAgdmFyIHNjYWxlID0gZXZlbnQuc2NhbGUgfHwgMTsKICAgICAgICAgICAgICAgIHZhciByb3RhdGlvbiA9IGV2ZW50LnJvdGF0aW9uIHx8IDA7CgogICAgICAgICAgICAgICAgaWYoY291bnRGaW5nZXJzKGV2ZW50KSAhPSAyKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmKF9nZXN0dXJlICE9ICdkcmFnJyAmJgogICAgICAgICAgICAgICAgICAgIChfZ2VzdHVyZSA9PSAndHJhbnNmb3JtJyB8fCBNYXRoLmFicygxLXNjYWxlKSA+IG9wdGlvbnMuc2NhbGVfdHJlc2hvbGQKICAgICAgICAgICAgICAgICAgICAgICAgfHwgTWF0aC5hYnMocm90YXRpb24pID4gb3B0aW9ucy5yb3RhdGlvbl90cmVzaG9sZCkpIHsKICAgICAgICAgICAgICAgICAgICBfZ2VzdHVyZSA9ICd0cmFuc2Zvcm0nOwoKICAgICAgICAgICAgICAgICAgICBfcG9zLmNlbnRlciA9IHsgIHg6ICgoX3Bvcy5tb3ZlWzBdLnggKyBfcG9zLm1vdmVbMV0ueCkgLyAyKSAtIF9vZmZzZXQubGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgeTogKChfcG9zLm1vdmVbMF0ueSArIF9wb3MubW92ZVsxXS55KSAvIDIpIC0gX29mZnNldC50b3AgfTsKCiAgICAgICAgICAgICAgICAgICAgdmFyIGV2ZW50X29iaiA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudCAgIDogZXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uICAgICAgICA6IF9wb3MuY2VudGVyLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZSAgICAgICAgICAgOiBzY2FsZSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb24gICAgICAgIDogcm90YXRpb24KICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgICAgICAvLyBvbiB0aGUgZmlyc3QgdGltZSB0cmlnZ2VyIHRoZSBzdGFydCBldmVudAogICAgICAgICAgICAgICAgICAgIGlmKF9maXJzdCkgewogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyRXZlbnQoInRyYW5zZm9ybXN0YXJ0IiwgZXZlbnRfb2JqKTsKICAgICAgICAgICAgICAgICAgICAgICAgX2ZpcnN0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyRXZlbnQoInRyYW5zZm9ybSIsIGV2ZW50X29iaik7CgogICAgICAgICAgICAgICAgICAgIGNhbmNlbEV2ZW50KGV2ZW50KTsKCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9LAoKCiAgICAgICAgLy8gdGFwIGFuZCBkb3VibGUgdGFwIGdlc3R1cmUKICAgICAgICAvLyBmaXJlZCBvbiB0b3VjaGVuZAogICAgICAgIHRhcCA6IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgIHsKICAgICAgICAgICAgLy8gY29tcGFyZSB0aGUga2luZCBvZiBnZXN0dXJlIGJ5IHRpbWUKICAgICAgICAgICAgdmFyIG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwogICAgICAgICAgICB2YXIgdG91Y2hfdGltZSA9IG5vdyAtIF90b3VjaF9zdGFydF90aW1lOwoKICAgICAgICAgICAgLy8gZG9udCBmaXJlIHdoZW4gaG9sZCBpcyBmaXJlZAogICAgICAgICAgICBpZihvcHRpb25zLmhvbGQgJiYgIShvcHRpb25zLmhvbGQgJiYgb3B0aW9ucy5ob2xkX3RpbWVvdXQgPiB0b3VjaF90aW1lKSkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyB3aGVuIHByZXZpb3VzIGV2ZW50IHdhcyB0YXAgYW5kIHRoZSB0YXAgd2FzIG1heF9pbnRlcnZhbCBtcyBhZ28KICAgICAgICAgICAgdmFyIGlzX2RvdWJsZV90YXAgPSAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGlmIChfcHJldl90YXBfcG9zICYmIG9wdGlvbnMudGFwX2RvdWJsZSAmJiBfcHJldl9nZXN0dXJlID09ICd0YXAnICYmIChfdG91Y2hfc3RhcnRfdGltZSAtIF9wcmV2X3RhcF9lbmRfdGltZSkgPCBvcHRpb25zLnRhcF9tYXhfaW50ZXJ2YWwpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgeF9kaXN0YW5jZSA9IE1hdGguYWJzKF9wcmV2X3RhcF9wb3NbMF0ueCAtIF9wb3Muc3RhcnRbMF0ueCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIHlfZGlzdGFuY2UgPSBNYXRoLmFicyhfcHJldl90YXBfcG9zWzBdLnkgLSBfcG9zLnN0YXJ0WzBdLnkpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAoX3ByZXZfdGFwX3BvcyAmJiBfcG9zLnN0YXJ0ICYmIE1hdGgubWF4KHhfZGlzdGFuY2UsIHlfZGlzdGFuY2UpIDwgb3B0aW9ucy50YXBfZG91YmxlX2Rpc3RhbmNlKTsKCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0pKCk7CgogICAgICAgICAgICBpZihpc19kb3VibGVfdGFwKSB7CiAgICAgICAgICAgICAgICBfZ2VzdHVyZSA9ICdkb3VibGVfdGFwJzsKICAgICAgICAgICAgICAgIF9wcmV2X3RhcF9lbmRfdGltZSA9IG51bGw7CgogICAgICAgICAgICAgICAgdHJpZ2dlckV2ZW50KCJkb3VibGV0YXAiLCB7CiAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudCAgIDogZXZlbnQsCiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gICAgICAgIDogX3Bvcy5zdGFydAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBjYW5jZWxFdmVudChldmVudCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIHNpbmdsZSB0YXAgaXMgc2luZ2xlIHRvdWNoCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgX2dlc3R1cmUgPSAndGFwJzsKICAgICAgICAgICAgICAgIF9wcmV2X3RhcF9lbmRfdGltZSA9IG5vdzsKICAgICAgICAgICAgICAgIF9wcmV2X3RhcF9wb3MgPSBfcG9zLnN0YXJ0OwoKICAgICAgICAgICAgICAgIGlmKG9wdGlvbnMudGFwKSB7CiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV2ZW50KCJ0YXAiLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQgICA6IGV2ZW50LAogICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgICAgOiBfcG9zLnN0YXJ0CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgY2FuY2VsRXZlbnQoZXZlbnQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICB9OwoKCiAgICBmdW5jdGlvbiBoYW5kbGVFdmVudHMoZXZlbnQpCiAgICB7CiAgICAgICAgc3dpdGNoKGV2ZW50LnR5cGUpCiAgICAgICAgewogICAgICAgICAgICBjYXNlICdtb3VzZWRvd24nOgogICAgICAgICAgICBjYXNlICd0b3VjaHN0YXJ0JzoKICAgICAgICAgICAgICAgIF9wb3Muc3RhcnQgPSBnZXRYWWZyb21FdmVudChldmVudCk7CiAgICAgICAgICAgICAgICBfdG91Y2hfc3RhcnRfdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwogICAgICAgICAgICAgICAgX2ZpbmdlcnMgPSBjb3VudEZpbmdlcnMoZXZlbnQpOwogICAgICAgICAgICAgICAgX2ZpcnN0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIF9ldmVudF9zdGFydCA9IGV2ZW50OwoKICAgICAgICAgICAgICAgIC8vIGJvcnJvd2VkIGZyb20ganF1ZXJ5IG9mZnNldCBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9ibG9iL21hc3Rlci9zcmMvb2Zmc2V0LmpzCiAgICAgICAgICAgICAgICB2YXIgYm94ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICAgICAgICAgIHZhciBjbGllbnRUb3AgID0gZWxlbWVudC5jbGllbnRUb3AgIHx8IGRvY3VtZW50LmJvZHkuY2xpZW50VG9wICB8fCAwOwogICAgICAgICAgICAgICAgdmFyIGNsaWVudExlZnQgPSBlbGVtZW50LmNsaWVudExlZnQgfHwgZG9jdW1lbnQuYm9keS5jbGllbnRMZWZ0IHx8IDA7CiAgICAgICAgICAgICAgICB2YXIgc2Nyb2xsVG9wICA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBlbGVtZW50LnNjcm9sbFRvcCAgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CiAgICAgICAgICAgICAgICB2YXIgc2Nyb2xsTGVmdCA9IHdpbmRvdy5wYWdlWE9mZnNldCB8fCBlbGVtZW50LnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0OwoKICAgICAgICAgICAgICAgIF9vZmZzZXQgPSB7CiAgICAgICAgICAgICAgICAgICAgdG9wOiBib3gudG9wICsgc2Nyb2xsVG9wIC0gY2xpZW50VG9wLAogICAgICAgICAgICAgICAgICAgIGxlZnQ6IGJveC5sZWZ0ICsgc2Nyb2xsTGVmdCAtIGNsaWVudExlZnQKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgX21vdXNlZG93biA9IHRydWU7CgogICAgICAgICAgICAgICAgLy8gaG9sZCBnZXN0dXJlCiAgICAgICAgICAgICAgICBnZXN0dXJlcy5ob2xkKGV2ZW50KTsKCiAgICAgICAgICAgICAgICBpZihvcHRpb25zLnByZXZlbnRfZGVmYXVsdCkgewogICAgICAgICAgICAgICAgICAgIGNhbmNlbEV2ZW50KGV2ZW50KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnbW91c2Vtb3ZlJzoKICAgICAgICAgICAgY2FzZSAndG91Y2htb3ZlJzoKICAgICAgICAgICAgICAgIGlmKCFfbW91c2Vkb3duKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX2V2ZW50X21vdmUgPSBldmVudDsKICAgICAgICAgICAgICAgIF9wb3MubW92ZSA9IGdldFhZZnJvbUV2ZW50KGV2ZW50KTsKCiAgICAgICAgICAgICAgICBpZighZ2VzdHVyZXMudHJhbnNmb3JtKGV2ZW50KSkgewogICAgICAgICAgICAgICAgICAgIGdlc3R1cmVzLmRyYWcoZXZlbnQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtb3VzZXVwJzoKICAgICAgICAgICAgY2FzZSAnbW91c2VvdXQnOgogICAgICAgICAgICBjYXNlICd0b3VjaGNhbmNlbCc6CiAgICAgICAgICAgIGNhc2UgJ3RvdWNoZW5kJzoKICAgICAgICAgICAgICAgIGlmKCFfbW91c2Vkb3duIHx8IChfZ2VzdHVyZSAhPSAndHJhbnNmb3JtJyAmJiBldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXMubGVuZ3RoID4gMCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgX21vdXNlZG93biA9IGZhbHNlOwogICAgICAgICAgICAgICAgX2V2ZW50X2VuZCA9IGV2ZW50OwoKICAgICAgICAgICAgICAgIC8vIGRyYWcgZ2VzdHVyZQogICAgICAgICAgICAgICAgLy8gZHJhZ3N0YXJ0IGlzIHRyaWdnZXJlZCwgc28gZHJhZ2VuZCBpcyBwb3NzaWJsZQogICAgICAgICAgICAgICAgaWYoX2dlc3R1cmUgPT0gJ2RyYWcnKSB7CiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV2ZW50KCJkcmFnZW5kIiwgewogICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50ICAgOiBldmVudCwKICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uICAgICAgIDogX2RpcmVjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2UgICAgICAgIDogX2Rpc3RhbmNlLAogICAgICAgICAgICAgICAgICAgICAgICBhbmdsZSAgICAgICAgICAgOiBfYW5nbGUKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyB0cmFuc2Zvcm0KICAgICAgICAgICAgICAgIC8vIHRyYW5zZm9ybXN0YXJ0IGlzIHRyaWdnZXJlZCwgc28gdHJhbnNmb3JtZWQgaXMgcG9zc2libGUKICAgICAgICAgICAgICAgIGVsc2UgaWYoX2dlc3R1cmUgPT0gJ3RyYW5zZm9ybScpIHsKICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyRXZlbnQoInRyYW5zZm9ybWVuZCIsIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudCAgIDogZXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uICAgICAgICA6IF9wb3MuY2VudGVyLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZSAgICAgICAgICAgOiBldmVudC5zY2FsZSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb24gICAgICAgIDogZXZlbnQucm90YXRpb24KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGdlc3R1cmVzLnRhcChfZXZlbnRfc3RhcnQpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIF9wcmV2X2dlc3R1cmUgPSBfZ2VzdHVyZTsKCiAgICAgICAgICAgICAgICAvLyByZXNldCB2YXJzCiAgICAgICAgICAgICAgICByZXNldCgpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKCiAgICAvLyBiaW5kIGV2ZW50cyBmb3IgdG91Y2ggZGV2aWNlcwogICAgLy8gZXhjZXB0IGZvciB3aW5kb3dzIHBob25lIDcuNSwgaXQgZG9lc250IHN1cHBvcnQgdG91Y2ggZXZlbnRzLi4hCiAgICBpZignb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHsKICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVFdmVudHMsIGZhbHNlKTsKICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZUV2ZW50cywgZmFsc2UpOwogICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLCBoYW5kbGVFdmVudHMsIGZhbHNlKTsKICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIiwgaGFuZGxlRXZlbnRzLCBmYWxzZSk7CiAgICB9CiAgICAvLyBmb3Igbm9uLXRvdWNoCiAgICBlbHNlIHsKCiAgICAgICAgaWYoZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKXsgLy8gcHJldmVudCBvbGQgSUUgZXJyb3JzCiAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgaWYoIWlzSW5zaWRlSGFtbWVyKGVsZW1lbnQsIGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7CiAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXZlbnRzKGV2ZW50KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCBoYW5kbGVFdmVudHMsIGZhbHNlKTsKICAgICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBoYW5kbGVFdmVudHMsIGZhbHNlKTsKICAgICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBoYW5kbGVFdmVudHMsIGZhbHNlKTsKCiAgICAgICAgICAgIC8vIGV2ZW50cyBmb3Igb2xkZXIgSUUKICAgICAgICB9ZWxzZSBpZihkb2N1bWVudC5hdHRhY2hFdmVudCl7CiAgICAgICAgICAgIGVsZW1lbnQuYXR0YWNoRXZlbnQoIm9ubW91c2VvdXQiLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgaWYoIWlzSW5zaWRlSGFtbWVyKGVsZW1lbnQsIGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7CiAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXZlbnRzKGV2ZW50KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgICAgICBlbGVtZW50LmF0dGFjaEV2ZW50KCJvbm1vdXNldXAiLCBoYW5kbGVFdmVudHMpOwogICAgICAgICAgICBlbGVtZW50LmF0dGFjaEV2ZW50KCJvbm1vdXNlZG93biIsIGhhbmRsZUV2ZW50cyk7CiAgICAgICAgICAgIGVsZW1lbnQuYXR0YWNoRXZlbnQoIm9ubW91c2Vtb3ZlIiwgaGFuZGxlRXZlbnRzKTsKICAgICAgICB9CiAgICB9CgoKICAgIC8qKgogICAgICogZmluZCBpZiBlbGVtZW50IGlzIChpbnNpZGUpIGdpdmVuIHBhcmVudCBlbGVtZW50CiAgICAgKiBAcGFyYW0gICBvYmplY3QgIGVsZW1lbnQKICAgICAqIEBwYXJhbSAgIG9iamVjdCAgcGFyZW50CiAgICAgKiBAcmV0dXJuICBib29sICAgIGluc2lkZQogICAgICovCiAgICBmdW5jdGlvbiBpc0luc2lkZUhhbW1lcihwYXJlbnQsIGNoaWxkKSB7CiAgICAgICAgLy8gZ2V0IHJlbGF0ZWQgdGFyZ2V0IGZvciBJRQogICAgICAgIGlmKCFjaGlsZCAmJiB3aW5kb3cuZXZlbnQgJiYgd2luZG93LmV2ZW50LnRvRWxlbWVudCl7CiAgICAgICAgICAgIGNoaWxkID0gd2luZG93LmV2ZW50LnRvRWxlbWVudDsKICAgICAgICB9CgogICAgICAgIGlmKHBhcmVudCA9PT0gY2hpbGQpewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIC8vIGxvb3Agb3ZlciBwYXJlbnROb2RlcyBvZiBjaGlsZCB1bnRpbCB3ZSBmaW5kIGhhbW1lciBlbGVtZW50CiAgICAgICAgaWYoY2hpbGQpewogICAgICAgICAgICB2YXIgbm9kZSA9IGNoaWxkLnBhcmVudE5vZGU7CiAgICAgICAgICAgIHdoaWxlKG5vZGUgIT09IG51bGwpewogICAgICAgICAgICAgICAgaWYobm9kZSA9PT0gcGFyZW50KXsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCgogICAgLyoqCiAgICAgKiBtZXJnZSAyIG9iamVjdHMgaW50byBhIG5ldyBvYmplY3QKICAgICAqIEBwYXJhbSAgIG9iamVjdCAgb2JqMQogICAgICogQHBhcmFtICAgb2JqZWN0ICBvYmoyCiAgICAgKiBAcmV0dXJuICBvYmplY3QgIG1lcmdlZCBvYmplY3QKICAgICAqLwogICAgZnVuY3Rpb24gbWVyZ2VPYmplY3Qob2JqMSwgb2JqMikgewogICAgICAgIHZhciBvdXRwdXQgPSB7fTsKCiAgICAgICAgaWYoIW9iajIpIHsKICAgICAgICAgICAgcmV0dXJuIG9iajE7CiAgICAgICAgfQoKICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iajEpIHsKICAgICAgICAgICAgaWYgKHByb3AgaW4gb2JqMikgewogICAgICAgICAgICAgICAgb3V0cHV0W3Byb3BdID0gb2JqMltwcm9wXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG91dHB1dFtwcm9wXSA9IG9iajFbcHJvcF07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG91dHB1dDsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKCBvYmogKXsKICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKCBvYmogKSA9PSAiW29iamVjdCBGdW5jdGlvbl0iOwogICAgfQp9"></script>
<script src="data:application/x-javascript;base64,KGZ1bmN0aW9uKHdpbmRvdykgewoKdmFyIE9SSUdJTl8gPSBsb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyBsb2NhdGlvbi5ob3N0OwoKLy8gY2hlY2sgZm9yIGxvY2FsIHN0b3JhZ2UKdmFyIGhhdmVMb2NhbFN0b3JhZ2UgPSAoZnVuY3Rpb24oKSB7CiAgdmFyIG1vZCA9ICdtb2QnOwogIHRyeSB7CiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShtb2QsIG1vZCk7CiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShtb2QpOwogICAgcmV0dXJuIHRydWU7CiAgfSBjYXRjaChlKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQp9KCkpOwoKZnVuY3Rpb24gU2xpZGVDb250cm9sbGVyKCkgewogIHRoaXMucG9wdXAgPSBudWxsOwogIHRoaXMuaXNQb3B1cCA9IHdpbmRvdy5vcGVuZXI7CgogIGlmICh0aGlzLnNldHVwRG9uZSgpKSB7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHRoaXMub25NZXNzYWdlXy5iaW5kKHRoaXMpLCBmYWxzZSk7CgogICAgLy8gQ2xvc2UgcG9wdXBzIGlmIHdlIHJlbG9hZCB0aGUgbWFpbiB3aW5kb3cuCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgZnVuY3Rpb24oZSkgewogICAgICBpZiAodGhpcy5wb3B1cCkgewogICAgICAgIHRoaXMucG9wdXAuY2xvc2UoKTsKICAgICAgfQogICAgfS5iaW5kKHRoaXMpLCBmYWxzZSk7CiAgfQp9CgpTbGlkZUNvbnRyb2xsZXIuUFJFU0VOVEVSX01PREVfUEFSQU0gPSAncHJlc2VudG1lJzsKClNsaWRlQ29udHJvbGxlci5wcm90b3R5cGUuc2V0dXBEb25lID0gZnVuY3Rpb24oKSB7CiAgdmFyIHBhcmFtcyA9IGxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkuc3BsaXQoJyYnKS5tYXAoZnVuY3Rpb24oZWwpIHsKICAgIHJldHVybiBlbC5zcGxpdCgnPScpOwogIH0pOwoKICB2YXIgcHJlc2VudE1lID0gbnVsbDsKICBmb3IgKHZhciBpID0gMCwgcGFyYW07IHBhcmFtID0gcGFyYW1zW2ldOyArK2kpIHsKICAgIGlmIChwYXJhbVswXS50b0xvd2VyQ2FzZSgpID09IFNsaWRlQ29udHJvbGxlci5QUkVTRU5URVJfTU9ERV9QQVJBTSkgewogICAgICBwcmVzZW50TWUgPSBwYXJhbVsxXSA9PSAndHJ1ZSc7CiAgICAgIGJyZWFrOwogICAgfQogIH0KCiAgaWYgKHByZXNlbnRNZSAhPT0gbnVsbCkgewogICAgaWYgKGhhdmVMb2NhbFN0b3JhZ2UpCiAgICAgIGxvY2FsU3RvcmFnZS5FTkFCTEVfUFJFU0VOVE9SX01PREUgPSBwcmVzZW50TWU7CiAgICAvLyBUT0RPOiB1c2Ugd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlIHRvIHVwZGF0ZSBVUkwgaW5zdGVhZCBvZiB0aGUgcmVkaXJlY3QuCiAgICBpZiAod2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKSB7CiAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSwgJycsIGxvY2F0aW9uLnBhdGhuYW1lKTsKICAgIH0gZWxzZSB7CiAgICAgIGxvY2F0aW9uLnJlcGxhY2UobG9jYXRpb24ucGF0aG5hbWUpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQoKICB2YXIgZW5hYmxlUHJlc2VudGVyTW9kZSA9IGhhdmVMb2NhbFN0b3JhZ2UgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0VOQUJMRV9QUkVTRU5UT1JfTU9ERScpOwogIGlmIChlbmFibGVQcmVzZW50ZXJNb2RlICYmIEpTT04ucGFyc2UoZW5hYmxlUHJlc2VudGVyTW9kZSkpIHsKICAgIC8vIE9ubHkgb3BlbiBwb3B1cCBmcm9tIG1haW4gZGVjay4gRG9uJ3Qgd2FudCByZWN1cnNpdmUgcG9wdXAgb3BlbmluZyEKICAgIGlmICghdGhpcy5pc1BvcHVwKSB7CiAgICAgIHZhciBvcHRzID0gJ21lbnViYXI9bm8sbG9jYXRpb249eWVzLHJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz1ubyxzdGF0dXM9bm8nOwogICAgICB0aGlzLnBvcHVwID0gd2luZG93Lm9wZW4obG9jYXRpb24uaHJlZiwgJ215d2luZG93Jywgb3B0cyk7CgogICAgICAvLyBMb2FkaW5nIGluIHRoZSBwb3B1cD8gVHJpZ2dlciB0aGUgaG90a2V5IGZvciB0dXJuaW5nIHByZXNlbnRlciBtb2RlIG9uLgogICAgICB0aGlzLnBvcHVwLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGV2dCA9IHRoaXMucG9wdXAuZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7CiAgICAgICAgZXZ0LmluaXRFdmVudCgna2V5ZG93bicsIHRydWUsIHRydWUpOwogICAgICAgIGV2dC5rZXlDb2RlID0gJ1AnLmNoYXJDb2RlQXQoMCk7CiAgICAgICAgdGhpcy5wb3B1cC5kb2N1bWVudC5kaXNwYXRjaEV2ZW50KGV2dCk7CiAgICAgICAgLy8gdGhpcy5wb3B1cC5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ3dpdGgtbm90ZXMnKTsKICAgICAgICAvLyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ3BvcHVwJyk7CiAgICAgIH0uYmluZCh0aGlzKSwgZmFsc2UpOwogICAgfQogIH0KCiAgcmV0dXJuIHRydWU7Cn0KClNsaWRlQ29udHJvbGxlci5wcm90b3R5cGUub25NZXNzYWdlXyA9IGZ1bmN0aW9uKGUpIHsKICB2YXIgZGF0YSA9IGUuZGF0YTsKCiAgLy8gUmVzdHJpY3QgbWVzc2FnZXMgdG8gYmVpbmcgZnJvbSB0aGlzIG9yaWdpbi4gQWxsb3cgbG9jYWwgZGV2ZWxvcG1ldAogIC8vIGZyb20gZmlsZTovLyB0aG91Z2guCiAgLy8gVE9ETzogSXQgd291bGQgYmUgZG9wZSBpZiBGRiBpbXBsZW1lbnRlZCBsb2NhdGlvbi5vcmlnaW4hCiAgaWYgKGUub3JpZ2luICE9IE9SSUdJTl8gJiYgT1JJR0lOXy5pbmRleE9mKCdmaWxlOi8vJykgIT0gMCkgewogICAgLy8gSWdub3JlIG1lc3NhZ2VzIGZyb20gdW5yZWNvZ25pemVkIG9yaWdpbnMKICAgIHJldHVybjsKICB9CgogIC8vIGlmIChlLnNvdXJjZS5sb2NhdGlvbi5ob3N0bmFtZSAhPSAnbG9jYWxob3N0JykgewogIC8vICAgYWxlcnQoJ1NvbWVvbmUgdHJpZWQgdG8gcG9zdE1lc3NhZ2UgZnJvbSBhbiB1bmtub3duIG9yaWdpbicpOwogIC8vICAgcmV0dXJuOwogIC8vIH0KCiAgaWYgKCdrZXlDb2RlJyBpbiBkYXRhKSB7CiAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7CiAgICBldnQuaW5pdEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSk7CiAgICBldnQua2V5Q29kZSA9IGRhdGEua2V5Q29kZTsKICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZ0KTsKICB9Cn07CgpTbGlkZUNvbnRyb2xsZXIucHJvdG90eXBlLnNlbmRNc2cgPSBmdW5jdGlvbihtc2cpIHsKICAvLyAvLyBTZW5kIG1lc3NhZ2UgdG8gcG9wdXAgd2luZG93LgogIC8vIGlmICh0aGlzLnBvcHVwKSB7CiAgLy8gICB0aGlzLnBvcHVwLnBvc3RNZXNzYWdlKG1zZywgT1JJR0lOXyk7CiAgLy8gfQoKICAvLyBTZW5kIG1lc3NhZ2UgdG8gbWFpbiB3aW5kb3cuCiAgaWYgKHRoaXMuaXNQb3B1cCkgewogICAgLy8gVE9ETzogSXQgd291bGQgYmUgZG9wZSBpZiBGRiBpbXBsZW1lbnRlZCBsb2NhdGlvbi5vcmlnaW4uCiAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKG1zZywgJyonKTsKICB9Cn07Cgp3aW5kb3cuU2xpZGVDb250cm9sbGVyID0gU2xpZGVDb250cm9sbGVyOwoKfSkod2luZG93KTsKCg=="></script>
<script src="data:application/x-javascript;base64,LyoqCiAqIEBhdXRob3JzIEx1a2UgTWFoZQogKiBAYXV0aG9ycyBFcmljIEJpZGVsbWFuCiAqIEBmaWxlb3ZlcnZpZXcgVE9ETwogKi8KZG9jdW1lbnQuY2FuY2VsRnVsbFNjcmVlbiA9IGRvY3VtZW50LndlYmtpdENhbmNlbEZ1bGxTY3JlZW4gfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW47CgovKioKICogQGNvbnN0cnVjdG9yCiAqLwpmdW5jdGlvbiBTbGlkZURlY2soZWwpIHsKICB0aGlzLmN1clNsaWRlXyA9IDA7CiAgdGhpcy5wcmV2U2xpZGVfID0gMDsKICB0aGlzLmNvbmZpZ18gPSBudWxsOwogIHRoaXMuY29udGFpbmVyID0gZWwgfHwgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2xpZGVzJyk7CiAgdGhpcy5zbGlkZXMgPSBbXTsKICB0aGlzLmNvbnRyb2xsZXIgPSBudWxsOwoKICB0aGlzLmdldEN1cnJlbnRTbGlkZUZyb21IYXNoXygpOwoKICAvLyBDYWxsIHRoaXMgZXhwbGljaXRseS4gTW9kZXJuaXpyLmxvYWQgd29uJ3QgYmUgZG9uZSB1bnRpbCBhZnRlciBET00gbG9hZC4KICB0aGlzLm9uRG9tTG9hZGVkXy5iaW5kKHRoaXMpKCk7Cn0KCi8qKgogKiBAY29uc3QKICogQHByaXZhdGUKICovClNsaWRlRGVjay5wcm90b3R5cGUuU0xJREVfQ0xBU1NFU18gPSBbCiAgJ2Zhci1wYXN0JywgJ3Bhc3QnLCAnY3VycmVudCcsICduZXh0JywgJ2Zhci1uZXh0J107CgovKioKICogQGNvbnN0CiAqIEBwcml2YXRlCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLkNTU19ESVJfID0gJ3RoZW1lL2Nzcy8nOwoKLyoqCiAqIEBwcml2YXRlCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmdldEN1cnJlbnRTbGlkZUZyb21IYXNoXyA9IGZ1bmN0aW9uKCkgewogIHZhciBzbGlkZU5vID0gcGFyc2VJbnQoZG9jdW1lbnQubG9jYXRpb24uaGFzaC5zdWJzdHIoMSkpOwoKICBpZiAoc2xpZGVObykgewogICAgdGhpcy5jdXJTbGlkZV8gPSBzbGlkZU5vIC0gMTsKICB9IGVsc2UgewogICAgdGhpcy5jdXJTbGlkZV8gPSAwOwogIH0KfTsKCi8qKgogKiBAcGFyYW0ge251bWJlcn0gc2xpZGVObwogKi8KU2xpZGVEZWNrLnByb3RvdHlwZS5sb2FkU2xpZGUgPSBmdW5jdGlvbihzbGlkZU5vKSB7CiAgaWYgKHNsaWRlTm8pIHsKICAgIHRoaXMuY3VyU2xpZGVfID0gc2xpZGVObyAtIDE7CiAgICB0aGlzLnVwZGF0ZVNsaWRlc18oKTsKICB9Cn07CgovKioKICogQHByaXZhdGUKICovClNsaWRlRGVjay5wcm90b3R5cGUub25Eb21Mb2FkZWRfID0gZnVuY3Rpb24oZSkgewogIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbG9hZGVkJyk7IC8vIEFkZCBsb2FkZWQgY2xhc3MgZm9yIHRlbXBsYXRlcyB0byB1c2UuCgogIHRoaXMuc2xpZGVzID0gdGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnc2xpZGU6bm90KFtoaWRkZW5dKTpub3QoLmhpZGRlbik6bm90KC5iYWNrZHJvcCknKTsKCiAgLy8gSWYgd2UncmUgb24gYSBzbWFydHBob25lLCBhcHBseSBzcGVjaWFsIHNhdWNlLgogIGlmIChNb2Rlcm5penIubXEoJ29ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogNDgwcHgpJykpIHsKICAgIC8vIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKICAgIC8vIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JzsKICAgIC8vIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnOwogICAgLy8gc3R5bGUuaHJlZiA9IHRoaXMuQ1NTX0RJUl8gKyAncGhvbmUuY3NzJzsKICAgIC8vIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKS5hcHBlbmRDaGlsZChzdHlsZSk7CgogICAgLy8gTm8gbmVlZCBmb3Igd2lkZXNjcmVlbiBsYXlvdXQgb24gYSBwaG9uZS4KICAgIHRoaXMuY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoJ2xheW91dC13aWRlc2NyZWVuJyk7CiAgfQoKICB0aGlzLmxvYWRDb25maWdfKFNMSURFX0NPTkZJRyk7CiAgdGhpcy5hZGRFdmVudExpc3RlbmVyc18oKTsKICB0aGlzLnVwZGF0ZVNsaWRlc18oKTsKCiAgLy8gQWRkIHNsaWRlIG51bWJlcnMgYW5kIHRvdGFsIHNsaWRlIGNvdW50IG1ldGFkYXRhIHRvIGVhY2ggc2xpZGUuCiAgdmFyIHRoYXQgPSB0aGlzOwogIGZvciAodmFyIGkgPSAwLCBzbGlkZTsgc2xpZGUgPSB0aGlzLnNsaWRlc1tpXTsgKytpKSB7CiAgICBzbGlkZS5kYXRhc2V0LnNsaWRlTnVtID0gaSArIDE7CiAgICBzbGlkZS5kYXRhc2V0LnRvdGFsU2xpZGVzID0gdGhpcy5zbGlkZXMubGVuZ3RoOwoKICAgIHNsaWRlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ292ZXJ2aWV3JykpIHsKICAgICAgICB0aGF0LmxvYWRTbGlkZSh0aGlzLmRhdGFzZXQuc2xpZGVOdW0pOwogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgIHRoYXQudG9nZ2xlT3ZlcnZpZXcoKTsKICAgICAgICB9LCA1MDApOwogICAgICB9CiAgICB9LCBmYWxzZSk7CiAgfQoKICAvLyBOb3RlOiB0aGlzIG5lZWRzIHRvIGNvbWUgYWZ0ZXIgYWRkRXZlbnRMaXN0ZW5lcnNfKCksIHdoaWNoIGFkZHMgYQogIC8vICdrZXlkb3duJyBsaXN0ZW5lciB0aGF0IHRoaXMgY29udHJvbGxlciByZWxpZXMgb24uCgogIC8vIE1vZGVybml6ci50b3VjaCBpc24ndCBhIHN1ZmZpY2llbnQgY2hlY2sgZm9yIGRldmljZXMgdGhhdCBzdXBwb3J0IGJvdGgKICAvLyB0b3VjaCBhbmQgbW91c2UuIENyZWF0ZSB0aGUgY29udHJvbGxlciBpbiBhbGwgY2FzZXMuCiAgLy8gLy8gQWxzbywgbm8gbmVlZCB0byBzZXQgdGhpcyB1cCBpZiB3ZSdyZSBvbiBtb2JpbGUuCiAgLy8gaWYgKCFNb2Rlcm5penIudG91Y2gpIHsKICAgIHRoaXMuY29udHJvbGxlciA9IG5ldyBTbGlkZUNvbnRyb2xsZXIodGhpcyk7CiAgICBpZiAodGhpcy5jb250cm9sbGVyLmlzUG9wdXApIHsKICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdwb3B1cCcpOwogICAgfQogIC8vfQp9OwoKLyoqCiAqIEBwcml2YXRlCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzXyA9IGZ1bmN0aW9uKCkgewogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLm9uQm9keUtleURvd25fLmJpbmQodGhpcyksIHRydWUpOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIHRoaXMub25Qb3BTdGF0ZV8uYmluZCh0aGlzKSwgZmFsc2UpOwoKICAvLyB2YXIgdHJhbnNFbmRFdmVudE5hbWVzID0gewogIC8vICAgJ1dlYmtpdFRyYW5zaXRpb24nOiAnd2Via2l0VHJhbnNpdGlvbkVuZCcsCiAgLy8gICAnTW96VHJhbnNpdGlvbic6ICd0cmFuc2l0aW9uZW5kJywKICAvLyAgICdPVHJhbnNpdGlvbic6ICdvVHJhbnNpdGlvbkVuZCcsCiAgLy8gICAnbXNUcmFuc2l0aW9uJzogJ01TVHJhbnNpdGlvbkVuZCcsCiAgLy8gICAndHJhbnNpdGlvbic6ICd0cmFuc2l0aW9uZW5kJwogIC8vIH07CiAgLy8KICAvLyAvLyBGaW5kIHRoZSBjb3JyZWN0IHRyYW5zaXRpb25FbmQgdmVuZG9yIHByZWZpeC4KICAvLyB3aW5kb3cudHJhbnNFbmRFdmVudE5hbWUgPSB0cmFuc0VuZEV2ZW50TmFtZXNbCiAgLy8gICAgIE1vZGVybml6ci5wcmVmaXhlZCgndHJhbnNpdGlvbicpXTsKICAvLwogIC8vIC8vIFdoZW4gc2xpZGVzIGFyZSBkb25lIHRyYW5zaXRpb25pbmcsIGtpY2tvZmYgbG9hZGluZyBpZnJhbWVzLgogIC8vIC8vIE5vdGU6IHdlJ3JlIG9ubHkgbG9va2luZyBhdCBhIHNpbmdsZSB0cmFuc2l0aW9uIChvbiB0aGUgc2xpZGUpLiBUaGlzCiAgLy8gLy8gZG9lc24ndCBpbmNsdWRlIGF1dG9idWlsZHMgdGhlIHNsaWRlcyBtYXkgaGF2ZS4gQWxzbywgaWYgdGhlIHNsaWRlCiAgLy8gLy8gdHJhbnNpdGlvbnMgb24gbXVsdGlwbGUgcHJvcGVydGllcyAoZS5nLiBub3QganVzdCAnYWxsJyksIHRoaXMgZG9lc24ndAogIC8vIC8vIGhhbmRsZSB0aGF0IGNhc2UuCiAgLy8gdGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcih0cmFuc0VuZEV2ZW50TmFtZSwgZnVuY3Rpb24oZSkgewogIC8vICAgICB0aGlzLmVuYWJsZVNsaWRlRnJhbWVzXyh0aGlzLmN1clNsaWRlXyk7CiAgLy8gfS5iaW5kKHRoaXMpLCBmYWxzZSk7CgogIC8vIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3NsaWRlZW50ZXInLCBmdW5jdGlvbihlKSB7CiAgLy8gICB2YXIgc2xpZGUgPSBlLnRhcmdldDsKICAvLyAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogIC8vICAgICB0aGlzLmVuYWJsZVNsaWRlRnJhbWVzXyhlLnNsaWRlTnVtYmVyKTsKICAvLyAgICAgdGhpcy5lbmFibGVTbGlkZUZyYW1lc18oZS5zbGlkZU51bWJlciArIDEpOwogIC8vICAgfS5iaW5kKHRoaXMpLCAzMDApOwogIC8vIH0uYmluZCh0aGlzKSwgZmFsc2UpOwp9OwoKLyoqCiAqIEBwcml2YXRlCiAqIEBwYXJhbSB7RXZlbnR9IGUgVGhlIHBvcCBldmVudC4KICovClNsaWRlRGVjay5wcm90b3R5cGUub25Qb3BTdGF0ZV8gPSBmdW5jdGlvbihlKSB7CiAgaWYgKGUuc3RhdGUgIT0gbnVsbCkgewogICAgdGhpcy5jdXJTbGlkZV8gPSBlLnN0YXRlOwogICAgdGhpcy51cGRhdGVTbGlkZXNfKHRydWUpOwogIH0KfTsKCi8qKgogKiBAcGFyYW0ge0V2ZW50fSBlCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLm9uQm9keUtleURvd25fID0gZnVuY3Rpb24oZSkgewoKICAvLyBEb24ndCBoYW5kbGUga2V5cyBpZiBhbiBpbnB1dCBvciB0ZXh0IGFyZWEgaXMgYWN0aXZlLiBEbyBzcGVjaWFsIGhhbmRsaW5nCiAgLy8gZm9yIHNlbGVjdGl6ZSBiZWNhdXNlIGl0IGtlZXBzIGZvY3VzIHdpdGhpbiBhbiBvZmZzY3JlZW4gdGV4dGJveCBldmVuCiAgLy8gd2hlbiBqdXN0IHRoZSBzZWxlY3QgY29udHJvbCBpcyBzaG93aW5nIC0tIGZvciBzZWxlY3RpemUgd2UgcmVmcmFpbiBmcm9tCiAgLy8gaGFuZGxpbmcga2V5cyBvbmx5IHdoZW4gdGhlIHRleHQgaW5wdXQgaXMgYWN0aXZlIG9yIHdoZW4gdGhlIHVwIG9yIGRvd24KICAvLyBhcnJvdyBrZXkgaXMgcHJlc3NlZCAod2hpY2ggaXMgdXNlZCB0byBvcGVuIHRoZSBsaXN0IGZyb20gdGhlIGtleWJvYXJkKQogIHZhciBwYXJlbnROb2RlID0gZS50YXJnZXQucGFyZW50Tm9kZSB8fCBlLnRhcmdldDsgLy8gaGFuZGxlIG5vIHBhcmVudAogIGlmIChwYXJlbnROb2RlLmNsYXNzTGlzdCAmJiBwYXJlbnROb2RlLmNsYXNzTGlzdC5jb250YWlucygnc2VsZWN0aXplLWlucHV0JykpIHsKICAgIGlmIChwYXJlbnROb2RlLmNsYXNzTGlzdC5jb250YWlucygnaW5wdXQtYWN0aXZlJykgfHwgIC8vIHRleHQgaW5wdXQgaXMgYWN0aXZlCiAgICAgICAoZS5rZXlDb2RlID09IDM4KSB8fCAoZS5rZXlDb2RlID09IDQwKSkgICAgICAgICAgICAvLyB1cCBvciBkb3duIGFycm93CiAgICAgIHJldHVybjsKICB9IGVsc2UgaWYgKC9eKGlucHV0fHRleHRhcmVhKSQvaS50ZXN0KGUudGFyZ2V0Lm5vZGVOYW1lKSB8fAogICAgICBlLnRhcmdldC5pc0NvbnRlbnRFZGl0YWJsZSkgewogICAgcmV0dXJuOwogIH0KCiAgLy8gRm9yd2FyZCBrZXlkb3ducyB0byB0aGUgbWFpbiBzbGlkZXMgaWYgd2UncmUgdGhlIHBvcHVwLgogIGlmICh0aGlzLmNvbnRyb2xsZXIgJiYgdGhpcy5jb250cm9sbGVyLmlzUG9wdXApIHsKICAgIHRoaXMuY29udHJvbGxlci5zZW5kTXNnKHtrZXlDb2RlOiBlLmtleUNvZGV9KTsKICB9CgogIHN3aXRjaCAoZS5rZXlDb2RlKSB7CiAgICBjYXNlIDEzOiAvLyBFbnRlcgogICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ292ZXJ2aWV3JykpIHsKICAgICAgICB0aGlzLnRvZ2dsZU92ZXJ2aWV3KCk7CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSAzOTogLy8gcmlnaHQgYXJyb3cKICAgIGNhc2UgMzI6IC8vIHNwYWNlCiAgICBjYXNlIDM0OiAvLyBQZ0RuCiAgICAgIHRoaXMubmV4dFNsaWRlKCk7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAzNzogLy8gbGVmdCBhcnJvdwogICAgY2FzZSA4OiAvLyBCYWNrc3BhY2UKICAgIGNhc2UgMzM6IC8vIFBnVXAKICAgICAgdGhpcy5wcmV2U2xpZGUoKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICBicmVhazsKCiAgICBjYXNlIDQwOiAvLyBkb3duIGFycm93CiAgICAgIHRoaXMubmV4dFNsaWRlKCk7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAzODogLy8gdXAgYXJyb3cKICAgICAgdGhpcy5wcmV2U2xpZGUoKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICBicmVhazsKCiAgICBjYXNlIDcyOiAvLyBIOiBUb2dnbGUgY29kZSBoaWdobGlnaHRpbmcKICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCdoaWdobGlnaHQtY29kZScpOwogICAgICBicmVhazsKCiAgICBjYXNlIDc5OiAvLyBPOiBUb2dnbGUgb3ZlcnZpZXcKICAgICAgdGhpcy50b2dnbGVPdmVydmlldygpOwogICAgICBicmVhazsKCiAgICBjYXNlIDgwOiAvLyBQCiAgICAgIGlmICh0aGlzLmNvbnRyb2xsZXIgJiYgdGhpcy5jb250cm9sbGVyLmlzUG9wdXApIHsKICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ3dpdGgtbm90ZXMnKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2xsZXIgJiYgIXRoaXMuY29udHJvbGxlci5wb3B1cCkgewogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgnd2l0aC1ub3RlcycpOwogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgODI6IC8vIFIKICAgICAgLy8gVE9ETzogaW1wbGVtZW50IHJlZnJlc2ggb24gbWFpbiBzbGlkZXMgd2hlbiBwb3B1cCBpcyByZWZyZXNoZWQuCiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMjc6IC8vIEVTQzogSGlkZSBub3RlcyBhbmQgaGlnaGxpZ2h0aW5nCiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnd2l0aC1ub3RlcycpOwogICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZ2hsaWdodC1jb2RlJyk7CgogICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ292ZXJ2aWV3JykpIHsKICAgICAgICB0aGlzLnRvZ2dsZU92ZXJ2aWV3KCk7CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSA3MDogLy8gRjogVG9nZ2xlIGZ1bGxzY3JlZW4KICAgICAgIC8vIE9ubHkgcmVzcGVjdCAnZicgb24gYm9keS4gRG9uJ3Qgd2FudCB0byBjYXB0dXJlIGtleXMgZnJvbSBhbiA8aW5wdXQ+LgogICAgICAgLy8gQWxzbywgaWdub3JlIGJyb3dzZXIncyBmdWxsc2NyZWVuIHNob3J0Y3V0IChjbWQrc2hpZnQrZikgc28gd2UgZG9uJ3QKICAgICAgIC8vIGdldCB0cmFwcGVkIGluIGZ1bGxzY3JlZW4hCiAgICAgIGlmIChkb2N1bWVudC5jYW5jZWxGdWxsU2NyZWVuICE9PSB1bmRlZmluZWQgJiYgZS50YXJnZXQgPT0gZG9jdW1lbnQuYm9keSAmJiAhKGUuc2hpZnRLZXkgJiYgZS5tZXRhS2V5KSkgewogICAgICAgIGlmIChkb2N1bWVudC5tb3pGdWxsU2NyZWVuICE9PSB1bmRlZmluZWQgJiYgIWRvY3VtZW50Lm1vekZ1bGxTY3JlZW4pIHsKICAgICAgICAgIGRvY3VtZW50LmJvZHkubW96UmVxdWVzdEZ1bGxTY3JlZW4oRWxlbWVudC5BTExPV19LRVlCT0FSRF9JTlBVVCk7CiAgICAgICAgfSBlbHNlIGlmIChkb2N1bWVudC53ZWJraXRJc0Z1bGxTY3JlZW4gIT09IHVuZGVmaW5lZCAmJiAhZG9jdW1lbnQud2Via2l0SXNGdWxsU2NyZWVuKSB7CiAgICAgICAgICBkb2N1bWVudC5ib2R5LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKEVsZW1lbnQuQUxMT1dfS0VZQk9BUkRfSU5QVVQpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBkb2N1bWVudC5jYW5jZWxGdWxsU2NyZWVuKCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgODc6IC8vIFc6IFRvZ2dsZSB3aWRlc2NyZWVuCiAgICAgIC8vIE9ubHkgcmVzcGVjdCAndycgb24gYm9keS4gRG9uJ3Qgd2FudCB0byBjYXB0dXJlIGtleXMgZnJvbSBhbiA8aW5wdXQ+LgogICAgICBpZiAoZS50YXJnZXQgPT0gZG9jdW1lbnQuYm9keSAmJiAhKGUuc2hpZnRLZXkgJiYgZS5tZXRhS2V5KSkgewogICAgICAgIHRoaXMuY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2xheW91dC13aWRlc2NyZWVuJyk7CiAgICAgIH0KICAgICAgYnJlYWs7CiAgfQp9OwoKLyoqCiAqCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmZvY3VzT3ZlcnZpZXdfID0gZnVuY3Rpb24oKSB7CiAgdmFyIG92ZXJ2aWV3ID0gZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ292ZXJ2aWV3Jyk7CgogIGZvciAodmFyIGkgPSAwLCBzbGlkZTsgc2xpZGUgPSB0aGlzLnNsaWRlc1tpXTsgaSsrKSB7CiAgICBzbGlkZS5zdHlsZVtNb2Rlcm5penIucHJlZml4ZWQoJ3RyYW5zZm9ybScpXSA9IG92ZXJ2aWV3ID8KICAgICAgICAndHJhbnNsYXRlWigtMjUwMHB4KSB0cmFuc2xhdGUoJyArICgoIGkgLSB0aGlzLmN1clNsaWRlXyApICogMTA1KSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICclLCAwJSknIDogJyc7CiAgfQp9OwoKLyoqCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLnRvZ2dsZU92ZXJ2aWV3ID0gZnVuY3Rpb24oKSB7CiAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCdvdmVydmlldycpOwoKICB0aGlzLmZvY3VzT3ZlcnZpZXdfKCk7Cn07CgovKioKICogQHByaXZhdGUKICovClNsaWRlRGVjay5wcm90b3R5cGUubG9hZENvbmZpZ18gPSBmdW5jdGlvbihjb25maWcpIHsKICBpZiAoIWNvbmZpZykgewogICAgcmV0dXJuOwogIH0KCiAgdGhpcy5jb25maWdfID0gY29uZmlnOwoKICB2YXIgc2V0dGluZ3MgPSB0aGlzLmNvbmZpZ18uc2V0dGluZ3M7CgogIHRoaXMubG9hZFRoZW1lXyhzZXR0aW5ncy50aGVtZSB8fCBbXSk7CgogIGlmIChzZXR0aW5ncy5mYXZJY29uKSB7CiAgICB0aGlzLmFkZEZhdkljb25fKHNldHRpbmdzLmZhdkljb24pOwogIH0KCiAgLy8gUHJldHR5cHJpbnQuIERlZmF1bHQgdG8gb24uCiAgaWYgKCEhISgndXNlUHJldHRpZnknIGluIHNldHRpbmdzKSB8fCBzZXR0aW5ncy51c2VQcmV0dGlmeSkgewogICAgcHJldHR5UHJpbnQoKTsKICB9CgogIGlmIChzZXR0aW5ncy5hbmFseXRpY3MpIHsKICAgIHRoaXMubG9hZEFuYWx5dGljc18oKTsKICB9CgogIGlmIChzZXR0aW5ncy5mb250cykgewogICAgdGhpcy5hZGRGb250c18oc2V0dGluZ3MuZm9udHMpOwogIH0KCiAgLy8gQnVpbGRzLiBEZWZhdWx0IHRvIG9uLgogIGlmICghISEoJ3VzZUJ1aWxkcycgaW4gc2V0dGluZ3MpIHx8IHNldHRpbmdzLnVzZUJ1aWxkcykgewogICAgdGhpcy5tYWtlQnVpbGRMaXN0c18oKTsKICB9CgogIGlmIChzZXR0aW5ncy50aXRsZSkgewogICAgZG9jdW1lbnQudGl0bGUgPSBzZXR0aW5ncy50aXRsZS5yZXBsYWNlKC88YnJcLz8+LywgJyAnKTsKICAgIGlmIChzZXR0aW5ncy5ldmVudEluZm8gJiYgc2V0dGluZ3MuZXZlbnRJbmZvLnRpdGxlKSB7CiAgICAgIGRvY3VtZW50LnRpdGxlICs9ICAnIC0gJyArIHNldHRpbmdzLmV2ZW50SW5mby50aXRsZTsKICAgIH0KICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWNvbmZpZy10aXRsZV0nKS5pbm5lckhUTUwgPSBzZXR0aW5ncy50aXRsZTsKICB9CgogIGlmIChzZXR0aW5ncy5zdWJ0aXRsZSkgewogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtY29uZmlnLXN1YnRpdGxlXScpLmlubmVySFRNTCA9IHNldHRpbmdzLnN1YnRpdGxlOwogIH0KCiAgaWYgKHRoaXMuY29uZmlnXy5wcmVzZW50ZXJzKSB7CiAgICB2YXIgcHJlc2VudGVycyA9IHRoaXMuY29uZmlnXy5wcmVzZW50ZXJzOwogICAgdmFyIGRhdGFDb25maWdDb250YWN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtY29uZmlnLWNvbnRhY3RdJyk7CgogICAgdmFyIGh0bWwgPSBbXTsKICAgIGlmIChwcmVzZW50ZXJzLmxlbmd0aCA9PSAxKSB7CiAgICAgIHZhciBwID0gcHJlc2VudGVyc1swXTsKCiAgICAgIHZhciBwcmVzZW50ZXJUaXRsZSA9IFtwLm5hbWVdOwogICAgICBpZiAocC5jb21wYW55KSB7CiAgICAgICAgcHJlc2VudGVyVGl0bGUucHVzaChwLmNvbXBhbnkpOwogICAgICB9CiAgICAgIGh0bWwgPSBwcmVzZW50ZXJUaXRsZS5qb2luKCcgLSAnKSArICc8YnI+JzsKCiAgICAgIHZhciBncGx1cyA9IHAuZ3BsdXMgPyAnPHNwYW4+Zys8L3NwYW4+PGEgaHJlZj0iJyArIHAuZ3BsdXMgKwogICAgICAgICAgJyI+JyArIHAuZ3BsdXMucmVwbGFjZSgvaHR0cHM/OlwvXC8vLCAnJykgKyAnPC9hPicgOiAnJzsKCiAgICAgIHZhciB0d2l0dGVyID0gcC50d2l0dGVyID8gJzxzcGFuPnR3aXR0ZXI8L3NwYW4+JyArCiAgICAgICAgICAnPGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tLycgKyBwLnR3aXR0ZXIgKyAnIj4nICsKICAgICAgICAgIHAudHdpdHRlciArICc8L2E+JyA6ICcnOwoKICAgICAgdmFyIHd3dyA9IHAud3d3ID8gJzxzcGFuPnd3dzwvc3Bhbj48YSBocmVmPSInICsgcC53d3cgKwogICAgICAgICAgICAgICAgICAgICAgICAnIj4nICsgcC53d3cucmVwbGFjZSgvaHR0cHM/OlwvXC8vLCAnJykgKyAnPC9hPicgOiAnJzsKCiAgICAgIHZhciBnaXRodWIgPSBwLmdpdGh1YiA/ICc8c3Bhbj5naXRodWI8L3NwYW4+PGEgaHJlZj0iJyArIHAuZ2l0aHViICsKICAgICAgICAgICciPicgKyBwLmdpdGh1Yi5yZXBsYWNlKC9odHRwcz86XC9cLy8sICcnKSArICc8L2E+JyA6ICcnOwoKICAgICAgdmFyIGh0bWwyID0gW2dwbHVzLCB0d2l0dGVyLCB3d3csIGdpdGh1Yl0uam9pbignPGJyPicpOwoKICAgICAgaWYgKGRhdGFDb25maWdDb250YWN0KSB7CiAgICAgICAgZGF0YUNvbmZpZ0NvbnRhY3QuaW5uZXJIVE1MID0gaHRtbDI7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBwOyBwID0gcHJlc2VudGVyc1tpXTsgKytpKSB7CiAgICAgICAgaHRtbC5wdXNoKHAubmFtZSArICcgLSAnICsgcC5jb21wYW55KTsKICAgICAgfQogICAgICBodG1sID0gaHRtbC5qb2luKCc8YnI+Jyk7CiAgICAgIGlmIChkYXRhQ29uZmlnQ29udGFjdCkgewogICAgICAgIGRhdGFDb25maWdDb250YWN0LmlubmVySFRNTCA9IGh0bWw7CiAgICAgIH0KICAgIH0KCiAgICB2YXIgZGF0YUNvbmZpZ1ByZXNlbnRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWNvbmZpZy1wcmVzZW50ZXJdJyk7CiAgICBpZiAoZGF0YUNvbmZpZ1ByZXNlbnRlcikgewogICAgICBkYXRhQ29uZmlnUHJlc2VudGVyLmlubmVySFRNTCA9IGh0bWw7CiAgICAgIGlmIChzZXR0aW5ncy5ldmVudEluZm8pIHsKICAgICAgICB2YXIgZGF0ZSA9IHNldHRpbmdzLmV2ZW50SW5mby5kYXRlOwogICAgICAgIHZhciBkYXRlSW5mbyA9IGRhdGUgPyAnIC0gPHRpbWU+JyArIGRhdGUgKyAnPC90aW1lPicgOiAnJzsKICAgICAgICBkYXRhQ29uZmlnUHJlc2VudGVyLmlubmVySFRNTCArPSBzZXR0aW5ncy5ldmVudEluZm8udGl0bGUgKyBkYXRlSW5mbzsKICAgICAgfQogICAgfQogIH0KCiAgLyogTGVmdC9SaWdodCB0YXAgYXJlYXMuIERlZmF1bHQgdG8gaW5jbHVkaW5nLiAqLwogIGlmICghISEoJ2VuYWJsZVNsaWRlQXJlYXMnIGluIHNldHRpbmdzKSB8fCBzZXR0aW5ncy5lbmFibGVTbGlkZUFyZWFzKSB7CiAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGVsLmNsYXNzTGlzdC5hZGQoJ3NsaWRlLWFyZWEnKTsKICAgIGVsLmlkID0gJ3ByZXYtc2xpZGUtYXJlYSc7CiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMucHJldlNsaWRlLmJpbmQodGhpcyksIGZhbHNlKTsKICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKGVsKTsKCiAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGVsLmNsYXNzTGlzdC5hZGQoJ3NsaWRlLWFyZWEnKTsKICAgIGVsLmlkID0gJ25leHQtc2xpZGUtYXJlYSc7CiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubmV4dFNsaWRlLmJpbmQodGhpcyksIGZhbHNlKTsKICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKGVsKTsKICB9CgogIGlmIChNb2Rlcm5penIudG91Y2ggJiYgKCEhISgnZW5hYmxlVG91Y2gnIGluIHNldHRpbmdzKSB8fAogICAgICBzZXR0aW5ncy5lbmFibGVUb3VjaCkpIHsKICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAvLyBOb3RlOiB0aGlzIHByZXZlbnRzIG1vYmlsZSB6b29tIGluL291dCBidXQgcHJldmVudHMgaU9TIGZyb20gZG9pbmcKICAgIC8vIGl0J3MgY3Jhenkgc2Nyb2xsIG92ZXIgZWZmZWN0IGFuZCBkaXNhbGlnbmluZyB0aGUgc2xpZGVzLgogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbihlKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0sIGZhbHNlKTsKCiAgICB2YXIgaGFtbWVyID0gbmV3IEhhbW1lcih0aGlzLmNvbnRhaW5lcik7CiAgICBoYW1tZXIub25kcmFnZW5kID0gZnVuY3Rpb24oZSkgewogICAgICBpZiAoZS5kaXJlY3Rpb24gPT0gJ3JpZ2h0JyB8fCBlLmRpcmVjdGlvbiA9PSAnZG93bicpIHsKICAgICAgICBzZWxmLnByZXZTbGlkZSgpOwogICAgICB9IGVsc2UgaWYgKGUuZGlyZWN0aW9uID09ICdsZWZ0JyB8fCBlLmRpcmVjdGlvbiA9PSAndXAnKSB7CiAgICAgICAgc2VsZi5uZXh0U2xpZGUoKTsKICAgICAgfQogICAgfTsKICB9Cn07CgovKioKICogQHByaXZhdGUKICogQHBhcmFtIHtBcnJheS48c3RyaW5nPn0gZm9udHMKICovClNsaWRlRGVjay5wcm90b3R5cGUuYWRkRm9udHNfID0gZnVuY3Rpb24oZm9udHMpIHsKICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CiAgZWwucmVsID0gJ3N0eWxlc2hlZXQnOwogIGVsLmhyZWYgPSAoJ2h0dHBzOicgPT0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPyAnaHR0cHMnIDogJ2h0dHAnKSArCiAgICAgICc6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PScgKyBmb250cy5qb2luKCd8JykgKyAnJnYyJzsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkJykuYXBwZW5kQ2hpbGQoZWwpOwp9OwoKLyoqCiAqIEBwcml2YXRlCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmJ1aWxkTmV4dEl0ZW1fID0gZnVuY3Rpb24oKSB7CiAgdmFyIHNsaWRlID0gdGhpcy5zbGlkZXNbdGhpcy5jdXJTbGlkZV9dOwogIHZhciB0b0J1aWxkID0gc2xpZGUucXVlcnlTZWxlY3RvcignLnRvLWJ1aWxkJyk7CiAgdmFyIGJ1aWx0ID0gc2xpZGUucXVlcnlTZWxlY3RvcignLmJ1aWxkLWN1cnJlbnQnKTsKCiAgaWYgKGJ1aWx0KSB7CiAgICBidWlsdC5jbGFzc0xpc3QucmVtb3ZlKCdidWlsZC1jdXJyZW50Jyk7CiAgICBpZiAoYnVpbHQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmYWRlJykpIHsKICAgICAgYnVpbHQuY2xhc3NMaXN0LmFkZCgnYnVpbGQtZmFkZScpOwogICAgfQogIH0KCiAgaWYgKCF0b0J1aWxkKSB7CiAgICB2YXIgaXRlbXMgPSBzbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCcuYnVpbGQtZmFkZScpOwogICAgZm9yICh2YXIgaiA9IDAsIGl0ZW07IGl0ZW0gPSBpdGVtc1tqXTsgaisrKSB7CiAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnYnVpbGQtZmFkZScpOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgdG9CdWlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0by1idWlsZCcpOwogIHRvQnVpbGQuY2xhc3NMaXN0LmFkZCgnYnVpbGQtY3VycmVudCcpOwoKICByZXR1cm4gdHJ1ZTsKfTsKCi8qKgogKiBAcGFyYW0ge2Jvb2xlYW49fSBvcHRfZG9udFB1c2gKICovClNsaWRlRGVjay5wcm90b3R5cGUucHJldlNsaWRlID0gZnVuY3Rpb24ob3B0X2RvbnRQdXNoKSB7CiAgaWYgKHRoaXMuY3VyU2xpZGVfID4gMCkgewogICAgdmFyIGJvZHlDbGFzc0xpc3QgPSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdDsKICAgIGJvZHlDbGFzc0xpc3QucmVtb3ZlKCdoaWdobGlnaHQtY29kZScpOwoKICAgIC8vIFRvZ2dsZSBvZmYgc3BlYWtlciBub3RlcyBpZiB0aGV5J3JlIHNob3dpbmcgd2hlbiB3ZSBtb3ZlIGJhY2t3YXJkcyBvbiB0aGUKICAgIC8vIG1haW4gc2xpZGVzLiBJZiB3ZSdyZSB0aGUgc3BlYWtlciBub3RlcyBwb3B1cCwgbGVhdmUgdGhlbSB1cC4KICAgIGlmICh0aGlzLmNvbnRyb2xsZXIgJiYgIXRoaXMuY29udHJvbGxlci5pc1BvcHVwKSB7CiAgICAgIGJvZHlDbGFzc0xpc3QucmVtb3ZlKCd3aXRoLW5vdGVzJyk7CiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbnRyb2xsZXIpIHsKICAgICAgYm9keUNsYXNzTGlzdC5yZW1vdmUoJ3dpdGgtbm90ZXMnKTsKICAgIH0KCiAgICB0aGlzLnByZXZTbGlkZV8gPSB0aGlzLmN1clNsaWRlXy0tOwoKICAgIHRoaXMudXBkYXRlU2xpZGVzXyhvcHRfZG9udFB1c2gpOwogIH0KfTsKCi8qKgogKiBAcGFyYW0ge2Jvb2xlYW49fSBvcHRfZG9udFB1c2gKICovClNsaWRlRGVjay5wcm90b3R5cGUubmV4dFNsaWRlID0gZnVuY3Rpb24ob3B0X2RvbnRQdXNoKSB7CiAgaWYgKCFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnb3ZlcnZpZXcnKSAmJiB0aGlzLmJ1aWxkTmV4dEl0ZW1fKCkpIHsKICAgIHJldHVybjsKICB9CgogIGlmICh0aGlzLmN1clNsaWRlXyA8IHRoaXMuc2xpZGVzLmxlbmd0aCAtIDEpIHsKICAgIHZhciBib2R5Q2xhc3NMaXN0ID0gZG9jdW1lbnQuYm9keS5jbGFzc0xpc3Q7CiAgICBib2R5Q2xhc3NMaXN0LnJlbW92ZSgnaGlnaGxpZ2h0LWNvZGUnKTsKCiAgICAvLyBUb2dnbGUgb2ZmIHNwZWFrZXIgbm90ZXMgaWYgdGhleSdyZSBzaG93aW5nIHdoZW4gd2UgYWR2YW5jZWQgb24gdGhlIG1haW4KICAgIC8vIHNsaWRlcy4gSWYgd2UncmUgdGhlIHNwZWFrZXIgbm90ZXMgcG9wdXAsIGxlYXZlIHRoZW0gdXAuCiAgICBpZiAodGhpcy5jb250cm9sbGVyICYmICF0aGlzLmNvbnRyb2xsZXIuaXNQb3B1cCkgewogICAgICBib2R5Q2xhc3NMaXN0LnJlbW92ZSgnd2l0aC1ub3RlcycpOwogICAgfSBlbHNlIGlmICghdGhpcy5jb250cm9sbGVyKSB7CiAgICAgIGJvZHlDbGFzc0xpc3QucmVtb3ZlKCd3aXRoLW5vdGVzJyk7CiAgICB9CgogICAgdGhpcy5wcmV2U2xpZGVfID0gdGhpcy5jdXJTbGlkZV8rKzsKCiAgICB0aGlzLnVwZGF0ZVNsaWRlc18ob3B0X2RvbnRQdXNoKTsKICB9Cn07CgovKiBTbGlkZSBldmVudHMgKi8KCi8qKgogKiBUcmlnZ2VyZWQgd2hlbiBhIHNsaWRlIGVudGVyL2xlYXZlIGV2ZW50IHNob3VsZCBiZSBkaXNwYXRjaGVkLgogKgogKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBUaGUgdHlwZSBvZiBldmVudCB0byB0cmlnZ2VyCiAqICAgICAoZS5nLiAnc2xpZGVlbnRlcicsICdzbGlkZWxlYXZlJykuCiAqIEBwYXJhbSB7bnVtYmVyfSBzbGlkZU5vIFRoZSBpbmRleCBvZiB0aGUgc2xpZGUgdGhhdCBpcyBiZWluZyBsZWZ0LgogKi8KU2xpZGVEZWNrLnByb3RvdHlwZS50cmlnZ2VyU2xpZGVFdmVudCA9IGZ1bmN0aW9uKHR5cGUsIHNsaWRlTm8pIHsKICB2YXIgZWwgPSB0aGlzLmdldFNsaWRlRWxfKHNsaWRlTm8pOwogIGlmICghZWwpIHsKICAgIHJldHVybjsKICB9CgogIC8vIENhbGwgb25zbGlkZWVudGVyL29uc2xpZGVsZWF2ZSBpZiB0aGUgYXR0cmlidXRlIGlzIGRlZmluZWQgb24gdGhpcyBzbGlkZS4KICB2YXIgZnVuYyA9IGVsLmdldEF0dHJpYnV0ZSh0eXBlKTsKICBpZiAoZnVuYykgewogICAgbmV3IEZ1bmN0aW9uKGZ1bmMpLmNhbGwoZWwpOyAvLyBUT0RPOiBEb24ndCB1c2UgbmV3IEZ1bmN0aW9uKCkgOigKICB9CgogIC8vIERpc3BhdGNoIGV2ZW50IHRvIGxpc3RlbmVycyBzZXR1cCB1c2luZyBhZGRFdmVudExpc3RlbmVyLgogIHZhciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKTsKICBldnQuaW5pdEV2ZW50KHR5cGUsIHRydWUsIHRydWUpOwogIGV2dC5zbGlkZU51bWJlciA9IHNsaWRlTm8gKyAxOyAvLyBNYWtlIGl0IHJlYWRhYmxlCiAgZXZ0LnNsaWRlID0gZWw7CgogIGVsLmRpc3BhdGNoRXZlbnQoZXZ0KTsKfTsKCi8qKgogKiBAcHJpdmF0ZQogKi8KU2xpZGVEZWNrLnByb3RvdHlwZS51cGRhdGVTbGlkZXNfID0gZnVuY3Rpb24ob3B0X2RvbnRQdXNoKSB7CiAgdmFyIGRvbnRQdXNoID0gb3B0X2RvbnRQdXNoIHx8IGZhbHNlOwoKICB2YXIgY3VyU2xpZGUgPSB0aGlzLmN1clNsaWRlXzsKICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuc2xpZGVzLmxlbmd0aDsgKytpKSB7CiAgICBzd2l0Y2ggKGkpIHsKICAgICAgY2FzZSBjdXJTbGlkZSAtIDI6CiAgICAgICAgdGhpcy51cGRhdGVTbGlkZUNsYXNzXyhpLCAnZmFyLXBhc3QnKTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSBjdXJTbGlkZSAtIDE6CiAgICAgICAgdGhpcy51cGRhdGVTbGlkZUNsYXNzXyhpLCAncGFzdCcpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIGN1clNsaWRlOgogICAgICAgIHRoaXMudXBkYXRlU2xpZGVDbGFzc18oaSwgJ2N1cnJlbnQnKTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSBjdXJTbGlkZSArIDE6CiAgICAgICAgdGhpcy51cGRhdGVTbGlkZUNsYXNzXyhpLCAnbmV4dCcpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIGN1clNsaWRlICsgMjoKICAgICAgICB0aGlzLnVwZGF0ZVNsaWRlQ2xhc3NfKGksICdmYXItbmV4dCcpOwogICAgICAgIGJyZWFrOwogICAgICBkZWZhdWx0OgogICAgICAgIHRoaXMudXBkYXRlU2xpZGVDbGFzc18oaSk7CiAgICAgICAgYnJlYWs7CiAgICB9CiAgfTsKCiAgdGhpcy50cmlnZ2VyU2xpZGVFdmVudCgnc2xpZGVsZWF2ZScsIHRoaXMucHJldlNsaWRlXyk7CiAgdGhpcy50cmlnZ2VyU2xpZGVFdmVudCgnc2xpZGVlbnRlcicsIGN1clNsaWRlKTsKCi8vIHdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZGlzYWJsZVNsaWRlRnJhbWVzXy5iaW5kKHRoaXMsIGN1clNsaWRlIC0gMiksIDMwMSk7Ci8vCi8vIHRoaXMuZW5hYmxlU2xpZGVGcmFtZXNfKGN1clNsaWRlIC0gMSk7IC8vIFByZXZpb3VzIHNsaWRlLgovLyB0aGlzLmVuYWJsZVNsaWRlRnJhbWVzXyhjdXJTbGlkZSArIDEpOyAvLyBDdXJyZW50IHNsaWRlLgovLyB0aGlzLmVuYWJsZVNsaWRlRnJhbWVzXyhjdXJTbGlkZSArIDIpOyAvLyBOZXh0IHNsaWRlLgoKICAgLy8gRW5hYmxlIGN1cnJlbnQgc2xpZGUncyBpZnJhbWVzIChuZWVkZWQgZm9yIHBhZ2UgbG9hdCBhdCBjdXJyZW50IHNsaWRlKS4KICAgdGhpcy5lbmFibGVTbGlkZUZyYW1lc18oY3VyU2xpZGUgKyAxKTsKCiAgIC8vIE5vIHdheSB0byB0ZWxsIHdoZW4gYWxsIHNsaWRlIHRyYW5zaXRpb25zICsgYXV0byBidWlsZHMgYXJlIGRvbmUuCiAgIC8vIEdpdmUgb3Vyc2VsdmVzIGEgZ29vZCBidWZmZXIgdG8gcHJlbG9hZCB0aGUgbmV4dCBzbGlkZSdzIGlmcmFtZXMuCiAgIHdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZW5hYmxlU2xpZGVGcmFtZXNfLmJpbmQodGhpcywgY3VyU2xpZGUgKyAyKSwgMTAwMCk7CgogIHRoaXMudXBkYXRlSGFzaF8oZG9udFB1c2gpOwoKICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ292ZXJ2aWV3JykpIHsKICAgIHRoaXMuZm9jdXNPdmVydmlld18oKTsKICAgIHJldHVybjsKICB9Cgp9OwoKLyoqCiAqIEBwcml2YXRlCiAqIEBwYXJhbSB7bnVtYmVyfSBzbGlkZU5vCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmVuYWJsZVNsaWRlRnJhbWVzXyA9IGZ1bmN0aW9uKHNsaWRlTm8pIHsKICB2YXIgZWwgPSB0aGlzLnNsaWRlc1tzbGlkZU5vIC0gMV07CiAgaWYgKCFlbCkgewogICAgcmV0dXJuOwogIH0KCiAgdmFyIGZyYW1lcyA9IGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpOwogIGZvciAodmFyIGkgPSAwLCBmcmFtZTsgZnJhbWUgPSBmcmFtZXNbaV07IGkrKykgewogICAgdGhpcy5lbmFibGVGcmFtZV8oZnJhbWUpOwogIH0KfTsKCi8qKgogKiBAcHJpdmF0ZQogKiBAcGFyYW0ge251bWJlcn0gc2xpZGVObwogKi8KU2xpZGVEZWNrLnByb3RvdHlwZS5lbmFibGVGcmFtZV8gPSBmdW5jdGlvbihmcmFtZSkgewogIHZhciBzcmMgPSBmcmFtZS5kYXRhc2V0LnNyYzsKICBpZiAoc3JjICYmIGZyYW1lLnNyYyAhPSBzcmMpIHsKICAgIGZyYW1lLnNyYyA9IHNyYzsKICB9Cn07CgovKioKICogQHByaXZhdGUKICogQHBhcmFtIHtudW1iZXJ9IHNsaWRlTm8KICovClNsaWRlRGVjay5wcm90b3R5cGUuZGlzYWJsZVNsaWRlRnJhbWVzXyA9IGZ1bmN0aW9uKHNsaWRlTm8pIHsKICB2YXIgZWwgPSB0aGlzLnNsaWRlc1tzbGlkZU5vIC0gMV07CiAgaWYgKCFlbCkgewogICAgcmV0dXJuOwogIH0KCiAgdmFyIGZyYW1lcyA9IGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpOwogIGZvciAodmFyIGkgPSAwLCBmcmFtZTsgZnJhbWUgPSBmcmFtZXNbaV07IGkrKykgewogICAgdGhpcy5kaXNhYmxlRnJhbWVfKGZyYW1lKTsKICB9Cn07CgovKioKICogQHByaXZhdGUKICogQHBhcmFtIHtOb2RlfSBmcmFtZQogKi8KU2xpZGVEZWNrLnByb3RvdHlwZS5kaXNhYmxlRnJhbWVfID0gZnVuY3Rpb24oZnJhbWUpIHsKICBmcmFtZS5zcmMgPSAnYWJvdXQ6YmxhbmsnOwp9OwoKLyoqCiAqIEBwcml2YXRlCiAqIEBwYXJhbSB7bnVtYmVyfSBzbGlkZU5vCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmdldFNsaWRlRWxfID0gZnVuY3Rpb24obm8pIHsKICBpZiAoKG5vIDwgMCkgfHwgKG5vID49IHRoaXMuc2xpZGVzLmxlbmd0aCkpIHsKICAgIHJldHVybiBudWxsOwogIH0gZWxzZSB7CiAgICByZXR1cm4gdGhpcy5zbGlkZXNbbm9dOwogIH0KfTsKCi8qKgogKiBAcHJpdmF0ZQogKiBAcGFyYW0ge251bWJlcn0gc2xpZGVObwogKiBAcGFyYW0ge3N0cmluZ30gY2xhc3NOYW1lCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLnVwZGF0ZVNsaWRlQ2xhc3NfID0gZnVuY3Rpb24oc2xpZGVObywgY2xhc3NOYW1lKSB7CiAgdmFyIGVsID0gdGhpcy5nZXRTbGlkZUVsXyhzbGlkZU5vKTsKCiAgaWYgKCFlbCkgewogICAgcmV0dXJuOwogIH0KCiAgaWYgKGNsYXNzTmFtZSkgewogICAgZWwuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpOwogIH0KCiAgZm9yICh2YXIgaSA9IDAsIHNsaWRlQ2xhc3M7IHNsaWRlQ2xhc3MgPSB0aGlzLlNMSURFX0NMQVNTRVNfW2ldOyArK2kpIHsKICAgIGlmIChjbGFzc05hbWUgIT0gc2xpZGVDbGFzcykgewogICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKHNsaWRlQ2xhc3MpOwogICAgfQogIH0KfTsKCi8qKgogKiBAcHJpdmF0ZQogKi8KU2xpZGVEZWNrLnByb3RvdHlwZS5tYWtlQnVpbGRMaXN0c18gPSBmdW5jdGlvbiAoKSB7CiAgZm9yICh2YXIgaSA9IHRoaXMuY3VyU2xpZGVfLCBzbGlkZTsgc2xpZGUgPSB0aGlzLnNsaWRlc1tpXTsgKytpKSB7CiAgICB2YXIgaXRlbXMgPSBzbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCcuYnVpbGQgPiAqJyk7CiAgICBmb3IgKHZhciBqID0gMCwgaXRlbTsgaXRlbSA9IGl0ZW1zW2pdOyArK2opIHsKICAgICAgaWYgKGl0ZW0uY2xhc3NMaXN0KSB7CiAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCd0by1idWlsZCcpOwogICAgICAgIGlmIChpdGVtLnBhcmVudE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdmYWRlJykpIHsKICAgICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnZmFkZScpOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KfTsKCi8qKgogKiBAcHJpdmF0ZQogKiBAcGFyYW0ge2Jvb2xlYW59IGRvbnRQdXNoCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLnVwZGF0ZUhhc2hfID0gZnVuY3Rpb24oZG9udFB1c2gpIHsKICBpZiAoIWRvbnRQdXNoKSB7CiAgICB2YXIgc2xpZGVObyA9IHRoaXMuY3VyU2xpZGVfICsgMTsKICAgIC8vIEFkZCBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgaGFzaC4KICAgIHZhciBsb2MgPSBsb2NhdGlvbi5wcm90b2NvbCsnLy8nK2xvY2F0aW9uLmhvc3QrbG9jYXRpb24ucGF0aG5hbWUrKGxvY2F0aW9uLnNlYXJjaD9sb2NhdGlvbi5zZWFyY2g6IiIpOwogICAgdmFyIGhhc2ggPSAnIycgKyBzbGlkZU5vOwogICAgaWYgKHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSAmJiAobG9jYXRpb24ucHJvdG9jb2wgIT09ICJmaWxlOiIpKSB7CiAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh0aGlzLmN1clNsaWRlXywgJ1NsaWRlICcgKyBzbGlkZU5vLCBsb2MgKyBoYXNoKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKGxvYyArIGhhc2gpOwogICAgfQoKICAgIC8vIFJlY29yZCBHQSBoaXQgb24gdGhpcyBzbGlkZS4KICAgIGlmKHR5cGVvZiB3aW5kb3cuZ2EgPT09ICdmdW5jdGlvbicpIHsKICAgICAgZ2EoJ3NldCcsICdwYWdlJywgaGFzaCkKICAgICAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsKICAgIH0KICB9Cn07CgoKLyoqCiAqIEBwcml2YXRlCiAqIEBwYXJhbSB7c3RyaW5nfSBmYXZJY29uCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmFkZEZhdkljb25fID0gZnVuY3Rpb24oZmF2SWNvbikgewogIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKICBlbC5yZWwgPSAnaWNvbic7CiAgZWwudHlwZSA9ICdpbWFnZS9wbmcnOwogIGVsLmhyZWYgPSBmYXZJY29uOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKS5hcHBlbmRDaGlsZChlbCk7Cn07CgovKioKICogQHByaXZhdGUKICogQHBhcmFtIHtzdHJpbmd9IHRoZW1lCiAqLwpTbGlkZURlY2sucHJvdG90eXBlLmxvYWRUaGVtZV8gPSBmdW5jdGlvbih0aGVtZSkgewogIHZhciBzdHlsZXMgPSBbXTsKICBpZiAodGhlbWUuY29uc3RydWN0b3IubmFtZSA9PT0gJ1N0cmluZycpIHsKICAgIHN0eWxlcy5wdXNoKHRoZW1lKTsKICB9IGVsc2UgewogICAgc3R5bGVzID0gdGhlbWU7CiAgfQoKICBmb3IgKHZhciBpID0gMCwgc3R5bGU7IHRoZW1lVXJsID0gc3R5bGVzW2ldOyBpKyspIHsKICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JzsKICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnOwogICAgaWYgKHRoZW1lVXJsLmluZGV4T2YoJ2h0dHAnKSA9PSAtMSkgewogICAgICBzdHlsZS5ocmVmID0gdGhpcy5DU1NfRElSXyArIHRoZW1lVXJsICsgJy5jc3MnOwogICAgfSBlbHNlIHsKICAgICAgc3R5bGUuaHJlZiA9IHRoZW1lVXJsOwogICAgfQogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZCcpLmFwcGVuZENoaWxkKHN0eWxlKTsKICB9Cn07CgovKioKICogQHByaXZhdGUKICovClNsaWRlRGVjay5wcm90b3R5cGUubG9hZEFuYWx5dGljc18gPSBmdW5jdGlvbigpIHsKICAoZnVuY3Rpb24oaSxzLG8sZyxyLGEsbSl7aVsnR29vZ2xlQW5hbHl0aWNzT2JqZWN0J109cjtpW3JdPWlbcl18fGZ1bmN0aW9uKCl7CiAgICAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwKICAgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkKICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7CgogIGdhKCdjcmVhdGUnLCB0aGlzLmNvbmZpZ18uc2V0dGluZ3MuYW5hbHl0aWNzLCAnYXV0bycpOwogIGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7Cn07CgoKdmFyIGxvYWREZWNrID0gZnVuY3Rpb24oZXZlbnQpIHsKICAvLyBQb2x5ZmlsbCBtaXNzaW5nIEFQSXMgKGlmIHdlIG5lZWQgdG8pLCB0aGVuIGNyZWF0ZSB0aGUgc2xpZGUgZGVjay4KICAvLyBpT1MgPCA1IG5lZWRzIGNsYXNzTGlzdCwgZGF0YXNldCwgYW5kIHdpbmRvdy5tYXRjaE1lZGlhLiBNb2Rlcm5penIgY29udGFpbnMKICAvLyB0aGUgbGFzdCBvbmUuCiAgTW9kZXJuaXpyLmxvYWQoewogICAgY29tcGxldGU6IGZ1bmN0aW9uKCkgewogICAgICB3aW5kb3cuc2xpZGVkZWNrID0gbmV3IFNsaWRlRGVjaygpOwogICAgfQogIH0pOwp9OwoKaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgIT09ICJsb2FkaW5nIiAmJgogICAgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2xpZGVzJykgPT09IG51bGwpIHsgCiAgLy8gaWYgdGhlIGRvY3VtZW50IGlzIGRvbmUgbG9hZGluZyBidXQgb3VyIGVsZW1lbnQgaGFzbid0IHlldCBhcHBlYXJlZCwgZGVmZXIKICAvLyBsb2FkaW5nIG9mIHRoZSBkZWNrCiAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBsb2FkRGVjayhudWxsKTsKICB9LCAwKTsKfSBlbHNlIHsKICAvLyBzdGlsbCBsb2FkaW5nIHRoZSBET00sIHNvIHdhaXQgdW50aWwgaXQncyBmaW5pc2hlZAogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBsb2FkRGVjayk7Cn0KCgoK"></script>
<script src="data:application/x-javascript;base64,KGZ1bmN0aW9uKCkgewogIC8vIElmIHdpbmRvdy5IVE1MV2lkZ2V0cyBpcyBhbHJlYWR5IGRlZmluZWQsIHRoZW4gdXNlIGl0OyBvdGhlcndpc2UgY3JlYXRlIGEKICAvLyBuZXcgb2JqZWN0LiBUaGlzIGFsbG93cyBwcmVjZWRpbmcgY29kZSB0byBzZXQgb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUKICAvLyBpbml0aWFsaXphdGlvbiBwcm9jZXNzICh0aG91Z2ggbm9uZSBjdXJyZW50bHkgZXhpc3QpLgogIHdpbmRvdy5IVE1MV2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cyB8fCB7fTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSB2aWV3ZXIgcGFuZS4gSWYgbm90LCB3ZSdyZSBpbiBhIHdlYiBicm93c2VyLgogIHZhciB2aWV3ZXJNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnZpZXdlck1vZGUgPQogICAgICAvXGJ2aWV3ZXJfcGFuZT0xXGIvLnRlc3Qod2luZG93LmxvY2F0aW9uKTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gU2hpbnkgbW9kZS4gSWYgbm90LCBpdCdzIGEgc3RhdGljIGRvY3VtZW50LgogIC8vIE5vdGUgdGhhdCBzdGF0aWMgd2lkZ2V0cyBjYW4gYXBwZWFyIGluIGJvdGggU2hpbnkgYW5kIHN0YXRpYyBtb2RlcywgYnV0CiAgLy8gb2J2aW91c2x5LCBTaGlueSB3aWRnZXRzIGNhbiBvbmx5IGFwcGVhciBpbiBTaGlueSBhcHBzL2RvY3VtZW50cy4KICB2YXIgc2hpbnlNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnNoaW55TW9kZSA9CiAgICAgIHR5cGVvZih3aW5kb3cuU2hpbnkpICE9PSAidW5kZWZpbmVkIiAmJiAhIXdpbmRvdy5TaGlueS5vdXRwdXRCaW5kaW5nczsKCiAgLy8gV2UgY2FuJ3QgY291bnQgb24galF1ZXJ5IGJlaW5nIGF2YWlsYWJsZSwgc28gd2UgaW1wbGVtZW50IG91ciBvd24KICAvLyB2ZXJzaW9uIGlmIG5lY2Vzc2FyeS4KICBmdW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKHR5cGVvZihqUXVlcnkpICE9PSAidW5kZWZpbmVkIiAmJiBzY29wZSBpbnN0YW5jZW9mIGpRdWVyeSkgewogICAgICByZXR1cm4gc2NvcGUuZmluZChzZWxlY3Rvcik7CiAgICB9CiAgICBpZiAoc2NvcGUucXVlcnlTZWxlY3RvckFsbCkgewogICAgICByZXR1cm4gc2NvcGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBhc0FycmF5KHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09IG51bGwpCiAgICAgIHJldHVybiBbXTsKICAgIGlmICgkLmlzQXJyYXkodmFsdWUpKQogICAgICByZXR1cm4gdmFsdWU7CiAgICByZXR1cm4gW3ZhbHVlXTsKICB9CgogIC8vIEltcGxlbWVudCBqUXVlcnkncyBleHRlbmQKICBmdW5jdGlvbiBleHRlbmQodGFyZ2V0IC8qLCAuLi4gKi8pIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgcmV0dXJuIHRhcmdldDsKICAgIH0KICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07CiAgICAgIGZvciAodmFyIHByb3AgaW4gc291cmNlKSB7CiAgICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgdGFyZ2V0W3Byb3BdID0gc291cmNlW3Byb3BdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhcmdldDsKICB9CgogIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgQXJyYXkuZm9yRWFjaC4KICBmdW5jdGlvbiBmb3JFYWNoKHZhbHVlcywgY2FsbGJhY2ssIHRoaXNBcmcpIHsKICAgIGlmICh2YWx1ZXMuZm9yRWFjaCkgewogICAgICB2YWx1ZXMuZm9yRWFjaChjYWxsYmFjaywgdGhpc0FyZyk7CiAgICB9IGVsc2UgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNhbGxiYWNrLmNhbGwodGhpc0FyZywgdmFsdWVzW2ldLCBpLCB2YWx1ZXMpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZXBsYWNlcyB0aGUgc3BlY2lmaWVkIG1ldGhvZCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgb2YgZnVuY1NvdXJjZS4KICAvLwogIC8vIE5vdGUgdGhhdCBmdW5jU291cmNlIHNob3VsZCBub3QgQkUgdGhlIG5ldyBtZXRob2QsIGl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uCiAgLy8gdGhhdCBSRVRVUk5TIHRoZSBuZXcgbWV0aG9kLiBmdW5jU291cmNlIHJlY2VpdmVzIGEgc2luZ2xlIGFyZ3VtZW50IHRoYXQgaXMKICAvLyB0aGUgb3ZlcnJpZGRlbiBtZXRob2QsIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbmV3IG1ldGhvZC4gVGhlIG92ZXJyaWRkZW4KICAvLyBtZXRob2QgY2FuIGJlIGNhbGxlZCBsaWtlIGEgcmVndWxhciBmdW5jdGlvbiwgaXQgaGFzIHRoZSB0YXJnZXQgcGVybWFuZW50bHkKICAvLyBib3VuZCB0byBpdCBzbyAidGhpcyIgd2lsbCB3b3JrIGNvcnJlY3RseS4KICBmdW5jdGlvbiBvdmVycmlkZU1ldGhvZCh0YXJnZXQsIG1ldGhvZE5hbWUsIGZ1bmNTb3VyY2UpIHsKICAgIHZhciBzdXBlckZ1bmMgPSB0YXJnZXRbbWV0aG9kTmFtZV0gfHwgZnVuY3Rpb24oKSB7fTsKICAgIHZhciBzdXBlckZ1bmNCb3VuZCA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gc3VwZXJGdW5jLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTsKICAgIH07CiAgICB0YXJnZXRbbWV0aG9kTmFtZV0gPSBmdW5jU291cmNlKHN1cGVyRnVuY0JvdW5kKTsKICB9CgogIC8vIEFkZCBhIG1ldGhvZCB0byBkZWxlZ2F0b3IgdGhhdCwgd2hlbiBpbnZva2VkLCBjYWxscwogIC8vIGRlbGVnYXRlZS5tZXRob2ROYW1lLiBJZiB0aGVyZSBpcyBubyBzdWNoIG1ldGhvZCBvbgogIC8vIHRoZSBkZWxlZ2F0ZWUsIGJ1dCB0aGVyZSB3YXMgb25lIG9uIGRlbGVnYXRvciBiZWZvcmUKICAvLyBkZWxlZ2F0ZU1ldGhvZCB3YXMgY2FsbGVkLCB0aGVuIHRoZSBvcmlnaW5hbCB2ZXJzaW9uCiAgLy8gaXMgaW52b2tlZCBpbnN0ZWFkLgogIC8vIEZvciBleGFtcGxlOgogIC8vCiAgLy8gdmFyIGEgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2ExJyk7IH0KICAvLyAgIG1ldGhvZDI6IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxvZygnYTInKTsgfQogIC8vIH07CiAgLy8gdmFyIGIgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2IxJyk7IH0KICAvLyB9OwogIC8vIGRlbGVnYXRlTWV0aG9kKGEsIGIsICJtZXRob2QxIik7CiAgLy8gZGVsZWdhdGVNZXRob2QoYSwgYiwgIm1ldGhvZDIiKTsKICAvLyBhLm1ldGhvZDEoKTsKICAvLyBhLm1ldGhvZDIoKTsKICAvLwogIC8vIFRoZSBvdXRwdXQgd291bGQgYmUgImIxIiwgImEyIi4KICBmdW5jdGlvbiBkZWxlZ2F0ZU1ldGhvZChkZWxlZ2F0b3IsIGRlbGVnYXRlZSwgbWV0aG9kTmFtZSkgewogICAgdmFyIGluaGVyaXRlZCA9IGRlbGVnYXRvclttZXRob2ROYW1lXTsKICAgIGRlbGVnYXRvclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgdGFyZ2V0ID0gZGVsZWdhdGVlOwogICAgICB2YXIgbWV0aG9kID0gZGVsZWdhdGVlW21ldGhvZE5hbWVdOwoKICAgICAgLy8gVGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSBkZWxlZ2F0ZWUuIEluc3RlYWQsCiAgICAgIC8vIGNhbGwgdGhlIG1ldGhvZCBvbiB0aGUgZGVsZWdhdG9yLCBpZiBpdCBleGlzdHMuCiAgICAgIGlmICghbWV0aG9kKSB7CiAgICAgICAgdGFyZ2V0ID0gZGVsZWdhdG9yOwogICAgICAgIG1ldGhvZCA9IGluaGVyaXRlZDsKICAgICAgfQoKICAgICAgaWYgKG1ldGhvZCkgewogICAgICAgIHJldHVybiBtZXRob2QuYXBwbHkodGFyZ2V0LCBhcmd1bWVudHMpOwogICAgICB9CiAgICB9OwogIH0KCiAgLy8gSW1wbGVtZW50IGEgdmFndWUgZmFjc2ltaWxpZSBvZiBqUXVlcnkncyBkYXRhIG1ldGhvZAogIGZ1bmN0aW9uIGVsZW1lbnREYXRhKGVsLCBuYW1lLCB2YWx1ZSkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgewogICAgICByZXR1cm4gZWxbImh0bWx3aWRnZXRfZGF0YV8iICsgbmFtZV07CiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMykgewogICAgICBlbFsiaHRtbHdpZGdldF9kYXRhXyIgKyBuYW1lXSA9IHZhbHVlOwogICAgICByZXR1cm4gZWw7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGVsZW1lbnREYXRhOiAiICsKICAgICAgICBhcmd1bWVudHMubGVuZ3RoKTsKICAgIH0KICB9CgogIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ0NjE3MC9lc2NhcGUtc3RyaW5nLWZvci11c2UtaW4tamF2YXNjcmlwdC1yZWdleAogIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHIpIHsKICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1wtXFtcXVwvXHtcfVwoXClcKlwrXD9cLlxcXF5cJFx8XS9nLCAiXFwkJiIpOwogIH0KCiAgZnVuY3Rpb24gaGFzQ2xhc3MoZWwsIGNsYXNzTmFtZSkgewogICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgiXFxiIiArIGVzY2FwZVJlZ0V4cChjbGFzc05hbWUpICsgIlxcYiIpOwogICAgcmV0dXJuIHJlLnRlc3QoZWwuY2xhc3NOYW1lKTsKICB9CgogIC8vIGVsZW1lbnRzIC0gYXJyYXkgKG9yIGFycmF5LWxpa2Ugb2JqZWN0KSBvZiBIVE1MIGVsZW1lbnRzCiAgLy8gY2xhc3NOYW1lIC0gY2xhc3MgbmFtZSB0byB0ZXN0IGZvcgogIC8vIGluY2x1ZGUgLSBpZiB0cnVlLCBvbmx5IHJldHVybiBlbGVtZW50cyB3aXRoIGdpdmVuIGNsYXNzTmFtZTsKICAvLyAgIGlmIGZhbHNlLCBvbmx5IHJldHVybiBlbGVtZW50cyAqd2l0aG91dCogZ2l2ZW4gY2xhc3NOYW1lCiAgZnVuY3Rpb24gZmlsdGVyQnlDbGFzcyhlbGVtZW50cywgY2xhc3NOYW1lLCBpbmNsdWRlKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoaGFzQ2xhc3MoZWxlbWVudHNbaV0sIGNsYXNzTmFtZSkgPT0gaW5jbHVkZSkKICAgICAgICByZXN1bHRzLnB1c2goZWxlbWVudHNbaV0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfQoKICBmdW5jdGlvbiBvbihvYmosIGV2ZW50TmFtZSwgZnVuYykgewogICAgaWYgKG9iai5hZGRFdmVudExpc3RlbmVyKSB7CiAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuYywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChvYmouYXR0YWNoRXZlbnQpIHsKICAgICAgb2JqLmF0dGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBvZmYob2JqLCBldmVudE5hbWUsIGZ1bmMpIHsKICAgIGlmIChvYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcikKICAgICAgb2JqLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jLCBmYWxzZSk7CiAgICBlbHNlIGlmIChvYmouZGV0YWNoRXZlbnQpIHsKICAgICAgb2JqLmRldGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICAvLyBUcmFuc2xhdGUgYXJyYXkgb2YgdmFsdWVzIHRvIHRvcC9yaWdodC9ib3R0b20vbGVmdCwgYXMgdXN1YWwgd2l0aAogIC8vIHRoZSAicGFkZGluZyIgQ1NTIHByb3BlcnR5CiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3BhZGRpbmcKICBmdW5jdGlvbiB1bnBhY2tQYWRkaW5nKHZhbHVlKSB7CiAgICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gIm51bWJlciIpCiAgICAgIHZhbHVlID0gW3ZhbHVlXTsKICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMF0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzBdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDIpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDMpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDQpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzNdfTsKICAgIH0KICB9CgogIC8vIENvbnZlcnQgYW4gdW5wYWNrZWQgcGFkZGluZyBvYmplY3QgdG8gYSBDU1MgdmFsdWUKICBmdW5jdGlvbiBwYWRkaW5nVG9Dc3MocGFkZGluZ09iaikgewogICAgcmV0dXJuIHBhZGRpbmdPYmoudG9wICsgInB4ICIgKyBwYWRkaW5nT2JqLnJpZ2h0ICsgInB4ICIgKyBwYWRkaW5nT2JqLmJvdHRvbSArICJweCAiICsgcGFkZGluZ09iai5sZWZ0ICsgInB4IjsKICB9CgogIC8vIE1ha2VzIGEgbnVtYmVyIHN1aXRhYmxlIGZvciBDU1MKICBmdW5jdGlvbiBweCh4KSB7CiAgICBpZiAodHlwZW9mKHgpID09PSAibnVtYmVyIikKICAgICAgcmV0dXJuIHggKyAicHgiOwogICAgZWxzZQogICAgICByZXR1cm4geDsKICB9CgogIC8vIFJldHJpZXZlcyBydW50aW1lIHdpZGdldCBzaXppbmcgaW5mb3JtYXRpb24gZm9yIGFuIGVsZW1lbnQuCiAgLy8gVGhlIHJldHVybiB2YWx1ZSBpcyBlaXRoZXIgbnVsbCwgb3IgYW4gb2JqZWN0IHdpdGggZmlsbCwgcGFkZGluZywKICAvLyBkZWZhdWx0V2lkdGgsIGRlZmF1bHRIZWlnaHQgZmllbGRzLgogIGZ1bmN0aW9uIHNpemluZ1BvbGljeShlbCkgewogICAgdmFyIHNpemluZ0VsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtZm9yPSciICsgZWwuaWQgKyAiJ11bdHlwZT0nYXBwbGljYXRpb24vaHRtbHdpZGdldC1zaXppbmcnXSIpOwogICAgaWYgKCFzaXppbmdFbCkKICAgICAgcmV0dXJuIG51bGw7CiAgICB2YXIgc3AgPSBKU09OLnBhcnNlKHNpemluZ0VsLnRleHRDb250ZW50IHx8IHNpemluZ0VsLnRleHQgfHwgInt9Iik7CiAgICBpZiAodmlld2VyTW9kZSkgewogICAgICByZXR1cm4gc3Audmlld2VyOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHNwLmJyb3dzZXI7CiAgICB9CiAgfQoKICAvLyBAcGFyYW0gdGFza3MgQXJyYXkgb2Ygc3RyaW5ncyAob3IgZmFsc3kgdmFsdWUsIGluIHdoaWNoIGNhc2Ugbm8tb3ApLgogIC8vICAgRWFjaCBlbGVtZW50IG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24gdGhhdCB5aWVsZHMgYQogIC8vICAgZnVuY3Rpb24uIE9yLCBjYW4gYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cyB3aXRoICJjb2RlIiBhbmQgImRhdGEiCiAgLy8gICBwcm9wZXJ0aWVzOyBpbiB0aGlzIGNhc2UsIHRoZSAiY29kZSIgcHJvcGVydHkgc2hvdWxkIGJlIGEgc3RyaW5nCiAgLy8gICBvZiBKUyB0aGF0J3MgYW4gZXhwciB0aGF0IHlpZWxkcyBhIGZ1bmN0aW9uLCBhbmQgImRhdGEiIHNob3VsZCBiZQogIC8vICAgYW4gb2JqZWN0IHRoYXQgd2lsbCBiZSBhZGRlZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50IHdoZW4gdGhhdAogIC8vICAgZnVuY3Rpb24gaXMgY2FsbGVkLgogIC8vIEBwYXJhbSB0YXJnZXQgVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgInRoaXMiIGZvciBlYWNoIGZ1bmN0aW9uCiAgLy8gICBleGVjdXRpb24uCiAgLy8gQHBhcmFtIGFyZ3MgQXJyYXkgb2YgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb25zLiAoVGhlCiAgLy8gICBzYW1lIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCB0byBhbGwgZnVuY3Rpb25zLikKICBmdW5jdGlvbiBldmFsQW5kUnVuKHRhc2tzLCB0YXJnZXQsIGFyZ3MpIHsKICAgIGlmICh0YXNrcykgewogICAgICBmb3JFYWNoKHRhc2tzLCBmdW5jdGlvbih0YXNrKSB7CiAgICAgICAgdmFyIHRoZXNlQXJncyA9IGFyZ3M7CiAgICAgICAgaWYgKHR5cGVvZih0YXNrKSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgIHRoZXNlQXJncyA9IHRoZXNlQXJncy5jb25jYXQoW3Rhc2suZGF0YV0pOwogICAgICAgICAgdGFzayA9IHRhc2suY29kZTsKICAgICAgICB9CiAgICAgICAgdmFyIHRhc2tGdW5jID0gZXZhbCgiKCIgKyB0YXNrICsgIikiKTsKICAgICAgICBpZiAodHlwZW9mKHRhc2tGdW5jKSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUYXNrIG11c3QgYmUgYSBmdW5jdGlvbiEgU291cmNlOlxuIiArIHRhc2spOwogICAgICAgIH0KICAgICAgICB0YXNrRnVuYy5hcHBseSh0YXJnZXQsIHRoZXNlQXJncyk7CiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gaW5pdFNpemluZyhlbCkgewogICAgdmFyIHNpemluZyA9IHNpemluZ1BvbGljeShlbCk7CiAgICBpZiAoIXNpemluZykKICAgICAgcmV0dXJuOwoKICAgIHZhciBjZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaHRtbHdpZGdldF9jb250YWluZXIiKTsKICAgIGlmICghY2VsKQogICAgICByZXR1cm47CgogICAgaWYgKHR5cGVvZihzaXppbmcucGFkZGluZykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUubWFyZ2luID0gIjAiOwogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmcgPSBwYWRkaW5nVG9Dc3ModW5wYWNrUGFkZGluZyhzaXppbmcucGFkZGluZykpOwogICAgfQoKICAgIGlmIChzaXppbmcuZmlsbCkgewogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gImhpZGRlbiI7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUud2lkdGggPSAiMTAwJSI7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuaGVpZ2h0ID0gIjEwMCUiOwogICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUud2lkdGggPSAiMTAwJSI7CiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIGlmIChjZWwpIHsKICAgICAgICBjZWwuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOwogICAgICAgIHZhciBwYWQgPSB1bnBhY2tQYWRkaW5nKHNpemluZy5wYWRkaW5nKTsKICAgICAgICBjZWwuc3R5bGUudG9wID0gcGFkLnRvcCArICJweCI7CiAgICAgICAgY2VsLnN0eWxlLnJpZ2h0ID0gcGFkLnJpZ2h0ICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUuYm90dG9tID0gcGFkLmJvdHRvbSArICJweCI7CiAgICAgICAgY2VsLnN0eWxlLmxlZnQgPSBwYWQubGVmdCArICJweCI7CiAgICAgICAgZWwuc3R5bGUud2lkdGggPSAiMTAwJSI7CiAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gIjEwMCUiOwogICAgICB9CgogICAgICByZXR1cm4gewogICAgICAgIGdldFdpZHRoOiBmdW5jdGlvbigpIHsgcmV0dXJuIGNlbC5vZmZzZXRXaWR0aDsgfSwKICAgICAgICBnZXRIZWlnaHQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY2VsLm9mZnNldEhlaWdodDsgfQogICAgICB9OwoKICAgIH0gZWxzZSB7CiAgICAgIGVsLnN0eWxlLndpZHRoID0gcHgoc2l6aW5nLndpZHRoKTsKICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gcHgoc2l6aW5nLmhlaWdodCk7CgogICAgICByZXR1cm4gewogICAgICAgIGdldFdpZHRoOiBmdW5jdGlvbigpIHsgcmV0dXJuIGVsLm9mZnNldFdpZHRoOyB9LAogICAgICAgIGdldEhlaWdodDogZnVuY3Rpb24oKSB7IHJldHVybiBlbC5vZmZzZXRIZWlnaHQ7IH0KICAgICAgfTsKICAgIH0KICB9CgogIC8vIERlZmF1bHQgaW1wbGVtZW50YXRpb25zIGZvciBtZXRob2RzCiAgdmFyIGRlZmF1bHRzID0gewogICAgZmluZDogZnVuY3Rpb24oc2NvcGUpIHsKICAgICAgcmV0dXJuIHF1ZXJ5U2VsZWN0b3JBbGwoc2NvcGUsICIuIiArIHRoaXMubmFtZSk7CiAgICB9LAogICAgcmVuZGVyRXJyb3I6IGZ1bmN0aW9uKGVsLCBlcnIpIHsKICAgICAgdmFyICRlbCA9ICQoZWwpOwoKICAgICAgdGhpcy5jbGVhckVycm9yKGVsKTsKCiAgICAgIC8vIEFkZCBhbGwgdGhlc2UgZXJyb3IgY2xhc3NlcywgYXMgU2hpbnkgZG9lcwogICAgICB2YXIgZXJyQ2xhc3MgPSAic2hpbnktb3V0cHV0LWVycm9yIjsKICAgICAgaWYgKGVyci50eXBlICE9PSBudWxsKSB7CiAgICAgICAgLy8gdXNlIHRoZSBjbGFzc2VzIG9mIHRoZSBlcnJvciBjb25kaXRpb24gYXMgQ1NTIGNsYXNzIG5hbWVzCiAgICAgICAgZXJyQ2xhc3MgPSBlcnJDbGFzcyArICIgIiArICQubWFwKGFzQXJyYXkoZXJyLnR5cGUpLCBmdW5jdGlvbih0eXBlKSB7CiAgICAgICAgICByZXR1cm4gZXJyQ2xhc3MgKyAiLSIgKyB0eXBlOwogICAgICAgIH0pLmpvaW4oIiAiKTsKICAgICAgfQogICAgICBlcnJDbGFzcyA9IGVyckNsYXNzICsgIiBodG1sd2lkZ2V0cy1lcnJvciI7CgogICAgICAvLyBJcyBlbCBpbmxpbmUgb3IgYmxvY2s/IElmIGlubGluZSBvciBpbmxpbmUtYmxvY2ssIGp1c3QgZGlzcGxheTpub25lIGl0CiAgICAgIC8vIGFuZCBhZGQgYW4gaW5saW5lIGVycm9yLgogICAgICB2YXIgZGlzcGxheSA9ICRlbC5jc3MoImRpc3BsYXkiKTsKICAgICAgJGVsLmRhdGEoInJlc3RvcmUtZGlzcGxheS1tb2RlIiwgZGlzcGxheSk7CgogICAgICBpZiAoZGlzcGxheSA9PT0gImlubGluZSIgfHwgZGlzcGxheSA9PT0gImlubGluZS1ibG9jayIpIHsKICAgICAgICAkZWwuaGlkZSgpOwogICAgICAgIGlmIChlcnIubWVzc2FnZSAhPT0gIiIpIHsKICAgICAgICAgIHZhciBlcnJvclNwYW4gPSAkKCI8c3Bhbj4iKS5hZGRDbGFzcyhlcnJDbGFzcyk7CiAgICAgICAgICBlcnJvclNwYW4udGV4dChlcnIubWVzc2FnZSk7CiAgICAgICAgICAkZWwuYWZ0ZXIoZXJyb3JTcGFuKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZGlzcGxheSA9PT0gImJsb2NrIikgewogICAgICAgIC8vIElmIGJsb2NrLCBhZGQgYW4gZXJyb3IganVzdCBhZnRlciB0aGUgZWwsIHNldCB2aXNpYmlsaXR5Om5vbmUgb24gdGhlCiAgICAgICAgLy8gZWwsIGFuZCBwb3NpdGlvbiB0aGUgZXJyb3IgdG8gYmUgb24gdG9wIG9mIHRoZSBlbC4KICAgICAgICAvLyBNYXJrIGl0IHdpdGggYSB1bmlxdWUgSUQgYW5kIENTUyBjbGFzcyBzbyB3ZSBjYW4gcmVtb3ZlIGl0IGxhdGVyLgogICAgICAgICRlbC5jc3MoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7CiAgICAgICAgaWYgKGVyci5tZXNzYWdlICE9PSAiIikgewogICAgICAgICAgdmFyIGVycm9yRGl2ID0gJCgiPGRpdj4iKS5hZGRDbGFzcyhlcnJDbGFzcykuY3NzKCJwb3NpdGlvbiIsICJhYnNvbHV0ZSIpCiAgICAgICAgICAgIC5jc3MoInRvcCIsIGVsLm9mZnNldFRvcCkKICAgICAgICAgICAgLmNzcygibGVmdCIsIGVsLm9mZnNldExlZnQpCiAgICAgICAgICAgIC8vIHNldHRpbmcgd2lkdGggY2FuIHB1c2ggb3V0IHRoZSBwYWdlIHNpemUsIGZvcmNpbmcgb3RoZXJ3aXNlCiAgICAgICAgICAgIC8vIHVubmVjZXNzYXJ5IHNjcm9sbGJhcnMgdG8gYXBwZWFyIGFuZCBtYWtpbmcgaXQgaW1wb3NzaWJsZSBmb3IKICAgICAgICAgICAgLy8gdGhlIGVsZW1lbnQgdG8gc2hyaW5rOyBzbyB1c2UgbWF4LXdpZHRoIGluc3RlYWQKICAgICAgICAgICAgLmNzcygibWF4V2lkdGgiLCBlbC5vZmZzZXRXaWR0aCkKICAgICAgICAgICAgLmNzcygiaGVpZ2h0IiwgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgIGVycm9yRGl2LnRleHQoZXJyLm1lc3NhZ2UpOwogICAgICAgICAgJGVsLmFmdGVyKGVycm9yRGl2KTsKCiAgICAgICAgICAvLyBSZWFsbHkgZHVtYiB3YXkgdG8ga2VlcCB0aGUgc2l6ZS9wb3NpdGlvbiBvZiB0aGUgZXJyb3IgaW4gc3luYyB3aXRoCiAgICAgICAgICAvLyB0aGUgcGFyZW50IGVsZW1lbnQgYXMgdGhlIHdpbmRvdyBpcyByZXNpemVkIG9yIHdoYXRldmVyLgogICAgICAgICAgdmFyIGludElkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICghZXJyb3JEaXZbMF0ucGFyZW50RWxlbWVudCkgewogICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50SWQpOwogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICBlcnJvckRpdgogICAgICAgICAgICAgIC5jc3MoInRvcCIsIGVsLm9mZnNldFRvcCkKICAgICAgICAgICAgICAuY3NzKCJsZWZ0IiwgZWwub2Zmc2V0TGVmdCkKICAgICAgICAgICAgICAuY3NzKCJtYXhXaWR0aCIsIGVsLm9mZnNldFdpZHRoKQogICAgICAgICAgICAgIC5jc3MoImhlaWdodCIsIGVsLm9mZnNldEhlaWdodCk7CiAgICAgICAgICB9LCA1MDApOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGNsZWFyRXJyb3I6IGZ1bmN0aW9uKGVsKSB7CiAgICAgIHZhciAkZWwgPSAkKGVsKTsKICAgICAgdmFyIGRpc3BsYXkgPSAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiKTsKICAgICAgJGVsLmRhdGEoInJlc3RvcmUtZGlzcGxheS1tb2RlIiwgbnVsbCk7CgogICAgICBpZiAoZGlzcGxheSA9PT0gImlubGluZSIgfHwgZGlzcGxheSA9PT0gImlubGluZS1ibG9jayIpIHsKICAgICAgICBpZiAoZGlzcGxheSkKICAgICAgICAgICRlbC5jc3MoImRpc3BsYXkiLCBkaXNwbGF5KTsKICAgICAgICAkKGVsLm5leHRTaWJsaW5nKS5maWx0ZXIoIi5odG1sd2lkZ2V0cy1lcnJvciIpLnJlbW92ZSgpOwogICAgICB9IGVsc2UgaWYgKGRpc3BsYXkgPT09ICJibG9jayIpewogICAgICAgICRlbC5jc3MoInZpc2liaWxpdHkiLCAiaW5oZXJpdCIpOwogICAgICAgICQoZWwubmV4dFNpYmxpbmcpLmZpbHRlcigiLmh0bWx3aWRnZXRzLWVycm9yIikucmVtb3ZlKCk7CiAgICAgIH0KICAgIH0sCiAgICBzaXppbmc6IHt9CiAgfTsKCiAgLy8gQ2FsbGVkIGJ5IHdpZGdldCBiaW5kaW5ncyB0byByZWdpc3RlciBhIG5ldyB0eXBlIG9mIHdpZGdldC4gVGhlIGRlZmluaXRpb24KICAvLyBvYmplY3QgY2FuIGNvbnRhaW4gdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOgogIC8vIC0gbmFtZSAocmVxdWlyZWQpIC0gQSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgYmluZGluZyBuYW1lLCB3aGljaCB3aWxsIGJlCiAgLy8gICB1c2VkIGJ5IGRlZmF1bHQgYXMgdGhlIENTUyBjbGFzc25hbWUgdG8gbG9vayBmb3IuCiAgLy8gLSBpbml0aWFsaXplIChvcHRpb25hbCkgLSBBIGZ1bmN0aW9uKGVsKSB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uY2UgcGVyCiAgLy8gICB3aWRnZXQgZWxlbWVudDsgaWYgYSB2YWx1ZSBpcyByZXR1cm5lZCwgaXQgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIHRoaXJkCiAgLy8gICB2YWx1ZSB0byByZW5kZXJWYWx1ZS4KICAvLyAtIHJlbmRlclZhbHVlIChyZXF1aXJlZCkgLSBBIGZ1bmN0aW9uKGVsLCBkYXRhLCBpbml0VmFsdWUpIHRoYXQgd2lsbCBiZQogIC8vICAgY2FsbGVkIHdpdGggZGF0YS4gU3RhdGljIGNvbnRleHRzIHdpbGwgY2F1c2UgdGhpcyB0byBiZSBjYWxsZWQgb25jZSBwZXIKICAvLyAgIGVsZW1lbnQ7IFNoaW55IGFwcHMgd2lsbCBjYXVzZSB0aGlzIHRvIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBwZXIKICAvLyAgIGVsZW1lbnQsIGFzIHRoZSBkYXRhIGNoYW5nZXMuCiAgd2luZG93LkhUTUxXaWRnZXRzLndpZGdldCA9IGZ1bmN0aW9uKGRlZmluaXRpb24pIHsKICAgIGlmICghZGVmaW5pdGlvbi5uYW1lKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiV2lkZ2V0IG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgIH0KICAgIGlmICghZGVmaW5pdGlvbi50eXBlKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiV2lkZ2V0IG11c3QgaGF2ZSBhIHR5cGUiKTsKICAgIH0KICAgIC8vIEN1cnJlbnRseSB3ZSBvbmx5IHN1cHBvcnQgb3V0cHV0IHdpZGdldHMKICAgIGlmIChkZWZpbml0aW9uLnR5cGUgIT09ICJvdXRwdXQiKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVkIHdpZGdldCB0eXBlICciICsgZGVmaW5pdGlvbi50eXBlICsgIiciKTsKICAgIH0KICAgIC8vIFRPRE86IFZlcmlmeSB0aGF0IC5uYW1lIGlzIGEgdmFsaWQgQ1NTIGNsYXNzbmFtZQoKICAgIC8vIFN1cHBvcnQgbmV3LXN0eWxlIGluc3RhbmNlLWJvdW5kIGRlZmluaXRpb25zLiBPbGQtc3R5bGUgY2xhc3MtYm91bmQKICAgIC8vIGRlZmluaXRpb25zIGhhdmUgb25lIHdpZGdldCAib2JqZWN0IiBwZXIgd2lkZ2V0IHBlciB0eXBlL2NsYXNzIG9mCiAgICAvLyB3aWRnZXQ7IHRoZSByZW5kZXJWYWx1ZSBhbmQgcmVzaXplIG1ldGhvZHMgb24gc3VjaCB3aWRnZXQgb2JqZWN0cwogICAgLy8gdGFrZSBlbCBhbmQgaW5zdGFuY2UgYXJndW1lbnRzLCBiZWNhdXNlIHRoZSB3aWRnZXQgb2JqZWN0IGNhbid0CiAgICAvLyBzdG9yZSB0aGVtLiBOZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbnMgaGF2ZSBvbmUgd2lkZ2V0CiAgICAvLyBvYmplY3QgcGVyIHdpZGdldCBpbnN0YW5jZTsgdGhlIGRlZmluaXRpb24gdGhhdCdzIHBhc3NlZCBpbiBkb2Vzbid0CiAgICAvLyBwcm92aWRlIHJlbmRlclZhbHVlIG9yIHJlc2l6ZSBtZXRob2RzIGF0IGFsbCwganVzdCB0aGUgc2luZ2xlIG1ldGhvZAogICAgLy8gICBmYWN0b3J5KGVsLCB3aWR0aCwgaGVpZ2h0KQogICAgLy8gd2hpY2ggcmV0dXJucyBhbiBvYmplY3QgdGhhdCBoYXMgcmVuZGVyVmFsdWUoeCkgYW5kIHJlc2l6ZSh3LCBoKS4KICAgIC8vIFRoaXMgZW5hYmxlcyBhIGZhciBtb3JlIG5hdHVyYWwgcHJvZ3JhbW1pbmcgc3R5bGUgZm9yIHRoZSB3aWRnZXQKICAgIC8vIGF1dGhvciwgd2hvIGNhbiBzdG9yZSBwZXItaW5zdGFuY2Ugc3RhdGUgdXNpbmcgZWl0aGVyIE9PLXN0eWxlCiAgICAvLyBpbnN0YW5jZSBmaWVsZHMgb3IgZnVuY3Rpb25hbC1zdHlsZSBjbG9zdXJlIHZhcmlhYmxlcyAoSSBndWVzcyB0aGlzCiAgICAvLyBpcyBpbiBjb250cmFzdCB0byB3aGF0IGNhbiBvbmx5IGJlIGNhbGxlZCBDLXN0eWxlIHBzZXVkby1PTyB3aGljaCBpcwogICAgLy8gd2hhdCB3ZSByZXF1aXJlZCBiZWZvcmUpLgogICAgaWYgKGRlZmluaXRpb24uZmFjdG9yeSkgewogICAgICBkZWZpbml0aW9uID0gY3JlYXRlTGVnYWN5RGVmaW5pdGlvbkFkYXB0ZXIoZGVmaW5pdGlvbik7CiAgICB9CgogICAgaWYgKCFkZWZpbml0aW9uLnJlbmRlclZhbHVlKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiV2lkZ2V0IG11c3QgaGF2ZSBhIHJlbmRlclZhbHVlIGZ1bmN0aW9uIik7CiAgICB9CgogICAgLy8gRm9yIHN0YXRpYyByZW5kZXJpbmcgKG5vbi1TaGlueSksIHVzZSBhIHNpbXBsZSB3aWRnZXQgcmVnaXN0cmF0aW9uCiAgICAvLyBzY2hlbWUuIFdlIGFsc28gdXNlIHRoaXMgc2NoZW1lIGZvciBTaGlueSBhcHBzL2RvY3VtZW50cyB0aGF0IGFsc28KICAgIC8vIGNvbnRhaW4gc3RhdGljIHdpZGdldHMuCiAgICB3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzIHx8IFtdOwogICAgLy8gTWVyZ2UgZGVmYXVsdHMgaW50byB0aGUgZGVmaW5pdGlvbjsgZG9uJ3QgbXV0YXRlIHRoZSBvcmlnaW5hbCBkZWZpbml0aW9uLgogICAgdmFyIHN0YXRpY0JpbmRpbmcgPSBleHRlbmQoe30sIGRlZmF1bHRzLCBkZWZpbml0aW9uKTsKICAgIG92ZXJyaWRlTWV0aG9kKHN0YXRpY0JpbmRpbmcsICJmaW5kIiwgZnVuY3Rpb24oc3VwZXJmdW5jKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbihzY29wZSkgewogICAgICAgIHZhciByZXN1bHRzID0gc3VwZXJmdW5jKHNjb3BlKTsKICAgICAgICAvLyBGaWx0ZXIgb3V0IFNoaW55IG91dHB1dHMsIHdlIG9ubHkgd2FudCB0aGUgc3RhdGljIGtpbmQKICAgICAgICByZXR1cm4gZmlsdGVyQnlDbGFzcyhyZXN1bHRzLCAiaHRtbC13aWRnZXQtb3V0cHV0IiwgZmFsc2UpOwogICAgICB9OwogICAgfSk7CiAgICB3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0cy5wdXNoKHN0YXRpY0JpbmRpbmcpOwoKICAgIGlmIChzaGlueU1vZGUpIHsKICAgICAgLy8gU2hpbnkgaXMgcnVubmluZy4gUmVnaXN0ZXIgdGhlIGRlZmluaXRpb24gd2l0aCBhbiBvdXRwdXQgYmluZGluZy4KICAgICAgLy8gVGhlIGRlZmluaXRpb24gaXRzZWxmIHdpbGwgbm90IGJlIHRoZSBvdXRwdXQgYmluZGluZywgaW5zdGVhZAogICAgICAvLyB3ZSB3aWxsIG1ha2UgYW4gb3V0cHV0IGJpbmRpbmcgb2JqZWN0IHRoYXQgZGVsZWdhdGVzIHRvIHRoZQogICAgICAvLyBkZWZpbml0aW9uLiBUaGlzIGlzIGJlY2F1c2Ugd2UgZm9vbGlzaGx5IHVzZWQgdGhlIHNhbWUgbWV0aG9kCiAgICAgIC8vIG5hbWUgKHJlbmRlclZhbHVlKSBmb3IgaHRtbHdpZGdldHMgZGVmaW5pdGlvbiBhbmQgU2hpbnkgYmluZGluZ3MKICAgICAgLy8gYnV0IHRoZXkgYWN0dWFsbHkgaGF2ZSBxdWl0ZSBkaWZmZXJlbnQgc2VtYW50aWNzICh0aGUgU2hpbnkKICAgICAgLy8gYmluZGluZ3MgcmVjZWl2ZSBkYXRhIHRoYXQgaW5jbHVkZXMgbG90cyBvZiBtZXRhZGF0YSB0aGF0IGl0CiAgICAgIC8vIHN0cmlwcyBvZmYgYmVmb3JlIGNhbGxpbmcgaHRtbHdpZGdldHMgcmVuZGVyVmFsdWUpLiBXZSBjYW4ndAogICAgICAvLyBqdXN0IGlnbm9yZSB0aGUgZGlmZmVyZW5jZSBiZWNhdXNlIGluIHNvbWUgd2lkZ2V0cyBpdCdzIGhlbHBmdWwKICAgICAgLy8gdG8gY2FsbCB0aGlzLnJlbmRlclZhbHVlKCkgZnJvbSBpbnNpZGUgb2YgcmVzaXplKCksIGFuZCBpZgogICAgICAvLyB3ZSdyZSBub3QgZGVsZWdhdGluZywgdGhlbiB0aGF0IGNhbGwgd2lsbCBnbyB0byB0aGUgU2hpbnkKICAgICAgLy8gdmVyc2lvbiBpbnN0ZWFkIG9mIHRoZSBodG1sd2lkZ2V0cyB2ZXJzaW9uLgoKICAgICAgLy8gTWVyZ2UgZGVmYXVsdHMgd2l0aCBkZWZpbml0aW9uLCB3aXRob3V0IG11dGF0aW5nIGVpdGhlci4KICAgICAgdmFyIGJpbmRpbmdEZWYgPSBleHRlbmQoe30sIGRlZmF1bHRzLCBkZWZpbml0aW9uKTsKCiAgICAgIC8vIFRoaXMgb2JqZWN0IHdpbGwgYmUgb3VyIGFjdHVhbCBTaGlueSBiaW5kaW5nLgogICAgICB2YXIgc2hpbnlCaW5kaW5nID0gbmV3IFNoaW55Lk91dHB1dEJpbmRpbmcoKTsKCiAgICAgIC8vIFdpdGggYSBmZXcgZXhjZXB0aW9ucywgd2UnbGwgd2FudCB0byBzaW1wbHkgdXNlIHRoZSBiaW5kaW5nRGVmJ3MKICAgICAgLy8gdmVyc2lvbiBvZiBtZXRob2RzIGlmIHRoZXkgYXJlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGZhbGwgYmFjayB0bwogICAgICAvLyBTaGlueSdzIGRlZmF1bHRzLiBOT1RFOiBJZiBTaGlueSdzIG91dHB1dCBiaW5kaW5ncyBnYWluIGFkZGl0aW9uYWwKICAgICAgLy8gbWV0aG9kcyBpbiB0aGUgZnV0dXJlLCBhbmQgd2Ugd2FudCB0aGVtIHRvIGJlIG92ZXJyaWRlYWJsZSBieQogICAgICAvLyBIVE1MV2lkZ2V0IGJpbmRpbmcgZGVmaW5pdGlvbnMsIHRoZW4gd2UnbGwgbmVlZCB0byBhZGQgdGhlbSB0byB0aGlzCiAgICAgIC8vIGxpc3QuCiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgImdldElkIik7CiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgIm9uVmFsdWVDaGFuZ2UiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAib25WYWx1ZUVycm9yIik7CiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgInJlbmRlckVycm9yIik7CiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgImNsZWFyRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAic2hvd1Byb2dyZXNzIik7CgogICAgICAvLyBUaGUgZmluZCwgcmVuZGVyVmFsdWUsIGFuZCByZXNpemUgYXJlIGhhbmRsZWQgZGlmZmVyZW50bHksIGJlY2F1c2Ugd2UKICAgICAgLy8gd2FudCB0byBhY3R1YWxseSBkZWNvcmF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJpbmRpbmdEZWYgbWV0aG9kcy4KCiAgICAgIHNoaW55QmluZGluZy5maW5kID0gZnVuY3Rpb24oc2NvcGUpIHsKICAgICAgICB2YXIgcmVzdWx0cyA9IGJpbmRpbmdEZWYuZmluZChzY29wZSk7CgogICAgICAgIC8vIE9ubHkgcmV0dXJuIGVsZW1lbnRzIHRoYXQgYXJlIFNoaW55IG91dHB1dHMsIG5vdCBzdGF0aWMgb25lcwogICAgICAgIHZhciBkeW5hbWljUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKCIuaHRtbC13aWRnZXQtb3V0cHV0Iik7CgogICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCB3aGF0ZXZlciBjYXVzZWQgU2hpbnkgdG8gdGhpbmsgdGhlcmUgbWlnaHQgYmUKICAgICAgICAvLyBuZXcgZHluYW1pYyBvdXRwdXRzLCBhbHNvIGNhdXNlZCB0aGVyZSB0byBiZSBuZXcgc3RhdGljIG91dHB1dHMuCiAgICAgICAgLy8gU2luY2UgdGhlcmUgbWlnaHQgYmUgbG90cyBvZiBkaWZmZXJlbnQgaHRtbHdpZGdldHMgYmluZGluZ3MsIHdlCiAgICAgICAgLy8gc2NoZWR1bGUgZXhlY3V0aW9uIGZvciBsYXRlci0tbm8gbmVlZCB0byBzdGF0aWNSZW5kZXIgbXVsdGlwbGUKICAgICAgICAvLyB0aW1lcy4KICAgICAgICBpZiAocmVzdWx0cy5sZW5ndGggIT09IGR5bmFtaWNSZXN1bHRzLmxlbmd0aCkKICAgICAgICAgIHNjaGVkdWxlU3RhdGljUmVuZGVyKCk7CgogICAgICAgIHJldHVybiBkeW5hbWljUmVzdWx0czsKICAgICAgfTsKCiAgICAgIC8vIFdyYXAgcmVuZGVyVmFsdWUgdG8gaGFuZGxlIGluaXRpYWxpemF0aW9uLCB3aGljaCB1bmZvcnR1bmF0ZWx5IGlzbid0CiAgICAgIC8vIHN1cHBvcnRlZCBuYXRpdmVseSBieSBTaGlueSBhdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcuCgogICAgICBzaGlueUJpbmRpbmcucmVuZGVyVmFsdWUgPSBmdW5jdGlvbihlbCwgZGF0YSkgewogICAgICAgIC8vIFJlc29sdmUgc3RyaW5ncyBtYXJrZWQgYXMgamF2YXNjcmlwdCBsaXRlcmFscyB0byBvYmplY3RzCiAgICAgICAgaWYgKCEoZGF0YS5ldmFscyBpbnN0YW5jZW9mIEFycmF5KSkgZGF0YS5ldmFscyA9IFtkYXRhLmV2YWxzXTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgZGF0YS5ldmFscyAmJiBpIDwgZGF0YS5ldmFscy5sZW5ndGg7IGkrKykgewogICAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLmV2YWx1YXRlU3RyaW5nTWVtYmVyKGRhdGEueCwgZGF0YS5ldmFsc1tpXSk7CiAgICAgICAgfQogICAgICAgIGlmICghYmluZGluZ0RlZi5yZW5kZXJPbk51bGxWYWx1ZSkgewogICAgICAgICAgaWYgKGRhdGEueCA9PT0gbnVsbCkgewogICAgICAgICAgICBlbC5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAiaW5oZXJpdCI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghZWxlbWVudERhdGEoZWwsICJpbml0aWFsaXplZCIpKSB7CiAgICAgICAgICBpbml0U2l6aW5nKGVsKTsKCiAgICAgICAgICBlbGVtZW50RGF0YShlbCwgImluaXRpYWxpemVkIiwgdHJ1ZSk7CiAgICAgICAgICBpZiAoYmluZGluZ0RlZi5pbml0aWFsaXplKSB7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBiaW5kaW5nRGVmLmluaXRpYWxpemUoZWwsIGVsLm9mZnNldFdpZHRoLAogICAgICAgICAgICAgIGVsLm9mZnNldEhlaWdodCk7CiAgICAgICAgICAgIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiLCByZXN1bHQpOwogICAgICAgICAgfQogICAgICAgICAgZXZhbEFuZFJ1bihkYXRhLmpzSG9va3MucmVuZGVyLCBlbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0IiksIFtlbCwgZGF0YS54XSk7CiAgICAgICAgfQogICAgICAgIFNoaW55LnJlbmRlckRlcGVuZGVuY2llcyhkYXRhLmRlcHMpOwogICAgICAgIGJpbmRpbmdEZWYucmVuZGVyVmFsdWUoZWwsIGRhdGEueCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgfTsKCiAgICAgIC8vIE9ubHkgb3ZlcnJpZGUgcmVzaXplIGlmIGJpbmRpbmdEZWYgaW1wbGVtZW50cyBpdAogICAgICBpZiAoYmluZGluZ0RlZi5yZXNpemUpIHsKICAgICAgICBzaGlueUJpbmRpbmcucmVzaXplID0gZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICAgIC8vIFNoaW55IGNhbiBjYWxsIHJlc2l6ZSBiZWZvcmUgaW5pdGlhbGl6ZS9yZW5kZXJWYWx1ZSBoYXZlIGJlZW4KICAgICAgICAgIC8vIGNhbGxlZCwgd2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlIGZvciB3aWRnZXRzLgogICAgICAgICAgaWYgKGVsZW1lbnREYXRhKGVsLCAiaW5pdGlhbGl6ZWQiKSkgewogICAgICAgICAgICBiaW5kaW5nRGVmLnJlc2l6ZShlbCwgd2lkdGgsIGhlaWdodCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICB9CgogICAgICBTaGlueS5vdXRwdXRCaW5kaW5ncy5yZWdpc3RlcihzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYubmFtZSk7CiAgICB9CiAgfTsKCiAgdmFyIHNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgZnVuY3Rpb24gc2NoZWR1bGVTdGF0aWNSZW5kZXIoKSB7CiAgICBpZiAoIXNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCkgewogICAgICBzY2hlZHVsZVN0YXRpY1JlbmRlclRpbWVySWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlcigpOwogICAgICB9LCAxKTsKICAgIH0KICB9CgogIC8vIFJlbmRlciBzdGF0aWMgd2lkZ2V0cyBhZnRlciB0aGUgZG9jdW1lbnQgZmluaXNoZXMgbG9hZGluZwogIC8vIFN0YXRpY2FsbHkgcmVuZGVyIGFsbCBlbGVtZW50cyB0aGF0IGFyZSBvZiB0aGlzIHdpZGdldCdzIGNsYXNzCiAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGJpbmRpbmdzID0gd2luZG93LkhUTUxXaWRnZXRzLndpZGdldHMgfHwgW107CiAgICBmb3JFYWNoKGJpbmRpbmdzLCBmdW5jdGlvbihiaW5kaW5nKSB7CiAgICAgIHZhciBtYXRjaGVzID0gYmluZGluZy5maW5kKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7CiAgICAgIGZvckVhY2gobWF0Y2hlcywgZnVuY3Rpb24oZWwpIHsKICAgICAgICB2YXIgc2l6ZU9iaiA9IGluaXRTaXppbmcoZWwsIGJpbmRpbmcpOwoKICAgICAgICBpZiAoaGFzQ2xhc3MoZWwsICJodG1sLXdpZGdldC1zdGF0aWMtYm91bmQiKSkKICAgICAgICAgIHJldHVybjsKICAgICAgICBlbC5jbGFzc05hbWUgPSBlbC5jbGFzc05hbWUgKyAiIGh0bWwtd2lkZ2V0LXN0YXRpYy1ib3VuZCI7CgogICAgICAgIHZhciBpbml0UmVzdWx0OwogICAgICAgIGlmIChiaW5kaW5nLmluaXRpYWxpemUpIHsKICAgICAgICAgIGluaXRSZXN1bHQgPSBiaW5kaW5nLmluaXRpYWxpemUoZWwsCiAgICAgICAgICAgIHNpemVPYmogPyBzaXplT2JqLmdldFdpZHRoKCkgOiBlbC5vZmZzZXRXaWR0aCwKICAgICAgICAgICAgc2l6ZU9iaiA/IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICk7CiAgICAgICAgICBlbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0IiwgaW5pdFJlc3VsdCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoYmluZGluZy5yZXNpemUpIHsKICAgICAgICAgIHZhciBsYXN0U2l6ZSA9IHt9OwogICAgICAgICAgdmFyIHJlc2l6ZUhhbmRsZXIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBzaXplID0gewogICAgICAgICAgICAgIHc6IHNpemVPYmogPyBzaXplT2JqLmdldFdpZHRoKCkgOiBlbC5vZmZzZXRXaWR0aCwKICAgICAgICAgICAgICBoOiBzaXplT2JqID8gc2l6ZU9iai5nZXRIZWlnaHQoKSA6IGVsLm9mZnNldEhlaWdodAogICAgICAgICAgICB9OwogICAgICAgICAgICBpZiAoc2l6ZS53ID09PSAwICYmIHNpemUuaCA9PT0gMCkKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIGlmIChzaXplLncgPT09IGxhc3RTaXplLncgJiYgc2l6ZS5oID09PSBsYXN0U2l6ZS5oKQogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgbGFzdFNpemUgPSBzaXplOwogICAgICAgICAgICBiaW5kaW5nLnJlc2l6ZShlbCwgc2l6ZS53LCBzaXplLmgsIGluaXRSZXN1bHQpOwogICAgICAgICAgfTsKCiAgICAgICAgICBvbih3aW5kb3csICJyZXNpemUiLCByZXNpemVIYW5kbGVyKTsKCiAgICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBmb3IgY2FzZXMgd2hlcmUgd2UncmUgcnVubmluZyBpbiBhIFNoaW55CiAgICAgICAgICAvLyBhcHAsIGJ1dCB0aGUgd2lkZ2V0IGl0c2VsZiBpcyBub3QgYSBTaGlueSBvdXRwdXQsIGJ1dAogICAgICAgICAgLy8gcmF0aGVyIGEgc2ltcGxlIHN0YXRpYyB3aWRnZXQuIE9uZSBleGFtcGxlIG9mIHRoaXMgaXMKICAgICAgICAgIC8vIGFuIHJtYXJrZG93biBkb2N1bWVudCB0aGF0IGhhcyBydW50aW1lOnNoaW55IGFuZCB3aWRnZXQKICAgICAgICAgIC8vIHRoYXQgaXNuJ3QgaW4gYSByZW5kZXIgZnVuY3Rpb24uIFNoaW55IG9ubHkga25vd3MgdG8KICAgICAgICAgIC8vIGNhbGwgcmVzaXplIGhhbmRsZXJzIGZvciBTaGlueSBvdXRwdXRzLCBub3QgZm9yIHN0YXRpYwogICAgICAgICAgLy8gd2lkZ2V0cywgc28gd2UgZG8gaXQgb3Vyc2VsdmVzLgogICAgICAgICAgaWYgKHdpbmRvdy5qUXVlcnkpIHsKICAgICAgICAgICAgd2luZG93LmpRdWVyeShkb2N1bWVudCkub24oCiAgICAgICAgICAgICAgInNob3duLmh0bWx3aWRnZXRzIHNob3duLmJzLnRhYi5odG1sd2lkZ2V0cyBzaG93bi5icy5jb2xsYXBzZS5odG1sd2lkZ2V0cyIsCiAgICAgICAgICAgICAgcmVzaXplSGFuZGxlcgogICAgICAgICAgICApOwogICAgICAgICAgICB3aW5kb3cualF1ZXJ5KGRvY3VtZW50KS5vbigKICAgICAgICAgICAgICAiaGlkZGVuLmh0bWx3aWRnZXRzIGhpZGRlbi5icy50YWIuaHRtbHdpZGdldHMgaGlkZGVuLmJzLmNvbGxhcHNlLmh0bWx3aWRnZXRzIiwKICAgICAgICAgICAgICByZXNpemVIYW5kbGVyCiAgICAgICAgICAgICk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIHRoZSBzcGVjaWZpYyBjYXNlIG9mIGlvc2xpZGVzLCB3aGljaAogICAgICAgICAgLy8gZmxpcHMgc2xpZGVzIGJldHdlZW4gZGlzcGxheTpub25lIGFuZCBkaXNwbGF5OmJsb2NrLgogICAgICAgICAgLy8gSWRlYWxseSB3ZSB3b3VsZCBub3QgaGF2ZSB0byBoYXZlIGlvc2xpZGUtc3BlY2lmaWMgY29kZQogICAgICAgICAgLy8gaGVyZSwgYnV0IHJhdGhlciBoYXZlIGlvc2xpZGVzIHJhaXNlIGEgZ2VuZXJpYyBldmVudCwKICAgICAgICAgIC8vIGJ1dCB0aGUgcm1hcmtkb3duIHBhY2thZ2UganVzdCB3ZW50IHRvIENSQU4gc28gdGhlCiAgICAgICAgICAvLyB3aW5kb3cgdG8gZ2V0dGluZyB0aGF0IGZpeGVkIG1heSBiZSBsb25nLgogICAgICAgICAgaWYgKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKSB7CiAgICAgICAgICAgIC8vIEl0J3MgT0sgdG8gbGltaXQgdGhpcyB0byB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcgogICAgICAgICAgICAvLyBicm93c2VycyBiZWNhdXNlIGlvc2xpZGVzIGl0c2VsZiBvbmx5IHN1cHBvcnRzCiAgICAgICAgICAgIC8vIHN1Y2ggYnJvd3NlcnMuCiAgICAgICAgICAgIG9uKGRvY3VtZW50LCAic2xpZGVlbnRlciIsIHJlc2l6ZUhhbmRsZXIpOwogICAgICAgICAgICBvbihkb2N1bWVudCwgInNsaWRlbGVhdmUiLCByZXNpemVIYW5kbGVyKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBzY3JpcHREYXRhID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtZm9yPSciICsgZWwuaWQgKyAiJ11bdHlwZT0nYXBwbGljYXRpb24vanNvbiddIik7CiAgICAgICAgaWYgKHNjcmlwdERhdGEpIHsKICAgICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShzY3JpcHREYXRhLnRleHRDb250ZW50IHx8IHNjcmlwdERhdGEudGV4dCk7CiAgICAgICAgICAvLyBSZXNvbHZlIHN0cmluZ3MgbWFya2VkIGFzIGphdmFzY3JpcHQgbGl0ZXJhbHMgdG8gb2JqZWN0cwogICAgICAgICAgaWYgKCEoZGF0YS5ldmFscyBpbnN0YW5jZW9mIEFycmF5KSkgZGF0YS5ldmFscyA9IFtkYXRhLmV2YWxzXTsKICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBkYXRhLmV2YWxzICYmIGsgPCBkYXRhLmV2YWxzLmxlbmd0aDsgaysrKSB7CiAgICAgICAgICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy5ldmFsdWF0ZVN0cmluZ01lbWJlcihkYXRhLngsIGRhdGEuZXZhbHNba10pOwogICAgICAgICAgfQogICAgICAgICAgYmluZGluZy5yZW5kZXJWYWx1ZShlbCwgZGF0YS54LCBpbml0UmVzdWx0KTsKICAgICAgICAgIGV2YWxBbmRSdW4oZGF0YS5qc0hvb2tzLnJlbmRlciwgaW5pdFJlc3VsdCwgW2VsLCBkYXRhLnhdKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSk7CgogICAgaW52b2tlUG9zdFJlbmRlckhhbmRsZXJzKCk7CiAgfQoKICAvLyBXYWl0IHVudGlsIGFmdGVyIHRoZSBkb2N1bWVudCBoYXMgbG9hZGVkIHRvIHJlbmRlciB0aGUgd2lkZ2V0cy4KICBpZiAoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgewogICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgYXJndW1lbnRzLmNhbGxlZSwgZmFsc2UpOwogICAgICB3aW5kb3cuSFRNTFdpZGdldHMuc3RhdGljUmVuZGVyKCk7CiAgICB9LCBmYWxzZSk7CiAgfSBlbHNlIGlmIChkb2N1bWVudC5hdHRhY2hFdmVudCkgewogICAgZG9jdW1lbnQuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsIGZ1bmN0aW9uKCkgewogICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImNvbXBsZXRlIikgewogICAgICAgIGRvY3VtZW50LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCBhcmd1bWVudHMuY2FsbGVlKTsKICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuc3RhdGljUmVuZGVyKCk7CiAgICAgIH0KICAgIH0pOwogIH0KCgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRBdHRhY2htZW50VXJsID0gZnVuY3Rpb24oZGVwbmFtZSwga2V5KSB7CiAgICAvLyBJZiBubyBrZXksIGRlZmF1bHQgdG8gdGhlIGZpcnN0IGl0ZW0KICAgIGlmICh0eXBlb2Yoa2V5KSA9PT0gInVuZGVmaW5lZCIpCiAgICAgIGtleSA9IDE7CgogICAgdmFyIGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkZXBuYW1lICsgIi0iICsga2V5ICsgIi1hdHRhY2htZW50Iik7CiAgICBpZiAoIWxpbmspIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdHRhY2htZW50ICIgKyBkZXBuYW1lICsgIi8iICsga2V5ICsgIiBub3QgZm91bmQgaW4gZG9jdW1lbnQiKTsKICAgIH0KICAgIHJldHVybiBsaW5rLmdldEF0dHJpYnV0ZSgiaHJlZiIpOwogIH07CgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5kYXRhZnJhbWVUb0QzID0gZnVuY3Rpb24oZGYpIHsKICAgIHZhciBuYW1lcyA9IFtdOwogICAgdmFyIGxlbmd0aDsKICAgIGZvciAodmFyIG5hbWUgaW4gZGYpIHsKICAgICAgICBpZiAoZGYuaGFzT3duUHJvcGVydHkobmFtZSkpCiAgICAgICAgICAgIG5hbWVzLnB1c2gobmFtZSk7CiAgICAgICAgaWYgKHR5cGVvZihkZltuYW1lXSkgIT09ICJvYmplY3QiIHx8IHR5cGVvZihkZltuYW1lXS5sZW5ndGgpID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkFsbCBmaWVsZHMgbXVzdCBiZSBhcnJheXMiKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZihsZW5ndGgpICE9PSAidW5kZWZpbmVkIiAmJiBsZW5ndGggIT09IGRmW25hbWVdLmxlbmd0aCkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkFsbCBmaWVsZHMgbXVzdCBiZSBhcnJheXMgb2YgdGhlIHNhbWUgbGVuZ3RoIik7CiAgICAgICAgfQogICAgICAgIGxlbmd0aCA9IGRmW25hbWVdLmxlbmd0aDsKICAgIH0KICAgIHZhciByZXN1bHRzID0gW107CiAgICB2YXIgaXRlbTsKICAgIGZvciAodmFyIHJvdyA9IDA7IHJvdyA8IGxlbmd0aDsgcm93KyspIHsKICAgICAgICBpdGVtID0ge307CiAgICAgICAgZm9yICh2YXIgY29sID0gMDsgY29sIDwgbmFtZXMubGVuZ3RoOyBjb2wrKykgewogICAgICAgICAgICBpdGVtW25hbWVzW2NvbF1dID0gZGZbbmFtZXNbY29sXV1bcm93XTsKICAgICAgICB9CiAgICAgICAgcmVzdWx0cy5wdXNoKGl0ZW0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfTsKCiAgd2luZG93LkhUTUxXaWRnZXRzLnRyYW5zcG9zZUFycmF5MkQgPSBmdW5jdGlvbihhcnJheSkgewogICAgICBpZiAoYXJyYXkubGVuZ3RoID09PSAwKSByZXR1cm4gYXJyYXk7CiAgICAgIHZhciBuZXdBcnJheSA9IGFycmF5WzBdLm1hcChmdW5jdGlvbihjb2wsIGkpIHsKICAgICAgICAgIHJldHVybiBhcnJheS5tYXAoZnVuY3Rpb24ocm93KSB7CiAgICAgICAgICAgICAgcmV0dXJuIHJvd1tpXQogICAgICAgICAgfSkKICAgICAgfSk7CiAgICAgIHJldHVybiBuZXdBcnJheTsKICB9OwogIC8vIFNwbGl0IHZhbHVlIGF0IHNwbGl0Q2hhciwgYnV0IGFsbG93IHNwbGl0Q2hhciB0byBiZSBlc2NhcGVkCiAgLy8gdXNpbmcgZXNjYXBlQ2hhci4gQW55IG90aGVyIGNoYXJhY3RlcnMgZXNjYXBlZCBieSBlc2NhcGVDaGFyCiAgLy8gd2lsbCBiZSBpbmNsdWRlZCBhcyB1c3VhbCAoaW5jbHVkaW5nIGVzY2FwZUNoYXIgaXRzZWxmKS4KICBmdW5jdGlvbiBzcGxpdFdpdGhFc2NhcGUodmFsdWUsIHNwbGl0Q2hhciwgZXNjYXBlQ2hhcikgewogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHZhciBlc2NhcGVNb2RlID0gZmFsc2U7CiAgICB2YXIgY3VycmVudFJlc3VsdCA9ICIiOwogICAgZm9yICh2YXIgcG9zID0gMDsgcG9zIDwgdmFsdWUubGVuZ3RoOyBwb3MrKykgewogICAgICBpZiAoIWVzY2FwZU1vZGUpIHsKICAgICAgICBpZiAodmFsdWVbcG9zXSA9PT0gc3BsaXRDaGFyKSB7CiAgICAgICAgICByZXN1bHRzLnB1c2goY3VycmVudFJlc3VsdCk7CiAgICAgICAgICBjdXJyZW50UmVzdWx0ID0gIiI7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZVtwb3NdID09PSBlc2NhcGVDaGFyKSB7CiAgICAgICAgICBlc2NhcGVNb2RlID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY3VycmVudFJlc3VsdCArPSB2YWx1ZVtwb3NdOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBjdXJyZW50UmVzdWx0ICs9IHZhbHVlW3Bvc107CiAgICAgICAgZXNjYXBlTW9kZSA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgICBpZiAoY3VycmVudFJlc3VsdCAhPT0gIiIpIHsKICAgICAgcmVzdWx0cy5wdXNoKGN1cnJlbnRSZXN1bHQpOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfQogIC8vIEZ1bmN0aW9uIGF1dGhvcmVkIGJ5IFlpaHVpL0pKIEFsbGFpcmUKICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW1iZXIgPSBmdW5jdGlvbihvLCBtZW1iZXIpIHsKICAgIHZhciBwYXJ0cyA9IHNwbGl0V2l0aEVzY2FwZShtZW1iZXIsICcuJywgJ1xcJyk7CiAgICBmb3IgKHZhciBpID0gMCwgbCA9IHBhcnRzLmxlbmd0aDsgaSA8IGw7IGkrKykgewogICAgICB2YXIgcGFydCA9IHBhcnRzW2ldOwogICAgICAvLyBwYXJ0IG1heSBiZSBhIGNoYXJhY3RlciBvciAnbnVtZXJpYycgbWVtYmVyIG5hbWUKICAgICAgaWYgKG8gIT09IG51bGwgJiYgdHlwZW9mIG8gPT09ICJvYmplY3QiICYmIHBhcnQgaW4gbykgewogICAgICAgIGlmIChpID09IChsIC0gMSkpIHsgLy8gaWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUgdGhlbiBldmFsdWxhdGUKICAgICAgICAgIGlmICh0eXBlb2Ygb1twYXJ0XSA9PT0gInN0cmluZyIpCiAgICAgICAgICAgIG9bcGFydF0gPSBldmFsKCIoIiArIG9bcGFydF0gKyAiKSIpOwogICAgICAgIH0gZWxzZSB7IC8vIG90aGVyd2lzZSBjb250aW51ZSB0byBuZXh0IGVtYmVkZGVkIG9iamVjdAogICAgICAgICAgbyA9IG9bcGFydF07CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfTsKCiAgLy8gUmV0cmlldmUgdGhlIEhUTUxXaWRnZXQgaW5zdGFuY2UgKGkuZS4gdGhlIHJldHVybiB2YWx1ZSBvZiBhbgogIC8vIEhUTUxXaWRnZXQgYmluZGluZydzIGluaXRpYWxpemUoKSBvciBmYWN0b3J5KCkgZnVuY3Rpb24pCiAgLy8gYXNzb2NpYXRlZCB3aXRoIGFuIGVsZW1lbnQsIG9yIG51bGwgaWYgbm9uZS4KICB3aW5kb3cuSFRNTFdpZGdldHMuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbihlbCkgewogICAgcmV0dXJuIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiKTsKICB9OwoKICAvLyBGaW5kcyB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgc2NvcGUgdGhhdCBtYXRjaGVzIHRoZSBzZWxlY3RvciwKICAvLyBhbmQgcmV0dXJucyB0aGUgSFRNTFdpZGdldCBpbnN0YW5jZSAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlIG9mCiAgLy8gYW4gSFRNTFdpZGdldCBiaW5kaW5nJ3MgaW5pdGlhbGl6ZSgpIG9yIGZhY3RvcnkoKSBmdW5jdGlvbikKICAvLyBhc3NvY2lhdGVkIHdpdGggdGhhdCBlbGVtZW50LCBpZiBhbnkuIElmIG5vIGVsZW1lbnQgbWF0Y2hlcyB0aGUKICAvLyBzZWxlY3Rvciwgb3IgdGhlIGZpcnN0IG1hdGNoaW5nIGVsZW1lbnQgaGFzIG5vIEhUTUxXaWRnZXQKICAvLyBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggaXQsIHRoZW4gbnVsbCBpcyByZXR1cm5lZC4KICAvLwogIC8vIFRoZSBzY29wZSBhcmd1bWVudCBpcyBvcHRpb25hbCwgYW5kIGRlZmF1bHRzIHRvIHdpbmRvdy5kb2N1bWVudC4KICB3aW5kb3cuSFRNTFdpZGdldHMuZmluZCA9IGZ1bmN0aW9uKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkgewogICAgICBzZWxlY3RvciA9IHNjb3BlOwogICAgICBzY29wZSA9IGRvY3VtZW50OwogICAgfQoKICAgIHZhciBlbCA9IHNjb3BlLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpOwogICAgaWYgKGVsID09PSBudWxsKSB7CiAgICAgIHJldHVybiBudWxsOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZShlbCk7CiAgICB9CiAgfTsKCiAgLy8gRmluZHMgYWxsIGVsZW1lbnRzIGluIHRoZSBzY29wZSB0aGF0IG1hdGNoIHRoZSBzZWxlY3RvciwgYW5kCiAgLy8gcmV0dXJucyB0aGUgSFRNTFdpZGdldCBpbnN0YW5jZXMgKGkuZS4gdGhlIHJldHVybiB2YWx1ZXMgb2YKICAvLyBhbiBIVE1MV2lkZ2V0IGJpbmRpbmcncyBpbml0aWFsaXplKCkgb3IgZmFjdG9yeSgpIGZ1bmN0aW9uKQogIC8vIGFzc29jaWF0ZWQgd2l0aCB0aGUgZWxlbWVudHMsIGluIGFuIGFycmF5LiBJZiBlbGVtZW50cyB0aGF0CiAgLy8gbWF0Y2ggdGhlIHNlbGVjdG9yIGRvbid0IGhhdmUgYW4gYXNzb2NpYXRlZCBIVE1MV2lkZ2V0CiAgLy8gaW5zdGFuY2UsIHRoZSByZXR1cm5lZCBhcnJheSB3aWxsIGNvbnRhaW4gbnVsbHMuCiAgLy8KICAvLyBUaGUgc2NvcGUgYXJndW1lbnQgaXMgb3B0aW9uYWwsIGFuZCBkZWZhdWx0cyB0byB3aW5kb3cuZG9jdW1lbnQuCiAgd2luZG93LkhUTUxXaWRnZXRzLmZpbmRBbGwgPSBmdW5jdGlvbihzY29wZSwgc2VsZWN0b3IpIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgc2VsZWN0b3IgPSBzY29wZTsKICAgICAgc2NvcGUgPSBkb2N1bWVudDsKICAgIH0KCiAgICB2YXIgbm9kZXMgPSBzY29wZS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTsKICAgIHZhciByZXN1bHRzID0gW107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHJlc3VsdHMucHVzaCh3aW5kb3cuSFRNTFdpZGdldHMuZ2V0SW5zdGFuY2Uobm9kZXNbaV0pKTsKICAgIH0KICAgIHJldHVybiByZXN1bHRzOwogIH07CgogIHZhciBwb3N0UmVuZGVySGFuZGxlcnMgPSBbXTsKICBmdW5jdGlvbiBpbnZva2VQb3N0UmVuZGVySGFuZGxlcnMoKSB7CiAgICB3aGlsZSAocG9zdFJlbmRlckhhbmRsZXJzLmxlbmd0aCkgewogICAgICB2YXIgaGFuZGxlciA9IHBvc3RSZW5kZXJIYW5kbGVycy5zaGlmdCgpOwogICAgICBpZiAoaGFuZGxlcikgewogICAgICAgIGhhbmRsZXIoKTsKICAgICAgfQogICAgfQogIH0KCiAgLy8gUmVnaXN0ZXIgdGhlIGdpdmVuIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgYWZ0ZXIgdGhlCiAgLy8gbmV4dCB0aW1lIHN0YXRpYyB3aWRnZXRzIGFyZSByZW5kZXJlZC4KICB3aW5kb3cuSFRNTFdpZGdldHMuYWRkUG9zdFJlbmRlckhhbmRsZXIgPSBmdW5jdGlvbihjYWxsYmFjaykgewogICAgcG9zdFJlbmRlckhhbmRsZXJzLnB1c2goY2FsbGJhY2spOwogIH07CgogIC8vIFRha2VzIGEgbmV3LXN0eWxlIGluc3RhbmNlLWJvdW5kIGRlZmluaXRpb24sIGFuZCByZXR1cm5zIGFuCiAgLy8gb2xkLXN0eWxlIGNsYXNzLWJvdW5kIGRlZmluaXRpb24uIFRoaXMgc2F2ZXMgdXMgZnJvbSBoYXZpbmcKICAvLyB0byByZXdyaXRlIGFsbCB0aGUgbG9naWMgaW4gdGhpcyBmaWxlIHRvIGFjY29tb2RhdGUgYm90aAogIC8vIHR5cGVzIG9mIGRlZmluaXRpb25zLgogIGZ1bmN0aW9uIGNyZWF0ZUxlZ2FjeURlZmluaXRpb25BZGFwdGVyKGRlZm4pIHsKICAgIHZhciByZXN1bHQgPSB7CiAgICAgIG5hbWU6IGRlZm4ubmFtZSwKICAgICAgdHlwZTogZGVmbi50eXBlLAogICAgICBpbml0aWFsaXplOiBmdW5jdGlvbihlbCwgd2lkdGgsIGhlaWdodCkgewogICAgICAgIHJldHVybiBkZWZuLmZhY3RvcnkoZWwsIHdpZHRoLCBoZWlnaHQpOwogICAgICB9LAogICAgICByZW5kZXJWYWx1ZTogZnVuY3Rpb24oZWwsIHgsIGluc3RhbmNlKSB7CiAgICAgICAgcmV0dXJuIGluc3RhbmNlLnJlbmRlclZhbHVlKHgpOwogICAgICB9LAogICAgICByZXNpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0LCBpbnN0YW5jZSkgewogICAgICAgIHJldHVybiBpbnN0YW5jZS5yZXNpemUod2lkdGgsIGhlaWdodCk7CiAgICAgIH0KICAgIH07CgogICAgaWYgKGRlZm4uZmluZCkKICAgICAgcmVzdWx0LmZpbmQgPSBkZWZuLmZpbmQ7CiAgICBpZiAoZGVmbi5yZW5kZXJFcnJvcikKICAgICAgcmVzdWx0LnJlbmRlckVycm9yID0gZGVmbi5yZW5kZXJFcnJvcjsKICAgIGlmIChkZWZuLmNsZWFyRXJyb3IpCiAgICAgIHJlc3VsdC5jbGVhckVycm9yID0gZGVmbi5jbGVhckVycm9yOwoKICAgIHJldHVybiByZXN1bHQ7CiAgfQp9KSgpOwoK"></script>
<script src="data:application/x-javascript;base64,LyohIGpRdWVyeSB2MS4xMi40IHwgKGMpIGpRdWVyeSBGb3VuZGF0aW9uIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovCiFmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWEuZG9jdW1lbnQ/YihhLCEwKTpmdW5jdGlvbihhKXtpZighYS5kb2N1bWVudCl0aHJvdyBuZXcgRXJyb3IoImpRdWVyeSByZXF1aXJlcyBhIHdpbmRvdyB3aXRoIGEgZG9jdW1lbnQiKTtyZXR1cm4gYihhKX06YihhKX0oInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnRoaXMsZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPWEuZG9jdW1lbnQsZT1jLnNsaWNlLGY9Yy5jb25jYXQsZz1jLnB1c2gsaD1jLmluZGV4T2YsaT17fSxqPWkudG9TdHJpbmcsaz1pLmhhc093blByb3BlcnR5LGw9e30sbT0iMS4xMi40IixuPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBuLmZuLmluaXQoYSxiKX0sbz0vXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2cscD0vXi1tcy0vLHE9Ly0oW1xkYS16XSkvZ2kscj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9O24uZm49bi5wcm90b3R5cGU9e2pxdWVyeTptLGNvbnN0cnVjdG9yOm4sc2VsZWN0b3I6IiIsbGVuZ3RoOjAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YT8wPmE/dGhpc1thK3RoaXMubGVuZ3RoXTp0aGlzW2FdOmUuY2FsbCh0aGlzKX0scHVzaFN0YWNrOmZ1bmN0aW9uKGEpe3ZhciBiPW4ubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGEpO3JldHVybiBiLnByZXZPYmplY3Q9dGhpcyxiLmNvbnRleHQ9dGhpcy5jb250ZXh0LGJ9LGVhY2g6ZnVuY3Rpb24oYSl7cmV0dXJuIG4uZWFjaCh0aGlzLGEpfSxtYXA6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4ubWFwKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4gYS5jYWxsKGIsYyxiKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxlcTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmxlbmd0aCxjPSthKygwPmE/YjowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYz49MCYmYj5jP1t0aGlzW2NdXTpbXSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDpnLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbi5leHRlbmQ9bi5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG4uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihuLmlzUGxhaW5PYmplY3QoYyl8fChiPW4uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbi5pc0FycmF5KGEpP2E6W10pOmY9YSYmbi5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1uLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbi5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKG0rTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW4udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bi50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXt2YXIgYj1hJiZhLnRvU3RyaW5nKCk7cmV0dXJuIW4uaXNBcnJheShhKSYmYi1wYXJzZUZsb2F0KGIpKzE+PTB9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7Zm9yKGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtpZighYXx8Im9iamVjdCIhPT1uLnR5cGUoYSl8fGEubm9kZVR5cGV8fG4uaXNXaW5kb3coYSkpcmV0dXJuITE7dHJ5e2lmKGEuY29uc3RydWN0b3ImJiFrLmNhbGwoYSwiY29uc3RydWN0b3IiKSYmIWsuY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGMpe3JldHVybiExfWlmKCFsLm93bkZpcnN0KWZvcihiIGluIGEpcmV0dXJuIGsuY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxrLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aVtqLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZuLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UocCwibXMtIikucmVwbGFjZShxLHIpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYocyhhKSl7Zm9yKGM9YS5sZW5ndGg7Yz5kO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShvLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihzKE9iamVjdChhKSk/bi5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zy5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGgpcmV0dXJuIGguY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGc9MCxoPVtdO2lmKHMoYSkpZm9yKGQ9YS5sZW5ndGg7ZD5nO2crKyllPWIoYVtnXSxnLGMpLG51bGwhPWUmJmgucHVzaChlKTtlbHNlIGZvcihnIGluIGEpZT1iKGFbZ10sZyxjKSxudWxsIT1lJiZoLnB1c2goZSk7cmV0dXJuIGYuYXBwbHkoW10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9Ziksbi5pc0Z1bmN0aW9uKGEpPyhjPWUuY2FsbChhcmd1bWVudHMsMiksZD1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZS5jYWxsKGFyZ3VtZW50cykpKX0sZC5ndWlkPWEuZ3VpZD1hLmd1aWR8fG4uZ3VpZCsrLGQpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omx9KSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYobi5mbltTeW1ib2wuaXRlcmF0b3JdPWNbU3ltYm9sLml0ZXJhdG9yXSksbi5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2lbIltvYmplY3QgIitiKyJdIl09Yi50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gcyhhKXt2YXIgYj0hIWEmJiJsZW5ndGgiaW4gYSYmYS5sZW5ndGgsYz1uLnR5cGUoYSk7cmV0dXJuImZ1bmN0aW9uIj09PWN8fG4uaXNXaW5kb3coYSk/ITE6ImFycmF5Ij09PWN8fDA9PT1ifHwibnVtYmVyIj09dHlwZW9mIGImJmI+MCYmYi0xIGluIGF9dmFyIHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscixzLHQsdT0ic2l6emxlIisxKm5ldyBEYXRlLHY9YS5kb2N1bWVudCx3PTAseD0wLHk9Z2EoKSx6PWdhKCksQT1nYSgpLEI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWImJihsPSEwKSwwfSxDPTE8PDMxLEQ9e30uaGFzT3duUHJvcGVydHksRT1bXSxGPUUucG9wLEc9RS5wdXNoLEg9RS5wdXNoLEk9RS5zbGljZSxKPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtkPmM7YysrKWlmKGFbY109PT1iKXJldHVybiBjO3JldHVybi0xfSxLPSJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsTD0iW1xceDIwXFx0XFxyXFxuXFxmXSIsTT0iKD86XFxcXC58W1xcdy1dfFteXFx4MDAtXFx4YTBdKSsiLE49IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitNKyIpKXwpIitMKyIqXFxdIixPPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTisiKSopfC4qKVxcKXwpIixQPW5ldyBSZWdFeHAoTCsiKyIsImciKSxRPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUj1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFM9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxUPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFU9bmV3IFJlZ0V4cChPKSxWPW5ldyBSZWdFeHAoIl4iK00rIiQiKSxXPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTSsifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK04pLFBTRVVETzpuZXcgUmVnRXhwKCJeIitPKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK0wrIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK0wrIiooPzooWystXXwpIitMKyIqKFxcZCspfCkpIitMKyIqXFwpfCkiLCJpIiksYm9vbDpuZXcgUmVnRXhwKCJeKD86IitLKyIpJCIsImkiKSxuZWVkc0NvbnRleHQ6bmV3IFJlZ0V4cCgiXiIrTCsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIitMKyIqKCg/Oi1cXGQpP1xcZCopIitMKyIqXFwpfCkoPz1bXi1dfCQpIiwiaSIpfSxYPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksWT0vXmhcZCQvaSxaPS9eW157XStce1xzKlxbbmF0aXZlIFx3LywkPS9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sXz0vWyt+XS8sYWE9Lyd8XFwvZyxiYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksY2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGRhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChlYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZmEoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3PWImJmIub3duZXJEb2N1bWVudCx4PWI/Yi5ub2RlVHlwZTo5O2lmKGQ9ZHx8W10sInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PXgmJjkhPT14JiYxMSE9PXgpcmV0dXJuIGQ7aWYoIWUmJigoYj9iLm93bmVyRG9jdW1lbnR8fGI6dikhPT1uJiZtKGIpLGI9Ynx8bixwKSl7aWYoMTEhPT14JiYobz0kLmV4ZWMoYSkpKWlmKGY9b1sxXSl7aWYoOT09PXgpe2lmKCEoaj1iLmdldEVsZW1lbnRCeUlkKGYpKSlyZXR1cm4gZDtpZihqLmlkPT09ZilyZXR1cm4gZC5wdXNoKGopLGR9ZWxzZSBpZih3JiYoaj13LmdldEVsZW1lbnRCeUlkKGYpKSYmdChiLGopJiZqLmlkPT09ZilyZXR1cm4gZC5wdXNoKGopLGR9ZWxzZXtpZihvWzJdKXJldHVybiBILmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKSksZDtpZigoZj1vWzNdKSYmYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZikpLGR9aWYoYy5xc2EmJiFBW2ErIiAiXSYmKCFxfHwhcS50ZXN0KGEpKSl7aWYoMSE9PXgpdz1iLHM9YTtlbHNlIGlmKCJvYmplY3QiIT09Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXsoaz1iLmdldEF0dHJpYnV0ZSgiaWQiKSk/az1rLnJlcGxhY2UoYWEsIlxcJCYiKTpiLnNldEF0dHJpYnV0ZSgiaWQiLGs9dSkscj1nKGEpLGg9ci5sZW5ndGgsbD1WLnRlc3Qoayk/IiMiK2s6IltpZD0nIitrKyInXSI7d2hpbGUoaC0tKXJbaF09bCsiICIrcWEocltoXSk7cz1yLmpvaW4oIiwiKSx3PV8udGVzdChhKSYmb2EoYi5wYXJlbnROb2RlKXx8Yn1pZihzKXRyeXtyZXR1cm4gSC5hcHBseShkLHcucXVlcnlTZWxlY3RvckFsbChzKSksZH1jYXRjaCh5KXt9ZmluYWxseXtrPT09dSYmYi5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gaShhLnJlcGxhY2UoUSwiJDEiKSxiLGQsZSl9ZnVuY3Rpb24gZ2EoKXt2YXIgYT1bXTtmdW5jdGlvbiBiKGMsZSl7cmV0dXJuIGEucHVzaChjKyIgIik+ZC5jYWNoZUxlbmd0aCYmZGVsZXRlIGJbYS5zaGlmdCgpXSxiW2MrIiAiXT1lfXJldHVybiBifWZ1bmN0aW9uIGhhKGEpe3JldHVybiBhW3VdPSEwLGF9ZnVuY3Rpb24gaWEoYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KCJkaXYiKTt0cnl7cmV0dXJuISFhKGIpfWNhdGNoKGMpe3JldHVybiExfWZpbmFsbHl7Yi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYiksYj1udWxsfX1mdW5jdGlvbiBqYShhLGIpe3ZhciBjPWEuc3BsaXQoInwiKSxlPWMubGVuZ3RoO3doaWxlKGUtLSlkLmF0dHJIYW5kbGVbY1tlXV09Yn1mdW5jdGlvbiBrYShhLGIpe3ZhciBjPWImJmEsZD1jJiYxPT09YS5ub2RlVHlwZSYmMT09PWIubm9kZVR5cGUmJih+Yi5zb3VyY2VJbmRleHx8QyktKH5hLnNvdXJjZUluZGV4fHxDKTtpZihkKXJldHVybiBkO2lmKGMpd2hpbGUoYz1jLm5leHRTaWJsaW5nKWlmKGM9PT1iKXJldHVybi0xO3JldHVybiBhPzE6LTF9ZnVuY3Rpb24gbGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09YyYmYi50eXBlPT09YX19ZnVuY3Rpb24gbWEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PWN8fCJidXR0b24iPT09YykmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBoYShmdW5jdGlvbihiKXtyZXR1cm4gYj0rYixoYShmdW5jdGlvbihjLGQpe3ZhciBlLGY9YShbXSxjLmxlbmd0aCxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSljW2U9ZltnXV0mJihjW2VdPSEoZFtlXT1jW2VdKSl9KX0pfWZ1bmN0aW9uIG9hKGEpe3JldHVybiBhJiYidW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmF9Yz1mYS5zdXBwb3J0PXt9LGY9ZmEuaXNYTUw9ZnVuY3Rpb24oYSl7dmFyIGI9YSYmKGEub3duZXJEb2N1bWVudHx8YSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiBiPyJIVE1MIiE9PWIubm9kZU5hbWU6ITF9LG09ZmEuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZSxnPWE/YS5vd25lckRvY3VtZW50fHxhOnY7cmV0dXJuIGchPT1uJiY5PT09Zy5ub2RlVHlwZSYmZy5kb2N1bWVudEVsZW1lbnQ/KG49ZyxvPW4uZG9jdW1lbnRFbGVtZW50LHA9IWYobiksKGU9bi5kZWZhdWx0VmlldykmJmUudG9wIT09ZSYmKGUuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsZGEsITEpOmUuYXR0YWNoRXZlbnQmJmUuYXR0YWNoRXZlbnQoIm9udW5sb2FkIixkYSkpLGMuYXR0cmlidXRlcz1pYShmdW5jdGlvbihhKXtyZXR1cm4gYS5jbGFzc05hbWU9ImkiLCFhLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIil9KSxjLmdldEVsZW1lbnRzQnlUYWdOYW1lPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmFwcGVuZENoaWxkKG4uY3JlYXRlQ29tbWVudCgiIikpLCFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RofSksYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPVoudGVzdChuLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLGMuZ2V0QnlJZD1pYShmdW5jdGlvbihhKXtyZXR1cm4gby5hcHBlbmRDaGlsZChhKS5pZD11LCFuLmdldEVsZW1lbnRzQnlOYW1lfHwhbi5nZXRFbGVtZW50c0J5TmFtZSh1KS5sZW5ndGh9KSxjLmdldEJ5SWQ/KGQuZmluZC5JRD1mdW5jdGlvbihhLGIpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50QnlJZCYmcCl7dmFyIGM9Yi5nZXRFbGVtZW50QnlJZChhKTtyZXR1cm4gYz9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJnA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT1aLnRlc3Qobi5xdWVyeVNlbGVjdG9yQWxsKSkmJihpYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGEucXVlcnlTZWxlY3RvckFsbCgiW21zYWxsb3djYXB0dXJlXj0nJ10iKS5sZW5ndGgmJnEucHVzaCgiWypeJF09IitMKyIqKD86Jyd8XCJcIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltzZWxlY3RlZF0iKS5sZW5ndGh8fHEucHVzaCgiXFxbIitMKyIqKD86dmFsdWV8IitLKyIpIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbaWR+PSIrdSsiLV0iKS5sZW5ndGh8fHEucHVzaCgifj0iKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RofHxxLnB1c2goIjpjaGVja2VkIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJhIyIrdSsiKyoiKS5sZW5ndGh8fHEucHVzaCgiLiMuK1srfl0iKX0pLGlhKGZ1bmN0aW9uKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtiLnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGEuYXBwZW5kQ2hpbGQoYikuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLGEucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJnEucHVzaCgibmFtZSIrTCsiKlsqXiR8IX5dPz0iKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RofHxxLnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksYS5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4IikscS5wdXNoKCIsLio6Iil9KSksKGMubWF0Y2hlc1NlbGVjdG9yPVoudGVzdChzPW8ubWF0Y2hlc3x8by53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fG8ubW96TWF0Y2hlc1NlbGVjdG9yfHxvLm9NYXRjaGVzU2VsZWN0b3J8fG8ubXNNYXRjaGVzU2VsZWN0b3IpKSYmaWEoZnVuY3Rpb24oYSl7Yy5kaXNjb25uZWN0ZWRNYXRjaD1zLmNhbGwoYSwiZGl2Iikscy5jYWxsKGEsIltzIT0nJ106eCIpLHIucHVzaCgiIT0iLE8pfSkscT1xLmxlbmd0aCYmbmV3IFJlZ0V4cChxLmpvaW4oInwiKSkscj1yLmxlbmd0aCYmbmV3IFJlZ0V4cChyLmpvaW4oInwiKSksYj1aLnRlc3Qoby5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiksdD1ifHxaLnRlc3Qoby5jb250YWlucyk/ZnVuY3Rpb24oYSxiKXt2YXIgYz05PT09YS5ub2RlVHlwZT9hLmRvY3VtZW50RWxlbWVudDphLGQ9YiYmYi5wYXJlbnROb2RlO3JldHVybiBhPT09ZHx8ISghZHx8MSE9PWQubm9kZVR5cGV8fCEoYy5jb250YWlucz9jLmNvbnRhaW5zKGQpOmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZCkpKX06ZnVuY3Rpb24oYSxiKXtpZihiKXdoaWxlKGI9Yi5wYXJlbnROb2RlKWlmKGI9PT1hKXJldHVybiEwO3JldHVybiExfSxCPWI/ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gbD0hMCwwO3ZhciBkPSFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiBkP2Q6KGQ9KGEub3duZXJEb2N1bWVudHx8YSk9PT0oYi5vd25lckRvY3VtZW50fHxiKT9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpOjEsMSZkfHwhYy5zb3J0RGV0YWNoZWQmJmIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSk9PT1kP2E9PT1ufHxhLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYSk/LTE6Yj09PW58fGIub3duZXJEb2N1bWVudD09PXYmJnQodixiKT8xOms/SihrLGEpLUooayxiKTowOjQmZD8tMToxKX06ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gbD0hMCwwO3ZhciBjLGQ9MCxlPWEucGFyZW50Tm9kZSxmPWIucGFyZW50Tm9kZSxnPVthXSxoPVtiXTtpZighZXx8IWYpcmV0dXJuIGE9PT1uPy0xOmI9PT1uPzE6ZT8tMTpmPzE6az9KKGssYSktSihrLGIpOjA7aWYoZT09PWYpcmV0dXJuIGthKGEsYik7Yz1hO3doaWxlKGM9Yy5wYXJlbnROb2RlKWcudW5zaGlmdChjKTtjPWI7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO3doaWxlKGdbZF09PT1oW2RdKWQrKztyZXR1cm4gZD9rYShnW2RdLGhbZF0pOmdbZF09PT12Py0xOmhbZF09PT12PzE6MH0sbik6bn0sZmEubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBmYShhLG51bGwsbnVsbCxiKX0sZmEubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGEsYil7aWYoKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLGI9Yi5yZXBsYWNlKFQsIj0nJDEnXSIpLGMubWF0Y2hlc1NlbGVjdG9yJiZwJiYhQVtiKyIgIl0mJighcnx8IXIudGVzdChiKSkmJighcXx8IXEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGZhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGZhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZmEuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGZhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZmEudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWZhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1mYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzpoYSxtYXRjaDpXLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoYmEsY2EpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGJhLGNhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8ZmEuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZmEuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFcuQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVS50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9ZmEuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShQLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoLHQ9ITE7aWYocSl7aWYoZil7d2hpbGUocCl7bT1iO3doaWxlKG09bVtwXSlpZihoP20ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PW0ubm9kZVR5cGUpcmV0dXJuITE7bz1wPSJvbmx5Ij09PWEmJiFvJiYibmV4dFNpYmxpbmcifXJldHVybiEwfWlmKG89W2c/cS5maXJzdENoaWxkOnEubGFzdENoaWxkXSxnJiZzKXttPXEsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biYmalsyXSxtPW4mJnEuY2hpbGROb2Rlc1tuXTt3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigxPT09bS5ub2RlVHlwZSYmKyt0JiZtPT09Yil7a1thXT1bdyxuLHRdO2JyZWFrfX1lbHNlIGlmKHMmJihtPWIsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biksdD09PSExKXdoaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKChoP20ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PW0ubm9kZVR5cGUpJiYrK3QmJihzJiYobD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksa1thXT1bdyx0XSksbT09PWIpKWJyZWFrO3JldHVybiB0LT1lLHQ9PT1kfHx0JWQ9PT0wJiZ0L2Q+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKGEsYil7dmFyIGMsZT1kLnBzZXVkb3NbYV18fGQuc2V0RmlsdGVyc1thLnRvTG93ZXJDYXNlKCldfHxmYS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2EpO3JldHVybiBlW3VdP2UoYik6ZS5sZW5ndGg+MT8oYz1bYSxhLCIiLGJdLGQuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShhLnRvTG93ZXJDYXNlKCkpP2hhKGZ1bmN0aW9uKGEsYyl7dmFyIGQsZj1lKGEsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pZD1KKGEsZltnXSksYVtkXT0hKGNbZF09ZltnXSl9KTpmdW5jdGlvbihhKXtyZXR1cm4gZShhLDAsYyl9KTplfX0scHNldWRvczp7bm90OmhhKGZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9W10sZD1oKGEucmVwbGFjZShRLCIkMSIpKTtyZXR1cm4gZFt1XT9oYShmdW5jdGlvbihhLGIsYyxlKXt2YXIgZixnPWQoYSxudWxsLGUsW10pLGg9YS5sZW5ndGg7d2hpbGUoaC0tKShmPWdbaF0pJiYoYVtoXT0hKGJbaF09ZikpfSk6ZnVuY3Rpb24oYSxlLGYpe3JldHVybiBiWzBdPWEsZChiLG51bGwsZixjKSxiWzBdPW51bGwsIWMucG9wKCl9fSksaGFzOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm4gZmEoYSxiKS5sZW5ndGg+MH19KSxjb250YWluczpoYShmdW5jdGlvbihhKXtyZXR1cm4gYT1hLnJlcGxhY2UoYmEsY2EpLGZ1bmN0aW9uKGIpe3JldHVybihiLnRleHRDb250ZW50fHxiLmlubmVyVGV4dHx8ZShiKSkuaW5kZXhPZihhKT4tMX19KSxsYW5nOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBWLnRlc3QoYXx8IiIpfHxmYS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIithKSxhPWEucmVwbGFjZShiYSxjYSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihiKXt2YXIgYztkbyBpZihjPXA/Yi5sYW5nOmIuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxiLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybiBjPWMudG9Mb3dlckNhc2UoKSxjPT09YXx8MD09PWMuaW5kZXhPZihhKyItIik7d2hpbGUoKGI9Yi5wYXJlbnROb2RlKSYmMT09PWIubm9kZVR5cGUpO3JldHVybiExfX0pLHRhcmdldDpmdW5jdGlvbihiKXt2YXIgYz1hLmxvY2F0aW9uJiZhLmxvY2F0aW9uLmhhc2g7cmV0dXJuIGMmJmMuc2xpY2UoMSk9PT1iLmlkfSxyb290OmZ1bmN0aW9uKGEpe3JldHVybiBhPT09b30sZm9jdXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1uLmFjdGl2ZUVsZW1lbnQmJighbi5oYXNGb2N1c3x8bi5oYXNGb2N1cygpKSYmISEoYS50eXBlfHxhLmhyZWZ8fH5hLnRhYkluZGV4KX0sZW5hYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSExfSxkaXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSEwfSxjaGVja2VkOmZ1bmN0aW9uKGEpe3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09YiYmISFhLmNoZWNrZWR8fCJvcHRpb24iPT09YiYmISFhLnNlbGVjdGVkfSxzZWxlY3RlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxhLnNlbGVjdGVkPT09ITB9LGVtcHR5OmZ1bmN0aW9uKGEpe2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZylpZihhLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudDpmdW5jdGlvbihhKXtyZXR1cm4hZC5wc2V1ZG9zLmVtcHR5KGEpfSxoZWFkZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIFkudGVzdChhLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFgudGVzdChhLm5vZGVOYW1lKX0sYnV0dG9uOmZ1bmN0aW9uKGEpe3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09YiYmImJ1dHRvbiI9PT1hLnR5cGV8fCJidXR0b24iPT09Yn0sdGV4dDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4iaW5wdXQiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1hLnR5cGUmJihudWxsPT0oYj1hLmdldEF0dHJpYnV0ZSgidHlwZSIpKXx8InRleHQiPT09Yi50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6bmEoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0Om5hKGZ1bmN0aW9uKGEsYil7cmV0dXJuW2ItMV19KSxlcTpuYShmdW5jdGlvbihhLGIsYyl7cmV0dXJuWzA+Yz9jK2I6Y119KSxldmVuOm5hKGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7Yj5jO2MrPTIpYS5wdXNoKGMpO3JldHVybiBhfSksb2RkOm5hKGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTE7Yj5jO2MrPTIpYS5wdXNoKGMpO3JldHVybiBhfSksbHQ6bmEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7LS1kPj0wOylhLnB1c2goZCk7cmV0dXJuIGF9KSxndDpuYShmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA+Yz9jK2I6YzsrK2Q8YjspYS5wdXNoKGQpO3JldHVybiBhfSl9fSxkLnBzZXVkb3MubnRoPWQucHNldWRvcy5lcTtmb3IoYiBpbntyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlOiEwfSlkLnBzZXVkb3NbYl09bGEoYik7Zm9yKGIgaW57c3VibWl0OiEwLHJlc2V0OiEwfSlkLnBzZXVkb3NbYl09bWEoYik7ZnVuY3Rpb24gcGEoKXt9cGEucHJvdG90eXBlPWQuZmlsdGVycz1kLnBzZXVkb3MsZC5zZXRGaWx0ZXJzPW5ldyBwYSxnPWZhLnRva2VuaXplPWZ1bmN0aW9uKGEsYil7dmFyIGMsZSxmLGcsaCxpLGosaz16W2ErIiAiXTtpZihrKXJldHVybiBiPzA6ay5zbGljZSgwKTtoPWEsaT1bXSxqPWQucHJlRmlsdGVyO3doaWxlKGgpe2MmJiEoZT1SLmV4ZWMoaCkpfHwoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1TLmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFEsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1XW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/ZmEuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiBxYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHJhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGosaz1bdyxmXTtpZihnKXt3aGlsZShiPWJbZF0paWYoKDE9PT1iLm5vZGVUeXBlfHxlKSYmYShiLGMsZykpcmV0dXJuITB9ZWxzZSB3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpe2lmKGo9Ylt1XXx8KGJbdV09e30pLGk9altiLnVuaXF1ZUlEXXx8KGpbYi51bmlxdWVJRF09e30pLChoPWlbZF0pJiZoWzBdPT09dyYmaFsxXT09PWYpcmV0dXJuIGtbMl09aFsyXTtpZihpW2RdPWssa1syXT1hKGIsYyxnKSlyZXR1cm4hMH19fWZ1bmN0aW9uIHNhKGEpe3JldHVybiBhLmxlbmd0aD4xP2Z1bmN0aW9uKGIsYyxkKXt2YXIgZT1hLmxlbmd0aDt3aGlsZShlLS0paWYoIWFbZV0oYixjLGQpKXJldHVybiExO3JldHVybiEwfTphWzBdfWZ1bmN0aW9uIHRhKGEsYixjKXtmb3IodmFyIGQ9MCxlPWIubGVuZ3RoO2U+ZDtkKyspZmEoYSxiW2RdLGMpO3JldHVybiBjfWZ1bmN0aW9uIHVhKGEsYixjLGQsZSl7Zm9yKHZhciBmLGc9W10saD0wLGk9YS5sZW5ndGgsaj1udWxsIT1iO2k+aDtoKyspKGY9YVtoXSkmJihjJiYhYyhmLGQsZSl8fChnLnB1c2goZiksaiYmYi5wdXNoKGgpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gdmEoYSxiLGMsZCxlLGYpe3JldHVybiBkJiYhZFt1XSYmKGQ9dmEoZCkpLGUmJiFlW3VdJiYoZT12YShlLGYpKSxoYShmdW5jdGlvbihmLGcsaCxpKXt2YXIgaixrLGwsbT1bXSxuPVtdLG89Zy5sZW5ndGgscD1mfHx0YShifHwiKiIsaC5ub2RlVHlwZT9baF06aCxbXSkscT0hYXx8IWYmJmI/cDp1YShwLG0sYSxoLGkpLHI9Yz9lfHwoZj9hOm98fGQpP1tdOmc6cTtpZihjJiZjKHEscixoLGkpLGQpe2o9dWEocixuKSxkKGosW10saCxpKSxrPWoubGVuZ3RoO3doaWxlKGstLSkobD1qW2tdKSYmKHJbbltrXV09IShxW25ba11dPWwpKX1pZihmKXtpZihlfHxhKXtpZihlKXtqPVtdLGs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiZqLnB1c2gocVtrXT1sKTtlKG51bGwscj1bXSxqLGkpfWs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiYoaj1lP0ooZixsKTptW2tdKT4tMSYmKGZbal09IShnW2pdPWwpKX19ZWxzZSByPXVhKHI9PT1nP3Iuc3BsaWNlKG8sci5sZW5ndGgpOnIpLGU/ZShudWxsLGcscixpKTpILmFwcGx5KGcscil9KX1mdW5jdGlvbiB3YShhKXtmb3IodmFyIGIsYyxlLGY9YS5sZW5ndGgsZz1kLnJlbGF0aXZlW2FbMF0udHlwZV0saD1nfHxkLnJlbGF0aXZlWyIgIl0saT1nPzE6MCxrPXJhKGZ1bmN0aW9uKGEpe3JldHVybiBhPT09Yn0saCwhMCksbD1yYShmdW5jdGlvbihhKXtyZXR1cm4gSihiLGEpPi0xfSxoLCEwKSxtPVtmdW5jdGlvbihhLGMsZCl7dmFyIGU9IWcmJihkfHxjIT09ail8fCgoYj1jKS5ub2RlVHlwZT9rKGEsYyxkKTpsKGEsYyxkKSk7cmV0dXJuIGI9bnVsbCxlfV07Zj5pO2krKylpZihjPWQucmVsYXRpdmVbYVtpXS50eXBlXSltPVtyYShzYShtKSxjKV07ZWxzZXtpZihjPWQuZmlsdGVyW2FbaV0udHlwZV0uYXBwbHkobnVsbCxhW2ldLm1hdGNoZXMpLGNbdV0pe2ZvcihlPSsraTtmPmU7ZSsrKWlmKGQucmVsYXRpdmVbYVtlXS50eXBlXSlicmVhaztyZXR1cm4gdmEoaT4xJiZzYShtKSxpPjEmJnFhKGEuc2xpY2UoMCxpLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09YVtpLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoUSwiJDEiKSxjLGU+aSYmd2EoYS5zbGljZShpLGUpKSxmPmUmJndhKGE9YS5zbGljZShlKSksZj5lJiZxYShhKSl9bS5wdXNoKGMpfXJldHVybiBzYShtKX1mdW5jdGlvbiB4YShhLGIpe3ZhciBjPWIubGVuZ3RoPjAsZT1hLmxlbmd0aD4wLGY9ZnVuY3Rpb24oZixnLGgsaSxrKXt2YXIgbCxvLHEscj0wLHM9IjAiLHQ9ZiYmW10sdT1bXSx2PWoseD1mfHxlJiZkLmZpbmQuVEFHKCIqIixrKSx5PXcrPW51bGw9PXY/MTpNYXRoLnJhbmRvbSgpfHwuMSx6PXgubGVuZ3RoO2ZvcihrJiYoaj1nPT09bnx8Z3x8ayk7cyE9PXomJm51bGwhPShsPXhbc10pO3MrKyl7aWYoZSYmbCl7bz0wLGd8fGwub3duZXJEb2N1bWVudD09PW58fChtKGwpLGg9IXApO3doaWxlKHE9YVtvKytdKWlmKHEobCxnfHxuLGgpKXtpLnB1c2gobCk7YnJlYWt9ayYmKHc9eSl9YyYmKChsPSFxJiZsKSYmci0tLGYmJnQucHVzaChsKSl9aWYocis9cyxjJiZzIT09cil7bz0wO3doaWxlKHE9YltvKytdKXEodCx1LGcsaCk7aWYoZil7aWYocj4wKXdoaWxlKHMtLSl0W3NdfHx1W3NdfHwodVtzXT1GLmNhbGwoaSkpO3U9dWEodSl9SC5hcHBseShpLHUpLGsmJiFmJiZ1Lmxlbmd0aD4wJiZyK2IubGVuZ3RoPjEmJmZhLnVuaXF1ZVNvcnQoaSl9cmV0dXJuIGsmJih3PXksaj12KSx0fTtyZXR1cm4gYz9oYShmKTpmfXJldHVybiBoPWZhLmNvbXBpbGU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9W10sZj1BW2ErIiAiXTtpZighZil7Ynx8KGI9ZyhhKSksYz1iLmxlbmd0aDt3aGlsZShjLS0pZj13YShiW2NdKSxmW3VdP2QucHVzaChmKTplLnB1c2goZik7Zj1BKGEseGEoZSxkKSksZi5zZWxlY3Rvcj1hfXJldHVybiBmfSxpPWZhLnNlbGVjdD1mdW5jdGlvbihhLGIsZSxmKXt2YXIgaSxqLGssbCxtLG49ImZ1bmN0aW9uIj09dHlwZW9mIGEmJmEsbz0hZiYmZyhhPW4uc2VsZWN0b3J8fGEpO2lmKGU9ZXx8W10sMT09PW8ubGVuZ3RoKXtpZihqPW9bMF09b1swXS5zbGljZSgwKSxqLmxlbmd0aD4yJiYiSUQiPT09KGs9alswXSkudHlwZSYmYy5nZXRCeUlkJiY5PT09Yi5ub2RlVHlwZSYmcCYmZC5yZWxhdGl2ZVtqWzFdLnR5cGVdKXtpZihiPShkLmZpbmQuSUQoay5tYXRjaGVzWzBdLnJlcGxhY2UoYmEsY2EpLGIpfHxbXSlbMF0sIWIpcmV0dXJuIGU7biYmKGI9Yi5wYXJlbnROb2RlKSxhPWEuc2xpY2Uoai5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aT1XLm5lZWRzQ29udGV4dC50ZXN0KGEpPzA6ai5sZW5ndGg7d2hpbGUoaS0tKXtpZihrPWpbaV0sZC5yZWxhdGl2ZVtsPWsudHlwZV0pYnJlYWs7aWYoKG09ZC5maW5kW2xdKSYmKGY9bShrLm1hdGNoZXNbMF0ucmVwbGFjZShiYSxjYSksXy50ZXN0KGpbMF0udHlwZSkmJm9hKGIucGFyZW50Tm9kZSl8fGIpKSl7aWYoai5zcGxpY2UoaSwxKSxhPWYubGVuZ3RoJiZxYShqKSwhYSlyZXR1cm4gSC5hcHBseShlLGYpLGU7YnJlYWt9fX1yZXR1cm4obnx8aChhLG8pKShmLGIsIXAsZSwhYnx8Xy50ZXN0KGEpJiZvYShiLnBhcmVudE5vZGUpfHxiKSxlfSxjLnNvcnRTdGFibGU9dS5zcGxpdCgiIikuc29ydChCKS5qb2luKCIiKT09PXUsYy5kZXRlY3REdXBsaWNhdGVzPSEhbCxtKCksYy5zb3J0RGV0YWNoZWQ9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIDEmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuLmNyZWF0ZUVsZW1lbnQoImRpdiIpKX0pLGlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsIiMiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGphKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmEuZ2V0QXR0cmlidXRlKGIsInR5cGUiPT09Yi50b0xvd2VyQ2FzZSgpPzE6Mil9KSxjLmF0dHJpYnV0ZXMmJmlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGlucHV0Lz4iLGEuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksIiI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGphKCJ2YWx1ZSIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjfHwiaW5wdXQiIT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP3ZvaWQgMDphLmRlZmF1bHRWYWx1ZX0pLGlhKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pfHxqYShLLGZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYz92b2lkIDA6YVtiXT09PSEwP2IudG9Mb3dlckNhc2UoKTooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZkLnNwZWNpZmllZD9kLnZhbHVlOm51bGx9KSxmYX0oYSk7bi5maW5kPXQsbi5leHByPXQuc2VsZWN0b3JzLG4uZXhwclsiOiJdPW4uZXhwci5wc2V1ZG9zLG4udW5pcXVlU29ydD1uLnVuaXF1ZT10LnVuaXF1ZVNvcnQsbi50ZXh0PXQuZ2V0VGV4dCxuLmlzWE1MRG9jPXQuaXNYTUwsbi5jb250YWlucz10LmNvbnRhaW5zO3ZhciB1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPXZvaWQgMCE9PWM7d2hpbGUoKGE9YVtiXSkmJjkhPT1hLm5vZGVUeXBlKWlmKDE9PT1hLm5vZGVUeXBlKXtpZihlJiZuKGEpLmlzKGMpKWJyZWFrO2QucHVzaChhKX1yZXR1cm4gZH0sdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXTthO2E9YS5uZXh0U2libGluZykxPT09YS5ub2RlVHlwZSYmYSE9PWImJmMucHVzaChhKTtyZXR1cm4gY30sdz1uLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHg9L148KFtcdy1dKylccypcLz8+KD86PFwvXDE+fCkkLyx5PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24geihhLGIsYyl7aWYobi5pc0Z1bmN0aW9uKGIpKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih5LnRlc3QoYikpcmV0dXJuIG4uZmlsdGVyKGIsYSxjKTtiPW4uZmlsdGVyKGIsYSl9cmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBuLmluQXJyYXkoYSxiKT4tMSE9PWN9KX1uLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9uLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm4uZmluZC5tYXRjaGVzKGEsbi5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxuLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobihhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobi5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyluLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9uLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soeih0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soeih0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEheih0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdy50ZXN0KGEpP24oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgQSxCPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKikpJC8sQz1uLmZuLmluaXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBlLGY7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYz1jfHxBLCJzdHJpbmciPT10eXBlb2YgYSl7aWYoZT0iPCI9PT1hLmNoYXJBdCgwKSYmIj4iPT09YS5jaGFyQXQoYS5sZW5ndGgtMSkmJmEubGVuZ3RoPj0zP1tudWxsLGEsbnVsbF06Qi5leGVjKGEpLCFlfHwhZVsxXSYmYilyZXR1cm4hYnx8Yi5qcXVlcnk/KGJ8fGMpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihiKS5maW5kKGEpO2lmKGVbMV0pe2lmKGI9YiBpbnN0YW5jZW9mIG4/YlswXTpiLG4ubWVyZ2UodGhpcyxuLnBhcnNlSFRNTChlWzFdLGImJmIubm9kZVR5cGU/Yi5vd25lckRvY3VtZW50fHxiOmQsITApKSx4LnRlc3QoZVsxXSkmJm4uaXNQbGFpbk9iamVjdChiKSlmb3IoZSBpbiBiKW4uaXNGdW5jdGlvbih0aGlzW2VdKT90aGlzW2VdKGJbZV0pOnRoaXMuYXR0cihlLGJbZV0pO3JldHVybiB0aGlzfWlmKGY9ZC5nZXRFbGVtZW50QnlJZChlWzJdKSxmJiZmLnBhcmVudE5vZGUpe2lmKGYuaWQhPT1lWzJdKXJldHVybiBBLmZpbmQoYSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPWZ9cmV0dXJuIHRoaXMuY29udGV4dD1kLHRoaXMuc2VsZWN0b3I9YSx0aGlzfXJldHVybiBhLm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT1hLHRoaXMubGVuZ3RoPTEsdGhpcyk6bi5pc0Z1bmN0aW9uKGEpPyJ1bmRlZmluZWQiIT10eXBlb2YgYy5yZWFkeT9jLnJlYWR5KGEpOmEobik6KHZvaWQgMCE9PWEuc2VsZWN0b3ImJih0aGlzLnNlbGVjdG9yPWEuc2VsZWN0b3IsdGhpcy5jb250ZXh0PWEuY29udGV4dCksbi5tYWtlQXJyYXkoYSx0aGlzKSl9O0MucHJvdG90eXBlPW4uZm4sQT1uKGQpO3ZhciBEPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLEU9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07bi5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW4oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihuLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dy50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bihhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbi5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP24udW5pcXVlU29ydChmKTpmKX0saW5kZXg6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/InN0cmluZyI9PXR5cGVvZiBhP24uaW5BcnJheSh0aGlzWzBdLG4oYSkpOm4uaW5BcnJheShhLmpxdWVyeT9hWzBdOmEsdGhpcyk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobi51bmlxdWVTb3J0KG4ubWVyZ2UodGhpcy5nZXQoKSxuKGEsYikpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWE/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoYSkpfX0pO2Z1bmN0aW9uIEYoYSxiKXtkbyBhPWFbYl07d2hpbGUoYSYmMSE9PWEubm9kZVR5cGUpO3JldHVybiBhfW4uZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmMTEhPT1iLm5vZGVUeXBlP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB1KGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gdigoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIHYoYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG4ubm9kZU5hbWUoYSwiaWZyYW1lIik/YS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudDpuLm1lcmdlKFtdLGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1uLm1hcCh0aGlzLGIsYyk7cmV0dXJuIlVudGlsIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiYic3RyaW5nIj09dHlwZW9mIGQmJihlPW4uZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihFW2FdfHwoZT1uLnVuaXF1ZVNvcnQoZSkpLEQudGVzdChhKSYmKGU9ZS5yZXZlcnNlKCkpKSx0aGlzLnB1c2hTdGFjayhlKX19KTt2YXIgRz0vXFMrL2c7ZnVuY3Rpb24gSChhKXt2YXIgYj17fTtyZXR1cm4gbi5lYWNoKGEubWF0Y2goRyl8fFtdLGZ1bmN0aW9uKGEsYyl7YltjXT0hMH0pLGJ9bi5DYWxsYmFja3M9ZnVuY3Rpb24oYSl7YT0ic3RyaW5nIj09dHlwZW9mIGE/SChhKTpuLmV4dGVuZCh7fSxhKTt2YXIgYixjLGQsZSxmPVtdLGc9W10saD0tMSxpPWZ1bmN0aW9uKCl7Zm9yKGU9YS5vbmNlLGQ9Yj0hMDtnLmxlbmd0aDtoPS0xKXtjPWcuc2hpZnQoKTt3aGlsZSgrK2g8Zi5sZW5ndGgpZltoXS5hcHBseShjWzBdLGNbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2UmJihoPWYubGVuZ3RoLGM9ITEpfWEubWVtb3J5fHwoYz0hMSksYj0hMSxlJiYoZj1jP1tdOiIiKX0saj17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIGYmJihjJiYhYiYmKGg9Zi5sZW5ndGgtMSxnLnB1c2goYykpLGZ1bmN0aW9uIGQoYil7bi5lYWNoKGIsZnVuY3Rpb24oYixjKXtuLmlzRnVuY3Rpb24oYyk/YS51bmlxdWUmJmouaGFzKGMpfHxmLnB1c2goYyk6YyYmYy5sZW5ndGgmJiJzdHJpbmciIT09bi50eXBlKGMpJiZkKGMpfSl9KGFyZ3VtZW50cyksYyYmIWImJmkoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxiKXt2YXIgYzt3aGlsZSgoYz1uLmluQXJyYXkoYixmLGMpKT4tMSlmLnNwbGljZShjLDEpLGg+PWMmJmgtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9uLmluQXJyYXkoYSxmKT4tMTpmLmxlbmd0aD4wfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBmJiYoZj1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBlPWc9W10sZj1jPSIiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIWZ9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZT0hMCxjfHxqLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWV9LGZpcmVXaXRoOmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGV8fChjPWN8fFtdLGM9W2EsYy5zbGljZT9jLnNsaWNlKCk6Y10sZy5wdXNoKGMpLGJ8fGkoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBqLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhZH19O3JldHVybiBqfSxuLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9W1sicmVzb2x2ZSIsImRvbmUiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsbi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlamVjdGVkIl0sWyJub3RpZnkiLCJwcm9ncmVzcyIsbi5DYWxsYmFja3MoIm1lbW9yeSIpXV0sYz0icGVuZGluZyIsZD17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzO3JldHVybiBuLkRlZmVycmVkKGZ1bmN0aW9uKGMpe24uZWFjaChiLGZ1bmN0aW9uKGIsZil7dmFyIGc9bi5pc0Z1bmN0aW9uKGFbYl0pJiZhW2JdO2VbZlsxXV0oZnVuY3Rpb24oKXt2YXIgYT1nJiZnLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9hLnByb21pc2UoKS5wcm9ncmVzcyhjLm5vdGlmeSkuZG9uZShjLnJlc29sdmUpLmZhaWwoYy5yZWplY3QpOmNbZlswXSsiV2l0aCJdKHRoaXM9PT1kP2MucHJvbWlzZSgpOnRoaXMsZz9bYV06YXJndW1lbnRzKX0pfSksYT1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hP24uZXh0ZW5kKGEsZCk6ZH19LGU9e307cmV0dXJuIGQucGlwZT1kLnRoZW4sbi5lYWNoKGIsZnVuY3Rpb24oYSxmKXt2YXIgZz1mWzJdLGg9ZlszXTtkW2ZbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7Yz1ofSxiWzFeYV1bMl0uZGlzYWJsZSxiWzJdWzJdLmxvY2spLGVbZlswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZVtmWzBdKyJXaXRoIl0odGhpcz09PWU/ZDp0aGlzLGFyZ3VtZW50cyksdGhpc30sZVtmWzBdKyJXaXRoIl09Zy5maXJlV2l0aH0pLGQucHJvbWlzZShlKSxhJiZhLmNhbGwoZSxlKSxlfSx3aGVuOmZ1bmN0aW9uKGEpe3ZhciBiPTAsYz1lLmNhbGwoYXJndW1lbnRzKSxkPWMubGVuZ3RoLGY9MSE9PWR8fGEmJm4uaXNGdW5jdGlvbihhLnByb21pc2UpP2Q6MCxnPTE9PT1mP2E6bi5EZWZlcnJlZCgpLGg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXtiW2FdPXRoaXMsY1thXT1hcmd1bWVudHMubGVuZ3RoPjE/ZS5jYWxsKGFyZ3VtZW50cyk6ZCxjPT09aT9nLm5vdGlmeVdpdGgoYixjKTotLWZ8fGcucmVzb2x2ZVdpdGgoYixjKX19LGksaixrO2lmKGQ+MSlmb3IoaT1uZXcgQXJyYXkoZCksaj1uZXcgQXJyYXkoZCksaz1uZXcgQXJyYXkoZCk7ZD5iO2IrKyljW2JdJiZuLmlzRnVuY3Rpb24oY1tiXS5wcm9taXNlKT9jW2JdLnByb21pc2UoKS5wcm9ncmVzcyhoKGIsaixpKSkuZG9uZShoKGIsayxjKSkuZmFpbChnLnJlamVjdCk6LS1mO3JldHVybiBmfHxnLnJlc29sdmVXaXRoKGssYyksZy5wcm9taXNlKCl9fSk7dmFyIEk7bi5mbi5yZWFkeT1mdW5jdGlvbihhKXtyZXR1cm4gbi5yZWFkeS5wcm9taXNlKCkuZG9uZShhKSx0aGlzfSxuLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9uLnJlYWR5V2FpdCsrOm4ucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXsoYT09PSEwPy0tbi5yZWFkeVdhaXQ6bi5pc1JlYWR5KXx8KG4uaXNSZWFkeT0hMCxhIT09ITAmJi0tbi5yZWFkeVdhaXQ+MHx8KEkucmVzb2x2ZVdpdGgoZCxbbl0pLG4uZm4udHJpZ2dlckhhbmRsZXImJihuKGQpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG4oZCkub2ZmKCJyZWFkeSIpKSkpfX0pO2Z1bmN0aW9uIEooKXtkLmFkZEV2ZW50TGlzdGVuZXI/KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSyksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixLKSk6KGQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSyksYS5kZXRhY2hFdmVudCgib25sb2FkIixLKSl9ZnVuY3Rpb24gSygpeyhkLmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWEuZXZlbnQudHlwZXx8ImNvbXBsZXRlIj09PWQucmVhZHlTdGF0ZSkmJihKKCksbi5yZWFkeSgpKX1uLnJlYWR5LnByb21pc2U9ZnVuY3Rpb24oYil7aWYoIUkpaWYoST1uLkRlZmVycmVkKCksImNvbXBsZXRlIj09PWQucmVhZHlTdGF0ZXx8ImxvYWRpbmciIT09ZC5yZWFkeVN0YXRlJiYhZC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwpYS5zZXRUaW1lb3V0KG4ucmVhZHkpO2Vsc2UgaWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSyksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixLKTtlbHNle2QuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSyksYS5hdHRhY2hFdmVudCgib25sb2FkIixLKTt2YXIgYz0hMTt0cnl7Yz1udWxsPT1hLmZyYW1lRWxlbWVudCYmZC5kb2N1bWVudEVsZW1lbnR9Y2F0Y2goZSl7fWMmJmMuZG9TY3JvbGwmJiFmdW5jdGlvbiBmKCl7aWYoIW4uaXNSZWFkeSl7dHJ5e2MuZG9TY3JvbGwoImxlZnQiKX1jYXRjaChiKXtyZXR1cm4gYS5zZXRUaW1lb3V0KGYsNTApfUooKSxuLnJlYWR5KCl9fSgpfXJldHVybiBJLnByb21pc2UoYil9LG4ucmVhZHkucHJvbWlzZSgpO3ZhciBMO2ZvcihMIGluIG4obCkpYnJlYWs7bC5vd25GaXJzdD0iMCI9PT1MLGwuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxuKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGU7Yz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChiKSwidW5kZWZpbmVkIiE9dHlwZW9mIGIuc3R5bGUuem9vbSYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsbC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChlKSl9KSxmdW5jdGlvbigpe3ZhciBhPWQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bC5kZWxldGVFeHBhbmRvPSEwO3RyeXtkZWxldGUgYS50ZXN0fWNhdGNoKGIpe2wuZGVsZXRlRXhwYW5kbz0hMX1hPW51bGx9KCk7dmFyIE09ZnVuY3Rpb24oYSl7dmFyIGI9bi5ub0RhdGFbKGEubm9kZU5hbWUrIiAiKS50b0xvd2VyQ2FzZSgpXSxjPSthLm5vZGVUeXBlfHwxO3JldHVybiAxIT09YyYmOSE9PWM/ITE6IWJ8fGIhPT0hMCYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzaWQiKT09PWJ9LE49L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxPPS8oW0EtWl0pL2c7ZnVuY3Rpb24gUChhLGIsYyl7aWYodm9pZCAwPT09YyYmMT09PWEubm9kZVR5cGUpe3ZhciBkPSJkYXRhLSIrYi5yZXBsYWNlKE8sIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYoYz1hLmdldEF0dHJpYnV0ZShkKSwic3RyaW5nIj09dHlwZW9mIGMpe3RyeXtjPSJ0cnVlIj09PWM/ITA6ImZhbHNlIj09PWM/ITE6Im51bGwiPT09Yz9udWxsOitjKyIiPT09Yz8rYzpOLnRlc3QoYyk/bi5wYXJzZUpTT04oYyk6Y31jYXRjaChlKXt9bi5kYXRhKGEsYixjKX1lbHNlIGM9dm9pZCAwOwp9cmV0dXJuIGN9ZnVuY3Rpb24gUShhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbi5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIFIoYSxiLGQsZSl7aWYoTShhKSl7dmFyIGYsZyxoPW4uZXhwYW5kbyxpPWEubm9kZVR5cGUsaj1pP24uY2FjaGU6YSxrPWk/YVtoXTphW2hdJiZoO2lmKGsmJmpba10mJihlfHxqW2tdLmRhdGEpfHx2b2lkIDAhPT1kfHwic3RyaW5nIiE9dHlwZW9mIGIpcmV0dXJuIGt8fChrPWk/YVtoXT1jLnBvcCgpfHxuLmd1aWQrKzpoKSxqW2tdfHwoaltrXT1pP3t9Ont0b0pTT046bi5ub29wfSksIm9iamVjdCIhPXR5cGVvZiBiJiYiZnVuY3Rpb24iIT10eXBlb2YgYnx8KGU/altrXT1uLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1uLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbi5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbi5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFMoYSxiLGMpe2lmKE0oYSkpe3ZhciBkLGUsZj1hLm5vZGVUeXBlLGc9Zj9uLmNhY2hlOmEsaD1mP2Fbbi5leHBhbmRvXTpuLmV4cGFuZG87aWYoZ1toXSl7aWYoYiYmKGQ9Yz9nW2hdOmdbaF0uZGF0YSkpe24uaXNBcnJheShiKT9iPWIuY29uY2F0KG4ubWFwKGIsbi5jYW1lbENhc2UpKTpiIGluIGQ/Yj1bYl06KGI9bi5jYW1lbENhc2UoYiksYj1iIGluIGQ/W2JdOmIuc3BsaXQoIiAiKSksZT1iLmxlbmd0aDt3aGlsZShlLS0pZGVsZXRlIGRbYltlXV07aWYoYz8hUShkKTohbi5pc0VtcHR5T2JqZWN0KGQpKXJldHVybn0oY3x8KGRlbGV0ZSBnW2hdLmRhdGEsUShnW2hdKSkpJiYoZj9uLmNsZWFuRGF0YShbYV0sITApOmwuZGVsZXRlRXhwYW5kb3x8ZyE9Zy53aW5kb3c/ZGVsZXRlIGdbaF06Z1toXT12b2lkIDApfX19bi5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP24uY2FjaGVbYVtuLmV4cGFuZG9dXTphW24uZXhwYW5kb10sISFhJiYhUShhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFIoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFMoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBSKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUyhhLGIsITApfX0pLG4uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bi5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbi5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW4uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLFAoZixkLGVbZF0pKSk7bi5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXtuLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXtuLmRhdGEodGhpcyxhLGIpfSk6Zj9QKGYsYSxuLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1uLl9kYXRhKGEsYiksYyYmKCFkfHxuLmlzQXJyYXkoYyk/ZD1uLl9kYXRhKGEsYixuLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW4ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bi5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXtuLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbi5fZGF0YShhLGMpfHxuLl9kYXRhKGEsYyx7ZW1wdHk6bi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bi5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbi5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxuLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bi5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1uLnF1ZXVlKHRoaXMsYSxiKTtuLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm4uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1uLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW4uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSksZnVuY3Rpb24oKXt2YXIgYTtsLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxlO3JldHVybiBjPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoYiksInVuZGVmaW5lZCIhPXR5cGVvZiBiLnN0eWxlLnpvb20mJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChlKSxhKTp2b2lkIDB9fSgpO3ZhciBUPS9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLFU9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK1QrIikoW2EteiVdKikkIiwiaSIpLFY9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxXPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9Ynx8YSwibm9uZSI9PT1uLmNzcyhhLCJkaXNwbGF5Iil8fCFuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKX07ZnVuY3Rpb24gWChhLGIsYyxkKXt2YXIgZSxmPTEsZz0yMCxoPWQ/ZnVuY3Rpb24oKXtyZXR1cm4gZC5jdXIoKX06ZnVuY3Rpb24oKXtyZXR1cm4gbi5jc3MoYSxiLCIiKX0saT1oKCksaj1jJiZjWzNdfHwobi5jc3NOdW1iZXJbYl0/IiI6InB4Iiksaz0obi5jc3NOdW1iZXJbYl18fCJweCIhPT1qJiYraSkmJlUuZXhlYyhuLmNzcyhhLGIpKTtpZihrJiZrWzNdIT09ail7aj1qfHxrWzNdLGM9Y3x8W10saz0raXx8MTtkbyBmPWZ8fCIuNSIsay89ZixuLnN0eWxlKGEsYixrK2opO3doaWxlKGYhPT0oZj1oKCkvaSkmJjEhPT1mJiYtLWcpfXJldHVybiBjJiYoaz0ra3x8K2l8fDAsZT1jWzFdP2srKGNbMV0rMSkqY1syXTorY1syXSxkJiYoZC51bml0PWosZC5zdGFydD1rLGQuZW5kPWUpKSxlfXZhciBZPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1uLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYylZKGEsYixoLGNbaF0sITAsZixnKX1lbHNlIGlmKHZvaWQgMCE9PWQmJihlPSEwLG4uaXNGdW5jdGlvbihkKXx8KGc9ITApLGomJihnPyhiLmNhbGwoYSxkKSxiPW51bGwpOihqPWIsYj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGouY2FsbChuKGEpLGMpfSkpLGIpKWZvcig7aT5oO2grKyliKGFbaF0sYyxnP2Q6ZC5jYWxsKGFbaF0saCxiKGFbaF0sYykpKTtyZXR1cm4gZT9hOmo/Yi5jYWxsKGEpOmk/YihhWzBdLGMpOmZ9LFo9L14oPzpjaGVja2JveHxyYWRpbykkL2ksJD0vPChbXHc6LV0rKS8sXz0vXiR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2ksYWE9L15ccysvLGJhPSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZGlhbG9nfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1haW58bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHBpY3R1cmV8cHJvZ3Jlc3N8c2VjdGlvbnxzdW1tYXJ5fHRlbXBsYXRlfHRpbWV8dmlkZW8iO2Z1bmN0aW9uIGNhKGEpe3ZhciBiPWJhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfSFmdW5jdGlvbigpe3ZhciBhPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksYj1kLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxjPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTthLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixsLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUsbC50Ym9keT0hYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsbC5odG1sU2VyaWFsaXplPSEhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxsLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09ZC5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxjLnR5cGU9ImNoZWNrYm94IixjLmNoZWNrZWQ9ITAsYi5hcHBlbmRDaGlsZChjKSxsLmFwcGVuZENoZWNrZWQ9Yy5jaGVja2VkLGEuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixsLm5vQ2xvbmVDaGVja2VkPSEhYS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYi5hcHBlbmRDaGlsZChhKSxjPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxjLnNldEF0dHJpYnV0ZSgidHlwZSIsInJhZGlvIiksYy5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIiksYy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJ0IiksYS5hcHBlbmRDaGlsZChjKSxsLmNoZWNrQ2xvbmU9YS5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsbC5ub0Nsb25lRXZlbnQ9ISFhLmFkZEV2ZW50TGlzdGVuZXIsYVtuLmV4cGFuZG9dPTEsbC5hdHRyaWJ1dGVzPSFhLmdldEF0dHJpYnV0ZShuLmV4cGFuZG8pfSgpO3ZhciBkYT17b3B0aW9uOlsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sbGVnZW5kOlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLHBhcmFtOlsxLCI8b2JqZWN0PiIsIjwvb2JqZWN0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6bC5odG1sU2VyaWFsaXplP1swLCIiLCIiXTpbMSwiWDxkaXY+IiwiPC9kaXY+Il19O2RhLm9wdGdyb3VwPWRhLm9wdGlvbixkYS50Ym9keT1kYS50Zm9vdD1kYS5jb2xncm91cD1kYS5jYXB0aW9uPWRhLnRoZWFkLGRhLnRoPWRhLnRkO2Z1bmN0aW9uIGVhKGEsYil7dmFyIGMsZCxlPTAsZj0idW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWU/YS5nZXRFbGVtZW50c0J5VGFnTmFtZShifHwiKiIpOiJ1bmRlZmluZWQiIT10eXBlb2YgYS5xdWVyeVNlbGVjdG9yQWxsP2EucXVlcnlTZWxlY3RvckFsbChifHwiKiIpOnZvaWQgMDtpZighZilmb3IoZj1bXSxjPWEuY2hpbGROb2Rlc3x8YTtudWxsIT0oZD1jW2VdKTtlKyspIWJ8fG4ubm9kZU5hbWUoZCxiKT9mLnB1c2goZCk6bi5tZXJnZShmLGVhKGQsYikpO3JldHVybiB2b2lkIDA9PT1ifHxiJiZuLm5vZGVOYW1lKGEsYik/bi5tZXJnZShbYV0sZik6Zn1mdW5jdGlvbiBmYShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW4uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG4uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX12YXIgZ2E9Lzx8JiM/XHcrOy8saGE9Lzx0Ym9keS9pO2Z1bmN0aW9uIGlhKGEpe1oudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIGphKGEsYixjLGQsZSl7Zm9yKHZhciBmLGcsaCxpLGosayxtLG89YS5sZW5ndGgscD1jYShiKSxxPVtdLHI9MDtvPnI7cisrKWlmKGc9YVtyXSxnfHwwPT09ZylpZigib2JqZWN0Ij09PW4udHlwZShnKSluLm1lcmdlKHEsZy5ub2RlVHlwZT9bZ106Zyk7ZWxzZSBpZihnYS50ZXN0KGcpKXtpPWl8fHAuYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaj0oJC5leGVjKGcpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLG09ZGFbal18fGRhLl9kZWZhdWx0LGkuaW5uZXJIVE1MPW1bMV0rbi5odG1sUHJlZmlsdGVyKGcpK21bMl0sZj1tWzBdO3doaWxlKGYtLSlpPWkubGFzdENoaWxkO2lmKCFsLmxlYWRpbmdXaGl0ZXNwYWNlJiZhYS50ZXN0KGcpJiZxLnB1c2goYi5jcmVhdGVUZXh0Tm9kZShhYS5leGVjKGcpWzBdKSksIWwudGJvZHkpe2c9InRhYmxlIiE9PWp8fGhhLnRlc3QoZyk/Ijx0YWJsZT4iIT09bVsxXXx8aGEudGVzdChnKT8wOmk6aS5maXJzdENoaWxkLGY9ZyYmZy5jaGlsZE5vZGVzLmxlbmd0aDt3aGlsZShmLS0pbi5ub2RlTmFtZShrPWcuY2hpbGROb2Rlc1tmXSwidGJvZHkiKSYmIWsuY2hpbGROb2Rlcy5sZW5ndGgmJmcucmVtb3ZlQ2hpbGQoayl9bi5tZXJnZShxLGkuY2hpbGROb2RlcyksaS50ZXh0Q29udGVudD0iIjt3aGlsZShpLmZpcnN0Q2hpbGQpaS5yZW1vdmVDaGlsZChpLmZpcnN0Q2hpbGQpO2k9cC5sYXN0Q2hpbGR9ZWxzZSBxLnB1c2goYi5jcmVhdGVUZXh0Tm9kZShnKSk7aSYmcC5yZW1vdmVDaGlsZChpKSxsLmFwcGVuZENoZWNrZWR8fG4uZ3JlcChlYShxLCJpbnB1dCIpLGlhKSxyPTA7d2hpbGUoZz1xW3IrK10paWYoZCYmbi5pbkFycmF5KGcsZCk+LTEpZSYmZS5wdXNoKGcpO2Vsc2UgaWYoaD1uLmNvbnRhaW5zKGcub3duZXJEb2N1bWVudCxnKSxpPWVhKHAuYXBwZW5kQ2hpbGQoZyksInNjcmlwdCIpLGgmJmZhKGkpLGMpe2Y9MDt3aGlsZShnPWlbZisrXSlfLnRlc3QoZy50eXBlfHwiIikmJmMucHVzaChnKX1yZXR1cm4gaT1udWxsLHB9IWZ1bmN0aW9uKCl7dmFyIGIsYyxlPWQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKGIgaW57c3VibWl0OiEwLGNoYW5nZTohMCxmb2N1c2luOiEwfSljPSJvbiIrYiwobFtiXT1jIGluIGEpfHwoZS5zZXRBdHRyaWJ1dGUoYywidCIpLGxbYl09ZS5hdHRyaWJ1dGVzW2NdLmV4cGFuZG89PT0hMSk7ZT1udWxsfSgpO3ZhciBrYT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksbGE9L15rZXkvLG1hPS9eKD86bW91c2V8cG9pbnRlcnxjb250ZXh0bWVudXxkcmFnfGRyb3ApfGNsaWNrLyxuYT0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sb2E9L14oW14uXSopKD86XC4oLispfCkvO2Z1bmN0aW9uIHBhKCl7cmV0dXJuITB9ZnVuY3Rpb24gcWEoKXtyZXR1cm4hMX1mdW5jdGlvbiByYSgpe3RyeXtyZXR1cm4gZC5hY3RpdmVFbGVtZW50fWNhdGNoKGEpe319ZnVuY3Rpb24gc2EoYSxiLGMsZCxlLGYpe3ZhciBnLGg7aWYoIm9iamVjdCI9PXR5cGVvZiBiKXsic3RyaW5nIiE9dHlwZW9mIGMmJihkPWR8fGMsYz12b2lkIDApO2ZvcihoIGluIGIpc2EoYSxoLGMsZCxiW2hdLGYpO3JldHVybiBhfWlmKG51bGw9PWQmJm51bGw9PWU/KGU9YyxkPWM9dm9pZCAwKTpudWxsPT1lJiYoInN0cmluZyI9PXR5cGVvZiBjPyhlPWQsZD12b2lkIDApOihlPWQsZD1jLGM9dm9pZCAwKSksZT09PSExKWU9cWE7ZWxzZSBpZighZSlyZXR1cm4gYTtyZXR1cm4gMT09PWYmJihnPWUsZT1mdW5jdGlvbihhKXtyZXR1cm4gbigpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZS5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1uLmd1aWQrKykpLGEuZWFjaChmdW5jdGlvbigpe24uZXZlbnQuYWRkKHRoaXMsYixlLGQsYyl9KX1uLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbSxvLHAscSxyPW4uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW4uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2Ygbnx8YSYmbi5ldmVudC50cmlnZ2VyZWQ9PT1hLnR5cGU/dm9pZCAwOm4uZXZlbnQuZGlzcGF0Y2guYXBwbHkoay5lbGVtLGFyZ3VtZW50cyl9LGsuZWxlbT1hKSxiPShifHwiIikubWF0Y2goRyl8fFsiIl0saD1iLmxlbmd0aDt3aGlsZShoLS0pZj1vYS5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW4uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChtPWdbb10pfHwobT1nW29dPVtdLG0uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP20uc3BsaWNlKG0uZGVsZWdhdGVDb3VudCsrLDAsbCk6bS5wdXNoKGwpLG4uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG8scCxxLHI9bi5oYXNEYXRhKGEpJiZuLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEcpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9b2EuZXhlYyhiW2pdKXx8W10sbz1xPWhbMV0scD0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG8pe2w9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShkP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxvLG09a1tvXXx8W10saD1oWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIitwLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpLGk9Zj1tLmxlbmd0aDt3aGlsZShmLS0pZz1tW2ZdLCFlJiZxIT09Zy5vcmlnVHlwZXx8YyYmYy5ndWlkIT09Zy5ndWlkfHxoJiYhaC50ZXN0KGcubmFtZXNwYWNlKXx8ZCYmZCE9PWcuc2VsZWN0b3ImJigiKioiIT09ZHx8IWcuc2VsZWN0b3IpfHwobS5zcGxpY2UoZiwxKSxnLnNlbGVjdG9yJiZtLmRlbGVnYXRlQ291bnQtLSxsLnJlbW92ZSYmbC5yZW1vdmUuY2FsbChhLGcpKTtpJiYhbS5sZW5ndGgmJihsLnRlYXJkb3duJiZsLnRlYXJkb3duLmNhbGwoYSxwLHIuaGFuZGxlKSE9PSExfHxuLnJlbW92ZUV2ZW50KGEsbyxyLmhhbmRsZSksZGVsZXRlIGtbb10pfWVsc2UgZm9yKG8gaW4gayluLmV2ZW50LnJlbW92ZShhLG8rYltqXSxjLGQsITApO24uaXNFbXB0eU9iamVjdChrKSYmKGRlbGV0ZSByLmhhbmRsZSxuLl9yZW1vdmVEYXRhKGEsImV2ZW50cyIpKX19LHRyaWdnZXI6ZnVuY3Rpb24oYixjLGUsZil7dmFyIGcsaCxpLGosbCxtLG8scD1bZXx8ZF0scT1rLmNhbGwoYiwidHlwZSIpP2IudHlwZTpiLHI9ay5jYWxsKGIsIm5hbWVzcGFjZSIpP2IubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoaT1tPWU9ZXx8ZCwzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJiFuYS50ZXN0KHErbi5ldmVudC50cmlnZ2VyZWQpJiYocS5pbmRleE9mKCIuIik+LTEmJihyPXEuc3BsaXQoIi4iKSxxPXIuc2hpZnQoKSxyLnNvcnQoKSksaD1xLmluZGV4T2YoIjoiKTwwJiYib24iK3EsYj1iW24uZXhwYW5kb10/YjpuZXcgbi5FdmVudChxLCJvYmplY3QiPT10eXBlb2YgYiYmYiksYi5pc1RyaWdnZXI9Zj8yOjMsYi5uYW1lc3BhY2U9ci5qb2luKCIuIiksYi5ybmFtZXNwYWNlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Iuam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1lKSxjPW51bGw9PWM/W2JdOm4ubWFrZUFycmF5KGMsW2JdKSxsPW4uZXZlbnQuc3BlY2lhbFtxXXx8e30sZnx8IWwudHJpZ2dlcnx8bC50cmlnZ2VyLmFwcGx5KGUsYykhPT0hMSkpe2lmKCFmJiYhbC5ub0J1YmJsZSYmIW4uaXNXaW5kb3coZSkpe2ZvcihqPWwuZGVsZWdhdGVUeXBlfHxxLG5hLnRlc3QoaitxKXx8KGk9aS5wYXJlbnROb2RlKTtpO2k9aS5wYXJlbnROb2RlKXAucHVzaChpKSxtPWk7bT09PShlLm93bmVyRG9jdW1lbnR8fGQpJiZwLnB1c2gobS5kZWZhdWx0Vmlld3x8bS5wYXJlbnRXaW5kb3d8fGEpfW89MDt3aGlsZSgoaT1wW28rK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1vPjE/ajpsLmJpbmRUeXBlfHxxLGc9KG4uX2RhdGEoaSwiZXZlbnRzIil8fHt9KVtiLnR5cGVdJiZuLl9kYXRhKGksImhhbmRsZSIpLGcmJmcuYXBwbHkoaSxjKSxnPWgmJmlbaF0sZyYmZy5hcHBseSYmTShpKSYmKGIucmVzdWx0PWcuYXBwbHkoaSxjKSxiLnJlc3VsdD09PSExJiZiLnByZXZlbnREZWZhdWx0KCkpO2lmKGIudHlwZT1xLCFmJiYhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKCFsLl9kZWZhdWx0fHxsLl9kZWZhdWx0LmFwcGx5KHAucG9wKCksYyk9PT0hMSkmJk0oZSkmJmgmJmVbcV0mJiFuLmlzV2luZG93KGUpKXttPWVbaF0sbSYmKGVbaF09bnVsbCksbi5ldmVudC50cmlnZ2VyZWQ9cTt0cnl7ZVtxXSgpfWNhdGNoKHMpe31uLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbSYmKGVbaF09bSl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1uLmV2ZW50LmZpeChhKTt2YXIgYixjLGQsZixnLGg9W10saT1lLmNhbGwoYXJndW1lbnRzKSxqPShuLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1uLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1uLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGM9MDt3aGlsZSgoZz1mLmhhbmRsZXJzW2MrK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWEucm5hbWVzcGFjZSYmIWEucm5hbWVzcGFjZS50ZXN0KGcubmFtZXNwYWNlKXx8KGEuaGFuZGxlT2JqPWcsYS5kYXRhPWcuZGF0YSxkPSgobi5ldmVudC5zcGVjaWFsW2cub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxnLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1kJiYoYS5yZXN1bHQ9ZCk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoImNsaWNrIiE9PWEudHlwZXx8aXNOYU4oYS5idXR0b24pfHxhLmJ1dHRvbjwxKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZD1bXSxjPTA7aD5jO2MrKylmPWJbY10sZT1mLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1kW2VdJiYoZFtlXT1mLm5lZWRzQ29udGV4dD9uKGUsdGhpcykuaW5kZXgoaSk+LTE6bi5maW5kKGUsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxkW2VdJiZkLnB1c2goZik7ZC5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmR9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW24uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxlLGY9YS50eXBlLGc9YSxoPXRoaXMuZml4SG9va3NbZl07aHx8KHRoaXMuZml4SG9va3NbZl09aD1tYS50ZXN0KGYpP3RoaXMubW91c2VIb29rczpsYS50ZXN0KGYpP3RoaXMua2V5SG9va3M6e30pLGU9aC5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChoLnByb3BzKTp0aGlzLnByb3BzLGE9bmV3IG4uRXZlbnQoZyksYj1lLmxlbmd0aDt3aGlsZShiLS0pYz1lW2JdLGFbY109Z1tjXTtyZXR1cm4gYS50YXJnZXR8fChhLnRhcmdldD1nLnNyY0VsZW1lbnR8fGQpLDM9PT1hLnRhcmdldC5ub2RlVHlwZSYmKGEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGUpLGEubWV0YUtleT0hIWEubWV0YUtleSxoLmZpbHRlcj9oLmZpbHRlcihhLGcpOmF9LHByb3BzOiJhbHRLZXkgYnViYmxlcyBjYW5jZWxhYmxlIGN0cmxLZXkgY3VycmVudFRhcmdldCBkZXRhaWwgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZSxmLGc9Yi5idXR0b24saD1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihlPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fGQsZj1lLmRvY3VtZW50RWxlbWVudCxjPWUuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZiYmZi5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShmJiZmLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGYmJmYuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGYmJmYuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmgmJihhLnJlbGF0ZWRUYXJnZXQ9aD09PWEudGFyZ2V0P2IudG9FbGVtZW50OmgpLGEud2hpY2h8fHZvaWQgMD09PWd8fChhLndoaWNoPTEmZz8xOjImZz8zOjQmZz8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09cmEoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1yYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBuLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbi5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW4uZXh0ZW5kKG5ldyBuLkV2ZW50LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMH0pO24uZXZlbnQudHJpZ2dlcihkLG51bGwsYiksZC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbi5yZW1vdmVFdmVudD1kLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYyl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgYVtkXSYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbi5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygbi5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/cGE6cWEpOnRoaXMudHlwZT1hLGImJm4uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG4ubm93KCksdm9pZCh0aGlzW24uZXhwYW5kb109ITApKTpuZXcgbi5FdmVudChhLGIpfSxuLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6bi5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6cWEsaXNQcm9wYWdhdGlvblN0b3BwZWQ6cWEsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6cWEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9cGEsYSYmKGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1wYSxhJiYhdGhpcy5pc1NpbXVsYXRlZCYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9cGEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG4uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXtuLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybiBlJiYoZT09PWR8fG4uY29udGFpbnMoZCxlKSl8fChhLnR5cGU9Zi5vcmlnVHlwZSxjPWYuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWIpLGN9fX0pLGwuc3VibWl0fHwobi5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gbi5ub2RlTmFtZSh0aGlzLCJmb3JtIik/ITE6dm9pZCBuLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLGZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LGM9bi5ub2RlTmFtZShiLCJpbnB1dCIpfHxuLm5vZGVOYW1lKGIsImJ1dHRvbiIpP24ucHJvcChiLCJmb3JtIik6dm9pZCAwO2MmJiFuLl9kYXRhKGMsInN1Ym1pdCIpJiYobi5ldmVudC5hZGQoYywic3VibWl0Ll9zdWJtaXQiLGZ1bmN0aW9uKGEpe2EuX3N1Ym1pdEJ1YmJsZT0hMH0pLG4uX2RhdGEoYywic3VibWl0IiwhMCkpfSl9LHBvc3REaXNwYXRjaDpmdW5jdGlvbihhKXthLl9zdWJtaXRCdWJibGUmJihkZWxldGUgYS5fc3VibWl0QnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZuLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG4ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbi5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxsLmNoYW5nZXx8KG4uZXZlbnQuc3BlY2lhbC5jaGFuZ2U9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIGthLnRlc3QodGhpcy5ub2RlTmFtZSk/KCJjaGVja2JveCIhPT10aGlzLnR5cGUmJiJyYWRpbyIhPT10aGlzLnR5cGV8fChuLmV2ZW50LmFkZCh0aGlzLCJwcm9wZXJ0eWNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXsiY2hlY2tlZCI9PT1hLm9yaWdpbmFsRXZlbnQucHJvcGVydHlOYW1lJiYodGhpcy5fanVzdENoYW5nZWQ9ITApfSksbi5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdENoYW5nZWQmJiFhLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RDaGFuZ2VkPSExKSxuLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsYSl9KSksITEpOnZvaWQgbi5ldmVudC5hZGQodGhpcywiYmVmb3JlYWN0aXZhdGUuX2NoYW5nZSIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQ7a2EudGVzdChiLm5vZGVOYW1lKSYmIW4uX2RhdGEoYiwiY2hhbmdlIikmJihuLmV2ZW50LmFkZChiLCJjaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24oYSl7IXRoaXMucGFyZW50Tm9kZXx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fG4uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcy5wYXJlbnROb2RlLGEpfSksbi5fZGF0YShiLCJjaGFuZ2UiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBuLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFrYS50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGwuZm9jdXNpbnx8bi5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe24uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxuLmV2ZW50LmZpeChhKSl9O24uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1uLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbi5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW4uX2RhdGEoZCxiKS0xO2U/bi5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG4uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG4uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gc2EodGhpcyxhLGIsYyxkKX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBzYSh0aGlzLGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixuKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuIGIhPT0hMSYmImZ1bmN0aW9uIiE9dHlwZW9mIGJ8fChjPWIsYj12b2lkIDApLGM9PT0hMSYmKGM9cWEpLHRoaXMuZWFjaChmdW5jdGlvbigpe24uZXZlbnQucmVtb3ZlKHRoaXMsYSxjLGIpfSl9LHRyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXNbMF07cmV0dXJuIGM/bi5ldmVudC50cmlnZ2VyKGEsYixjLCEwKTp2b2lkIDB9fSk7dmFyIHRhPS8galF1ZXJ5XGQrPSIoPzpudWxsfFxkKykiL2csdWE9bmV3IFJlZ0V4cCgiPCg/OiIrYmErIilbXFxzLz5dIiwiaSIpLHZhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzotXSspW14+XSopXC8+L2dpLHdhPS88c2NyaXB0fDxzdHlsZXw8bGluay9pLHhhPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLHlhPS9edHJ1ZVwvKC4qKS8semE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLEFhPWNhKGQpLEJhPUFhLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpO2Z1bmN0aW9uIENhKGEsYil7cmV0dXJuIG4ubm9kZU5hbWUoYSwidGFibGUiKSYmbi5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiBEYShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bi5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24gRWEoYSl7dmFyIGI9eWEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiBGYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZuLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW4uX2RhdGEoYSksZz1uLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyluLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW4uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBHYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWwubm9DbG9uZUV2ZW50JiZiW24uZXhwYW5kb10pe2U9bi5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyluLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobi5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oRGEoYikudGV4dD1hLnRleHQsRWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGwuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFuLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmWi50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOiJpbnB1dCIhPT1jJiYidGV4dGFyZWEiIT09Y3x8KGIuZGVmYXVsdFZhbHVlPWEuZGVmYXVsdFZhbHVlKX19ZnVuY3Rpb24gSGEoYSxiLGMsZCl7Yj1mLmFwcGx5KFtdLGIpO3ZhciBlLGcsaCxpLGosayxtPTAsbz1hLmxlbmd0aCxwPW8tMSxxPWJbMF0scj1uLmlzRnVuY3Rpb24ocSk7aWYocnx8bz4xJiYic3RyaW5nIj09dHlwZW9mIHEmJiFsLmNoZWNrQ2xvbmUmJnhhLnRlc3QocSkpcmV0dXJuIGEuZWFjaChmdW5jdGlvbihlKXt2YXIgZj1hLmVxKGUpO3ImJihiWzBdPXEuY2FsbCh0aGlzLGUsZi5odG1sKCkpKSxIYShmLGIsYyxkKX0pO2lmKG8mJihrPWphKGIsYVswXS5vd25lckRvY3VtZW50LCExLGEsZCksZT1rLmZpcnN0Q2hpbGQsMT09PWsuY2hpbGROb2Rlcy5sZW5ndGgmJihrPWUpLGV8fGQpKXtmb3IoaT1uLm1hcChlYShrLCJzY3JpcHQiKSxEYSksaD1pLmxlbmd0aDtvPm07bSsrKWc9ayxtIT09cCYmKGc9bi5jbG9uZShnLCEwLCEwKSxoJiZuLm1lcmdlKGksZWEoZywic2NyaXB0IikpKSxjLmNhbGwoYVttXSxnLG0pO2lmKGgpZm9yKGo9aVtpLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG4ubWFwKGksRWEpLG09MDtoPm07bSsrKWc9aVttXSxfLnRlc3QoZy50eXBlfHwiIikmJiFuLl9kYXRhKGcsImdsb2JhbEV2YWwiKSYmbi5jb250YWlucyhqLGcpJiYoZy5zcmM/bi5fZXZhbFVybCYmbi5fZXZhbFVybChnLnNyYyk6bi5nbG9iYWxFdmFsKChnLnRleHR8fGcudGV4dENvbnRlbnR8fGcuaW5uZXJIVE1MfHwiIikucmVwbGFjZSh6YSwiIikpKTtrPWU9bnVsbH1yZXR1cm4gYX1mdW5jdGlvbiBJYShhLGIsYyl7Zm9yKHZhciBkLGU9Yj9uLmZpbHRlcihiLGEpOmEsZj0wO251bGwhPShkPWVbZl0pO2YrKyljfHwxIT09ZC5ub2RlVHlwZXx8bi5jbGVhbkRhdGEoZWEoZCkpLGQucGFyZW50Tm9kZSYmKGMmJm4uY29udGFpbnMoZC5vd25lckRvY3VtZW50LGQpJiZmYShlYShkLCJzY3JpcHQiKSksZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpKTtyZXR1cm4gYX1uLmV4dGVuZCh7aHRtbFByZWZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHZhLCI8JDE+PC8kMj4iKX0sY2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1uLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihsLmh0bWw1Q2xvbmV8fG4uaXNYTUxEb2MoYSl8fCF1YS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KEJhLmlubmVySFRNTD1hLm91dGVySFRNTCxCYS5yZW1vdmVDaGlsZChmPUJhLmZpcnN0Q2hpbGQpKSwhKGwubm9DbG9uZUV2ZW50JiZsLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxuLmlzWE1MRG9jKGEpKSlmb3IoZD1lYShmKSxoPWVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmR2EoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8ZWEoYSksZD1kfHxlYShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUZhKGUsZFtnXSk7ZWxzZSBGYShhLGYpO3JldHVybiBkPWVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJmZhKGQsIWkmJmVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGNsZWFuRGF0YTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgZCxlLGYsZyxoPTAsaT1uLmV4cGFuZG8saj1uLmNhY2hlLGs9bC5hdHRyaWJ1dGVzLG09bi5ldmVudC5zcGVjaWFsO251bGwhPShkPWFbaF0pO2grKylpZigoYnx8TShkKSkmJihmPWRbaV0sZz1mJiZqW2ZdKSl7aWYoZy5ldmVudHMpZm9yKGUgaW4gZy5ldmVudHMpbVtlXT9uLmV2ZW50LnJlbW92ZShkLGUpOm4ucmVtb3ZlRXZlbnQoZCxlLGcuaGFuZGxlKTtqW2ZdJiYoZGVsZXRlIGpbZl0sa3x8InVuZGVmaW5lZCI9PXR5cGVvZiBkLnJlbW92ZUF0dHJpYnV0ZT9kW2ldPXZvaWQgMDpkLnJlbW92ZUF0dHJpYnV0ZShpKSxjLnB1c2goZikpfX19KSxuLmZuLmV4dGVuZCh7ZG9tTWFuaXA6SGEsZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiBJYSh0aGlzLGEsITApfSxyZW1vdmU6ZnVuY3Rpb24oYSl7cmV0dXJuIElhKHRoaXMsYSl9LHRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9uLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxkKS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEhhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj1DYSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPUNhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gSGEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gSGEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm4uY2xlYW5EYXRhKGVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbi5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbi5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gWSh0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UodGEsIiIpOnZvaWQgMDtpZigic3RyaW5nIj09dHlwZW9mIGEmJiF3YS50ZXN0KGEpJiYobC5odG1sU2VyaWFsaXplfHwhdWEudGVzdChhKSkmJihsLmxlYWRpbmdXaGl0ZXNwYWNlfHwhYWEudGVzdChhKSkmJiFkYVsoJC5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7YT1uLmh0bWxQcmVmaWx0ZXIoYSk7dHJ5e2Zvcig7ZD5jO2MrKyliPXRoaXNbY118fHt9LDE9PT1iLm5vZGVUeXBlJiYobi5jbGVhbkRhdGEoZWEoYiwhMSkpLGIuaW5uZXJIVE1MPWEpO2I9MH1jYXRjaChlKXt9fWImJnRoaXMuZW1wdHkoKS5hcHBlbmQoYSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgYT1bXTtyZXR1cm4gSGEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wYXJlbnROb2RlO24uaW5BcnJheSh0aGlzLGEpPDAmJihuLmNsZWFuRGF0YShlYSh0aGlzKSksYyYmYy5yZXBsYWNlQ2hpbGQoYix0aGlzKSl9LGEpfX0pLG4uZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhKXtmb3IodmFyIGMsZD0wLGU9W10sZj1uKGEpLGg9Zi5sZW5ndGgtMTtoPj1kO2QrKyljPWQ9PT1oP3RoaXM6dGhpcy5jbG9uZSghMCksbihmW2RdKVtiXShjKSxnLmFwcGx5KGUsYy5nZXQoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUpfX0pO3ZhciBKYSxLYT17SFRNTDoiYmxvY2siLEJPRFk6ImJsb2NrIn07ZnVuY3Rpb24gTGEoYSxiKXt2YXIgYz1uKGIuY3JlYXRlRWxlbWVudChhKSkuYXBwZW5kVG8oYi5ib2R5KSxkPW4uY3NzKGNbMF0sImRpc3BsYXkiKTtyZXR1cm4gYy5kZXRhY2goKSxkfWZ1bmN0aW9uIE1hKGEpe3ZhciBiPWQsYz1LYVthXTtyZXR1cm4gY3x8KGM9TGEoYSxiKSwibm9uZSIhPT1jJiZjfHwoSmE9KEphfHxuKCI8aWZyYW1lIGZyYW1lYm9yZGVyPScwJyB3aWR0aD0nMCcgaGVpZ2h0PScwJy8+IikpLmFwcGVuZFRvKGIuZG9jdW1lbnRFbGVtZW50KSxiPShKYVswXS5jb250ZW50V2luZG93fHxKYVswXS5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LGIud3JpdGUoKSxiLmNsb3NlKCksYz1MYShhLGIpLEphLmRldGFjaCgpKSxLYVthXT1jKSxjfXZhciBOYT0vXm1hcmdpbi8sT2E9bmV3IFJlZ0V4cCgiXigiK1QrIikoPyFweClbYS16JV0rJCIsImkiKSxQYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9e307Zm9yKGYgaW4gYilnW2ZdPWEuc3R5bGVbZl0sYS5zdHlsZVtmXT1iW2ZdO2U9Yy5hcHBseShhLGR8fFtdKTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09Z1tmXTtyZXR1cm4gZX0sUWE9ZC5kb2N1bWVudEVsZW1lbnQ7IWZ1bmN0aW9uKCl7dmFyIGIsYyxlLGYsZyxoLGk9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxqPWQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoai5zdHlsZSl7ai5zdHlsZS5jc3NUZXh0PSJmbG9hdDpsZWZ0O29wYWNpdHk6LjUiLGwub3BhY2l0eT0iMC41Ij09PWouc3R5bGUub3BhY2l0eSxsLmNzc0Zsb2F0PSEhai5zdHlsZS5jc3NGbG9hdCxqLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsai5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLGwuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1qLnN0eWxlLmJhY2tncm91bmRDbGlwLGk9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxpLnN0eWxlLmNzc1RleHQ9ImJvcmRlcjowO3dpZHRoOjhweDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHg7cGFkZGluZzowO21hcmdpbi10b3A6MXB4O3Bvc2l0aW9uOmFic29sdXRlIixqLmlubmVySFRNTD0iIixpLmFwcGVuZENoaWxkKGopLGwuYm94U2l6aW5nPSIiPT09ai5zdHlsZS5ib3hTaXppbmd8fCIiPT09ai5zdHlsZS5Nb3pCb3hTaXppbmd8fCIiPT09ai5zdHlsZS5XZWJraXRCb3hTaXppbmcsbi5leHRlbmQobCx7cmVsaWFibGVIaWRkZW5PZmZzZXRzOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxmfSxib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBudWxsPT1iJiZrKCksZX0scGl4ZWxNYXJnaW5SaWdodDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1iJiZrKCksY30scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBudWxsPT1iJiZrKCksYn0scmVsaWFibGVNYXJnaW5SaWdodDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1iJiZrKCksZ30scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxofX0pO2Z1bmN0aW9uIGsoKXt2YXIgayxsLG09ZC5kb2N1bWVudEVsZW1lbnQ7bS5hcHBlbmRDaGlsZChpKSxqLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7dG9wOjElO3dpZHRoOjUwJSIsYj1lPWg9ITEsYz1nPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGw9YS5nZXRDb21wdXRlZFN0eWxlKGopLGI9IjElIiE9PShsfHx7fSkudG9wLGg9IjJweCI9PT0obHx8e30pLm1hcmdpbkxlZnQsZT0iNHB4Ij09PShsfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxqLnN0eWxlLm1hcmdpblJpZ2h0PSI1MCUiLGM9IjRweCI9PT0obHx8e21hcmdpblJpZ2h0OiI0cHgifSkubWFyZ2luUmlnaHQsaz1qLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpLGsuc3R5bGUuY3NzVGV4dD1qLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MCIsay5zdHlsZS5tYXJnaW5SaWdodD1rLnN0eWxlLndpZHRoPSIwIixqLnN0eWxlLndpZHRoPSIxcHgiLGc9IXBhcnNlRmxvYXQoKGEuZ2V0Q29tcHV0ZWRTdHlsZShrKXx8e30pLm1hcmdpblJpZ2h0KSxqLnJlbW92ZUNoaWxkKGspKSxqLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGY9MD09PWouZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgsZiYmKGouc3R5bGUuZGlzcGxheT0iIixqLmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQ+PC90ZD48dGQ+dDwvdGQ+PC90cj48L3RhYmxlPiIsai5jaGlsZE5vZGVzWzBdLnN0eWxlLmJvcmRlckNvbGxhcHNlPSJzZXBhcmF0ZSIsaz1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpLGtbMF0uc3R5bGUuY3NzVGV4dD0ibWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowO2Rpc3BsYXk6bm9uZSIsZj0wPT09a1swXS5vZmZzZXRIZWlnaHQsZiYmKGtbMF0uc3R5bGUuZGlzcGxheT0iIixrWzFdLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGY9MD09PWtbMF0ub2Zmc2V0SGVpZ2h0KSksbS5yZW1vdmVDaGlsZChpKX19fSgpO3ZhciBSYSxTYSxUYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhSYT1mdW5jdGlvbihiKXt2YXIgYz1iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIGMmJmMub3BlbmVyfHwoYz1hKSxjLmdldENvbXB1dGVkU3R5bGUoYil9LFNhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuc3R5bGU7cmV0dXJuIGM9Y3x8UmEoYSksZz1jP2MuZ2V0UHJvcGVydHlWYWx1ZShiKXx8Y1tiXTp2b2lkIDAsIiIhPT1nJiZ2b2lkIDAhPT1nfHxuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKXx8KGc9bi5zdHlsZShhLGIpKSxjJiYhbC5waXhlbE1hcmdpblJpZ2h0KCkmJk9hLnRlc3QoZykmJk5hLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9Ziksdm9pZCAwPT09Zz9nOmcrIiJ9KTpRYS5jdXJyZW50U3R5bGUmJihSYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jdXJyZW50U3R5bGV9LFNhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuc3R5bGU7cmV0dXJuIGM9Y3x8UmEoYSksZz1jP2NbYl06dm9pZCAwLG51bGw9PWcmJmgmJmhbYl0mJihnPWhbYl0pLE9hLnRlc3QoZykmJiFUYS50ZXN0KGIpJiYoZD1oLmxlZnQsZT1hLnJ1bnRpbWVTdHlsZSxmPWUmJmUubGVmdCxmJiYoZS5sZWZ0PWEuY3VycmVudFN0eWxlLmxlZnQpLGgubGVmdD0iZm9udFNpemUiPT09Yj8iMWVtIjpnLGc9aC5waXhlbExlZnQrInB4IixoLmxlZnQ9ZCxmJiYoZS5sZWZ0PWYpKSx2b2lkIDA9PT1nP2c6ZysiInx8ImF1dG8ifSk7ZnVuY3Rpb24gVWEoYSxiKXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGEoKT92b2lkIGRlbGV0ZSB0aGlzLmdldDoodGhpcy5nZXQ9YikuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19dmFyIFZhPS9hbHBoYVwoW14pXSpcKS9pLFdhPS9vcGFjaXR5XHMqPVxzKihbXildKikvaSxYYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sWWE9bmV3IFJlZ0V4cCgiXigiK1QrIikoLiopJCIsImkiKSxaYT17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sJGE9e2xldHRlclNwYWNpbmc6IjAiLGZvbnRXZWlnaHQ6IjQwMCJ9LF9hPVsiV2Via2l0IiwiTyIsIk1veiIsIm1zIl0sYWI9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZTtmdW5jdGlvbiBiYihhKXtpZihhIGluIGFiKXJldHVybiBhO3ZhciBiPWEuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYS5zbGljZSgxKSxjPV9hLmxlbmd0aDt3aGlsZShjLS0paWYoYT1fYVtjXStiLGEgaW4gYWIpcmV0dXJuIGF9ZnVuY3Rpb24gY2IoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bi5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlcoZCkmJihmW2ddPW4uX2RhdGEoZCwib2xkZGlzcGxheSIsTWEoZC5ub2RlTmFtZSkpKSk6KGU9VyhkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZuLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzpuLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIGRiKGEsYixjKXt2YXIgZD1ZYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIGViKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1uLmNzcyhhLGMrVltmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW4uY3NzKGEsInBhZGRpbmciK1ZbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW4uY3NzKGEsImJvcmRlciIrVltmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW4uY3NzKGEsInBhZGRpbmciK1ZbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW4uY3NzKGEsImJvcmRlciIrVltmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gZmIoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPVJhKGEpLGc9bC5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW4uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1TYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLE9hLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYobC5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK2ViKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1uLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPVNhKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6bC5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1uLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1uLmNzc1Byb3BzW2hdfHwobi5jc3NQcm9wc1toXT1iYihoKXx8aCksZz1uLmNzc0hvb2tzW2JdfHxuLmNzc0hvb2tzW2hdLHZvaWQgMD09PWMpcmV0dXJuIGcmJiJnZXQiaW4gZyYmdm9pZCAwIT09KGU9Zy5nZXQoYSwhMSxkKSk/ZTppW2JdO2lmKGY9dHlwZW9mIGMsInN0cmluZyI9PT1mJiYoZT1VLmV4ZWMoYykpJiZlWzFdJiYoYz1YKGEsYixlKSxmPSJudW1iZXIiKSxudWxsIT1jJiZjPT09YyYmKCJudW1iZXIiPT09ZiYmKGMrPWUmJmVbM118fChuLmNzc051bWJlcltoXT8iIjoicHgiKSksbC5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpO3JldHVybiBiPW4uY3NzUHJvcHNbaF18fChuLmNzc1Byb3BzW2hdPWJiKGgpfHxoKSxnPW4uY3NzSG9va3NbYl18fG4uY3NzSG9va3NbaF0sZyYmImdldCJpbiBnJiYoZj1nLmdldChhLCEwLGMpKSx2b2lkIDA9PT1mJiYoZj1TYShhLGIsZCkpLCJub3JtYWwiPT09ZiYmYiBpbiAkYSYmKGY9JGFbYl0pLCIiPT09Y3x8Yz8oZT1wYXJzZUZsb2F0KGYpLGM9PT0hMHx8aXNGaW5pdGUoZSk/ZXx8MDpmKTpmfX0pLG4uZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oYSxiKXtuLmNzc0hvb2tzW2JdPXtnZXQ6ZnVuY3Rpb24oYSxjLGQpe3JldHVybiBjP1hhLnRlc3Qobi5jc3MoYSwiZGlzcGxheSIpKSYmMD09PWEub2Zmc2V0V2lkdGg/UGEoYSxaYSxmdW5jdGlvbigpe3JldHVybiBmYihhLGIsZCl9KTpmYihhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJlJhKGEpO3JldHVybiBkYihhLGMsZD9lYihhLGIsZCxsLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bi5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksbC5vcGFjaXR5fHwobi5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gV2EudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW4uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1uLnRyaW0oZi5yZXBsYWNlKFZhLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPVZhLnRlc3QoZik/Zi5yZXBsYWNlKFZhLGUpOmYrIiAiK2UpfX0pLG4uY3NzSG9va3MubWFyZ2luUmlnaHQ9VWEobC5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/UGEoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sU2EsW2EsIm1hcmdpblJpZ2h0Il0pOnZvaWQgMH0pLG4uY3NzSG9va3MubWFyZ2luTGVmdD1VYShsLnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihhLGIpe3JldHVybiBiPyhwYXJzZUZsb2F0KFNhKGEsIm1hcmdpbkxlZnQiKSl8fChuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKT9hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtUGEoYSx7Cm1hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSk6MCkpKyJweCI6dm9pZCAwfSksbi5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXtmb3IodmFyIGQ9MCxlPXt9LGY9InN0cmluZyI9PXR5cGVvZiBjP2Muc3BsaXQoIiAiKTpbY107ND5kO2QrKyllW2ErVltkXStiXT1mW2RdfHxmW2QtMl18fGZbMF07cmV0dXJuIGV9fSxOYS50ZXN0KGEpfHwobi5jc3NIb29rc1thK2JdLnNldD1kYil9KSxuLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPXt9LGc9MDtpZihuLmlzQXJyYXkoYikpe2ZvcihkPVJhKGEpLGU9Yi5sZW5ndGg7ZT5nO2crKylmW2JbZ11dPW4uY3NzKGEsYltnXSwhMSxkKTtyZXR1cm4gZn1yZXR1cm4gdm9pZCAwIT09Yz9uLnN0eWxlKGEsYixjKTpuLmNzcyhhLGIpfSxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBjYih0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBjYih0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGEpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGE/YT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtXKHRoaXMpP24odGhpcykuc2hvdygpOm4odGhpcykuaGlkZSgpfSl9fSk7ZnVuY3Rpb24gZ2IoYSxiLGMsZCxlKXtyZXR1cm4gbmV3IGdiLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bi5Ud2Vlbj1nYixnYi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmdiLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fG4uZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz1iLHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1kLHRoaXMudW5pdD1mfHwobi5jc3NOdW1iZXJbY10/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBhPWdiLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBhJiZhLmdldD9hLmdldCh0aGlzKTpnYi5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oYSl7dmFyIGIsYz1nYi5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPWI9bi5lYXNpbmdbdGhpcy5lYXNpbmddKGEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmEsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9Yj1hLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSpiK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLGMmJmMuc2V0P2Muc2V0KHRoaXMpOmdiLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LGdiLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1nYi5wcm90b3R5cGUsZ2IucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiAxIT09YS5lbGVtLm5vZGVUeXBlfHxudWxsIT1hLmVsZW1bYS5wcm9wXSYmbnVsbD09YS5lbGVtLnN0eWxlW2EucHJvcF0/YS5lbGVtW2EucHJvcF06KGI9bi5jc3MoYS5lbGVtLGEucHJvcCwiIiksYiYmImF1dG8iIT09Yj9iOjApfSxzZXQ6ZnVuY3Rpb24oYSl7bi5meC5zdGVwW2EucHJvcF0/bi5meC5zdGVwW2EucHJvcF0oYSk6MSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbD09YS5lbGVtLnN0eWxlW24uY3NzUHJvcHNbYS5wcm9wXV0mJiFuLmNzc0hvb2tzW2EucHJvcF0/YS5lbGVtW2EucHJvcF09YS5ub3c6bi5zdHlsZShhLmVsZW0sYS5wcm9wLGEubm93K2EudW5pdCl9fX0sZ2IucHJvcEhvb2tzLnNjcm9sbFRvcD1nYi5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGEpe2EuZWxlbS5ub2RlVHlwZSYmYS5lbGVtLnBhcmVudE5vZGUmJihhLmVsZW1bYS5wcm9wXT1hLm5vdyl9fSxuLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGEpe3JldHVybiBhfSxzd2luZzpmdW5jdGlvbihhKXtyZXR1cm4uNS1NYXRoLmNvcyhhKk1hdGguUEkpLzJ9LF9kZWZhdWx0OiJzd2luZyJ9LG4uZng9Z2IucHJvdG90eXBlLmluaXQsbi5meC5zdGVwPXt9O3ZhciBoYixpYixqYj0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sa2I9L3F1ZXVlSG9va3MkLztmdW5jdGlvbiBsYigpe3JldHVybiBhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtoYj12b2lkIDB9KSxoYj1uLm5vdygpfWZ1bmN0aW9uIG1iKGEsYil7dmFyIGMsZD17aGVpZ2h0OmF9LGU9MDtmb3IoYj1iPzE6MDs0PmU7ZSs9Mi1iKWM9VltlXSxkWyJtYXJnaW4iK2NdPWRbInBhZGRpbmciK2NdPWE7cmV0dXJuIGImJihkLm9wYWNpdHk9ZC53aWR0aD1hKSxkfWZ1bmN0aW9uIG5iKGEsYixjKXtmb3IodmFyIGQsZT0ocWIudHdlZW5lcnNbYl18fFtdKS5jb25jYXQocWIudHdlZW5lcnNbIioiXSksZj0wLGc9ZS5sZW5ndGg7Zz5mO2YrKylpZihkPWVbZl0uY2FsbChjLGIsYSkpcmV0dXJuIGR9ZnVuY3Rpb24gb2IoYSxiLGMpe3ZhciBkLGUsZixnLGgsaSxqLGssbT10aGlzLG89e30scD1hLnN0eWxlLHE9YS5ub2RlVHlwZSYmVyhhKSxyPW4uX2RhdGEoYSwiZnhzaG93Iik7Yy5xdWV1ZXx8KGg9bi5fcXVldWVIb29rcyhhLCJmeCIpLG51bGw9PWgudW5xdWV1ZWQmJihoLnVucXVldWVkPTAsaT1oLmVtcHR5LmZpcmUsaC5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7aC51bnF1ZXVlZHx8aSgpfSksaC51bnF1ZXVlZCsrLG0uYWx3YXlzKGZ1bmN0aW9uKCl7bS5hbHdheXMoZnVuY3Rpb24oKXtoLnVucXVldWVkLS0sbi5xdWV1ZShhLCJmeCIpLmxlbmd0aHx8aC5lbXB0eS5maXJlKCl9KX0pKSwxPT09YS5ub2RlVHlwZSYmKCJoZWlnaHQiaW4gYnx8IndpZHRoImluIGIpJiYoYy5vdmVyZmxvdz1bcC5vdmVyZmxvdyxwLm92ZXJmbG93WCxwLm92ZXJmbG93WV0saj1uLmNzcyhhLCJkaXNwbGF5Iiksaz0ibm9uZSI9PT1qP24uX2RhdGEoYSwib2xkZGlzcGxheSIpfHxNYShhLm5vZGVOYW1lKTpqLCJpbmxpbmUiPT09ayYmIm5vbmUiPT09bi5jc3MoYSwiZmxvYXQiKSYmKGwuaW5saW5lQmxvY2tOZWVkc0xheW91dCYmImlubGluZSIhPT1NYShhLm5vZGVOYW1lKT9wLnpvb209MTpwLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxjLm92ZXJmbG93JiYocC5vdmVyZmxvdz0iaGlkZGVuIixsLnNocmlua1dyYXBCbG9ja3MoKXx8bS5hbHdheXMoZnVuY3Rpb24oKXtwLm92ZXJmbG93PWMub3ZlcmZsb3dbMF0scC5vdmVyZmxvd1g9Yy5vdmVyZmxvd1sxXSxwLm92ZXJmbG93WT1jLm92ZXJmbG93WzJdfSkpO2ZvcihkIGluIGIpaWYoZT1iW2RdLGpiLmV4ZWMoZSkpe2lmKGRlbGV0ZSBiW2RdLGY9Znx8InRvZ2dsZSI9PT1lLGU9PT0ocT8iaGlkZSI6InNob3ciKSl7aWYoInNob3ciIT09ZXx8IXJ8fHZvaWQgMD09PXJbZF0pY29udGludWU7cT0hMH1vW2RdPXImJnJbZF18fG4uc3R5bGUoYSxkKX1lbHNlIGo9dm9pZCAwO2lmKG4uaXNFbXB0eU9iamVjdChvKSkiaW5saW5lIj09PSgibm9uZSI9PT1qP01hKGEubm9kZU5hbWUpOmopJiYocC5kaXNwbGF5PWopO2Vsc2V7cj8iaGlkZGVuImluIHImJihxPXIuaGlkZGVuKTpyPW4uX2RhdGEoYSwiZnhzaG93Iix7fSksZiYmKHIuaGlkZGVuPSFxKSxxP24oYSkuc2hvdygpOm0uZG9uZShmdW5jdGlvbigpe24oYSkuaGlkZSgpfSksbS5kb25lKGZ1bmN0aW9uKCl7dmFyIGI7bi5fcmVtb3ZlRGF0YShhLCJmeHNob3ciKTtmb3IoYiBpbiBvKW4uc3R5bGUoYSxiLG9bYl0pfSk7Zm9yKGQgaW4gbylnPW5iKHE/cltkXTowLGQsbSksZCBpbiByfHwocltkXT1nLnN0YXJ0LHEmJihnLmVuZD1nLnN0YXJ0LGcuc3RhcnQ9IndpZHRoIj09PWR8fCJoZWlnaHQiPT09ZD8xOjApKX19ZnVuY3Rpb24gcGIoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1uLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG4uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9bi5jc3NIb29rc1tkXSxnJiYiZXhwYW5kImluIGcpe2Y9Zy5leHBhbmQoZiksZGVsZXRlIGFbZF07Zm9yKGMgaW4gZiljIGluIGF8fChhW2NdPWZbY10sYltjXT1lKX1lbHNlIGJbZF09ZX1mdW5jdGlvbiBxYihhLGIsYyl7dmFyIGQsZSxmPTAsZz1xYi5wcmVmaWx0ZXJzLmxlbmd0aCxoPW4uRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgaS5lbGVtfSksaT1mdW5jdGlvbigpe2lmKGUpcmV0dXJuITE7Zm9yKHZhciBiPWhifHxsYigpLGM9TWF0aC5tYXgoMCxqLnN0YXJ0VGltZStqLmR1cmF0aW9uLWIpLGQ9Yy9qLmR1cmF0aW9ufHwwLGY9MS1kLGc9MCxpPWoudHdlZW5zLmxlbmd0aDtpPmc7ZysrKWoudHdlZW5zW2ddLnJ1bihmKTtyZXR1cm4gaC5ub3RpZnlXaXRoKGEsW2osZixjXSksMT5mJiZpP2M6KGgucmVzb2x2ZVdpdGgoYSxbal0pLCExKX0saj1oLnByb21pc2Uoe2VsZW06YSxwcm9wczpuLmV4dGVuZCh7fSxiKSxvcHRzOm4uZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpuLmVhc2luZy5fZGVmYXVsdH0sYyksb3JpZ2luYWxQcm9wZXJ0aWVzOmIsb3JpZ2luYWxPcHRpb25zOmMsc3RhcnRUaW1lOmhifHxsYigpLGR1cmF0aW9uOmMuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9bi5Ud2VlbihhLGoub3B0cyxiLGMsai5vcHRzLnNwZWNpYWxFYXNpbmdbYl18fGoub3B0cy5lYXNpbmcpO3JldHVybiBqLnR3ZWVucy5wdXNoKGQpLGR9LHN0b3A6ZnVuY3Rpb24oYil7dmFyIGM9MCxkPWI/ai50d2VlbnMubGVuZ3RoOjA7aWYoZSlyZXR1cm4gdGhpcztmb3IoZT0hMDtkPmM7YysrKWoudHdlZW5zW2NdLnJ1bigxKTtyZXR1cm4gYj8oaC5ub3RpZnlXaXRoKGEsW2osMSwwXSksaC5yZXNvbHZlV2l0aChhLFtqLGJdKSk6aC5yZWplY3RXaXRoKGEsW2osYl0pLHRoaXN9fSksaz1qLnByb3BzO2ZvcihwYihrLGoub3B0cy5zcGVjaWFsRWFzaW5nKTtnPmY7ZisrKWlmKGQ9cWIucHJlZmlsdGVyc1tmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIG4uaXNGdW5jdGlvbihkLnN0b3ApJiYobi5fcXVldWVIb29rcyhqLmVsZW0sai5vcHRzLnF1ZXVlKS5zdG9wPW4ucHJveHkoZC5zdG9wLGQpKSxkO3JldHVybiBuLm1hcChrLG5iLGopLG4uaXNGdW5jdGlvbihqLm9wdHMuc3RhcnQpJiZqLm9wdHMuc3RhcnQuY2FsbChhLGopLG4uZngudGltZXIobi5leHRlbmQoaSx7ZWxlbTphLGFuaW06aixxdWV1ZTpqLm9wdHMucXVldWV9KSksai5wcm9ncmVzcyhqLm9wdHMucHJvZ3Jlc3MpLmRvbmUoai5vcHRzLmRvbmUsai5vcHRzLmNvbXBsZXRlKS5mYWlsKGoub3B0cy5mYWlsKS5hbHdheXMoai5vcHRzLmFsd2F5cyl9bi5BbmltYXRpb249bi5leHRlbmQocWIse3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpO3JldHVybiBYKGMuZWxlbSxhLFUuZXhlYyhiKSxjKSxjfV19LHR3ZWVuZXI6ZnVuY3Rpb24oYSxiKXtuLmlzRnVuY3Rpb24oYSk/KGI9YSxhPVsiKiJdKTphPWEubWF0Y2goRyk7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLHFiLnR3ZWVuZXJzW2NdPXFiLnR3ZWVuZXJzW2NdfHxbXSxxYi50d2VlbmVyc1tjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXJzOltvYl0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9xYi5wcmVmaWx0ZXJzLnVuc2hpZnQoYSk6cWIucHJlZmlsdGVycy5wdXNoKGEpfX0pLG4uc3BlZWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJiJvYmplY3QiPT10eXBlb2YgYT9uLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fG4uaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhbi5pc0Z1bmN0aW9uKGIpJiZifTtyZXR1cm4gZC5kdXJhdGlvbj1uLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2YgZC5kdXJhdGlvbj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gbi5meC5zcGVlZHM/bi5meC5zcGVlZHNbZC5kdXJhdGlvbl06bi5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ZC5xdWV1ZSYmZC5xdWV1ZSE9PSEwfHwoZC5xdWV1ZT0iZngiKSxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oKXtuLmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWUmJm4uZGVxdWV1ZSh0aGlzLGQucXVldWUpfSxkfSxuLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcihXKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uLmlzRW1wdHlPYmplY3QoYSksZj1uLnNwZWVkKGIsYyxkKSxnPWZ1bmN0aW9uKCl7dmFyIGI9cWIodGhpcyxuLmV4dGVuZCh7fSxhKSxmKTsoZXx8bi5fZGF0YSh0aGlzLCJmaW5pc2giKSkmJmIuc3RvcCghMCl9O3JldHVybiBnLmZpbmlzaD1nLGV8fGYucXVldWU9PT0hMT90aGlzLmVhY2goZyk6dGhpcy5xdWV1ZShmLnF1ZXVlLGcpfSxzdG9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj1hLnN0b3A7ZGVsZXRlIGEuc3RvcCxiKGMpfTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihjPWIsYj1hLGE9dm9pZCAwKSxiJiZhIT09ITEmJnRoaXMucXVldWUoYXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ITAsZT1udWxsIT1hJiZhKyJxdWV1ZUhvb2tzIixmPW4udGltZXJzLGc9bi5fZGF0YSh0aGlzKTtpZihlKWdbZV0mJmdbZV0uc3RvcCYmZChnW2VdKTtlbHNlIGZvcihlIGluIGcpZ1tlXSYmZ1tlXS5zdG9wJiZrYi50ZXN0KGUpJiZkKGdbZV0pO2ZvcihlPWYubGVuZ3RoO2UtLTspZltlXS5lbGVtIT09dGhpc3x8bnVsbCE9YSYmZltlXS5xdWV1ZSE9PWF8fChmW2VdLmFuaW0uc3RvcChjKSxiPSExLGYuc3BsaWNlKGUsMSkpOyFiJiZjfHxuLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1uLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1uLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbi5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxuLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bi5mbltiXTtuLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUobWIoYiwhMCksYSxkLGUpfX0pLG4uZWFjaCh7c2xpZGVEb3duOm1iKCJzaG93Iiksc2xpZGVVcDptYigiaGlkZSIpLHNsaWRlVG9nZ2xlOm1iKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxuLnRpbWVycz1bXSxuLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW4udGltZXJzLGM9MDtmb3IoaGI9bi5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxuLmZ4LnN0b3AoKSxoYj12b2lkIDB9LG4uZngudGltZXI9ZnVuY3Rpb24oYSl7bi50aW1lcnMucHVzaChhKSxhKCk/bi5meC5zdGFydCgpOm4udGltZXJzLnBvcCgpfSxuLmZ4LmludGVydmFsPTEzLG4uZnguc3RhcnQ9ZnVuY3Rpb24oKXtpYnx8KGliPWEuc2V0SW50ZXJ2YWwobi5meC50aWNrLG4uZnguaW50ZXJ2YWwpKX0sbi5meC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhckludGVydmFsKGliKSxpYj1udWxsfSxuLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxuLmZuLmRlbGF5PWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9bi5meD9uLmZ4LnNwZWVkc1tiXXx8YjpiLGM9Y3x8ImZ4Iix0aGlzLnF1ZXVlKGMsZnVuY3Rpb24oYyxkKXt2YXIgZT1hLnNldFRpbWVvdXQoYyxiKTtkLnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFyVGltZW91dChlKX19KX0sZnVuY3Rpb24oKXt2YXIgYSxiPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxjPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1kLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGY9ZS5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTtjPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksYy5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxjLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixhPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxiLnNldEF0dHJpYnV0ZSgidHlwZSIsImNoZWNrYm94IiksYy5hcHBlbmRDaGlsZChiKSxhPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxhLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGwuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWMuY2xhc3NOYW1lLGwuc3R5bGU9L3RvcC8udGVzdChhLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksbC5ocmVmTm9ybWFsaXplZD0iL2EiPT09YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSxsLmNoZWNrT249ISFiLnZhbHVlLGwub3B0U2VsZWN0ZWQ9Zi5zZWxlY3RlZCxsLmVuY3R5cGU9ISFkLmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGUuZGlzYWJsZWQ9ITAsbC5vcHREaXNhYmxlZD0hZi5kaXNhYmxlZCxiPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxsLmlucHV0PSIiPT09Yi5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYi52YWx1ZT0idCIsYi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGwucmFkaW9WYWx1ZT0idCI9PT1iLnZhbHVlfSgpO3ZhciByYj0vXHIvZyxzYj0vW1x4MjBcdFxyXG5cZl0rL2c7bi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihhKXt2YXIgYixjLGQsZT10aGlzWzBdO3tpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBkPW4uaXNGdW5jdGlvbihhKSx0aGlzLmVhY2goZnVuY3Rpb24oYyl7dmFyIGU7MT09PXRoaXMubm9kZVR5cGUmJihlPWQ/YS5jYWxsKHRoaXMsYyxuKHRoaXMpLnZhbCgpKTphLG51bGw9PWU/ZT0iIjoibnVtYmVyIj09dHlwZW9mIGU/ZSs9IiI6bi5pc0FycmF5KGUpJiYoZT1uLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hPyIiOmErIiJ9KSksYj1uLnZhbEhvb2tzW3RoaXMudHlwZV18fG4udmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYic2V0ImluIGImJnZvaWQgMCE9PWIuc2V0KHRoaXMsZSwidmFsdWUiKXx8KHRoaXMudmFsdWU9ZSkpfSk7aWYoZSlyZXR1cm4gYj1uLnZhbEhvb2tzW2UudHlwZV18fG4udmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYiZ2V0ImluIGImJnZvaWQgMCE9PShjPWIuZ2V0KGUsInZhbHVlIikpP2M6KGM9ZS52YWx1ZSwic3RyaW5nIj09dHlwZW9mIGM/Yy5yZXBsYWNlKHJiLCIiKTpudWxsPT1jPyIiOmMpfX19KSxuLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW4uZmluZC5hdHRyKGEsInZhbHVlIik7cmV0dXJuIG51bGwhPWI/YjpuLnRyaW0obi50ZXh0KGEpKS5yZXBsYWNlKHNiLCIgIil9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkPWEub3B0aW9ucyxlPWEuc2VsZWN0ZWRJbmRleCxmPSJzZWxlY3Qtb25lIj09PWEudHlwZXx8MD5lLGc9Zj9udWxsOltdLGg9Zj9lKzE6ZC5sZW5ndGgsaT0wPmU/aDpmP2U6MDtoPmk7aSsrKWlmKGM9ZFtpXSwoYy5zZWxlY3RlZHx8aT09PWUpJiYobC5vcHREaXNhYmxlZD8hYy5kaXNhYmxlZDpudWxsPT09Yy5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikpJiYoIWMucGFyZW50Tm9kZS5kaXNhYmxlZHx8IW4ubm9kZU5hbWUoYy5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYoYj1uKGMpLnZhbCgpLGYpcmV0dXJuIGI7Zy5wdXNoKGIpfXJldHVybiBnfSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9YS5vcHRpb25zLGY9bi5tYWtlQXJyYXkoYiksZz1lLmxlbmd0aDt3aGlsZShnLS0paWYoZD1lW2ddLG4uaW5BcnJheShuLnZhbEhvb2tzLm9wdGlvbi5nZXQoZCksZik+LTEpdHJ5e2Quc2VsZWN0ZWQ9Yz0hMH1jYXRjaChoKXtkLnNjcm9sbEhlaWdodH1lbHNlIGQuc2VsZWN0ZWQ9ITE7cmV0dXJuIGN8fChhLnNlbGVjdGVkSW5kZXg9LTEpLGV9fX19KSxuLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtuLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5pc0FycmF5KGIpP2EuY2hlY2tlZD1uLmluQXJyYXkobihhKS52YWwoKSxiKT4tMTp2b2lkIDB9fSxsLmNoZWNrT258fChuLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09PWEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6YS52YWx1ZX0pfSk7dmFyIHRiLHViLHZiPW4uZXhwci5hdHRySGFuZGxlLHdiPS9eKD86Y2hlY2tlZHxzZWxlY3RlZCkkL2kseGI9bC5nZXRTZXRBdHRyaWJ1dGUseWI9bC5pbnB1dDtuLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBZKHRoaXMsbi5hdHRyLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLnJlbW92ZUF0dHIodGhpcyxhKX0pfX0pLG4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU/bi5wcm9wKGEsYixjKTooMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPWIudG9Mb3dlckNhc2UoKSxlPW4uYXR0ckhvb2tzW2JdfHwobi5leHByLm1hdGNoLmJvb2wudGVzdChiKT91Yjp0YikpLHZvaWQgMCE9PWM/bnVsbD09PWM/dm9pZCBuLnJlbW92ZUF0dHIoYSxiKTplJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDooYS5zZXRBdHRyaWJ1dGUoYixjKyIiKSxjKTplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOihkPW4uZmluZC5hdHRyKGEsYiksbnVsbD09ZD92b2lkIDA6ZCkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihhLGIpe2lmKCFsLnJhZGlvVmFsdWUmJiJyYWRpbyI9PT1iJiZuLm5vZGVOYW1lKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7cmV0dXJuIGEuc2V0QXR0cmlidXRlKCJ0eXBlIixiKSxjJiYoYS52YWx1ZT1jKSxifX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPTAsZj1iJiZiLm1hdGNoKEcpO2lmKGYmJjE9PT1hLm5vZGVUeXBlKXdoaWxlKGM9ZltlKytdKWQ9bi5wcm9wRml4W2NdfHxjLG4uZXhwci5tYXRjaC5ib29sLnRlc3QoYyk/eWImJnhifHwhd2IudGVzdChjKT9hW2RdPSExOmFbbi5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtkXT0hMTpuLmF0dHIoYSxjLCIiKSxhLnJlbW92ZUF0dHJpYnV0ZSh4Yj9jOmQpfX0pLHViPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiPT09ITE/bi5yZW1vdmVBdHRyKGEsYyk6eWImJnhifHwhd2IudGVzdChjKT9hLnNldEF0dHJpYnV0ZSgheGImJm4ucHJvcEZpeFtjXXx8YyxjKTphW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIrYyldPWFbY109ITAsY319LG4uZWFjaChuLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPXZiW2JdfHxuLmZpbmQuYXR0cjt5YiYmeGJ8fCF3Yi50ZXN0KGIpP3ZiW2JdPWZ1bmN0aW9uKGEsYixkKXt2YXIgZSxmO3JldHVybiBkfHwoZj12YltiXSx2YltiXT1lLGU9bnVsbCE9YyhhLGIsZCk/Yi50b0xvd2VyQ2FzZSgpOm51bGwsdmJbYl09ZiksZX06dmJbYl09ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjP3ZvaWQgMDphW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIrYildP2IudG9Mb3dlckNhc2UoKTpudWxsfX0pLHliJiZ4Ynx8KG4uYXR0ckhvb2tzLnZhbHVlPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuLm5vZGVOYW1lKGEsImlucHV0Iik/dm9pZChhLmRlZmF1bHRWYWx1ZT1iKTp0YiYmdGIuc2V0KGEsYixjKX19KSx4Ynx8KHRiPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtyZXR1cm4gZHx8YS5zZXRBdHRyaWJ1dGVOb2RlKGQ9YS5vd25lckRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZShjKSksZC52YWx1ZT1iKz0iIiwidmFsdWUiPT09Y3x8Yj09PWEuZ2V0QXR0cmlidXRlKGMpP2I6dm9pZCAwfX0sdmIuaWQ9dmIubmFtZT12Yi5jb29yZHM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiYiIiE9PWQudmFsdWU/ZC52YWx1ZTpudWxsfSxuLnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpO3JldHVybiBjJiZjLnNwZWNpZmllZD9jLnZhbHVlOnZvaWQgMH0sc2V0OnRiLnNldH0sbi5hdHRySG9va3MuY29udGVudGVkaXRhYmxlPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3RiLnNldChhLCIiPT09Yj8hMTpiLGMpfX0sbi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihhLGIpe24uYXR0ckhvb2tzW2JdPXtzZXQ6ZnVuY3Rpb24oYSxjKXtyZXR1cm4iIj09PWM/KGEuc2V0QXR0cmlidXRlKGIsImF1dG8iKSxjKTp2b2lkIDB9fX0pKSxsLnN0eWxlfHwobi5hdHRySG9va3Muc3R5bGU9e2dldDpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0fHx2b2lkIDB9LHNldDpmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0eWxlLmNzc1RleHQ9YisiIn19KTt2YXIgemI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdCkkL2ksQWI9L14oPzphfGFyZWEpJC9pO24uZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFkodGhpcyxuLnByb3AsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9bi5wcm9wRml4W2FdfHxhLHRoaXMuZWFjaChmdW5jdGlvbigpe3RyeXt0aGlzW2FdPXZvaWQgMCxkZWxldGUgdGhpc1thXX1jYXRjaChiKXt9fSl9fSksbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIDE9PT1mJiZuLmlzWE1MRG9jKGEpfHwoYj1uLnByb3BGaXhbYl18fGIsZT1uLnByb3BIb29rc1tiXSksdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTp6Yi50ZXN0KGEubm9kZU5hbWUpfHxBYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxsLmhyZWZOb3JtYWxpemVkfHxuLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXtuLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxsLm9wdFNlbGVjdGVkfHwobi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLG4uZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7bi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pLGwuZW5jdHlwZXx8KG4ucHJvcEZpeC5lbmN0eXBlPSJlbmNvZGluZyIpO3ZhciBCYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIENiKGEpe3JldHVybiBuLmF0dHIoYSwiY2xhc3MiKXx8IiJ9bi5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk9MDtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLmFkZENsYXNzKGEuY2FsbCh0aGlzLGIsQ2IodGhpcykpKX0pO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEcpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPUNiKGMpLGQ9MT09PWMubm9kZVR5cGUmJigiICIrZSsiICIpLnJlcGxhY2UoQmIsIiAiKSl7Zz0wO3doaWxlKGY9YltnKytdKWQuaW5kZXhPZigiICIrZisiICIpPDAmJihkKz1mKyIgIik7aD1uLnRyaW0oZCksZSE9PWgmJm4uYXR0cihjLCJjbGFzcyIsaCl9fXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxiLENiKHRoaXMpKSl9KTtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5hdHRyKCJjbGFzcyIsIiIpO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEcpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPUNiKGMpLGQ9MT09PWMubm9kZVR5cGUmJigiICIrZSsiICIpLnJlcGxhY2UoQmIsIiAiKSl7Zz0wO3doaWxlKGY9YltnKytdKXdoaWxlKGQuaW5kZXhPZigiICIrZisiICIpPi0xKWQ9ZC5yZXBsYWNlKCIgIitmKyIgIiwiICIpO2g9bi50cmltKGQpLGUhPT1oJiZuLmF0dHIoYywiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6bi5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihjKXtuKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsQ2IodGhpcyksYiksYil9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixkLGUsZjtpZigic3RyaW5nIj09PWMpe2Q9MCxlPW4odGhpcyksZj1hLm1hdGNoKEcpfHxbXTt3aGlsZShiPWZbZCsrXSllLmhhc0NsYXNzKGIpP2UucmVtb3ZlQ2xhc3MoYik6ZS5hZGRDbGFzcyhiKX1lbHNlIHZvaWQgMCE9PWEmJiJib29sZWFuIiE9PWN8fChiPUNiKHRoaXMpLGImJm4uX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsYiksbi5hdHRyKHRoaXMsImNsYXNzIixifHxhPT09ITE/IiI6bi5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIiKSl9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPTA7Yj0iICIrYSsiICI7d2hpbGUoYz10aGlzW2QrK10paWYoMT09PWMubm9kZVR5cGUmJigiICIrQ2IoYykrIiAiKS5yZXBsYWNlKEJiLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KSxuLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGIsbnVsbCxhLGMpOnRoaXMudHJpZ2dlcihiKX19KSxuLmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSk7dmFyIERiPWEubG9jYXRpb24sRWI9bi5ub3coKSxGYj0vXD8vLEdiPS8oLCl8KFxbfHspfCh9fF0pfCIoPzpbXiJcXFxyXG5dfFxcWyJcXFwvYmZucnRdfFxcdVtcZGEtZkEtRl17NH0pKiJccyo6P3x0cnVlfGZhbHNlfG51bGx8LT8oPyEwXGQpXGQrKD86XC5cZCt8KSg/OltlRV1bKy1dP1xkK3wpL2c7bi5wYXJzZUpTT049ZnVuY3Rpb24oYil7aWYoYS5KU09OJiZhLkpTT04ucGFyc2UpcmV0dXJuIGEuSlNPTi5wYXJzZShiKyIiKTt2YXIgYyxkPW51bGwsZT1uLnRyaW0oYisiIik7cmV0dXJuIGUmJiFuLnRyaW0oZS5yZXBsYWNlKEdiLGZ1bmN0aW9uKGEsYixlLGYpe3JldHVybiBjJiZiJiYoZD0wKSwwPT09ZD9hOihjPWV8fGIsZCs9IWYtIWUsIiIpfSkpP0Z1bmN0aW9uKCJyZXR1cm4gIitlKSgpOm4uZXJyb3IoIkludmFsaWQgSlNPTjogIitiKX0sbi5wYXJzZVhNTD1mdW5jdGlvbihiKXt2YXIgYyxkO2lmKCFifHwic3RyaW5nIiE9dHlwZW9mIGIpcmV0dXJuIG51bGw7dHJ5e2EuRE9NUGFyc2VyPyhkPW5ldyBhLkRPTVBhcnNlcixjPWQucGFyc2VGcm9tU3RyaW5nKGIsInRleHQveG1sIikpOihjPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bi5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIEhiPS8jLiokLyxJYj0vKFs/Jl0pXz1bXiZdKi8sSmI9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxLYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxMYj0vXig/OkdFVHxIRUFEKSQvLE1iPS9eXC9cLy8sTmI9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sT2I9e30sUGI9e30sUWI9IiovIi5jb25jYXQoIioiKSxSYj1EYi5ocmVmLFNiPU5iLmV4ZWMoUmIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIFRiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEcpfHxbXTtpZihuLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gVWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09UGI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxuLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBWYihhLGIpe3ZhciBjLGQsZT1uLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZuLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gV2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gWGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1uLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6UmIsdHlwZToiR0VUIixpc0xvY2FsOktiLnRlc3QoU2JbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6UWIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6bi5wYXJzZUpTT04sInRleHQgeG1sIjpuLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9WYihWYihhLG4uYWpheFNldHRpbmdzKSxiKTpWYihuLmFqYXhTZXR0aW5ncyxhKX0sYWpheFByZWZpbHRlcjpUYihPYiksYWpheFRyYW5zcG9ydDpUYihQYiksYWpheDpmdW5jdGlvbihiLGMpeyJvYmplY3QiPT10eXBlb2YgYiYmKGM9YixiPXZvaWQgMCksYz1jfHx7fTt2YXIgZCxlLGYsZyxoLGksaixrLGw9bi5hamF4U2V0dXAoe30sYyksbT1sLmNvbnRleHR8fGwsbz1sLmNvbnRleHQmJihtLm5vZGVUeXBlfHxtLmpxdWVyeSk/bihtKTpuLmV2ZW50LHA9bi5EZWZlcnJlZCgpLHE9bi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iikscj1sLnN0YXR1c0NvZGV8fHt9LHM9e30sdD17fSx1PTAsdj0iY2FuY2VsZWQiLHc9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihhKXt2YXIgYjtpZigyPT09dSl7aWYoIWspe2s9e307d2hpbGUoYj1KYi5leGVjKGcpKWtbYlsxXS50b0xvd2VyQ2FzZSgpXT1iWzJdfWI9a1thLnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT1iP251bGw6Yn0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT11P2c6bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWEudG9Mb3dlckNhc2UoKTtyZXR1cm4gdXx8KGE9dFtjXT10W2NdfHxhLHNbYV09YiksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gdXx8KGwubWltZVR5cGU9YSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihhKXt2YXIgYjtpZihhKWlmKDI+dSlmb3IoYiBpbiBhKXJbYl09W3JbYl0sYVtiXV07ZWxzZSB3LmFsd2F5cyhhW3cuc3RhdHVzXSk7cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHY7cmV0dXJuIGomJmouYWJvcnQoYikseSgwLGIpLHRoaXN9fTtpZihwLnByb21pc2UodykuY29tcGxldGU9cS5hZGQsdy5zdWNjZXNzPXcuZG9uZSx3LmVycm9yPXcuZmFpbCxsLnVybD0oKGJ8fGwudXJsfHxSYikrIiIpLnJlcGxhY2UoSGIsIiIpLnJlcGxhY2UoTWIsU2JbMV0rIi8vIiksbC50eXBlPWMubWV0aG9kfHxjLnR5cGV8fGwubWV0aG9kfHxsLnR5cGUsbC5kYXRhVHlwZXM9bi50cmltKGwuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8WyIiXSxudWxsPT1sLmNyb3NzRG9tYWluJiYoZD1OYi5leGVjKGwudXJsLnRvTG93ZXJDYXNlKCkpLGwuY3Jvc3NEb21haW49ISghZHx8ZFsxXT09PVNiWzFdJiZkWzJdPT09U2JbMl0mJihkWzNdfHwoImh0dHA6Ij09PWRbMV0/IjgwIjoiNDQzIikpPT09KFNiWzNdfHwoImh0dHA6Ij09PVNiWzFdPyI4MCI6IjQ0MyIpKSkpLGwuZGF0YSYmbC5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBsLmRhdGEmJihsLmRhdGE9bi5wYXJhbShsLmRhdGEsbC50cmFkaXRpb25hbCkpLFViKE9iLGwsYyx3KSwyPT09dSlyZXR1cm4gdztpPW4uZXZlbnQmJmwuZ2xvYmFsLGkmJjA9PT1uLmFjdGl2ZSsrJiZuLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLGwudHlwZT1sLnR5cGUudG9VcHBlckNhc2UoKSxsLmhhc0NvbnRlbnQ9IUxiLnRlc3QobC50eXBlKSxmPWwudXJsLGwuaGFzQ29udGVudHx8KGwuZGF0YSYmKGY9bC51cmwrPShGYi50ZXN0KGYpPyImIjoiPyIpK2wuZGF0YSxkZWxldGUgbC5kYXRhKSxsLmNhY2hlPT09ITEmJihsLnVybD1JYi50ZXN0KGYpP2YucmVwbGFjZShJYiwiJDFfPSIrRWIrKyk6ZisoRmIudGVzdChmKT8iJiI6Ij8iKSsiXz0iK0ViKyspKSxsLmlmTW9kaWZpZWQmJihuLmxhc3RNb2RpZmllZFtmXSYmdy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsbi5sYXN0TW9kaWZpZWRbZl0pLG4uZXRhZ1tmXSYmdy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixuLmV0YWdbZl0pKSwobC5kYXRhJiZsLmhhc0NvbnRlbnQmJmwuY29udGVudFR5cGUhPT0hMXx8Yy5jb250ZW50VHlwZSkmJncuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixsLmNvbnRlbnRUeXBlKSx3LnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsbC5kYXRhVHlwZXNbMF0mJmwuYWNjZXB0c1tsLmRhdGFUeXBlc1swXV0/bC5hY2NlcHRzW2wuZGF0YVR5cGVzWzBdXSsoIioiIT09bC5kYXRhVHlwZXNbMF0/IiwgIitRYisiOyBxPTAuMDEiOiIiKTpsLmFjY2VwdHNbIioiXSk7Zm9yKGUgaW4gbC5oZWFkZXJzKXcuc2V0UmVxdWVzdEhlYWRlcihlLGwuaGVhZGVyc1tlXSk7aWYobC5iZWZvcmVTZW5kJiYobC5iZWZvcmVTZW5kLmNhbGwobSx3LGwpPT09ITF8fDI9PT11KSlyZXR1cm4gdy5hYm9ydCgpO3Y9ImFib3J0Ijtmb3IoZSBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSl3W2VdKGxbZV0pO2lmKGo9VWIoUGIsbCxjLHcpKXtpZih3LnJlYWR5U3RhdGU9MSxpJiZvLnRyaWdnZXIoImFqYXhTZW5kIixbdyxsXSksMj09PXUpcmV0dXJuIHc7bC5hc3luYyYmbC50aW1lb3V0PjAmJihoPWEuc2V0VGltZW91dChmdW5jdGlvbigpe3cuYWJvcnQoInRpbWVvdXQiKX0sbC50aW1lb3V0KSk7dHJ5e3U9MSxqLnNlbmQocyx5KX1jYXRjaCh4KXtpZighKDI+dSkpdGhyb3cgeDt5KC0xLHgpfX1lbHNlIHkoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHkoYixjLGQsZSl7dmFyIGsscyx0LHYseCx5PWM7MiE9PXUmJih1PTIsaCYmYS5jbGVhclRpbWVvdXQoaCksaj12b2lkIDAsZz1lfHwiIix3LnJlYWR5U3RhdGU9Yj4wPzQ6MCxrPWI+PTIwMCYmMzAwPmJ8fDMwND09PWIsZCYmKHY9V2IobCx3LGQpKSx2PVhiKGwsdix3LGspLGs/KGwuaWZNb2RpZmllZCYmKHg9dy5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpLHgmJihuLmxhc3RNb2RpZmllZFtmXT14KSx4PXcuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSx4JiYobi5ldGFnW2ZdPXgpKSwyMDQ9PT1ifHwiSEVBRCI9PT1sLnR5cGU/eT0ibm9jb250ZW50IjozMDQ9PT1iP3k9Im5vdG1vZGlmaWVkIjooeT12LnN0YXRlLHM9di5kYXRhLHQ9di5lcnJvcixrPSF0KSk6KHQ9eSwhYiYmeXx8KHk9ImVycm9yIiwwPmImJihiPTApKSksdy5zdGF0dXM9Yix3LnN0YXR1c1RleHQ9KGN8fHkpKyIiLGs/cC5yZXNvbHZlV2l0aChtLFtzLHksd10pOnAucmVqZWN0V2l0aChtLFt3LHksdF0pLHcuc3RhdHVzQ29kZShyKSxyPXZvaWQgMCxpJiZvLnRyaWdnZXIoaz8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt3LGwsaz9zOnRdKSxxLmZpcmVXaXRoKG0sW3cseV0pLGkmJihvLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3csbF0pLC0tbi5hY3RpdmV8fG4uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB3fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbi5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG4uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG4uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe25bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG4uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG4uYWpheChuLmV4dGVuZCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0sbi5pc1BsYWluT2JqZWN0KGEpJiZhKSl9fSksbi5fZXZhbFVybD1mdW5jdGlvbihhKXtyZXR1cm4gbi5hamF4KHt1cmw6YSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSwidGhyb3dzIjohMH0pfSxuLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihhKXtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRoaXMsYikpfSk7aWYodGhpc1swXSl7dmFyIGI9bihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RDaGlsZCYmMT09PWEuZmlyc3RDaGlsZC5ub2RlVHlwZSlhPWEuZmlyc3RDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPW4odGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9bi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe24ubm9kZU5hbWUodGhpcywiYm9keSIpfHxuKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KTtmdW5jdGlvbiBZYihhKXtyZXR1cm4gYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxuLmNzcyhhLCJkaXNwbGF5Iil9ZnVuY3Rpb24gWmIoYSl7aWYoIW4uY29udGFpbnMoYS5vd25lckRvY3VtZW50fHxkLGEpKXJldHVybiEwO3doaWxlKGEmJjE9PT1hLm5vZGVUeXBlKXtpZigibm9uZSI9PT1ZYihhKXx8ImhpZGRlbiI9PT1hLnR5cGUpcmV0dXJuITA7YT1hLnBhcmVudE5vZGV9cmV0dXJuITF9bi5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEpe3JldHVybiBsLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpP2Eub2Zmc2V0V2lkdGg8PTAmJmEub2Zmc2V0SGVpZ2h0PD0wJiYhYS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aDpaYihhKX0sbi5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hbi5leHByLmZpbHRlcnMuaGlkZGVuKGEpfTt2YXIgJGI9LyUyMC9nLF9iPS9cW1xdJC8sYWM9L1xyP1xuL2csYmM9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLGNjPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBkYyhhLGIsYyxkKXt2YXIgZTtpZihuLmlzQXJyYXkoYikpbi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxfYi50ZXN0KGEpP2QoYSxlKTpkYyhhKyJbIisoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT1lP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKGN8fCJvYmplY3QiIT09bi50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpZGMoYSsiWyIrZSsiXSIsYltlXSxjLGQpfW4ucGFyYW09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPW4uaXNGdW5jdGlvbihiKT9iKCk6bnVsbD09Yj8iIjpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1uLmFqYXhTZXR0aW5ncyYmbi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG4uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFuLmlzUGxhaW5PYmplY3QoYSkpbi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlkYyhjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZSgkYiwiKyIpfSxuLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1uLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gYT9uLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFuKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmY2MudGVzdCh0aGlzLm5vZGVOYW1lKSYmIWJjLnRlc3QoYSkmJih0aGlzLmNoZWNrZWR8fCFaLnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9bih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOm4uaXNBcnJheShjKT9uLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoYWMsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKGFjLCJcclxuIil9fSkuZ2V0KCl9fSksbi5hamF4U2V0dGluZ3MueGhyPXZvaWQgMCE9PWEuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzTG9jYWw/aWMoKTpkLmRvY3VtZW50TW9kZT44P2hjKCk6L14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmaGMoKXx8aWMoKX06aGM7dmFyIGVjPTAsZmM9e30sZ2M9bi5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIGZjKWZjW2FdKHZvaWQgMCwhMCl9KSxsLmNvcnM9ISFnYyYmIndpdGhDcmVkZW50aWFscyJpbiBnYyxnYz1sLmFqYXg9ISFnYyxnYyYmbi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGIpe2lmKCFiLmNyb3NzRG9tYWlufHxsLmNvcnMpe3ZhciBjO3JldHVybntzZW5kOmZ1bmN0aW9uKGQsZSl7dmFyIGYsZz1iLnhocigpLGg9KytlYztpZihnLm9wZW4oYi50eXBlLGIudXJsLGIuYXN5bmMsYi51c2VybmFtZSxiLnBhc3N3b3JkKSxiLnhockZpZWxkcylmb3IoZiBpbiBiLnhockZpZWxkcylnW2ZdPWIueGhyRmllbGRzW2ZdO2IubWltZVR5cGUmJmcub3ZlcnJpZGVNaW1lVHlwZSYmZy5vdmVycmlkZU1pbWVUeXBlKGIubWltZVR5cGUpLGIuY3Jvc3NEb21haW58fGRbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGRbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZiBpbiBkKXZvaWQgMCE9PWRbZl0mJmcuc2V0UmVxdWVzdEhlYWRlcihmLGRbZl0rIiIpO2cuc2VuZChiLmhhc0NvbnRlbnQmJmIuZGF0YXx8bnVsbCksYz1mdW5jdGlvbihhLGQpe3ZhciBmLGksajtpZihjJiYoZHx8ND09PWcucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIGZjW2hdLGM9dm9pZCAwLGcub25yZWFkeXN0YXRlY2hhbmdlPW4ubm9vcCxkKTQhPT1nLnJlYWR5U3RhdGUmJmcuYWJvcnQoKTtlbHNle2o9e30sZj1nLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGcucmVzcG9uc2VUZXh0JiYoai50ZXh0PWcucmVzcG9uc2VUZXh0KTt0cnl7aT1nLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1mfHwhYi5pc0xvY2FsfHxiLmNyb3NzRG9tYWluPzEyMjM9PT1mJiYoZj0yMDQpOmY9ai50ZXh0PzIwMDo0MDR9aiYmZShmLGksaixnLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYi5hc3luYz80PT09Zy5yZWFkeVN0YXRlP2Euc2V0VGltZW91dChjKTpnLm9ucmVhZHlzdGF0ZWNoYW5nZT1mY1toXT1jOmMoKX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKHZvaWQgMCwhMCl9fX19KTtmdW5jdGlvbiBoYygpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goYil7fX1mdW5jdGlvbiBpYygpe3RyeXtyZXR1cm4gbmV3IGEuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKX1jYXRjaChiKXt9fW4uYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBuLmdsb2JhbEV2YWwoYSksYX19fSksbi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG4uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPWQuaGVhZHx8bigiaGVhZCIpWzBdfHxkLmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihlLGYpe2I9ZC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxmKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgamM9W10sa2M9Lyg9KVw/KD89JnwkKXxcP1w/LztuLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9amMucG9wKCl8fG4uZXhwYW5kbysiXyIrRWIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG4uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGtjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYwPT09KGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYma2MudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW4uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGtjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPShGYi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bi5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1mP24oYSkucmVtb3ZlUHJvcChlKTphW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssamMucHVzaChlKSksZyYmbi5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbi5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fGQ7dmFyIGU9eC5leGVjKGEpLGY9IWMmJltdO3JldHVybiBlP1tiLmNyZWF0ZUVsZW1lbnQoZVsxXSldOihlPWphKFthXSxiLGYpLGYmJmYubGVuZ3RoJiZuKGYpLnJlbW92ZSgpLG4ubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9O3ZhciBsYz1uLmZuLmxvYWQ7bi5mbi5sb2FkPWZ1bmN0aW9uKGEsYixjKXtpZigic3RyaW5nIiE9dHlwZW9mIGEmJmxjKXJldHVybiBsYy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGQsZSxmLGc9dGhpcyxoPWEuaW5kZXhPZigiICIpO3JldHVybiBoPi0xJiYoZD1uLnRyaW0oYS5zbGljZShoLGEubGVuZ3RoKSksYT1hLnNsaWNlKDAsaCkpLG4uaXNGdW5jdGlvbihiKT8oYz1iLGI9dm9pZCAwKTpiJiYib2JqZWN0Ij09dHlwZW9mIGImJihlPSJQT1NUIiksZy5sZW5ndGg+MCYmbi5hamF4KHt1cmw6YSx0eXBlOmV8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2Y9YXJndW1lbnRzLGcuaHRtbChkP24oIjxkaXY+IikuYXBwZW5kKG4ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuYWx3YXlzKGMmJmZ1bmN0aW9uKGEsYil7Zy5lYWNoKGZ1bmN0aW9uKCl7Yy5hcHBseSh0aGlzLGZ8fFthLnJlc3BvbnNlVGV4dCxiLGFdKX0pfSksdGhpc30sbi5lYWNoKFsiYWpheFN0YXJ0IiwiYWpheFN0b3AiLCJhamF4Q29tcGxldGUiLCJhamF4RXJyb3IiLCJhamF4U3VjY2VzcyIsImFqYXhTZW5kIl0sZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9uKGIsYSl9fSksbi5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG4uZ3JlcChuLnRpbWVycyxmdW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0aH07ZnVuY3Rpb24gbWMoYSl7cmV0dXJuIG4uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1uLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW4uY3NzKGEsInBvc2l0aW9uIiksbD1uKGEpLG09e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1uLmNzcyhhLCJ0b3AiKSxpPW4uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZuLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbi5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLG4uZXh0ZW5kKHt9LGgpKSksbnVsbCE9Yi50b3AmJihtLnRvcD1iLnRvcC1oLnRvcCtnKSxudWxsIT1iLmxlZnQmJihtLmxlZnQ9Yi5sZWZ0LWgubGVmdCtlKSwidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxtKTpsLmNzcyhtKX19LG4uZm4uZXh0ZW5kKHtvZmZzZXQ6ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09YT90aGlzOnRoaXMuZWFjaChmdW5jdGlvbihiKXtuLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7dmFyIGIsYyxkPXt0b3A6MCxsZWZ0OjB9LGU9dGhpc1swXSxmPWUmJmUub3duZXJEb2N1bWVudDtpZihmKXJldHVybiBiPWYuZG9jdW1lbnRFbGVtZW50LG4uY29udGFpbnMoYixlKT8oInVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCYmKGQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksYz1tYyhmKSx7dG9wOmQudG9wKyhjLnBhZ2VZT2Zmc2V0fHxiLnNjcm9sbFRvcCktKGIuY2xpZW50VG9wfHwwKSxsZWZ0OmQubGVmdCsoYy5wYWdlWE9mZnNldHx8Yi5zY3JvbGxMZWZ0KS0oYi5jbGllbnRMZWZ0fHwwKX0pOmR9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGEsYixjPXt0b3A6MCxsZWZ0OjB9LGQ9dGhpc1swXTtyZXR1cm4iZml4ZWQiPT09bi5jc3MoZCwicG9zaXRpb24iKT9iPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGE9dGhpcy5vZmZzZXRQYXJlbnQoKSxiPXRoaXMub2Zmc2V0KCksbi5ub2RlTmFtZShhWzBdLCJodG1sIil8fChjPWEub2Zmc2V0KCkpLGMudG9wKz1uLmNzcyhhWzBdLCJib3JkZXJUb3BXaWR0aCIsITApLGMubGVmdCs9bi5jc3MoYVswXSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpLHt0b3A6Yi50b3AtYy50b3Atbi5jc3MoZCwibWFyZ2luVG9wIiwhMCksbGVmdDpiLmxlZnQtYy5sZWZ0LW4uY3NzKGQsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShhJiYhbi5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bi5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxRYX0pfX0pLG4uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO24uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9bWMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bihmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bihmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbi5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1tiXT1VYShsLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1TYShhLGIpLE9hLnRlc3QoYyk/bihhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxuLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe24uZWFjaCh7CnBhZGRpbmc6ImlubmVyIithLGNvbnRlbnQ6YiwiIjoib3V0ZXIiK2F9LGZ1bmN0aW9uKGMsZCl7bi5mbltkXT1mdW5jdGlvbihkLGUpe3ZhciBmPWFyZ3VtZW50cy5sZW5ndGgmJihjfHwiYm9vbGVhbiIhPXR5cGVvZiBkKSxnPWN8fChkPT09ITB8fGU9PT0hMD8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihiLGMsZCl7dmFyIGU7cmV0dXJuIG4uaXNXaW5kb3coYik/Yi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYV06OT09PWIubm9kZVR5cGU/KGU9Yi5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoYi5ib2R5WyJzY3JvbGwiK2FdLGVbInNjcm9sbCIrYV0sYi5ib2R5WyJvZmZzZXQiK2FdLGVbIm9mZnNldCIrYV0sZVsiY2xpZW50IithXSkpOnZvaWQgMD09PWQ/bi5jc3MoYixjLGcpOm4uc3R5bGUoYixjLGQsZyl9LGIsZj9kOnZvaWQgMCxmLG51bGwpfX0pfSksbi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhfHwiKioiLGMpfX0pLG4uZm4uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sbi5mbi5hbmRTZWxmPW4uZm4uYWRkQmFjaywiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoImpxdWVyeSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gbn0pO3ZhciBuYz1hLmpRdWVyeSxvYz1hLiQ7cmV0dXJuIG4ubm9Db25mbGljdD1mdW5jdGlvbihiKXtyZXR1cm4gYS4kPT09biYmKGEuJD1vYyksYiYmYS5qUXVlcnk9PT1uJiYoYS5qUXVlcnk9bmMpLG59LGJ8fChhLmpRdWVyeT1hLiQ9biksbn0pOwo="></script>
<script src="data:application/x-javascript;base64,KGZ1bmN0aW9uKCkgewoKLy8gc29tZSBoZWxwZXIgZnVuY3Rpb25zOiB1c2luZyBhIGdsb2JhbCBvYmplY3QgRFRXaWRnZXQgc28gdGhhdCBpdCBjYW4gYmUgdXNlZAovLyBpbiBKUygpIGNvZGUsIGUuZy4gZGF0YXRhYmxlKG9wdGlvbnMgPSBsaXN0KGZvbyA9IEpTKCdjb2RlJykpKTsgdW5saWtlIFIncwovLyBkeW5hbWljIHNjb3BpbmcsIHdoZW4gJ2NvZGUnIGlzIGV2YWwoKSdlZCwgSmF2YVNjcmlwdCBkb2VzIG5vdCBrbm93IG9iamVjdHMKLy8gZnJvbSB0aGUgInBhcmVudCBmcmFtZSIsIGUuZy4gSlMoJ0RUV2lkZ2V0Jykgd2lsbCBub3Qgd29yayB1bmxlc3MgaXQgd2FzIG1hZGUKLy8gYSBnbG9iYWwgb2JqZWN0CnZhciBEVFdpZGdldCA9IHt9OwoKRFRXaWRnZXQuZm9ybWF0Q3VycmVuY3kgPSBmdW5jdGlvbih0aGl6LCByb3csIGRhdGEsIGNvbCwgY3VycmVuY3ksIGRpZ2l0cywgaW50ZXJ2YWwsIG1hcmssIGRlY01hcmssIGJlZm9yZSkgewogIHZhciBkID0gcGFyc2VGbG9hdChkYXRhW2NvbF0pOwogIGlmIChpc05hTihkKSkgcmV0dXJuOwogIC8vIDEyMzQ1NjY2Ni43ODkwIC0+IDEyMyw0NTYsNjY2Ljc4OTAKICB2YXIgbWFya0ludGVydmFsID0gZnVuY3Rpb24oeCwgaW50ZXJ2YWwsIG1hcmspIHsKICAgIGlmICghL14tP1tcZC5dKyQvLnRlc3QoeCkpIHJldHVybiB4OwogICAgdmFyIHh2ID0geC5zcGxpdCgnLicpOwogICAgaWYgKHh2Lmxlbmd0aCA+IDIpIHJldHVybiB4OyAgLy8gc2hvdWxkIGhhdmUgYXQgbW9zdCBvbmUgZGVjaW1hbCBwb2ludAogICAgeHZbMF0gPSB4dlswXS5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcQig/PShcXGR7JyArIGludGVydmFsICsgJ30pKyg/IVxcZCkpJywgJ2cnKSwgbWFyayk7CiAgICByZXR1cm4geHYuam9pbihkZWNNYXJrKTsKICB9OwogIGQgPSBkLnRvRml4ZWQoZGlnaXRzKTsKICB2YXIgcmVzID0gbWFya0ludGVydmFsKGQsIGludGVydmFsLCBtYXJrKTsKICByZXMgPSBiZWZvcmUgPyAoL14tLy50ZXN0KHJlcykgPyAnLScgKyBjdXJyZW5jeSArIHJlcy5yZXBsYWNlKC9eLS8sICcnKSA6IGN1cnJlbmN5ICsgcmVzKSA6CiAgICByZXMgKyBjdXJyZW5jeTsKICAkKHRoaXouYXBpKCkuY2VsbChyb3csIGNvbCkubm9kZSgpKS5odG1sKHJlcyk7Cn07CgpEVFdpZGdldC5mb3JtYXRTdHJpbmcgPSBmdW5jdGlvbih0aGl6LCByb3csIGRhdGEsIGNvbCwgcHJlZml4LCBzdWZmaXgpIHsKICB2YXIgZCA9IGRhdGFbY29sXTsKICBpZiAoZCA9PT0gbnVsbCkgcmV0dXJuOwogICQodGhpei5hcGkoKS5jZWxsKHJvdywgY29sKS5ub2RlKCkpLmh0bWwocHJlZml4ICsgZCArIHN1ZmZpeCk7Cn07CgpEVFdpZGdldC5mb3JtYXRQZXJjZW50YWdlID0gZnVuY3Rpb24odGhpeiwgcm93LCBkYXRhLCBjb2wsIGRpZ2l0cykgewogIHZhciBkID0gcGFyc2VGbG9hdChkYXRhW2NvbF0pOwogIGlmIChpc05hTihkKSkgcmV0dXJuOwogICQodGhpei5hcGkoKS5jZWxsKHJvdywgY29sKS5ub2RlKCkpLmh0bWwoKGQgKiAxMDApLnRvRml4ZWQoZGlnaXRzKSArICclJyk7Cn07CgpEVFdpZGdldC5mb3JtYXRSb3VuZCA9IGZ1bmN0aW9uKHRoaXosIHJvdywgZGF0YSwgY29sLCBkaWdpdHMpIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YVtjb2xdKTsKICBpZiAoaXNOYU4oZCkpIHJldHVybjsKICAkKHRoaXouYXBpKCkuY2VsbChyb3csIGNvbCkubm9kZSgpKS5odG1sKGQudG9GaXhlZChkaWdpdHMpKTsKfTsKCkRUV2lkZ2V0LmZvcm1hdFNpZ25pZiA9IGZ1bmN0aW9uKHRoaXosIHJvdywgZGF0YSwgY29sLCBkaWdpdHMpIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YVtjb2xdKTsKICBpZiAoaXNOYU4oZCkpIHJldHVybjsKICAkKHRoaXouYXBpKCkuY2VsbChyb3csIGNvbCkubm9kZSgpKS5odG1sKGQudG9QcmVjaXNpb24oZGlnaXRzKSk7Cn07CgpEVFdpZGdldC5mb3JtYXREYXRlID0gZnVuY3Rpb24odGhpeiwgcm93LCBkYXRhLCBjb2wsIG1ldGhvZCkgewogIHZhciBkID0gZGF0YVtjb2xdOwogIGlmIChkID09PSBudWxsKSByZXR1cm47CiAgZCA9IG5ldyBEYXRlKGQpOwogICQodGhpei5hcGkoKS5jZWxsKHJvdywgY29sKS5ub2RlKCkpLmh0bWwoZFttZXRob2RdKCkpOwp9OwoKd2luZG93LkRUV2lkZ2V0ID0gRFRXaWRnZXQ7Cgp2YXIgdHJhbnNwb3NlQXJyYXkyRCA9IGZ1bmN0aW9uKGEpIHsKICByZXR1cm4gYS5sZW5ndGggPT09IDAgPyBhIDogSFRNTFdpZGdldHMudHJhbnNwb3NlQXJyYXkyRChhKTsKfTsKCkhUTUxXaWRnZXRzLndpZGdldCh7CiAgbmFtZTogImRhdGF0YWJsZXMiLAogIHR5cGU6ICJvdXRwdXQiLAogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAkKGVsKS5odG1sKCcmbmJzcDsnKTsKICAgIHJldHVybiB7IGRhdGE6IG51bGwgfTsKICB9LAogIHJlbmRlclZhbHVlOiBmdW5jdGlvbihlbCwgZGF0YSwgaW5zdGFuY2UpIHsKICAgIGlmIChlbC5vZmZzZXRXaWR0aCA9PT0gMCB8fCBlbC5vZmZzZXRIZWlnaHQgPT09IDApIHsKICAgICAgaW5zdGFuY2UuZGF0YSA9IGRhdGE7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGluc3RhbmNlLmRhdGEgPSBudWxsOwogICAgdmFyICRlbCA9ICQoZWwpOwogICAgJGVsLmVtcHR5KCk7CgogICAgaWYgKGRhdGEgPT09IG51bGwpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIElmIHdlIGFyZSBpbiBhIGZsZXhkYXNoYm9hcmQgc2Nyb2xsIGxheW91dCB0aGVuIHdlOgogICAgLy8gIChhKSBBbHdheXMgd2FudCB0byB1c2UgcGFnaW5hdGlvbiAob3RoZXJ3aXNlIHdlJ2xsIGhhdmUKICAgIC8vICAgICAgYSAiZG91YmxlIHNjcm9sbCBiYXIiIGVmZmVjdCBvbiB0aGUgcGhvbmUpOyBhbmQKICAgIC8vICAoYikgTmV2ZXIgd2FudCB0byBmaWxsIHRoZSBjb250YWluZXIgKHdlIHdhbnQgdGhlIHBhZ2luYXRpb24KICAgIC8vICAgICAgbGV2ZWwgdG8gZGV0ZXJtaW5lIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIpCiAgICBpZiAod2luZG93LkZsZXhEYXNoYm9hcmQgJiYgIXdpbmRvdy5GbGV4RGFzaGJvYXJkLmlzRmlsbFBhZ2UoKSkgewogICAgICBkYXRhLm9wdGlvbnMuYlBhZ2luYXRlID0gdHJ1ZTsKICAgICAgZGF0YS5maWxsQ29udGFpbmVyID0gZmFsc2U7CiAgICB9CgogICAgLy8gaWYgd2UgYXJlIGluIHRoZSB2aWV3ZXIgdGhlbiB3ZSBhbHdheXMgd2FudCB0byBmaWxsQ29udGFpbmVyIGFuZAogICAgLy8gYW5kIGF1dG9IaWRlTmF2aWdhdGlvbiAodW5sZXNzIHRoZSB1c2VyIGhhcyBleHBsaWNpdGx5IHNldCB0aGVzZSkKICAgIGlmICh3aW5kb3cuSFRNTFdpZGdldHMudmlld2VyTW9kZSkgewogICAgICBpZiAoIWRhdGEuaGFzT3duUHJvcGVydHkoImZpbGxDb250YWluZXIiKSkKICAgICAgICBkYXRhLmZpbGxDb250YWluZXIgPSB0cnVlOwogICAgICBpZiAoIWRhdGEuaGFzT3duUHJvcGVydHkoImF1dG9IaWRlTmF2aWdhdGlvbiIpKQogICAgICAgIGRhdGEuYXV0b0hpZGVOYXZpZ2F0aW9uID0gdHJ1ZTsKICAgIH0KCiAgICAvLyBwcm9wYWdhdGUgZmlsbENvbnRhaW5lciB0byBpbnN0YW5jZSAoc28gd2UgaGF2ZSBpdCBpbiByZXNpemUpCiAgICBpbnN0YW5jZS5maWxsQ29udGFpbmVyID0gZGF0YS5maWxsQ29udGFpbmVyOwoKICAgIHZhciBjZWxscyA9IGRhdGEuZGF0YTsKCiAgICBpZiAoY2VsbHMgaW5zdGFuY2VvZiBBcnJheSkgY2VsbHMgPSB0cmFuc3Bvc2VBcnJheTJEKGNlbGxzKTsKCiAgICAkZWwuYXBwZW5kKGRhdGEuY29udGFpbmVyKTsKICAgIHZhciAkdGFibGUgPSAkZWwuZmluZCgndGFibGUnKTsKICAgIGlmIChkYXRhLmNsYXNzKSAkdGFibGUuYWRkQ2xhc3MoZGF0YS5jbGFzcyk7CiAgICBpZiAoZGF0YS5jYXB0aW9uKSAkdGFibGUucHJlcGVuZChkYXRhLmNhcHRpb24pOwoKICAgIGlmIChIVE1MV2lkZ2V0cy5zaGlueU1vZGUgJiYgZGF0YS5zZWxlY3Rpb24ubW9kZSAhPT0gJ25vbmUnICYmCiAgICAgICAgZGF0YS5zZWxlY3Rpb24udGFyZ2V0ID09PSAncm93K2NvbHVtbicpIHsKICAgICAgaWYgKCR0YWJsZS5jaGlsZHJlbigndGZvb3QnKS5sZW5ndGggPT09IDApIHsKICAgICAgICAkdGFibGUuYXBwZW5kKCQoJzx0Zm9vdD4nKSk7CiAgICAgICAgJHRhYmxlLmZpbmQoJ3RoZWFkIHRyJykuY2xvbmUoKS5hcHBlbmRUbygkdGFibGUuZmluZCgndGZvb3QnKSk7CiAgICAgIH0KICAgIH0KCiAgICAvLyBjb2x1bW4gZmlsdGVycwogICAgdmFyIGZpbHRlclJvdzsKICAgIHN3aXRjaCAoZGF0YS5maWx0ZXIpIHsKICAgICAgY2FzZSAndG9wJzoKICAgICAgICAkdGFibGUuY2hpbGRyZW4oJ3RoZWFkJykuYXBwZW5kKGRhdGEuZmlsdGVySFRNTCk7CiAgICAgICAgZmlsdGVyUm93ID0gJHRhYmxlLmZpbmQoJ3RoZWFkIHRyOmxhc3QgdGQnKTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSAnYm90dG9tJzoKICAgICAgICBpZiAoJHRhYmxlLmNoaWxkcmVuKCd0Zm9vdCcpLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgJHRhYmxlLmFwcGVuZCgkKCc8dGZvb3Q+JykpOwogICAgICAgIH0KICAgICAgICAkdGFibGUuY2hpbGRyZW4oJ3Rmb290JykucHJlcGVuZChkYXRhLmZpbHRlckhUTUwpOwogICAgICAgIGZpbHRlclJvdyA9ICR0YWJsZS5maW5kKCd0Zm9vdCB0cjpmaXJzdCB0ZCcpOwogICAgICAgIGJyZWFrOwogICAgfQoKICAgIHZhciBvcHRpb25zID0geyBzZWFyY2hEZWxheTogMTAwMCB9OwogICAgaWYgKGNlbGxzICE9PSBudWxsKSAkLmV4dGVuZChvcHRpb25zLCB7CiAgICAgIGRhdGE6IGNlbGxzCiAgICB9KTsKCiAgICAvLyBvcHRpb25zIGZvciBmaWxsQ29udGFpbmVyCiAgICB2YXIgYm9vdHN0cmFwQWN0aXZlID0gdHlwZW9mKCQuZm4ucG9wb3ZlcikgIT0gJ3VuZGVmaW5lZCc7CiAgICBpZiAoaW5zdGFuY2UuZmlsbENvbnRhaW5lcikgewoKICAgICAgLy8gZm9yY2Ugc2Nyb2xsWC9zY3JvbGxZIGFuZCB0dXJuIG9mZiBhdXRvV2lkdGgKICAgICAgb3B0aW9ucy5zY3JvbGxYID0gdHJ1ZTsKICAgICAgb3B0aW9ucy5zY3JvbGxZID0gIjEwMHB4IjsgLy8gY2FuIGJlIGFueSB2YWx1ZSwgd2UnbGwgYWRqdXN0IGJlbG93CgogICAgICAvLyBpZiB3ZSBhcmVuJ3QgcGFnaW5hdGluZyB0aGVuIG1vdmUgYXJvdW5kIHRoZSBpbmZvL2ZpbHRlciBjb250cm9scwogICAgICAvLyB0byBzYXZlIHNwYWNlIGF0IHRoZSBib3R0b20gYW5kIHJlcGhyYXNlIHRoZSBpbmZvIGNhbGxiYWNrCiAgICAgIGlmIChkYXRhLm9wdGlvbnMuYlBhZ2luYXRlID09PSBmYWxzZSkgewoKICAgICAgICAvLyB3ZSBrbm93IGhvdyB0byBkbyB0aGlzIGNsZWFubHkgZm9yIGJvb3RzdHJhcCwgbm90IHNvIG11Y2gKICAgICAgICAvLyBmb3Igb3RoZXIgdGhlbWVzL2xheW91dHMKICAgICAgICBpZiAoYm9vdHN0cmFwQWN0aXZlKSB7CiAgICAgICAgICBvcHRpb25zLmRvbSA9ICI8J3Jvdyc8J2NvbC1zbS00J2k+PCdjb2wtc20tOCdmPj4iICsKICAgICAgICAgICAgICAgICAgICAgICAgIjwncm93JzwnY29sLXNtLTEyJ3RyPj4iOwogICAgICAgIH0KCiAgICAgICAgb3B0aW9ucy5mbkluZm9DYWxsYmFjayA9IGZ1bmN0aW9uKG9TZXR0aW5ncywgaVN0YXJ0LCBpRW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaU1heCwgaVRvdGFsLCBzUHJlKSB7CiAgICAgICAgICByZXR1cm4gTnVtYmVyKGlUb3RhbCkudG9Mb2NhbGVTdHJpbmcoKSArICIgcmVjb3JkcyI7CiAgICAgICAgfTsKICAgICAgfQogICAgfQoKICAgIC8vIGF1dG8gaGlkZSBuYXZpZ2F0aW9uIGlmIHJlcXVlc3RlZAogICAgaWYgKGRhdGEuYXV0b0hpZGVOYXZpZ2F0aW9uID09PSB0cnVlKSB7CiAgICAgIGlmIChib290c3RyYXBBY3RpdmUgJiYgZGF0YS5vcHRpb25zLmJQYWdpbmF0ZSAhPT0gZmFsc2UpIHsKICAgICAgICAvLyBzdHJpcCBhbGwgbmF2IGlmIGxlbmd0aCA+PSBjZWxscwogICAgICAgIGlmICgoY2VsbHMgaW5zdGFuY2VvZiBBcnJheSkgJiYgZGF0YS5vcHRpb25zLmlEaXNwbGF5TGVuZ3RoID49IGNlbGxzLmxlbmd0aCkKICAgICAgICAgIG9wdGlvbnMuZG9tID0gIjwncm93JzwnY29sLXNtLTEyJ3RyPj4iOwogICAgICAgIC8vIGFsdGVybmF0aXZlbHkgbGVhbiB0aGluZ3Mgb3V0IGZvciBmbGV4ZGFzaGJvYXJkIG1vYmlsZSBwb3J0cmFpdAogICAgICAgIGVsc2UgaWYgKHdpbmRvdy5GbGV4RGFzaGJvYXJkICYmIHdpbmRvdy5GbGV4RGFzaGJvYXJkLmlzTW9iaWxlUGhvbmUoKSkKICAgICAgICAgIG9wdGlvbnMuZG9tID0gIjwncm93JzwnY29sLXNtLTEyJ2Y+PiIgKwogICAgICAgICAgICAgICAgICAgICAgICAiPCdyb3cnPCdjb2wtc20tMTIndHI+PiIgICsKICAgICAgICAgICAgICAgICAgICAgICAgIjwncm93JzwnY29sLXNtLTEyJ3A+PiI7CiAgICAgIH0KICAgIH0KCiAgICAkLmV4dGVuZCh0cnVlLCBvcHRpb25zLCBkYXRhLm9wdGlvbnMgfHwge30pOwoKICAgIHZhciBzZWFyY2hDb2xzID0gb3B0aW9ucy5zZWFyY2hDb2xzOwogICAgaWYgKHNlYXJjaENvbHMpIHsKICAgICAgc2VhcmNoQ29scyA9IHNlYXJjaENvbHMubWFwKGZ1bmN0aW9uKHgpIHsKICAgICAgICByZXR1cm4geCA9PT0gbnVsbCA/ICcnIDogeC5zZWFyY2g7CiAgICAgIH0pOwogICAgICAvLyBGSVhNRTogdGhpcyBtZWFucyBJIGRvbid0IHJlc3BlY3QgdGhlIGVzY2FwZVJlZ2V4IHNldHRpbmcKICAgICAgZGVsZXRlIG9wdGlvbnMuc2VhcmNoQ29sczsKICAgIH0KCiAgICAvLyBzZXJ2ZXItc2lkZSBwcm9jZXNzaW5nPwogICAgdmFyIHNlcnZlciA9IG9wdGlvbnMuc2VydmVyU2lkZSA9PT0gdHJ1ZTsKCiAgICAvLyB1c2UgdGhlIGRhdGFTcmMgZnVuY3Rpb24gdG8gcHJlLXByb2Nlc3MgSlNPTiBkYXRhIHJldHVybmVkIGZyb20gUgogICAgdmFyIERUX3Jvd3NfYWxsID0gW10sIERUX3Jvd3NfY3VycmVudCA9IFtdOwogICAgaWYgKHNlcnZlciAmJiBIVE1MV2lkZ2V0cy5zaGlueU1vZGUgJiYgdHlwZW9mIG9wdGlvbnMuYWpheCA9PT0gJ29iamVjdCcgJiYKICAgICAgICAvXnNlc3Npb25cL1tcZGEtel0rXC9kYXRhb2JqLy50ZXN0KG9wdGlvbnMuYWpheC51cmwpICYmICFvcHRpb25zLmFqYXguZGF0YVNyYykgewogICAgICBvcHRpb25zLmFqYXguZGF0YVNyYyA9IGZ1bmN0aW9uKGpzb24pIHsKICAgICAgICBEVF9yb3dzX2FsbCA9ICQubWFrZUFycmF5KGpzb24uRFRfcm93c19hbGwpOwogICAgICAgIERUX3Jvd3NfY3VycmVudCA9ICQubWFrZUFycmF5KGpzb24uRFRfcm93c19jdXJyZW50KTsKICAgICAgICByZXR1cm4ganNvbi5kYXRhOwogICAgICB9OwogICAgfQoKICAgIHZhciB0YWJsZSA9ICR0YWJsZS5EYXRhVGFibGUob3B0aW9ucyk7CiAgICAkZWwuZGF0YSgnZGF0YXRhYmxlJywgdGFibGUpOwoKICAgIHZhciBpbkFycmF5ID0gZnVuY3Rpb24odmFsLCBhcnJheSkgewogICAgICByZXR1cm4gJC5pbkFycmF5KHZhbCwgJC5tYWtlQXJyYXkoYXJyYXkpKSA+IC0xOwogICAgfTsKCiAgICAvLyBlbmNvZGUgKyB0byAlMkIgd2hlbiBzZWFyY2hpbmcgaW4gdGhlIHRhYmxlIG9uIHNlcnZlciBzaWRlLCBiZWNhdXNlCiAgICAvLyBzaGlueTo6cGFyc2VRdWVyeVN0cmluZygpIHRyZWF0cyArIGFzIHNwYWNlcywgYW5kIERhdGFUYWJsZXMgZG9lcyBub3QKICAgIC8vIGVuY29kZSArIHRvICUyQiAob3IgJSB0byAlMjUpIHdoZW4gc2VuZGluZyB0aGUgcmVxdWVzdAogICAgdmFyIGVuY29kZV9wbHVzID0gZnVuY3Rpb24oeCkgewogICAgICByZXR1cm4gc2VydmVyID8geC5yZXBsYWNlKC8lL2csICclMjUnKS5yZXBsYWNlKC9cKy9nLCAnJTJCJykgOiB4OwogICAgfTsKCiAgICBpZiAoZGF0YS5maWx0ZXIgIT09ICdub25lJykgewoKICAgICAgZmlsdGVyUm93LmVhY2goZnVuY3Rpb24oaSwgdGQpIHsKCiAgICAgICAgdmFyICR0ZCA9ICQodGQpLCB0eXBlID0gJHRkLmRhdGEoJ3R5cGUnKSwgZmlsdGVyOwogICAgICAgIHZhciAkaW5wdXQgPSAkdGQuY2hpbGRyZW4oJ2RpdicpLmZpcnN0KCkuY2hpbGRyZW4oJ2lucHV0Jyk7CiAgICAgICAgJGlucHV0LnByb3AoJ2Rpc2FibGVkJywgIXRhYmxlLnNldHRpbmdzKClbMF0uYW9Db2x1bW5zW2ldLmJTZWFyY2hhYmxlIHx8IHR5cGUgPT09ICdkaXNhYmxlZCcpOwogICAgICAgICRpbnB1dC5vbignaW5wdXQgYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgJGlucHV0Lm5leHQoJ3NwYW4nKS50b2dnbGUoQm9vbGVhbigkaW5wdXQudmFsKCkpKTsKICAgICAgICB9KTsKICAgICAgICAvLyBCb290c3RyYXAgc2V0cyBwb2ludGVyLWV2ZW50cyB0byBub25lIGFuZCB3ZSB3b24ndCBiZSBhYmxlIHRvIGNsaWNrCiAgICAgICAgLy8gdGhlIGNsZWFyIGJ1dHRvbgogICAgICAgICRpbnB1dC5uZXh0KCdzcGFuJykuY3NzKCdwb2ludGVyLWV2ZW50cycsICdhdXRvJykuaGlkZSgpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgJCh0aGlzKS5oaWRlKCkucHJldignaW5wdXQnKS52YWwoJycpLnRyaWdnZXIoJ2lucHV0JykuZm9jdXMoKTsKICAgICAgICB9KTsKICAgICAgICB2YXIgc2VhcmNoQ29sOyAgLy8gc2VhcmNoIHN0cmluZyBmb3IgdGhpcyBjb2x1bW4KICAgICAgICBpZiAoc2VhcmNoQ29scyAmJiBzZWFyY2hDb2xzW2ldKSB7CiAgICAgICAgICBzZWFyY2hDb2wgPSBzZWFyY2hDb2xzW2ldOwogICAgICAgICAgJGlucHV0LnZhbChzZWFyY2hDb2wpLnRyaWdnZXIoJ2lucHV0Jyk7CiAgICAgICAgfQogICAgICAgIHZhciAkeCA9ICR0ZC5jaGlsZHJlbignZGl2JykubGFzdCgpOwoKICAgICAgICAvLyByZW1vdmUgdGhlIG92ZXJmbG93OiBoaWRkZW4gYXR0cmlidXRlIG9mIHRoZSBzY3JvbGxIZWFkCiAgICAgICAgLy8gKG90aGVyd2lzZSB0aGUgc2Nyb2xsaW5nIHRhYmxlIGJvZHkgb2JzY3VyZXMgdGhlIGZpbHRlcnMpCiAgICAgICAgdmFyIHNjcm9sbEhlYWQgPSAkKGVsKS5maW5kKCcuZGF0YVRhYmxlc19zY3JvbGxIZWFkLC5kYXRhVGFibGVzX3Njcm9sbEZvb3QnKTsKICAgICAgICB2YXIgY3NzT3ZlcmZsb3cgPSBzY3JvbGxIZWFkLmNzcygnb3ZlcmZsb3cnKTsKICAgICAgICBpZiAoY3NzT3ZlcmZsb3cgPT09ICdoaWRkZW4nKSB7CiAgICAgICAgICAkeC5vbignc2hvdyBoaWRlJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBzY3JvbGxIZWFkLmNzcygnb3ZlcmZsb3cnLCBlLnR5cGUgPT09ICdzaG93JyA/ICcnIDogY3NzT3ZlcmZsb3cpOwogICAgICAgICAgfSk7CiAgICAgICAgICAkeC5jc3MoJ3otaW5kZXgnLCAyNSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoaW5BcnJheSh0eXBlLCBbJ2ZhY3RvcicsICdsb2dpY2FsJ10pKSB7CiAgICAgICAgICAkaW5wdXQub24oewogICAgICAgICAgICBjbGljazogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgJGlucHV0LnBhcmVudCgpLmhpZGUoKTsgJHguc2hvdygpLnRyaWdnZXIoJ3Nob3cnKTsgZmlsdGVyWzBdLnNlbGVjdGl6ZS5mb2N1cygpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaWYgKCRpbnB1dC52YWwoKSA9PT0gJycpIGZpbHRlclswXS5zZWxlY3RpemUuc2V0VmFsdWUoW10pOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIHZhciAkaW5wdXQyID0gJHguY2hpbGRyZW4oJ3NlbGVjdCcpOwogICAgICAgICAgZmlsdGVyID0gJGlucHV0Mi5zZWxlY3RpemUoewogICAgICAgICAgICBvcHRpb25zOiAkaW5wdXQyLmRhdGEoJ29wdGlvbnMnKS5tYXAoZnVuY3Rpb24odiwgaSkgewogICAgICAgICAgICAgIHJldHVybiAoe3RleHQ6IHYsIHZhbHVlOiB2fSk7CiAgICAgICAgICAgIH0pLAogICAgICAgICAgICBwbHVnaW5zOiBbJ3JlbW92ZV9idXR0b24nXSwKICAgICAgICAgICAgaGlkZVNlbGVjdGVkOiB0cnVlLAogICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHZhbHVlID0gW107IC8vIGNvbXBhdGliaWxpdHkgd2l0aCBqUXVlcnkgMy4wCiAgICAgICAgICAgICAgJGlucHV0LnZhbCh2YWx1ZS5sZW5ndGggPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiAnJyk7CiAgICAgICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCkgJGlucHV0LnRyaWdnZXIoJ2lucHV0Jyk7CiAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3RpdGxlJywgJGlucHV0LnZhbCgpKTsKICAgICAgICAgICAgICBpZiAoc2VydmVyKSB7CiAgICAgICAgICAgICAgICB0YWJsZS5jb2x1bW4oaSkuc2VhcmNoKHZhbHVlLmxlbmd0aCA/IGVuY29kZV9wbHVzKEpTT04uc3RyaW5naWZ5KHZhbHVlKSkgOiAnJykuZHJhdygpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyB0dXJuIG9mZiBmaWx0ZXIgaWYgbm90aGluZyBzZWxlY3RlZAogICAgICAgICAgICAgICR0ZC5kYXRhKCdmaWx0ZXInLCB2YWx1ZS5sZW5ndGggPiAwKTsKICAgICAgICAgICAgICB0YWJsZS5kcmF3KCk7ICAvLyByZWRyYXcgdGFibGUsIGFuZCBmaWx0ZXJzIHdpbGwgYmUgYXBwbGllZAogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIGlmIChzZWFyY2hDb2wpIGZpbHRlclswXS5zZWxlY3RpemUuc2V0VmFsdWUoSlNPTi5wYXJzZShzZWFyY2hDb2wpKTsKICAgICAgICAgIC8vIGFuIHVnbHkgaGFjayB0byBkZWFsIHdpdGggc2hpbnk6IGZvciBzb21lIHJlYXNvbiwgdGhlIG9uQmx1ciBldmVudAogICAgICAgICAgLy8gb2Ygc2VsZWN0aXplIGRvZXMgbm90IHdvcmsgaW4gc2hpbnkKICAgICAgICAgICR4LmZpbmQoJ2RpdiA+IGRpdi5zZWxlY3RpemUtaW5wdXQgPiBpbnB1dCcpLm9uKCdibHVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICR4LmhpZGUoKS50cmlnZ2VyKCdoaWRlJyk7ICRpbnB1dC5wYXJlbnQoKS5zaG93KCk7ICRpbnB1dC50cmlnZ2VyKCdibHVyJyk7CiAgICAgICAgICB9KTsKICAgICAgICAgIGZpbHRlci5uZXh0KCdkaXYnKS5jc3MoJ21hcmdpbi1ib3R0b20nLCAnYXV0bycpOwogICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2NoYXJhY3RlcicpIHsKICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHJlZ2V4ID0gZmFsc2UsIGNpID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKG9wdGlvbnMuc2VhcmNoKSB7CiAgICAgICAgICAgICAgcmVnZXggPSBvcHRpb25zLnNlYXJjaC5yZWdleCwKICAgICAgICAgICAgICBjaSA9IG9wdGlvbnMuc2VhcmNoLmNhc2VJbnNlbnNpdGl2ZSAhPT0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGFibGUuY29sdW1uKGkpLnNlYXJjaChlbmNvZGVfcGx1cygkaW5wdXQudmFsKCkpLCByZWdleCwgIXJlZ2V4LCBjaSkuZHJhdygpOwogICAgICAgICAgfTsKICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgZnVuID0gJC5mbi5kYXRhVGFibGUudXRpbC50aHJvdHRsZShmdW4sIG9wdGlvbnMuc2VhcmNoRGVsYXkpOwogICAgICAgICAgfQogICAgICAgICAgJGlucHV0Lm9uKCdpbnB1dCcsIGZ1bik7CiAgICAgICAgfSBlbHNlIGlmIChpbkFycmF5KHR5cGUsIFsnbnVtYmVyJywgJ2ludGVnZXInLCAnZGF0ZScsICd0aW1lJ10pKSB7CiAgICAgICAgICB2YXIgJHgwID0gJHg7CiAgICAgICAgICAkeCA9ICR4MC5jaGlsZHJlbignZGl2JykuZmlyc3QoKTsKICAgICAgICAgICR4MC5jc3MoewogICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZmZmJywKICAgICAgICAgICAgJ2JvcmRlcic6ICcxcHggI2RkZCBzb2xpZCcsCiAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsCiAgICAgICAgICAgICdwYWRkaW5nJzogJzIwcHggMjBweCAxMHB4IDIwcHgnCiAgICAgICAgICB9KTsKICAgICAgICAgIHZhciAkc3BhbnMgPSAkeDAuY2hpbGRyZW4oJ3NwYW4nKS5jc3MoewogICAgICAgICAgICAnbWFyZ2luLXRvcCc6ICcxMHB4JywKICAgICAgICAgICAgJ3doaXRlLXNwYWNlJzogJ25vd3JhcCcKICAgICAgICAgIH0pOwogICAgICAgICAgdmFyICRzcGFuMSA9ICRzcGFucy5maXJzdCgpLCAkc3BhbjIgPSAkc3BhbnMubGFzdCgpOwogICAgICAgICAgdmFyIHIxID0gKyR4LmRhdGEoJ21pbicpLCByMiA9ICskeC5kYXRhKCdtYXgnKTsKICAgICAgICAgIC8vIHdoZW4gdGhlIG51bWJlcnMgYXJlIHRvbyBzbWFsbCBvciBoYXZlIG1hbnkgZGVjaW1hbCBwbGFjZXMsIHRoZQogICAgICAgICAgLy8gc2xpZGVyIG1heSBoYXZlIG51bWVyaWMgcHJlY2lzaW9uIHByb2JsZW1zICgjMTUwKQogICAgICAgICAgdmFyIHNjYWxlID0gTWF0aC5wb3coMTAsIE1hdGgubWF4KDAsICskeC5kYXRhKCdzY2FsZScpIHx8IDApKTsKICAgICAgICAgIHIxID0gTWF0aC5yb3VuZChyMSAqIHNjYWxlKTsgcjIgPSBNYXRoLnJvdW5kKHIyICogc2NhbGUpOwogICAgICAgICAgdmFyIHNjYWxlQmFjayA9IGZ1bmN0aW9uKHgsIHNjYWxlKSB7CiAgICAgICAgICAgIGlmIChzY2FsZSA9PT0gMSkgcmV0dXJuIHg7CiAgICAgICAgICAgIHZhciBkID0gTWF0aC5yb3VuZChNYXRoLmxvZyhzY2FsZSkgLyBNYXRoLmxvZygxMCkpOwogICAgICAgICAgICAvLyB0byBhdm9pZCBwcm9ibGVtcyBsaWtlIDMuNDIzLzEwMCAtPiAwLjAzNDIzMDAwMDAwMDAwMDAwMwogICAgICAgICAgICByZXR1cm4gKHggLyBzY2FsZSkudG9GaXhlZChkKTsKICAgICAgICAgIH07CiAgICAgICAgICAkaW5wdXQub24oewogICAgICAgICAgICBmb2N1czogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgJHgwLnNob3coKS50cmlnZ2VyKCdzaG93Jyk7CiAgICAgICAgICAgICAgLy8gZmlyc3QsIG1ha2Ugc3VyZSB0aGUgc2xpZGVyIGRpdiBsZWF2ZXMgYXQgbGVhc3QgMjBweCBiZXR3ZWVuCiAgICAgICAgICAgICAgLy8gdGhlIHR3byAoc2xpZGVyIHZhbHVlKSBzcGFuJ3MKICAgICAgICAgICAgICAkeDAud2lkdGgoTWF0aC5tYXgoMTYwLCAkc3BhbjEub3V0ZXJXaWR0aCgpICsgJHNwYW4yLm91dGVyV2lkdGgoKSArIDIwKSk7CiAgICAgICAgICAgICAgLy8gdGhlbiwgaWYgdGhlIGlucHV0IGlzIHJlYWxseSB3aWRlLCBtYWtlIHRoZSBzbGlkZXIgdGhlIHNhbWUKICAgICAgICAgICAgICAvLyB3aWR0aCBhcyB0aGUgaW5wdXQKICAgICAgICAgICAgICBpZiAoJHgwLm91dGVyV2lkdGgoKSA8ICRpbnB1dC5vdXRlcldpZHRoKCkpIHsKICAgICAgICAgICAgICAgICR4MC5vdXRlcldpZHRoKCRpbnB1dC5vdXRlcldpZHRoKCkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhlIHNsaWRlciBkaXYgZG9lcyBub3QgcmVhY2ggYmV5b25kIHRoZSByaWdodCBtYXJnaW4KICAgICAgICAgICAgICBpZiAoJCh3aW5kb3cpLndpZHRoKCkgPCAkeDAub2Zmc2V0KCkubGVmdCArICR4MC53aWR0aCgpKSB7CiAgICAgICAgICAgICAgICAkeDAub2Zmc2V0KHsKICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAkaW5wdXQub2Zmc2V0KCkubGVmdCArICRpbnB1dC5vdXRlcldpZHRoKCkgLSAkeDAub3V0ZXJXaWR0aCgpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGJsdXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICR4MC5oaWRlKCkudHJpZ2dlcignaGlkZScpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaWYgKCRpbnB1dC52YWwoKSA9PT0gJycpIGZpbHRlci52YWwoW3IxLCByMl0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjaGFuZ2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciB2ID0gJGlucHV0LnZhbCgpLnJlcGxhY2UoL1xzL2csICcnKTsKICAgICAgICAgICAgICBpZiAodiA9PT0gJycpIHJldHVybjsKICAgICAgICAgICAgICB2ID0gdi5zcGxpdCgnLi4uJyk7CiAgICAgICAgICAgICAgaWYgKHYubGVuZ3RoICE9PSAyKSB7CiAgICAgICAgICAgICAgICAkaW5wdXQucGFyZW50KCkuYWRkQ2xhc3MoJ2hhcy1lcnJvcicpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAodlswXSA9PT0gJycpIHZbMF0gPSByMTsKICAgICAgICAgICAgICBpZiAodlsxXSA9PT0gJycpIHZbMV0gPSByMjsKICAgICAgICAgICAgICAkaW5wdXQucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ2hhcy1lcnJvcicpOwogICAgICAgICAgICAgIC8vIHRyZWF0IGRhdGUgYXMgVVRDIHRpbWUgYXQgbWlkbmlnaHQKICAgICAgICAgICAgICB2YXIgc3RyVGltZSA9IGZ1bmN0aW9uKHgpIHsKICAgICAgICAgICAgICAgIHZhciBzID0gdHlwZSA9PT0gJ2RhdGUnID8gJ1QwMDowMDowMFonIDogJyc7CiAgICAgICAgICAgICAgICB2YXIgdCA9IG5ldyBEYXRlKHggKyBzKS5nZXRUaW1lKCk7CiAgICAgICAgICAgICAgICAvLyBhZGQgMTAgbWludXRlcyB0byBkYXRlIHNpbmNlIGl0IGRvZXMgbm90IGh1cnQgdGhlIGRhdGUsIGFuZAogICAgICAgICAgICAgICAgLy8gaXQgaGVscHMgYXZvaWQgdGhlIHRyaWNreSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIHByb2JsZW1zLAogICAgICAgICAgICAgICAgLy8gZS5nLiBzb21ldGltZXMgdGhlIGRhdGUgbWF5IGJlIGEgZmV3IG1pbGxpc2Vjb25kcyBlYXJsaWVyCiAgICAgICAgICAgICAgICAvLyB0aGFuIHRoZSBtaWRuaWdodCBkdWUgdG8gcHJlY2lzaW9uIHByb2JsZW1zIGluIG5vVWlTbGlkZXIKICAgICAgICAgICAgICAgIHJldHVybiB0eXBlID09PSAnZGF0ZScgPyB0ICsgMzYwMDAwMCA6IHQ7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBpZiAoaW5BcnJheSh0eXBlLCBbJ2RhdGUnLCAndGltZSddKSkgewogICAgICAgICAgICAgICAgdlswXSA9IHN0clRpbWUodlswXSk7CiAgICAgICAgICAgICAgICB2WzFdID0gc3RyVGltZSh2WzFdKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKHZbMF0gIT0gcjEpIHZbMF0gKj0gc2NhbGU7CiAgICAgICAgICAgICAgaWYgKHZbMV0gIT0gcjIpIHZbMV0gKj0gc2NhbGU7CiAgICAgICAgICAgICAgZmlsdGVyLnZhbCh2KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgICB2YXIgZm9ybWF0RGF0ZSA9IGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgZCA9IHNjYWxlQmFjayhkLCBzY2FsZSk7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykgcmV0dXJuIGQ7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnaW50ZWdlcicpIHJldHVybiBwYXJzZUludChkKTsKICAgICAgICAgICAgdmFyIHggPSBuZXcgRGF0ZSgrZCk7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnZGF0ZScpIHsKICAgICAgICAgICAgICB2YXIgcGFkMCA9IGZ1bmN0aW9uKHgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAoJzAnICsgeCkuc3Vic3RyKC0yLCAyKTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIHJldHVybiB4LmdldFVUQ0Z1bGxZZWFyKCkgKyAnLScgKyBwYWQwKDEgKyB4LmdldFVUQ01vbnRoKCkpCiAgICAgICAgICAgICAgICAgICAgICArICctJyArIHBhZDAoeC5nZXRVVENEYXRlKCkpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHJldHVybiB4LnRvSVNPU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICB2YXIgb3B0cyA9IHR5cGUgPT09ICdkYXRlJyA/IHsgc3RlcDogNjAgKiA2MCAqIDEwMDAgfSA6CiAgICAgICAgICAgICAgICAgICAgIHR5cGUgPT09ICdpbnRlZ2VyJyA/IHsgc3RlcDogMSB9IDoge307CiAgICAgICAgICBmaWx0ZXIgPSAkeC5ub1VpU2xpZGVyKCQuZXh0ZW5kKHsKICAgICAgICAgICAgc3RhcnQ6IFtyMSwgcjJdLAogICAgICAgICAgICByYW5nZToge21pbjogcjEsIG1heDogcjJ9LAogICAgICAgICAgICBjb25uZWN0OiB0cnVlCiAgICAgICAgICB9LCBvcHRzKSk7CiAgICAgICAgICBpZiAoc2NhbGUgPiAxKSAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0MSA9IHIxLCB0MiA9IHIyOwogICAgICAgICAgICB2YXIgdmFsID0gZmlsdGVyLnZhbCgpOwogICAgICAgICAgICB3aGlsZSAodmFsWzBdID4gcjEgfHwgdmFsWzFdIDwgcjIpIHsKICAgICAgICAgICAgICBpZiAodmFsWzBdID4gcjEpIHsKICAgICAgICAgICAgICAgIHQxIC09IHZhbFswXSAtIHIxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAodmFsWzFdIDwgcjIpIHsKICAgICAgICAgICAgICAgIHQyICs9IHIyIC0gdmFsWzFdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBmaWx0ZXIgPSAkeC5ub1VpU2xpZGVyKCQuZXh0ZW5kKHsKICAgICAgICAgICAgICAgIHN0YXJ0OiBbdDEsIHQyXSwKICAgICAgICAgICAgICAgIHJhbmdlOiB7bWluOiB0MSwgbWF4OiB0Mn0sCiAgICAgICAgICAgICAgICBjb25uZWN0OiB0cnVlCiAgICAgICAgICAgICAgfSwgb3B0cyksIHRydWUpOwogICAgICAgICAgICAgIHZhbCA9IGZpbHRlci52YWwoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByMSAgPSB0MTsgcjIgPSB0MjsKICAgICAgICAgIH0pKCk7CiAgICAgICAgICAkc3BhbjEudGV4dChmb3JtYXREYXRlKHIxKSk7ICRzcGFuMi50ZXh0KGZvcm1hdERhdGUocjIpKTsKICAgICAgICAgIHZhciB1cGRhdGVTbGlkZXIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB2YWwgPSBmaWx0ZXIudmFsKCk7CiAgICAgICAgICAgIC8vIHR1cm4gb2ZmIGZpbHRlciBpZiBpbiBmdWxsIHJhbmdlCiAgICAgICAgICAgICR0ZC5kYXRhKCdmaWx0ZXInLCB2YWxbMF0gPiByMSB8fCB2YWxbMV0gPCByMik7CiAgICAgICAgICAgIHZhciB2MSA9IGZvcm1hdERhdGUodmFsWzBdKSwgdjIgPSBmb3JtYXREYXRlKHZhbFsxXSksIGl2YWw7CiAgICAgICAgICAgIGlmICgkdGQuZGF0YSgnZmlsdGVyJykpIHsKICAgICAgICAgICAgICBpdmFsID0gdjEgKyAnIC4uLiAnICsgdjI7CiAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3RpdGxlJywgaXZhbCkudmFsKGl2YWwpLnRyaWdnZXIoJ2lucHV0Jyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3RpdGxlJywgJycpLnZhbCgnJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHNwYW4xLnRleHQodjEpOyAkc3BhbjIudGV4dCh2Mik7CiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdzbGlkZScpIHJldHVybjsgIC8vIG5vIHNlYXJjaGluZyB3aGVuIHNsaWRpbmcgb25seQogICAgICAgICAgICBpZiAoc2VydmVyKSB7CiAgICAgICAgICAgICAgdGFibGUuY29sdW1uKGkpLnNlYXJjaCgkdGQuZGF0YSgnZmlsdGVyJykgPyBpdmFsIDogJycpLmRyYXcoKTsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGFibGUuZHJhdygpOwogICAgICAgICAgfTsKICAgICAgICAgIGZpbHRlci5vbih7CiAgICAgICAgICAgIHNldDogdXBkYXRlU2xpZGVyLAogICAgICAgICAgICBzbGlkZTogdXBkYXRlU2xpZGVyCiAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIC8vIHNlcnZlci1zaWRlIHByb2Nlc3Npbmcgd2lsbCBiZSBoYW5kbGVkIGJ5IFIgKG9yIHdoYXRldmVyIHNlcnZlcgogICAgICAgIC8vIGxhbmd1YWdlIHlvdSB1c2UpOyB0aGUgZm9sbG93aW5nIGNvZGUgaXMgb25seSBuZWVkZWQgZm9yIGNsaWVudC1zaWRlCiAgICAgICAgLy8gcHJvY2Vzc2luZwogICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgIC8vIGlmIGEgc2VhcmNoIHN0cmluZyBoYXMgYmVlbiBwcmUtc2V0LCBzZWFyY2ggbm93CiAgICAgICAgICBpZiAoc2VhcmNoQ29sKSB0YWJsZS5jb2x1bW4oaSkuc2VhcmNoKGVuY29kZV9wbHVzKHNlYXJjaENvbCkpLmRyYXcoKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHZhciBjdXN0b21GaWx0ZXIgPSBmdW5jdGlvbihzZXR0aW5ncywgZGF0YSwgZGF0YUluZGV4KSB7CiAgICAgICAgICAvLyB0aGVyZSBpcyBubyB3YXkgdG8gYXR0YWNoIGEgc2VhcmNoIGZ1bmN0aW9uIHRvIGEgc3BlY2lmaWMgdGFibGUsCiAgICAgICAgICAvLyBhbmQgd2UgbmVlZCB0byBtYWtlIHN1cmUgYSBnbG9iYWwgc2VhcmNoIGZ1bmN0aW9uIGlzIG5vdCBhcHBsaWVkIHRvCiAgICAgICAgICAvLyBhbGwgdGFibGVzIChpLmUuIGEgcmFuZ2UgZmlsdGVyIGluIGEgcHJldmlvdXMgdGFibGUgc2hvdWxkIG5vdCBiZQogICAgICAgICAgLy8gYXBwbGllZCB0byB0aGUgY3VycmVudCB0YWJsZSk7IHdlIHVzZSB0aGUgc2V0dGluZ3Mgb2JqZWN0IHRvCiAgICAgICAgICAvLyBkZXRlcm1pbmUgaWYgd2Ugd2FudCB0byBwZXJmb3JtIHNlYXJjaGluZyBvbiB0aGUgY3VycmVudCB0YWJsZSwKICAgICAgICAgIC8vIHNpbmNlIHNldHRpbmdzLnNUYWJsZUlkIHdpbGwgYmUgZGlmZmVyZW50IHRvIGRpZmZlcmVudCB0YWJsZXMKICAgICAgICAgIGlmICh0YWJsZS5zZXR0aW5ncygpWzBdICE9PSBzZXR0aW5ncykgcmV0dXJuIHRydWU7CiAgICAgICAgICAvLyBubyBmaWx0ZXIgb24gdGhpcyBjb2x1bW4gb3Igbm8gbmVlZCB0byBmaWx0ZXIgdGhpcyBjb2x1bW4KICAgICAgICAgIGlmICh0eXBlb2YgZmlsdGVyID09PSAndW5kZWZpbmVkJyB8fCAhJHRkLmRhdGEoJ2ZpbHRlcicpKSByZXR1cm4gdHJ1ZTsKCiAgICAgICAgICB2YXIgciA9IGZpbHRlci52YWwoKSwgdiwgcjAsIHIxOwogICAgICAgICAgaWYgKHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdpbnRlZ2VyJykgewogICAgICAgICAgICB2ID0gcGFyc2VGbG9hdChkYXRhW2ldKTsKICAgICAgICAgICAgLy8gaG93IHRvIGhhbmRsZSBOYU4/IGN1cnJlbnRseSBleGNsdWRlIHRoZXNlIHJvd3MKICAgICAgICAgICAgaWYgKGlzTmFOKHYpKSByZXR1cm4oZmFsc2UpOwogICAgICAgICAgICByMCA9IHBhcnNlRmxvYXQoc2NhbGVCYWNrKHJbMF0sIHNjYWxlKSkKICAgICAgICAgICAgcjEgPSBwYXJzZUZsb2F0KHNjYWxlQmFjayhyWzFdLCBzY2FsZSkpOwogICAgICAgICAgICBpZiAodiA+PSByMCAmJiB2IDw9IHIxKSByZXR1cm4gdHJ1ZTsKICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnIHx8IHR5cGUgPT09ICd0aW1lJykgewogICAgICAgICAgICB2ID0gbmV3IERhdGUoZGF0YVtpXSk7CiAgICAgICAgICAgIHIwID0gbmV3IERhdGUoclswXSAvIHNjYWxlKTsgcjEgPSBuZXcgRGF0ZShyWzFdIC8gc2NhbGUpOwogICAgICAgICAgICBpZiAodiA+PSByMCAmJiB2IDw9IHIxKSByZXR1cm4gdHJ1ZTsKICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2ZhY3RvcicpIHsKICAgICAgICAgICAgaWYgKHIubGVuZ3RoID09PSAwIHx8IGluQXJyYXkoZGF0YVtpXSwgcikpIHJldHVybiB0cnVlOwogICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnbG9naWNhbCcpIHsKICAgICAgICAgICAgaWYgKHIubGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgaWYgKGluQXJyYXkoZGF0YVtpXSA9PT0gJycgPyAnbmEnIDogZGF0YVtpXSwgcikpIHJldHVybiB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH07CgogICAgICAgICQuZm4uZGF0YVRhYmxlLmV4dC5zZWFyY2gucHVzaChjdXN0b21GaWx0ZXIpOwoKICAgICAgICAvLyBzZWFyY2ggZm9yIHRoZSBwcmVzZXQgc2VhcmNoIHN0cmluZ3MgaWYgaXQgaXMgbm9uLWVtcHR5CiAgICAgICAgaWYgKHNlYXJjaENvbCkgewogICAgICAgICAgaWYgKGluQXJyYXkodHlwZSwgWydmYWN0b3InLCAnbG9naWNhbCddKSkgewogICAgICAgICAgICBmaWx0ZXJbMF0uc2VsZWN0aXplLnNldFZhbHVlKEpTT04ucGFyc2Uoc2VhcmNoQ29sKSk7CiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdjaGFyYWN0ZXInKSB7CiAgICAgICAgICAgICRpbnB1dC50cmlnZ2VyKCdpbnB1dCcpOwogICAgICAgICAgfSBlbHNlIGlmIChpbkFycmF5KHR5cGUsIFsnbnVtYmVyJywgJ2ludGVnZXInLCAnZGF0ZScsICd0aW1lJ10pKSB7CiAgICAgICAgICAgICRpbnB1dC50cmlnZ2VyKCdjaGFuZ2UnKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICB9KTsKCiAgICB9CgogICAgLy8gaGlnaGxpZ2h0IHNlYXJjaCBrZXl3b3JkcwogICAgdmFyIGhpZ2hsaWdodCA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgYm9keSA9ICQodGFibGUudGFibGUoKS5ib2R5KCkpOwogICAgICAvLyByZW1vdmluZyB0aGUgb2xkIGhpZ2hsaWdodGluZyBmaXJzdAogICAgICBib2R5LnVuaGlnaGxpZ2h0KCk7CgogICAgICAvLyBkb24ndCBoaWdobGlnaHQgdGhlICJub3QgZm91bmQiIHJvdywgc28gd2UgZ2V0IHRoZSByb3dzIHVzaW5nIHRoZSBhcGkKICAgICAgaWYgKHRhYmxlLnJvd3MoeyBmaWx0ZXI6ICdhcHBsaWVkJyB9KS5kYXRhKCkubGVuZ3RoID09PSAwKSByZXR1cm47CiAgICAgIC8vIGhpZ2hsaWdodCBnbG9hbCBzZWFyY2gga2V5d29yZHMKICAgICAgYm9keS5oaWdobGlnaHQoJC50cmltKHRhYmxlLnNlYXJjaCgpKS5zcGxpdCgvXHMrLykpOwogICAgICAvLyB0aGVuIGhpZ2hsaWdodCBrZXl3b3JkcyBmcm9tIGluZGl2aWR1YWwgY29sdW1uIGZpbHRlcnMKICAgICAgaWYgKGZpbHRlclJvdykgZmlsdGVyUm93LmVhY2goZnVuY3Rpb24oaSwgdGQpIHsKICAgICAgICB2YXIgJHRkID0gJCh0ZCksIHR5cGUgPSAkdGQuZGF0YSgndHlwZScpOwogICAgICAgIGlmICh0eXBlICE9PSAnY2hhcmFjdGVyJykgcmV0dXJuOwogICAgICAgIHZhciAkaW5wdXQgPSAkdGQuY2hpbGRyZW4oJ2RpdicpLmZpcnN0KCkuY2hpbGRyZW4oJ2lucHV0Jyk7CiAgICAgICAgdmFyIGNvbHVtbiA9IHRhYmxlLmNvbHVtbihpKS5ub2RlcygpLnRvJCgpLAogICAgICAgICAgICB2YWwgPSAkLnRyaW0oJGlucHV0LnZhbCgpKTsKICAgICAgICBpZiAodHlwZSAhPT0gJ2NoYXJhY3RlcicgfHwgdmFsID09PSAnJykgcmV0dXJuOwogICAgICAgIGNvbHVtbi5oaWdobGlnaHQodmFsLnNwbGl0KC9ccysvKSk7CiAgICAgIH0pOwogICAgfTsKCiAgICBpZiAob3B0aW9ucy5zZWFyY2hIaWdobGlnaHQpIHsKICAgICAgdGFibGUKICAgICAgLm9uKCdkcmF3LmR0LmR0aCBjb2x1bW4tdmlzaWJpbGl0eS5kdC5kdGggY29sdW1uLXJlb3JkZXIuZHQuZHRoJywgaGlnaGxpZ2h0KQogICAgICAub24oJ2Rlc3Ryb3knLCBmdW5jdGlvbigpIHsKICAgICAgICAvLyByZW1vdmUgZXZlbnQgaGFuZGxlcgogICAgICAgIHRhYmxlLm9mZiggJ2RyYXcuZHQuZHRoIGNvbHVtbi12aXNpYmlsaXR5LmR0LmR0aCBjb2x1bW4tcmVvcmRlci5kdC5kdGgnICk7CiAgICAgIH0pOwoKICAgICAgLy8gaW5pdGlhbCBoaWdobGlnaHQgZm9yIHN0YXRlIHNhdmVkIGNvbmRpdGlvbnMgYW5kIGluaXRpYWwgc3RhdGVzCiAgICAgIGhpZ2hsaWdodCgpOwogICAgfQoKICAgIC8vIHJ1biB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gb24gdGhlIHRhYmxlIGluc3RhbmNlCiAgICBpZiAodHlwZW9mIGRhdGEuY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIGRhdGEuY2FsbGJhY2sodGFibGUpOwogICAgdGhpcy5hZGp1c3RXaWR0aChlbCk7CgogICAgIC8vIGZpbGxDb250YWluZXIgPSBUUlVFIGJlaGF2aW9yCiAgICBpZiAoaW5zdGFuY2UuZmlsbENvbnRhaW5lcikgewoKICAgICAgLy8gd2UgbmVlZCB0byB3YWl0IGp1c3QgYSBiaXQgdG8gZG8gdGhpcyBzbyBEVCBjYW4gY29tcGxldGVseQogICAgICAvLyBmaW5pc2ggbGF5aW5nIGl0c2VsZiBvdXQKICAgICAgdmFyIHRoaXogPSB0aGlzOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoKICAgICAgICAvLyBjYWxjdWxhdGUgY29ycmVjdCBoZWlnaHQKICAgICAgICB0aGl6LmZpbGxBdmFpbGFibGVIZWlnaHQoZWwsICQoZWwpLmlubmVySGVpZ2h0KCkpOwoKICAgICAgICAvLyB3ZSBuZWVkIHRvIGZvcmNlIERUIHRvIHJlY2FsY3VsYXRlIGNvbHVtbiB3aWR0aHMKICAgICAgICAvLyAob3RoZXJ3aXNlIGFsbCB0aGUgY29sdW1ucyBhcmUgdGhlIHNhbWUgc2l6ZSkKICAgICAgICB0YWJsZS5jb2x1bW5zLmFkanVzdCgpOwogICAgICB9LCAyMDApOwogICAgfQoKICAgIC8vIGludGVyYWN0aW9uIHdpdGggc2hpbnkKICAgIGlmICghSFRNTFdpZGdldHMuc2hpbnlNb2RlKSByZXR1cm47CgogICAgdmFyIG1ldGhvZHMgPSB7fTsKICAgIHZhciBzaGlueURhdGEgPSB7fTsKCiAgICBtZXRob2RzLnVwZGF0ZUNhcHRpb24gPSBmdW5jdGlvbihjYXB0aW9uKSB7CiAgICAgIGlmICghY2FwdGlvbikgcmV0dXJuOwogICAgICAkdGFibGUuY2hpbGRyZW4oJ2NhcHRpb24nKS5yZXBsYWNlV2l0aChjYXB0aW9uKTsKICAgIH0KCiAgICB2YXIgY2hhbmdlSW5wdXQgPSBmdW5jdGlvbihpZCwgZGF0YSwgdHlwZSkgewogICAgICBpZCA9IGVsLmlkICsgJ18nICsgaWQ7CiAgICAgIGlmICh0eXBlKSBpZCA9IGlkICsgJzonICsgdHlwZTsKICAgICAgLy8gZG8gbm90IHVwZGF0ZSBpZiB0aGUgbmV3IGRhdGEgaXMgdGhlIHNhbWUgYXMgb2xkIGRhdGEKICAgICAgaWYgKHNoaW55RGF0YS5oYXNPd25Qcm9wZXJ0eShpZCkgJiYgc2hpbnlEYXRhW2lkXSA9PT0gSlNPTi5zdHJpbmdpZnkoZGF0YSkpCiAgICAgICAgcmV0dXJuOwogICAgICBzaGlueURhdGFbaWRdID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7CiAgICAgIFNoaW55Lm9uSW5wdXRDaGFuZ2UoaWQsIGRhdGEpOwogICAgfTsKCiAgICB2YXIgYWRkT25lID0gZnVuY3Rpb24oeCkgewogICAgICByZXR1cm4geC5tYXAoZnVuY3Rpb24oaSkgeyByZXR1cm4gMSArIGk7IH0pOwogICAgfTsKCiAgICB2YXIgdW5pcXVlID0gZnVuY3Rpb24oeCkgewogICAgICB2YXIgdXggPSBbXTsKICAgICAgJC5lYWNoKHgsIGZ1bmN0aW9uKGksIGVsKXsKICAgICAgICBpZiAoJC5pbkFycmF5KGVsLCB1eCkgPT09IC0xKSB1eC5wdXNoKGVsKTsKICAgICAgfSk7CiAgICAgIHJldHVybiB1eDsKICAgIH0KCiAgICAvLyBjaGFuZ2UgdGhlIHJvdyBpbmRleCBvZiBhIGNlbGwKICAgIHZhciB0d2Vha0NlbGxJbmRleCA9IGZ1bmN0aW9uKGNlbGwpIHsKICAgICAgdmFyIGluZm8gPSBjZWxsLmluZGV4KCk7CiAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICBpbmZvLnJvdyA9IERUX3Jvd3NfY3VycmVudFtpbmZvLnJvd107CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaW5mby5yb3cgKz0gMTsKICAgICAgfQogICAgICByZXR1cm4ge3JvdzogaW5mby5yb3csIGNvbDogaW5mby5jb2x1bW59OwogICAgfQoKICAgIHZhciBzZWxNb2RlID0gZGF0YS5zZWxlY3Rpb24ubW9kZSwgc2VsVGFyZ2V0ID0gZGF0YS5zZWxlY3Rpb24udGFyZ2V0OwogICAgaWYgKGluQXJyYXkoc2VsTW9kZSwgWydzaW5nbGUnLCAnbXVsdGlwbGUnXSkpIHsKICAgICAgdmFyIHNlbENsYXNzID0gZGF0YS5zdHlsZSA9PT0gJ2Jvb3RzdHJhcCcgPyAnYWN0aXZlJyA6ICdzZWxlY3RlZCc7CiAgICAgIHZhciBzZWxlY3RlZCA9IGRhdGEuc2VsZWN0aW9uLnNlbGVjdGVkLCBzZWxlY3RlZDEsIHNlbGVjdGVkMjsKICAgICAgaWYgKHNlbGVjdGVkID09PSBudWxsKSB7CiAgICAgICAgc2VsZWN0ZWQxID0gc2VsZWN0ZWQyID0gW107CiAgICAgIH0gZWxzZSBpZiAoc2VsVGFyZ2V0ID09PSAncm93JykgewogICAgICAgIHNlbGVjdGVkMSA9ICQubWFrZUFycmF5KHNlbGVjdGVkKTsKICAgICAgfSBlbHNlIGlmIChzZWxUYXJnZXQgPT09ICdjb2x1bW4nKSB7CiAgICAgICAgc2VsZWN0ZWQyID0gJC5tYWtlQXJyYXkoc2VsZWN0ZWQpOwogICAgICB9IGVsc2UgaWYgKHNlbFRhcmdldCA9PT0gJ3Jvdytjb2x1bW4nKSB7CiAgICAgICAgc2VsZWN0ZWQxID0gJC5tYWtlQXJyYXkoc2VsZWN0ZWQucm93cyk7CiAgICAgICAgc2VsZWN0ZWQyID0gJC5tYWtlQXJyYXkoc2VsZWN0ZWQuY29scyk7CiAgICAgIH0KICAgICAgLy8gcm93LCBjb2x1bW4sIG9yIGNlbGwgc2VsZWN0aW9uCiAgICAgIGlmIChpbkFycmF5KHNlbFRhcmdldCwgWydyb3cnLCAncm93K2NvbHVtbiddKSkgewogICAgICAgIHZhciBzZWxlY3RlZFJvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciByb3dzID0gdGFibGUucm93cygnLicgKyBzZWxDbGFzcywge3NlYXJjaDogJ2FwcGxpZWQnfSk7CiAgICAgICAgICB2YXIgaWR4ID0gcm93cy5pbmRleGVzKCkudG9BcnJheSgpOwogICAgICAgICAgaWYgKCFzZXJ2ZXIpIHJldHVybiBhZGRPbmUoaWR4KTsKICAgICAgICAgIGlkeCA9IGlkeC5tYXAoZnVuY3Rpb24oaSkgewogICAgICAgICAgICByZXR1cm4gRFRfcm93c19jdXJyZW50W2ldOwogICAgICAgICAgfSk7CiAgICAgICAgICBzZWxlY3RlZDEgPSBzZWxNb2RlID09PSAnbXVsdGlwbGUnID8gdW5pcXVlKHNlbGVjdGVkMS5jb25jYXQoaWR4KSkgOiBpZHg7CiAgICAgICAgICByZXR1cm4gc2VsZWN0ZWQxOwogICAgICAgIH0KICAgICAgICB0YWJsZS5vbignY2xpY2suZHQnLCAndGJvZHkgdHInLCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksIHRoaXNSb3cgPSB0YWJsZS5yb3codGhpcyk7CiAgICAgICAgICBpZiAoc2VsTW9kZSA9PT0gJ211bHRpcGxlJykgewogICAgICAgICAgICAkdGhpcy50b2dnbGVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoJHRoaXMuaGFzQ2xhc3Moc2VsQ2xhc3MpKSB7CiAgICAgICAgICAgICAgJHRoaXMucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHRhYmxlLiQoJ3RyLicgKyBzZWxDbGFzcykucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICAgICR0aGlzLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKHNlcnZlciAmJiAhJHRoaXMuaGFzQ2xhc3Moc2VsQ2xhc3MpKSB7CiAgICAgICAgICAgIHZhciBpZCA9IERUX3Jvd3NfY3VycmVudFt0aGlzUm93LmluZGV4KCldOwogICAgICAgICAgICAvLyByZW1vdmUgaWQgZnJvbSBzZWxlY3RlZDEgc2luY2UgaXRzIGNsYXNzIC5zZWxlY3RlZCBoYXMgYmVlbiByZW1vdmVkCiAgICAgICAgICAgIHNlbGVjdGVkMS5zcGxpY2UoJC5pbkFycmF5KGlkLCBzZWxlY3RlZDEpLCAxKTsKICAgICAgICAgIH0KICAgICAgICAgIGNoYW5nZUlucHV0KCdyb3dzX3NlbGVjdGVkJywgc2VsZWN0ZWRSb3dzKCkpOwogICAgICAgICAgY2hhbmdlSW5wdXQoJ3Jvd19sYXN0X2NsaWNrZWQnLCBzZXJ2ZXIgPwogICAgICAgICAgICAgICAgICAgICAgRFRfcm93c19jdXJyZW50W3RoaXNSb3cuaW5kZXgoKV0gOiB0aGlzUm93LmluZGV4KCkgKyAxKTsKICAgICAgICB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgncm93c19zZWxlY3RlZCcsIHNlbGVjdGVkMSk7CiAgICAgICAgdmFyIHNlbGVjdFJvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHRhYmxlLiQoJ3RyLicgKyBzZWxDbGFzcykucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgaWYgKHNlbGVjdGVkMS5sZW5ndGggPT09IDApIHJldHVybjsKICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgdGFibGUucm93cyh7cGFnZTogJ2N1cnJlbnQnfSkuZXZlcnkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaWYgKGluQXJyYXkoRFRfcm93c19jdXJyZW50W3RoaXMuaW5kZXgoKV0sIHNlbGVjdGVkMSkpIHsKICAgICAgICAgICAgICAgICQodGhpcy5ub2RlKCkpLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIHNlbGVjdGVkMCA9IHNlbGVjdGVkMS5tYXAoZnVuY3Rpb24oaSkgeyByZXR1cm4gaSAtIDE7IH0pOwogICAgICAgICAgICAkKHRhYmxlLnJvd3Moc2VsZWN0ZWQwKS5ub2RlcygpKS5hZGRDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHNlbGVjdFJvd3MoKTsgIC8vIGluIGNhc2UgdXNlcnMgaGF2ZSBzcGVjaWZpZWQgcHJlLXNlbGVjdGVkIHJvd3MKICAgICAgICAvLyByZXN0b3JlIHNlbGVjdGVkIHJvd3MgYWZ0ZXIgdGhlIHRhYmxlIGlzIHJlZHJhd24gKGUuZy4gc29ydC9zZWFyY2gvcGFnZSk7CiAgICAgICAgLy8gY2xpZW50LXNpZGUgdGFibGVzIHdpbGwgcHJlc2VydmUgdGhlIHNlbGVjdGlvbnMgYXV0b21hdGljYWxseTsgZm9yCiAgICAgICAgLy8gc2VydmVyLXNpZGUgdGFibGVzLCB3ZSBoYXZlIHRvICpyZWFsKiByb3cgaW5kaWNlcyBhcmUgaW4gYHNlbGVjdGVkMWAKICAgICAgICBpZiAoc2VydmVyKSB0YWJsZS5vbignZHJhdy5kdCcsIHNlbGVjdFJvd3MpOwogICAgICAgIG1ldGhvZHMuc2VsZWN0Um93cyA9IGZ1bmN0aW9uKHNlbGVjdGVkKSB7CiAgICAgICAgICBzZWxlY3RlZDEgPSBzZWxlY3RlZCA/IHNlbGVjdGVkIDogW107CiAgICAgICAgICBzZWxlY3RSb3dzKCk7CiAgICAgICAgICBjaGFuZ2VJbnB1dCgncm93c19zZWxlY3RlZCcsIHNlbGVjdGVkMSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoaW5BcnJheShzZWxUYXJnZXQsIFsnY29sdW1uJywgJ3Jvdytjb2x1bW4nXSkpIHsKICAgICAgICBpZiAoc2VsVGFyZ2V0ID09PSAncm93K2NvbHVtbicpIHsKICAgICAgICAgICQodGFibGUuY29sdW1ucygpLmZvb3RlcigpKS5jc3MoJ2N1cnNvcicsICdwb2ludGVyJyk7CiAgICAgICAgfQogICAgICAgIHRhYmxlLm9uKCdjbGljay5kdCcsIHNlbFRhcmdldCA9PT0gJ2NvbHVtbicgPyAndGJvZHkgdGQnIDogJ3Rmb290IHRyIHRoJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgY29sSWR4ID0gc2VsVGFyZ2V0ID09PSAnY29sdW1uJyA/IHRhYmxlLmNlbGwodGhpcykuaW5kZXgoKS5jb2x1bW4gOgogICAgICAgICAgICAgICQuaW5BcnJheSh0aGlzLCB0YWJsZS5jb2x1bW5zKCkuZm9vdGVyKCkpLAogICAgICAgICAgICAgIHRoaXNDb2wgPSAkKHRhYmxlLmNvbHVtbihjb2xJZHgpLm5vZGVzKCkpOwogICAgICAgICAgaWYgKGNvbElkeCA9PT0gLTEpIHJldHVybjsKICAgICAgICAgIGlmICh0aGlzQ29sLmhhc0NsYXNzKHNlbENsYXNzKSkgewogICAgICAgICAgICB0aGlzQ29sLnJlbW92ZUNsYXNzKHNlbENsYXNzKTsKICAgICAgICAgICAgc2VsZWN0ZWQyLnNwbGljZSgkLmluQXJyYXkoY29sSWR4LCBzZWxlY3RlZDIpLCAxKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChzZWxNb2RlID09PSAnc2luZ2xlJykgJCh0YWJsZS5jZWxscygpLm5vZGVzKCkpLnJlbW92ZUNsYXNzKHNlbENsYXNzKTsKICAgICAgICAgICAgdGhpc0NvbC5hZGRDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIHNlbGVjdGVkMiA9IHNlbE1vZGUgPT09ICdzaW5nbGUnID8gW2NvbElkeF0gOiB1bmlxdWUoc2VsZWN0ZWQyLmNvbmNhdChbY29sSWR4XSkpOwogICAgICAgICAgfQogICAgICAgICAgY2hhbmdlSW5wdXQoJ2NvbHVtbnNfc2VsZWN0ZWQnLCBzZWxlY3RlZDIpOwogICAgICAgIH0pOwogICAgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZWQyKTsKICAgICAgICB2YXIgc2VsZWN0Q29scyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdGFibGUuY29sdW1ucygpLm5vZGVzKCkuZmxhdHRlbigpLnRvJCgpLnJlbW92ZUNsYXNzKHNlbENsYXNzKTsKICAgICAgICAgIGlmIChzZWxlY3RlZDIubGVuZ3RoID4gMCkKICAgICAgICAgICAgdGFibGUuY29sdW1ucyhzZWxlY3RlZDIpLm5vZGVzKCkuZmxhdHRlbigpLnRvJCgpLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICB9CiAgICAgICAgc2VsZWN0Q29scygpOyAgLy8gaW4gY2FzZSB1c2VycyBoYXZlIHNwZWNpZmllZCBwcmUtc2VsZWN0ZWQgY29sdW1ucwogICAgICAgIGlmIChzZXJ2ZXIpIHRhYmxlLm9uKCdkcmF3LmR0Jywgc2VsZWN0Q29scyk7CiAgICAgICAgbWV0aG9kcy5zZWxlY3RDb2x1bW5zID0gZnVuY3Rpb24oc2VsZWN0ZWQpIHsKICAgICAgICAgIHNlbGVjdGVkMiA9IHNlbGVjdGVkID8gc2VsZWN0ZWQgOiBbXTsKICAgICAgICAgIHNlbGVjdENvbHMoKTsKICAgICAgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZWQyKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChzZWxUYXJnZXQgPT09ICdjZWxsJykgewogICAgICAgIHZhciBzZWxlY3RlZDM7CiAgICAgICAgaWYgKHNlbGVjdGVkID09PSBudWxsKSB7CiAgICAgICAgICBzZWxlY3RlZDMgPSBbXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgc2VsZWN0ZWQzID0gc2VsZWN0ZWQ7CiAgICAgICAgfQogICAgICAgIHZhciBmaW5kSW5kZXggPSBmdW5jdGlvbihpaikgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZDMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGlqWzBdID09PSBzZWxlY3RlZDNbaV1bMF0gJiYgaWpbMV0gPT09IHNlbGVjdGVkM1tpXVsxXSkgcmV0dXJuIGk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgfQogICAgICAgIHRhYmxlLm9uKCdjbGljay5kdCcsICd0Ym9keSB0ZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwgaW5mbyA9IHR3ZWFrQ2VsbEluZGV4KHRhYmxlLmNlbGwodGhpcykpOwogICAgICAgICAgaWYgKCR0aGlzLmhhc0NsYXNzKHNlbENsYXNzKSkgewogICAgICAgICAgICAkdGhpcy5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIHNlbGVjdGVkMy5zcGxpY2UoZmluZEluZGV4KFtpbmZvLnJvdywgaW5mby5jb2xdKSwgMSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoc2VsTW9kZSA9PT0gJ3NpbmdsZScpICQodGFibGUuY2VsbHMoKS5ub2RlcygpKS5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgICR0aGlzLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICAgICAgc2VsZWN0ZWQzID0gc2VsTW9kZSA9PT0gJ3NpbmdsZScgPyBbW2luZm8ucm93LCBpbmZvLmNvbF1dIDoKICAgICAgICAgICAgICB1bmlxdWUoc2VsZWN0ZWQzLmNvbmNhdChbW2luZm8ucm93LCBpbmZvLmNvbF1dKSk7CiAgICAgICAgICB9CiAgICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHNlbGVjdGVkMyksICdzaGlueS5tYXRyaXgnKTsKICAgICAgICB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHNlbGVjdGVkMyksICdzaGlueS5tYXRyaXgnKTsKICAgICAgICB2YXIgc2VsZWN0Q2VsbHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHRhYmxlLiQoJ3RkLicgKyBzZWxDbGFzcykucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgaWYgKHNlbGVjdGVkMy5sZW5ndGggPT09IDApIHJldHVybjsKICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgdGFibGUuY2VsbHMoe3BhZ2U6ICdjdXJyZW50J30pLmV2ZXJ5KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhciBpbmZvID0gdHdlYWtDZWxsSW5kZXgodGhpcyk7CiAgICAgICAgICAgICAgaWYgKGZpbmRJbmRleChbaW5mby5yb3csIGluZm8uY29sXSwgc2VsZWN0ZWQzKSA+IC0xKQogICAgICAgICAgICAgICAgJCh0aGlzLm5vZGUoKSkuYWRkQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNlbGVjdGVkMy5tYXAoZnVuY3Rpb24oaWopIHsKICAgICAgICAgICAgICAkKHRhYmxlLmNlbGwoaWpbMF0gLSAxLCBpalsxXSkubm9kZSgpKS5hZGRDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgc2VsZWN0Q2VsbHMoKTsgIC8vIGluIGNhc2UgdXNlcnMgaGF2ZSBzcGVjaWZpZWQgcHJlLXNlbGVjdGVkIGNvbHVtbnMKICAgICAgICBpZiAoc2VydmVyKSB0YWJsZS5vbignZHJhdy5kdCcsIHNlbGVjdENlbGxzKTsKICAgICAgICBtZXRob2RzLnNlbGVjdENlbGxzID0gZnVuY3Rpb24oc2VsZWN0ZWQpIHsKICAgICAgICAgIHNlbGVjdGVkMyA9IHNlbGVjdGVkID8gc2VsZWN0ZWQgOiBbXTsKICAgICAgICAgIHNlbGVjdENlbGxzKCk7CiAgICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHNlbGVjdGVkMyksICdzaGlueS5tYXRyaXgnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvLyBleHBvc2Ugc29tZSB0YWJsZSBpbmZvIHRvIFNoaW55CiAgICB2YXIgdXBkYXRlVGFibGVJbmZvID0gZnVuY3Rpb24oZSwgc2V0dGluZ3MpIHsKICAgICAgLy8gVE9ETzogaXMgYW55b25lIGludGVyZXN0ZWQgaW4gdGhlIHBhZ2UgaW5mbz8KICAgICAgLy8gY2hhbmdlSW5wdXQoJ3BhZ2VfaW5mbycsIHRhYmxlLnBhZ2UuaW5mbygpKTsKICAgICAgdmFyIHVwZGF0ZVJvd0luZm8gPSBmdW5jdGlvbihpZCwgbW9kaWZpZXIpIHsKICAgICAgICB2YXIgaWR4OwogICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgIGlkeCA9IG1vZGlmaWVyLnBhZ2UgPT09ICdjdXJyZW50JyA/IERUX3Jvd3NfY3VycmVudCA6IERUX3Jvd3NfYWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgcm93cyA9IHRhYmxlLnJvd3MoJC5leHRlbmQoewogICAgICAgICAgICBzZWFyY2g6ICdhcHBsaWVkJywKICAgICAgICAgICAgcGFnZTogJ2FsbCcKICAgICAgICAgIH0sIG1vZGlmaWVyKSk7CiAgICAgICAgICBpZHggPSBhZGRPbmUocm93cy5pbmRleGVzKCkudG9BcnJheSgpKTsKICAgICAgICB9CiAgICAgICAgY2hhbmdlSW5wdXQoJ3Jvd3MnICsgJ18nICsgaWQsIGlkeCk7CiAgICAgIH07CiAgICAgIHVwZGF0ZVJvd0luZm8oJ2N1cnJlbnQnLCB7cGFnZTogJ2N1cnJlbnQnfSk7CiAgICAgIHVwZGF0ZVJvd0luZm8oJ2FsbCcsIHt9KTsKICAgIH0KICAgIHRhYmxlLm9uKCdkcmF3LmR0JywgdXBkYXRlVGFibGVJbmZvKTsKICAgIHVwZGF0ZVRhYmxlSW5mbygpOwoKICAgIC8vIHN0YXRlIGluZm8KICAgIHRhYmxlLm9uKCdkcmF3LmR0IGNvbHVtbi12aXNpYmlsaXR5LmR0JywgZnVuY3Rpb24oKSB7CiAgICAgIGNoYW5nZUlucHV0KCdzdGF0ZScsIHRhYmxlLnN0YXRlKCkpOwogICAgfSk7CiAgICBjaGFuZ2VJbnB1dCgnc3RhdGUnLCB0YWJsZS5zdGF0ZSgpKTsKCiAgICAvLyBzZWFyY2ggaW5mbwogICAgdmFyIHVwZGF0ZVNlYXJjaEluZm8gPSBmdW5jdGlvbigpIHsKICAgICAgY2hhbmdlSW5wdXQoJ3NlYXJjaCcsIHRhYmxlLnNlYXJjaCgpKTsKICAgICAgaWYgKGZpbHRlclJvdykgY2hhbmdlSW5wdXQoJ3NlYXJjaF9jb2x1bW5zJywgZmlsdGVyUm93LnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24odGQpIHsKICAgICAgICByZXR1cm4gJCh0ZCkuZmluZCgnaW5wdXQnKS5maXJzdCgpLnZhbCgpOwogICAgICB9KSk7CiAgICB9CiAgICB0YWJsZS5vbignZHJhdy5kdCcsIHVwZGF0ZVNlYXJjaEluZm8pOwogICAgdXBkYXRlU2VhcmNoSW5mbygpOwoKICAgIC8vIHRoZSBjdXJyZW50IGNlbGwgY2xpY2tlZCBvbgogICAgdGFibGUub24oJ2NsaWNrLmR0JywgJ3Rib2R5IHRkJywgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBpbmZvID0gdHdlYWtDZWxsSW5kZXgodGFibGUuY2VsbCh0aGlzKSk7CiAgICAgIGluZm8udmFsdWUgPSB0YWJsZS5jZWxsKHRoaXMpLmRhdGEoKTsKICAgICAgY2hhbmdlSW5wdXQoJ2NlbGxfY2xpY2tlZCcsIGluZm8pOwogICAgfSkKICAgIGNoYW5nZUlucHV0KCdjZWxsX2NsaWNrZWQnLCB7fSk7CgogICAgLy8gZG8gbm90IHRyaWdnZXIgdGFibGUgc2VsZWN0aW9uIHdoZW4gY2xpY2tpbmcgb24gbGlua3MgdW5sZXNzIHRoZXkgaGF2ZSBjbGFzc2VzCiAgICB0YWJsZS5vbignY2xpY2suZHQnLCAndGJvZHkgdGQgYScsIGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKHRoaXMuY2xhc3NOYW1lID09PSAnJykgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgIH0pOwoKICAgIG1ldGhvZHMuYWRkUm93ID0gZnVuY3Rpb24oZGF0YSwgcm93bmFtZSkgewogICAgICB2YXIgZGF0YTAgPSB0YWJsZS5yb3coMCkuZGF0YSgpLCBuID0gZGF0YTAubGVuZ3RoLCBkID0gbiAtIGRhdGEubGVuZ3RoOwogICAgICBpZiAoZCA9PT0gMSkgewogICAgICAgIGRhdGEgPSByb3duYW1lLmNvbmNhdChkYXRhKQogICAgICB9IGVsc2UgaWYgKGQgIT09IDApIHsKICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTsKICAgICAgICBjb25zb2xlLmxvZyhkYXRhMCk7CiAgICAgICAgdGhyb3cgJ05ldyBkYXRhIG11c3QgYmUgb2YgdGhlIHNhbWUgbGVuZ3RoIGFzIGN1cnJlbnQgZGF0YSAoJyArIG4gKyAnKSc7CiAgICAgIH07CiAgICAgIHRhYmxlLnJvdy5hZGQoZGF0YSkuZHJhdygpOwogICAgfQoKICAgIG1ldGhvZHMudXBkYXRlU2VhcmNoID0gZnVuY3Rpb24oa2V5d29yZHMpIHsKICAgICAgaWYgKGtleXdvcmRzLmdsb2JhbCAhPT0gbnVsbCkKICAgICAgICAkKHRhYmxlLnRhYmxlKCkuY29udGFpbmVyKCkpLmZpbmQoJ2lucHV0W3R5cGU9c2VhcmNoXScpLmZpcnN0KCkKICAgICAgICAgICAgIC52YWwoa2V5d29yZHMuZ2xvYmFsKS50cmlnZ2VyKCdpbnB1dCcpOwogICAgICB2YXIgY29sdW1ucyA9IGtleXdvcmRzLmNvbHVtbnM7CiAgICAgIGlmICghZmlsdGVyUm93IHx8IGNvbHVtbnMgPT09IG51bGwpIHJldHVybjsKICAgICAgZmlsdGVyUm93LnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24odGQsIGkpIHsKICAgICAgICB2YXIgdiA9IHR5cGVvZiBjb2x1bW5zID09PSAnc3RyaW5nJyA/IGNvbHVtbnMgOiBjb2x1bW5zW2ldOwogICAgICAgIGlmICh0eXBlb2YgdiA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKCdUaGUgc2VhcmNoIGtleXdvcmQgZm9yIGNvbHVtbiAnICsgaSArICcgaXMgdW5kZWZpbmVkJykKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgJCh0ZCkuZmluZCgnaW5wdXQnKS5maXJzdCgpLnZhbCh2KTsKICAgICAgICB0YWJsZS5jb2x1bW4oaSkuc2VhcmNoKHYpOwogICAgICB9KTsKICAgICAgdGFibGUuZHJhdygpOwogICAgfQoKICAgIG1ldGhvZHMuc2VsZWN0UGFnZSA9IGZ1bmN0aW9uKHBhZ2UpIHsKICAgICAgaWYgKHRhYmxlLnBhZ2UuaW5mbygpLnBhZ2VzIDwgcGFnZSB8fCBwYWdlIDwgMSkgewogICAgICAgIHRocm93ICdTZWxlY3RlZCBwYWdlIGlzIG91dCBvZiByYW5nZSc7CiAgICAgIH07CiAgICAgIHRhYmxlLnBhZ2UocGFnZSAtIDEpLmRyYXcoZmFsc2UpOwogICAgfQoKICAgIG1ldGhvZHMucmVsb2FkRGF0YSA9IGZ1bmN0aW9uKHJlc2V0UGFnaW5nLCBjbGVhclNlbGVjdGlvbikgewogICAgICAvLyBlbXB0eSBzZWxlY3Rpb25zIGZpcnN0IGlmIG5lY2Vzc2FyeQogICAgICBpZiAobWV0aG9kcy5zZWxlY3RSb3dzICYmIGluQXJyYXkoJ3JvdycsIGNsZWFyU2VsZWN0aW9uKSkgbWV0aG9kcy5zZWxlY3RSb3dzKFtdKTsKICAgICAgaWYgKG1ldGhvZHMuc2VsZWN0Q29sdW1ucyAmJiBpbkFycmF5KCdjb2x1bW4nLCBjbGVhclNlbGVjdGlvbikpIG1ldGhvZHMuc2VsZWN0Q29sdW1ucyhbXSk7CiAgICAgIGlmIChtZXRob2RzLnNlbGVjdENlbGxzICYmIGluQXJyYXkoJ2NlbGwnLCBjbGVhclNlbGVjdGlvbikpIG1ldGhvZHMuc2VsZWN0Q2VsbHMoW10pOwogICAgICB0YWJsZS5hamF4LnJlbG9hZChudWxsLCByZXNldFBhZ2luZyk7CiAgICB9CgogICAgdGFibGUuc2hpbnlNZXRob2RzID0gbWV0aG9kczsKICB9LAogIHJlc2l6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQsIGluc3RhbmNlKSB7CiAgICBpZiAoaW5zdGFuY2UuZGF0YSkgdGhpcy5yZW5kZXJWYWx1ZShlbCwgaW5zdGFuY2UuZGF0YSwgaW5zdGFuY2UpOwoKICAgIC8vIGR5bmFtaWNhbGx5IGFkanVzdCBoZWlnaHQgaWYgZmlsbENvbnRhaW5lciA9IFRSVUUKICAgIGlmIChpbnN0YW5jZS5maWxsQ29udGFpbmVyKQogICAgICB0aGlzLmZpbGxBdmFpbGFibGVIZWlnaHQoZWwsIGhlaWdodCk7CgogICAgdGhpcy5hZGp1c3RXaWR0aChlbCk7CiAgfSwKCiAgLy8gZHluYW1pY2FsbHkgc2V0IHRoZSBzY3JvbGwgYm9keSB0byBmaWxsIGF2YWlsYWJsZSBoZWlnaHQKICAvLyAodXNlZCB3aXRoIGZpbGxDb250YWluZXIgPSBUUlVFKQogIGZpbGxBdmFpbGFibGVIZWlnaHQ6IGZ1bmN0aW9uKGVsLCBhdmFpbGFibGVIZWlnaHQpIHsKCiAgICAvLyBzZWUgaG93IG11Y2ggb2YgdGhlIHRhYmxlIGlzIG9jY3VwaWVkIGJ5IGhlYWRlci9mb290ZXIgZWxlbWVudHMKICAgIC8vIGFuZCB1c2UgdGhhdCB0byBjb21wdXRlIGEgdGFyZ2V0IHNjcm9sbCBib2R5IGhlaWdodAogICAgdmFyIGR0V3JhcHBlciA9ICQoZWwpLmZpbmQoJ2Rpdi5kYXRhVGFibGVzX3dyYXBwZXInKTsKICAgIHZhciBkdFNjcm9sbEJvZHkgPSAkKGVsKS5maW5kKCQoJ2Rpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHknKSk7CiAgICB2YXIgZnJhbWluZ0hlaWdodCA9IGR0V3JhcHBlci5pbm5lckhlaWdodCgpIC0gZHRTY3JvbGxCb2R5LmlubmVySGVpZ2h0KCk7CiAgICB2YXIgc2Nyb2xsQm9keUhlaWdodCA9IGF2YWlsYWJsZUhlaWdodCAtIGZyYW1pbmdIZWlnaHQ7CgogICAgLy8gc2V0IHRoZSBoZWlnaHQKICAgIGR0U2Nyb2xsQm9keS5oZWlnaHQoc2Nyb2xsQm9keUhlaWdodCArICdweCcpOwogIH0sCgogIC8vIGFkanVzdCB0aGUgd2lkdGggb2YgY29sdW1uczsgcmVtb3ZlIHRoZSBoYXJkLWNvZGVkIHdpZHRocyBvbiB0YWJsZSBhbmQgdGhlCiAgLy8gc2Nyb2xsIGhlYWRlciB3aGVuIHNjcm9sbFgvWSBhcmUgZW5hYmxlZAogIGFkanVzdFdpZHRoOiBmdW5jdGlvbihlbCkgewogICAgdmFyICRlbCA9ICQoZWwpLCB0YWJsZSA9ICRlbC5kYXRhKCdkYXRhdGFibGUnKTsKICAgIGlmICh0YWJsZSkgdGFibGUuY29sdW1ucy5hZGp1c3QoKTsKICAgICRlbC5maW5kKCcuZGF0YVRhYmxlc19zY3JvbGxIZWFkSW5uZXInKS5jc3MoJ3dpZHRoJywgJycpCiAgICAgICAgLmNoaWxkcmVuKCd0YWJsZScpLmNzcygnbWFyZ2luLWxlZnQnLCAnJyk7CiAgfQp9KTsKCiAgaWYgKCFIVE1MV2lkZ2V0cy5zaGlueU1vZGUpIHJldHVybjsKCiAgU2hpbnkuYWRkQ3VzdG9tTWVzc2FnZUhhbmRsZXIoJ2RhdGF0YWJsZS1jYWxscycsIGZ1bmN0aW9uKGRhdGEpIHsKICAgIHZhciBpZCA9IGRhdGEuaWQ7CiAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CiAgICB2YXIgdGFibGUgPSBlbCA/ICQoZWwpLmRhdGEoJ2RhdGF0YWJsZScpIDogbnVsbDsKICAgIGlmICghdGFibGUpIHsKICAgICAgY29uc29sZS5sb2coIkNvdWxkbid0IGZpbmQgdGFibGUgd2l0aCBpZCAiICsgaWQpOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIG1ldGhvZHMgPSB0YWJsZS5zaGlueU1ldGhvZHMsIGNhbGwgPSBkYXRhLmNhbGw7CiAgICBpZiAobWV0aG9kc1tjYWxsLm1ldGhvZF0pIHsKICAgICAgbWV0aG9kc1tjYWxsLm1ldGhvZF0uYXBwbHkodGFibGUsIGNhbGwuYXJncyk7CiAgICB9IGVsc2UgewogICAgICBjb25zb2xlLmxvZygiVW5rbm93biBtZXRob2QgIiArIGNhbGwubWV0aG9kKTsKICAgIH0KICB9KTsKCn0pKCk7Cg=="></script>
<link href="data:text/css;charset=utf-8,table%2EdataTable%7Bwidth%3A100%25%3Bmargin%3A0%20auto%3Bclear%3Aboth%3Bborder%2Dcollapse%3Aseparate%3Bborder%2Dspacing%3A0%7Dtable%2EdataTable%20thead%20th%2Ctable%2EdataTable%20tfoot%20th%7Bfont%2Dweight%3Abold%7Dtable%2EdataTable%20thead%20th%2Ctable%2EdataTable%20thead%20td%7Bpadding%3A10px%2018px%3Bborder%2Dbottom%3A1px%20solid%20%23111%7Dtable%2EdataTable%20thead%20th%3Aactive%2Ctable%2EdataTable%20thead%20td%3Aactive%7Boutline%3Anone%7Dtable%2EdataTable%20tfoot%20th%2Ctable%2EdataTable%20tfoot%20td%7Bpadding%3A10px%2018px%206px%2018px%3Bborder%2Dtop%3A1px%20solid%20%23111%7Dtable%2EdataTable%20thead%20%2Esorting%2Ctable%2EdataTable%20thead%20%2Esorting%5Fasc%2Ctable%2EdataTable%20thead%20%2Esorting%5Fdesc%7Bcursor%3Apointer%3B%2Acursor%3Ahand%7Dtable%2EdataTable%20thead%20%2Esorting%2Ctable%2EdataTable%20thead%20%2Esorting%5Fasc%2Ctable%2EdataTable%20thead%20%2Esorting%5Fdesc%2Ctable%2EdataTable%20thead%20%2Esorting%5Fasc%5Fdisabled%2Ctable%2EdataTable%20thead%20%2Esorting%5Fdesc%5Fdisabled%7Bbackground%2Drepeat%3Ano%2Drepeat%3Bbackground%2Dposition%3Acenter%20right%7Dtable%2EdataTable%20thead%20%2Esorting%7Bbackground%2Dimage%3Aurl%28data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL%2BTq%2FQCM1oNiJidwox0355mXnG%2FDrEtIQ6azioNZQxI0ykPhTQIwhCR%2BBmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P%2BGtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC%29%7Dtable%2EdataTable%20thead%20%2Esorting%5Fasc%7Bbackground%2Dimage%3Aurl%28data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS%2FgDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM%2BwTENuQahAvEO9DMwiGdwAxOymGJQLxTyD%2BjgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg%3D%3D%29%7Dtable%2EdataTable%20thead%20%2Esorting%5Fdesc%7Bbackground%2Dimage%3Aurl%28data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA%2FBOIv2PBIPFEUgxjB%2BIdQPwfC94HxLykus4GiD%2BhGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL%2BAuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII%3D%29%7Dtable%2EdataTable%20thead%20%2Esorting%5Fasc%5Fdisabled%7Bbackground%2Dimage%3Aurl%28data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAW0lEQVQoz2NgoCm4w3Vnwh02wspK7%2Fy6k01Ikdadx3f%2B37l9RxmfIsY7c4GKQHDiHUbcyhzvvIMq%2B3THBpci3jv7oIpAcMcdduzKEu%2F8vPMdDn%2FeiWQYBYMKAAC3ykIEuYQJUgAAAABJRU5ErkJggg%3D%3D%29%7Dtable%2EdataTable%20thead%20%2Esorting%5Fdesc%5Fdisabled%7Bbackground%2Dimage%3Aurl%28data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAWUlEQVQoz2NgGAWDCtyJvPPzznc4%2FHknEbsy9js77vyHw313eHGZZ3PnE1TRuzuOuK1lvDMRqmzuHUZ87lO%2Bcxuo6PEdLUIeyb7z604pYf%2By3Zlwh4u2YQoAc7ZCBHH4jigAAAAASUVORK5CYII%3D%29%7Dtable%2EdataTable%20tbody%20tr%7Bbackground%2Dcolor%3A%23ffffff%7Dtable%2EdataTable%20tbody%20tr%2Eselected%7Bbackground%2Dcolor%3A%23B0BED9%7Dtable%2EdataTable%20tbody%20th%2Ctable%2EdataTable%20tbody%20td%7Bpadding%3A8px%2010px%7Dtable%2EdataTable%2Erow%2Dborder%20tbody%20th%2Ctable%2EdataTable%2Erow%2Dborder%20tbody%20td%2Ctable%2EdataTable%2Edisplay%20tbody%20th%2Ctable%2EdataTable%2Edisplay%20tbody%20td%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7Dtable%2EdataTable%2Erow%2Dborder%20tbody%20tr%3Afirst%2Dchild%20th%2Ctable%2EdataTable%2Erow%2Dborder%20tbody%20tr%3Afirst%2Dchild%20td%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%3Afirst%2Dchild%20th%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%3Afirst%2Dchild%20td%7Bborder%2Dtop%3Anone%7Dtable%2EdataTable%2Ecell%2Dborder%20tbody%20th%2Ctable%2EdataTable%2Ecell%2Dborder%20tbody%20td%7Bborder%2Dtop%3A1px%20solid%20%23ddd%3Bborder%2Dright%3A1px%20solid%20%23ddd%7Dtable%2EdataTable%2Ecell%2Dborder%20tbody%20tr%20th%3Afirst%2Dchild%2Ctable%2EdataTable%2Ecell%2Dborder%20tbody%20tr%20td%3Afirst%2Dchild%7Bborder%2Dleft%3A1px%20solid%20%23ddd%7Dtable%2EdataTable%2Ecell%2Dborder%20tbody%20tr%3Afirst%2Dchild%20th%2Ctable%2EdataTable%2Ecell%2Dborder%20tbody%20tr%3Afirst%2Dchild%20td%7Bborder%2Dtop%3Anone%7Dtable%2EdataTable%2Estripe%20tbody%20tr%2Eodd%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%7Bbackground%2Dcolor%3A%23f9f9f9%7Dtable%2EdataTable%2Estripe%20tbody%20tr%2Eodd%2Eselected%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%2Eselected%7Bbackground%2Dcolor%3A%23acbad4%7Dtable%2EdataTable%2Ehover%20tbody%20tr%3Ahover%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%7Bbackground%2Dcolor%3A%23f6f6f6%7Dtable%2EdataTable%2Ehover%20tbody%20tr%3Ahover%2Eselected%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%2Eselected%7Bbackground%2Dcolor%3A%23aab7d1%7Dtable%2EdataTable%2Eorder%2Dcolumn%20tbody%20tr%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%20tbody%20tr%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%20tbody%20tr%3E%2Esorting%5F3%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%3E%2Esorting%5F1%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%3E%2Esorting%5F2%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%3E%2Esorting%5F3%7Bbackground%2Dcolor%3A%23fafafa%7Dtable%2EdataTable%2Eorder%2Dcolumn%20tbody%20tr%2Eselected%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%20tbody%20tr%2Eselected%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%20tbody%20tr%2Eselected%3E%2Esorting%5F3%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%2Eselected%3E%2Esorting%5F1%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%2Eselected%3E%2Esorting%5F2%2Ctable%2EdataTable%2Edisplay%20tbody%20tr%2Eselected%3E%2Esorting%5F3%7Bbackground%2Dcolor%3A%23acbad5%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eodd%3E%2Esorting%5F1%7Bbackground%2Dcolor%3A%23f1f1f1%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eodd%3E%2Esorting%5F2%7Bbackground%2Dcolor%3A%23f3f3f3%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%3E%2Esorting%5F3%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eodd%3E%2Esorting%5F3%7Bbackground%2Dcolor%3Awhitesmoke%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%2Eselected%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eodd%2Eselected%3E%2Esorting%5F1%7Bbackground%2Dcolor%3A%23a6b4cd%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%2Eselected%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eodd%2Eselected%3E%2Esorting%5F2%7Bbackground%2Dcolor%3A%23a8b5cf%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eodd%2Eselected%3E%2Esorting%5F3%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eodd%2Eselected%3E%2Esorting%5F3%7Bbackground%2Dcolor%3A%23a9b7d1%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eeven%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eeven%3E%2Esorting%5F1%7Bbackground%2Dcolor%3A%23fafafa%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eeven%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eeven%3E%2Esorting%5F2%7Bbackground%2Dcolor%3A%23fcfcfc%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eeven%3E%2Esorting%5F3%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eeven%3E%2Esorting%5F3%7Bbackground%2Dcolor%3A%23fefefe%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eeven%2Eselected%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eeven%2Eselected%3E%2Esorting%5F1%7Bbackground%2Dcolor%3A%23acbad5%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eeven%2Eselected%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eeven%2Eselected%3E%2Esorting%5F2%7Bbackground%2Dcolor%3A%23aebcd6%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%2Eeven%2Eselected%3E%2Esorting%5F3%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Estripe%20tbody%20tr%2Eeven%2Eselected%3E%2Esorting%5F3%7Bbackground%2Dcolor%3A%23afbdd8%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Ehover%20tbody%20tr%3Ahover%3E%2Esorting%5F1%7Bbackground%2Dcolor%3A%23eaeaea%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Ehover%20tbody%20tr%3Ahover%3E%2Esorting%5F2%7Bbackground%2Dcolor%3A%23ececec%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%3E%2Esorting%5F3%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Ehover%20tbody%20tr%3Ahover%3E%2Esorting%5F3%7Bbackground%2Dcolor%3A%23efefef%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%2Eselected%3E%2Esorting%5F1%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Ehover%20tbody%20tr%3Ahover%2Eselected%3E%2Esorting%5F1%7Bbackground%2Dcolor%3A%23a2aec7%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%2Eselected%3E%2Esorting%5F2%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Ehover%20tbody%20tr%3Ahover%2Eselected%3E%2Esorting%5F2%7Bbackground%2Dcolor%3A%23a3b0c9%7Dtable%2EdataTable%2Edisplay%20tbody%20tr%3Ahover%2Eselected%3E%2Esorting%5F3%2Ctable%2EdataTable%2Eorder%2Dcolumn%2Ehover%20tbody%20tr%3Ahover%2Eselected%3E%2Esorting%5F3%7Bbackground%2Dcolor%3A%23a5b2cb%7Dtable%2EdataTable%2Eno%2Dfooter%7Bborder%2Dbottom%3A1px%20solid%20%23111%7Dtable%2EdataTable%2Enowrap%20th%2Ctable%2EdataTable%2Enowrap%20td%7Bwhite%2Dspace%3Anowrap%7Dtable%2EdataTable%2Ecompact%20thead%20th%2Ctable%2EdataTable%2Ecompact%20thead%20td%7Bpadding%3A4px%2017px%204px%204px%7Dtable%2EdataTable%2Ecompact%20tfoot%20th%2Ctable%2EdataTable%2Ecompact%20tfoot%20td%7Bpadding%3A4px%7Dtable%2EdataTable%2Ecompact%20tbody%20th%2Ctable%2EdataTable%2Ecompact%20tbody%20td%7Bpadding%3A4px%7Dtable%2EdataTable%20th%2Edt%2Dleft%2Ctable%2EdataTable%20td%2Edt%2Dleft%7Btext%2Dalign%3Aleft%7Dtable%2EdataTable%20th%2Edt%2Dcenter%2Ctable%2EdataTable%20td%2Edt%2Dcenter%2Ctable%2EdataTable%20td%2EdataTables%5Fempty%7Btext%2Dalign%3Acenter%7Dtable%2EdataTable%20th%2Edt%2Dright%2Ctable%2EdataTable%20td%2Edt%2Dright%7Btext%2Dalign%3Aright%7Dtable%2EdataTable%20th%2Edt%2Djustify%2Ctable%2EdataTable%20td%2Edt%2Djustify%7Btext%2Dalign%3Ajustify%7Dtable%2EdataTable%20th%2Edt%2Dnowrap%2Ctable%2EdataTable%20td%2Edt%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7Dtable%2EdataTable%20thead%20th%2Edt%2Dhead%2Dleft%2Ctable%2EdataTable%20thead%20td%2Edt%2Dhead%2Dleft%2Ctable%2EdataTable%20tfoot%20th%2Edt%2Dhead%2Dleft%2Ctable%2EdataTable%20tfoot%20td%2Edt%2Dhead%2Dleft%7Btext%2Dalign%3Aleft%7Dtable%2EdataTable%20thead%20th%2Edt%2Dhead%2Dcenter%2Ctable%2EdataTable%20thead%20td%2Edt%2Dhead%2Dcenter%2Ctable%2EdataTable%20tfoot%20th%2Edt%2Dhead%2Dcenter%2Ctable%2EdataTable%20tfoot%20td%2Edt%2Dhead%2Dcenter%7Btext%2Dalign%3Acenter%7Dtable%2EdataTable%20thead%20th%2Edt%2Dhead%2Dright%2Ctable%2EdataTable%20thead%20td%2Edt%2Dhead%2Dright%2Ctable%2EdataTable%20tfoot%20th%2Edt%2Dhead%2Dright%2Ctable%2EdataTable%20tfoot%20td%2Edt%2Dhead%2Dright%7Btext%2Dalign%3Aright%7Dtable%2EdataTable%20thead%20th%2Edt%2Dhead%2Djustify%2Ctable%2EdataTable%20thead%20td%2Edt%2Dhead%2Djustify%2Ctable%2EdataTable%20tfoot%20th%2Edt%2Dhead%2Djustify%2Ctable%2EdataTable%20tfoot%20td%2Edt%2Dhead%2Djustify%7Btext%2Dalign%3Ajustify%7Dtable%2EdataTable%20thead%20th%2Edt%2Dhead%2Dnowrap%2Ctable%2EdataTable%20thead%20td%2Edt%2Dhead%2Dnowrap%2Ctable%2EdataTable%20tfoot%20th%2Edt%2Dhead%2Dnowrap%2Ctable%2EdataTable%20tfoot%20td%2Edt%2Dhead%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7Dtable%2EdataTable%20tbody%20th%2Edt%2Dbody%2Dleft%2Ctable%2EdataTable%20tbody%20td%2Edt%2Dbody%2Dleft%7Btext%2Dalign%3Aleft%7Dtable%2EdataTable%20tbody%20th%2Edt%2Dbody%2Dcenter%2Ctable%2EdataTable%20tbody%20td%2Edt%2Dbody%2Dcenter%7Btext%2Dalign%3Acenter%7Dtable%2EdataTable%20tbody%20th%2Edt%2Dbody%2Dright%2Ctable%2EdataTable%20tbody%20td%2Edt%2Dbody%2Dright%7Btext%2Dalign%3Aright%7Dtable%2EdataTable%20tbody%20th%2Edt%2Dbody%2Djustify%2Ctable%2EdataTable%20tbody%20td%2Edt%2Dbody%2Djustify%7Btext%2Dalign%3Ajustify%7Dtable%2EdataTable%20tbody%20th%2Edt%2Dbody%2Dnowrap%2Ctable%2EdataTable%20tbody%20td%2Edt%2Dbody%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7Dtable%2EdataTable%2Ctable%2EdataTable%20th%2Ctable%2EdataTable%20td%7B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%7D%2EdataTables%5Fwrapper%7Bposition%3Arelative%3Bclear%3Aboth%3B%2Azoom%3A1%3Bzoom%3A1%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Flength%7Bfloat%3Aleft%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Ffilter%7Bfloat%3Aright%3Btext%2Dalign%3Aright%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Ffilter%20input%7Bmargin%2Dleft%3A0%2E5em%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Finfo%7Bclear%3Aboth%3Bfloat%3Aleft%3Bpadding%2Dtop%3A0%2E755em%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%7Bfloat%3Aright%3Btext%2Dalign%3Aright%3Bpadding%2Dtop%3A0%2E25em%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%7Bbox%2Dsizing%3Aborder%2Dbox%3Bdisplay%3Ainline%2Dblock%3Bmin%2Dwidth%3A1%2E5em%3Bpadding%3A0%2E5em%201em%3Bmargin%2Dleft%3A2px%3Btext%2Dalign%3Acenter%3Btext%2Ddecoration%3Anone%20%21important%3Bcursor%3Apointer%3B%2Acursor%3Ahand%3Bcolor%3A%23333%20%21important%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A2px%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%2Ecurrent%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%2Ecurrent%3Ahover%7Bcolor%3A%23333%20%21important%3Bborder%3A1px%20solid%20%23979797%3Bbackground%2Dcolor%3Awhite%3Bbackground%3A%2Dwebkit%2Dgradient%28linear%2C%20left%20top%2C%20left%20bottom%2C%20color%2Dstop%280%25%2C%20%23fff%29%2C%20color%2Dstop%28100%25%2C%20%23dcdcdc%29%29%3Bbackground%3A%2Dwebkit%2Dlinear%2Dgradient%28top%2C%20%23fff%200%25%2C%20%23dcdcdc%20100%25%29%3Bbackground%3A%2Dmoz%2Dlinear%2Dgradient%28top%2C%20%23fff%200%25%2C%20%23dcdcdc%20100%25%29%3Bbackground%3A%2Dms%2Dlinear%2Dgradient%28top%2C%20%23fff%200%25%2C%20%23dcdcdc%20100%25%29%3Bbackground%3A%2Do%2Dlinear%2Dgradient%28top%2C%20%23fff%200%25%2C%20%23dcdcdc%20100%25%29%3Bbackground%3Alinear%2Dgradient%28to%20bottom%2C%20%23fff%200%25%2C%20%23dcdcdc%20100%25%29%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%2Edisabled%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%2Edisabled%3Ahover%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%2Edisabled%3Aactive%7Bcursor%3Adefault%3Bcolor%3A%23666%20%21important%3Bborder%3A1px%20solid%20transparent%3Bbackground%3Atransparent%3Bbox%2Dshadow%3Anone%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%3Ahover%7Bcolor%3Awhite%20%21important%3Bborder%3A1px%20solid%20%23111%3Bbackground%2Dcolor%3A%23585858%3Bbackground%3A%2Dwebkit%2Dgradient%28linear%2C%20left%20top%2C%20left%20bottom%2C%20color%2Dstop%280%25%2C%20%23585858%29%2C%20color%2Dstop%28100%25%2C%20%23111%29%29%3Bbackground%3A%2Dwebkit%2Dlinear%2Dgradient%28top%2C%20%23585858%200%25%2C%20%23111%20100%25%29%3Bbackground%3A%2Dmoz%2Dlinear%2Dgradient%28top%2C%20%23585858%200%25%2C%20%23111%20100%25%29%3Bbackground%3A%2Dms%2Dlinear%2Dgradient%28top%2C%20%23585858%200%25%2C%20%23111%20100%25%29%3Bbackground%3A%2Do%2Dlinear%2Dgradient%28top%2C%20%23585858%200%25%2C%20%23111%20100%25%29%3Bbackground%3Alinear%2Dgradient%28to%20bottom%2C%20%23585858%200%25%2C%20%23111%20100%25%29%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Epaginate%5Fbutton%3Aactive%7Boutline%3Anone%3Bbackground%2Dcolor%3A%232b2b2b%3Bbackground%3A%2Dwebkit%2Dgradient%28linear%2C%20left%20top%2C%20left%20bottom%2C%20color%2Dstop%280%25%2C%20%232b2b2b%29%2C%20color%2Dstop%28100%25%2C%20%230c0c0c%29%29%3Bbackground%3A%2Dwebkit%2Dlinear%2Dgradient%28top%2C%20%232b2b2b%200%25%2C%20%230c0c0c%20100%25%29%3Bbackground%3A%2Dmoz%2Dlinear%2Dgradient%28top%2C%20%232b2b2b%200%25%2C%20%230c0c0c%20100%25%29%3Bbackground%3A%2Dms%2Dlinear%2Dgradient%28top%2C%20%232b2b2b%200%25%2C%20%230c0c0c%20100%25%29%3Bbackground%3A%2Do%2Dlinear%2Dgradient%28top%2C%20%232b2b2b%200%25%2C%20%230c0c0c%20100%25%29%3Bbackground%3Alinear%2Dgradient%28to%20bottom%2C%20%232b2b2b%200%25%2C%20%230c0c0c%20100%25%29%3Bbox%2Dshadow%3Ainset%200%200%203px%20%23111%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%20%2Eellipsis%7Bpadding%3A0%201em%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fprocessing%7Bposition%3Aabsolute%3Btop%3A50%25%3Bleft%3A50%25%3Bwidth%3A100%25%3Bheight%3A40px%3Bmargin%2Dleft%3A%2D50%25%3Bmargin%2Dtop%3A%2D25px%3Bpadding%2Dtop%3A20px%3Btext%2Dalign%3Acenter%3Bfont%2Dsize%3A1%2E2em%3Bbackground%2Dcolor%3Awhite%3Bbackground%3A%2Dwebkit%2Dgradient%28linear%2C%20left%20top%2C%20right%20top%2C%20color%2Dstop%280%25%2C%20rgba%28255%2C255%2C255%2C0%29%29%2C%20color%2Dstop%2825%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%29%2C%20color%2Dstop%2875%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%29%2C%20color%2Dstop%28100%25%2C%20rgba%28255%2C255%2C255%2C0%29%29%29%3Bbackground%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2C%20rgba%28255%2C255%2C255%2C0%29%200%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2025%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2075%25%2C%20rgba%28255%2C255%2C255%2C0%29%20100%25%29%3Bbackground%3A%2Dmoz%2Dlinear%2Dgradient%28left%2C%20rgba%28255%2C255%2C255%2C0%29%200%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2025%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2075%25%2C%20rgba%28255%2C255%2C255%2C0%29%20100%25%29%3Bbackground%3A%2Dms%2Dlinear%2Dgradient%28left%2C%20rgba%28255%2C255%2C255%2C0%29%200%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2025%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2075%25%2C%20rgba%28255%2C255%2C255%2C0%29%20100%25%29%3Bbackground%3A%2Do%2Dlinear%2Dgradient%28left%2C%20rgba%28255%2C255%2C255%2C0%29%200%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2025%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2075%25%2C%20rgba%28255%2C255%2C255%2C0%29%20100%25%29%3Bbackground%3Alinear%2Dgradient%28to%20right%2C%20rgba%28255%2C255%2C255%2C0%29%200%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2025%25%2C%20rgba%28255%2C255%2C255%2C0%2E9%29%2075%25%2C%20rgba%28255%2C255%2C255%2C0%29%20100%25%29%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Flength%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Ffilter%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Finfo%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fprocessing%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%7Bcolor%3A%23333%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fscroll%7Bclear%3Aboth%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fscroll%20div%2EdataTables%5FscrollBody%7B%2Amargin%2Dtop%3A%2D1px%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fscroll%20div%2EdataTables%5FscrollBody%20th%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fscroll%20div%2EdataTables%5FscrollBody%20td%7Bvertical%2Dalign%3Amiddle%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fscroll%20div%2EdataTables%5FscrollBody%20th%3Ediv%2EdataTables%5Fsizing%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fscroll%20div%2EdataTables%5FscrollBody%20td%3Ediv%2EdataTables%5Fsizing%7Bheight%3A0%3Boverflow%3Ahidden%3Bmargin%3A0%20%21important%3Bpadding%3A0%20%21important%7D%2EdataTables%5Fwrapper%2Eno%2Dfooter%20%2EdataTables%5FscrollBody%7Bborder%2Dbottom%3A1px%20solid%20%23111%7D%2EdataTables%5Fwrapper%2Eno%2Dfooter%20div%2EdataTables%5FscrollHead%20table%2C%2EdataTables%5Fwrapper%2Eno%2Dfooter%20div%2EdataTables%5FscrollBody%20table%7Bborder%2Dbottom%3Anone%7D%2EdataTables%5Fwrapper%3Aafter%7Bvisibility%3Ahidden%3Bdisplay%3Ablock%3Bcontent%3A%22%22%3Bclear%3Aboth%3Bheight%3A0%7D%40media%20screen%20and%20%28max%2Dwidth%3A%20767px%29%7B%2EdataTables%5Fwrapper%20%2EdataTables%5Finfo%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%7Bfloat%3Anone%3Btext%2Dalign%3Acenter%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Fpaginate%7Bmargin%2Dtop%3A0%2E5em%7D%7D%40media%20screen%20and%20%28max%2Dwidth%3A%20640px%29%7B%2EdataTables%5Fwrapper%20%2EdataTables%5Flength%2C%2EdataTables%5Fwrapper%20%2EdataTables%5Ffilter%7Bfloat%3Anone%3Btext%2Dalign%3Acenter%7D%2EdataTables%5Fwrapper%20%2EdataTables%5Ffilter%7Bmargin%2Dtop%3A0%2E5em%7D%7D%0A" rel="stylesheet" />
<link href="data:text/css;charset=utf-8,%0Atable%2EdataTable%20tr%2Eselected%20td%2C%20table%2EdataTable%20td%2Eselected%20%7B%0Abackground%2Dcolor%3A%20%23b0bed9%20%21important%3B%0A%7D%0A%0A%2EdataTables%5FscrollBody%20%2EdataTables%5Fsizing%20%7B%0Avisibility%3A%20hidden%3B%0A%7D%0A" rel="stylesheet" />
<script src="data:application/x-javascript;base64,LyohCiBEYXRhVGFibGVzIDEuMTAuMTIKIMKpMjAwOC0yMDE1IFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiovCihmdW5jdGlvbihoKXsiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxmdW5jdGlvbihEKXtyZXR1cm4gaChELHdpbmRvdyxkb2N1bWVudCl9KToib2JqZWN0Ij09PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKEQsSSl7RHx8KEQ9d2luZG93KTtJfHwoST0idW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3c/cmVxdWlyZSgianF1ZXJ5Iik6cmVxdWlyZSgianF1ZXJ5IikoRCkpO3JldHVybiBoKEksRCxELmRvY3VtZW50KX06aChqUXVlcnksd2luZG93LGRvY3VtZW50KX0pKGZ1bmN0aW9uKGgsRCxJLGspe2Z1bmN0aW9uIFgoYSl7dmFyIGIsYyxkPXt9O2guZWFjaChhLGZ1bmN0aW9uKGUpe2lmKChiPWUubWF0Y2goL14oW15BLVpdKz8pKFtBLVpdKS8pKSYmLTEhPT0iYSBhYSBhaSBhbyBhcyBiIGZuIGkgbSBvIHMgIi5pbmRleE9mKGJbMV0rIiAiKSljPWUucmVwbGFjZShiWzBdLGJbMl0udG9Mb3dlckNhc2UoKSksCmRbY109ZSwibyI9PT1iWzFdJiZYKGFbZV0pfSk7YS5faHVuZ2FyaWFuTWFwPWR9ZnVuY3Rpb24gSyhhLGIsYyl7YS5faHVuZ2FyaWFuTWFwfHxYKGEpO3ZhciBkO2guZWFjaChiLGZ1bmN0aW9uKGUpe2Q9YS5faHVuZ2FyaWFuTWFwW2VdO2lmKGQhPT1rJiYoY3x8YltkXT09PWspKSJvIj09PWQuY2hhckF0KDApPyhiW2RdfHwoYltkXT17fSksaC5leHRlbmQoITAsYltkXSxiW2VdKSxLKGFbZF0sYltkXSxjKSk6YltkXT1iW2VdfSl9ZnVuY3Rpb24gRGEoYSl7dmFyIGI9bS5kZWZhdWx0cy5vTGFuZ3VhZ2UsYz1hLnNaZXJvUmVjb3JkczshYS5zRW1wdHlUYWJsZSYmKGMmJiJObyBkYXRhIGF2YWlsYWJsZSBpbiB0YWJsZSI9PT1iLnNFbXB0eVRhYmxlKSYmRShhLGEsInNaZXJvUmVjb3JkcyIsInNFbXB0eVRhYmxlIik7IWEuc0xvYWRpbmdSZWNvcmRzJiYoYyYmIkxvYWRpbmcuLi4iPT09Yi5zTG9hZGluZ1JlY29yZHMpJiZFKGEsYSwic1plcm9SZWNvcmRzIiwic0xvYWRpbmdSZWNvcmRzIik7CmEuc0luZm9UaG91c2FuZHMmJihhLnNUaG91c2FuZHM9YS5zSW5mb1Rob3VzYW5kcyk7KGE9YS5zRGVjaW1hbCkmJmRiKGEpfWZ1bmN0aW9uIGViKGEpe0EoYSwib3JkZXJpbmciLCJiU29ydCIpO0EoYSwib3JkZXJNdWx0aSIsImJTb3J0TXVsdGkiKTtBKGEsIm9yZGVyQ2xhc3NlcyIsImJTb3J0Q2xhc3NlcyIpO0EoYSwib3JkZXJDZWxsc1RvcCIsImJTb3J0Q2VsbHNUb3AiKTtBKGEsIm9yZGVyIiwiYWFTb3J0aW5nIik7QShhLCJvcmRlckZpeGVkIiwiYWFTb3J0aW5nRml4ZWQiKTtBKGEsInBhZ2luZyIsImJQYWdpbmF0ZSIpO0EoYSwicGFnaW5nVHlwZSIsInNQYWdpbmF0aW9uVHlwZSIpO0EoYSwicGFnZUxlbmd0aCIsImlEaXNwbGF5TGVuZ3RoIik7QShhLCJzZWFyY2hpbmciLCJiRmlsdGVyIik7ImJvb2xlYW4iPT09dHlwZW9mIGEuc1Njcm9sbFgmJihhLnNTY3JvbGxYPWEuc1Njcm9sbFg/IjEwMCUiOiIiKTsiYm9vbGVhbiI9PT10eXBlb2YgYS5zY3JvbGxYJiYoYS5zY3JvbGxYPQphLnNjcm9sbFg/IjEwMCUiOiIiKTtpZihhPWEuYW9TZWFyY2hDb2xzKWZvcih2YXIgYj0wLGM9YS5sZW5ndGg7YjxjO2IrKylhW2JdJiZLKG0ubW9kZWxzLm9TZWFyY2gsYVtiXSl9ZnVuY3Rpb24gZmIoYSl7QShhLCJvcmRlcmFibGUiLCJiU29ydGFibGUiKTtBKGEsIm9yZGVyRGF0YSIsImFEYXRhU29ydCIpO0EoYSwib3JkZXJTZXF1ZW5jZSIsImFzU29ydGluZyIpO0EoYSwib3JkZXJEYXRhVHlwZSIsInNvcnREYXRhVHlwZSIpO3ZhciBiPWEuYURhdGFTb3J0O2ImJiFoLmlzQXJyYXkoYikmJihhLmFEYXRhU29ydD1bYl0pfWZ1bmN0aW9uIGdiKGEpe2lmKCFtLl9fYnJvd3Nlcil7dmFyIGI9e307bS5fX2Jyb3dzZXI9Yjt2YXIgYz1oKCI8ZGl2Lz4iKS5jc3Moe3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjAsbGVmdDowLGhlaWdodDoxLHdpZHRoOjEsb3ZlcmZsb3c6ImhpZGRlbiJ9KS5hcHBlbmQoaCgiPGRpdi8+IikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoxLGxlZnQ6MSwKd2lkdGg6MTAwLG92ZXJmbG93OiJzY3JvbGwifSkuYXBwZW5kKGgoIjxkaXYvPiIpLmNzcyh7d2lkdGg6IjEwMCUiLGhlaWdodDoxMH0pKSkuYXBwZW5kVG8oImJvZHkiKSxkPWMuY2hpbGRyZW4oKSxlPWQuY2hpbGRyZW4oKTtiLmJhcldpZHRoPWRbMF0ub2Zmc2V0V2lkdGgtZFswXS5jbGllbnRXaWR0aDtiLmJTY3JvbGxPdmVyc2l6ZT0xMDA9PT1lWzBdLm9mZnNldFdpZHRoJiYxMDAhPT1kWzBdLmNsaWVudFdpZHRoO2IuYlNjcm9sbGJhckxlZnQ9MSE9PU1hdGgucm91bmQoZS5vZmZzZXQoKS5sZWZ0KTtiLmJCb3VuZGluZz1jWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoPyEwOiExO2MucmVtb3ZlKCl9aC5leHRlbmQoYS5vQnJvd3NlcixtLl9fYnJvd3Nlcik7YS5vU2Nyb2xsLmlCYXJXaWR0aD1tLl9fYnJvd3Nlci5iYXJXaWR0aH1mdW5jdGlvbiBoYihhLGIsYyxkLGUsZil7dmFyIGcsaj0hMTtjIT09ayYmKGc9YyxqPSEwKTtmb3IoO2QhPT1lOylhLmhhc093blByb3BlcnR5KGQpJiYKKGc9aj9iKGcsYVtkXSxkLGEpOmFbZF0saj0hMCxkKz1mKTtyZXR1cm4gZ31mdW5jdGlvbiBFYShhLGIpe3ZhciBjPW0uZGVmYXVsdHMuY29sdW1uLGQ9YS5hb0NvbHVtbnMubGVuZ3RoLGM9aC5leHRlbmQoe30sbS5tb2RlbHMub0NvbHVtbixjLHtuVGg6Yj9iOkkuY3JlYXRlRWxlbWVudCgidGgiKSxzVGl0bGU6Yy5zVGl0bGU/Yy5zVGl0bGU6Yj9iLmlubmVySFRNTDoiIixhRGF0YVNvcnQ6Yy5hRGF0YVNvcnQ/Yy5hRGF0YVNvcnQ6W2RdLG1EYXRhOmMubURhdGE/Yy5tRGF0YTpkLGlkeDpkfSk7YS5hb0NvbHVtbnMucHVzaChjKTtjPWEuYW9QcmVTZWFyY2hDb2xzO2NbZF09aC5leHRlbmQoe30sbS5tb2RlbHMub1NlYXJjaCxjW2RdKTtqYShhLGQsaChiKS5kYXRhKCkpfWZ1bmN0aW9uIGphKGEsYixjKXt2YXIgYj1hLmFvQ29sdW1uc1tiXSxkPWEub0NsYXNzZXMsZT1oKGIublRoKTtpZighYi5zV2lkdGhPcmlnKXtiLnNXaWR0aE9yaWc9ZS5hdHRyKCJ3aWR0aCIpfHxudWxsO3ZhciBmPQooZS5hdHRyKCJzdHlsZSIpfHwiIikubWF0Y2goL3dpZHRoOlxzKihcZCtbcHhlbSVdKykvKTtmJiYoYi5zV2lkdGhPcmlnPWZbMV0pfWMhPT1rJiZudWxsIT09YyYmKGZiKGMpLEsobS5kZWZhdWx0cy5jb2x1bW4sYyksYy5tRGF0YVByb3AhPT1rJiYhYy5tRGF0YSYmKGMubURhdGE9Yy5tRGF0YVByb3ApLGMuc1R5cGUmJihiLl9zTWFudWFsVHlwZT1jLnNUeXBlKSxjLmNsYXNzTmFtZSYmIWMuc0NsYXNzJiYoYy5zQ2xhc3M9Yy5jbGFzc05hbWUpLGguZXh0ZW5kKGIsYyksRShiLGMsInNXaWR0aCIsInNXaWR0aE9yaWciKSxjLmlEYXRhU29ydCE9PWsmJihiLmFEYXRhU29ydD1bYy5pRGF0YVNvcnRdKSxFKGIsYywiYURhdGFTb3J0IikpO3ZhciBnPWIubURhdGEsaj1RKGcpLGk9Yi5tUmVuZGVyP1EoYi5tUmVuZGVyKTpudWxsLGM9ZnVuY3Rpb24oYSl7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgYSYmLTEhPT1hLmluZGV4T2YoIkAiKX07Yi5fYkF0dHJTcmM9aC5pc1BsYWluT2JqZWN0KGcpJiYKKGMoZy5zb3J0KXx8YyhnLnR5cGUpfHxjKGcuZmlsdGVyKSk7Yi5fc2V0dGVyPW51bGw7Yi5mbkdldERhdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWooYSxiLGssYyk7cmV0dXJuIGkmJmI/aShkLGIsYSxjKTpkfTtiLmZuU2V0RGF0YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIFIoZykoYSxiLGMpfTsibnVtYmVyIiE9PXR5cGVvZiBnJiYoYS5fcm93UmVhZE9iamVjdD0hMCk7YS5vRmVhdHVyZXMuYlNvcnR8fChiLmJTb3J0YWJsZT0hMSxlLmFkZENsYXNzKGQuc1NvcnRhYmxlTm9uZSkpO2E9LTEhPT1oLmluQXJyYXkoImFzYyIsYi5hc1NvcnRpbmcpO2M9LTEhPT1oLmluQXJyYXkoImRlc2MiLGIuYXNTb3J0aW5nKTshYi5iU29ydGFibGV8fCFhJiYhYz8oYi5zU29ydGluZ0NsYXNzPWQuc1NvcnRhYmxlTm9uZSxiLnNTb3J0aW5nQ2xhc3NKVUk9IiIpOmEmJiFjPyhiLnNTb3J0aW5nQ2xhc3M9ZC5zU29ydGFibGVBc2MsYi5zU29ydGluZ0NsYXNzSlVJPWQuc1NvcnRKVUlBc2NBbGxvd2VkKToKIWEmJmM/KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZURlc2MsYi5zU29ydGluZ0NsYXNzSlVJPWQuc1NvcnRKVUlEZXNjQWxsb3dlZCk6KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZSxiLnNTb3J0aW5nQ2xhc3NKVUk9ZC5zU29ydEpVSSl9ZnVuY3Rpb24gWShhKXtpZighMSE9PWEub0ZlYXR1cmVzLmJBdXRvV2lkdGgpe3ZhciBiPWEuYW9Db2x1bW5zO0ZhKGEpO2Zvcih2YXIgYz0wLGQ9Yi5sZW5ndGg7YzxkO2MrKyliW2NdLm5UaC5zdHlsZS53aWR0aD1iW2NdLnNXaWR0aH1iPWEub1Njcm9sbDsoIiIhPT1iLnNZfHwiIiE9PWIuc1gpJiZrYShhKTt1KGEsbnVsbCwiY29sdW1uLXNpemluZyIsW2FdKX1mdW5jdGlvbiBaKGEsYil7dmFyIGM9bGEoYSwiYlZpc2libGUiKTtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBjW2JdP2NbYl06bnVsbH1mdW5jdGlvbiAkKGEsYil7dmFyIGM9bGEoYSwiYlZpc2libGUiKSxjPWguaW5BcnJheShiLGMpO3JldHVybi0xIT09Yz9jOm51bGx9CmZ1bmN0aW9uIGFhKGEpe3ZhciBiPTA7aC5lYWNoKGEuYW9Db2x1bW5zLGZ1bmN0aW9uKGEsZCl7ZC5iVmlzaWJsZSYmIm5vbmUiIT09aChkLm5UaCkuY3NzKCJkaXNwbGF5IikmJmIrK30pO3JldHVybiBifWZ1bmN0aW9uIGxhKGEsYil7dmFyIGM9W107aC5tYXAoYS5hb0NvbHVtbnMsZnVuY3Rpb24oYSxlKXthW2JdJiZjLnB1c2goZSl9KTtyZXR1cm4gY31mdW5jdGlvbiBHYShhKXt2YXIgYj1hLmFvQ29sdW1ucyxjPWEuYW9EYXRhLGQ9bS5leHQudHlwZS5kZXRlY3QsZSxmLGcsaixpLGgsbCxxLHQ7ZT0wO2ZvcihmPWIubGVuZ3RoO2U8ZjtlKyspaWYobD1iW2VdLHQ9W10sIWwuc1R5cGUmJmwuX3NNYW51YWxUeXBlKWwuc1R5cGU9bC5fc01hbnVhbFR5cGU7ZWxzZSBpZighbC5zVHlwZSl7Zz0wO2ZvcihqPWQubGVuZ3RoO2c8ajtnKyspe2k9MDtmb3IoaD1jLmxlbmd0aDtpPGg7aSsrKXt0W2ldPT09ayYmKHRbaV09QihhLGksZSwidHlwZSIpKTtxPWRbZ10odFtpXSxhKTtpZighcSYmCmchPT1kLmxlbmd0aC0xKWJyZWFrO2lmKCJodG1sIj09PXEpYnJlYWt9aWYocSl7bC5zVHlwZT1xO2JyZWFrfX1sLnNUeXBlfHwobC5zVHlwZT0ic3RyaW5nIil9fWZ1bmN0aW9uIGliKGEsYixjLGQpe3ZhciBlLGYsZyxqLGksbixsPWEuYW9Db2x1bW5zO2lmKGIpZm9yKGU9Yi5sZW5ndGgtMTswPD1lO2UtLSl7bj1iW2VdO3ZhciBxPW4udGFyZ2V0cyE9PWs/bi50YXJnZXRzOm4uYVRhcmdldHM7aC5pc0FycmF5KHEpfHwocT1bcV0pO2Y9MDtmb3IoZz1xLmxlbmd0aDtmPGc7ZisrKWlmKCJudW1iZXIiPT09dHlwZW9mIHFbZl0mJjA8PXFbZl0pe2Zvcig7bC5sZW5ndGg8PXFbZl07KUVhKGEpO2QocVtmXSxuKX1lbHNlIGlmKCJudW1iZXIiPT09dHlwZW9mIHFbZl0mJjA+cVtmXSlkKGwubGVuZ3RoK3FbZl0sbik7ZWxzZSBpZigic3RyaW5nIj09PXR5cGVvZiBxW2ZdKXtqPTA7Zm9yKGk9bC5sZW5ndGg7ajxpO2orKykoIl9hbGwiPT1xW2ZdfHxoKGxbal0ublRoKS5oYXNDbGFzcyhxW2ZdKSkmJgpkKGosbil9fWlmKGMpe2U9MDtmb3IoYT1jLmxlbmd0aDtlPGE7ZSsrKWQoZSxjW2VdKX19ZnVuY3Rpb24gTihhLGIsYyxkKXt2YXIgZT1hLmFvRGF0YS5sZW5ndGgsZj1oLmV4dGVuZCghMCx7fSxtLm1vZGVscy5vUm93LHtzcmM6Yz8iZG9tIjoiZGF0YSIsaWR4OmV9KTtmLl9hRGF0YT1iO2EuYW9EYXRhLnB1c2goZik7Zm9yKHZhciBnPWEuYW9Db2x1bW5zLGo9MCxpPWcubGVuZ3RoO2o8aTtqKyspZ1tqXS5zVHlwZT1udWxsO2EuYWlEaXNwbGF5TWFzdGVyLnB1c2goZSk7Yj1hLnJvd0lkRm4oYik7YiE9PWsmJihhLmFJZHNbYl09Zik7KGN8fCFhLm9GZWF0dXJlcy5iRGVmZXJSZW5kZXIpJiZIYShhLGUsYyxkKTtyZXR1cm4gZX1mdW5jdGlvbiBtYShhLGIpe3ZhciBjO2IgaW5zdGFuY2VvZiBofHwoYj1oKGIpKTtyZXR1cm4gYi5tYXAoZnVuY3Rpb24oYixlKXtjPUlhKGEsZSk7cmV0dXJuIE4oYSxjLmRhdGEsZSxjLmNlbGxzKX0pfWZ1bmN0aW9uIEIoYSxiLGMsZCl7dmFyIGU9YS5pRHJhdywKZj1hLmFvQ29sdW1uc1tjXSxnPWEuYW9EYXRhW2JdLl9hRGF0YSxqPWYuc0RlZmF1bHRDb250ZW50LGk9Zi5mbkdldERhdGEoZyxkLHtzZXR0aW5nczphLHJvdzpiLGNvbDpjfSk7aWYoaT09PWspcmV0dXJuIGEuaURyYXdFcnJvciE9ZSYmbnVsbD09PWomJihMKGEsMCwiUmVxdWVzdGVkIHVua25vd24gcGFyYW1ldGVyICIrKCJmdW5jdGlvbiI9PXR5cGVvZiBmLm1EYXRhPyJ7ZnVuY3Rpb259IjoiJyIrZi5tRGF0YSsiJyIpKyIgZm9yIHJvdyAiK2IrIiwgY29sdW1uICIrYyw0KSxhLmlEcmF3RXJyb3I9ZSksajtpZigoaT09PWd8fG51bGw9PT1pKSYmbnVsbCE9PWomJmQhPT1rKWk9ajtlbHNlIGlmKCJmdW5jdGlvbiI9PT10eXBlb2YgaSlyZXR1cm4gaS5jYWxsKGcpO3JldHVybiBudWxsPT09aSYmImRpc3BsYXkiPT1kPyIiOml9ZnVuY3Rpb24gamIoYSxiLGMsZCl7YS5hb0NvbHVtbnNbY10uZm5TZXREYXRhKGEuYW9EYXRhW2JdLl9hRGF0YSxkLHtzZXR0aW5nczphLHJvdzpiLGNvbDpjfSl9CmZ1bmN0aW9uIEphKGEpe3JldHVybiBoLm1hcChhLm1hdGNoKC8oXFwufFteXC5dKSsvZyl8fFsiIl0sZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvXFwuL2csIi4iKX0pfWZ1bmN0aW9uIFEoYSl7aWYoaC5pc1BsYWluT2JqZWN0KGEpKXt2YXIgYj17fTtoLmVhY2goYSxmdW5jdGlvbihhLGMpe2MmJihiW2FdPVEoYykpfSk7cmV0dXJuIGZ1bmN0aW9uKGEsYyxmLGcpe3ZhciBqPWJbY118fGIuXztyZXR1cm4gaiE9PWs/aihhLGMsZixnKTphfX1pZihudWxsPT09YSlyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgYSlyZXR1cm4gZnVuY3Rpb24oYixjLGYsZyl7cmV0dXJuIGEoYixjLGYsZyl9O2lmKCJzdHJpbmciPT09dHlwZW9mIGEmJigtMSE9PWEuaW5kZXhPZigiLiIpfHwtMSE9PWEuaW5kZXhPZigiWyIpfHwtMSE9PWEuaW5kZXhPZigiKCIpKSl7dmFyIGM9ZnVuY3Rpb24oYSxiLGYpe3ZhciBnLGo7aWYoIiIhPT1mKXtqPUphKGYpOwpmb3IodmFyIGk9MCxuPWoubGVuZ3RoO2k8bjtpKyspe2Y9altpXS5tYXRjaChiYSk7Zz1qW2ldLm1hdGNoKFUpO2lmKGYpe2pbaV09altpXS5yZXBsYWNlKGJhLCIiKTsiIiE9PWpbaV0mJihhPWFbaltpXV0pO2c9W107ai5zcGxpY2UoMCxpKzEpO2o9ai5qb2luKCIuIik7aWYoaC5pc0FycmF5KGEpKXtpPTA7Zm9yKG49YS5sZW5ndGg7aTxuO2krKylnLnB1c2goYyhhW2ldLGIsaikpfWE9ZlswXS5zdWJzdHJpbmcoMSxmWzBdLmxlbmd0aC0xKTthPSIiPT09YT9nOmcuam9pbihhKTticmVha31lbHNlIGlmKGcpe2pbaV09altpXS5yZXBsYWNlKFUsIiIpO2E9YVtqW2ldXSgpO2NvbnRpbnVlfWlmKG51bGw9PT1hfHxhW2pbaV1dPT09aylyZXR1cm4gazthPWFbaltpXV19fXJldHVybiBhfTtyZXR1cm4gZnVuY3Rpb24oYixlKXtyZXR1cm4gYyhiLGUsYSl9fXJldHVybiBmdW5jdGlvbihiKXtyZXR1cm4gYlthXX19ZnVuY3Rpb24gUihhKXtpZihoLmlzUGxhaW5PYmplY3QoYSkpcmV0dXJuIFIoYS5fKTsKaWYobnVsbD09PWEpcmV0dXJuIGZ1bmN0aW9uKCl7fTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGEpcmV0dXJuIGZ1bmN0aW9uKGIsZCxlKXthKGIsInNldCIsZCxlKX07aWYoInN0cmluZyI9PT10eXBlb2YgYSYmKC0xIT09YS5pbmRleE9mKCIuIil8fC0xIT09YS5pbmRleE9mKCJbIil8fC0xIT09YS5pbmRleE9mKCIoIikpKXt2YXIgYj1mdW5jdGlvbihhLGQsZSl7dmFyIGU9SmEoZSksZjtmPWVbZS5sZW5ndGgtMV07Zm9yKHZhciBnLGosaT0wLG49ZS5sZW5ndGgtMTtpPG47aSsrKXtnPWVbaV0ubWF0Y2goYmEpO2o9ZVtpXS5tYXRjaChVKTtpZihnKXtlW2ldPWVbaV0ucmVwbGFjZShiYSwiIik7YVtlW2ldXT1bXTtmPWUuc2xpY2UoKTtmLnNwbGljZSgwLGkrMSk7Zz1mLmpvaW4oIi4iKTtpZihoLmlzQXJyYXkoZCkpe2o9MDtmb3Iobj1kLmxlbmd0aDtqPG47aisrKWY9e30sYihmLGRbal0sZyksYVtlW2ldXS5wdXNoKGYpfWVsc2UgYVtlW2ldXT1kO3JldHVybn1qJiYoZVtpXT1lW2ldLnJlcGxhY2UoVSwKIiIpLGE9YVtlW2ldXShkKSk7aWYobnVsbD09PWFbZVtpXV18fGFbZVtpXV09PT1rKWFbZVtpXV09e307YT1hW2VbaV1dfWlmKGYubWF0Y2goVSkpYVtmLnJlcGxhY2UoVSwiIildKGQpO2Vsc2UgYVtmLnJlcGxhY2UoYmEsIiIpXT1kfTtyZXR1cm4gZnVuY3Rpb24oYyxkKXtyZXR1cm4gYihjLGQsYSl9fXJldHVybiBmdW5jdGlvbihiLGQpe2JbYV09ZH19ZnVuY3Rpb24gS2EoYSl7cmV0dXJuIEcoYS5hb0RhdGEsIl9hRGF0YSIpfWZ1bmN0aW9uIG5hKGEpe2EuYW9EYXRhLmxlbmd0aD0wO2EuYWlEaXNwbGF5TWFzdGVyLmxlbmd0aD0wO2EuYWlEaXNwbGF5Lmxlbmd0aD0wO2EuYUlkcz17fX1mdW5jdGlvbiBvYShhLGIsYyl7Zm9yKHZhciBkPS0xLGU9MCxmPWEubGVuZ3RoO2U8ZjtlKyspYVtlXT09Yj9kPWU6YVtlXT5iJiZhW2VdLS07IC0xIT1kJiZjPT09ayYmYS5zcGxpY2UoZCwxKX1mdW5jdGlvbiBjYShhLGIsYyxkKXt2YXIgZT1hLmFvRGF0YVtiXSxmLGc9ZnVuY3Rpb24oYyxkKXtmb3IoO2MuY2hpbGROb2Rlcy5sZW5ndGg7KWMucmVtb3ZlQ2hpbGQoYy5maXJzdENoaWxkKTsKYy5pbm5lckhUTUw9QihhLGIsZCwiZGlzcGxheSIpfTtpZigiZG9tIj09PWN8fCghY3x8ImF1dG8iPT09YykmJiJkb20iPT09ZS5zcmMpZS5fYURhdGE9SWEoYSxlLGQsZD09PWs/azplLl9hRGF0YSkuZGF0YTtlbHNle3ZhciBqPWUuYW5DZWxscztpZihqKWlmKGQhPT1rKWcoaltkXSxkKTtlbHNle2M9MDtmb3IoZj1qLmxlbmd0aDtjPGY7YysrKWcoaltjXSxjKX19ZS5fYVNvcnREYXRhPW51bGw7ZS5fYUZpbHRlckRhdGE9bnVsbDtnPWEuYW9Db2x1bW5zO2lmKGQhPT1rKWdbZF0uc1R5cGU9bnVsbDtlbHNle2M9MDtmb3IoZj1nLmxlbmd0aDtjPGY7YysrKWdbY10uc1R5cGU9bnVsbDtMYShhLGUpfX1mdW5jdGlvbiBJYShhLGIsYyxkKXt2YXIgZT1bXSxmPWIuZmlyc3RDaGlsZCxnLGosaT0wLG4sbD1hLmFvQ29sdW1ucyxxPWEuX3Jvd1JlYWRPYmplY3QsZD1kIT09az9kOnE/e306W10sdD1mdW5jdGlvbihhLGIpe2lmKCJzdHJpbmciPT09dHlwZW9mIGEpe3ZhciBjPWEuaW5kZXhPZigiQCIpOwotMSE9PWMmJihjPWEuc3Vic3RyaW5nKGMrMSksUihhKShkLGIuZ2V0QXR0cmlidXRlKGMpKSl9fSxTPWZ1bmN0aW9uKGEpe2lmKGM9PT1rfHxjPT09aSlqPWxbaV0sbj1oLnRyaW0oYS5pbm5lckhUTUwpLGomJmouX2JBdHRyU3JjPyhSKGoubURhdGEuXykoZCxuKSx0KGoubURhdGEuc29ydCxhKSx0KGoubURhdGEudHlwZSxhKSx0KGoubURhdGEuZmlsdGVyLGEpKTpxPyhqLl9zZXR0ZXJ8fChqLl9zZXR0ZXI9UihqLm1EYXRhKSksai5fc2V0dGVyKGQsbikpOmRbaV09bjtpKyt9O2lmKGYpZm9yKDtmOyl7Zz1mLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk7aWYoIlREIj09Z3x8IlRIIj09ZylTKGYpLGUucHVzaChmKTtmPWYubmV4dFNpYmxpbmd9ZWxzZXtlPWIuYW5DZWxscztmPTA7Zm9yKGc9ZS5sZW5ndGg7ZjxnO2YrKylTKGVbZl0pfWlmKGI9Yi5maXJzdENoaWxkP2I6Yi5uVHIpKGI9Yi5nZXRBdHRyaWJ1dGUoImlkIikpJiZSKGEucm93SWQpKGQsYik7cmV0dXJue2RhdGE6ZCxjZWxsczplfX0KZnVuY3Rpb24gSGEoYSxiLGMsZCl7dmFyIGU9YS5hb0RhdGFbYl0sZj1lLl9hRGF0YSxnPVtdLGosaSxuLGwscTtpZihudWxsPT09ZS5uVHIpe2o9Y3x8SS5jcmVhdGVFbGVtZW50KCJ0ciIpO2UublRyPWo7ZS5hbkNlbGxzPWc7ai5fRFRfUm93SW5kZXg9YjtMYShhLGUpO2w9MDtmb3IocT1hLmFvQ29sdW1ucy5sZW5ndGg7bDxxO2wrKyl7bj1hLmFvQ29sdW1uc1tsXTtpPWM/ZFtsXTpJLmNyZWF0ZUVsZW1lbnQobi5zQ2VsbFR5cGUpO2kuX0RUX0NlbGxJbmRleD17cm93OmIsY29sdW1uOmx9O2cucHVzaChpKTtpZigoIWN8fG4ubVJlbmRlcnx8bi5tRGF0YSE9PWwpJiYoIWguaXNQbGFpbk9iamVjdChuLm1EYXRhKXx8bi5tRGF0YS5fIT09bCsiLmRpc3BsYXkiKSlpLmlubmVySFRNTD1CKGEsYixsLCJkaXNwbGF5Iik7bi5zQ2xhc3MmJihpLmNsYXNzTmFtZSs9IiAiK24uc0NsYXNzKTtuLmJWaXNpYmxlJiYhYz9qLmFwcGVuZENoaWxkKGkpOiFuLmJWaXNpYmxlJiZjJiZpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSk7Cm4uZm5DcmVhdGVkQ2VsbCYmbi5mbkNyZWF0ZWRDZWxsLmNhbGwoYS5vSW5zdGFuY2UsaSxCKGEsYixsKSxmLGIsbCl9dShhLCJhb1Jvd0NyZWF0ZWRDYWxsYmFjayIsbnVsbCxbaixmLGJdKX1lLm5Uci5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyb3ciKX1mdW5jdGlvbiBMYShhLGIpe3ZhciBjPWIublRyLGQ9Yi5fYURhdGE7aWYoYyl7dmFyIGU9YS5yb3dJZEZuKGQpO2UmJihjLmlkPWUpO2QuRFRfUm93Q2xhc3MmJihlPWQuRFRfUm93Q2xhc3Muc3BsaXQoIiAiKSxiLl9fcm93Yz1iLl9fcm93Yz9wYShiLl9fcm93Yy5jb25jYXQoZSkpOmUsaChjKS5yZW1vdmVDbGFzcyhiLl9fcm93Yy5qb2luKCIgIikpLmFkZENsYXNzKGQuRFRfUm93Q2xhc3MpKTtkLkRUX1Jvd0F0dHImJmgoYykuYXR0cihkLkRUX1Jvd0F0dHIpO2QuRFRfUm93RGF0YSYmaChjKS5kYXRhKGQuRFRfUm93RGF0YSl9fWZ1bmN0aW9uIGtiKGEpe3ZhciBiLGMsZCxlLGYsZz1hLm5USGVhZCxqPWEublRGb290LGk9MD09PQpoKCJ0aCwgdGQiLGcpLmxlbmd0aCxuPWEub0NsYXNzZXMsbD1hLmFvQ29sdW1ucztpJiYoZT1oKCI8dHIvPiIpLmFwcGVuZFRvKGcpKTtiPTA7Zm9yKGM9bC5sZW5ndGg7YjxjO2IrKylmPWxbYl0sZD1oKGYublRoKS5hZGRDbGFzcyhmLnNDbGFzcyksaSYmZC5hcHBlbmRUbyhlKSxhLm9GZWF0dXJlcy5iU29ydCYmKGQuYWRkQ2xhc3MoZi5zU29ydGluZ0NsYXNzKSwhMSE9PWYuYlNvcnRhYmxlJiYoZC5hdHRyKCJ0YWJpbmRleCIsYS5pVGFiSW5kZXgpLmF0dHIoImFyaWEtY29udHJvbHMiLGEuc1RhYmxlSWQpLE1hKGEsZi5uVGgsYikpKSxmLnNUaXRsZSE9ZFswXS5pbm5lckhUTUwmJmQuaHRtbChmLnNUaXRsZSksTmEoYSwiaGVhZGVyIikoYSxkLGYsbik7aSYmZGEoYS5hb0hlYWRlcixnKTtoKGcpLmZpbmQoIj50ciIpLmF0dHIoInJvbGUiLCJyb3ciKTtoKGcpLmZpbmQoIj50cj50aCwgPnRyPnRkIikuYWRkQ2xhc3Mobi5zSGVhZGVyVEgpO2goaikuZmluZCgiPnRyPnRoLCA+dHI+dGQiKS5hZGRDbGFzcyhuLnNGb290ZXJUSCk7CmlmKG51bGwhPT1qKXthPWEuYW9Gb290ZXJbMF07Yj0wO2ZvcihjPWEubGVuZ3RoO2I8YztiKyspZj1sW2JdLGYublRmPWFbYl0uY2VsbCxmLnNDbGFzcyYmaChmLm5UZikuYWRkQ2xhc3MoZi5zQ2xhc3MpfX1mdW5jdGlvbiBlYShhLGIsYyl7dmFyIGQsZSxmLGc9W10saj1bXSxpPWEuYW9Db2x1bW5zLmxlbmd0aCxuO2lmKGIpe2M9PT1rJiYoYz0hMSk7ZD0wO2ZvcihlPWIubGVuZ3RoO2Q8ZTtkKyspe2dbZF09YltkXS5zbGljZSgpO2dbZF0ublRyPWJbZF0ublRyO2ZvcihmPWktMTswPD1mO2YtLSkhYS5hb0NvbHVtbnNbZl0uYlZpc2libGUmJiFjJiZnW2RdLnNwbGljZShmLDEpO2oucHVzaChbXSl9ZD0wO2ZvcihlPWcubGVuZ3RoO2Q8ZTtkKyspe2lmKGE9Z1tkXS5uVHIpZm9yKDtmPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChmKTtmPTA7Zm9yKGI9Z1tkXS5sZW5ndGg7ZjxiO2YrKylpZihuPWk9MSxqW2RdW2ZdPT09ayl7YS5hcHBlbmRDaGlsZChnW2RdW2ZdLmNlbGwpOwpmb3IoaltkXVtmXT0xO2dbZCtpXSE9PWsmJmdbZF1bZl0uY2VsbD09Z1tkK2ldW2ZdLmNlbGw7KWpbZCtpXVtmXT0xLGkrKztmb3IoO2dbZF1bZituXSE9PWsmJmdbZF1bZl0uY2VsbD09Z1tkXVtmK25dLmNlbGw7KXtmb3IoYz0wO2M8aTtjKyspaltkK2NdW2Yrbl09MTtuKyt9aChnW2RdW2ZdLmNlbGwpLmF0dHIoInJvd3NwYW4iLGkpLmF0dHIoImNvbHNwYW4iLG4pfX19fWZ1bmN0aW9uIE8oYSl7dmFyIGI9dShhLCJhb1ByZURyYXdDYWxsYmFjayIsInByZURyYXciLFthXSk7aWYoLTEhPT1oLmluQXJyYXkoITEsYikpQyhhLCExKTtlbHNle3ZhciBiPVtdLGM9MCxkPWEuYXNTdHJpcGVDbGFzc2VzLGU9ZC5sZW5ndGgsZj1hLm9MYW5ndWFnZSxnPWEuaUluaXREaXNwbGF5U3RhcnQsaj0ic3NwIj09eShhKSxpPWEuYWlEaXNwbGF5O2EuYkRyYXdpbmc9ITA7ZyE9PWsmJi0xIT09ZyYmKGEuX2lEaXNwbGF5U3RhcnQ9aj9nOmc+PWEuZm5SZWNvcmRzRGlzcGxheSgpPzA6ZyxhLmlJbml0RGlzcGxheVN0YXJ0PQotMSk7dmFyIGc9YS5faURpc3BsYXlTdGFydCxuPWEuZm5EaXNwbGF5RW5kKCk7aWYoYS5iRGVmZXJMb2FkaW5nKWEuYkRlZmVyTG9hZGluZz0hMSxhLmlEcmF3KyssQyhhLCExKTtlbHNlIGlmKGope2lmKCFhLmJEZXN0cm95aW5nJiYhbGIoYSkpcmV0dXJufWVsc2UgYS5pRHJhdysrO2lmKDAhPT1pLmxlbmd0aCl7Zj1qP2EuYW9EYXRhLmxlbmd0aDpuO2ZvcihqPWo/MDpnO2o8ZjtqKyspe3ZhciBsPWlbal0scT1hLmFvRGF0YVtsXTtudWxsPT09cS5uVHImJkhhKGEsbCk7bD1xLm5UcjtpZigwIT09ZSl7dmFyIHQ9ZFtjJWVdO3EuX3NSb3dTdHJpcGUhPXQmJihoKGwpLnJlbW92ZUNsYXNzKHEuX3NSb3dTdHJpcGUpLmFkZENsYXNzKHQpLHEuX3NSb3dTdHJpcGU9dCl9dShhLCJhb1Jvd0NhbGxiYWNrIixudWxsLFtsLHEuX2FEYXRhLGMsal0pO2IucHVzaChsKTtjKyt9fWVsc2UgYz1mLnNaZXJvUmVjb3JkcywxPT1hLmlEcmF3JiYiYWpheCI9PXkoYSk/Yz1mLnNMb2FkaW5nUmVjb3JkczoKZi5zRW1wdHlUYWJsZSYmMD09PWEuZm5SZWNvcmRzVG90YWwoKSYmKGM9Zi5zRW1wdHlUYWJsZSksYlswXT1oKCI8dHIvPiIseyJjbGFzcyI6ZT9kWzBdOiIifSkuYXBwZW5kKGgoIjx0ZCAvPiIse3ZhbGlnbjoidG9wIixjb2xTcGFuOmFhKGEpLCJjbGFzcyI6YS5vQ2xhc3Nlcy5zUm93RW1wdHl9KS5odG1sKGMpKVswXTt1KGEsImFvSGVhZGVyQ2FsbGJhY2siLCJoZWFkZXIiLFtoKGEublRIZWFkKS5jaGlsZHJlbigidHIiKVswXSxLYShhKSxnLG4saV0pO3UoYSwiYW9Gb290ZXJDYWxsYmFjayIsImZvb3RlciIsW2goYS5uVEZvb3QpLmNoaWxkcmVuKCJ0ciIpWzBdLEthKGEpLGcsbixpXSk7ZD1oKGEublRCb2R5KTtkLmNoaWxkcmVuKCkuZGV0YWNoKCk7ZC5hcHBlbmQoaChiKSk7dShhLCJhb0RyYXdDYWxsYmFjayIsImRyYXciLFthXSk7YS5iU29ydGVkPSExO2EuYkZpbHRlcmVkPSExO2EuYkRyYXdpbmc9ITF9fWZ1bmN0aW9uIFQoYSxiKXt2YXIgYz1hLm9GZWF0dXJlcyxkPWMuYkZpbHRlcjsKYy5iU29ydCYmbWIoYSk7ZD9mYShhLGEub1ByZXZpb3VzU2VhcmNoKTphLmFpRGlzcGxheT1hLmFpRGlzcGxheU1hc3Rlci5zbGljZSgpOyEwIT09YiYmKGEuX2lEaXNwbGF5U3RhcnQ9MCk7YS5fZHJhd0hvbGQ9YjtPKGEpO2EuX2RyYXdIb2xkPSExfWZ1bmN0aW9uIG5iKGEpe3ZhciBiPWEub0NsYXNzZXMsYz1oKGEublRhYmxlKSxjPWgoIjxkaXYvPiIpLmluc2VydEJlZm9yZShjKSxkPWEub0ZlYXR1cmVzLGU9aCgiPGRpdi8+Iix7aWQ6YS5zVGFibGVJZCsiX3dyYXBwZXIiLCJjbGFzcyI6Yi5zV3JhcHBlcisoYS5uVEZvb3Q/IiI6IiAiK2Iuc05vRm9vdGVyKX0pO2EubkhvbGRpbmc9Y1swXTthLm5UYWJsZVdyYXBwZXI9ZVswXTthLm5UYWJsZVJlaW5zZXJ0QmVmb3JlPWEublRhYmxlLm5leHRTaWJsaW5nO2Zvcih2YXIgZj1hLnNEb20uc3BsaXQoIiIpLGcsaixpLG4sbCxxLHQ9MDt0PGYubGVuZ3RoO3QrKyl7Zz1udWxsO2o9Zlt0XTtpZigiPCI9PWope2k9aCgiPGRpdi8+IilbMF07Cm49Zlt0KzFdO2lmKCInIj09bnx8JyInPT1uKXtsPSIiO2ZvcihxPTI7Zlt0K3FdIT1uOylsKz1mW3QrcV0scSsrOyJIIj09bD9sPWIuc0pVSUhlYWRlcjoiRiI9PWwmJihsPWIuc0pVSUZvb3Rlcik7LTEhPWwuaW5kZXhPZigiLiIpPyhuPWwuc3BsaXQoIi4iKSxpLmlkPW5bMF0uc3Vic3RyKDEsblswXS5sZW5ndGgtMSksaS5jbGFzc05hbWU9blsxXSk6IiMiPT1sLmNoYXJBdCgwKT9pLmlkPWwuc3Vic3RyKDEsbC5sZW5ndGgtMSk6aS5jbGFzc05hbWU9bDt0Kz1xfWUuYXBwZW5kKGkpO2U9aChpKX1lbHNlIGlmKCI+Ij09aillPWUucGFyZW50KCk7ZWxzZSBpZigibCI9PWomJmQuYlBhZ2luYXRlJiZkLmJMZW5ndGhDaGFuZ2UpZz1vYihhKTtlbHNlIGlmKCJmIj09aiYmZC5iRmlsdGVyKWc9cGIoYSk7ZWxzZSBpZigiciI9PWomJmQuYlByb2Nlc3NpbmcpZz1xYihhKTtlbHNlIGlmKCJ0Ij09ailnPXJiKGEpO2Vsc2UgaWYoImkiPT1qJiZkLmJJbmZvKWc9c2IoYSk7ZWxzZSBpZigicCI9PQpqJiZkLmJQYWdpbmF0ZSlnPXRiKGEpO2Vsc2UgaWYoMCE9PW0uZXh0LmZlYXR1cmUubGVuZ3RoKXtpPW0uZXh0LmZlYXR1cmU7cT0wO2ZvcihuPWkubGVuZ3RoO3E8bjtxKyspaWYoaj09aVtxXS5jRmVhdHVyZSl7Zz1pW3FdLmZuSW5pdChhKTticmVha319ZyYmKGk9YS5hYW5GZWF0dXJlcyxpW2pdfHwoaVtqXT1bXSksaVtqXS5wdXNoKGcpLGUuYXBwZW5kKGcpKX1jLnJlcGxhY2VXaXRoKGUpO2EubkhvbGRpbmc9bnVsbH1mdW5jdGlvbiBkYShhLGIpe3ZhciBjPWgoYikuY2hpbGRyZW4oInRyIiksZCxlLGYsZyxqLGksbixsLHEsdDthLnNwbGljZSgwLGEubGVuZ3RoKTtmPTA7Zm9yKGk9Yy5sZW5ndGg7ZjxpO2YrKylhLnB1c2goW10pO2Y9MDtmb3IoaT1jLmxlbmd0aDtmPGk7ZisrKXtkPWNbZl07Zm9yKGU9ZC5maXJzdENoaWxkO2U7KXtpZigiVEQiPT1lLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCl8fCJUSCI9PWUubm9kZU5hbWUudG9VcHBlckNhc2UoKSl7bD0xKmUuZ2V0QXR0cmlidXRlKCJjb2xzcGFuIik7CnE9MSplLmdldEF0dHJpYnV0ZSgicm93c3BhbiIpO2w9IWx8fDA9PT1sfHwxPT09bD8xOmw7cT0hcXx8MD09PXF8fDE9PT1xPzE6cTtnPTA7Zm9yKGo9YVtmXTtqW2ddOylnKys7bj1nO3Q9MT09PWw/ITA6ITE7Zm9yKGo9MDtqPGw7aisrKWZvcihnPTA7ZzxxO2crKylhW2YrZ11bbitqXT17Y2VsbDplLHVuaXF1ZTp0fSxhW2YrZ10ublRyPWR9ZT1lLm5leHRTaWJsaW5nfX19ZnVuY3Rpb24gcWEoYSxiLGMpe3ZhciBkPVtdO2N8fChjPWEuYW9IZWFkZXIsYiYmKGM9W10sZGEoYyxiKSkpO2Zvcih2YXIgYj0wLGU9Yy5sZW5ndGg7YjxlO2IrKylmb3IodmFyIGY9MCxnPWNbYl0ubGVuZ3RoO2Y8ZztmKyspaWYoY1tiXVtmXS51bmlxdWUmJighZFtmXXx8IWEuYlNvcnRDZWxsc1RvcCkpZFtmXT1jW2JdW2ZdLmNlbGw7cmV0dXJuIGR9ZnVuY3Rpb24gcmEoYSxiLGMpe3UoYSwiYW9TZXJ2ZXJQYXJhbXMiLCJzZXJ2ZXJQYXJhbXMiLFtiXSk7aWYoYiYmaC5pc0FycmF5KGIpKXt2YXIgZD17fSwKZT0vKC4qPylcW1xdJC87aC5lYWNoKGIsZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm5hbWUubWF0Y2goZSk7Yz8oYz1jWzBdLGRbY118fChkW2NdPVtdKSxkW2NdLnB1c2goYi52YWx1ZSkpOmRbYi5uYW1lXT1iLnZhbHVlfSk7Yj1kfXZhciBmLGc9YS5hamF4LGo9YS5vSW5zdGFuY2UsaT1mdW5jdGlvbihiKXt1KGEsbnVsbCwieGhyIixbYSxiLGEuanFYSFJdKTtjKGIpfTtpZihoLmlzUGxhaW5PYmplY3QoZykmJmcuZGF0YSl7Zj1nLmRhdGE7dmFyIG49aC5pc0Z1bmN0aW9uKGYpP2YoYixhKTpmLGI9aC5pc0Z1bmN0aW9uKGYpJiZuP246aC5leHRlbmQoITAsYixuKTtkZWxldGUgZy5kYXRhfW49e2RhdGE6YixzdWNjZXNzOmZ1bmN0aW9uKGIpe3ZhciBjPWIuZXJyb3J8fGIuc0Vycm9yO2MmJkwoYSwwLGMpO2EuanNvbj1iO2koYil9LGRhdGFUeXBlOiJqc29uIixjYWNoZTohMSx0eXBlOmEuc1NlcnZlck1ldGhvZCxlcnJvcjpmdW5jdGlvbihiLGMpe3ZhciBkPXUoYSxudWxsLCJ4aHIiLApbYSxudWxsLGEuanFYSFJdKTstMT09PWguaW5BcnJheSghMCxkKSYmKCJwYXJzZXJlcnJvciI9PWM/TChhLDAsIkludmFsaWQgSlNPTiByZXNwb25zZSIsMSk6ND09PWIucmVhZHlTdGF0ZSYmTChhLDAsIkFqYXggZXJyb3IiLDcpKTtDKGEsITEpfX07YS5vQWpheERhdGE9Yjt1KGEsbnVsbCwicHJlWGhyIixbYSxiXSk7YS5mblNlcnZlckRhdGE/YS5mblNlcnZlckRhdGEuY2FsbChqLGEuc0FqYXhTb3VyY2UsaC5tYXAoYixmdW5jdGlvbihhLGIpe3JldHVybntuYW1lOmIsdmFsdWU6YX19KSxpLGEpOmEuc0FqYXhTb3VyY2V8fCJzdHJpbmciPT09dHlwZW9mIGc/YS5qcVhIUj1oLmFqYXgoaC5leHRlbmQobix7dXJsOmd8fGEuc0FqYXhTb3VyY2V9KSk6aC5pc0Z1bmN0aW9uKGcpP2EuanFYSFI9Zy5jYWxsKGosYixpLGEpOihhLmpxWEhSPWguYWpheChoLmV4dGVuZChuLGcpKSxnLmRhdGE9Zil9ZnVuY3Rpb24gbGIoYSl7cmV0dXJuIGEuYkFqYXhEYXRhR2V0PyhhLmlEcmF3KyssQyhhLAohMCkscmEoYSx1YihhKSxmdW5jdGlvbihiKXt2YihhLGIpfSksITEpOiEwfWZ1bmN0aW9uIHViKGEpe3ZhciBiPWEuYW9Db2x1bW5zLGM9Yi5sZW5ndGgsZD1hLm9GZWF0dXJlcyxlPWEub1ByZXZpb3VzU2VhcmNoLGY9YS5hb1ByZVNlYXJjaENvbHMsZyxqPVtdLGksbixsLHE9VihhKTtnPWEuX2lEaXNwbGF5U3RhcnQ7aT0hMSE9PWQuYlBhZ2luYXRlP2EuX2lEaXNwbGF5TGVuZ3RoOi0xO3ZhciBrPWZ1bmN0aW9uKGEsYil7ai5wdXNoKHtuYW1lOmEsdmFsdWU6Yn0pfTtrKCJzRWNobyIsYS5pRHJhdyk7aygiaUNvbHVtbnMiLGMpO2soInNDb2x1bW5zIixHKGIsInNOYW1lIikuam9pbigiLCIpKTtrKCJpRGlzcGxheVN0YXJ0IixnKTtrKCJpRGlzcGxheUxlbmd0aCIsaSk7dmFyIFM9e2RyYXc6YS5pRHJhdyxjb2x1bW5zOltdLG9yZGVyOltdLHN0YXJ0OmcsbGVuZ3RoOmksc2VhcmNoOnt2YWx1ZTplLnNTZWFyY2gscmVnZXg6ZS5iUmVnZXh9fTtmb3IoZz0wO2c8YztnKyspbj1iW2ddLApsPWZbZ10saT0iZnVuY3Rpb24iPT10eXBlb2Ygbi5tRGF0YT8iZnVuY3Rpb24iOm4ubURhdGEsUy5jb2x1bW5zLnB1c2goe2RhdGE6aSxuYW1lOm4uc05hbWUsc2VhcmNoYWJsZTpuLmJTZWFyY2hhYmxlLG9yZGVyYWJsZTpuLmJTb3J0YWJsZSxzZWFyY2g6e3ZhbHVlOmwuc1NlYXJjaCxyZWdleDpsLmJSZWdleH19KSxrKCJtRGF0YVByb3BfIitnLGkpLGQuYkZpbHRlciYmKGsoInNTZWFyY2hfIitnLGwuc1NlYXJjaCksaygiYlJlZ2V4XyIrZyxsLmJSZWdleCksaygiYlNlYXJjaGFibGVfIitnLG4uYlNlYXJjaGFibGUpKSxkLmJTb3J0JiZrKCJiU29ydGFibGVfIitnLG4uYlNvcnRhYmxlKTtkLmJGaWx0ZXImJihrKCJzU2VhcmNoIixlLnNTZWFyY2gpLGsoImJSZWdleCIsZS5iUmVnZXgpKTtkLmJTb3J0JiYoaC5lYWNoKHEsZnVuY3Rpb24oYSxiKXtTLm9yZGVyLnB1c2goe2NvbHVtbjpiLmNvbCxkaXI6Yi5kaXJ9KTtrKCJpU29ydENvbF8iK2EsYi5jb2wpO2soInNTb3J0RGlyXyIrCmEsYi5kaXIpfSksaygiaVNvcnRpbmdDb2xzIixxLmxlbmd0aCkpO2I9bS5leHQubGVnYWN5LmFqYXg7cmV0dXJuIG51bGw9PT1iP2Euc0FqYXhTb3VyY2U/ajpTOmI/ajpTfWZ1bmN0aW9uIHZiKGEsYil7dmFyIGM9c2EoYSxiKSxkPWIuc0VjaG8hPT1rP2Iuc0VjaG86Yi5kcmF3LGU9Yi5pVG90YWxSZWNvcmRzIT09az9iLmlUb3RhbFJlY29yZHM6Yi5yZWNvcmRzVG90YWwsZj1iLmlUb3RhbERpc3BsYXlSZWNvcmRzIT09az9iLmlUb3RhbERpc3BsYXlSZWNvcmRzOmIucmVjb3Jkc0ZpbHRlcmVkO2lmKGQpe2lmKDEqZDxhLmlEcmF3KXJldHVybjthLmlEcmF3PTEqZH1uYShhKTthLl9pUmVjb3Jkc1RvdGFsPXBhcnNlSW50KGUsMTApO2EuX2lSZWNvcmRzRGlzcGxheT1wYXJzZUludChmLDEwKTtkPTA7Zm9yKGU9Yy5sZW5ndGg7ZDxlO2QrKylOKGEsY1tkXSk7YS5haURpc3BsYXk9YS5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKTthLmJBamF4RGF0YUdldD0hMTtPKGEpO2EuX2JJbml0Q29tcGxldGV8fAp0YShhLGIpO2EuYkFqYXhEYXRhR2V0PSEwO0MoYSwhMSl9ZnVuY3Rpb24gc2EoYSxiKXt2YXIgYz1oLmlzUGxhaW5PYmplY3QoYS5hamF4KSYmYS5hamF4LmRhdGFTcmMhPT1rP2EuYWpheC5kYXRhU3JjOmEuc0FqYXhEYXRhUHJvcDtyZXR1cm4iZGF0YSI9PT1jP2IuYWFEYXRhfHxiW2NdOiIiIT09Yz9RKGMpKGIpOmJ9ZnVuY3Rpb24gcGIoYSl7dmFyIGI9YS5vQ2xhc3NlcyxjPWEuc1RhYmxlSWQsZD1hLm9MYW5ndWFnZSxlPWEub1ByZXZpb3VzU2VhcmNoLGY9YS5hYW5GZWF0dXJlcyxnPSc8aW5wdXQgdHlwZT0ic2VhcmNoIiBjbGFzcz0iJytiLnNGaWx0ZXJJbnB1dCsnIi8+JyxqPWQuc1NlYXJjaCxqPWoubWF0Y2goL19JTlBVVF8vKT9qLnJlcGxhY2UoIl9JTlBVVF8iLGcpOmorZyxiPWgoIjxkaXYvPiIse2lkOiFmLmY/YysiX2ZpbHRlciI6bnVsbCwiY2xhc3MiOmIuc0ZpbHRlcn0pLmFwcGVuZChoKCI8bGFiZWwvPiIpLmFwcGVuZChqKSksZj1mdW5jdGlvbigpe3ZhciBiPSF0aGlzLnZhbHVlPwoiIjp0aGlzLnZhbHVlO2IhPWUuc1NlYXJjaCYmKGZhKGEse3NTZWFyY2g6YixiUmVnZXg6ZS5iUmVnZXgsYlNtYXJ0OmUuYlNtYXJ0LGJDYXNlSW5zZW5zaXRpdmU6ZS5iQ2FzZUluc2Vuc2l0aXZlfSksYS5faURpc3BsYXlTdGFydD0wLE8oYSkpfSxnPW51bGwhPT1hLnNlYXJjaERlbGF5P2Euc2VhcmNoRGVsYXk6InNzcCI9PT15KGEpPzQwMDowLGk9aCgiaW5wdXQiLGIpLnZhbChlLnNTZWFyY2gpLmF0dHIoInBsYWNlaG9sZGVyIixkLnNTZWFyY2hQbGFjZWhvbGRlcikuYmluZCgia2V5dXAuRFQgc2VhcmNoLkRUIGlucHV0LkRUIHBhc3RlLkRUIGN1dC5EVCIsZz9PYShmLGcpOmYpLmJpbmQoImtleXByZXNzLkRUIixmdW5jdGlvbihhKXtpZigxMz09YS5rZXlDb2RlKXJldHVybiExfSkuYXR0cigiYXJpYS1jb250cm9scyIsYyk7aChhLm5UYWJsZSkub24oInNlYXJjaC5kdC5EVCIsZnVuY3Rpb24oYixjKXtpZihhPT09Yyl0cnl7aVswXSE9PUkuYWN0aXZlRWxlbWVudCYmaS52YWwoZS5zU2VhcmNoKX1jYXRjaChkKXt9fSk7CnJldHVybiBiWzBdfWZ1bmN0aW9uIGZhKGEsYixjKXt2YXIgZD1hLm9QcmV2aW91c1NlYXJjaCxlPWEuYW9QcmVTZWFyY2hDb2xzLGY9ZnVuY3Rpb24oYSl7ZC5zU2VhcmNoPWEuc1NlYXJjaDtkLmJSZWdleD1hLmJSZWdleDtkLmJTbWFydD1hLmJTbWFydDtkLmJDYXNlSW5zZW5zaXRpdmU9YS5iQ2FzZUluc2Vuc2l0aXZlfTtHYShhKTtpZigic3NwIiE9eShhKSl7d2IoYSxiLnNTZWFyY2gsYyxiLmJFc2NhcGVSZWdleCE9PWs/IWIuYkVzY2FwZVJlZ2V4OmIuYlJlZ2V4LGIuYlNtYXJ0LGIuYkNhc2VJbnNlbnNpdGl2ZSk7ZihiKTtmb3IoYj0wO2I8ZS5sZW5ndGg7YisrKXhiKGEsZVtiXS5zU2VhcmNoLGIsZVtiXS5iRXNjYXBlUmVnZXghPT1rPyFlW2JdLmJFc2NhcGVSZWdleDplW2JdLmJSZWdleCxlW2JdLmJTbWFydCxlW2JdLmJDYXNlSW5zZW5zaXRpdmUpO3liKGEpfWVsc2UgZihiKTthLmJGaWx0ZXJlZD0hMDt1KGEsbnVsbCwic2VhcmNoIixbYV0pfWZ1bmN0aW9uIHliKGEpe2Zvcih2YXIgYj0KbS5leHQuc2VhcmNoLGM9YS5haURpc3BsYXksZCxlLGY9MCxnPWIubGVuZ3RoO2Y8ZztmKyspe2Zvcih2YXIgaj1bXSxpPTAsbj1jLmxlbmd0aDtpPG47aSsrKWU9Y1tpXSxkPWEuYW9EYXRhW2VdLGJbZl0oYSxkLl9hRmlsdGVyRGF0YSxlLGQuX2FEYXRhLGkpJiZqLnB1c2goZSk7Yy5sZW5ndGg9MDtoLm1lcmdlKGMsail9fWZ1bmN0aW9uIHhiKGEsYixjLGQsZSxmKXtpZigiIiE9PWIpZm9yKHZhciBnPWEuYWlEaXNwbGF5LGQ9UGEoYixkLGUsZiksZT1nLmxlbmd0aC0xOzA8PWU7ZS0tKWI9YS5hb0RhdGFbZ1tlXV0uX2FGaWx0ZXJEYXRhW2NdLGQudGVzdChiKXx8Zy5zcGxpY2UoZSwxKX1mdW5jdGlvbiB3YihhLGIsYyxkLGUsZil7dmFyIGQ9UGEoYixkLGUsZiksZT1hLm9QcmV2aW91c1NlYXJjaC5zU2VhcmNoLGY9YS5haURpc3BsYXlNYXN0ZXIsZzswIT09bS5leHQuc2VhcmNoLmxlbmd0aCYmKGM9ITApO2c9emIoYSk7aWYoMD49Yi5sZW5ndGgpYS5haURpc3BsYXk9Zi5zbGljZSgpOwplbHNle2lmKGd8fGN8fGUubGVuZ3RoPmIubGVuZ3RofHwwIT09Yi5pbmRleE9mKGUpfHxhLmJTb3J0ZWQpYS5haURpc3BsYXk9Zi5zbGljZSgpO2I9YS5haURpc3BsYXk7Zm9yKGM9Yi5sZW5ndGgtMTswPD1jO2MtLSlkLnRlc3QoYS5hb0RhdGFbYltjXV0uX3NGaWx0ZXJSb3cpfHxiLnNwbGljZShjLDEpfX1mdW5jdGlvbiBQYShhLGIsYyxkKXthPWI/YTpRYShhKTtjJiYoYT0iXig/PS4qPyIraC5tYXAoYS5tYXRjaCgvIlteIl0rInxbXiBdKy9nKXx8WyIiXSxmdW5jdGlvbihhKXtpZignIic9PT1hLmNoYXJBdCgwKSl2YXIgYj1hLm1hdGNoKC9eIiguKikiJC8pLGE9Yj9iWzFdOmE7cmV0dXJuIGEucmVwbGFjZSgnIicsIiIpfSkuam9pbigiKSg/PS4qPyIpKyIpLiokIik7cmV0dXJuIFJlZ0V4cChhLGQ/ImkiOiIiKX1mdW5jdGlvbiB6YihhKXt2YXIgYj1hLmFvQ29sdW1ucyxjLGQsZSxmLGcsaixpLGgsbD1tLmV4dC50eXBlLnNlYXJjaDtjPSExO2Q9MDtmb3IoZj1hLmFvRGF0YS5sZW5ndGg7ZDwKZjtkKyspaWYoaD1hLmFvRGF0YVtkXSwhaC5fYUZpbHRlckRhdGEpe2o9W107ZT0wO2ZvcihnPWIubGVuZ3RoO2U8ZztlKyspYz1iW2VdLGMuYlNlYXJjaGFibGU/KGk9QihhLGQsZSwiZmlsdGVyIiksbFtjLnNUeXBlXSYmKGk9bFtjLnNUeXBlXShpKSksbnVsbD09PWkmJihpPSIiKSwic3RyaW5nIiE9PXR5cGVvZiBpJiZpLnRvU3RyaW5nJiYoaT1pLnRvU3RyaW5nKCkpKTppPSIiLGkuaW5kZXhPZiYmLTEhPT1pLmluZGV4T2YoIiYiKSYmKHVhLmlubmVySFRNTD1pLGk9WmI/dWEudGV4dENvbnRlbnQ6dWEuaW5uZXJUZXh0KSxpLnJlcGxhY2UmJihpPWkucmVwbGFjZSgvW1xyXG5dL2csIiIpKSxqLnB1c2goaSk7aC5fYUZpbHRlckRhdGE9ajtoLl9zRmlsdGVyUm93PWouam9pbigiICAiKTtjPSEwfXJldHVybiBjfWZ1bmN0aW9uIEFiKGEpe3JldHVybntzZWFyY2g6YS5zU2VhcmNoLHNtYXJ0OmEuYlNtYXJ0LHJlZ2V4OmEuYlJlZ2V4LGNhc2VJbnNlbnNpdGl2ZTphLmJDYXNlSW5zZW5zaXRpdmV9fQpmdW5jdGlvbiBCYihhKXtyZXR1cm57c1NlYXJjaDphLnNlYXJjaCxiU21hcnQ6YS5zbWFydCxiUmVnZXg6YS5yZWdleCxiQ2FzZUluc2Vuc2l0aXZlOmEuY2FzZUluc2Vuc2l0aXZlfX1mdW5jdGlvbiBzYihhKXt2YXIgYj1hLnNUYWJsZUlkLGM9YS5hYW5GZWF0dXJlcy5pLGQ9aCgiPGRpdi8+Iix7ImNsYXNzIjphLm9DbGFzc2VzLnNJbmZvLGlkOiFjP2IrIl9pbmZvIjpudWxsfSk7Y3x8KGEuYW9EcmF3Q2FsbGJhY2sucHVzaCh7Zm46Q2Isc05hbWU6ImluZm9ybWF0aW9uIn0pLGQuYXR0cigicm9sZSIsInN0YXR1cyIpLmF0dHIoImFyaWEtbGl2ZSIsInBvbGl0ZSIpLGgoYS5uVGFibGUpLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLGIrIl9pbmZvIikpO3JldHVybiBkWzBdfWZ1bmN0aW9uIENiKGEpe3ZhciBiPWEuYWFuRmVhdHVyZXMuaTtpZigwIT09Yi5sZW5ndGgpe3ZhciBjPWEub0xhbmd1YWdlLGQ9YS5faURpc3BsYXlTdGFydCsxLGU9YS5mbkRpc3BsYXlFbmQoKSxmPWEuZm5SZWNvcmRzVG90YWwoKSwKZz1hLmZuUmVjb3Jkc0Rpc3BsYXkoKSxqPWc/Yy5zSW5mbzpjLnNJbmZvRW1wdHk7ZyE9PWYmJihqKz0iICIrYy5zSW5mb0ZpbHRlcmVkKTtqKz1jLnNJbmZvUG9zdEZpeDtqPURiKGEsaik7Yz1jLmZuSW5mb0NhbGxiYWNrO251bGwhPT1jJiYoaj1jLmNhbGwoYS5vSW5zdGFuY2UsYSxkLGUsZixnLGopKTtoKGIpLmh0bWwoail9fWZ1bmN0aW9uIERiKGEsYil7dmFyIGM9YS5mbkZvcm1hdE51bWJlcixkPWEuX2lEaXNwbGF5U3RhcnQrMSxlPWEuX2lEaXNwbGF5TGVuZ3RoLGY9YS5mblJlY29yZHNEaXNwbGF5KCksZz0tMT09PWU7cmV0dXJuIGIucmVwbGFjZSgvX1NUQVJUXy9nLGMuY2FsbChhLGQpKS5yZXBsYWNlKC9fRU5EXy9nLGMuY2FsbChhLGEuZm5EaXNwbGF5RW5kKCkpKS5yZXBsYWNlKC9fTUFYXy9nLGMuY2FsbChhLGEuZm5SZWNvcmRzVG90YWwoKSkpLnJlcGxhY2UoL19UT1RBTF8vZyxjLmNhbGwoYSxmKSkucmVwbGFjZSgvX1BBR0VfL2csYy5jYWxsKGEsZz8xOk1hdGguY2VpbChkLwplKSkpLnJlcGxhY2UoL19QQUdFU18vZyxjLmNhbGwoYSxnPzE6TWF0aC5jZWlsKGYvZSkpKX1mdW5jdGlvbiBnYShhKXt2YXIgYixjLGQ9YS5pSW5pdERpc3BsYXlTdGFydCxlPWEuYW9Db2x1bW5zLGY7Yz1hLm9GZWF0dXJlczt2YXIgZz1hLmJEZWZlckxvYWRpbmc7aWYoYS5iSW5pdGlhbGlzZWQpe25iKGEpO2tiKGEpO2VhKGEsYS5hb0hlYWRlcik7ZWEoYSxhLmFvRm9vdGVyKTtDKGEsITApO2MuYkF1dG9XaWR0aCYmRmEoYSk7Yj0wO2ZvcihjPWUubGVuZ3RoO2I8YztiKyspZj1lW2JdLGYuc1dpZHRoJiYoZi5uVGguc3R5bGUud2lkdGg9eChmLnNXaWR0aCkpO3UoYSxudWxsLCJwcmVJbml0IixbYV0pO1QoYSk7ZT15KGEpO2lmKCJzc3AiIT1lfHxnKSJhamF4Ij09ZT9yYShhLFtdLGZ1bmN0aW9uKGMpe3ZhciBmPXNhKGEsYyk7Zm9yKGI9MDtiPGYubGVuZ3RoO2IrKylOKGEsZltiXSk7YS5pSW5pdERpc3BsYXlTdGFydD1kO1QoYSk7QyhhLCExKTt0YShhLGMpfSxhKTooQyhhLCExKSwKdGEoYSkpfWVsc2Ugc2V0VGltZW91dChmdW5jdGlvbigpe2dhKGEpfSwyMDApfWZ1bmN0aW9uIHRhKGEsYil7YS5fYkluaXRDb21wbGV0ZT0hMDsoYnx8YS5vSW5pdC5hYURhdGEpJiZZKGEpO3UoYSxudWxsLCJwbHVnaW4taW5pdCIsW2EsYl0pO3UoYSwiYW9Jbml0Q29tcGxldGUiLCJpbml0IixbYSxiXSl9ZnVuY3Rpb24gUmEoYSxiKXt2YXIgYz1wYXJzZUludChiLDEwKTthLl9pRGlzcGxheUxlbmd0aD1jO1NhKGEpO3UoYSxudWxsLCJsZW5ndGgiLFthLGNdKX1mdW5jdGlvbiBvYihhKXtmb3IodmFyIGI9YS5vQ2xhc3NlcyxjPWEuc1RhYmxlSWQsZD1hLmFMZW5ndGhNZW51LGU9aC5pc0FycmF5KGRbMF0pLGY9ZT9kWzBdOmQsZD1lP2RbMV06ZCxlPWgoIjxzZWxlY3QvPiIse25hbWU6YysiX2xlbmd0aCIsImFyaWEtY29udHJvbHMiOmMsImNsYXNzIjpiLnNMZW5ndGhTZWxlY3R9KSxnPTAsaj1mLmxlbmd0aDtnPGo7ZysrKWVbMF1bZ109bmV3IE9wdGlvbihkW2ddLGZbZ10pO3ZhciBpPQpoKCI8ZGl2PjxsYWJlbC8+PC9kaXY+IikuYWRkQ2xhc3MoYi5zTGVuZ3RoKTthLmFhbkZlYXR1cmVzLmx8fChpWzBdLmlkPWMrIl9sZW5ndGgiKTtpLmNoaWxkcmVuKCkuYXBwZW5kKGEub0xhbmd1YWdlLnNMZW5ndGhNZW51LnJlcGxhY2UoIl9NRU5VXyIsZVswXS5vdXRlckhUTUwpKTtoKCJzZWxlY3QiLGkpLnZhbChhLl9pRGlzcGxheUxlbmd0aCkuYmluZCgiY2hhbmdlLkRUIixmdW5jdGlvbigpe1JhKGEsaCh0aGlzKS52YWwoKSk7TyhhKX0pO2goYS5uVGFibGUpLmJpbmQoImxlbmd0aC5kdC5EVCIsZnVuY3Rpb24oYixjLGQpe2E9PT1jJiZoKCJzZWxlY3QiLGkpLnZhbChkKX0pO3JldHVybiBpWzBdfWZ1bmN0aW9uIHRiKGEpe3ZhciBiPWEuc1BhZ2luYXRpb25UeXBlLGM9bS5leHQucGFnZXJbYl0sZD0iZnVuY3Rpb24iPT09dHlwZW9mIGMsZT1mdW5jdGlvbihhKXtPKGEpfSxiPWgoIjxkaXYvPiIpLmFkZENsYXNzKGEub0NsYXNzZXMuc1BhZ2luZytiKVswXSxmPWEuYWFuRmVhdHVyZXM7CmR8fGMuZm5Jbml0KGEsYixlKTtmLnB8fChiLmlkPWEuc1RhYmxlSWQrIl9wYWdpbmF0ZSIsYS5hb0RyYXdDYWxsYmFjay5wdXNoKHtmbjpmdW5jdGlvbihhKXtpZihkKXt2YXIgYj1hLl9pRGlzcGxheVN0YXJ0LGk9YS5faURpc3BsYXlMZW5ndGgsaD1hLmZuUmVjb3Jkc0Rpc3BsYXkoKSxsPS0xPT09aSxiPWw/MDpNYXRoLmNlaWwoYi9pKSxpPWw/MTpNYXRoLmNlaWwoaC9pKSxoPWMoYixpKSxrLGw9MDtmb3Ioaz1mLnAubGVuZ3RoO2w8aztsKyspTmEoYSwicGFnZUJ1dHRvbiIpKGEsZi5wW2xdLGwsaCxiLGkpfWVsc2UgYy5mblVwZGF0ZShhLGUpfSxzTmFtZToicGFnaW5hdGlvbiJ9KSk7cmV0dXJuIGJ9ZnVuY3Rpb24gVGEoYSxiLGMpe3ZhciBkPWEuX2lEaXNwbGF5U3RhcnQsZT1hLl9pRGlzcGxheUxlbmd0aCxmPWEuZm5SZWNvcmRzRGlzcGxheSgpOzA9PT1mfHwtMT09PWU/ZD0wOiJudW1iZXIiPT09dHlwZW9mIGI/KGQ9YiplLGQ+ZiYmKGQ9MCkpOiJmaXJzdCI9PWI/ZD0wOgoicHJldmlvdXMiPT1iPyhkPTA8PWU/ZC1lOjAsMD5kJiYoZD0wKSk6Im5leHQiPT1iP2QrZTxmJiYoZCs9ZSk6Imxhc3QiPT1iP2Q9TWF0aC5mbG9vcigoZi0xKS9lKSplOkwoYSwwLCJVbmtub3duIHBhZ2luZyBhY3Rpb246ICIrYiw1KTtiPWEuX2lEaXNwbGF5U3RhcnQhPT1kO2EuX2lEaXNwbGF5U3RhcnQ9ZDtiJiYodShhLG51bGwsInBhZ2UiLFthXSksYyYmTyhhKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gcWIoYSl7cmV0dXJuIGgoIjxkaXYvPiIse2lkOiFhLmFhbkZlYXR1cmVzLnI/YS5zVGFibGVJZCsiX3Byb2Nlc3NpbmciOm51bGwsImNsYXNzIjphLm9DbGFzc2VzLnNQcm9jZXNzaW5nfSkuaHRtbChhLm9MYW5ndWFnZS5zUHJvY2Vzc2luZykuaW5zZXJ0QmVmb3JlKGEublRhYmxlKVswXX1mdW5jdGlvbiBDKGEsYil7YS5vRmVhdHVyZXMuYlByb2Nlc3NpbmcmJmgoYS5hYW5GZWF0dXJlcy5yKS5jc3MoImRpc3BsYXkiLGI/ImJsb2NrIjoibm9uZSIpO3UoYSxudWxsLCJwcm9jZXNzaW5nIiwKW2EsYl0pfWZ1bmN0aW9uIHJiKGEpe3ZhciBiPWgoYS5uVGFibGUpO2IuYXR0cigicm9sZSIsImdyaWQiKTt2YXIgYz1hLm9TY3JvbGw7aWYoIiI9PT1jLnNYJiYiIj09PWMuc1kpcmV0dXJuIGEublRhYmxlO3ZhciBkPWMuc1gsZT1jLnNZLGY9YS5vQ2xhc3NlcyxnPWIuY2hpbGRyZW4oImNhcHRpb24iKSxqPWcubGVuZ3RoP2dbMF0uX2NhcHRpb25TaWRlOm51bGwsaT1oKGJbMF0uY2xvbmVOb2RlKCExKSksbj1oKGJbMF0uY2xvbmVOb2RlKCExKSksbD1iLmNoaWxkcmVuKCJ0Zm9vdCIpO2wubGVuZ3RofHwobD1udWxsKTtpPWgoIjxkaXYvPiIseyJjbGFzcyI6Zi5zU2Nyb2xsV3JhcHBlcn0pLmFwcGVuZChoKCI8ZGl2Lz4iLHsiY2xhc3MiOmYuc1Njcm9sbEhlYWR9KS5jc3Moe292ZXJmbG93OiJoaWRkZW4iLHBvc2l0aW9uOiJyZWxhdGl2ZSIsYm9yZGVyOjAsd2lkdGg6ZD8hZD9udWxsOngoZCk6IjEwMCUifSkuYXBwZW5kKGgoIjxkaXYvPiIseyJjbGFzcyI6Zi5zU2Nyb2xsSGVhZElubmVyfSkuY3NzKHsiYm94LXNpemluZyI6ImNvbnRlbnQtYm94IiwKd2lkdGg6Yy5zWElubmVyfHwiMTAwJSJ9KS5hcHBlbmQoaS5yZW1vdmVBdHRyKCJpZCIpLmNzcygibWFyZ2luLWxlZnQiLDApLmFwcGVuZCgidG9wIj09PWo/ZzpudWxsKS5hcHBlbmQoYi5jaGlsZHJlbigidGhlYWQiKSkpKSkuYXBwZW5kKGgoIjxkaXYvPiIseyJjbGFzcyI6Zi5zU2Nyb2xsQm9keX0pLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixvdmVyZmxvdzoiYXV0byIsd2lkdGg6IWQ/bnVsbDp4KGQpfSkuYXBwZW5kKGIpKTtsJiZpLmFwcGVuZChoKCI8ZGl2Lz4iLHsiY2xhc3MiOmYuc1Njcm9sbEZvb3R9KS5jc3Moe292ZXJmbG93OiJoaWRkZW4iLGJvcmRlcjowLHdpZHRoOmQ/IWQ/bnVsbDp4KGQpOiIxMDAlIn0pLmFwcGVuZChoKCI8ZGl2Lz4iLHsiY2xhc3MiOmYuc1Njcm9sbEZvb3RJbm5lcn0pLmFwcGVuZChuLnJlbW92ZUF0dHIoImlkIikuY3NzKCJtYXJnaW4tbGVmdCIsMCkuYXBwZW5kKCJib3R0b20iPT09aj9nOm51bGwpLmFwcGVuZChiLmNoaWxkcmVuKCJ0Zm9vdCIpKSkpKTsKdmFyIGI9aS5jaGlsZHJlbigpLGs9YlswXSxmPWJbMV0sdD1sP2JbMl06bnVsbDtpZihkKWgoZikub24oInNjcm9sbC5EVCIsZnVuY3Rpb24oKXt2YXIgYT10aGlzLnNjcm9sbExlZnQ7ay5zY3JvbGxMZWZ0PWE7bCYmKHQuc2Nyb2xsTGVmdD1hKX0pO2goZikuY3NzKGUmJmMuYkNvbGxhcHNlPyJtYXgtaGVpZ2h0IjoiaGVpZ2h0IixlKTthLm5TY3JvbGxIZWFkPWs7YS5uU2Nyb2xsQm9keT1mO2EublNjcm9sbEZvb3Q9dDthLmFvRHJhd0NhbGxiYWNrLnB1c2goe2ZuOmthLHNOYW1lOiJzY3JvbGxpbmcifSk7cmV0dXJuIGlbMF19ZnVuY3Rpb24ga2EoYSl7dmFyIGI9YS5vU2Nyb2xsLGM9Yi5zWCxkPWIuc1hJbm5lcixlPWIuc1ksYj1iLmlCYXJXaWR0aCxmPWgoYS5uU2Nyb2xsSGVhZCksZz1mWzBdLnN0eWxlLGo9Zi5jaGlsZHJlbigiZGl2IiksaT1qWzBdLnN0eWxlLG49ai5jaGlsZHJlbigidGFibGUiKSxqPWEublNjcm9sbEJvZHksbD1oKGopLHE9ai5zdHlsZSx0PWgoYS5uU2Nyb2xsRm9vdCkuY2hpbGRyZW4oImRpdiIpLAptPXQuY2hpbGRyZW4oInRhYmxlIiksbz1oKGEublRIZWFkKSxGPWgoYS5uVGFibGUpLHA9RlswXSxyPXAuc3R5bGUsdT1hLm5URm9vdD9oKGEublRGb290KTpudWxsLEViPWEub0Jyb3dzZXIsVWE9RWIuYlNjcm9sbE92ZXJzaXplLHM9RyhhLmFvQ29sdW1ucywiblRoIiksUCx2LHcseSx6PVtdLEE9W10sQj1bXSxDPVtdLEQsRT1mdW5jdGlvbihhKXthPWEuc3R5bGU7YS5wYWRkaW5nVG9wPSIwIjthLnBhZGRpbmdCb3R0b209IjAiO2EuYm9yZGVyVG9wV2lkdGg9IjAiO2EuYm9yZGVyQm90dG9tV2lkdGg9IjAiO2EuaGVpZ2h0PTB9O3Y9ai5zY3JvbGxIZWlnaHQ+ai5jbGllbnRIZWlnaHQ7aWYoYS5zY3JvbGxCYXJWaXMhPT12JiZhLnNjcm9sbEJhclZpcyE9PWspYS5zY3JvbGxCYXJWaXM9dixZKGEpO2Vsc2V7YS5zY3JvbGxCYXJWaXM9djtGLmNoaWxkcmVuKCJ0aGVhZCwgdGZvb3QiKS5yZW1vdmUoKTt1JiYodz11LmNsb25lKCkucHJlcGVuZFRvKEYpLFA9dS5maW5kKCJ0ciIpLHc9CncuZmluZCgidHIiKSk7eT1vLmNsb25lKCkucHJlcGVuZFRvKEYpO289by5maW5kKCJ0ciIpO3Y9eS5maW5kKCJ0ciIpO3kuZmluZCgidGgsIHRkIikucmVtb3ZlQXR0cigidGFiaW5kZXgiKTtjfHwocS53aWR0aD0iMTAwJSIsZlswXS5zdHlsZS53aWR0aD0iMTAwJSIpO2guZWFjaChxYShhLHkpLGZ1bmN0aW9uKGIsYyl7RD1aKGEsYik7Yy5zdHlsZS53aWR0aD1hLmFvQ29sdW1uc1tEXS5zV2lkdGh9KTt1JiZKKGZ1bmN0aW9uKGEpe2Euc3R5bGUud2lkdGg9IiJ9LHcpO2Y9Ri5vdXRlcldpZHRoKCk7aWYoIiI9PT1jKXtyLndpZHRoPSIxMDAlIjtpZihVYSYmKEYuZmluZCgidGJvZHkiKS5oZWlnaHQoKT5qLm9mZnNldEhlaWdodHx8InNjcm9sbCI9PWwuY3NzKCJvdmVyZmxvdy15IikpKXIud2lkdGg9eChGLm91dGVyV2lkdGgoKS1iKTtmPUYub3V0ZXJXaWR0aCgpfWVsc2UiIiE9PWQmJihyLndpZHRoPXgoZCksZj1GLm91dGVyV2lkdGgoKSk7SihFLHYpO0ooZnVuY3Rpb24oYSl7Qi5wdXNoKGEuaW5uZXJIVE1MKTsKei5wdXNoKHgoaChhKS5jc3MoIndpZHRoIikpKX0sdik7SihmdW5jdGlvbihhLGIpe2lmKGguaW5BcnJheShhLHMpIT09LTEpYS5zdHlsZS53aWR0aD16W2JdfSxvKTtoKHYpLmhlaWdodCgwKTt1JiYoSihFLHcpLEooZnVuY3Rpb24oYSl7Qy5wdXNoKGEuaW5uZXJIVE1MKTtBLnB1c2goeChoKGEpLmNzcygid2lkdGgiKSkpfSx3KSxKKGZ1bmN0aW9uKGEsYil7YS5zdHlsZS53aWR0aD1BW2JdfSxQKSxoKHcpLmhlaWdodCgwKSk7SihmdW5jdGlvbihhLGIpe2EuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJkYXRhVGFibGVzX3NpemluZyIgc3R5bGU9ImhlaWdodDowO292ZXJmbG93OmhpZGRlbjsiPicrQltiXSsiPC9kaXY+IjthLnN0eWxlLndpZHRoPXpbYl19LHYpO3UmJkooZnVuY3Rpb24oYSxiKXthLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZGF0YVRhYmxlc19zaXppbmciIHN0eWxlPSJoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47Ij4nK0NbYl0rIjwvZGl2PiI7YS5zdHlsZS53aWR0aD0KQVtiXX0sdyk7aWYoRi5vdXRlcldpZHRoKCk8Zil7UD1qLnNjcm9sbEhlaWdodD5qLm9mZnNldEhlaWdodHx8InNjcm9sbCI9PWwuY3NzKCJvdmVyZmxvdy15Iik/ZitiOmY7aWYoVWEmJihqLnNjcm9sbEhlaWdodD5qLm9mZnNldEhlaWdodHx8InNjcm9sbCI9PWwuY3NzKCJvdmVyZmxvdy15IikpKXIud2lkdGg9eChQLWIpOygiIj09PWN8fCIiIT09ZCkmJkwoYSwxLCJQb3NzaWJsZSBjb2x1bW4gbWlzYWxpZ25tZW50Iiw2KX1lbHNlIFA9IjEwMCUiO3Eud2lkdGg9eChQKTtnLndpZHRoPXgoUCk7dSYmKGEublNjcm9sbEZvb3Quc3R5bGUud2lkdGg9eChQKSk7IWUmJlVhJiYocS5oZWlnaHQ9eChwLm9mZnNldEhlaWdodCtiKSk7Yz1GLm91dGVyV2lkdGgoKTtuWzBdLnN0eWxlLndpZHRoPXgoYyk7aS53aWR0aD14KGMpO2Q9Ri5oZWlnaHQoKT5qLmNsaWVudEhlaWdodHx8InNjcm9sbCI9PWwuY3NzKCJvdmVyZmxvdy15Iik7ZT0icGFkZGluZyIrKEViLmJTY3JvbGxiYXJMZWZ0PyJMZWZ0IjoKIlJpZ2h0Iik7aVtlXT1kP2IrInB4IjoiMHB4Ijt1JiYobVswXS5zdHlsZS53aWR0aD14KGMpLHRbMF0uc3R5bGUud2lkdGg9eChjKSx0WzBdLnN0eWxlW2VdPWQ/YisicHgiOiIwcHgiKTtGLmNoaWxkcmVuKCJjb2xncm91cCIpLmluc2VydEJlZm9yZShGLmNoaWxkcmVuKCJ0aGVhZCIpKTtsLnNjcm9sbCgpO2lmKChhLmJTb3J0ZWR8fGEuYkZpbHRlcmVkKSYmIWEuX2RyYXdIb2xkKWouc2Nyb2xsVG9wPTB9fWZ1bmN0aW9uIEooYSxiLGMpe2Zvcih2YXIgZD0wLGU9MCxmPWIubGVuZ3RoLGcsajtlPGY7KXtnPWJbZV0uZmlyc3RDaGlsZDtmb3Ioaj1jP2NbZV0uZmlyc3RDaGlsZDpudWxsO2c7KTE9PT1nLm5vZGVUeXBlJiYoYz9hKGcsaixkKTphKGcsZCksZCsrKSxnPWcubmV4dFNpYmxpbmcsaj1jP2oubmV4dFNpYmxpbmc6bnVsbDtlKyt9fWZ1bmN0aW9uIEZhKGEpe3ZhciBiPWEublRhYmxlLGM9YS5hb0NvbHVtbnMsZD1hLm9TY3JvbGwsZT1kLnNZLGY9ZC5zWCxnPWQuc1hJbm5lciwKaj1jLmxlbmd0aCxpPWxhKGEsImJWaXNpYmxlIiksbj1oKCJ0aCIsYS5uVEhlYWQpLGw9Yi5nZXRBdHRyaWJ1dGUoIndpZHRoIiksaz1iLnBhcmVudE5vZGUsdD0hMSxtLG8scD1hLm9Ccm93c2VyLGQ9cC5iU2Nyb2xsT3ZlcnNpemU7KG09Yi5zdHlsZS53aWR0aCkmJi0xIT09bS5pbmRleE9mKCIlIikmJihsPW0pO2ZvcihtPTA7bTxpLmxlbmd0aDttKyspbz1jW2lbbV1dLG51bGwhPT1vLnNXaWR0aCYmKG8uc1dpZHRoPUZiKG8uc1dpZHRoT3JpZyxrKSx0PSEwKTtpZihkfHwhdCYmIWYmJiFlJiZqPT1hYShhKSYmaj09bi5sZW5ndGgpZm9yKG09MDttPGo7bSsrKWk9WihhLG0pLG51bGwhPT1pJiYoY1tpXS5zV2lkdGg9eChuLmVxKG0pLndpZHRoKCkpKTtlbHNle2o9aChiKS5jbG9uZSgpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLnJlbW92ZUF0dHIoImlkIik7ai5maW5kKCJ0Ym9keSB0ciIpLnJlbW92ZSgpO3ZhciByPWgoIjx0ci8+IikuYXBwZW5kVG8oai5maW5kKCJ0Ym9keSIpKTsKai5maW5kKCJ0aGVhZCwgdGZvb3QiKS5yZW1vdmUoKTtqLmFwcGVuZChoKGEublRIZWFkKS5jbG9uZSgpKS5hcHBlbmQoaChhLm5URm9vdCkuY2xvbmUoKSk7ai5maW5kKCJ0Zm9vdCB0aCwgdGZvb3QgdGQiKS5jc3MoIndpZHRoIiwiIik7bj1xYShhLGouZmluZCgidGhlYWQiKVswXSk7Zm9yKG09MDttPGkubGVuZ3RoO20rKylvPWNbaVttXV0sblttXS5zdHlsZS53aWR0aD1udWxsIT09by5zV2lkdGhPcmlnJiYiIiE9PW8uc1dpZHRoT3JpZz94KG8uc1dpZHRoT3JpZyk6IiIsby5zV2lkdGhPcmlnJiZmJiZoKG5bbV0pLmFwcGVuZChoKCI8ZGl2Lz4iKS5jc3Moe3dpZHRoOm8uc1dpZHRoT3JpZyxtYXJnaW46MCxwYWRkaW5nOjAsYm9yZGVyOjAsaGVpZ2h0OjF9KSk7aWYoYS5hb0RhdGEubGVuZ3RoKWZvcihtPTA7bTxpLmxlbmd0aDttKyspdD1pW21dLG89Y1t0XSxoKEdiKGEsdCkpLmNsb25lKCExKS5hcHBlbmQoby5zQ29udGVudFBhZGRpbmcpLmFwcGVuZFRvKHIpO2goIltuYW1lXSIsCmopLnJlbW92ZUF0dHIoIm5hbWUiKTtvPWgoIjxkaXYvPiIpLmNzcyhmfHxlP3twb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxoZWlnaHQ6MSxyaWdodDowLG92ZXJmbG93OiJoaWRkZW4ifTp7fSkuYXBwZW5kKGopLmFwcGVuZFRvKGspO2YmJmc/ai53aWR0aChnKTpmPyhqLmNzcygid2lkdGgiLCJhdXRvIiksai5yZW1vdmVBdHRyKCJ3aWR0aCIpLGoud2lkdGgoKTxrLmNsaWVudFdpZHRoJiZsJiZqLndpZHRoKGsuY2xpZW50V2lkdGgpKTplP2oud2lkdGgoay5jbGllbnRXaWR0aCk6bCYmai53aWR0aChsKTtmb3IobT1lPTA7bTxpLmxlbmd0aDttKyspaz1oKG5bbV0pLGc9ay5vdXRlcldpZHRoKCktay53aWR0aCgpLGs9cC5iQm91bmRpbmc/TWF0aC5jZWlsKG5bbV0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpOmsub3V0ZXJXaWR0aCgpLGUrPWssY1tpW21dXS5zV2lkdGg9eChrLWcpO2Iuc3R5bGUud2lkdGg9eChlKTtvLnJlbW92ZSgpfWwmJihiLnN0eWxlLndpZHRoPQp4KGwpKTtpZigobHx8ZikmJiFhLl9yZXN6RXZ0KWI9ZnVuY3Rpb24oKXtoKEQpLmJpbmQoInJlc2l6ZS5EVC0iK2Euc0luc3RhbmNlLE9hKGZ1bmN0aW9uKCl7WShhKX0pKX0sZD9zZXRUaW1lb3V0KGIsMUUzKTpiKCksYS5fcmVzekV2dD0hMH1mdW5jdGlvbiBGYihhLGIpe2lmKCFhKXJldHVybiAwO3ZhciBjPWgoIjxkaXYvPiIpLmNzcygid2lkdGgiLHgoYSkpLmFwcGVuZFRvKGJ8fEkuYm9keSksZD1jWzBdLm9mZnNldFdpZHRoO2MucmVtb3ZlKCk7cmV0dXJuIGR9ZnVuY3Rpb24gR2IoYSxiKXt2YXIgYz1IYihhLGIpO2lmKDA+YylyZXR1cm4gbnVsbDt2YXIgZD1hLmFvRGF0YVtjXTtyZXR1cm4hZC5uVHI/aCgiPHRkLz4iKS5odG1sKEIoYSxjLGIsImRpc3BsYXkiKSlbMF06ZC5hbkNlbGxzW2JdfWZ1bmN0aW9uIEhiKGEsYil7Zm9yKHZhciBjLGQ9LTEsZT0tMSxmPTAsZz1hLmFvRGF0YS5sZW5ndGg7ZjxnO2YrKyljPUIoYSxmLGIsImRpc3BsYXkiKSsiIixjPWMucmVwbGFjZSgkYiwKIiIpLGM9Yy5yZXBsYWNlKC8mbmJzcDsvZywiICIpLGMubGVuZ3RoPmQmJihkPWMubGVuZ3RoLGU9Zik7cmV0dXJuIGV9ZnVuY3Rpb24geChhKXtyZXR1cm4gbnVsbD09PWE/IjBweCI6Im51bWJlciI9PXR5cGVvZiBhPzA+YT8iMHB4IjphKyJweCI6YS5tYXRjaCgvXGQkLyk/YSsicHgiOmF9ZnVuY3Rpb24gVihhKXt2YXIgYixjLGQ9W10sZT1hLmFvQ29sdW1ucyxmLGcsaixpO2I9YS5hYVNvcnRpbmdGaXhlZDtjPWguaXNQbGFpbk9iamVjdChiKTt2YXIgbj1bXTtmPWZ1bmN0aW9uKGEpe2EubGVuZ3RoJiYhaC5pc0FycmF5KGFbMF0pP24ucHVzaChhKTpoLm1lcmdlKG4sYSl9O2guaXNBcnJheShiKSYmZihiKTtjJiZiLnByZSYmZihiLnByZSk7ZihhLmFhU29ydGluZyk7YyYmYi5wb3N0JiZmKGIucG9zdCk7Zm9yKGE9MDthPG4ubGVuZ3RoO2ErKyl7aT1uW2FdWzBdO2Y9ZVtpXS5hRGF0YVNvcnQ7Yj0wO2ZvcihjPWYubGVuZ3RoO2I8YztiKyspZz1mW2JdLGo9ZVtnXS5zVHlwZXx8CiJzdHJpbmciLG5bYV0uX2lkeD09PWsmJihuW2FdLl9pZHg9aC5pbkFycmF5KG5bYV1bMV0sZVtnXS5hc1NvcnRpbmcpKSxkLnB1c2goe3NyYzppLGNvbDpnLGRpcjpuW2FdWzFdLGluZGV4Om5bYV0uX2lkeCx0eXBlOmosZm9ybWF0dGVyOm0uZXh0LnR5cGUub3JkZXJbaisiLXByZSJdfSl9cmV0dXJuIGR9ZnVuY3Rpb24gbWIoYSl7dmFyIGIsYyxkPVtdLGU9bS5leHQudHlwZS5vcmRlcixmPWEuYW9EYXRhLGc9MCxqLGk9YS5haURpc3BsYXlNYXN0ZXIsaDtHYShhKTtoPVYoYSk7Yj0wO2ZvcihjPWgubGVuZ3RoO2I8YztiKyspaj1oW2JdLGouZm9ybWF0dGVyJiZnKyssSWIoYSxqLmNvbCk7aWYoInNzcCIhPXkoYSkmJjAhPT1oLmxlbmd0aCl7Yj0wO2ZvcihjPWkubGVuZ3RoO2I8YztiKyspZFtpW2JdXT1iO2c9PT1oLmxlbmd0aD9pLnNvcnQoZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGcsaixpPWgubGVuZ3RoLGs9ZlthXS5fYVNvcnREYXRhLG09ZltiXS5fYVNvcnREYXRhO2ZvcihnPQowO2c8aTtnKyspaWYoaj1oW2ddLGM9a1tqLmNvbF0sZT1tW2ouY29sXSxjPWM8ZT8tMTpjPmU/MTowLDAhPT1jKXJldHVybiJhc2MiPT09ai5kaXI/YzotYztjPWRbYV07ZT1kW2JdO3JldHVybiBjPGU/LTE6Yz5lPzE6MH0pOmkuc29ydChmdW5jdGlvbihhLGIpe3ZhciBjLGcsaixpLGs9aC5sZW5ndGgsbT1mW2FdLl9hU29ydERhdGEscD1mW2JdLl9hU29ydERhdGE7Zm9yKGo9MDtqPGs7aisrKWlmKGk9aFtqXSxjPW1baS5jb2xdLGc9cFtpLmNvbF0saT1lW2kudHlwZSsiLSIraS5kaXJdfHxlWyJzdHJpbmctIitpLmRpcl0sYz1pKGMsZyksMCE9PWMpcmV0dXJuIGM7Yz1kW2FdO2c9ZFtiXTtyZXR1cm4gYzxnPy0xOmM+Zz8xOjB9KX1hLmJTb3J0ZWQ9ITB9ZnVuY3Rpb24gSmIoYSl7Zm9yKHZhciBiLGMsZD1hLmFvQ29sdW1ucyxlPVYoYSksYT1hLm9MYW5ndWFnZS5vQXJpYSxmPTAsZz1kLmxlbmd0aDtmPGc7ZisrKXtjPWRbZl07dmFyIGo9Yy5hc1NvcnRpbmc7Yj1jLnNUaXRsZS5yZXBsYWNlKC88Lio/Pi9nLAoiIik7dmFyIGk9Yy5uVGg7aS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtc29ydCIpO2MuYlNvcnRhYmxlJiYoMDxlLmxlbmd0aCYmZVswXS5jb2w9PWY/KGkuc2V0QXR0cmlidXRlKCJhcmlhLXNvcnQiLCJhc2MiPT1lWzBdLmRpcj8iYXNjZW5kaW5nIjoiZGVzY2VuZGluZyIpLGM9altlWzBdLmluZGV4KzFdfHxqWzBdKTpjPWpbMF0sYis9ImFzYyI9PT1jP2Euc1NvcnRBc2NlbmRpbmc6YS5zU29ydERlc2NlbmRpbmcpO2kuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixiKX19ZnVuY3Rpb24gVmEoYSxiLGMsZCl7dmFyIGU9YS5hYVNvcnRpbmcsZj1hLmFvQ29sdW1uc1tiXS5hc1NvcnRpbmcsZz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuX2lkeDtjPT09ayYmKGM9aC5pbkFycmF5KGFbMV0sZikpO3JldHVybiBjKzE8Zi5sZW5ndGg/YysxOmI/bnVsbDowfTsibnVtYmVyIj09PXR5cGVvZiBlWzBdJiYoZT1hLmFhU29ydGluZz1bZV0pO2MmJmEub0ZlYXR1cmVzLmJTb3J0TXVsdGk/KGM9aC5pbkFycmF5KGIsCkcoZSwiMCIpKSwtMSE9PWM/KGI9ZyhlW2NdLCEwKSxudWxsPT09YiYmMT09PWUubGVuZ3RoJiYoYj0wKSxudWxsPT09Yj9lLnNwbGljZShjLDEpOihlW2NdWzFdPWZbYl0sZVtjXS5faWR4PWIpKTooZS5wdXNoKFtiLGZbMF0sMF0pLGVbZS5sZW5ndGgtMV0uX2lkeD0wKSk6ZS5sZW5ndGgmJmVbMF1bMF09PWI/KGI9ZyhlWzBdKSxlLmxlbmd0aD0xLGVbMF1bMV09ZltiXSxlWzBdLl9pZHg9Yik6KGUubGVuZ3RoPTAsZS5wdXNoKFtiLGZbMF1dKSxlWzBdLl9pZHg9MCk7VChhKTsiZnVuY3Rpb24iPT10eXBlb2YgZCYmZChhKX1mdW5jdGlvbiBNYShhLGIsYyxkKXt2YXIgZT1hLmFvQ29sdW1uc1tjXTtXYShiLHt9LGZ1bmN0aW9uKGIpeyExIT09ZS5iU29ydGFibGUmJihhLm9GZWF0dXJlcy5iUHJvY2Vzc2luZz8oQyhhLCEwKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VmEoYSxjLGIuc2hpZnRLZXksZCk7InNzcCIhPT15KGEpJiZDKGEsITEpfSwwKSk6VmEoYSxjLGIuc2hpZnRLZXksZCkpfSl9CmZ1bmN0aW9uIHZhKGEpe3ZhciBiPWEuYUxhc3RTb3J0LGM9YS5vQ2xhc3Nlcy5zU29ydENvbHVtbixkPVYoYSksZT1hLm9GZWF0dXJlcyxmLGc7aWYoZS5iU29ydCYmZS5iU29ydENsYXNzZXMpe2U9MDtmb3IoZj1iLmxlbmd0aDtlPGY7ZSsrKWc9YltlXS5zcmMsaChHKGEuYW9EYXRhLCJhbkNlbGxzIixnKSkucmVtb3ZlQ2xhc3MoYysoMj5lP2UrMTozKSk7ZT0wO2ZvcihmPWQubGVuZ3RoO2U8ZjtlKyspZz1kW2VdLnNyYyxoKEcoYS5hb0RhdGEsImFuQ2VsbHMiLGcpKS5hZGRDbGFzcyhjKygyPmU/ZSsxOjMpKX1hLmFMYXN0U29ydD1kfWZ1bmN0aW9uIEliKGEsYil7dmFyIGM9YS5hb0NvbHVtbnNbYl0sZD1tLmV4dC5vcmRlcltjLnNTb3J0RGF0YVR5cGVdLGU7ZCYmKGU9ZC5jYWxsKGEub0luc3RhbmNlLGEsYiwkKGEsYikpKTtmb3IodmFyIGYsZz1tLmV4dC50eXBlLm9yZGVyW2Muc1R5cGUrIi1wcmUiXSxqPTAsaT1hLmFvRGF0YS5sZW5ndGg7ajxpO2orKylpZihjPWEuYW9EYXRhW2pdLApjLl9hU29ydERhdGF8fChjLl9hU29ydERhdGE9W10pLCFjLl9hU29ydERhdGFbYl18fGQpZj1kP2Vbal06QihhLGosYiwic29ydCIpLGMuX2FTb3J0RGF0YVtiXT1nP2coZik6Zn1mdW5jdGlvbiB3YShhKXtpZihhLm9GZWF0dXJlcy5iU3RhdGVTYXZlJiYhYS5iRGVzdHJveWluZyl7dmFyIGI9e3RpbWU6K25ldyBEYXRlLHN0YXJ0OmEuX2lEaXNwbGF5U3RhcnQsbGVuZ3RoOmEuX2lEaXNwbGF5TGVuZ3RoLG9yZGVyOmguZXh0ZW5kKCEwLFtdLGEuYWFTb3J0aW5nKSxzZWFyY2g6QWIoYS5vUHJldmlvdXNTZWFyY2gpLGNvbHVtbnM6aC5tYXAoYS5hb0NvbHVtbnMsZnVuY3Rpb24oYixkKXtyZXR1cm57dmlzaWJsZTpiLmJWaXNpYmxlLHNlYXJjaDpBYihhLmFvUHJlU2VhcmNoQ29sc1tkXSl9fSl9O3UoYSwiYW9TdGF0ZVNhdmVQYXJhbXMiLCJzdGF0ZVNhdmVQYXJhbXMiLFthLGJdKTthLm9TYXZlZFN0YXRlPWI7YS5mblN0YXRlU2F2ZUNhbGxiYWNrLmNhbGwoYS5vSW5zdGFuY2UsYSwKYil9fWZ1bmN0aW9uIEtiKGEpe3ZhciBiLGMsZD1hLmFvQ29sdW1ucztpZihhLm9GZWF0dXJlcy5iU3RhdGVTYXZlKXt2YXIgZT1hLmZuU3RhdGVMb2FkQ2FsbGJhY2suY2FsbChhLm9JbnN0YW5jZSxhKTtpZihlJiZlLnRpbWUmJihiPXUoYSwiYW9TdGF0ZUxvYWRQYXJhbXMiLCJzdGF0ZUxvYWRQYXJhbXMiLFthLGVdKSwtMT09PWguaW5BcnJheSghMSxiKSYmKGI9YS5pU3RhdGVEdXJhdGlvbiwhKDA8YiYmZS50aW1lPCtuZXcgRGF0ZS0xRTMqYikmJmQubGVuZ3RoPT09ZS5jb2x1bW5zLmxlbmd0aCkpKXthLm9Mb2FkZWRTdGF0ZT1oLmV4dGVuZCghMCx7fSxlKTtlLnN0YXJ0IT09ayYmKGEuX2lEaXNwbGF5U3RhcnQ9ZS5zdGFydCxhLmlJbml0RGlzcGxheVN0YXJ0PWUuc3RhcnQpO2UubGVuZ3RoIT09ayYmKGEuX2lEaXNwbGF5TGVuZ3RoPWUubGVuZ3RoKTtlLm9yZGVyIT09ayYmKGEuYWFTb3J0aW5nPVtdLGguZWFjaChlLm9yZGVyLGZ1bmN0aW9uKGIsYyl7YS5hYVNvcnRpbmcucHVzaChjWzBdPj0KZC5sZW5ndGg/WzAsY1sxXV06Yyl9KSk7ZS5zZWFyY2ghPT1rJiZoLmV4dGVuZChhLm9QcmV2aW91c1NlYXJjaCxCYihlLnNlYXJjaCkpO2I9MDtmb3IoYz1lLmNvbHVtbnMubGVuZ3RoO2I8YztiKyspe3ZhciBmPWUuY29sdW1uc1tiXTtmLnZpc2libGUhPT1rJiYoZFtiXS5iVmlzaWJsZT1mLnZpc2libGUpO2Yuc2VhcmNoIT09ayYmaC5leHRlbmQoYS5hb1ByZVNlYXJjaENvbHNbYl0sQmIoZi5zZWFyY2gpKX11KGEsImFvU3RhdGVMb2FkZWQiLCJzdGF0ZUxvYWRlZCIsW2EsZV0pfX19ZnVuY3Rpb24geGEoYSl7dmFyIGI9bS5zZXR0aW5ncyxhPWguaW5BcnJheShhLEcoYiwiblRhYmxlIikpO3JldHVybi0xIT09YT9iW2FdOm51bGx9ZnVuY3Rpb24gTChhLGIsYyxkKXtjPSJEYXRhVGFibGVzIHdhcm5pbmc6ICIrKGE/InRhYmxlIGlkPSIrYS5zVGFibGVJZCsiIC0gIjoiIikrYztkJiYoYys9Ii4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBlcnJvciwgcGxlYXNlIHNlZSBodHRwOi8vZGF0YXRhYmxlcy5uZXQvdG4vIisKZCk7aWYoYilELmNvbnNvbGUmJmNvbnNvbGUubG9nJiZjb25zb2xlLmxvZyhjKTtlbHNlIGlmKGI9bS5leHQsYj1iLnNFcnJNb2RlfHxiLmVyck1vZGUsYSYmdShhLG51bGwsImVycm9yIixbYSxkLGNdKSwiYWxlcnQiPT1iKWFsZXJ0KGMpO2Vsc2V7aWYoInRocm93Ij09Yil0aHJvdyBFcnJvcihjKTsiZnVuY3Rpb24iPT10eXBlb2YgYiYmYihhLGQsYyl9fWZ1bmN0aW9uIEUoYSxiLGMsZCl7aC5pc0FycmF5KGMpP2guZWFjaChjLGZ1bmN0aW9uKGMsZCl7aC5pc0FycmF5KGQpP0UoYSxiLGRbMF0sZFsxXSk6RShhLGIsZCl9KTooZD09PWsmJihkPWMpLGJbY10hPT1rJiYoYVtkXT1iW2NdKSl9ZnVuY3Rpb24gTGIoYSxiLGMpe3ZhciBkLGU7Zm9yKGUgaW4gYiliLmhhc093blByb3BlcnR5KGUpJiYoZD1iW2VdLGguaXNQbGFpbk9iamVjdChkKT8oaC5pc1BsYWluT2JqZWN0KGFbZV0pfHwoYVtlXT17fSksaC5leHRlbmQoITAsYVtlXSxkKSk6YVtlXT1jJiYiZGF0YSIhPT1lJiYiYWFEYXRhIiE9PQplJiZoLmlzQXJyYXkoZCk/ZC5zbGljZSgpOmQpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXtoKGEpLmJpbmQoImNsaWNrLkRUIixiLGZ1bmN0aW9uKGIpe2EuYmx1cigpO2MoYil9KS5iaW5kKCJrZXlwcmVzcy5EVCIsYixmdW5jdGlvbihhKXsxMz09PWEud2hpY2gmJihhLnByZXZlbnREZWZhdWx0KCksYyhhKSl9KS5iaW5kKCJzZWxlY3RzdGFydC5EVCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pfWZ1bmN0aW9uIHooYSxiLGMsZCl7YyYmYVtiXS5wdXNoKHtmbjpjLHNOYW1lOmR9KX1mdW5jdGlvbiB1KGEsYixjLGQpe3ZhciBlPVtdO2ImJihlPWgubWFwKGFbYl0uc2xpY2UoKS5yZXZlcnNlKCksZnVuY3Rpb24oYil7cmV0dXJuIGIuZm4uYXBwbHkoYS5vSW5zdGFuY2UsZCl9KSk7bnVsbCE9PWMmJihiPWguRXZlbnQoYysiLmR0IiksaChhLm5UYWJsZSkudHJpZ2dlcihiLGQpLGUucHVzaChiLnJlc3VsdCkpO3JldHVybiBlfWZ1bmN0aW9uIFNhKGEpe3ZhciBiPWEuX2lEaXNwbGF5U3RhcnQsCmM9YS5mbkRpc3BsYXlFbmQoKSxkPWEuX2lEaXNwbGF5TGVuZ3RoO2I+PWMmJihiPWMtZCk7Yi09YiVkO2lmKC0xPT09ZHx8MD5iKWI9MDthLl9pRGlzcGxheVN0YXJ0PWJ9ZnVuY3Rpb24gTmEoYSxiKXt2YXIgYz1hLnJlbmRlcmVyLGQ9bS5leHQucmVuZGVyZXJbYl07cmV0dXJuIGguaXNQbGFpbk9iamVjdChjKSYmY1tiXT9kW2NbYl1dfHxkLl86InN0cmluZyI9PT10eXBlb2YgYz9kW2NdfHxkLl86ZC5ffWZ1bmN0aW9uIHkoYSl7cmV0dXJuIGEub0ZlYXR1cmVzLmJTZXJ2ZXJTaWRlPyJzc3AiOmEuYWpheHx8YS5zQWpheFNvdXJjZT8iYWpheCI6ImRvbSJ9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1bXSxjPU1iLm51bWJlcnNfbGVuZ3RoLGQ9TWF0aC5mbG9vcihjLzIpO2I8PWM/Yz1XKDAsYik6YTw9ZD8oYz1XKDAsYy0yKSxjLnB1c2goImVsbGlwc2lzIiksYy5wdXNoKGItMSkpOihhPj1iLTEtZD9jPVcoYi0oYy0yKSxiKTooYz1XKGEtZCsyLGErZC0xKSxjLnB1c2goImVsbGlwc2lzIiksCmMucHVzaChiLTEpKSxjLnNwbGljZSgwLDAsImVsbGlwc2lzIiksYy5zcGxpY2UoMCwwLDApKTtjLkRUX2VsPSJzcGFuIjtyZXR1cm4gY31mdW5jdGlvbiBkYihhKXtoLmVhY2goe251bTpmdW5jdGlvbihiKXtyZXR1cm4gemEoYixhKX0sIm51bS1mbXQiOmZ1bmN0aW9uKGIpe3JldHVybiB6YShiLGEsWGEpfSwiaHRtbC1udW0iOmZ1bmN0aW9uKGIpe3JldHVybiB6YShiLGEsQWEpfSwiaHRtbC1udW0tZm10IjpmdW5jdGlvbihiKXtyZXR1cm4gemEoYixhLEFhLFhhKX19LGZ1bmN0aW9uKGIsYyl7di50eXBlLm9yZGVyW2IrYSsiLXByZSJdPWM7Yi5tYXRjaCgvXmh0bWxcLS8pJiYodi50eXBlLnNlYXJjaFtiK2FdPXYudHlwZS5zZWFyY2guaHRtbCl9KX1mdW5jdGlvbiBOYihhKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYj1beGEodGhpc1ttLmV4dC5pQXBpSW5kZXhdKV0uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpO3JldHVybiBtLmV4dC5pbnRlcm5hbFthXS5hcHBseSh0aGlzLApiKX19dmFyIG09ZnVuY3Rpb24oYSl7dGhpcy4kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuYXBpKCEwKS4kKGEsYil9O3RoaXMuXz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmFwaSghMCkucm93cyhhLGIpLmRhdGEoKX07dGhpcy5hcGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHIoeGEodGhpc1t2LmlBcGlJbmRleF0pKTpuZXcgcih0aGlzKX07dGhpcy5mbkFkZERhdGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmFwaSghMCksZD1oLmlzQXJyYXkoYSkmJihoLmlzQXJyYXkoYVswXSl8fGguaXNQbGFpbk9iamVjdChhWzBdKSk/Yy5yb3dzLmFkZChhKTpjLnJvdy5hZGQoYSk7KGI9PT1rfHxiKSYmYy5kcmF3KCk7cmV0dXJuIGQuZmxhdHRlbigpLnRvQXJyYXkoKX07dGhpcy5mbkFkanVzdENvbHVtblNpemluZz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmFwaSghMCkuY29sdW1ucy5hZGp1c3QoKSxjPWIuc2V0dGluZ3MoKVswXSxkPWMub1Njcm9sbDthPT09a3x8YT9iLmRyYXcoITEpOgooIiIhPT1kLnNYfHwiIiE9PWQuc1kpJiZrYShjKX07dGhpcy5mbkNsZWFyVGFibGU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5hcGkoITApLmNsZWFyKCk7KGE9PT1rfHxhKSYmYi5kcmF3KCl9O3RoaXMuZm5DbG9zZT1mdW5jdGlvbihhKXt0aGlzLmFwaSghMCkucm93KGEpLmNoaWxkLmhpZGUoKX07dGhpcy5mbkRlbGV0ZVJvdz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5hcGkoITApLGE9ZC5yb3dzKGEpLGU9YS5zZXR0aW5ncygpWzBdLGg9ZS5hb0RhdGFbYVswXVswXV07YS5yZW1vdmUoKTtiJiZiLmNhbGwodGhpcyxlLGgpOyhjPT09a3x8YykmJmQuZHJhdygpO3JldHVybiBofTt0aGlzLmZuRGVzdHJveT1mdW5jdGlvbihhKXt0aGlzLmFwaSghMCkuZGVzdHJveShhKX07dGhpcy5mbkRyYXc9ZnVuY3Rpb24oYSl7dGhpcy5hcGkoITApLmRyYXcoYSl9O3RoaXMuZm5GaWx0ZXI9ZnVuY3Rpb24oYSxiLGMsZCxlLGgpe2U9dGhpcy5hcGkoITApO251bGw9PT1ifHxiPT09az9lLnNlYXJjaChhLApjLGQsaCk6ZS5jb2x1bW4oYikuc2VhcmNoKGEsYyxkLGgpO2UuZHJhdygpfTt0aGlzLmZuR2V0RGF0YT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuYXBpKCEwKTtpZihhIT09ayl7dmFyIGQ9YS5ub2RlTmFtZT9hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk6IiI7cmV0dXJuIGIhPT1rfHwidGQiPT1kfHwidGgiPT1kP2MuY2VsbChhLGIpLmRhdGEoKTpjLnJvdyhhKS5kYXRhKCl8fG51bGx9cmV0dXJuIGMuZGF0YSgpLnRvQXJyYXkoKX07dGhpcy5mbkdldE5vZGVzPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuYXBpKCEwKTtyZXR1cm4gYSE9PWs/Yi5yb3coYSkubm9kZSgpOmIucm93cygpLm5vZGVzKCkuZmxhdHRlbigpLnRvQXJyYXkoKX07dGhpcy5mbkdldFBvc2l0aW9uPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuYXBpKCEwKSxjPWEubm9kZU5hbWUudG9VcHBlckNhc2UoKTtyZXR1cm4iVFIiPT1jP2Iucm93KGEpLmluZGV4KCk6IlREIj09Y3x8IlRIIj09Yz8oYT1iLmNlbGwoYSkuaW5kZXgoKSwKW2Eucm93LGEuY29sdW1uVmlzaWJsZSxhLmNvbHVtbl0pOm51bGx9O3RoaXMuZm5Jc09wZW49ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXBpKCEwKS5yb3coYSkuY2hpbGQuaXNTaG93bigpfTt0aGlzLmZuT3Blbj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMuYXBpKCEwKS5yb3coYSkuY2hpbGQoYixjKS5zaG93KCkuY2hpbGQoKVswXX07dGhpcy5mblBhZ2VDaGFuZ2U9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmFwaSghMCkucGFnZShhKTsoYj09PWt8fGIpJiZjLmRyYXcoITEpfTt0aGlzLmZuU2V0Q29sdW1uVmlzPWZ1bmN0aW9uKGEsYixjKXthPXRoaXMuYXBpKCEwKS5jb2x1bW4oYSkudmlzaWJsZShiKTsoYz09PWt8fGMpJiZhLmNvbHVtbnMuYWRqdXN0KCkuZHJhdygpfTt0aGlzLmZuU2V0dGluZ3M9ZnVuY3Rpb24oKXtyZXR1cm4geGEodGhpc1t2LmlBcGlJbmRleF0pfTt0aGlzLmZuU29ydD1mdW5jdGlvbihhKXt0aGlzLmFwaSghMCkub3JkZXIoYSkuZHJhdygpfTt0aGlzLmZuU29ydExpc3RlbmVyPQpmdW5jdGlvbihhLGIsYyl7dGhpcy5hcGkoITApLm9yZGVyLmxpc3RlbmVyKGEsYixjKX07dGhpcy5mblVwZGF0ZT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBoPXRoaXMuYXBpKCEwKTtjPT09a3x8bnVsbD09PWM/aC5yb3coYikuZGF0YShhKTpoLmNlbGwoYixjKS5kYXRhKGEpOyhlPT09a3x8ZSkmJmguY29sdW1ucy5hZGp1c3QoKTsoZD09PWt8fGQpJiZoLmRyYXcoKTtyZXR1cm4gMH07dGhpcy5mblZlcnNpb25DaGVjaz12LmZuVmVyc2lvbkNoZWNrO3ZhciBiPXRoaXMsYz1hPT09ayxkPXRoaXMubGVuZ3RoO2MmJihhPXt9KTt0aGlzLm9BcGk9dGhpcy5pbnRlcm5hbD12LmludGVybmFsO2Zvcih2YXIgZSBpbiBtLmV4dC5pbnRlcm5hbCllJiYodGhpc1tlXT1OYihlKSk7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9e30sZT0xPGQ/TGIoZSxhLCEwKTphLGc9MCxqLGk9dGhpcy5nZXRBdHRyaWJ1dGUoImlkIiksbj0hMSxsPW0uZGVmYXVsdHMscT1oKHRoaXMpO2lmKCJ0YWJsZSIhPQp0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpTChudWxsLDAsIk5vbi10YWJsZSBub2RlIGluaXRpYWxpc2F0aW9uICgiK3RoaXMubm9kZU5hbWUrIikiLDIpO2Vsc2V7ZWIobCk7ZmIobC5jb2x1bW4pO0sobCxsLCEwKTtLKGwuY29sdW1uLGwuY29sdW1uLCEwKTtLKGwsaC5leHRlbmQoZSxxLmRhdGEoKSkpO3ZhciB0PW0uc2V0dGluZ3MsZz0wO2ZvcihqPXQubGVuZ3RoO2c8ajtnKyspe3ZhciBwPXRbZ107aWYocC5uVGFibGU9PXRoaXN8fHAublRIZWFkLnBhcmVudE5vZGU9PXRoaXN8fHAublRGb290JiZwLm5URm9vdC5wYXJlbnROb2RlPT10aGlzKXtnPWUuYlJldHJpZXZlIT09az9lLmJSZXRyaWV2ZTpsLmJSZXRyaWV2ZTtpZihjfHxnKXJldHVybiBwLm9JbnN0YW5jZTtpZihlLmJEZXN0cm95IT09az9lLmJEZXN0cm95OmwuYkRlc3Ryb3kpe3Aub0luc3RhbmNlLmZuRGVzdHJveSgpO2JyZWFrfWVsc2V7TChwLDAsIkNhbm5vdCByZWluaXRpYWxpc2UgRGF0YVRhYmxlIiwzKTsKcmV0dXJufX1pZihwLnNUYWJsZUlkPT10aGlzLmlkKXt0LnNwbGljZShnLDEpO2JyZWFrfX1pZihudWxsPT09aXx8IiI9PT1pKXRoaXMuaWQ9aT0iRGF0YVRhYmxlc19UYWJsZV8iK20uZXh0Ll91bmlxdWUrKzt2YXIgbz1oLmV4dGVuZCghMCx7fSxtLm1vZGVscy5vU2V0dGluZ3Mse3NEZXN0cm95V2lkdGg6cVswXS5zdHlsZS53aWR0aCxzSW5zdGFuY2U6aSxzVGFibGVJZDppfSk7by5uVGFibGU9dGhpcztvLm9BcGk9Yi5pbnRlcm5hbDtvLm9Jbml0PWU7dC5wdXNoKG8pO28ub0luc3RhbmNlPTE9PT1iLmxlbmd0aD9iOnEuZGF0YVRhYmxlKCk7ZWIoZSk7ZS5vTGFuZ3VhZ2UmJkRhKGUub0xhbmd1YWdlKTtlLmFMZW5ndGhNZW51JiYhZS5pRGlzcGxheUxlbmd0aCYmKGUuaURpc3BsYXlMZW5ndGg9aC5pc0FycmF5KGUuYUxlbmd0aE1lbnVbMF0pP2UuYUxlbmd0aE1lbnVbMF1bMF06ZS5hTGVuZ3RoTWVudVswXSk7ZT1MYihoLmV4dGVuZCghMCx7fSxsKSxlKTtFKG8ub0ZlYXR1cmVzLAplLCJiUGFnaW5hdGUgYkxlbmd0aENoYW5nZSBiRmlsdGVyIGJTb3J0IGJTb3J0TXVsdGkgYkluZm8gYlByb2Nlc3NpbmcgYkF1dG9XaWR0aCBiU29ydENsYXNzZXMgYlNlcnZlclNpZGUgYkRlZmVyUmVuZGVyIi5zcGxpdCgiICIpKTtFKG8sZSxbImFzU3RyaXBlQ2xhc3NlcyIsImFqYXgiLCJmblNlcnZlckRhdGEiLCJmbkZvcm1hdE51bWJlciIsInNTZXJ2ZXJNZXRob2QiLCJhYVNvcnRpbmciLCJhYVNvcnRpbmdGaXhlZCIsImFMZW5ndGhNZW51Iiwic1BhZ2luYXRpb25UeXBlIiwic0FqYXhTb3VyY2UiLCJzQWpheERhdGFQcm9wIiwiaVN0YXRlRHVyYXRpb24iLCJzRG9tIiwiYlNvcnRDZWxsc1RvcCIsImlUYWJJbmRleCIsImZuU3RhdGVMb2FkQ2FsbGJhY2siLCJmblN0YXRlU2F2ZUNhbGxiYWNrIiwicmVuZGVyZXIiLCJzZWFyY2hEZWxheSIsInJvd0lkIixbImlDb29raWVEdXJhdGlvbiIsImlTdGF0ZUR1cmF0aW9uIl0sWyJvU2VhcmNoIiwib1ByZXZpb3VzU2VhcmNoIl0sWyJhb1NlYXJjaENvbHMiLAoiYW9QcmVTZWFyY2hDb2xzIl0sWyJpRGlzcGxheUxlbmd0aCIsIl9pRGlzcGxheUxlbmd0aCJdLFsiYkpRdWVyeVVJIiwiYkpVSSJdXSk7RShvLm9TY3JvbGwsZSxbWyJzU2Nyb2xsWCIsInNYIl0sWyJzU2Nyb2xsWElubmVyIiwic1hJbm5lciJdLFsic1Njcm9sbFkiLCJzWSJdLFsiYlNjcm9sbENvbGxhcHNlIiwiYkNvbGxhcHNlIl1dKTtFKG8ub0xhbmd1YWdlLGUsImZuSW5mb0NhbGxiYWNrIik7eihvLCJhb0RyYXdDYWxsYmFjayIsZS5mbkRyYXdDYWxsYmFjaywidXNlciIpO3oobywiYW9TZXJ2ZXJQYXJhbXMiLGUuZm5TZXJ2ZXJQYXJhbXMsInVzZXIiKTt6KG8sImFvU3RhdGVTYXZlUGFyYW1zIixlLmZuU3RhdGVTYXZlUGFyYW1zLCJ1c2VyIik7eihvLCJhb1N0YXRlTG9hZFBhcmFtcyIsZS5mblN0YXRlTG9hZFBhcmFtcywidXNlciIpO3oobywiYW9TdGF0ZUxvYWRlZCIsZS5mblN0YXRlTG9hZGVkLCJ1c2VyIik7eihvLCJhb1Jvd0NhbGxiYWNrIixlLmZuUm93Q2FsbGJhY2ssCiJ1c2VyIik7eihvLCJhb1Jvd0NyZWF0ZWRDYWxsYmFjayIsZS5mbkNyZWF0ZWRSb3csInVzZXIiKTt6KG8sImFvSGVhZGVyQ2FsbGJhY2siLGUuZm5IZWFkZXJDYWxsYmFjaywidXNlciIpO3oobywiYW9Gb290ZXJDYWxsYmFjayIsZS5mbkZvb3RlckNhbGxiYWNrLCJ1c2VyIik7eihvLCJhb0luaXRDb21wbGV0ZSIsZS5mbkluaXRDb21wbGV0ZSwidXNlciIpO3oobywiYW9QcmVEcmF3Q2FsbGJhY2siLGUuZm5QcmVEcmF3Q2FsbGJhY2ssInVzZXIiKTtvLnJvd0lkRm49UShlLnJvd0lkKTtnYihvKTtpPW8ub0NsYXNzZXM7ZS5iSlF1ZXJ5VUk/KGguZXh0ZW5kKGksbS5leHQub0pVSUNsYXNzZXMsZS5vQ2xhc3NlcyksZS5zRG9tPT09bC5zRG9tJiYibGZydGlwIj09PWwuc0RvbSYmKG8uc0RvbT0nPCJIImxmcj50PCJGImlwPicpLG8ucmVuZGVyZXIpP2guaXNQbGFpbk9iamVjdChvLnJlbmRlcmVyKSYmIW8ucmVuZGVyZXIuaGVhZGVyJiYoby5yZW5kZXJlci5oZWFkZXI9ImpxdWVyeXVpIik6Cm8ucmVuZGVyZXI9ImpxdWVyeXVpIjpoLmV4dGVuZChpLG0uZXh0LmNsYXNzZXMsZS5vQ2xhc3Nlcyk7cS5hZGRDbGFzcyhpLnNUYWJsZSk7by5pSW5pdERpc3BsYXlTdGFydD09PWsmJihvLmlJbml0RGlzcGxheVN0YXJ0PWUuaURpc3BsYXlTdGFydCxvLl9pRGlzcGxheVN0YXJ0PWUuaURpc3BsYXlTdGFydCk7bnVsbCE9PWUuaURlZmVyTG9hZGluZyYmKG8uYkRlZmVyTG9hZGluZz0hMCxnPWguaXNBcnJheShlLmlEZWZlckxvYWRpbmcpLG8uX2lSZWNvcmRzRGlzcGxheT1nP2UuaURlZmVyTG9hZGluZ1swXTplLmlEZWZlckxvYWRpbmcsby5faVJlY29yZHNUb3RhbD1nP2UuaURlZmVyTG9hZGluZ1sxXTplLmlEZWZlckxvYWRpbmcpO3ZhciByPW8ub0xhbmd1YWdlO2guZXh0ZW5kKCEwLHIsZS5vTGFuZ3VhZ2UpOyIiIT09ci5zVXJsJiYoaC5hamF4KHtkYXRhVHlwZToianNvbiIsdXJsOnIuc1VybCxzdWNjZXNzOmZ1bmN0aW9uKGEpe0RhKGEpO0sobC5vTGFuZ3VhZ2UsYSk7aC5leHRlbmQodHJ1ZSwKcixhKTtnYShvKX0sZXJyb3I6ZnVuY3Rpb24oKXtnYShvKX19KSxuPSEwKTtudWxsPT09ZS5hc1N0cmlwZUNsYXNzZXMmJihvLmFzU3RyaXBlQ2xhc3Nlcz1baS5zU3RyaXBlT2RkLGkuc1N0cmlwZUV2ZW5dKTt2YXIgZz1vLmFzU3RyaXBlQ2xhc3Nlcyx2PXEuY2hpbGRyZW4oInRib2R5IikuZmluZCgidHIiKS5lcSgwKTstMSE9PWguaW5BcnJheSghMCxoLm1hcChnLGZ1bmN0aW9uKGEpe3JldHVybiB2Lmhhc0NsYXNzKGEpfSkpJiYoaCgidGJvZHkgdHIiLHRoaXMpLnJlbW92ZUNsYXNzKGcuam9pbigiICIpKSxvLmFzRGVzdHJveVN0cmlwZXM9Zy5zbGljZSgpKTt0PVtdO2c9dGhpcy5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGhlYWQiKTswIT09Zy5sZW5ndGgmJihkYShvLmFvSGVhZGVyLGdbMF0pLHQ9cWEobykpO2lmKG51bGw9PT1lLmFvQ29sdW1ucyl7cD1bXTtnPTA7Zm9yKGo9dC5sZW5ndGg7ZzxqO2crKylwLnB1c2gobnVsbCl9ZWxzZSBwPWUuYW9Db2x1bW5zO2c9MDtmb3Ioaj0KcC5sZW5ndGg7ZzxqO2crKylFYShvLHQ/dFtnXTpudWxsKTtpYihvLGUuYW9Db2x1bW5EZWZzLHAsZnVuY3Rpb24oYSxiKXtqYShvLGEsYil9KTtpZih2Lmxlbmd0aCl7dmFyIHM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImRhdGEtIitiKSE9PW51bGw/YjpudWxsfTtoKHZbMF0pLmNoaWxkcmVuKCJ0aCwgdGQiKS5lYWNoKGZ1bmN0aW9uKGEsYil7dmFyIGM9by5hb0NvbHVtbnNbYV07aWYoYy5tRGF0YT09PWEpe3ZhciBkPXMoYiwic29ydCIpfHxzKGIsIm9yZGVyIiksZT1zKGIsImZpbHRlciIpfHxzKGIsInNlYXJjaCIpO2lmKGQhPT1udWxsfHxlIT09bnVsbCl7Yy5tRGF0YT17XzphKyIuZGlzcGxheSIsc29ydDpkIT09bnVsbD9hKyIuQGRhdGEtIitkOmssdHlwZTpkIT09bnVsbD9hKyIuQGRhdGEtIitkOmssZmlsdGVyOmUhPT1udWxsP2ErIi5AZGF0YS0iK2U6a307amEobyxhKX19fSl9dmFyIHc9by5vRmVhdHVyZXM7ZS5iU3RhdGVTYXZlJiYody5iU3RhdGVTYXZlPQohMCxLYihvLGUpLHoobywiYW9EcmF3Q2FsbGJhY2siLHdhLCJzdGF0ZV9zYXZlIikpO2lmKGUuYWFTb3J0aW5nPT09ayl7dD1vLmFhU29ydGluZztnPTA7Zm9yKGo9dC5sZW5ndGg7ZzxqO2crKyl0W2ddWzFdPW8uYW9Db2x1bW5zW2ddLmFzU29ydGluZ1swXX12YShvKTt3LmJTb3J0JiZ6KG8sImFvRHJhd0NhbGxiYWNrIixmdW5jdGlvbigpe2lmKG8uYlNvcnRlZCl7dmFyIGE9VihvKSxiPXt9O2guZWFjaChhLGZ1bmN0aW9uKGEsYyl7YltjLnNyY109Yy5kaXJ9KTt1KG8sbnVsbCwib3JkZXIiLFtvLGEsYl0pO0piKG8pfX0pO3oobywiYW9EcmF3Q2FsbGJhY2siLGZ1bmN0aW9uKCl7KG8uYlNvcnRlZHx8eShvKT09PSJzc3AifHx3LmJEZWZlclJlbmRlcikmJnZhKG8pfSwic2MiKTtnPXEuY2hpbGRyZW4oImNhcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5fY2FwdGlvblNpZGU9cS5jc3MoImNhcHRpb24tc2lkZSIpfSk7aj1xLmNoaWxkcmVuKCJ0aGVhZCIpOzA9PT1qLmxlbmd0aCYmCihqPWgoIjx0aGVhZC8+IikuYXBwZW5kVG8odGhpcykpO28ublRIZWFkPWpbMF07aj1xLmNoaWxkcmVuKCJ0Ym9keSIpOzA9PT1qLmxlbmd0aCYmKGo9aCgiPHRib2R5Lz4iKS5hcHBlbmRUbyh0aGlzKSk7by5uVEJvZHk9alswXTtqPXEuY2hpbGRyZW4oInRmb290Iik7aWYoMD09PWoubGVuZ3RoJiYwPGcubGVuZ3RoJiYoIiIhPT1vLm9TY3JvbGwuc1h8fCIiIT09by5vU2Nyb2xsLnNZKSlqPWgoIjx0Zm9vdC8+IikuYXBwZW5kVG8odGhpcyk7MD09PWoubGVuZ3RofHwwPT09ai5jaGlsZHJlbigpLmxlbmd0aD9xLmFkZENsYXNzKGkuc05vRm9vdGVyKTowPGoubGVuZ3RoJiYoby5uVEZvb3Q9alswXSxkYShvLmFvRm9vdGVyLG8ublRGb290KSk7aWYoZS5hYURhdGEpZm9yKGc9MDtnPGUuYWFEYXRhLmxlbmd0aDtnKyspTihvLGUuYWFEYXRhW2ddKTtlbHNlKG8uYkRlZmVyTG9hZGluZ3x8ImRvbSI9PXkobykpJiZtYShvLGgoby5uVEJvZHkpLmNoaWxkcmVuKCJ0ciIpKTtvLmFpRGlzcGxheT0Kby5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKTtvLmJJbml0aWFsaXNlZD0hMDshMT09PW4mJmdhKG8pfX0pO2I9bnVsbDtyZXR1cm4gdGhpc30sdixyLHAscyxZYT17fSxPYj0vW1xyXG5dL2csQWE9LzwuKj8+L2csYWM9L15bXHdcK1wtXS8sYmM9L1tcd1wrXC1dJC8sY2M9UmVnRXhwKCIoXFwvfFxcLnxcXCp8XFwrfFxcP3xcXHx8XFwofFxcKXxcXFt8XFxdfFxce3xcXH18XFxcXHxcXCR8XFxefFxcLSkiLCJnIiksWGE9L1snLCTCo+KCrMKlJVx1MjAwOVx1MjAyRlx1MjBCRFx1MjBhOVx1MjBCQXJma10vZ2ksTT1mdW5jdGlvbihhKXtyZXR1cm4hYXx8ITA9PT1hfHwiLSI9PT1hPyEwOiExfSxQYj1mdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludChhLDEwKTtyZXR1cm4haXNOYU4oYikmJmlzRmluaXRlKGEpP2I6bnVsbH0sUWI9ZnVuY3Rpb24oYSxiKXtZYVtiXXx8KFlhW2JdPVJlZ0V4cChRYShiKSwiZyIpKTtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBhJiYiLiIhPT1iP2EucmVwbGFjZSgvXC4vZywKIiIpLnJlcGxhY2UoWWFbYl0sIi4iKTphfSxaYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9InN0cmluZyI9PT10eXBlb2YgYTtpZihNKGEpKXJldHVybiEwO2ImJmQmJihhPVFiKGEsYikpO2MmJmQmJihhPWEucmVwbGFjZShYYSwiIikpO3JldHVybiFpc05hTihwYXJzZUZsb2F0KGEpKSYmaXNGaW5pdGUoYSl9LFJiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTShhKT8hMDohKE0oYSl8fCJzdHJpbmciPT09dHlwZW9mIGEpP251bGw6WmEoYS5yZXBsYWNlKEFhLCIiKSxiLGMpPyEwOm51bGx9LEc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9MCxmPWEubGVuZ3RoO2lmKGMhPT1rKWZvcig7ZTxmO2UrKylhW2VdJiZhW2VdW2JdJiZkLnB1c2goYVtlXVtiXVtjXSk7ZWxzZSBmb3IoO2U8ZjtlKyspYVtlXSYmZC5wdXNoKGFbZV1bYl0pO3JldHVybiBkfSxoYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1bXSxmPTAsZz1iLmxlbmd0aDtpZihkIT09aylmb3IoO2Y8ZztmKyspYVtiW2ZdXVtjXSYmCmUucHVzaChhW2JbZl1dW2NdW2RdKTtlbHNlIGZvcig7ZjxnO2YrKyllLnB1c2goYVtiW2ZdXVtjXSk7cmV0dXJuIGV9LFc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkO2I9PT1rPyhiPTAsZD1hKTooZD1iLGI9YSk7Zm9yKHZhciBlPWI7ZTxkO2UrKyljLnB1c2goZSk7cmV0dXJuIGN9LFNiPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD1hLmxlbmd0aDtjPGQ7YysrKWFbY10mJmIucHVzaChhW2NdKTtyZXR1cm4gYn0scGE9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYyxkLGU9YS5sZW5ndGgsZixnPTA7ZD0wO2E6Zm9yKDtkPGU7ZCsrKXtjPWFbZF07Zm9yKGY9MDtmPGc7ZisrKWlmKGJbZl09PT1jKWNvbnRpbnVlIGE7Yi5wdXNoKGMpO2crK31yZXR1cm4gYn07bS51dGlsPXt0aHJvdHRsZTpmdW5jdGlvbihhLGIpe3ZhciBjPWIhPT1rP2I6MjAwLGQsZTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYj10aGlzLGc9K25ldyBEYXRlLGg9YXJndW1lbnRzO2QmJmc8ZCtjPyhjbGVhclRpbWVvdXQoZSksCmU9c2V0VGltZW91dChmdW5jdGlvbigpe2Q9azthLmFwcGx5KGIsaCl9LGMpKTooZD1nLGEuYXBwbHkoYixoKSl9fSxlc2NhcGVSZWdleDpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGNjLCJcXCQxIil9fTt2YXIgQT1mdW5jdGlvbihhLGIsYyl7YVtiXSE9PWsmJihhW2NdPWFbYl0pfSxiYT0vXFsuKj9cXSQvLFU9L1woXCkkLyxRYT1tLnV0aWwuZXNjYXBlUmVnZXgsdWE9aCgiPGRpdj4iKVswXSxaYj11YS50ZXh0Q29udGVudCE9PWssJGI9LzwuKj8+L2csT2E9bS51dGlsLnRocm90dGxlLFRiPVtdLHc9QXJyYXkucHJvdG90eXBlLGRjPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1tLnNldHRpbmdzLGU9aC5tYXAoZCxmdW5jdGlvbihhKXtyZXR1cm4gYS5uVGFibGV9KTtpZihhKXtpZihhLm5UYWJsZSYmYS5vQXBpKXJldHVyblthXTtpZihhLm5vZGVOYW1lJiYidGFibGUiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiBiPWguaW5BcnJheShhLGUpLC0xIT09Yj9bZFtiXV06Cm51bGw7aWYoYSYmImZ1bmN0aW9uIj09PXR5cGVvZiBhLnNldHRpbmdzKXJldHVybiBhLnNldHRpbmdzKCkudG9BcnJheSgpOyJzdHJpbmciPT09dHlwZW9mIGE/Yz1oKGEpOmEgaW5zdGFuY2VvZiBoJiYoYz1hKX1lbHNlIHJldHVybltdO2lmKGMpcmV0dXJuIGMubWFwKGZ1bmN0aW9uKCl7Yj1oLmluQXJyYXkodGhpcyxlKTtyZXR1cm4tMSE9PWI/ZFtiXTpudWxsfSkudG9BcnJheSgpfTtyPWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgcikpcmV0dXJuIG5ldyByKGEsYik7dmFyIGM9W10sZD1mdW5jdGlvbihhKXsoYT1kYyhhKSkmJihjPWMuY29uY2F0KGEpKX07aWYoaC5pc0FycmF5KGEpKWZvcih2YXIgZT0wLGY9YS5sZW5ndGg7ZTxmO2UrKylkKGFbZV0pO2Vsc2UgZChhKTt0aGlzLmNvbnRleHQ9cGEoYyk7YiYmaC5tZXJnZSh0aGlzLGIpO3RoaXMuc2VsZWN0b3I9e3Jvd3M6bnVsbCxjb2xzOm51bGwsb3B0czpudWxsfTtyLmV4dGVuZCh0aGlzLHRoaXMsVGIpfTsKbS5BcGk9cjtoLmV4dGVuZChyLnByb3RvdHlwZSx7YW55OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNvdW50KCl9LGNvbmNhdDp3LmNvbmNhdCxjb250ZXh0OltdLGNvdW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmxhdHRlbigpLmxlbmd0aH0sZWFjaDpmdW5jdGlvbihhKXtmb3IodmFyIGI9MCxjPXRoaXMubGVuZ3RoO2I8YztiKyspYS5jYWxsKHRoaXMsdGhpc1tiXSxiLHRoaXMpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnRleHQ7cmV0dXJuIGIubGVuZ3RoPmE/bmV3IHIoYlthXSx0aGlzW2FdKTpudWxsfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7dmFyIGI9W107aWYody5maWx0ZXIpYj13LmZpbHRlci5jYWxsKHRoaXMsYSx0aGlzKTtlbHNlIGZvcih2YXIgYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKylhLmNhbGwodGhpcyx0aGlzW2NdLGMsdGhpcykmJmIucHVzaCh0aGlzW2NdKTtyZXR1cm4gbmV3IHIodGhpcy5jb250ZXh0LGIpfSxmbGF0dGVuOmZ1bmN0aW9uKCl7dmFyIGE9CltdO3JldHVybiBuZXcgcih0aGlzLmNvbnRleHQsYS5jb25jYXQuYXBwbHkoYSx0aGlzLnRvQXJyYXkoKSkpfSxqb2luOncuam9pbixpbmRleE9mOncuaW5kZXhPZnx8ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Ynx8MCxkPXRoaXMubGVuZ3RoO2M8ZDtjKyspaWYodGhpc1tjXT09PWEpcmV0dXJuIGM7cmV0dXJuLTF9LGl0ZXJhdG9yOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVtdLGYsZyxoLGksbixsPXRoaXMuY29udGV4dCxtLHQscD10aGlzLnNlbGVjdG9yOyJzdHJpbmciPT09dHlwZW9mIGEmJihkPWMsYz1iLGI9YSxhPSExKTtnPTA7Zm9yKGg9bC5sZW5ndGg7ZzxoO2crKyl7dmFyIG89bmV3IHIobFtnXSk7aWYoInRhYmxlIj09PWIpZj1jLmNhbGwobyxsW2ddLGcpLGYhPT1rJiZlLnB1c2goZik7ZWxzZSBpZigiY29sdW1ucyI9PT1ifHwicm93cyI9PT1iKWY9Yy5jYWxsKG8sbFtnXSx0aGlzW2ddLGcpLGYhPT1rJiZlLnB1c2goZik7ZWxzZSBpZigiY29sdW1uIj09PWJ8fCJjb2x1bW4tcm93cyI9PT0KYnx8InJvdyI9PT1ifHwiY2VsbCI9PT1iKXt0PXRoaXNbZ107ImNvbHVtbi1yb3dzIj09PWImJihtPUJhKGxbZ10scC5vcHRzKSk7aT0wO2ZvcihuPXQubGVuZ3RoO2k8bjtpKyspZj10W2ldLGY9ImNlbGwiPT09Yj9jLmNhbGwobyxsW2ddLGYucm93LGYuY29sdW1uLGcsaSk6Yy5jYWxsKG8sbFtnXSxmLGcsaSxtKSxmIT09ayYmZS5wdXNoKGYpfX1yZXR1cm4gZS5sZW5ndGh8fGQ/KGE9bmV3IHIobCxhP2UuY29uY2F0LmFwcGx5KFtdLGUpOmUpLGI9YS5zZWxlY3RvcixiLnJvd3M9cC5yb3dzLGIuY29scz1wLmNvbHMsYi5vcHRzPXAub3B0cyxhKTp0aGlzfSxsYXN0SW5kZXhPZjp3Lmxhc3RJbmRleE9mfHxmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmluZGV4T2YuYXBwbHkodGhpcy50b0FycmF5LnJldmVyc2UoKSxhcmd1bWVudHMpfSxsZW5ndGg6MCxtYXA6ZnVuY3Rpb24oYSl7dmFyIGI9W107aWYody5tYXApYj13Lm1hcC5jYWxsKHRoaXMsYSx0aGlzKTtlbHNlIGZvcih2YXIgYz0KMCxkPXRoaXMubGVuZ3RoO2M8ZDtjKyspYi5wdXNoKGEuY2FsbCh0aGlzLHRoaXNbY10sYykpO3JldHVybiBuZXcgcih0aGlzLmNvbnRleHQsYil9LHBsdWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYlthXX0pfSxwb3A6dy5wb3AscHVzaDp3LnB1c2gscmVkdWNlOncucmVkdWNlfHxmdW5jdGlvbihhLGIpe3JldHVybiBoYih0aGlzLGEsYiwwLHRoaXMubGVuZ3RoLDEpfSxyZWR1Y2VSaWdodDp3LnJlZHVjZVJpZ2h0fHxmdW5jdGlvbihhLGIpe3JldHVybiBoYih0aGlzLGEsYix0aGlzLmxlbmd0aC0xLC0xLC0xKX0scmV2ZXJzZTp3LnJldmVyc2Usc2VsZWN0b3I6bnVsbCxzaGlmdDp3LnNoaWZ0LHNvcnQ6dy5zb3J0LHNwbGljZTp3LnNwbGljZSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHcuc2xpY2UuY2FsbCh0aGlzKX0sdG8kOmZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcyl9LHRvSlF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcyl9LAp1bmlxdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHIodGhpcy5jb250ZXh0LHBhKHRoaXMpKX0sdW5zaGlmdDp3LnVuc2hpZnR9KTtyLmV4dGVuZD1mdW5jdGlvbihhLGIsYyl7aWYoYy5sZW5ndGgmJmImJihiIGluc3RhbmNlb2Ygcnx8Yi5fX2R0X3dyYXBwZXIpKXt2YXIgZCxlLGYsZz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9Yi5hcHBseShhLGFyZ3VtZW50cyk7ci5leHRlbmQoZCxkLGMubWV0aG9kRXh0KTtyZXR1cm4gZH19O2Q9MDtmb3IoZT1jLmxlbmd0aDtkPGU7ZCsrKWY9Y1tkXSxiW2YubmFtZV09ImZ1bmN0aW9uIj09PXR5cGVvZiBmLnZhbD9nKGEsZi52YWwsZik6aC5pc1BsYWluT2JqZWN0KGYudmFsKT97fTpmLnZhbCxiW2YubmFtZV0uX19kdF93cmFwcGVyPSEwLHIuZXh0ZW5kKGEsYltmLm5hbWVdLGYucHJvcEV4dCl9fTtyLnJlZ2lzdGVyPXA9ZnVuY3Rpb24oYSxiKXtpZihoLmlzQXJyYXkoYSkpZm9yKHZhciBjPTAsZD1hLmxlbmd0aDtjPApkO2MrKylyLnJlZ2lzdGVyKGFbY10sYik7ZWxzZSBmb3IodmFyIGU9YS5zcGxpdCgiLiIpLGY9VGIsZyxqLGM9MCxkPWUubGVuZ3RoO2M8ZDtjKyspe2c9KGo9LTEhPT1lW2NdLmluZGV4T2YoIigpIikpP2VbY10ucmVwbGFjZSgiKCkiLCIiKTplW2NdO3ZhciBpO2E6e2k9MDtmb3IodmFyIG49Zi5sZW5ndGg7aTxuO2krKylpZihmW2ldLm5hbWU9PT1nKXtpPWZbaV07YnJlYWsgYX1pPW51bGx9aXx8KGk9e25hbWU6Zyx2YWw6e30sbWV0aG9kRXh0OltdLHByb3BFeHQ6W119LGYucHVzaChpKSk7Yz09PWQtMT9pLnZhbD1iOmY9aj9pLm1ldGhvZEV4dDppLnByb3BFeHR9fTtyLnJlZ2lzdGVyUGx1cmFsPXM9ZnVuY3Rpb24oYSxiLGMpe3IucmVnaXN0ZXIoYSxjKTtyLnJlZ2lzdGVyKGIsZnVuY3Rpb24oKXt2YXIgYT1jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gYT09PXRoaXM/dGhpczphIGluc3RhbmNlb2Ygcj9hLmxlbmd0aD9oLmlzQXJyYXkoYVswXSk/bmV3IHIoYS5jb250ZXh0LAphWzBdKTphWzBdOms6YX0pfTtwKCJ0YWJsZXMoKSIsZnVuY3Rpb24oYSl7dmFyIGI7aWYoYSl7Yj1yO3ZhciBjPXRoaXMuY29udGV4dDtpZigibnVtYmVyIj09PXR5cGVvZiBhKWE9W2NbYV1dO2Vsc2UgdmFyIGQ9aC5tYXAoYyxmdW5jdGlvbihhKXtyZXR1cm4gYS5uVGFibGV9KSxhPWgoZCkuZmlsdGVyKGEpLm1hcChmdW5jdGlvbigpe3ZhciBhPWguaW5BcnJheSh0aGlzLGQpO3JldHVybiBjW2FdfSkudG9BcnJheSgpO2I9bmV3IGIoYSl9ZWxzZSBiPXRoaXM7cmV0dXJuIGJ9KTtwKCJ0YWJsZSgpIixmdW5jdGlvbihhKXt2YXIgYT10aGlzLnRhYmxlcyhhKSxiPWEuY29udGV4dDtyZXR1cm4gYi5sZW5ndGg/bmV3IHIoYlswXSk6YX0pO3MoInRhYmxlcygpLm5vZGVzKCkiLCJ0YWJsZSgpLm5vZGUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpe3JldHVybiBhLm5UYWJsZX0sMSl9KTtzKCJ0YWJsZXMoKS5ib2R5KCkiLCJ0YWJsZSgpLmJvZHkoKSIsCmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihhKXtyZXR1cm4gYS5uVEJvZHl9LDEpfSk7cygidGFibGVzKCkuaGVhZGVyKCkiLCJ0YWJsZSgpLmhlYWRlcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGEublRIZWFkfSwxKX0pO3MoInRhYmxlcygpLmZvb3RlcigpIiwidGFibGUoKS5mb290ZXIoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpe3JldHVybiBhLm5URm9vdH0sMSl9KTtzKCJ0YWJsZXMoKS5jb250YWluZXJzKCkiLCJ0YWJsZSgpLmNvbnRhaW5lcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGEublRhYmxlV3JhcHBlcn0sMSl9KTtwKCJkcmF3KCkiLGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7InBhZ2UiPT09CmE/TyhiKTooInN0cmluZyI9PT10eXBlb2YgYSYmKGE9ImZ1bGwtaG9sZCI9PT1hPyExOiEwKSxUKGIsITE9PT1hKSl9KX0pO3AoInBhZ2UoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1rP3RoaXMucGFnZS5pbmZvKCkucGFnZTp0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7VGEoYixhKX0pfSk7cCgicGFnZS5pbmZvKCkiLGZ1bmN0aW9uKCl7aWYoMD09PXRoaXMuY29udGV4dC5sZW5ndGgpcmV0dXJuIGs7dmFyIGE9dGhpcy5jb250ZXh0WzBdLGI9YS5faURpc3BsYXlTdGFydCxjPWEub0ZlYXR1cmVzLmJQYWdpbmF0ZT9hLl9pRGlzcGxheUxlbmd0aDotMSxkPWEuZm5SZWNvcmRzRGlzcGxheSgpLGU9LTE9PT1jO3JldHVybntwYWdlOmU/MDpNYXRoLmZsb29yKGIvYykscGFnZXM6ZT8xOk1hdGguY2VpbChkL2MpLHN0YXJ0OmIsZW5kOmEuZm5EaXNwbGF5RW5kKCksbGVuZ3RoOmMscmVjb3Jkc1RvdGFsOmEuZm5SZWNvcmRzVG90YWwoKSxyZWNvcmRzRGlzcGxheTpkLApzZXJ2ZXJTaWRlOiJzc3AiPT09eShhKX19KTtwKCJwYWdlLmxlbigpIixmdW5jdGlvbihhKXtyZXR1cm4gYT09PWs/MCE9PXRoaXMuY29udGV4dC5sZW5ndGg/dGhpcy5jb250ZXh0WzBdLl9pRGlzcGxheUxlbmd0aDprOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXtSYShiLGEpfSl9KTt2YXIgVWI9ZnVuY3Rpb24oYSxiLGMpe2lmKGMpe3ZhciBkPW5ldyByKGEpO2Qub25lKCJkcmF3IixmdW5jdGlvbigpe2MoZC5hamF4Lmpzb24oKSl9KX1pZigic3NwIj09eShhKSlUKGEsYik7ZWxzZXtDKGEsITApO3ZhciBlPWEuanFYSFI7ZSYmNCE9PWUucmVhZHlTdGF0ZSYmZS5hYm9ydCgpO3JhKGEsW10sZnVuY3Rpb24oYyl7bmEoYSk7Zm9yKHZhciBjPXNhKGEsYyksZD0wLGU9Yy5sZW5ndGg7ZDxlO2QrKylOKGEsY1tkXSk7VChhLGIpO0MoYSwhMSl9KX19O3AoImFqYXguanNvbigpIixmdW5jdGlvbigpe3ZhciBhPXRoaXMuY29udGV4dDtpZigwPGEubGVuZ3RoKXJldHVybiBhWzBdLmpzb259KTsKcCgiYWpheC5wYXJhbXMoKSIsZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNvbnRleHQ7aWYoMDxhLmxlbmd0aClyZXR1cm4gYVswXS5vQWpheERhdGF9KTtwKCJhamF4LnJlbG9hZCgpIixmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYyl7VWIoYywhMT09PWIsYSl9KX0pO3AoImFqYXgudXJsKCkiLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY29udGV4dDtpZihhPT09ayl7aWYoMD09PWIubGVuZ3RoKXJldHVybiBrO2I9YlswXTtyZXR1cm4gYi5hamF4P2guaXNQbGFpbk9iamVjdChiLmFqYXgpP2IuYWpheC51cmw6Yi5hamF4OmIuc0FqYXhTb3VyY2V9cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXtoLmlzUGxhaW5PYmplY3QoYi5hamF4KT9iLmFqYXgudXJsPWE6Yi5hamF4PWF9KX0pO3AoImFqYXgudXJsKCkubG9hZCgpIixmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYyl7VWIoYywKITE9PT1iLGEpfSl9KTt2YXIgJGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bXSxnLGosaSxuLGwsbTtpPXR5cGVvZiBiO2lmKCFifHwic3RyaW5nIj09PWl8fCJmdW5jdGlvbiI9PT1pfHxiLmxlbmd0aD09PWspYj1bYl07aT0wO2ZvcihuPWIubGVuZ3RoO2k8bjtpKyspe2o9YltpXSYmYltpXS5zcGxpdD9iW2ldLnNwbGl0KCIsIik6W2JbaV1dO2w9MDtmb3IobT1qLmxlbmd0aDtsPG07bCsrKShnPWMoInN0cmluZyI9PT10eXBlb2YgaltsXT9oLnRyaW0oaltsXSk6altsXSkpJiZnLmxlbmd0aCYmKGY9Zi5jb25jYXQoZykpfWE9di5zZWxlY3RvclthXTtpZihhLmxlbmd0aCl7aT0wO2ZvcihuPWEubGVuZ3RoO2k8bjtpKyspZj1hW2ldKGQsZSxmKX1yZXR1cm4gcGEoZil9LGFiPWZ1bmN0aW9uKGEpe2F8fChhPXt9KTthLmZpbHRlciYmYS5zZWFyY2g9PT1rJiYoYS5zZWFyY2g9YS5maWx0ZXIpO3JldHVybiBoLmV4dGVuZCh7c2VhcmNoOiJub25lIixvcmRlcjoiY3VycmVudCIsCnBhZ2U6ImFsbCJ9LGEpfSxiYj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoO2I8YztiKyspaWYoMDxhW2JdLmxlbmd0aClyZXR1cm4gYVswXT1hW2JdLGFbMF0ubGVuZ3RoPTEsYS5sZW5ndGg9MSxhLmNvbnRleHQ9W2EuY29udGV4dFtiXV0sYTthLmxlbmd0aD0wO3JldHVybiBhfSxCYT1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPVtdLGc9YS5haURpc3BsYXk7Yz1hLmFpRGlzcGxheU1hc3Rlcjt2YXIgaj1iLnNlYXJjaDtkPWIub3JkZXI7ZT1iLnBhZ2U7aWYoInNzcCI9PXkoYSkpcmV0dXJuInJlbW92ZWQiPT09aj9bXTpXKDAsYy5sZW5ndGgpO2lmKCJjdXJyZW50Ij09ZSl7Yz1hLl9pRGlzcGxheVN0YXJ0O2ZvcihkPWEuZm5EaXNwbGF5RW5kKCk7YzxkO2MrKylmLnB1c2goZ1tjXSl9ZWxzZSBpZigiY3VycmVudCI9PWR8fCJhcHBsaWVkIj09ZClmPSJub25lIj09aj9jLnNsaWNlKCk6ImFwcGxpZWQiPT1qP2cuc2xpY2UoKTpoLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybi0xPT09CmguaW5BcnJheShhLGcpP2E6bnVsbH0pO2Vsc2UgaWYoImluZGV4Ij09ZHx8Im9yaWdpbmFsIj09ZCl7Yz0wO2ZvcihkPWEuYW9EYXRhLmxlbmd0aDtjPGQ7YysrKSJub25lIj09aj9mLnB1c2goYyk6KGU9aC5pbkFycmF5KGMsZyksKC0xPT09ZSYmInJlbW92ZWQiPT1qfHwwPD1lJiYiYXBwbGllZCI9PWopJiZmLnB1c2goYykpfXJldHVybiBmfTtwKCJyb3dzKCkiLGZ1bmN0aW9uKGEsYil7YT09PWs/YT0iIjpoLmlzUGxhaW5PYmplY3QoYSkmJihiPWEsYT0iIik7dmFyIGI9YWIoYiksYz10aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYyl7dmFyIGU9YjtyZXR1cm4gJGEoInJvdyIsYSxmdW5jdGlvbihhKXt2YXIgYj1QYihhKTtpZihiIT09bnVsbCYmIWUpcmV0dXJuW2JdO3ZhciBqPUJhKGMsZSk7aWYoYiE9PW51bGwmJmguaW5BcnJheShiLGopIT09LTEpcmV0dXJuW2JdO2lmKCFhKXJldHVybiBqO2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIilyZXR1cm4gaC5tYXAoaixmdW5jdGlvbihiKXt2YXIgZT0KYy5hb0RhdGFbYl07cmV0dXJuIGEoYixlLl9hRGF0YSxlLm5Ucik/YjpudWxsfSk7Yj1TYihoYShjLmFvRGF0YSxqLCJuVHIiKSk7aWYoYS5ub2RlTmFtZSl7aWYoYS5fRFRfUm93SW5kZXghPT1rKXJldHVyblthLl9EVF9Sb3dJbmRleF07aWYoYS5fRFRfQ2VsbEluZGV4KXJldHVyblthLl9EVF9DZWxsSW5kZXgucm93XTtiPWgoYSkuY2xvc2VzdCgiKltkYXRhLWR0LXJvd10iKTtyZXR1cm4gYi5sZW5ndGg/W2IuZGF0YSgiZHQtcm93IildOltdfWlmKHR5cGVvZiBhPT09InN0cmluZyImJmEuY2hhckF0KDApPT09IiMiKXtqPWMuYUlkc1thLnJlcGxhY2UoL14jLywiIildO2lmKGohPT1rKXJldHVybltqLmlkeF19cmV0dXJuIGgoYikuZmlsdGVyKGEpLm1hcChmdW5jdGlvbigpe3JldHVybiB0aGlzLl9EVF9Sb3dJbmRleH0pLnRvQXJyYXkoKX0sYyxlKX0sMSk7Yy5zZWxlY3Rvci5yb3dzPWE7Yy5zZWxlY3Rvci5vcHRzPWI7cmV0dXJuIGN9KTtwKCJyb3dzKCkubm9kZXMoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigicm93IiwKZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5hb0RhdGFbYl0ublRyfHxrfSwxKX0pO3AoInJvd3MoKS5kYXRhKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoITAsInJvd3MiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGhhKGEuYW9EYXRhLGIsIl9hRGF0YSIpfSwxKX0pO3MoInJvd3MoKS5jYWNoZSgpIiwicm93KCkuY2FjaGUoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInJvdyIsZnVuY3Rpb24oYixjKXt2YXIgZD1iLmFvRGF0YVtjXTtyZXR1cm4ic2VhcmNoIj09PWE/ZC5fYUZpbHRlckRhdGE6ZC5fYVNvcnREYXRhfSwxKX0pO3MoInJvd3MoKS5pbnZhbGlkYXRlKCkiLCJyb3coKS5pbnZhbGlkYXRlKCkiLGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJyb3ciLGZ1bmN0aW9uKGIsYyl7Y2EoYixjLGEpfSl9KTtzKCJyb3dzKCkuaW5kZXhlcygpIiwicm93KCkuaW5kZXgoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigicm93IiwKZnVuY3Rpb24oYSxiKXtyZXR1cm4gYn0sMSl9KTtzKCJyb3dzKCkuaWRzKCkiLCJyb3coKS5pZCgpIixmdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz10aGlzLmNvbnRleHQsZD0wLGU9Yy5sZW5ndGg7ZDxlO2QrKylmb3IodmFyIGY9MCxnPXRoaXNbZF0ubGVuZ3RoO2Y8ZztmKyspe3ZhciBoPWNbZF0ucm93SWRGbihjW2RdLmFvRGF0YVt0aGlzW2RdW2ZdXS5fYURhdGEpO2IucHVzaCgoITA9PT1hPyIjIjoiIikraCl9cmV0dXJuIG5ldyByKGMsYil9KTtzKCJyb3dzKCkucmVtb3ZlKCkiLCJyb3coKS5yZW1vdmUoKSIsZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuaXRlcmF0b3IoInJvdyIsZnVuY3Rpb24oYixjLGQpe3ZhciBlPWIuYW9EYXRhLGY9ZVtjXSxnLGgsaSxuLGw7ZS5zcGxpY2UoYywxKTtnPTA7Zm9yKGg9ZS5sZW5ndGg7ZzxoO2crKylpZihpPWVbZ10sbD1pLmFuQ2VsbHMsbnVsbCE9PWkublRyJiYoaS5uVHIuX0RUX1Jvd0luZGV4PWcpLG51bGwhPT1sKXtpPTA7Zm9yKG49CmwubGVuZ3RoO2k8bjtpKyspbFtpXS5fRFRfQ2VsbEluZGV4LnJvdz1nfW9hKGIuYWlEaXNwbGF5TWFzdGVyLGMpO29hKGIuYWlEaXNwbGF5LGMpO29hKGFbZF0sYywhMSk7U2EoYik7Yz1iLnJvd0lkRm4oZi5fYURhdGEpO2MhPT1rJiZkZWxldGUgYi5hSWRzW2NdfSk7dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0wLGQ9YS5hb0RhdGEubGVuZ3RoO2M8ZDtjKyspYS5hb0RhdGFbY10uaWR4PWN9KTtyZXR1cm4gdGhpc30pO3AoInJvd3MuYWRkKCkiLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXt2YXIgYyxmLGcsaD1bXTtmPTA7Zm9yKGc9YS5sZW5ndGg7ZjxnO2YrKyljPWFbZl0sYy5ub2RlTmFtZSYmIlRSIj09PWMubm9kZU5hbWUudG9VcHBlckNhc2UoKT9oLnB1c2gobWEoYixjKVswXSk6aC5wdXNoKE4oYixjKSk7cmV0dXJuIGh9LDEpLGM9dGhpcy5yb3dzKC0xKTtjLnBvcCgpO2gubWVyZ2UoYyxiKTsKcmV0dXJuIGN9KTtwKCJyb3coKSIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmIodGhpcy5yb3dzKGEsYikpfSk7cCgicm93KCkuZGF0YSgpIixmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnRleHQ7aWYoYT09PWspcmV0dXJuIGIubGVuZ3RoJiZ0aGlzLmxlbmd0aD9iWzBdLmFvRGF0YVt0aGlzWzBdXS5fYURhdGE6aztiWzBdLmFvRGF0YVt0aGlzWzBdXS5fYURhdGE9YTtjYShiWzBdLHRoaXNbMF0sImRhdGEiKTtyZXR1cm4gdGhpc30pO3AoInJvdygpLm5vZGUoKSIsZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNvbnRleHQ7cmV0dXJuIGEubGVuZ3RoJiZ0aGlzLmxlbmd0aD9hWzBdLmFvRGF0YVt0aGlzWzBdXS5uVHJ8fG51bGw6bnVsbH0pO3AoInJvdy5hZGQoKSIsZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIGgmJmEubGVuZ3RoJiYoYT1hWzBdKTt2YXIgYj10aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7cmV0dXJuIGEubm9kZU5hbWUmJiJUUiI9PT1hLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk/Cm1hKGIsYSlbMF06TihiLGEpfSk7cmV0dXJuIHRoaXMucm93KGJbMF0pfSk7dmFyIGNiPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5jb250ZXh0O2lmKGMubGVuZ3RoJiYoYz1jWzBdLmFvRGF0YVtiIT09az9iOmFbMF1dKSYmYy5fZGV0YWlscyljLl9kZXRhaWxzLnJlbW92ZSgpLGMuX2RldGFpbHNTaG93PWssYy5fZGV0YWlscz1rfSxWYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuY29udGV4dDtpZihjLmxlbmd0aCYmYS5sZW5ndGgpe3ZhciBkPWNbMF0uYW9EYXRhW2FbMF1dO2lmKGQuX2RldGFpbHMpeyhkLl9kZXRhaWxzU2hvdz1iKT9kLl9kZXRhaWxzLmluc2VydEFmdGVyKGQublRyKTpkLl9kZXRhaWxzLmRldGFjaCgpO3ZhciBlPWNbMF0sZj1uZXcgcihlKSxnPWUuYW9EYXRhO2Yub2ZmKCJkcmF3LmR0LkRUX2RldGFpbHMgY29sdW1uLXZpc2liaWxpdHkuZHQuRFRfZGV0YWlscyBkZXN0cm95LmR0LkRUX2RldGFpbHMiKTswPEcoZywiX2RldGFpbHMiKS5sZW5ndGgmJihmLm9uKCJkcmF3LmR0LkRUX2RldGFpbHMiLApmdW5jdGlvbihhLGIpe2U9PT1iJiZmLnJvd3Moe3BhZ2U6ImN1cnJlbnQifSkuZXEoMCkuZWFjaChmdW5jdGlvbihhKXthPWdbYV07YS5fZGV0YWlsc1Nob3cmJmEuX2RldGFpbHMuaW5zZXJ0QWZ0ZXIoYS5uVHIpfSl9KSxmLm9uKCJjb2x1bW4tdmlzaWJpbGl0eS5kdC5EVF9kZXRhaWxzIixmdW5jdGlvbihhLGIpe2lmKGU9PT1iKWZvcih2YXIgYyxkPWFhKGIpLGY9MCxoPWcubGVuZ3RoO2Y8aDtmKyspYz1nW2ZdLGMuX2RldGFpbHMmJmMuX2RldGFpbHMuY2hpbGRyZW4oInRkW2NvbHNwYW5dIikuYXR0cigiY29sc3BhbiIsZCl9KSxmLm9uKCJkZXN0cm95LmR0LkRUX2RldGFpbHMiLGZ1bmN0aW9uKGEsYil7aWYoZT09PWIpZm9yKHZhciBjPTAsZD1nLmxlbmd0aDtjPGQ7YysrKWdbY10uX2RldGFpbHMmJmNiKGYsYyl9KSl9fX07cCgicm93KCkuY2hpbGQoKSIsZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmNvbnRleHQ7aWYoYT09PWspcmV0dXJuIGMubGVuZ3RoJiZ0aGlzLmxlbmd0aD8KY1swXS5hb0RhdGFbdGhpc1swXV0uX2RldGFpbHM6aztpZighMD09PWEpdGhpcy5jaGlsZC5zaG93KCk7ZWxzZSBpZighMT09PWEpY2IodGhpcyk7ZWxzZSBpZihjLmxlbmd0aCYmdGhpcy5sZW5ndGgpe3ZhciBkPWNbMF0sYz1jWzBdLmFvRGF0YVt0aGlzWzBdXSxlPVtdLGY9ZnVuY3Rpb24oYSxiKXtpZihoLmlzQXJyYXkoYSl8fGEgaW5zdGFuY2VvZiBoKWZvcih2YXIgYz0wLGs9YS5sZW5ndGg7YzxrO2MrKylmKGFbY10sYik7ZWxzZSBhLm5vZGVOYW1lJiYidHIiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP2UucHVzaChhKTooYz1oKCI8dHI+PHRkLz48L3RyPiIpLmFkZENsYXNzKGIpLGgoInRkIixjKS5hZGRDbGFzcyhiKS5odG1sKGEpWzBdLmNvbFNwYW49YWEoZCksZS5wdXNoKGNbMF0pKX07ZihhLGIpO2MuX2RldGFpbHMmJmMuX2RldGFpbHMucmVtb3ZlKCk7Yy5fZGV0YWlscz1oKGUpO2MuX2RldGFpbHNTaG93JiZjLl9kZXRhaWxzLmluc2VydEFmdGVyKGMublRyKX1yZXR1cm4gdGhpc30pOwpwKFsicm93KCkuY2hpbGQuc2hvdygpIiwicm93KCkuY2hpbGQoKS5zaG93KCkiXSxmdW5jdGlvbigpe1ZiKHRoaXMsITApO3JldHVybiB0aGlzfSk7cChbInJvdygpLmNoaWxkLmhpZGUoKSIsInJvdygpLmNoaWxkKCkuaGlkZSgpIl0sZnVuY3Rpb24oKXtWYih0aGlzLCExKTtyZXR1cm4gdGhpc30pO3AoWyJyb3coKS5jaGlsZC5yZW1vdmUoKSIsInJvdygpLmNoaWxkKCkucmVtb3ZlKCkiXSxmdW5jdGlvbigpe2NiKHRoaXMpO3JldHVybiB0aGlzfSk7cCgicm93KCkuY2hpbGQuaXNTaG93bigpIixmdW5jdGlvbigpe3ZhciBhPXRoaXMuY29udGV4dDtyZXR1cm4gYS5sZW5ndGgmJnRoaXMubGVuZ3RoP2FbMF0uYW9EYXRhW3RoaXNbMF1dLl9kZXRhaWxzU2hvd3x8ITE6ITF9KTt2YXIgZWM9L14oLispOihuYW1lfHZpc0lkeHx2aXNpYmxlKSQvLFdiPWZ1bmN0aW9uKGEsYixjLGQsZSl7Zm9yKHZhciBjPVtdLGQ9MCxmPWUubGVuZ3RoO2Q8ZjtkKyspYy5wdXNoKEIoYSxlW2RdLGIpKTsKcmV0dXJuIGN9O3AoImNvbHVtbnMoKSIsZnVuY3Rpb24oYSxiKXthPT09az9hPSIiOmguaXNQbGFpbk9iamVjdChhKSYmKGI9YSxhPSIiKTt2YXIgYj1hYihiKSxjPXRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihjKXt2YXIgZT1hLGY9YixnPWMuYW9Db2x1bW5zLGo9RyhnLCJzTmFtZSIpLGk9RyhnLCJuVGgiKTtyZXR1cm4gJGEoImNvbHVtbiIsZSxmdW5jdGlvbihhKXt2YXIgYj1QYihhKTtpZihhPT09IiIpcmV0dXJuIFcoZy5sZW5ndGgpO2lmKGIhPT1udWxsKXJldHVybltiPj0wP2I6Zy5sZW5ndGgrYl07aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXt2YXIgZT1CYShjLGYpO3JldHVybiBoLm1hcChnLGZ1bmN0aW9uKGIsZil7cmV0dXJuIGEoZixXYihjLGYsMCwwLGUpLGlbZl0pP2Y6bnVsbH0pfXZhciBrPXR5cGVvZiBhPT09InN0cmluZyI/YS5tYXRjaChlYyk6IiI7aWYoaylzd2l0Y2goa1syXSl7Y2FzZSAidmlzSWR4IjpjYXNlICJ2aXNpYmxlIjpiPXBhcnNlSW50KGtbMV0sCjEwKTtpZihiPDApe3ZhciBtPWgubWFwKGcsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5iVmlzaWJsZT9iOm51bGx9KTtyZXR1cm5bbVttLmxlbmd0aCtiXV19cmV0dXJuW1ooYyxiKV07Y2FzZSAibmFtZSI6cmV0dXJuIGgubWFwKGosZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWtbMV0/YjpudWxsfSk7ZGVmYXVsdDpyZXR1cm5bXX1pZihhLm5vZGVOYW1lJiZhLl9EVF9DZWxsSW5kZXgpcmV0dXJuW2EuX0RUX0NlbGxJbmRleC5jb2x1bW5dO2I9aChpKS5maWx0ZXIoYSkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGguaW5BcnJheSh0aGlzLGkpfSkudG9BcnJheSgpO2lmKGIubGVuZ3RofHwhYS5ub2RlTmFtZSlyZXR1cm4gYjtiPWgoYSkuY2xvc2VzdCgiKltkYXRhLWR0LWNvbHVtbl0iKTtyZXR1cm4gYi5sZW5ndGg/W2IuZGF0YSgiZHQtY29sdW1uIildOltdfSxjLGYpfSwxKTtjLnNlbGVjdG9yLmNvbHM9YTtjLnNlbGVjdG9yLm9wdHM9YjtyZXR1cm4gY30pO3MoImNvbHVtbnMoKS5oZWFkZXIoKSIsCiJjb2x1bW4oKS5oZWFkZXIoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY29sdW1uIixmdW5jdGlvbihhLGIpe3JldHVybiBhLmFvQ29sdW1uc1tiXS5uVGh9LDEpfSk7cygiY29sdW1ucygpLmZvb3RlcigpIiwiY29sdW1uKCkuZm9vdGVyKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5hb0NvbHVtbnNbYl0ublRmfSwxKX0pO3MoImNvbHVtbnMoKS5kYXRhKCkiLCJjb2x1bW4oKS5kYXRhKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixXYiwxKX0pO3MoImNvbHVtbnMoKS5kYXRhU3JjKCkiLCJjb2x1bW4oKS5kYXRhU3JjKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5hb0NvbHVtbnNbYl0ubURhdGF9LDEpfSk7cygiY29sdW1ucygpLmNhY2hlKCkiLCJjb2x1bW4oKS5jYWNoZSgpIiwKZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixmdW5jdGlvbihiLGMsZCxlLGYpe3JldHVybiBoYShiLmFvRGF0YSxmLCJzZWFyY2giPT09YT8iX2FGaWx0ZXJEYXRhIjoiX2FTb3J0RGF0YSIsYyl9LDEpfSk7cygiY29sdW1ucygpLm5vZGVzKCkiLCJjb2x1bW4oKS5ub2RlcygpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4tcm93cyIsZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gaGEoYS5hb0RhdGEsZSwiYW5DZWxscyIsYil9LDEpfSk7cygiY29sdW1ucygpLnZpc2libGUoKSIsImNvbHVtbigpLnZpc2libGUoKSIsZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKGIsYyl7aWYoYT09PWspcmV0dXJuIGIuYW9Db2x1bW5zW2NdLmJWaXNpYmxlO3ZhciBmPWIuYW9Db2x1bW5zLGc9ZltjXSxqPWIuYW9EYXRhLGksbixsO2lmKGEhPT1rJiZnLmJWaXNpYmxlIT09YSl7aWYoYSl7dmFyIG09CmguaW5BcnJheSghMCxHKGYsImJWaXNpYmxlIiksYysxKTtpPTA7Zm9yKG49ai5sZW5ndGg7aTxuO2krKylsPWpbaV0ublRyLGY9altpXS5hbkNlbGxzLGwmJmwuaW5zZXJ0QmVmb3JlKGZbY10sZlttXXx8bnVsbCl9ZWxzZSBoKEcoYi5hb0RhdGEsImFuQ2VsbHMiLGMpKS5kZXRhY2goKTtnLmJWaXNpYmxlPWE7ZWEoYixiLmFvSGVhZGVyKTtlYShiLGIuYW9Gb290ZXIpO3dhKGIpfX0pO2EhPT1rJiYodGhpcy5pdGVyYXRvcigiY29sdW1uIixmdW5jdGlvbihjLGUpe3UoYyxudWxsLCJjb2x1bW4tdmlzaWJpbGl0eSIsW2MsZSxhLGJdKX0pLChiPT09a3x8YikmJnRoaXMuY29sdW1ucy5hZGp1c3QoKSk7cmV0dXJuIGN9KTtzKCJjb2x1bW5zKCkuaW5kZXhlcygpIiwiY29sdW1uKCkuaW5kZXgoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oYixjKXtyZXR1cm4idmlzaWJsZSI9PT1hPyQoYixjKTpjfSwxKX0pO3AoImNvbHVtbnMuYWRqdXN0KCkiLApmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7WShhKX0sMSl9KTtwKCJjb2x1bW4uaW5kZXgoKSIsZnVuY3Rpb24oYSxiKXtpZigwIT09dGhpcy5jb250ZXh0Lmxlbmd0aCl7dmFyIGM9dGhpcy5jb250ZXh0WzBdO2lmKCJmcm9tVmlzaWJsZSI9PT1hfHwidG9EYXRhIj09PWEpcmV0dXJuIFooYyxiKTtpZigiZnJvbURhdGEiPT09YXx8InRvVmlzaWJsZSI9PT1hKXJldHVybiAkKGMsYil9fSk7cCgiY29sdW1uKCkiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGJiKHRoaXMuY29sdW1ucyhhLGIpKX0pO3AoImNlbGxzKCkiLGZ1bmN0aW9uKGEsYixjKXtoLmlzUGxhaW5PYmplY3QoYSkmJihhLnJvdz09PWs/KGM9YSxhPW51bGwpOihjPWIsYj1udWxsKSk7aC5pc1BsYWluT2JqZWN0KGIpJiYoYz1iLGI9bnVsbCk7aWYobnVsbD09PWJ8fGI9PT1rKXJldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7dmFyIGQ9YSxlPWFiKGMpLGY9CmIuYW9EYXRhLGc9QmEoYixlKSxqPVNiKGhhKGYsZywiYW5DZWxscyIpKSxpPWgoW10uY29uY2F0LmFwcGx5KFtdLGopKSxsLG49Yi5hb0NvbHVtbnMubGVuZ3RoLG0scCxyLHUsdixzO3JldHVybiAkYSgiY2VsbCIsZCxmdW5jdGlvbihhKXt2YXIgYz10eXBlb2YgYT09PSJmdW5jdGlvbiI7aWYoYT09PW51bGx8fGE9PT1rfHxjKXttPVtdO3A9MDtmb3Iocj1nLmxlbmd0aDtwPHI7cCsrKXtsPWdbcF07Zm9yKHU9MDt1PG47dSsrKXt2PXtyb3c6bCxjb2x1bW46dX07aWYoYyl7cz1mW2xdO2EodixCKGIsbCx1KSxzLmFuQ2VsbHM/cy5hbkNlbGxzW3VdOm51bGwpJiZtLnB1c2godil9ZWxzZSBtLnB1c2godil9fXJldHVybiBtfWlmKGguaXNQbGFpbk9iamVjdChhKSlyZXR1cm5bYV07Yz1pLmZpbHRlcihhKS5tYXAoZnVuY3Rpb24oYSxiKXtyZXR1cm57cm93OmIuX0RUX0NlbGxJbmRleC5yb3csY29sdW1uOmIuX0RUX0NlbGxJbmRleC5jb2x1bW59fSkudG9BcnJheSgpO2lmKGMubGVuZ3RofHwKIWEubm9kZU5hbWUpcmV0dXJuIGM7cz1oKGEpLmNsb3Nlc3QoIipbZGF0YS1kdC1yb3ddIik7cmV0dXJuIHMubGVuZ3RoP1t7cm93OnMuZGF0YSgiZHQtcm93IiksY29sdW1uOnMuZGF0YSgiZHQtY29sdW1uIil9XTpbXX0sYixlKX0pO3ZhciBkPXRoaXMuY29sdW1ucyhiLGMpLGU9dGhpcy5yb3dzKGEsYyksZixnLGosaSxuLGw9dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEsYil7Zj1bXTtnPTA7Zm9yKGo9ZVtiXS5sZW5ndGg7ZzxqO2crKyl7aT0wO2ZvcihuPWRbYl0ubGVuZ3RoO2k8bjtpKyspZi5wdXNoKHtyb3c6ZVtiXVtnXSxjb2x1bW46ZFtiXVtpXX0pfXJldHVybiBmfSwxKTtoLmV4dGVuZChsLnNlbGVjdG9yLHtjb2xzOmIscm93czphLG9wdHM6Y30pO3JldHVybiBsfSk7cygiY2VsbHMoKS5ub2RlcygpIiwiY2VsbCgpLm5vZGUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24oYSxiLGMpe3JldHVybihhPWEuYW9EYXRhW2JdKSYmCmEuYW5DZWxscz9hLmFuQ2VsbHNbY106a30sMSl9KTtwKCJjZWxscygpLmRhdGEoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBCKGEsYixjKX0sMSl9KTtzKCJjZWxscygpLmNhY2hlKCkiLCJjZWxsKCkuY2FjaGUoKSIsZnVuY3Rpb24oYSl7YT0ic2VhcmNoIj09PWE/Il9hRmlsdGVyRGF0YSI6Il9hU29ydERhdGEiO3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGlvbihiLGMsZCl7cmV0dXJuIGIuYW9EYXRhW2NdW2FdW2RdfSwxKX0pO3MoImNlbGxzKCkucmVuZGVyKCkiLCJjZWxsKCkucmVuZGVyKCkiLGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGlvbihiLGMsZCl7cmV0dXJuIEIoYixjLGQsYSl9LDEpfSk7cygiY2VsbHMoKS5pbmRleGVzKCkiLCJjZWxsKCkuaW5kZXgoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24oYSwKYixjKXtyZXR1cm57cm93OmIsY29sdW1uOmMsY29sdW1uVmlzaWJsZTokKGEsYyl9fSwxKX0pO3MoImNlbGxzKCkuaW52YWxpZGF0ZSgpIiwiY2VsbCgpLmludmFsaWRhdGUoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKGIsYyxkKXtjYShiLGMsYSxkKX0pfSk7cCgiY2VsbCgpIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGJiKHRoaXMuY2VsbHMoYSxiLGMpKX0pO3AoImNlbGwoKS5kYXRhKCkiLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY29udGV4dCxjPXRoaXNbMF07aWYoYT09PWspcmV0dXJuIGIubGVuZ3RoJiZjLmxlbmd0aD9CKGJbMF0sY1swXS5yb3csY1swXS5jb2x1bW4pOms7amIoYlswXSxjWzBdLnJvdyxjWzBdLmNvbHVtbixhKTtjYShiWzBdLGNbMF0ucm93LCJkYXRhIixjWzBdLmNvbHVtbik7cmV0dXJuIHRoaXN9KTtwKCJvcmRlcigpIixmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29udGV4dDtpZihhPT09aylyZXR1cm4gMCE9PQpjLmxlbmd0aD9jWzBdLmFhU29ydGluZzprOyJudW1iZXIiPT09dHlwZW9mIGE/YT1bW2EsYl1dOmEubGVuZ3RoJiYhaC5pc0FycmF5KGFbMF0pJiYoYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGIpe2IuYWFTb3J0aW5nPWEuc2xpY2UoKX0pfSk7cCgib3JkZXIubGlzdGVuZXIoKSIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oZCl7TWEoZCxhLGIsYyl9KX0pO3AoIm9yZGVyLmZpeGVkKCkiLGZ1bmN0aW9uKGEpe2lmKCFhKXt2YXIgYj10aGlzLmNvbnRleHQsYj1iLmxlbmd0aD9iWzBdLmFhU29ydGluZ0ZpeGVkOms7cmV0dXJuIGguaXNBcnJheShiKT97cHJlOmJ9OmJ9cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXtiLmFhU29ydGluZ0ZpeGVkPWguZXh0ZW5kKCEwLHt9LGEpfSl9KTtwKFsiY29sdW1ucygpLm9yZGVyKCkiLAoiY29sdW1uKCkub3JkZXIoKSJdLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihjLGQpe3ZhciBlPVtdO2guZWFjaChiW2RdLGZ1bmN0aW9uKGIsYyl7ZS5wdXNoKFtjLGFdKX0pO2MuYWFTb3J0aW5nPWV9KX0pO3AoInNlYXJjaCgpIixmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10aGlzLmNvbnRleHQ7cmV0dXJuIGE9PT1rPzAhPT1lLmxlbmd0aD9lWzBdLm9QcmV2aW91c1NlYXJjaC5zU2VhcmNoOms6dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGUpe2Uub0ZlYXR1cmVzLmJGaWx0ZXImJmZhKGUsaC5leHRlbmQoe30sZS5vUHJldmlvdXNTZWFyY2gse3NTZWFyY2g6YSsiIixiUmVnZXg6bnVsbD09PWI/ITE6YixiU21hcnQ6bnVsbD09PWM/ITA6YyxiQ2FzZUluc2Vuc2l0aXZlOm51bGw9PT1kPyEwOmR9KSwxKX0pfSk7cygiY29sdW1ucygpLnNlYXJjaCgpIiwiY29sdW1uKCkuc2VhcmNoKCkiLGZ1bmN0aW9uKGEsCmIsYyxkKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY29sdW1uIixmdW5jdGlvbihlLGYpe3ZhciBnPWUuYW9QcmVTZWFyY2hDb2xzO2lmKGE9PT1rKXJldHVybiBnW2ZdLnNTZWFyY2g7ZS5vRmVhdHVyZXMuYkZpbHRlciYmKGguZXh0ZW5kKGdbZl0se3NTZWFyY2g6YSsiIixiUmVnZXg6bnVsbD09PWI/ITE6YixiU21hcnQ6bnVsbD09PWM/ITA6YyxiQ2FzZUluc2Vuc2l0aXZlOm51bGw9PT1kPyEwOmR9KSxmYShlLGUub1ByZXZpb3VzU2VhcmNoLDEpKX0pfSk7cCgic3RhdGUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZXh0Lmxlbmd0aD90aGlzLmNvbnRleHRbMF0ub1NhdmVkU3RhdGU6bnVsbH0pO3AoInN0YXRlLmNsZWFyKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihhKXthLmZuU3RhdGVTYXZlQ2FsbGJhY2suY2FsbChhLm9JbnN0YW5jZSxhLHt9KX0pfSk7cCgic3RhdGUubG9hZGVkKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGV4dC5sZW5ndGg/CnRoaXMuY29udGV4dFswXS5vTG9hZGVkU3RhdGU6bnVsbH0pO3AoInN0YXRlLnNhdmUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpe3dhKGEpfSl9KTttLnZlcnNpb25DaGVjaz1tLmZuVmVyc2lvbkNoZWNrPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1tLnZlcnNpb24uc3BsaXQoIi4iKSxhPWEuc3BsaXQoIi4iKSxjLGQsZT0wLGY9YS5sZW5ndGg7ZTxmO2UrKylpZihjPXBhcnNlSW50KGJbZV0sMTApfHwwLGQ9cGFyc2VJbnQoYVtlXSwxMCl8fDAsYyE9PWQpcmV0dXJuIGM+ZDtyZXR1cm4hMH07bS5pc0RhdGFUYWJsZT1tLmZuSXNEYXRhVGFibGU9ZnVuY3Rpb24oYSl7dmFyIGI9aChhKS5nZXQoMCksYz0hMTtoLmVhY2gobS5zZXR0aW5ncyxmdW5jdGlvbihhLGUpe3ZhciBmPWUublNjcm9sbEhlYWQ/aCgidGFibGUiLGUublNjcm9sbEhlYWQpWzBdOm51bGwsZz1lLm5TY3JvbGxGb290P2goInRhYmxlIixlLm5TY3JvbGxGb290KVswXToKbnVsbDtpZihlLm5UYWJsZT09PWJ8fGY9PT1ifHxnPT09YiljPSEwfSk7cmV0dXJuIGN9O20udGFibGVzPW0uZm5UYWJsZXM9ZnVuY3Rpb24oYSl7dmFyIGI9ITE7aC5pc1BsYWluT2JqZWN0KGEpJiYoYj1hLmFwaSxhPWEudmlzaWJsZSk7dmFyIGM9aC5tYXAobS5zZXR0aW5ncyxmdW5jdGlvbihiKXtpZighYXx8YSYmaChiLm5UYWJsZSkuaXMoIjp2aXNpYmxlIikpcmV0dXJuIGIublRhYmxlfSk7cmV0dXJuIGI/bmV3IHIoYyk6Y307bS5jYW1lbFRvSHVuZ2FyaWFuPUs7cCgiJCgpIixmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMucm93cyhiKS5ub2RlcygpLGM9aChjKTtyZXR1cm4gaChbXS5jb25jYXQoYy5maWx0ZXIoYSkudG9BcnJheSgpLGMuZmluZChhKS50b0FycmF5KCkpKX0pO2guZWFjaChbIm9uIiwib25lIiwib2ZmIl0sZnVuY3Rpb24oYSxiKXtwKGIrIigpIixmdW5jdGlvbigpe3ZhciBhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7YVswXS5tYXRjaCgvXC5kdFxiLyl8fAooYVswXSs9Ii5kdCIpO3ZhciBkPWgodGhpcy50YWJsZXMoKS5ub2RlcygpKTtkW2JdLmFwcGx5KGQsYSk7cmV0dXJuIHRoaXN9KX0pO3AoImNsZWFyKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihhKXtuYShhKX0pfSk7cCgic2V0dGluZ3MoKSIsZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHIodGhpcy5jb250ZXh0LHRoaXMuY29udGV4dCl9KTtwKCJpbml0KCkiLGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jb250ZXh0O3JldHVybiBhLmxlbmd0aD9hWzBdLm9Jbml0Om51bGx9KTtwKCJkYXRhKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihhKXtyZXR1cm4gRyhhLmFvRGF0YSwiX2FEYXRhIil9KS5mbGF0dGVuKCl9KTtwKCJkZXN0cm95KCkiLGZ1bmN0aW9uKGEpe2E9YXx8ITE7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXt2YXIgYz1iLm5UYWJsZVdyYXBwZXIucGFyZW50Tm9kZSwKZD1iLm9DbGFzc2VzLGU9Yi5uVGFibGUsZj1iLm5UQm9keSxnPWIublRIZWFkLGo9Yi5uVEZvb3QsaT1oKGUpLGY9aChmKSxrPWgoYi5uVGFibGVXcmFwcGVyKSxsPWgubWFwKGIuYW9EYXRhLGZ1bmN0aW9uKGEpe3JldHVybiBhLm5Ucn0pLHA7Yi5iRGVzdHJveWluZz0hMDt1KGIsImFvRGVzdHJveUNhbGxiYWNrIiwiZGVzdHJveSIsW2JdKTthfHwobmV3IHIoYikpLmNvbHVtbnMoKS52aXNpYmxlKCEwKTtrLnVuYmluZCgiLkRUIikuZmluZCgiOm5vdCh0Ym9keSAqKSIpLnVuYmluZCgiLkRUIik7aChEKS51bmJpbmQoIi5EVC0iK2Iuc0luc3RhbmNlKTtlIT1nLnBhcmVudE5vZGUmJihpLmNoaWxkcmVuKCJ0aGVhZCIpLmRldGFjaCgpLGkuYXBwZW5kKGcpKTtqJiZlIT1qLnBhcmVudE5vZGUmJihpLmNoaWxkcmVuKCJ0Zm9vdCIpLmRldGFjaCgpLGkuYXBwZW5kKGopKTtiLmFhU29ydGluZz1bXTtiLmFhU29ydGluZ0ZpeGVkPVtdO3ZhKGIpO2gobCkucmVtb3ZlQ2xhc3MoYi5hc1N0cmlwZUNsYXNzZXMuam9pbigiICIpKTsKaCgidGgsIHRkIixnKS5yZW1vdmVDbGFzcyhkLnNTb3J0YWJsZSsiICIrZC5zU29ydGFibGVBc2MrIiAiK2Quc1NvcnRhYmxlRGVzYysiICIrZC5zU29ydGFibGVOb25lKTtiLmJKVUkmJihoKCJ0aCBzcGFuLiIrZC5zU29ydEljb24rIiwgdGQgc3Bhbi4iK2Quc1NvcnRJY29uLGcpLmRldGFjaCgpLGgoInRoLCB0ZCIsZykuZWFjaChmdW5jdGlvbigpe3ZhciBhPWgoImRpdi4iK2Quc1NvcnRKVUlXcmFwcGVyLHRoaXMpO2godGhpcykuYXBwZW5kKGEuY29udGVudHMoKSk7YS5kZXRhY2goKX0pKTtmLmNoaWxkcmVuKCkuZGV0YWNoKCk7Zi5hcHBlbmQobCk7Zz1hPyJyZW1vdmUiOiJkZXRhY2giO2lbZ10oKTtrW2ddKCk7IWEmJmMmJihjLmluc2VydEJlZm9yZShlLGIublRhYmxlUmVpbnNlcnRCZWZvcmUpLGkuY3NzKCJ3aWR0aCIsYi5zRGVzdHJveVdpZHRoKS5yZW1vdmVDbGFzcyhkLnNUYWJsZSksKHA9Yi5hc0Rlc3Ryb3lTdHJpcGVzLmxlbmd0aCkmJmYuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKGEpe2godGhpcykuYWRkQ2xhc3MoYi5hc0Rlc3Ryb3lTdHJpcGVzW2ElCnBdKX0pKTtjPWguaW5BcnJheShiLG0uc2V0dGluZ3MpOy0xIT09YyYmbS5zZXR0aW5ncy5zcGxpY2UoYywxKX0pfSk7aC5lYWNoKFsiY29sdW1uIiwicm93IiwiY2VsbCJdLGZ1bmN0aW9uKGEsYil7cChiKyJzKCkuZXZlcnkoKSIsZnVuY3Rpb24oYSl7dmFyIGQ9dGhpcy5zZWxlY3Rvci5vcHRzLGU9dGhpcztyZXR1cm4gdGhpcy5pdGVyYXRvcihiLGZ1bmN0aW9uKGYsZyxoLGksbil7YS5jYWxsKGVbYl0oZywiY2VsbCI9PT1iP2g6ZCwiY2VsbCI9PT1iP2Q6ayksZyxoLGksbil9KX0pfSk7cCgiaTE4bigpIixmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5jb250ZXh0WzBdLGE9UShhKShkLm9MYW5ndWFnZSk7YT09PWsmJihhPWIpO2MhPT1rJiZoLmlzUGxhaW5PYmplY3QoYSkmJihhPWFbY10hPT1rP2FbY106YS5fKTtyZXR1cm4gYS5yZXBsYWNlKCIlZCIsYyl9KTttLnZlcnNpb249IjEuMTAuMTIiO20uc2V0dGluZ3M9W107bS5tb2RlbHM9e307bS5tb2RlbHMub1NlYXJjaD17YkNhc2VJbnNlbnNpdGl2ZTohMCwKc1NlYXJjaDoiIixiUmVnZXg6ITEsYlNtYXJ0OiEwfTttLm1vZGVscy5vUm93PXtuVHI6bnVsbCxhbkNlbGxzOm51bGwsX2FEYXRhOltdLF9hU29ydERhdGE6bnVsbCxfYUZpbHRlckRhdGE6bnVsbCxfc0ZpbHRlclJvdzpudWxsLF9zUm93U3RyaXBlOiIiLHNyYzpudWxsLGlkeDotMX07bS5tb2RlbHMub0NvbHVtbj17aWR4Om51bGwsYURhdGFTb3J0Om51bGwsYXNTb3J0aW5nOm51bGwsYlNlYXJjaGFibGU6bnVsbCxiU29ydGFibGU6bnVsbCxiVmlzaWJsZTpudWxsLF9zTWFudWFsVHlwZTpudWxsLF9iQXR0clNyYzohMSxmbkNyZWF0ZWRDZWxsOm51bGwsZm5HZXREYXRhOm51bGwsZm5TZXREYXRhOm51bGwsbURhdGE6bnVsbCxtUmVuZGVyOm51bGwsblRoOm51bGwsblRmOm51bGwsc0NsYXNzOm51bGwsc0NvbnRlbnRQYWRkaW5nOm51bGwsc0RlZmF1bHRDb250ZW50Om51bGwsc05hbWU6bnVsbCxzU29ydERhdGFUeXBlOiJzdGQiLHNTb3J0aW5nQ2xhc3M6bnVsbCxzU29ydGluZ0NsYXNzSlVJOm51bGwsCnNUaXRsZTpudWxsLHNUeXBlOm51bGwsc1dpZHRoOm51bGwsc1dpZHRoT3JpZzpudWxsfTttLmRlZmF1bHRzPXthYURhdGE6bnVsbCxhYVNvcnRpbmc6W1swLCJhc2MiXV0sYWFTb3J0aW5nRml4ZWQ6W10sYWpheDpudWxsLGFMZW5ndGhNZW51OlsxMCwyNSw1MCwxMDBdLGFvQ29sdW1uczpudWxsLGFvQ29sdW1uRGVmczpudWxsLGFvU2VhcmNoQ29sczpbXSxhc1N0cmlwZUNsYXNzZXM6bnVsbCxiQXV0b1dpZHRoOiEwLGJEZWZlclJlbmRlcjohMSxiRGVzdHJveTohMSxiRmlsdGVyOiEwLGJJbmZvOiEwLGJKUXVlcnlVSTohMSxiTGVuZ3RoQ2hhbmdlOiEwLGJQYWdpbmF0ZTohMCxiUHJvY2Vzc2luZzohMSxiUmV0cmlldmU6ITEsYlNjcm9sbENvbGxhcHNlOiExLGJTZXJ2ZXJTaWRlOiExLGJTb3J0OiEwLGJTb3J0TXVsdGk6ITAsYlNvcnRDZWxsc1RvcDohMSxiU29ydENsYXNzZXM6ITAsYlN0YXRlU2F2ZTohMSxmbkNyZWF0ZWRSb3c6bnVsbCxmbkRyYXdDYWxsYmFjazpudWxsLGZuRm9vdGVyQ2FsbGJhY2s6bnVsbCwKZm5Gb3JtYXROdW1iZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEudG9TdHJpbmcoKS5yZXBsYWNlKC9cQig/PShcZHszfSkrKD8hXGQpKS9nLHRoaXMub0xhbmd1YWdlLnNUaG91c2FuZHMpfSxmbkhlYWRlckNhbGxiYWNrOm51bGwsZm5JbmZvQ2FsbGJhY2s6bnVsbCxmbkluaXRDb21wbGV0ZTpudWxsLGZuUHJlRHJhd0NhbGxiYWNrOm51bGwsZm5Sb3dDYWxsYmFjazpudWxsLGZuU2VydmVyRGF0YTpudWxsLGZuU2VydmVyUGFyYW1zOm51bGwsZm5TdGF0ZUxvYWRDYWxsYmFjazpmdW5jdGlvbihhKXt0cnl7cmV0dXJuIEpTT04ucGFyc2UoKC0xPT09YS5pU3RhdGVEdXJhdGlvbj9zZXNzaW9uU3RvcmFnZTpsb2NhbFN0b3JhZ2UpLmdldEl0ZW0oIkRhdGFUYWJsZXNfIithLnNJbnN0YW5jZSsiXyIrbG9jYXRpb24ucGF0aG5hbWUpKX1jYXRjaChiKXt9fSxmblN0YXRlTG9hZFBhcmFtczpudWxsLGZuU3RhdGVMb2FkZWQ6bnVsbCxmblN0YXRlU2F2ZUNhbGxiYWNrOmZ1bmN0aW9uKGEsYil7dHJ5eygtMT09PQphLmlTdGF0ZUR1cmF0aW9uP3Nlc3Npb25TdG9yYWdlOmxvY2FsU3RvcmFnZSkuc2V0SXRlbSgiRGF0YVRhYmxlc18iK2Euc0luc3RhbmNlKyJfIitsb2NhdGlvbi5wYXRobmFtZSxKU09OLnN0cmluZ2lmeShiKSl9Y2F0Y2goYyl7fX0sZm5TdGF0ZVNhdmVQYXJhbXM6bnVsbCxpU3RhdGVEdXJhdGlvbjo3MjAwLGlEZWZlckxvYWRpbmc6bnVsbCxpRGlzcGxheUxlbmd0aDoxMCxpRGlzcGxheVN0YXJ0OjAsaVRhYkluZGV4OjAsb0NsYXNzZXM6e30sb0xhbmd1YWdlOntvQXJpYTp7c1NvcnRBc2NlbmRpbmc6IjogYWN0aXZhdGUgdG8gc29ydCBjb2x1bW4gYXNjZW5kaW5nIixzU29ydERlc2NlbmRpbmc6IjogYWN0aXZhdGUgdG8gc29ydCBjb2x1bW4gZGVzY2VuZGluZyJ9LG9QYWdpbmF0ZTp7c0ZpcnN0OiJGaXJzdCIsc0xhc3Q6Ikxhc3QiLHNOZXh0OiJOZXh0IixzUHJldmlvdXM6IlByZXZpb3VzIn0sc0VtcHR5VGFibGU6Ik5vIGRhdGEgYXZhaWxhYmxlIGluIHRhYmxlIixzSW5mbzoiU2hvd2luZyBfU1RBUlRfIHRvIF9FTkRfIG9mIF9UT1RBTF8gZW50cmllcyIsCnNJbmZvRW1wdHk6IlNob3dpbmcgMCB0byAwIG9mIDAgZW50cmllcyIsc0luZm9GaWx0ZXJlZDoiKGZpbHRlcmVkIGZyb20gX01BWF8gdG90YWwgZW50cmllcykiLHNJbmZvUG9zdEZpeDoiIixzRGVjaW1hbDoiIixzVGhvdXNhbmRzOiIsIixzTGVuZ3RoTWVudToiU2hvdyBfTUVOVV8gZW50cmllcyIsc0xvYWRpbmdSZWNvcmRzOiJMb2FkaW5nLi4uIixzUHJvY2Vzc2luZzoiUHJvY2Vzc2luZy4uLiIsc1NlYXJjaDoiU2VhcmNoOiIsc1NlYXJjaFBsYWNlaG9sZGVyOiIiLHNVcmw6IiIsc1plcm9SZWNvcmRzOiJObyBtYXRjaGluZyByZWNvcmRzIGZvdW5kIn0sb1NlYXJjaDpoLmV4dGVuZCh7fSxtLm1vZGVscy5vU2VhcmNoKSxzQWpheERhdGFQcm9wOiJkYXRhIixzQWpheFNvdXJjZTpudWxsLHNEb206ImxmcnRpcCIsc2VhcmNoRGVsYXk6bnVsbCxzUGFnaW5hdGlvblR5cGU6InNpbXBsZV9udW1iZXJzIixzU2Nyb2xsWDoiIixzU2Nyb2xsWElubmVyOiIiLHNTY3JvbGxZOiIiLHNTZXJ2ZXJNZXRob2Q6IkdFVCIsCnJlbmRlcmVyOm51bGwscm93SWQ6IkRUX1Jvd0lkIn07WChtLmRlZmF1bHRzKTttLmRlZmF1bHRzLmNvbHVtbj17YURhdGFTb3J0Om51bGwsaURhdGFTb3J0Oi0xLGFzU29ydGluZzpbImFzYyIsImRlc2MiXSxiU2VhcmNoYWJsZTohMCxiU29ydGFibGU6ITAsYlZpc2libGU6ITAsZm5DcmVhdGVkQ2VsbDpudWxsLG1EYXRhOm51bGwsbVJlbmRlcjpudWxsLHNDZWxsVHlwZToidGQiLHNDbGFzczoiIixzQ29udGVudFBhZGRpbmc6IiIsc0RlZmF1bHRDb250ZW50Om51bGwsc05hbWU6IiIsc1NvcnREYXRhVHlwZToic3RkIixzVGl0bGU6bnVsbCxzVHlwZTpudWxsLHNXaWR0aDpudWxsfTtYKG0uZGVmYXVsdHMuY29sdW1uKTttLm1vZGVscy5vU2V0dGluZ3M9e29GZWF0dXJlczp7YkF1dG9XaWR0aDpudWxsLGJEZWZlclJlbmRlcjpudWxsLGJGaWx0ZXI6bnVsbCxiSW5mbzpudWxsLGJMZW5ndGhDaGFuZ2U6bnVsbCxiUGFnaW5hdGU6bnVsbCxiUHJvY2Vzc2luZzpudWxsLGJTZXJ2ZXJTaWRlOm51bGwsCmJTb3J0Om51bGwsYlNvcnRNdWx0aTpudWxsLGJTb3J0Q2xhc3NlczpudWxsLGJTdGF0ZVNhdmU6bnVsbH0sb1Njcm9sbDp7YkNvbGxhcHNlOm51bGwsaUJhcldpZHRoOjAsc1g6bnVsbCxzWElubmVyOm51bGwsc1k6bnVsbH0sb0xhbmd1YWdlOntmbkluZm9DYWxsYmFjazpudWxsfSxvQnJvd3Nlcjp7YlNjcm9sbE92ZXJzaXplOiExLGJTY3JvbGxiYXJMZWZ0OiExLGJCb3VuZGluZzohMSxiYXJXaWR0aDowfSxhamF4Om51bGwsYWFuRmVhdHVyZXM6W10sYW9EYXRhOltdLGFpRGlzcGxheTpbXSxhaURpc3BsYXlNYXN0ZXI6W10sYUlkczp7fSxhb0NvbHVtbnM6W10sYW9IZWFkZXI6W10sYW9Gb290ZXI6W10sb1ByZXZpb3VzU2VhcmNoOnt9LGFvUHJlU2VhcmNoQ29sczpbXSxhYVNvcnRpbmc6bnVsbCxhYVNvcnRpbmdGaXhlZDpbXSxhc1N0cmlwZUNsYXNzZXM6bnVsbCxhc0Rlc3Ryb3lTdHJpcGVzOltdLHNEZXN0cm95V2lkdGg6MCxhb1Jvd0NhbGxiYWNrOltdLGFvSGVhZGVyQ2FsbGJhY2s6W10sCmFvRm9vdGVyQ2FsbGJhY2s6W10sYW9EcmF3Q2FsbGJhY2s6W10sYW9Sb3dDcmVhdGVkQ2FsbGJhY2s6W10sYW9QcmVEcmF3Q2FsbGJhY2s6W10sYW9Jbml0Q29tcGxldGU6W10sYW9TdGF0ZVNhdmVQYXJhbXM6W10sYW9TdGF0ZUxvYWRQYXJhbXM6W10sYW9TdGF0ZUxvYWRlZDpbXSxzVGFibGVJZDoiIixuVGFibGU6bnVsbCxuVEhlYWQ6bnVsbCxuVEZvb3Q6bnVsbCxuVEJvZHk6bnVsbCxuVGFibGVXcmFwcGVyOm51bGwsYkRlZmVyTG9hZGluZzohMSxiSW5pdGlhbGlzZWQ6ITEsYW9PcGVuUm93czpbXSxzRG9tOm51bGwsc2VhcmNoRGVsYXk6bnVsbCxzUGFnaW5hdGlvblR5cGU6InR3b19idXR0b24iLGlTdGF0ZUR1cmF0aW9uOjAsYW9TdGF0ZVNhdmU6W10sYW9TdGF0ZUxvYWQ6W10sb1NhdmVkU3RhdGU6bnVsbCxvTG9hZGVkU3RhdGU6bnVsbCxzQWpheFNvdXJjZTpudWxsLHNBamF4RGF0YVByb3A6bnVsbCxiQWpheERhdGFHZXQ6ITAsanFYSFI6bnVsbCxqc29uOmssb0FqYXhEYXRhOmssCmZuU2VydmVyRGF0YTpudWxsLGFvU2VydmVyUGFyYW1zOltdLHNTZXJ2ZXJNZXRob2Q6bnVsbCxmbkZvcm1hdE51bWJlcjpudWxsLGFMZW5ndGhNZW51Om51bGwsaURyYXc6MCxiRHJhd2luZzohMSxpRHJhd0Vycm9yOi0xLF9pRGlzcGxheUxlbmd0aDoxMCxfaURpc3BsYXlTdGFydDowLF9pUmVjb3Jkc1RvdGFsOjAsX2lSZWNvcmRzRGlzcGxheTowLGJKVUk6bnVsbCxvQ2xhc3Nlczp7fSxiRmlsdGVyZWQ6ITEsYlNvcnRlZDohMSxiU29ydENlbGxzVG9wOm51bGwsb0luaXQ6bnVsbCxhb0Rlc3Ryb3lDYWxsYmFjazpbXSxmblJlY29yZHNUb3RhbDpmdW5jdGlvbigpe3JldHVybiJzc3AiPT15KHRoaXMpPzEqdGhpcy5faVJlY29yZHNUb3RhbDp0aGlzLmFpRGlzcGxheU1hc3Rlci5sZW5ndGh9LGZuUmVjb3Jkc0Rpc3BsYXk6ZnVuY3Rpb24oKXtyZXR1cm4ic3NwIj09eSh0aGlzKT8xKnRoaXMuX2lSZWNvcmRzRGlzcGxheTp0aGlzLmFpRGlzcGxheS5sZW5ndGh9LGZuRGlzcGxheUVuZDpmdW5jdGlvbigpe3ZhciBhPQp0aGlzLl9pRGlzcGxheUxlbmd0aCxiPXRoaXMuX2lEaXNwbGF5U3RhcnQsYz1iK2EsZD10aGlzLmFpRGlzcGxheS5sZW5ndGgsZT10aGlzLm9GZWF0dXJlcyxmPWUuYlBhZ2luYXRlO3JldHVybiBlLmJTZXJ2ZXJTaWRlPyExPT09Znx8LTE9PT1hP2IrZDpNYXRoLm1pbihiK2EsdGhpcy5faVJlY29yZHNEaXNwbGF5KTohZnx8Yz5kfHwtMT09PWE/ZDpjfSxvSW5zdGFuY2U6bnVsbCxzSW5zdGFuY2U6bnVsbCxpVGFiSW5kZXg6MCxuU2Nyb2xsSGVhZDpudWxsLG5TY3JvbGxGb290Om51bGwsYUxhc3RTb3J0OltdLG9QbHVnaW5zOnt9LHJvd0lkRm46bnVsbCxyb3dJZDpudWxsfTttLmV4dD12PXtidXR0b25zOnt9LGNsYXNzZXM6e30sYnVpbGRlcjoiLXNvdXJjZS0iLGVyck1vZGU6ImFsZXJ0IixmZWF0dXJlOltdLHNlYXJjaDpbXSxzZWxlY3Rvcjp7Y2VsbDpbXSxjb2x1bW46W10scm93OltdfSxpbnRlcm5hbDp7fSxsZWdhY3k6e2FqYXg6bnVsbH0scGFnZXI6e30scmVuZGVyZXI6e3BhZ2VCdXR0b246e30sCmhlYWRlcjp7fX0sb3JkZXI6e30sdHlwZTp7ZGV0ZWN0OltdLHNlYXJjaDp7fSxvcmRlcjp7fX0sX3VuaXF1ZTowLGZuVmVyc2lvbkNoZWNrOm0uZm5WZXJzaW9uQ2hlY2ssaUFwaUluZGV4OjAsb0pVSUNsYXNzZXM6e30sc1ZlcnNpb246bS52ZXJzaW9ufTtoLmV4dGVuZCh2LHthZm5GaWx0ZXJpbmc6di5zZWFyY2gsYVR5cGVzOnYudHlwZS5kZXRlY3Qsb2ZuU2VhcmNoOnYudHlwZS5zZWFyY2gsb1NvcnQ6di50eXBlLm9yZGVyLGFmblNvcnREYXRhOnYub3JkZXIsYW9GZWF0dXJlczp2LmZlYXR1cmUsb0FwaTp2LmludGVybmFsLG9TdGRDbGFzc2VzOnYuY2xhc3NlcyxvUGFnaW5hdGlvbjp2LnBhZ2VyfSk7aC5leHRlbmQobS5leHQuY2xhc3Nlcyx7c1RhYmxlOiJkYXRhVGFibGUiLHNOb0Zvb3Rlcjoibm8tZm9vdGVyIixzUGFnZUJ1dHRvbjoicGFnaW5hdGVfYnV0dG9uIixzUGFnZUJ1dHRvbkFjdGl2ZToiY3VycmVudCIsc1BhZ2VCdXR0b25EaXNhYmxlZDoiZGlzYWJsZWQiLHNTdHJpcGVPZGQ6Im9kZCIsCnNTdHJpcGVFdmVuOiJldmVuIixzUm93RW1wdHk6ImRhdGFUYWJsZXNfZW1wdHkiLHNXcmFwcGVyOiJkYXRhVGFibGVzX3dyYXBwZXIiLHNGaWx0ZXI6ImRhdGFUYWJsZXNfZmlsdGVyIixzSW5mbzoiZGF0YVRhYmxlc19pbmZvIixzUGFnaW5nOiJkYXRhVGFibGVzX3BhZ2luYXRlIHBhZ2luZ18iLHNMZW5ndGg6ImRhdGFUYWJsZXNfbGVuZ3RoIixzUHJvY2Vzc2luZzoiZGF0YVRhYmxlc19wcm9jZXNzaW5nIixzU29ydEFzYzoic29ydGluZ19hc2MiLHNTb3J0RGVzYzoic29ydGluZ19kZXNjIixzU29ydGFibGU6InNvcnRpbmciLHNTb3J0YWJsZUFzYzoic29ydGluZ19hc2NfZGlzYWJsZWQiLHNTb3J0YWJsZURlc2M6InNvcnRpbmdfZGVzY19kaXNhYmxlZCIsc1NvcnRhYmxlTm9uZToic29ydGluZ19kaXNhYmxlZCIsc1NvcnRDb2x1bW46InNvcnRpbmdfIixzRmlsdGVySW5wdXQ6IiIsc0xlbmd0aFNlbGVjdDoiIixzU2Nyb2xsV3JhcHBlcjoiZGF0YVRhYmxlc19zY3JvbGwiLHNTY3JvbGxIZWFkOiJkYXRhVGFibGVzX3Njcm9sbEhlYWQiLApzU2Nyb2xsSGVhZElubmVyOiJkYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciIsc1Njcm9sbEJvZHk6ImRhdGFUYWJsZXNfc2Nyb2xsQm9keSIsc1Njcm9sbEZvb3Q6ImRhdGFUYWJsZXNfc2Nyb2xsRm9vdCIsc1Njcm9sbEZvb3RJbm5lcjoiZGF0YVRhYmxlc19zY3JvbGxGb290SW5uZXIiLHNIZWFkZXJUSDoiIixzRm9vdGVyVEg6IiIsc1NvcnRKVUlBc2M6IiIsc1NvcnRKVUlEZXNjOiIiLHNTb3J0SlVJOiIiLHNTb3J0SlVJQXNjQWxsb3dlZDoiIixzU29ydEpVSURlc2NBbGxvd2VkOiIiLHNTb3J0SlVJV3JhcHBlcjoiIixzU29ydEljb246IiIsc0pVSUhlYWRlcjoiIixzSlVJRm9vdGVyOiIifSk7dmFyIENhPSIiLENhPSIiLEg9Q2ErInVpLXN0YXRlLWRlZmF1bHQiLGlhPUNhKyJjc3NfcmlnaHQgdWktaWNvbiB1aS1pY29uLSIsWGI9Q2ErImZnLXRvb2xiYXIgdWktdG9vbGJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCI7aC5leHRlbmQobS5leHQub0pVSUNsYXNzZXMsCm0uZXh0LmNsYXNzZXMse3NQYWdlQnV0dG9uOiJmZy1idXR0b24gdWktYnV0dG9uICIrSCxzUGFnZUJ1dHRvbkFjdGl2ZToidWktc3RhdGUtZGlzYWJsZWQiLHNQYWdlQnV0dG9uRGlzYWJsZWQ6InVpLXN0YXRlLWRpc2FibGVkIixzUGFnaW5nOiJkYXRhVGFibGVzX3BhZ2luYXRlIGZnLWJ1dHRvbnNldCB1aS1idXR0b25zZXQgZmctYnV0dG9uc2V0LW11bHRpIHVpLWJ1dHRvbnNldC1tdWx0aSBwYWdpbmdfIixzU29ydEFzYzpIKyIgc29ydGluZ19hc2MiLHNTb3J0RGVzYzpIKyIgc29ydGluZ19kZXNjIixzU29ydGFibGU6SCsiIHNvcnRpbmciLHNTb3J0YWJsZUFzYzpIKyIgc29ydGluZ19hc2NfZGlzYWJsZWQiLHNTb3J0YWJsZURlc2M6SCsiIHNvcnRpbmdfZGVzY19kaXNhYmxlZCIsc1NvcnRhYmxlTm9uZTpIKyIgc29ydGluZ19kaXNhYmxlZCIsc1NvcnRKVUlBc2M6aWErInRyaWFuZ2xlLTEtbiIsc1NvcnRKVUlEZXNjOmlhKyJ0cmlhbmdsZS0xLXMiLHNTb3J0SlVJOmlhKyJjYXJhdC0yLW4tcyIsCnNTb3J0SlVJQXNjQWxsb3dlZDppYSsiY2FyYXQtMS1uIixzU29ydEpVSURlc2NBbGxvd2VkOmlhKyJjYXJhdC0xLXMiLHNTb3J0SlVJV3JhcHBlcjoiRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIiLHNTb3J0SWNvbjoiRGF0YVRhYmxlc19zb3J0X2ljb24iLHNTY3JvbGxIZWFkOiJkYXRhVGFibGVzX3Njcm9sbEhlYWQgIitILHNTY3JvbGxGb290OiJkYXRhVGFibGVzX3Njcm9sbEZvb3QgIitILHNIZWFkZXJUSDpILHNGb290ZXJUSDpILHNKVUlIZWFkZXI6WGIrIiB1aS1jb3JuZXItdGwgdWktY29ybmVyLXRyIixzSlVJRm9vdGVyOlhiKyIgdWktY29ybmVyLWJsIHVpLWNvcm5lci1iciJ9KTt2YXIgTWI9bS5leHQucGFnZXI7aC5leHRlbmQoTWIse3NpbXBsZTpmdW5jdGlvbigpe3JldHVyblsicHJldmlvdXMiLCJuZXh0Il19LGZ1bGw6ZnVuY3Rpb24oKXtyZXR1cm5bImZpcnN0IiwicHJldmlvdXMiLCJuZXh0IiwibGFzdCJdfSxudW1iZXJzOmZ1bmN0aW9uKGEsYil7cmV0dXJuW3lhKGEsCmIpXX0sc2ltcGxlX251bWJlcnM6ZnVuY3Rpb24oYSxiKXtyZXR1cm5bInByZXZpb3VzIix5YShhLGIpLCJuZXh0Il19LGZ1bGxfbnVtYmVyczpmdW5jdGlvbihhLGIpe3JldHVyblsiZmlyc3QiLCJwcmV2aW91cyIseWEoYSxiKSwibmV4dCIsImxhc3QiXX0sX251bWJlcnM6eWEsbnVtYmVyc19sZW5ndGg6N30pO2guZXh0ZW5kKCEwLG0uZXh0LnJlbmRlcmVyLHtwYWdlQnV0dG9uOntfOmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1hLm9DbGFzc2VzLGo9YS5vTGFuZ3VhZ2Uub1BhZ2luYXRlLGk9YS5vTGFuZ3VhZ2Uub0FyaWEucGFnaW5hdGV8fHt9LGssbCxtPTAscD1mdW5jdGlvbihiLGQpe3ZhciBvLHIsdSxzLHY9ZnVuY3Rpb24oYil7VGEoYSxiLmRhdGEuYWN0aW9uLHRydWUpfTtvPTA7Zm9yKHI9ZC5sZW5ndGg7bzxyO28rKyl7cz1kW29dO2lmKGguaXNBcnJheShzKSl7dT1oKCI8Iisocy5EVF9lbHx8ImRpdiIpKyIvPiIpLmFwcGVuZFRvKGIpO3AodSxzKX1lbHNle2s9bnVsbDsKbD0iIjtzd2l0Y2gocyl7Y2FzZSAiZWxsaXBzaXMiOmIuYXBwZW5kKCc8c3BhbiBjbGFzcz0iZWxsaXBzaXMiPiYjeDIwMjY7PC9zcGFuPicpO2JyZWFrO2Nhc2UgImZpcnN0IjprPWouc0ZpcnN0O2w9cysoZT4wPyIiOiIgIitnLnNQYWdlQnV0dG9uRGlzYWJsZWQpO2JyZWFrO2Nhc2UgInByZXZpb3VzIjprPWouc1ByZXZpb3VzO2w9cysoZT4wPyIiOiIgIitnLnNQYWdlQnV0dG9uRGlzYWJsZWQpO2JyZWFrO2Nhc2UgIm5leHQiOms9ai5zTmV4dDtsPXMrKGU8Zi0xPyIiOiIgIitnLnNQYWdlQnV0dG9uRGlzYWJsZWQpO2JyZWFrO2Nhc2UgImxhc3QiOms9ai5zTGFzdDtsPXMrKGU8Zi0xPyIiOiIgIitnLnNQYWdlQnV0dG9uRGlzYWJsZWQpO2JyZWFrO2RlZmF1bHQ6az1zKzE7bD1lPT09cz9nLnNQYWdlQnV0dG9uQWN0aXZlOiIifWlmKGshPT1udWxsKXt1PWgoIjxhPiIseyJjbGFzcyI6Zy5zUGFnZUJ1dHRvbisiICIrbCwiYXJpYS1jb250cm9scyI6YS5zVGFibGVJZCwiYXJpYS1sYWJlbCI6aVtzXSwKImRhdGEtZHQtaWR4IjptLHRhYmluZGV4OmEuaVRhYkluZGV4LGlkOmM9PT0wJiZ0eXBlb2Ygcz09PSJzdHJpbmciP2Euc1RhYmxlSWQrIl8iK3M6bnVsbH0pLmh0bWwoaykuYXBwZW5kVG8oYik7V2EodSx7YWN0aW9uOnN9LHYpO20rK319fX0scjt0cnl7cj1oKGIpLmZpbmQoSS5hY3RpdmVFbGVtZW50KS5kYXRhKCJkdC1pZHgiKX1jYXRjaChvKXt9cChoKGIpLmVtcHR5KCksZCk7ciYmaChiKS5maW5kKCJbZGF0YS1kdC1pZHg9IityKyJdIikuZm9jdXMoKX19fSk7aC5leHRlbmQobS5leHQudHlwZS5kZXRlY3QsW2Z1bmN0aW9uKGEsYil7dmFyIGM9Yi5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIFphKGEsYyk/Im51bSIrYzpudWxsfSxmdW5jdGlvbihhKXtpZihhJiYhKGEgaW5zdGFuY2VvZiBEYXRlKSYmKCFhYy50ZXN0KGEpfHwhYmMudGVzdChhKSkpcmV0dXJuIG51bGw7dmFyIGI9RGF0ZS5wYXJzZShhKTtyZXR1cm4gbnVsbCE9PWImJiFpc05hTihiKXx8TShhKT8iZGF0ZSI6Cm51bGx9LGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIFphKGEsYywhMCk/Im51bS1mbXQiK2M6bnVsbH0sZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gUmIoYSxjKT8iaHRtbC1udW0iK2M6bnVsbH0sZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gUmIoYSxjLCEwKT8iaHRtbC1udW0tZm10IitjOm51bGx9LGZ1bmN0aW9uKGEpe3JldHVybiBNKGEpfHwic3RyaW5nIj09PXR5cGVvZiBhJiYtMSE9PWEuaW5kZXhPZigiPCIpPyJodG1sIjpudWxsfV0pO2guZXh0ZW5kKG0uZXh0LnR5cGUuc2VhcmNoLHtodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBNKGEpP2E6InN0cmluZyI9PT10eXBlb2YgYT9hLnJlcGxhY2UoT2IsIiAiKS5yZXBsYWNlKEFhLCIiKToiIn0sc3RyaW5nOmZ1bmN0aW9uKGEpe3JldHVybiBNKGEpP2E6InN0cmluZyI9PT10eXBlb2YgYT9hLnJlcGxhY2UoT2IsCiIgIik6YX19KTt2YXIgemE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoMCE9PWEmJighYXx8Ii0iPT09YSkpcmV0dXJuLUluZmluaXR5O2ImJihhPVFiKGEsYikpO2EucmVwbGFjZSYmKGMmJihhPWEucmVwbGFjZShjLCIiKSksZCYmKGE9YS5yZXBsYWNlKGQsIiIpKSk7cmV0dXJuIDEqYX07aC5leHRlbmQodi50eXBlLm9yZGVyLHsiZGF0ZS1wcmUiOmZ1bmN0aW9uKGEpe3JldHVybiBEYXRlLnBhcnNlKGEpfHwwfSwiaHRtbC1wcmUiOmZ1bmN0aW9uKGEpe3JldHVybiBNKGEpPyIiOmEucmVwbGFjZT9hLnJlcGxhY2UoLzwuKj8+L2csIiIpLnRvTG93ZXJDYXNlKCk6YSsiIn0sInN0cmluZy1wcmUiOmZ1bmN0aW9uKGEpe3JldHVybiBNKGEpPyIiOiJzdHJpbmciPT09dHlwZW9mIGE/YS50b0xvd2VyQ2FzZSgpOiFhLnRvU3RyaW5nPyIiOmEudG9TdHJpbmcoKX0sInN0cmluZy1hc2MiOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSwic3RyaW5nLWRlc2MiOmZ1bmN0aW9uKGEsCmIpe3JldHVybiBhPGI/MTphPmI/LTE6MH19KTtkYigiIik7aC5leHRlbmQoITAsbS5leHQucmVuZGVyZXIse2hlYWRlcjp7XzpmdW5jdGlvbihhLGIsYyxkKXtoKGEublRhYmxlKS5vbigib3JkZXIuZHQuRFQiLGZ1bmN0aW9uKGUsZixnLGgpe2lmKGE9PT1mKXtlPWMuaWR4O2IucmVtb3ZlQ2xhc3MoYy5zU29ydGluZ0NsYXNzKyIgIitkLnNTb3J0QXNjKyIgIitkLnNTb3J0RGVzYykuYWRkQ2xhc3MoaFtlXT09ImFzYyI/ZC5zU29ydEFzYzpoW2VdPT0iZGVzYyI/ZC5zU29ydERlc2M6Yy5zU29ydGluZ0NsYXNzKX19KX0sanF1ZXJ5dWk6ZnVuY3Rpb24oYSxiLGMsZCl7aCgiPGRpdi8+IikuYWRkQ2xhc3MoZC5zU29ydEpVSVdyYXBwZXIpLmFwcGVuZChiLmNvbnRlbnRzKCkpLmFwcGVuZChoKCI8c3Bhbi8+IikuYWRkQ2xhc3MoZC5zU29ydEljb24rIiAiK2Muc1NvcnRpbmdDbGFzc0pVSSkpLmFwcGVuZFRvKGIpO2goYS5uVGFibGUpLm9uKCJvcmRlci5kdC5EVCIsZnVuY3Rpb24oZSwKZixnLGgpe2lmKGE9PT1mKXtlPWMuaWR4O2IucmVtb3ZlQ2xhc3MoZC5zU29ydEFzYysiICIrZC5zU29ydERlc2MpLmFkZENsYXNzKGhbZV09PSJhc2MiP2Quc1NvcnRBc2M6aFtlXT09ImRlc2MiP2Quc1NvcnREZXNjOmMuc1NvcnRpbmdDbGFzcyk7Yi5maW5kKCJzcGFuLiIrZC5zU29ydEljb24pLnJlbW92ZUNsYXNzKGQuc1NvcnRKVUlBc2MrIiAiK2Quc1NvcnRKVUlEZXNjKyIgIitkLnNTb3J0SlVJKyIgIitkLnNTb3J0SlVJQXNjQWxsb3dlZCsiICIrZC5zU29ydEpVSURlc2NBbGxvd2VkKS5hZGRDbGFzcyhoW2VdPT0iYXNjIj9kLnNTb3J0SlVJQXNjOmhbZV09PSJkZXNjIj9kLnNTb3J0SlVJRGVzYzpjLnNTb3J0aW5nQ2xhc3NKVUkpfX0pfX19KTt2YXIgWWI9ZnVuY3Rpb24oYSl7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgYT9hLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7Iik6YX07bS5yZW5kZXI9e251bWJlcjpmdW5jdGlvbihhLApiLGMsZCxlKXtyZXR1cm57ZGlzcGxheTpmdW5jdGlvbihmKXtpZigibnVtYmVyIiE9PXR5cGVvZiBmJiYic3RyaW5nIiE9PXR5cGVvZiBmKXJldHVybiBmO3ZhciBnPTA+Zj8iLSI6IiIsaD1wYXJzZUZsb2F0KGYpO2lmKGlzTmFOKGgpKXJldHVybiBZYihmKTtmPU1hdGguYWJzKGgpO2g9cGFyc2VJbnQoZiwxMCk7Zj1jP2IrKGYtaCkudG9GaXhlZChjKS5zdWJzdHJpbmcoMik6IiI7cmV0dXJuIGcrKGR8fCIiKStoLnRvU3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/IVxkKSkvZyxhKStmKyhlfHwiIil9fX0sdGV4dDpmdW5jdGlvbigpe3JldHVybntkaXNwbGF5OllifX19O2guZXh0ZW5kKG0uZXh0LmludGVybmFsLHtfZm5FeHRlcm5BcGlGdW5jOk5iLF9mbkJ1aWxkQWpheDpyYSxfZm5BamF4VXBkYXRlOmxiLF9mbkFqYXhQYXJhbWV0ZXJzOnViLF9mbkFqYXhVcGRhdGVEcmF3OnZiLF9mbkFqYXhEYXRhU3JjOnNhLF9mbkFkZENvbHVtbjpFYSxfZm5Db2x1bW5PcHRpb25zOmphLApfZm5BZGp1c3RDb2x1bW5TaXppbmc6WSxfZm5WaXNpYmxlVG9Db2x1bW5JbmRleDpaLF9mbkNvbHVtbkluZGV4VG9WaXNpYmxlOiQsX2ZuVmlzYmxlQ29sdW1uczphYSxfZm5HZXRDb2x1bW5zOmxhLF9mbkNvbHVtblR5cGVzOkdhLF9mbkFwcGx5Q29sdW1uRGVmczppYixfZm5IdW5nYXJpYW5NYXA6WCxfZm5DYW1lbFRvSHVuZ2FyaWFuOkssX2ZuTGFuZ3VhZ2VDb21wYXQ6RGEsX2ZuQnJvd3NlckRldGVjdDpnYixfZm5BZGREYXRhOk4sX2ZuQWRkVHI6bWEsX2ZuTm9kZVRvRGF0YUluZGV4OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIuX0RUX1Jvd0luZGV4IT09az9iLl9EVF9Sb3dJbmRleDpudWxsfSxfZm5Ob2RlVG9Db2x1bW5JbmRleDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGguaW5BcnJheShjLGEuYW9EYXRhW2JdLmFuQ2VsbHMpfSxfZm5HZXRDZWxsRGF0YTpCLF9mblNldENlbGxEYXRhOmpiLF9mblNwbGl0T2JqTm90YXRpb246SmEsX2ZuR2V0T2JqZWN0RGF0YUZuOlEsX2ZuU2V0T2JqZWN0RGF0YUZuOlIsCl9mbkdldERhdGFNYXN0ZXI6S2EsX2ZuQ2xlYXJUYWJsZTpuYSxfZm5EZWxldGVJbmRleDpvYSxfZm5JbnZhbGlkYXRlOmNhLF9mbkdldFJvd0VsZW1lbnRzOklhLF9mbkNyZWF0ZVRyOkhhLF9mbkJ1aWxkSGVhZDprYixfZm5EcmF3SGVhZDplYSxfZm5EcmF3Ok8sX2ZuUmVEcmF3OlQsX2ZuQWRkT3B0aW9uc0h0bWw6bmIsX2ZuRGV0ZWN0SGVhZGVyOmRhLF9mbkdldFVuaXF1ZVRoczpxYSxfZm5GZWF0dXJlSHRtbEZpbHRlcjpwYixfZm5GaWx0ZXJDb21wbGV0ZTpmYSxfZm5GaWx0ZXJDdXN0b206eWIsX2ZuRmlsdGVyQ29sdW1uOnhiLF9mbkZpbHRlcjp3YixfZm5GaWx0ZXJDcmVhdGVTZWFyY2g6UGEsX2ZuRXNjYXBlUmVnZXg6UWEsX2ZuRmlsdGVyRGF0YTp6YixfZm5GZWF0dXJlSHRtbEluZm86c2IsX2ZuVXBkYXRlSW5mbzpDYixfZm5JbmZvTWFjcm9zOkRiLF9mbkluaXRpYWxpc2U6Z2EsX2ZuSW5pdENvbXBsZXRlOnRhLF9mbkxlbmd0aENoYW5nZTpSYSxfZm5GZWF0dXJlSHRtbExlbmd0aDpvYiwKX2ZuRmVhdHVyZUh0bWxQYWdpbmF0ZTp0YixfZm5QYWdlQ2hhbmdlOlRhLF9mbkZlYXR1cmVIdG1sUHJvY2Vzc2luZzpxYixfZm5Qcm9jZXNzaW5nRGlzcGxheTpDLF9mbkZlYXR1cmVIdG1sVGFibGU6cmIsX2ZuU2Nyb2xsRHJhdzprYSxfZm5BcHBseVRvQ2hpbGRyZW46SixfZm5DYWxjdWxhdGVDb2x1bW5XaWR0aHM6RmEsX2ZuVGhyb3R0bGU6T2EsX2ZuQ29udmVydFRvV2lkdGg6RmIsX2ZuR2V0V2lkZXN0Tm9kZTpHYixfZm5HZXRNYXhMZW5TdHJpbmc6SGIsX2ZuU3RyaW5nVG9Dc3M6eCxfZm5Tb3J0RmxhdHRlbjpWLF9mblNvcnQ6bWIsX2ZuU29ydEFyaWE6SmIsX2ZuU29ydExpc3RlbmVyOlZhLF9mblNvcnRBdHRhY2hMaXN0ZW5lcjpNYSxfZm5Tb3J0aW5nQ2xhc3Nlczp2YSxfZm5Tb3J0RGF0YTpJYixfZm5TYXZlU3RhdGU6d2EsX2ZuTG9hZFN0YXRlOktiLF9mblNldHRpbmdzRnJvbU5vZGU6eGEsX2ZuTG9nOkwsX2ZuTWFwOkUsX2ZuQmluZEFjdGlvbjpXYSxfZm5DYWxsYmFja1JlZzp6LApfZm5DYWxsYmFja0ZpcmU6dSxfZm5MZW5ndGhPdmVyZmxvdzpTYSxfZm5SZW5kZXJlcjpOYSxfZm5EYXRhU291cmNlOnksX2ZuUm93QXR0cmlidXRlczpMYSxfZm5DYWxjdWxhdGVFbmQ6ZnVuY3Rpb24oKXt9fSk7aC5mbi5kYXRhVGFibGU9bTttLiQ9aDtoLmZuLmRhdGFUYWJsZVNldHRpbmdzPW0uc2V0dGluZ3M7aC5mbi5kYXRhVGFibGVFeHQ9bS5leHQ7aC5mbi5EYXRhVGFibGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGgodGhpcykuZGF0YVRhYmxlKGEpLmFwaSgpfTtoLmVhY2gobSxmdW5jdGlvbihhLGIpe2guZm4uRGF0YVRhYmxlW2FdPWJ9KTtyZXR1cm4gaC5mbi5kYXRhVGFibGV9KTsK"></script>
<link href="data:text/css;charset=utf-8,table%2EDTCR%5FclonedTable%2EdataTable%7Bposition%3Aabsolute%20%21important%3Bbackground%2Dcolor%3Argba%28255%2C255%2C255%2C0%2E7%29%3Bz%2Dindex%3A202%7Ddiv%2EDTCR%5Fpointer%7Bwidth%3A1px%3Bbackground%2Dcolor%3A%230259C4%3Bz%2Dindex%3A201%7D%0A" rel="stylesheet" />
<script src="data:application/x-javascript;base64,LyohCiBDb2xSZW9yZGVyIDEuMy4yCiDCqTIwMTAtMjAxNSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZQoqLwooZnVuY3Rpb24oZil7ImZ1bmN0aW9uIj09PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5IiwiZGF0YXRhYmxlcy5uZXQiXSxmdW5jdGlvbihvKXtyZXR1cm4gZihvLHdpbmRvdyxkb2N1bWVudCl9KToib2JqZWN0Ij09PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKG8sbCl7b3x8KG89d2luZG93KTtpZighbHx8IWwuZm4uZGF0YVRhYmxlKWw9cmVxdWlyZSgiZGF0YXRhYmxlcy5uZXQiKShvLGwpLiQ7cmV0dXJuIGYobCxvLG8uZG9jdW1lbnQpfTpmKGpRdWVyeSx3aW5kb3csZG9jdW1lbnQpfSkoZnVuY3Rpb24oZixvLGwscil7ZnVuY3Rpb24gcShhKXtmb3IodmFyIGI9W10sZD0wLGU9YS5sZW5ndGg7ZDxlO2QrKyliW2FbZF1dPWQ7cmV0dXJuIGJ9ZnVuY3Rpb24gcChhLGIsZCl7Yj1hLnNwbGljZShiLDEpWzBdO2Euc3BsaWNlKGQsMCxiKX1mdW5jdGlvbiBzKGEsYixkKXtmb3IodmFyIGU9W10sZj0wLGM9YS5jaGlsZE5vZGVzLmxlbmd0aDtmPApjO2YrKykxPT1hLmNoaWxkTm9kZXNbZl0ubm9kZVR5cGUmJmUucHVzaChhLmNoaWxkTm9kZXNbZl0pO2I9ZVtiXTtudWxsIT09ZD9hLmluc2VydEJlZm9yZShiLGVbZF0pOmEuYXBwZW5kQ2hpbGQoYil9dmFyIHQ9Zi5mbi5kYXRhVGFibGU7Zi5mbi5kYXRhVGFibGVFeHQub0FwaS5mbkNvbFJlb3JkZXI9ZnVuY3Rpb24oYSxiLGQsZSxnKXt2YXIgYyxoLGosbSxpLGw9YS5hb0NvbHVtbnMubGVuZ3RoLGs7aT1mdW5jdGlvbihhLGIsYyl7aWYoYVtiXSYmImZ1bmN0aW9uIiE9PXR5cGVvZiBhW2JdKXt2YXIgZD1hW2JdLnNwbGl0KCIuIiksZT1kLnNoaWZ0KCk7aXNOYU4oMSplKXx8KGFbYl09Y1sxKmVdKyIuIitkLmpvaW4oIi4iKSl9fTtpZihiIT1kKWlmKDA+Ynx8Yj49bCl0aGlzLm9BcGkuX2ZuTG9nKGEsMSwiQ29sUmVvcmRlciAnZnJvbScgaW5kZXggaXMgb3V0IG9mIGJvdW5kczogIitiKTtlbHNlIGlmKDA+ZHx8ZD49bCl0aGlzLm9BcGkuX2ZuTG9nKGEsMSwiQ29sUmVvcmRlciAndG8nIGluZGV4IGlzIG91dCBvZiBib3VuZHM6ICIrCmQpO2Vsc2V7aj1bXTtjPTA7Zm9yKGg9bDtjPGg7YysrKWpbY109YztwKGosYixkKTt2YXIgbj1xKGopO2M9MDtmb3IoaD1hLmFhU29ydGluZy5sZW5ndGg7YzxoO2MrKylhLmFhU29ydGluZ1tjXVswXT1uW2EuYWFTb3J0aW5nW2NdWzBdXTtpZihudWxsIT09YS5hYVNvcnRpbmdGaXhlZCl7Yz0wO2ZvcihoPWEuYWFTb3J0aW5nRml4ZWQubGVuZ3RoO2M8aDtjKyspYS5hYVNvcnRpbmdGaXhlZFtjXVswXT1uW2EuYWFTb3J0aW5nRml4ZWRbY11bMF1dfWM9MDtmb3IoaD1sO2M8aDtjKyspe2s9YS5hb0NvbHVtbnNbY107aj0wO2ZvcihtPWsuYURhdGFTb3J0Lmxlbmd0aDtqPG07aisrKWsuYURhdGFTb3J0W2pdPW5bay5hRGF0YVNvcnRbal1dO2suaWR4PW5bay5pZHhdfWYuZWFjaChhLmFMYXN0U29ydCxmdW5jdGlvbihiLGMpe2EuYUxhc3RTb3J0W2JdLnNyYz1uW2Muc3JjXX0pO2M9MDtmb3IoaD1sO2M8aDtjKyspaz1hLmFvQ29sdW1uc1tjXSwibnVtYmVyIj09dHlwZW9mIGsubURhdGE/CmsubURhdGE9bltrLm1EYXRhXTpmLmlzUGxhaW5PYmplY3Qoay5tRGF0YSkmJihpKGsubURhdGEsIl8iLG4pLGkoay5tRGF0YSwiZmlsdGVyIixuKSxpKGsubURhdGEsInNvcnQiLG4pLGkoay5tRGF0YSwidHlwZSIsbikpO2lmKGEuYW9Db2x1bW5zW2JdLmJWaXNpYmxlKXtpPXRoaXMub0FwaS5fZm5Db2x1bW5JbmRleFRvVmlzaWJsZShhLGIpO209bnVsbDtmb3IoYz1kPGI/ZDpkKzE7bnVsbD09PW0mJmM8bDspbT10aGlzLm9BcGkuX2ZuQ29sdW1uSW5kZXhUb1Zpc2libGUoYSxjKSxjKys7aj1hLm5USGVhZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTtjPTA7Zm9yKGg9ai5sZW5ndGg7YzxoO2MrKylzKGpbY10saSxtKTtpZihudWxsIT09YS5uVEZvb3Qpe2o9YS5uVEZvb3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRyIik7Yz0wO2ZvcihoPWoubGVuZ3RoO2M8aDtjKyspcyhqW2NdLGksbSl9Yz0wO2ZvcihoPWEuYW9EYXRhLmxlbmd0aDtjPGg7YysrKW51bGwhPT1hLmFvRGF0YVtjXS5uVHImJgpzKGEuYW9EYXRhW2NdLm5UcixpLG0pfXAoYS5hb0NvbHVtbnMsYixkKTtjPTA7Zm9yKGg9bDtjPGg7YysrKWEub0FwaS5fZm5Db2x1bW5PcHRpb25zKGEsYyx7fSk7cChhLmFvUHJlU2VhcmNoQ29scyxiLGQpO2M9MDtmb3IoaD1hLmFvRGF0YS5sZW5ndGg7YzxoO2MrKyl7bT1hLmFvRGF0YVtjXTtpZihrPW0uYW5DZWxscyl7cChrLGIsZCk7aj0wO2ZvcihpPWsubGVuZ3RoO2o8aTtqKyspa1tqXSYma1tqXS5fRFRfQ2VsbEluZGV4JiYoa1tqXS5fRFRfQ2VsbEluZGV4LmNvbHVtbj1qKX0iZG9tIiE9PW0uc3JjJiZmLmlzQXJyYXkobS5fYURhdGEpJiZwKG0uX2FEYXRhLGIsZCl9Yz0wO2ZvcihoPWEuYW9IZWFkZXIubGVuZ3RoO2M8aDtjKyspcChhLmFvSGVhZGVyW2NdLGIsZCk7aWYobnVsbCE9PWEuYW9Gb290ZXIpe2M9MDtmb3IoaD1hLmFvRm9vdGVyLmxlbmd0aDtjPGg7YysrKXAoYS5hb0Zvb3RlcltjXSxiLGQpfShnfHxnPT09cikmJmYuZm4uZGF0YVRhYmxlLkFwaShhKS5yb3dzKCkuaW52YWxpZGF0ZSgpOwpjPTA7Zm9yKGg9bDtjPGg7YysrKWYoYS5hb0NvbHVtbnNbY10ublRoKS5vZmYoImNsaWNrLkRUIiksdGhpcy5vQXBpLl9mblNvcnRBdHRhY2hMaXN0ZW5lcihhLGEuYW9Db2x1bW5zW2NdLm5UaCxjKTtmKGEub0luc3RhbmNlKS50cmlnZ2VyKCJjb2x1bW4tcmVvcmRlci5kdCIsW2Ese2Zyb206Yix0bzpkLG1hcHBpbmc6bixkcm9wOmUsaUZyb206YixpVG86ZCxhaUludmVydE1hcHBpbmc6bn1dKX19O3ZhciBpPWZ1bmN0aW9uKGEsYil7dmFyIGQ9KG5ldyBmLmZuLmRhdGFUYWJsZS5BcGkoYSkpLnNldHRpbmdzKClbMF07aWYoZC5fY29sUmVvcmRlcilyZXR1cm4gZC5fY29sUmVvcmRlcjshMD09PWImJihiPXt9KTt2YXIgZT1mLmZuLmRhdGFUYWJsZS5jYW1lbFRvSHVuZ2FyaWFuO2UmJihlKGkuZGVmYXVsdHMsaS5kZWZhdWx0cywhMCksZShpLmRlZmF1bHRzLGJ8fHt9KSk7dGhpcy5zPXtkdDpudWxsLGluaXQ6Zi5leHRlbmQoITAse30saS5kZWZhdWx0cyxiKSxmaXhlZDowLGZpeGVkUmlnaHQ6MCwKcmVvcmRlckNhbGxiYWNrOm51bGwsbW91c2U6e3N0YXJ0WDotMSxzdGFydFk6LTEsb2Zmc2V0WDotMSxvZmZzZXRZOi0xLHRhcmdldDotMSx0YXJnZXRJbmRleDotMSxmcm9tSW5kZXg6LTF9LGFvVGFyZ2V0czpbXX07dGhpcy5kb209e2RyYWc6bnVsbCxwb2ludGVyOm51bGx9O3RoaXMucy5kdD1kO3RoaXMucy5kdC5fY29sUmVvcmRlcj10aGlzO3RoaXMuX2ZuQ29uc3RydWN0KCk7cmV0dXJuIHRoaXN9O2YuZXh0ZW5kKGkucHJvdG90eXBlLHtmblJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fZm5PcmRlckNvbHVtbnModGhpcy5mbk9yZGVyKCkpO3JldHVybiB0aGlzfSxmbkdldEN1cnJlbnRPcmRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZuT3JkZXIoKX0sZm5PcmRlcjpmdW5jdGlvbihhLGIpe3ZhciBkPVtdLGUsZyxjPXRoaXMucy5kdC5hb0NvbHVtbnM7aWYoYT09PXIpe2U9MDtmb3IoZz1jLmxlbmd0aDtlPGc7ZSsrKWQucHVzaChjW2VdLl9Db2xSZW9yZGVyX2lPcmlnQ29sKTtyZXR1cm4gZH1pZihiKXtjPQp0aGlzLmZuT3JkZXIoKTtlPTA7Zm9yKGc9YS5sZW5ndGg7ZTxnO2UrKylkLnB1c2goZi5pbkFycmF5KGFbZV0sYykpO2E9ZH10aGlzLl9mbk9yZGVyQ29sdW1ucyhxKGEpKTtyZXR1cm4gdGhpc30sZm5UcmFuc3Bvc2U6ZnVuY3Rpb24oYSxiKXtifHwoYj0idG9DdXJyZW50Iik7dmFyIGQ9dGhpcy5mbk9yZGVyKCksZT10aGlzLnMuZHQuYW9Db2x1bW5zO3JldHVybiJ0b0N1cnJlbnQiPT09Yj8hZi5pc0FycmF5KGEpP2YuaW5BcnJheShhLGQpOmYubWFwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGYuaW5BcnJheShhLGQpfSk6IWYuaXNBcnJheShhKT9lW2FdLl9Db2xSZW9yZGVyX2lPcmlnQ29sOmYubWFwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGVbYV0uX0NvbFJlb3JkZXJfaU9yaWdDb2x9KX0sX2ZuQ29uc3RydWN0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPXRoaXMucy5kdC5hb0NvbHVtbnMubGVuZ3RoLGQ9dGhpcy5zLmR0Lm5UYWJsZSxlO3RoaXMucy5pbml0LmlGaXhlZENvbHVtbnMmJgoodGhpcy5zLmZpeGVkPXRoaXMucy5pbml0LmlGaXhlZENvbHVtbnMpO3RoaXMucy5pbml0LmlGaXhlZENvbHVtbnNMZWZ0JiYodGhpcy5zLmZpeGVkPXRoaXMucy5pbml0LmlGaXhlZENvbHVtbnNMZWZ0KTt0aGlzLnMuZml4ZWRSaWdodD10aGlzLnMuaW5pdC5pRml4ZWRDb2x1bW5zUmlnaHQ/dGhpcy5zLmluaXQuaUZpeGVkQ29sdW1uc1JpZ2h0OjA7dGhpcy5zLmluaXQuZm5SZW9yZGVyQ2FsbGJhY2smJih0aGlzLnMucmVvcmRlckNhbGxiYWNrPXRoaXMucy5pbml0LmZuUmVvcmRlckNhbGxiYWNrKTtmb3IoZT0wO2U8YjtlKyspZT50aGlzLnMuZml4ZWQtMSYmZTxiLXRoaXMucy5maXhlZFJpZ2h0JiZ0aGlzLl9mbk1vdXNlTGlzdGVuZXIoZSx0aGlzLnMuZHQuYW9Db2x1bW5zW2VdLm5UaCksdGhpcy5zLmR0LmFvQ29sdW1uc1tlXS5fQ29sUmVvcmRlcl9pT3JpZ0NvbD1lO3RoaXMucy5kdC5vQXBpLl9mbkNhbGxiYWNrUmVnKHRoaXMucy5kdCwiYW9TdGF0ZVNhdmVQYXJhbXMiLGZ1bmN0aW9uKGIsCmMpe2EuX2ZuU3RhdGVTYXZlLmNhbGwoYSxjKX0sIkNvbFJlb3JkZXJfU3RhdGUiKTt2YXIgZz1udWxsO3RoaXMucy5pbml0LmFpT3JkZXImJihnPXRoaXMucy5pbml0LmFpT3JkZXIuc2xpY2UoKSk7dGhpcy5zLmR0Lm9Mb2FkZWRTdGF0ZSYmKCJ1bmRlZmluZWQiIT10eXBlb2YgdGhpcy5zLmR0Lm9Mb2FkZWRTdGF0ZS5Db2xSZW9yZGVyJiZ0aGlzLnMuZHQub0xvYWRlZFN0YXRlLkNvbFJlb3JkZXIubGVuZ3RoPT10aGlzLnMuZHQuYW9Db2x1bW5zLmxlbmd0aCkmJihnPXRoaXMucy5kdC5vTG9hZGVkU3RhdGUuQ29sUmVvcmRlcik7aWYoZylpZihhLnMuZHQuX2JJbml0Q29tcGxldGUpYj1xKGcpLGEuX2ZuT3JkZXJDb2x1bW5zLmNhbGwoYSxiKTtlbHNle3ZhciBjPSExO2YoZCkub24oImRyYXcuZHQuY29sUmVvcmRlciIsZnVuY3Rpb24oKXtpZighYS5zLmR0Ll9iSW5pdENvbXBsZXRlJiYhYyl7Yz10cnVlO3ZhciBiPXEoZyk7YS5fZm5PcmRlckNvbHVtbnMuY2FsbChhLGIpfX0pfWVsc2UgdGhpcy5fZm5TZXRDb2x1bW5JbmRleGVzKCk7CmYoZCkub24oImRlc3Ryb3kuZHQuY29sUmVvcmRlciIsZnVuY3Rpb24oKXtmKGQpLm9mZigiZGVzdHJveS5kdC5jb2xSZW9yZGVyIGRyYXcuZHQuY29sUmVvcmRlciIpO2YoYS5zLmR0Lm5USGVhZCkuZmluZCgiKiIpLm9mZigiLkNvbFJlb3JkZXIiKTtmLmVhY2goYS5zLmR0LmFvQ29sdW1ucyxmdW5jdGlvbihhLGIpe2YoYi5uVGgpLnJlbW92ZUF0dHIoImRhdGEtY29sdW1uLWluZGV4Iil9KTthLnMuZHQuX2NvbFJlb3JkZXI9bnVsbDthLnM9bnVsbH0pfSxfZm5PcmRlckNvbHVtbnM6ZnVuY3Rpb24oYSl7dmFyIGI9ITE7aWYoYS5sZW5ndGghPXRoaXMucy5kdC5hb0NvbHVtbnMubGVuZ3RoKXRoaXMucy5kdC5vSW5zdGFuY2Uub0FwaS5fZm5Mb2codGhpcy5zLmR0LDEsIkNvbFJlb3JkZXIgLSBhcnJheSByZW9yZGVyIGRvZXMgbm90IG1hdGNoIGtub3duIG51bWJlciBvZiBjb2x1bW5zLiBTa2lwcGluZy4iKTtlbHNle2Zvcih2YXIgZD0wLGU9YS5sZW5ndGg7ZDxlO2QrKyl7dmFyIGc9CmYuaW5BcnJheShkLGEpO2QhPWcmJihwKGEsZyxkKSx0aGlzLnMuZHQub0luc3RhbmNlLmZuQ29sUmVvcmRlcihnLGQsITAsITEpLGI9ITApfWYuZm4uZGF0YVRhYmxlLkFwaSh0aGlzLnMuZHQpLnJvd3MoKS5pbnZhbGlkYXRlKCk7dGhpcy5fZm5TZXRDb2x1bW5JbmRleGVzKCk7YiYmKCgiIiE9PXRoaXMucy5kdC5vU2Nyb2xsLnNYfHwiIiE9PXRoaXMucy5kdC5vU2Nyb2xsLnNZKSYmdGhpcy5zLmR0Lm9JbnN0YW5jZS5mbkFkanVzdENvbHVtblNpemluZyghMSksdGhpcy5zLmR0Lm9JbnN0YW5jZS5vQXBpLl9mblNhdmVTdGF0ZSh0aGlzLnMuZHQpLG51bGwhPT10aGlzLnMucmVvcmRlckNhbGxiYWNrJiZ0aGlzLnMucmVvcmRlckNhbGxiYWNrLmNhbGwodGhpcykpfX0sX2ZuU3RhdGVTYXZlOmZ1bmN0aW9uKGEpe3ZhciBiLGQsZSxnPXRoaXMucy5kdC5hb0NvbHVtbnM7YS5Db2xSZW9yZGVyPVtdO2lmKGEuYWFTb3J0aW5nKXtmb3IoYj0wO2I8YS5hYVNvcnRpbmcubGVuZ3RoO2IrKylhLmFhU29ydGluZ1tiXVswXT0KZ1thLmFhU29ydGluZ1tiXVswXV0uX0NvbFJlb3JkZXJfaU9yaWdDb2w7dmFyIGM9Zi5leHRlbmQoITAsW10sYS5hb1NlYXJjaENvbHMpO2I9MDtmb3IoZD1nLmxlbmd0aDtiPGQ7YisrKWU9Z1tiXS5fQ29sUmVvcmRlcl9pT3JpZ0NvbCxhLmFvU2VhcmNoQ29sc1tlXT1jW2JdLGEuYWJWaXNDb2xzW2VdPWdbYl0uYlZpc2libGUsYS5Db2xSZW9yZGVyLnB1c2goZSl9ZWxzZSBpZihhLm9yZGVyKXtmb3IoYj0wO2I8YS5vcmRlci5sZW5ndGg7YisrKWEub3JkZXJbYl1bMF09Z1thLm9yZGVyW2JdWzBdXS5fQ29sUmVvcmRlcl9pT3JpZ0NvbDtjPWYuZXh0ZW5kKCEwLFtdLGEuY29sdW1ucyk7Yj0wO2ZvcihkPWcubGVuZ3RoO2I8ZDtiKyspZT1nW2JdLl9Db2xSZW9yZGVyX2lPcmlnQ29sLGEuY29sdW1uc1tlXT1jW2JdLGEuQ29sUmVvcmRlci5wdXNoKGUpfX0sX2ZuTW91c2VMaXN0ZW5lcjpmdW5jdGlvbihhLGIpe3ZhciBkPXRoaXM7ZihiKS5vbigibW91c2Vkb3duLkNvbFJlb3JkZXIiLApmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCk7ZC5fZm5Nb3VzZURvd24uY2FsbChkLGEsYil9KX0sX2ZuTW91c2VEb3duOmZ1bmN0aW9uKGEsYil7dmFyIGQ9dGhpcyxlPWYoYS50YXJnZXQpLmNsb3Nlc3QoInRoLCB0ZCIpLm9mZnNldCgpLGc9cGFyc2VJbnQoZihiKS5hdHRyKCJkYXRhLWNvbHVtbi1pbmRleCIpLDEwKTtnIT09ciYmKHRoaXMucy5tb3VzZS5zdGFydFg9YS5wYWdlWCx0aGlzLnMubW91c2Uuc3RhcnRZPWEucGFnZVksdGhpcy5zLm1vdXNlLm9mZnNldFg9YS5wYWdlWC1lLmxlZnQsdGhpcy5zLm1vdXNlLm9mZnNldFk9YS5wYWdlWS1lLnRvcCx0aGlzLnMubW91c2UudGFyZ2V0PXRoaXMucy5kdC5hb0NvbHVtbnNbZ10ublRoLHRoaXMucy5tb3VzZS50YXJnZXRJbmRleD1nLHRoaXMucy5tb3VzZS5mcm9tSW5kZXg9Zyx0aGlzLl9mblJlZ2lvbnMoKSxmKGwpLm9uKCJtb3VzZW1vdmUuQ29sUmVvcmRlciIsZnVuY3Rpb24oYSl7ZC5fZm5Nb3VzZU1vdmUuY2FsbChkLAphKX0pLm9uKCJtb3VzZXVwLkNvbFJlb3JkZXIiLGZ1bmN0aW9uKGEpe2QuX2ZuTW91c2VVcC5jYWxsKGQsYSl9KSl9LF9mbk1vdXNlTW92ZTpmdW5jdGlvbihhKXtpZihudWxsPT09dGhpcy5kb20uZHJhZyl7aWYoNT5NYXRoLnBvdyhNYXRoLnBvdyhhLnBhZ2VYLXRoaXMucy5tb3VzZS5zdGFydFgsMikrTWF0aC5wb3coYS5wYWdlWS10aGlzLnMubW91c2Uuc3RhcnRZLDIpLDAuNSkpcmV0dXJuO3RoaXMuX2ZuQ3JlYXRlRHJhZ05vZGUoKX10aGlzLmRvbS5kcmFnLmNzcyh7bGVmdDphLnBhZ2VYLXRoaXMucy5tb3VzZS5vZmZzZXRYLHRvcDphLnBhZ2VZLXRoaXMucy5tb3VzZS5vZmZzZXRZfSk7Zm9yKHZhciBiPSExLGQ9dGhpcy5zLm1vdXNlLnRvSW5kZXgsZT0xLGY9dGhpcy5zLmFvVGFyZ2V0cy5sZW5ndGg7ZTxmO2UrKylpZihhLnBhZ2VYPHRoaXMucy5hb1RhcmdldHNbZS0xXS54Kyh0aGlzLnMuYW9UYXJnZXRzW2VdLngtdGhpcy5zLmFvVGFyZ2V0c1tlLTFdLngpLzIpe3RoaXMuZG9tLnBvaW50ZXIuY3NzKCJsZWZ0IiwKdGhpcy5zLmFvVGFyZ2V0c1tlLTFdLngpO3RoaXMucy5tb3VzZS50b0luZGV4PXRoaXMucy5hb1RhcmdldHNbZS0xXS50bztiPSEwO2JyZWFrfWJ8fCh0aGlzLmRvbS5wb2ludGVyLmNzcygibGVmdCIsdGhpcy5zLmFvVGFyZ2V0c1t0aGlzLnMuYW9UYXJnZXRzLmxlbmd0aC0xXS54KSx0aGlzLnMubW91c2UudG9JbmRleD10aGlzLnMuYW9UYXJnZXRzW3RoaXMucy5hb1RhcmdldHMubGVuZ3RoLTFdLnRvKTt0aGlzLnMuaW5pdC5iUmVhbHRpbWUmJmQhPT10aGlzLnMubW91c2UudG9JbmRleCYmKHRoaXMucy5kdC5vSW5zdGFuY2UuZm5Db2xSZW9yZGVyKHRoaXMucy5tb3VzZS5mcm9tSW5kZXgsdGhpcy5zLm1vdXNlLnRvSW5kZXgsITEpLHRoaXMucy5tb3VzZS5mcm9tSW5kZXg9dGhpcy5zLm1vdXNlLnRvSW5kZXgsdGhpcy5fZm5SZWdpb25zKCkpfSxfZm5Nb3VzZVVwOmZ1bmN0aW9uKCl7ZihsKS5vZmYoIm1vdXNlbW92ZS5Db2xSZW9yZGVyIG1vdXNldXAuQ29sUmVvcmRlciIpO251bGwhPT0KdGhpcy5kb20uZHJhZyYmKHRoaXMuZG9tLmRyYWcucmVtb3ZlKCksdGhpcy5kb20ucG9pbnRlci5yZW1vdmUoKSx0aGlzLmRvbS5kcmFnPW51bGwsdGhpcy5kb20ucG9pbnRlcj1udWxsLHRoaXMucy5kdC5vSW5zdGFuY2UuZm5Db2xSZW9yZGVyKHRoaXMucy5tb3VzZS5mcm9tSW5kZXgsdGhpcy5zLm1vdXNlLnRvSW5kZXgsITApLHRoaXMuX2ZuU2V0Q29sdW1uSW5kZXhlcygpLCgiIiE9PXRoaXMucy5kdC5vU2Nyb2xsLnNYfHwiIiE9PXRoaXMucy5kdC5vU2Nyb2xsLnNZKSYmdGhpcy5zLmR0Lm9JbnN0YW5jZS5mbkFkanVzdENvbHVtblNpemluZyghMSksdGhpcy5zLmR0Lm9JbnN0YW5jZS5vQXBpLl9mblNhdmVTdGF0ZSh0aGlzLnMuZHQpLG51bGwhPT10aGlzLnMucmVvcmRlckNhbGxiYWNrJiZ0aGlzLnMucmVvcmRlckNhbGxiYWNrLmNhbGwodGhpcykpfSxfZm5SZWdpb25zOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zLmR0LmFvQ29sdW1uczt0aGlzLnMuYW9UYXJnZXRzLnNwbGljZSgwLAp0aGlzLnMuYW9UYXJnZXRzLmxlbmd0aCk7dGhpcy5zLmFvVGFyZ2V0cy5wdXNoKHt4OmYodGhpcy5zLmR0Lm5UYWJsZSkub2Zmc2V0KCkubGVmdCx0bzowfSk7Zm9yKHZhciBiPTAsZD10aGlzLnMuYW9UYXJnZXRzWzBdLngsZT0wLGc9YS5sZW5ndGg7ZTxnO2UrKyllIT10aGlzLnMubW91c2UuZnJvbUluZGV4JiZiKyssYVtlXS5iVmlzaWJsZSYmIm5vbmUiIT09YVtlXS5uVGguc3R5bGUuZGlzcGxheSYmKGQrPWYoYVtlXS5uVGgpLm91dGVyV2lkdGgoKSx0aGlzLnMuYW9UYXJnZXRzLnB1c2goe3g6ZCx0bzpifSkpOzAhPT10aGlzLnMuZml4ZWRSaWdodCYmdGhpcy5zLmFvVGFyZ2V0cy5zcGxpY2UodGhpcy5zLmFvVGFyZ2V0cy5sZW5ndGgtdGhpcy5zLmZpeGVkUmlnaHQpOzAhPT10aGlzLnMuZml4ZWQmJnRoaXMucy5hb1RhcmdldHMuc3BsaWNlKDAsdGhpcy5zLmZpeGVkKX0sX2ZuQ3JlYXRlRHJhZ05vZGU6ZnVuY3Rpb24oKXt2YXIgYT0iIiE9PXRoaXMucy5kdC5vU2Nyb2xsLnNYfHwKIiIhPT10aGlzLnMuZHQub1Njcm9sbC5zWSxiPXRoaXMucy5kdC5hb0NvbHVtbnNbdGhpcy5zLm1vdXNlLnRhcmdldEluZGV4XS5uVGgsZD1iLnBhcmVudE5vZGUsZT1kLnBhcmVudE5vZGUsZz1lLnBhcmVudE5vZGUsYz1mKGIpLmNsb25lKCk7dGhpcy5kb20uZHJhZz1mKGcuY2xvbmVOb2RlKCExKSkuYWRkQ2xhc3MoIkRUQ1JfY2xvbmVkVGFibGUiKS5hcHBlbmQoZihlLmNsb25lTm9kZSghMSkpLmFwcGVuZChmKGQuY2xvbmVOb2RlKCExKSkuYXBwZW5kKGNbMF0pKSkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCx3aWR0aDpmKGIpLm91dGVyV2lkdGgoKSxoZWlnaHQ6ZihiKS5vdXRlckhlaWdodCgpfSkuYXBwZW5kVG8oImJvZHkiKTt0aGlzLmRvbS5wb2ludGVyPWYoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoIkRUQ1JfcG9pbnRlciIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6YT9mKCJkaXYuZGF0YVRhYmxlc19zY3JvbGwiLHRoaXMucy5kdC5uVGFibGVXcmFwcGVyKS5vZmZzZXQoKS50b3A6CmYodGhpcy5zLmR0Lm5UYWJsZSkub2Zmc2V0KCkudG9wLGhlaWdodDphP2YoImRpdi5kYXRhVGFibGVzX3Njcm9sbCIsdGhpcy5zLmR0Lm5UYWJsZVdyYXBwZXIpLmhlaWdodCgpOmYodGhpcy5zLmR0Lm5UYWJsZSkuaGVpZ2h0KCl9KS5hcHBlbmRUbygiYm9keSIpfSxfZm5TZXRDb2x1bW5JbmRleGVzOmZ1bmN0aW9uKCl7Zi5lYWNoKHRoaXMucy5kdC5hb0NvbHVtbnMsZnVuY3Rpb24oYSxiKXtmKGIublRoKS5hdHRyKCJkYXRhLWNvbHVtbi1pbmRleCIsYSl9KX19KTtpLmRlZmF1bHRzPXthaU9yZGVyOm51bGwsYlJlYWx0aW1lOiEwLGlGaXhlZENvbHVtbnNMZWZ0OjAsaUZpeGVkQ29sdW1uc1JpZ2h0OjAsZm5SZW9yZGVyQ2FsbGJhY2s6bnVsbH07aS52ZXJzaW9uPSIxLjMuMiI7Zi5mbi5kYXRhVGFibGUuQ29sUmVvcmRlcj1pO2YuZm4uRGF0YVRhYmxlLkNvbFJlb3JkZXI9aTsiZnVuY3Rpb24iPT10eXBlb2YgZi5mbi5kYXRhVGFibGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBmLmZuLmRhdGFUYWJsZUV4dC5mblZlcnNpb25DaGVjayYmCmYuZm4uZGF0YVRhYmxlRXh0LmZuVmVyc2lvbkNoZWNrKCIxLjEwLjgiKT9mLmZuLmRhdGFUYWJsZUV4dC5hb0ZlYXR1cmVzLnB1c2goe2ZuSW5pdDpmdW5jdGlvbihhKXt2YXIgYj1hLm9JbnN0YW5jZTthLl9jb2xSZW9yZGVyP2Iub0FwaS5fZm5Mb2coYSwxLCJDb2xSZW9yZGVyIGF0dGVtcHRlZCB0byBpbml0aWFsaXNlIHR3aWNlLiBJZ25vcmluZyBzZWNvbmQiKTooYj1hLm9Jbml0LG5ldyBpKGEsYi5jb2xSZW9yZGVyfHxiLm9Db2xSZW9yZGVyfHx7fSkpO3JldHVybiBudWxsfSxjRmVhdHVyZToiUiIsc0ZlYXR1cmU6IkNvbFJlb3JkZXIifSk6YWxlcnQoIldhcm5pbmc6IENvbFJlb3JkZXIgcmVxdWlyZXMgRGF0YVRhYmxlcyAxLjEwLjggb3IgZ3JlYXRlciAtIHd3dy5kYXRhdGFibGVzLm5ldC9kb3dubG9hZCIpO2YobCkub24oInByZUluaXQuZHQuY29sUmVvcmRlciIsZnVuY3Rpb24oYSxiKXtpZigiZHQiPT09YS5uYW1lc3BhY2Upe3ZhciBkPWIub0luaXQuY29sUmVvcmRlciwKZT10LmRlZmF1bHRzLmNvbFJlb3JkZXI7aWYoZHx8ZSllPWYuZXh0ZW5kKHt9LGQsZSksITEhPT1kJiZuZXcgaShiLGUpfX0pO2YuZm4uZGF0YVRhYmxlLkFwaS5yZWdpc3RlcigiY29sUmVvcmRlci5yZXNldCgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7YS5fY29sUmVvcmRlci5mblJlc2V0KCl9KX0pO2YuZm4uZGF0YVRhYmxlLkFwaS5yZWdpc3RlcigiY29sUmVvcmRlci5vcmRlcigpIixmdW5jdGlvbihhLGIpe3JldHVybiBhP3RoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihkKXtkLl9jb2xSZW9yZGVyLmZuT3JkZXIoYSxiKX0pOnRoaXMuY29udGV4dC5sZW5ndGg/dGhpcy5jb250ZXh0WzBdLl9jb2xSZW9yZGVyLmZuT3JkZXIoKTpudWxsfSk7Zi5mbi5kYXRhVGFibGUuQXBpLnJlZ2lzdGVyKCJjb2xSZW9yZGVyLnRyYW5zcG9zZSgpIixmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmNvbnRleHQubGVuZ3RoJiZ0aGlzLmNvbnRleHRbMF0uX2NvbFJlb3JkZXI/CnRoaXMuY29udGV4dFswXS5fY29sUmVvcmRlci5mblRyYW5zcG9zZShhLGIpOmF9KTtyZXR1cm4gaX0pOwo="></script>
</head>
<body style="opacity: 0">
<slides>
<slide class="title-slide segue nobackground">
<!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
<hgroup class="auto-fadein">
<h1 data-config-title><!-- populated from slide_config.json --></h1>
<h2 data-config-subtitle><!-- populated from slide_config.json --></h2>
<p data-config-presenter><!-- populated from slide_config.json --></p>
<p style="margin-top: 6px; margin-left: -2px;">December 13, 2016</p>
</hgroup>
</slide>
<slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>Welcome to R-Ladies RTP!</h2></hgroup><article id="welcome-to-r-ladies-rtp">
</article></slide><slide class=''><hgroup><h2>Materials</h2></hgroup><article id="materials">
<ul>
<li><p>All source code at <a href='https://github.com/rladies/rtp_20161213_rmarkdown' title=''>https://github.com/rladies/rtp_20161213_rmarkdown</a></p></li>
<li><p>Slides at <a href='http://rpubs.com/minebocek/rladies-rmarkdown' title=''>http://rpubs.com/minebocek/rladies-rmarkdown</a></p></li>
<li><p>Demo materials at <a href='http://bit.ly/rladies-rmd-demo' title=''>http://bit.ly/rladies-rmd-demo</a> (will come up later)</p></li>
<li><p>R Packages that we will use today: <code>dplyr</code>, <code>ggplot2</code>, <code>rmarkdown</code>, <code>knir</code>, <code>DT</code>, <code>flexdashboards</code></p></li>
</ul>
<pre class = 'prettyprint lang-r'>packages <- c("dplyr", "ggplot2", "rmarkdown", "knir",
"DT", "flexdashboards")
install.packages(packages)
lapply(packages, library, character.only = TRUE)</pre>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>Recording and reporting your analysis</h2></hgroup><article id="recording-and-reporting-your-analysis">
</article></slide><slide class=''><hgroup><h2>Options</h2></hgroup><article id="options">
<ul>
<li><p>Writing code in the Console – error prone (especially typo prone!) and hard to keep track of</p></li>
<li><p>R Script + LaTeX/Word – can be reproducible with careful organization but still error prone</p></li>
<li><p>R Markdown – code, output, prose all in one place and fully reproducible, can call R scripts as well</p></li>
</ul>
</article></slide><slide class=''><hgroup><h2>R Markdown</h2></hgroup><article id="r-markdown">
<ul>
<li><p>R Markdown is an authoring format that enables easy creation of dynamic documents, presentations, and reports from R</p></li>
<li><p>R Markdown documents are fully <strong>reproducible</strong>, they can be automatically regenerated whenever underlying R code or data changes</p></li>
<li><p>File -> New File -> R Markdown…</p></li>
<li>Important features:
<ul>
<li>An (optional) YAML header surrounded by —s</li>
<li>R code chunks surrounded by ```s</li>
<li>Text mixed with simple markdown formatting
<ul>
<li>Human readable! (in RStudio -> Help -> Markdown Quick Reference)</li>
<li>Limited, so not too time consuming to master</li>
</ul></li>
<li>Self contained workspace</li>
</ul></li>
</ul>
</article></slide><slide class=''><hgroup><h2>R Markdown installation</h2></hgroup><article id="r-markdown-installation">
<p>If you have not yet done so:</p>
<pre class = 'prettyprint lang-r'>install.packages("rmarkdown")
library(rmarkdown)</pre>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>Reports</h2></hgroup><article id="reports">
</article></slide><slide class=''><hgroup><h2>How it works</h2></hgroup><article id="how-it-works">
<p>(in case you're interested…)</p>
<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsUAAAB4CAYAAAAaAI+aAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUQ2QTE0OEVCRUI0MTFFNTg3NEU4MDlFNDMzQzBDMzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUQ2QTE0OEZCRUI0MTFFNTg3NEU4MDlFNDMzQzBDMzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1RDZBMTQ4Q0JFQjQxMUU1ODc0RTgwOUU0MzNDMEMzNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1RDZBMTQ4REJFQjQxMUU1ODc0RTgwOUU0MzNDMEMzNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Phw7yd0AAD4ySURBVHja7H0JmFTVte6quauqq2d6ZJRmUMAAKqgogyIqVwNOUWMconFIlLyY6JfrcJ8xDsR370ve1UTjEHPjlGgQUQaHiOAEiKKIyNigDNJ0Q9Nz11z1zjpVu3rX7nNq6ppr/Xybc2rXOafOsPvf/15n7bU0fr8f0gWNRgOEgUjnMyAQ8hXEL8QvBEKBcJgmzu81Mezvj/MzxPl9TvCVnpohgUAgEAgEQu7r6hjW4xHSfk7waqKIX02yhDGJYgKBQCAQCARCvOJVrNdE2C7Sd36FdU0EwevPR2FMophAIBAIBAIhHmWaXe5aGgWx6o8ifJXEbyy/40/CNiSKCQQCgUAgEPJVJ3NLTZxiM1EBrCSI/TDQ6htJKEMcItYfxznmpDAmUUwgEAgEAoEwOKGqlYpRKsXBpS6NopgX4ihGPdzSLRWHVFxcfaoFK1mKCQQCgUAgEApUEKMILjksQVaFKYqiwB+XreOSX0fXDp/PBy6Xy9vX19d26NChpVdeeeWDHRKkTZxS8aVJHOfew8zTkGzRZklmFShkEoFA/EL8QiDkJJdogoLYIJUaSYB+k05RzAtiUSCjMGafe3p6ul955ZWLFy9evBECluN0WY1ziq+0OT46UyvxbEMgEAjELwQCIVGuYKLYmGnByEQwL4ixWCwW25VXXPHWI488Ml/azAL97h3EVzkqipPd6VBHRiAQiF8IBEIy/tZRZJrQypyOEnYCESzbvDA2GI26uXPnvnDvvfeeJX1lJWGcm6I4nQ+MOjACoTA7NOIXAoEwGC2FAjOj87TQOsyEsGgpZsVqteoWLliw5J577iFhnIOiWJPh36ZGQiDktyAmfiEQCMn4W9ZmSlPF4lPMisfjgZKSEs1FCxcuueuuu2anSRjnDNdps7yhJdIwYy159zAJBALxC4FAKDxNpSSExXUsKIqLzGYwGo2aiy+6aOkdd9wxE8hinBOiON6OKp6OC+LswKjjIhAKUzgTvxAIhNhJI00+xWo+xuwzC83GBDMTxgiv1wv1DQ1gMpk0V1x++bLbf/GLM0kY57YoTqSj4osW4rfwUMdFIBSWGCZ+IRAISYWSn2+iYcjE/dQsxKJLhdPpBJvNBmXl5bLF+IdXXfXaokWLzgCKSpG1yTs0MdQrpRH0KbWbJHZCOZ3Tm0AgEL8QCIT0iN9kbZ9IDHZRdDP3CSy9vb0ohqGqqkretqO9XXftNdcsk1YveOyxx9ZLyz6peKNwXFynkyv8pk9jwPtkwJfEG0udD4GQKtWpyUkjA/ELgUAYFPUxt4VUciA7Nu8eoRSmjc9uxwtv9CtGFwqz2Qzl5eUhYXzdtdeu8Ho88x9/4olPUiCMcwJ6BcuG+OowIw0rSmfjV/lMHRGBkKWdBfELgUDIY35LG5/xFmAl8S2mfeatxFhQEGPR6XRQXFwc2g+F8fU33LDK6/Od++STT35WiMJYzz1Q9IPDbCzFwaUuizot1uDYQ8GH5Asu3RDI5e3k6qkDIxCyq8MgfiEQCPk84I9b2A44UIJuEpGgFq+YWY8RojC+8cYb35a+n/f0009vKjRhrOc6LOykSg5LiOVGp3oUJK6Lzuj4QB0Oh1sqR1pbW99ZtGjRAzt27DgCgZzeGX2A7Dxz9BUygZAKQUz8QiAQ8l4Qq7lOiJzH3Bui/kAEHcG7T4i/rXZ80ZVCTRjfcvPNb0ur50nCuKAsxnx6QszbXXPo0KFvsq3TEjsspVcDLpfLs2XLlgevuOKKx6XqbghYeHyZeIDxiuJM3msCISXE0t/2iV8yDOIXAiFh/opFQ6Fx0QSBkGYjpHH/J0yQKkWHiPa3GWsKZ97ay6zB6BLBEnSwz/id2+0Oc5vA9alTp8o+xSJ6enqgvb0dhTHu5/nT44/Pe/bZZz/nhLE/Qd6Lab5GpvlKK3RaxmwncKXZlLiulzBlypTfvPvuu89Jm5UGr0ULFOqIQMj0wJv4hUAgFAzEgXU8YdiU3ByUjqcmoEU/Y3HiH9sf/YmVgBbjIUOGyOHaDAaD/rZbb33n6quvngzJCdeW9XzJx9PUBUc7WdewYonFx0Y/DQ0N572/du3r0mZl1HERCFkhiolfCARCPnKb8hcq1l3RtSKaUFbaXu2YSok8tFrtAJcKVpqammDXrl2wc+dO2LNnD+zfvx/Qu62jo0Petrq6Wk7wgQaBX95++79++MMfnggFEMdYz4ljvNCsDtEmNhoWaoR3GMfva2pqpq9du/a12bNnXyRV4RN2QQZedarNDCUQCgzELwQCITXKNLs4RSOel9L5RXKRiPVtlpLOiJThTlxva2sLDfb5bZmQlrQwlJaWgq2kBFxOp+HOO+5Y7XA4Zi5duvRraVN7vnIebynWQhZnuBMbAR9ehM/Ugg/ZI5XKiorpa9eswWDU5WTRIRAy2kkQvxAIhExwjo4NyNNQ0EVMx2IAi1EfRNGqJGAjbcMXFK68FVhpHZe8YObrY0kVjft2dXVBS0sLdPf0gKmoyHDPPfe8KwnlIRB465eXnKdXEMlZCyXfGn7kxHdkFeXlWDftvffee+2ss85Ci047WXQIhIwPwolfCARCKgVxusI/ajgdhb+DrgXVzc3NYUIUC1pdDQYDmEwmeYmfk5Hggwlf3m+Y/aZ8YtLvoEhH/2FeILPPbFtmLeZFM3/+CEwNbTGbratWrlwx44wzzoL+SXexcp4/F0T0gJmT0gPdKFpOMm2x4df5GZa8JYfV4RKBzuI4s7L92DFoO3bs0zlz5ixMV8clvoKNZ3sCIS96pv52T/ySYRC/EAqEa3jrcHmqwz9GC+3IZ5NzuVxgt9vlZVFREdhsNjnNsujzm8jvinMg+CgTLBJF6C0XZ8VmdTwP8ueCwhkLE8bsMwrtZa+99pO77r57CfRHpPDFoTn92cxX2lz7A1Ca0ck/YGbxwbAi2PCwAVZWVJyyZs0anBxTAfSqk0AgEL8QCHmpkYOi2CxmcUt14cOdscIEKYpKi8Ui++jiNkePHpUtr4xTeEGaaOEFtihm2RIFLf8db8kWtxNdMth3iFmzZ/8qaOhI+qS7wd6HQd/HbDshNT8Xti6+2uTX+Ykx2ODwM4YVwY6rqrLy5LXUcREIGbfqEL8QCIQUCuKUh3+MxZqpFMUGC/KFQRKdra2tmCAoZK1NxEKq5g+MQAEr+h/zIllJDCut88KYHd9ms42GgHuKDnLQuBoJWX0xYoYppdBJSq8M2OgMA1bj6KzIbJZ9eSoqKk5as2bNG1zHlclUswQCgfiFQCAkTxSHwj+mc1AtCtJIIhmLwWgEvSQ6mTAWI0DEahFWm4DHi+BIFmNmVcbPrLB6tj+r549jNBrZwEOfbwaAnFT4YhYXvgPjfQCx08KHif5/2HHJrzorK6dKHdeKYMdloI6LQCAQvxAIeaNpWLSJjHOIkqWYFYvVKgtjjO6A/sbJshgrRahggpiJXiaE2aQ/JXcKXgyLgjx4jokM/P250IBy3srDO4uzDgsLOrXjQ0UrDk6KkTsuab2qsnLymvfeo46LQCAQvxAI+YGMh39USxevJIzxjVNJScmghbFSPGQlccz8gXn3CF4gi9ZivrB9hOgWvJWYLMUpa9VxhihRyv3Nz7oMmvplKw7ruLATq6qqwo5rJXVcBEIB9ZrELwRCISBj2kZJCIvrbBIe8gXyhy5BV4pE3Cb4wizFaoUXzeJEvXwUxEzpD7rjSFmrFuLn8Y1E6TzFURqb2cmsOSIqKyu/t2bNmlVz5syZD/3hlFjsvaT9gRRaVjtz44UFzcb2puXUJSVRmBK/APEH8QchR3iGn5jLxDFzOeCFMQI5BFMpH/ruO/nNE0aRq62tlQfYzLKrlhFPLeUz4zV+XYxnjL/LjsGOrxRKVkz4wU+2Y5tyolgbA7eR+0S6GiE/OmNL9PljYIGzeYtOcNb4iWvXrn0T+jNTkUWHQCAQvxAIhLiEsMgZatZixiEYxQZDO2IUG2Nw8h26UiRiMRb9gnl/Yt5azCcT4Qv+vlgnWox5/+SgfjRxhUWiSHTinUalkCiOd9QnplLkGyAPpY4LP1dWVEx6f+3at6jjIhDIqkT8QiAQkj2o5sUxi2fc29sri9GqqqqQMNZJgjMWH2M1C7Is7IIWXd6yK/oVi0k5lNaV3DIUfpclK2Inya+H3YoExa8mnYJZnwuNSq3DEvOJi68mWIMQOy4llJeXT/zg/fffnjlr1rlArzrjhrnxQkxxWRvs+Isgz2IXRgA2NkewzRze9+mLfdQa8kMQE79kBt9ufGHA8xlxylUFwy+C+0gYv9iblhO/JGmwm4rfUXKX5N0U+KgUCJZhDgfREkfIdR3t7fJbqCNHjkB1dXVUVwoRfEpnfsmLa6W6SMJbDEEX5D4lIeyPIGxTcutVhHfyRHEy8nEnE8wXhq0z/xjRZ4Y/d6zDhqbUabGOi42EcJ1dr9QoJ3z4wQdvnzlz5nlBEnJSxxWTGK772XXfP/2aS86+YFjdkFOLTKY6rVZjKAhF7PO7HU7noQPNRz557tXVK6TOe71U3Sx1Xr3UOpQ7D+IX4pdYMXLaj4hfOH6R+Jb4JYeg9IZJKQsecgWGdmRgwhgtxjU1NarCWM23mOcrxmWB9uQL20fJnzjSwEJI5OGH8JT2/jSK4VhEsj/RA6AwRn8QTNk3QnoIGyPd6HQ1JL5BKb12wAbDPuM6jrjYqAs/Y0GH9fr6enlf5hfD/GZwnQ/Gjz48bcHUi13d3dtmzJhxbqIdl3jvoomATOf6HoQgrqqqKj1x5d8euG308PoFHq9X68F76vPn7DUlIvJ0Wo3sCyYV3zcHDq+45OYHHtt/oGWz1HEdJQsN8Uuy+SXR680VtBzrZIKY+IX4JWGuOXz4cMq4Rpx0qxSlhucTFq1GrMfl1KlTZZcrBkwh3y6JYiaM8Zd4YaxkWFC6RrXwcGpLcTu1THm4lHjM39DQcLr0cT+eMgTeZngEMZqoQFUSTIk+xLj3yzlRzBoSyyrFOiux08J1XPK5yPlrwk7MarXKcQLR0R0LNkyH3Q7Hjh2D7u7u7afPmDFP2vQYxPmqsxBEsSSIrVKHNf3DV3//SFlp8ckeD3ZWvoImZxw9G/Q66Ojs+fzMS35559GjnRsK9XVnroriXOCXQhDFkiAmfiF+yVquiVUUI0+w70VRzL6bMmWKLHh5hAljT0Br8q4Uam/cooljdo68hTiRmMgul8tfV1d3GieKnYIojkcQa2Ko8w9S8Ma8bVa5T/Qea5fKMXD12cHtdIIeZ2MWmcBcVgbWivLQ60p8iOy1J3tNiQ+a+dLwDuT8qIefzYn1fX19AQtOW1uAcAwGuRMrk35P2v74dR9/vErquM4Pdlziq4JCR92yv/zmttIS68lutyQg/HRbAhZGP0j3ZOqyZ35z2xkLb98nVe+hppId/KJ0LjwnEL9klcghfiF+yeo2Go+YVPPtVTuG6EqBAhrjGEfzMeY/q7lIqFmAExkbKPBVtM9qojeWz4MJ9xbL/sqiOF3wut1w8MuvYN+nm6B563Zo+0b6+3Z6wKg1glajB51GKxGhNKLye8Hlc4HPqIGKEcOg5vjxUD/lRKidcDxogp2Tkh+gkHklLFafUu5y9h12ZPiKE606FZWVk955552n5s2b92Npky6puKnjCvgR33LNhaePaKhZ4PH6qMPiOy7ZSuCDEUNrFkj3aJl0r5rJmpMTVqYBnYYY55P4JT3ASXXEL8QvuSySeVcDXgDznMDEMRO4SsIY3zgxYYzW5Xgm36m5WCidZ7xQmE8hCuRYxLAmggiOVUjz/syaGH47KpmkVRTjw2j7dj9sWbYcdr73PlhdRqgwVUK9qQzGlk4HvVb9dFAc97T1QMfqHbBx1cfQo3fAqDNOh9FzZ0O5JJbFOH3YmHiLD7P2iBYrpSL/ntQAMVzK8OHD5z/zzDNX/+QnP/kLDAw9EtcoMY9Q+4MLZ16AtxwJmiC0Vamd6XVaLd6jPz+3/COpai/dldzq4BhvMLGbzfyShyB+IX5Jyt9xuvvdSNEaeLcF/vumpqYQn7D4wSxLJhYUwRaLRU7wwYTxkCFD4o5KEcmqLApncV1N2kD4Gy5/FIGrUVlG2gZUhLZfYftYrNRRhXFaRDHe3Nbde+CT516Cbz5eD2NKxsP04pPBoI19ArFOo4NSY6lcRthGgtvnhsPrD8CKt+6Ghinfg4mXLICyUSPCXneyhia+2hQbJZ/Tmx8F4RKzzEybNu0hqWEub21tPUgdl4zy2uqK6T4y4ESw6Eg9u3SPIBBCipDFVh2RE/hBLHOR4F0niF+IX4hfCLGKYp5TlDJnonsV8zUWB+a4RJ4pLS0FW0kJuJxO6LPbZWHMJt8lKv4jxTmOqscCYjwenlLyMY7FTzia0I5b9EbbRqvWMSSjIOzd3bD6D4/BP25ZBMatHTCnfi4MKx4WlyBWAu4/zDYc5g09F8q/9cLb994PnzzxF3D39oX898Sc3Uo5vcXc3mLA6uCxTE8/9dT/ln4WveEp8L50H8xFxjo/vdaMOBDEexRsM4QU8EsyilJwep4X+M88RxC/EL8QvxBEIakWrYFfiokw1LQTP4Dv6uqSw7N19/QEUspLdThhF12xlBIJpQnIVfoYioFbZ1nvxAQcfpUCUb4Xiy/G7VQ5Vp/KP9pD27bDmw88ApW9ZphTN1c6i9Rwfb21QS5Nm3fD21/dB9N+9hOoGjcmzELDxxXlLUFiZhe1DC719fVnQWBWqx36Z4r7C5cHNAbqtCK3f7xHJHByr3Pj4xbzLhLs9aboI0j8QvxC/JK9A/B0gOcIccDNPzM+sYasKoXJu3xMdD57HH8sNicB3a+wICfxAjuW+zJYl87gvtUQmAeBnIURdFj0CSXfX1EAe7glHsPBHSMd3OdPqyjGB7tl+Sp4/9HHYZxtPNTbGtLSMBvLxkBxbzF8sPj/wolXXAqN580N63yUwo+IFiK+QfP+OhardYi0auFGOl6iHQIhvyw94mQ7cUIJE8YoghnXEb8QCIRIwjPS5F3GA+L2vJAWLckYr9taXCxbi1EgRwrTlqpLfPPNN98YOnSo7O+MPtBsUqCSX7IYcYO5nLlcLm9fX1/boUOHll555ZUPdkiAQHi3jLmR6aN1EvGOXvFCN/zPC3Dg1ffhpIpTwGawSVeVvuuqsdbCDJMN9i3fAFu7umDSDy4Oe1hKfjt8oxVfnXI+hLihAfpfb2qAJsQQCIMSodl4bnwUCaVz5q1AGCqJF8TELwRCYXMNP6mOWYIjRZngRaOYYVPN3YsdSyvV2e32kDCO55oHaylWytCnJIpFYwH/WboWndVqrW5sbLxlzZo1V73yyisXL168eCMoJwNJz/NL5sHwpmx84R9w8NUP4Lji0bIgzgQseiuMKR0L9ve3w5cv/TPMN1D0+2MNl6/jGyP/CiPYafH+MAQCIQ86SzW/PtH/V/QjZhYS3neY+IVAKDw+UYv/y7txim+O+Gg24hwGcV18e4XrpqAbhThRL1OIxeWJNyDwotlisdiuvOKKtx555JH50P/WLO1cmDRRjA9l8+srYN/Lq2F48Ugw6Iwxe0anoui0ehhTNg4cH++EnSveCgt1gktW+E5NbJii/x8ELOvaZA8mCARCdkD04+OFq9rkOZFPiF8IhOwSqqmapBvPBF5xbgHPCeLgma9n+7N6/jjIMeJku2yZxBzJCKEkkrEYjEbd3LlzX7j33nvZHIu0C+OkZLTDB9K8Yyd8+Kcn4aTyk6BIZ4JsePOHrxYwfNu6l1+FqrGNUD9pQsQwJOJojG/UwVcT2kQfTh7GKiYQEu6osvXc2CtM5vPGW2X4iXWiX6DSa8J08guBQMg+fuMtu7wLBdazeQliXHSlQboowNln3Ielj04kXXO6wbtY8Ot8sVqtuoULFiyR1i996KGH3pM26YX+ORYpF5aDtkjIWZq6uuHN+xfD2OKxUJwhlwk1mPVmmFg+EdY/+mdw9vQMCLkkWn34pdgQWXuK1nHFMnIiEAiZ78DU6pTcKJQSeLA3UJHCsSWbXwgEQvbyiSiKlfyBlcI/xhLaUdyfzWvgB+bZCDWfYtGgwER+SUmJ5qKFC5fcddddsyE9FuPQcfWDvVC8gA1/ewHKes1QW1KflTNDqi210NPZC1+8+ArMXHTLAIf3SPEEVTpP9oozltmRNFmGQMjijkwpYoSY2plP46xkQeYnyIidAPELgZCZv+1MZLTjBR//mfEIOy9+ghrvY6t0DUpvmPi3VOm+5kR+Q0kIi5Zjv5zG3IuiGBwOh+biiy5a6na7F/7Xf/3XB5Ami/GgLMV4AUf2fgtfLVsOI20jATLqRRy5jCodBXtWr4XWXU2hLDHiaExscAqxBrElGIOjFn7koqEOi0DIvw5V5AHet1j8Ts3iQ/xCIOQvT6jV84NetTdNkZL8KE2443mEF+F8EUWn+H0yrcmJ+BgrZQ4VRTIK4/qGBkxUorni8suX3f6LX5wJafIxTtinmCn6jc//HY6zNkrqGkOPZHXzhXFlx8PmfyyB+t/eK876Vm3ofCglCM+YQp0SgZAD1pt4rDtiHVsynz0+oQdv9RCtIbF2pMQvBEL6RWs6+ITnAhaPmAk/kV9Ef2LeuqwkPhG8pRjTxTOXLHTnEkNBJvu+xLq/yIfRhDu7Vzh5sL6+HsrKy6GjvV3zw6uues3j9S587LHHPpQ26YMUWowTthTjiR/dtx/2frQO6qz1cizibP9Xa6mD7774Elqb9qiOcsT4ocLscN5C44tisaEOjUDIcbGORN2yehNsvfoPcHjlBtldjJ9wp2bRUZuZTvxCIOS/8BZdpESrsVpUCrWwbGqZMMPEnJDVLlWCOFlQsnCz0HIYZg4j91RVVcnC2GQ06q695pplixYtOg1SE64tlPpZn+jFYOfw9ap3YIR1pHws+aKCPK3G1oErCCZ71mhSPpvEHzjZoAOFX/7lMSXjYPvKd6Dh+PEhh/VYGnywUSvl5CYQCHnWwSE5d3zZBL37WqD9zS/kus4Pt4Nt9iQwm80DrDZ8tqZEfo/4hUBIz0A3XeBTOotWYSXXgUgcEmkCsJLIVpr0l0xRHGswAf4alcK08dnt+GtnETWQa8slUYzoaG/XXXfttSu8Hs/8x5944hNIkcU4oYx27HXi7jUfwATzOKhbcAqccMP3wd3nGLCtpbIs0KEcOAy9R9qh+eMv4btln0gyX3p4kJpG6w+eY9WciTD8/OlQO/V4aP58O3x651NQUVQFX6zbAB7XLfJIJFKWGYV7otRhRbTibN99IOqxdzQdzBoiGd84lNg0g8imtpCq9pLtkViQO/Y+ugy6NzQNqHe73ejnppqhKlF/PeIXAvFL7rYXJRcsUUAytwkEE4FsKQ6uo/Gm0pyHSEI4GzmWHwSImfFQX2JBji0uLg7th8L4+htuWOX1+c598sknP0uFME7IUowne2jbDtB2ucFYZQRnZ29IEDMRLKJ0WK1c6iWBWlRbAbueWAl6rU4Wx8l8hHhX6hdMg8m3/SCsvmREHTi8Uoem04PZY4J9n2+G8WfOGGxKxFg6sFThe1L5Mpsb/t73VsP6H10SVnfSn/8G47+/gHqn9CPr20s2Ebb5uGpZFOvrS8Hb7QB/tzPMt5iPLZqsTpX4hUD8klyhmk6BGGluAkIp5TPPIWphy9Qy5fGT+dQ+54JBQm0yIO9jLQrjG2+88W3p+3lPP/30pmQL47h9itnJHvz8SygzBQRw65qv4O3L7oMVl9wT2m7/pq2w9PrfwHNn3gSv33A/bPnnW+AKCucJl80D29RR4PF5wef3JZ3p27d+C31tHdCL5Wg7O3FwS7/nlZZlxnI49OXWUOcWZyxhZs3xwcAwF+nEp1K5DwKpYbMSFaNHyyK45LTZGRHkL9aXyQXXCdnfXrIJ1edPhzHP/Azq7r4EtMWmMP5T6njVQiapxCImfiEQv+Qh1LK5iUJWLd2zmE6ez4Kp5FOsVJdIBr5MZLtT40PRlYIXxuhKgT7GRoNBd8vNN78tieOTIck+xlq1hxrpYtBa0vz1NrAZSgMn7scz0sgOEQw9LW3QufMg6DRasDe1wLY/vgE7V67t73Smjwe31wNelVHCYErP7mZ4+9L7YPnFd4f1NF5fwInbarBC687doYwySs7uSkXoqDINJJ/fSGVjcJSedSgbMVK2Co+59sdZd27uvj7Y8cbrhSSYs6K9pDKdaLLSnLJwSegmIfsPa/t/I5GOhfiFQPxSmOJYyeUhngG1Wok2oS6eNMvJvu54oORrrSSIlYSxwWDQS8L4reuvv35qMoVx3O4TKCrRCbp9/0Go1Y8O8LcGZCcInXbgbEiDVicXxPY/LYdJl50X+AuymsHj90l/SSiKNfLEO/E2JHpluB+eCgpy/iAsCoVFb4Wmb7eEnLn5Vw45iMnBUfpDUnkY9V62naCRe/WRLjArNVvn0XvkCCz73hh5veGam+G4s84uJL7O+vYSD6EiH7Vt+BocrR1QOWcy6M0mVcss/2ZIafY2/9qOWSvkybhBEinQNHN5015ShedWt8JfP+kIfX7ymmEwdqi5UG9HVrWXbHAXUOIZJV5KBKJ2UXO1yOS1qyUy4gWwOGlZbc4GE8ZotEB0tLfrb7v11nfcbvfc559/fjMM3pVCk5AodjkcYG9rA1PNCf2dhSbcUiw/MBTKkjDFgh3L0EtOC33n7OmTBaoPOyGNH4wVVhh7/fmwd+kH0NN0OHRMsTPyg3IUCz7ShA8CS61GedCg0+rB73BDb0cnWCyWfBqlL5TKdUC+gLKVGgshP9uLu9cO7V82QdeWb6Bj9ddyXefne8DX4wT3wXYwDCuH8rkngvtoFzj2tIB92yHQlZqhZOZ4qL9sVthrScZrR9dvhfb1O8B5qB1cB47J22ttRVmbOpXaS3Zg0ggLLDJr4bG1x+hmUHuJWySrhYJUE9FKwlh0w0jHNcQSfUJJDCvFWlb6vqmpSeZpvH5cYvxlDI5QVFQkl+rqalm/HfruO/0vb7/9X16v9+yXXnppy2CFcULJO/o6u8CgMQalJwiSlf+EYdqkf34NFDfWwZiFs0PfHdywVd6i9uzvQcX4EdA4/0wwWIqg5pQJ8vfW4IS9fR9uApfUATacMjE0ie+7z7fB5w+/AJ5jPfJEPb90vtbRNXD8zQugavwo+TjyKOJAMxjMRWHnwwK0GbUG6GvvAH9dbUyjqVyY0ZlrVp3llyyErvVrw+rOefdjefmvuTPC6odceCkcWb5kwDHEiXtKk/tOe+HVkDVY/M3vnnsSXpQKAn2fJ9y6SHF/V08PbLrl2tB2F766jKw6gyDTwQBJsnv3Qdj/hxVh9c4dh/tF84F2aP3r+2HfezslIb38C9CWWaBm7slhk+X2/2M1HH3tswHbYwkbkMc/ByFnLFr5xi/pwpTGYrmQKM6u9pKNiYKSzQcsrGy2X6daEhLRSsyvt7W1heIW88dhb/lQKJeWloKtpARcTqfhzjvuWO1wOGYuXboUrSRI3L6kiOJowBN0dHfLkSMiSeLaiWPg5Luukq3EQ6dNColcxO4PNsKRjTvBpDPAlJ9eGhaxwipErxhx5kkDzqFh6glw7PJZsP3xN+QhaeVJY+C0+28ME8CIsmF1A86PFa1GB87e3gExA2mUnj6gr/HWlmZw7t0J4//jYbA2NIB1SHVI7O5fuTwkhNnyxP/8IxhsttB3KFSNxf2il7lN7P7bXwcIbvab7osvhS133hYSuLzPs9L+okgmq07moTUboXj6caBrKIfOpZtC9eb5E0FfaYPu59eH6iwXTALj6FroevYD8HU7oeer/VB6xsQQuR54+b2QIMZoE+YzxoJ56mjwtnaC+7uj0L1qixx9IharDVkBCQRqL4RwFwlxXWnJZwtl1uNI8Y9x266uLujp6ZEFssViMdxzzz3vrl69+sTOzs4WtJNAAnM04hLFoTR8Ho/svOBXsAyHxMXwernwwOgTu9dugA0PPw9GSVSje8M3azbK/sX1p0yE4qpAkOatq9bCntWfwNl33RSq+zpYd1awbsikRvjS6wFTtQ1O+02/IN626n344qll4DzaBVN+fimMOevU0DF8XHY7rSTWPS5XPndyWW3VQb/ew+vWyYJ41rJ3pIHTtLDv0fpbXFsH73PWYd7iO+y002FZ8Luml/8equfdJjYpiGI8Lv72ljsDn21jxg0IEae0P/oeV06aFBLT1F4yi+LRDTDi1u+D3W4PiWLjzEYwz5ogv2Zjorjo/Algnhmss0kcIYlbT0unHG8YibfnQEtIEBvGDIGyH88BvaVI3l5XVgK+xgbo+3AXeIKiOI8GzznTXj7+ugvufb3/LcC8sVZ4Z1dv2DaLZlfAxadXhdV90dQD63Z0w5It3aG6S0+0wfXnVIPZpIvpuP9+7hA496TysDq70wv//KgtzI8Y942Etze1w+/ePhL6XG3Rwc/PGQIzJpQobvvsh8egtc8bOvZ5k0tlazS1l/hEWb7/vUZKA52Oexvtd5nQFedz8C4ezH+YN06yz2xbPp4zPx+EPxamhraYzdZVK1eumHHGGWdBwIWCj+QTVeKCmk9xtJuqM5mkX/NFjKLZtv8QNG/dBbaaKhhx0kS5bpckiNc9+DcwafVgkH5ar9HJk+/cPg80vPqwvE330Xb46IG/ypZohh6p7sMH/keq67+RxVUVcoi142/4t5C7xIa/LIGtz66Sj2uUjr/1sddkURy6Ls5U7PV7wGgxx3zNOfrHlZWjdBSl791yIzhbmmV3ieoTJihuZyzu72jQQsxPiLMOGQKm48bJotp59KjCvoPrQPj98bcnXfWjwA212ciqkyQiHwzYRAt+UKuzmeWIEeh3FiJlnTZUx/8um0zX+cXu/jY1f7I8QMeIE7gPErNssdBqVDugbLon+dpeRtSYZHHKhCITriiEEei2wFwXmDBu63bDL185FBK2vZKQxW1QINvMOrjm7OqIx+2x+2TRi0J2VE1R2MS5+1/5Dj454IBxlUa46ORS+PybvgFimsfiJd8pHhsF+aJOV5iY/9OK5pCIx3NranbIn3H/NXePJX4h5LyI58WvGH0D+ZYt2UQ7cXteSIui3OP1QkVl5fGLH3743+66++4lnDCO2fqZUPIOo9UKHknIRrIUoyD+6MG/QnF1OdS99DtJgErEMns6bPvnanDuaZEjVbBgFXKUCHbTsCOTPus14Uk90Kos1nn9PtnXGHFMEuFb/rJStkBjgg4U0D75ZoafH/vn8Xvl6yCrTnrRvm0bbP0/gQHQ3BdfjnkynJIYNdXUyaI41bDW9bvhFEjikay2GjNiRGHM+5tpJUJBouRFMW6LdWj5FcO34b4dH24PcFBdCZhG1Mj7oijGJZIzRqgh63Bm28vQKpNcePH54ILakJXVatLJ4hVF7/knlctWYItRK4vK6lJDmIUVt1nX1CeJ4ujH3XbIIYvfb1ocIVGM1mWsQ0vvH64bJv+WbEnmhC8P3J7V//4H9aFzqSkzhM554nCrfHzclgni528aIZ/budL6gXa3/JvUXgpqwJn11xbPRLsAP/e7RSglMlEC24ZPcqIUFpOfbIiYNXv2r6TFmxBwofAFpWVMwjjuOMVYimzFoCkySMLSEzG6PFpsPW29sPkfKwNi2mKGuff/FINESII1IIE1ktCVo0RowgWwVginplSHiTisQdeIQ5IIl4WzJIrlIv12QGxzHWGwYMIQj8YD5vKyuOKO5skoPaNxJPc++ogsZFHQMv9hQuG0l2TFJuYD3IeOzcUBVqzTDOxM/AJpoxgWg+bzO6Y6oD21l+hAayvvdjBzYv/6jgOBiZFMrPKCuKbUGNdxS82BdtTS0a/ZNn8TELiXTyuVf4PhrksbFI/JtkcXCP5c8NxQWCO27u8N2xZdPFAQM1x+WoUs8IlfCKnk1FTwlVq8ZtkQEbT0RkpmwvMw43Fxne8T2PFtNhvGYcU/OB3EmaROm+gDKK6tAbunL8z6KlqO5RmC0ok2/e1fsiUXgX7G4348T7bU+ljwNOH++gFirOPSANZUylZhrXx+wIVw9ocfQ/rf7rWDpXoI6IIdajJmw6sVQY8nswx2lJ7R7EM4ie2zR/+bGE2lSVF7Sb3lBP8+jbWBib3+HueArE9Z0xiIX8JgNYVbllCcoisDos/Z3yfsOmiXYwjPeXiXXHj/4ViOqwS02sa6LeKr7wK+6FNHDQz9ObMxUIfuFPy2jXXhE8ZRTIt+zcQv2SsWs1GcplOMRzI0KmXmE0PKMWMHE818dj++nk+0hIU/jtFoxLaEpKAP6tyYb5Q2kZuAP1oyvAF6vb0RRTHIE9owqYcWPvrt0/1pnr9/NmgrLLIvcSDN80A3jNjqICS2649vBGOVLTSZzhfhGH2eXihpqM+ZcCb5NEpH/1wMr8asxl+9+AJJYGovGSN168Th8roclWL99lAIIN4tg5B77QUn2d383IHQZDi0tKIFdrDo6Au0i+Ii3aCPZTOrJCdIwrGpvRCyjWvVBDLTlLxlmAlhdHvjBS9vQebFsCjIgwYDFMU6iC/vkj9u9wl2QtUnjIceZ5esTP3B4vOJmVoglAa6r+kw7F27MfBHX1UOJ/3iCnBLHZBHTr0sWHOZFcQfrQ5g34bN8md0zZh++1WgrygGj9cX7Nj84Op1hB0D/Yx73N1QMXZM6OYXyOvNrLACom/wjAcXy5PkEBjN4eDGjcQaBdJekm0hCYseM9CCqlzHnUv5qSeAtjRgmev6x0Y4umazHJkCC/oT2492DDCEiRmayH0i8/zSbg9EarCYAl3aW5s75eX0YUWw6lejZUvr5FGDn0NSZgkcv8fhjWt7nOgnAn2WlbZt6XQRv+TAWylC7JzPL0Xe5C28vAsFX3gRzAtn0aVCiG7BW4ljJti4J9qxH6+dOAE2uZ+VXSBsjXVw3MWzZMHJUDdxLJx6zzXSD2jg80f+LluMP3vkRaie2Ci7UIydNQ3cd/WByWoJKvv+3zjpf10m+w/zXZFS3Yz/uA52LFkNI06dHDpm/YQxcHhbk3wnaiY0grWy/7XT6fdeCx5JJL/6wG/hlCknhmW0IqsOjILAjOCUAyNHnPr7x+D9hfPkz7iMFIVCDRi9gl/GCn6Cpau9Ler2mLiDkLn2ojiclwij+d1PwdHR/2yc2w5B77BvoaulM6yuw/oVaN0+4Emm890vwDe6Aconj4HqH54Jh5/4V0BcvbgO+j7bC8WTR0L3ul1yZjseuJ/dZIKGBWeEETEhfe1lzbZu2Y+Y+fQePOoMhS8bPywwIW5fW8DNYc4JtjDf38FiWLlBnvSGk/N4lwZ01VDCtNEWefuXN3aGJgEiMDoGmzyHk+7YuSpti8BJeErh26i9RB+A57vgzMQAm7fK8hbfSNuHQvoGJ9vxcYv5uMTsTR0WNiFaNGpEcsvgQrjFLYjZTnGLYlTqxRXlUDl+HHS6OqFs0igYc96ZMO78maHtKiWROnH+bBg/fxa4Zf/hgCvFttdWh7aZIH3fKAnZ0TNPCcUStknLsWefHhZfWK3uxPlzoPrERlj580dg36atcj1+3ygd7zip8IIYt58obT96znTQ1w2B4iFVJIoDwN7jfqncmDIrzs7+CBEYfQKBcYkxSQYDZrATLcbHmppC6xjTmAeGdWORJ3CJn1V/c2d4hAqDxSIn7UBgApDWbV/Djjdeh01PPB7xnAnpaS+xiuKWlZ9B60sf959Y0xGw7zwE7Us+DavrWbtdrnMfDLxK9zZ3Qc8bX4J9f6tMnhWnngB1t8+XE3fI7WnnYWh7ecMAQcz2O/bPjbIlGV0tKJlH+tsLCkcMi4bxglFc/vHNFrn+x9PLQkJyUkNgotprn3XK26BwXv554PnvbHPJ+4YGOkErs2jNZfXd9v7608cHXDAwogTGE2aCGF01QtzEWZFnTQq0KRTt/2/54dA5/+eywEAefaHZREFc4uQ73BavD88ZsXTd0aj+0NReCOkEm5Sspp/UBLI4IU7Jt1jJEhzJOsx/5o/NfpITxbxIVivyf2gtRgZB89mIzs7OjfyMbhFyRjuHAzo6OmDzqrfhm+eXwwlTZsDoiwKWYl/Qn7dfdWtg4+Ln5TBp0inLluUJty4EvdUsb4eWYrkj6u3jLHN98omZiq2hYynVIXYseQ96dgf8im1j6uG4806Vt0F0NR8Bo80CxuL+SQ4dnW2wc/vXcOplF8OQIZI4Li6OSRjb7XZfVVXVdGl1P/IeBEJ9eFgHrYYdTQflTbK0bX8ZHI1vZhXjG4dG3cnceOGZ32584YNo2ymlXGZgluH1v1ss+xaL34lpnhkiZatTS9PMwCf/QAHOLNX8sTE+sdr+mHXvpJ/+LK4bPHLaj2bam5Z/GOv2+dJeOFKKi19iBQrSQ+9sBEdHd0igIoqGVoG7uT1kYUDrsM5SBH5HwHKIcxggGPfSMrIWKqeOkwkXt3e5XNC5cx84DhwBX58LtBYjGOorwHWwDbx9DtnQrAmGfau94LRQ6LZIIYViBfFLdH5ZrBL2DIFuEvf9oCHMenz1U/sGbIM+wSiKERh+TUlsov8xn2iD4clrhsmh03DyHp+4Qwkodv9880hF0cxvc+8ldWGRJvC8H3y1OXSODOgPfesFdcQvcXBNd3f3RvRJzWc4nU5/aWnpPdLqUY4zRF8dXfDeoJ9Y1TPPPPNQIsZAFtqyqKhITq8s8RWUlJTIPMhEq2i4UDJmhLg5qCdZPbMIi4Wf36GUFU+0kOO1SX2Cf9SoUWdIHw8E+dQRHHCxg6lNEPXH3TuxnNPYGYw8dRpsf/UNOLK9CTp2HZCTaWDsYOZGgVnv5Il2wfjCWk2gbusfl0rb+uRtQ2fCnZ8GNKH4wvx9VarD6BYGHG1I/+x7DsNX0rHxuOLzwOO7vS7Y7z0A8x66T36wYuzSArPeYHzIhyCFMSJZymQlsHBsp/37XVB+wgkDvlPbr6KxMZCWmUvNHOtv4ncMaKle+OVuOLA+YIFGMYyCuWPft6r7Y4a9Arb2pby9xMtD1WdNlYUsFiaKZcvDVM0AMuV9kFncS0bkuAzFM57YCJ7xI8OtwONGhCcJCe4T7ZVhgVuHU9ZexPBkODFNdC1Aoblk0Sj4bFdP2DZopWV1LHmHCEzWoVRfWRroLjHxx6QRFmjtdIftg/GMlYBCGhNvMMuy2jmz80Yxje4SzG9ZTB5C7YUg4HCwYAN0qYhiY1AUu4cNG5bQG3LkOtRMmNgI9RMTw2qWYd5FQqwTE3UwazHjbbYdn7hD6Vi8MBbXeVuuIIJVBTEbWcV9Y7BTwBtjtlpg1DlzoPWND6DOMhwM+J0cYo3/vYAwxn+B6GsoknVy/NCAeFYbtAYvTDhWeJ0mGL9YE3ry0m0GvcYfFMV+4GM2dzhaYfTcWVBWWYF5skOdYTr68BQcM9HR/oDReKrAp1yOBKWEGJGSZETzPY41IQj6NiuleI51f2ovmRXFjJD5JB5igo5I4F+/seNhYYJY3J+3UvD7ZcPtKIT2wrs5iCmdlVBpMwwIZSbW8VZaUchGglLK5Wj7xBNWLcX+wwXRXgoozTNOosBXF31RRDG+MrdUVFSEJcOIFYwvURgzccxHh4j1XvMpnfmlkgjmeVhtsjT/rHlrsYoQjnrR+kQaEv4g3gwUlo1nz4J9az+Czr52KDOWhwTqgL8+fuYhCmO8OXgzkvHXzR0bjxl4zxkuibtdnWC3eOC08+fJJn98oPGI4jz446LROCHj7SVZHZUYsF2MCBEL4StZFxi3qb36U9svSZ0btRcFoNWUd3NgaZ3REowil0DtpcDRExTGTBR7FHSeMXifbah/mDBNhHP5aBDRDAORuJifWMeOIbpVqFmJ1bhT6BfkXG2CMI6KhJz72KtHNJ8X22ww4cpL4LP/fhxKKqYGss7FMpRkHUtqhk9hx8Zlu/MonHDVxVBaUQ5WqzWik3geIiutfQRqL9lmCVIKH0TIbHtRc3PAVM4Eai8EsAcFMRaniihmdQ6cR5WIKOY5l4ljfrJcPMKYr1NK+cxbsvl9ecuxWqY83ljCSU+fmhQV6xKe8RLMGiJPVBv6vUlweOYZ0LJxN9Rah2ZdizncexCKp4yBEdNODgniZEyOodE4gdoLgdpLatsLujiouTkQqL2kc9CcjYYBCFiHXUFBrCSKvZzeczH9k6goFu9tLPdYyeLL14mx50UXinjPT3CfiHYAvziCSAjsNaNsLZaE8QmXLoT13z4KrUeaodqSPROSjtgPg6NMA1OvukwWxFgKZIIdjcYJ1F4I1F4I1F7yG96gEOaLCF2w3svcHjIRTlJpzocomEVtNgitpiSIo31OzKc4tLN0c3EWos1mk2eAT/3pDfDJfz4KWkcLVBZVZ7ylHHMcgQ59D0z72SIoq6gI8yXOY9cJsvYRsra9FGhadWovBGov1F6yBtnAweI5KE1sTvQ8FfSdKJBVRwT6wV4UsxZj3DpMizrlZzfApkefBL/dLwnjmowK4mOadpjy0xthyLCh8vnheeL55rEgptE4gdoLgdoLgdoLQKG4T+TltShdm+hfHAVMCPsgxsgTsqBOxoWgjwpGokDhWT1qJEz9+c3QbcHUm4cg3K0jPeWIvRk6jD0w+baboHZMo3xe6DaBVuI8FcQsC9Ap1GERqL0QqL0QqL0Q1DRbrhY+852Y4U4s8QhhHvrBjj7YyaIVlscpv7oNvn7uZTi89yCUF1WBUVeU+r9ErwuOOVrBP6wUTrn2J1BRVwsVQbcJFmg60ZFVFo/IyHpDIOsNWXyIXwjUXgiEQUKfjIOwwPcoPJlJG5X8lFt+DHvfXQv73loNFYZKqEihn3G74wi0uVph2Dlz4Lhzz5aFcFlZWUgQZ1Gg/WSOxslXi0DthUDthUDtRUGXkPsE3ZeMiGJeGKMbBTNzoxAde/45UHXiBNizbCXs+noz1FiHQ4mpPJDhbtDwQ5ezHTocbWAeMxSmLrwCKoY1yNEwUBDjEicC5unEumk0GidQeyFQeyFQeyEQkoNBRZ9Q2peFO0MhyqcCtN10HbTt+QYOvPcBNG3/CkoNlVBsKIUigyUugeyX/jk9duhxd0KH8wiUjR8P486eDxWjR8l+wxgJA63DKM7jzVqXqpFHikAERMi59kLRJ4hfCMQvBOKcbL02fSpOhllmWeY7FKc9PT3ysuK4kdDX3gGHN30Bx7Zuh+8OfA1mrUX2OTbqJBELKKq1oNPowOf3gk/65/G7weV1SsUBdm8vWIc2QOXEydA4dTIUV1XK1mAUxGgZxiWLMpENLhPjG4fSXx+B2guB2guB2gsNwEnYZjn0qXpQKEhRBLPMd7iO1tu+vj6wo0VXErPus2aB2+GAjr3fQt/hVrAfOQr2zi7wulzgddhBZzKCViqm0kooHVIFlppqKB01AkzScZgVGgUwE8JY8LeYdZgaDIFAIBAIBAINFjImihlY1jsUxrhEiy4KY6fTCQ5JDGPBpB+2sjLwer1y8fl8isdhVmc8DhPZeDy2ZGI4Wh5uAoFAIBAIBAIhqihO9iiCn3THhLHb7R5QMPEHFhTGLN81OxfcFwUvE8Viwe9TLYZJaBMIZKUgfiEQCIQCEsWpJH0mXpmfMbMO81ZiLHymEj5gsxicmQlh6lDSDukR+d3SfTfQrVCH1+ezQyAvPYFAIH4hfkkffIUw2Axen5jBrOANE5GuL1omPH0mTpYJXRTHzCrMxLDSCfP7ZPiB+olrZNjtDlezxWwaTrdCHU6n+zAu6E4QiF+IX4hf0vL3w9L6uvI0e20YgtfoZIMAwuAx6Ix2yVL0wbR82Tzy8FMHFkJ7c2vbJ6NH1FOnFQHSPdqE94ruROb4JYfuCfEL8Qvxy+CB4hCt5z0mk+lUaVkqFUy3i28ddHlwff7g9WGCFHxT0InXGrzumIUxTbSLUxQTCFHQ8s/lH6749a0/uESD8fMIA5nL7/dJ92g53iu6GwQC8QvxS1oEIxONvVI5EhSMpqDWyZe25AuKYmdQGPdJxQMxuk8QSBSn4g+voGFvWt5rbrxw3eULZr0+aljtRdQkBuLbgy2v//m55evwXtHdIBC/xPG3s/GF3pHTfkT8QvySyN8Os6IyU6E7qHN0eSaK2XW6guLYE6wjn2IgSzEhM2i+9KYH/vivv/9uWEWZ7WS6Hf041tH9Od4bvEd0NwgE4hfil7QLY1dw3Z1ngphdI7tOD1fISpwEaNVGEVQGFrLm9AMtFG1tnVvOufLff713f/NrQI7+8gj+24Mtbyy4/r5f470hK466lYIK8UskoLWY+IX4JQGxyFtRefeC3jwqfcFiD4p/N/T7FJMwHiTIUkwYjDA+am68cMNZl96576arL1h2+fdnXlhfUzWtyGSolzr5gmhbXp/P4XS6m3HSC/r44StNtOBQh0UgDFoYHx057UfEL8QviQhjCC7ZaFOTh9fJlv54BtPkPkGimJBaYYwj1j2SOG5+6vkVH0nrFVIpykMSUu23ghYJnAXeghaumopSahgEQnKEscwvkjgmfpH4hcRw3IKRQCBRTMiYON6LRRLIBXsfpM4b7wU1CAJhEH9DCgjxSwFwKTUCAoFEMYFAIBAIBELsiJahrFARyYWA3CfiEMWUNrkwGxGBkK6/I/pbIn4hEAiEbARZiglJB73+IxAIxB8EAoFEMYFAIBAIBAIh60DRJyKDUmgSCAQCgUAgEAoeJIoJBAKBQCAQCAUPRfcJmvRB94RAoL8luicEAiH/uIbcJ9QhWooplWZkUBpFAmFwfz8E4hcCgUDISmihP00gErJLqyWPCsUbpdXiPXJBeFpFAoEQGcQvxC8EAoGQE2DuE9hhYTrJHpPJdKq0xDy1ZqkYpKIr4M4c74lbKnapdOD9CdZRp0UgxA7iF+IXAoFAyAlR7OcIGvOqHwmSsyn4fSGbdvCeeCCQe74vWLxArzkJhHjEH/EL8QuBQMg8ZBe2AvEp9gslLlHMLBbsTrmD3+kKvNPyBTstLK5g5+WmTotAiEsUE78QvxAIhMwaJgrGhS14jU5IYB6LXui4mE+bmzqssMbELDpuoNebBEKiwpj4hfiFQCBkZgCezy5sojtaJwTeSPriFcZ6bgQB3AE0wQ6L4gT13x8/12GRJYdAiO/vh/iF+IVAIGR28J3PLmy+oCh2BoVxX9DYELf7hFLHxTor6rT6b6ZfWCcQCIkJY+IX4hcCgZA+jikEFzYfd53MHc0Dcb5906uQM4FAIKRK/BEIBAIh/cI4n13YRHc0VuLqc/TUVggEAoFAIBDyVhAXigvboN3R9H4/GW4IBEKSmYl4hUAgELJVGOerC9ug3dH+vwADABof0avD9wHxAAAAAElFTkSuQmCC' title='fig:'/>
<ul>
<li><p>When you knit, R Markdown feeds the .Rmd file to knitr, which executes all of the code chunks and creates a new markdown (.md) document which includes the code and its output.</p></li>
<li><p>The markdown file generated by knitr is then processed by pandoc which is responsible for creating the finished format.</p></li>
</ul>
</article></slide><slide class=''><hgroup><h2>Demo</h2></hgroup><article id="demo">
<ul>
<li>If you have not yet done so:
<ul>
<li>Load the following packages:</li>
</ul>
<pre class = 'prettyprint lang-r'>install.packages("ggplot2")
install.packages("dplyr")</pre>
<ul>
<li>Go to <a href='http://bit.ly/rladies-rmd-demo' title=''>http://bit.ly/rladies-rmd-demo</a>, download the zipped folder and unzip</li>
</ul></li>
<li>Open demo-template.Rmd in RStudio and Knit</li>
</ul>
<p><br><br></p>
<p><strong>DEMO</strong></p>
</article></slide><slide class=''><hgroup><h2>Output options</h2></hgroup><article id="output-options">
<ul>
<li><p>HTML - web ready</p></li>
<li><p>PDF - requires TeX to be installed</p></li>
<li><p>Word - can be useful if collaborators are Word users, but their changes cannot be easily integrated</p></li>
</ul>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>R code in R Markdown documents</h2></hgroup><article id="r-code-in-r-markdown-documents">
</article></slide><slide class=''><hgroup><h2>Two options:</h2></hgroup><article id="two-options">
<ul>
<li><p>Code chunks</p></li>
<li><p>Inline code</p></li>
</ul>
</article></slide><slide class=''><hgroup><h2>Code chunks</h2></hgroup><article id="code-chunks">
<ul>
<li>Inserting a new code chunk:
<ul>
<li>keyboard shortcut Ctrl + Alt + I (OS X: Cmd + Option + I)</li>
<li>the Insert command in the editor toolbar (see other languages as well)</li>
<li>typing the chunk delimiters (```{r} to start, ``` to end)</li>
</ul></li>
<li>When file is rendered R Markdown will run each code chunk and embed the results beneath the code chunk in your final report</li>
</ul>
</article></slide><slide class=''><hgroup><h2>Chunk options</h2></hgroup><article id="chunk-options">
<p>Chunk output can be customized with knitr options, arguments set in the {} of a chunk header.</p>
<p>Examples:</p>
<ul>
<li><code>include = FALSE</code>: code runs and results be used by other chunks, but doesn't appear in finished file</li>
<li><code>echo = FALSE</code>: prevents code, but not the results from appearing in the finished file (useful way to embed figures)</li>
<li><code>message = FALSE</code>: messages do not appear in the finished file</li>
<li><code>warning = FALSE</code>: warnings do not appear in the finished file</li>
<li><code>fig.cap = "..."</code> adds a caption to graphical results</li>
</ul>
<p>See <a href='https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf' title=''>R Markdown Reference Guide</a> for all options.</p>
</article></slide><slide class=''><hgroup><h2>Caching</h2></hgroup><article id="caching">
<p><code>cache = TRUE</code></p>
<p>Tricky, but can be useful!</p>
<p>References: - <a href='http://yihui.name/knitr/options/' title=''>http://yihui.name/knitr/options/</a> - <a href='http://yihui.name/knitr/demo/cache/' title=''>http://yihui.name/knitr/demo/cache/</a></p>
</article></slide><slide class=''><hgroup><h2>Inline code</h2></hgroup><article id="inline-code">
<p>Code results can be inserted directly into the text of a .Rmd file by enclosing the code with ` r`</p>
<p><br><br></p>
<p><strong>DEMO</strong></p>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>Tables</h2></hgroup><article id="tables">
</article></slide><slide class=''><hgroup><h2>Tables</h2></hgroup><article id="tables-1">
<p>Not super easy to customize, but there are some options that are easy to use and look good</p>
</article></slide><slide class=''><hgroup><h2>knitr::kable</h2></hgroup><article id="knitrkable" class="small">
<pre class = 'prettyprint lang-r'>knitr::kable(mtcars[, 1:5])</pre>
<table class = 'rmdtable'>
<tr class="header">
<th align="left"></th>
<th align="right">mpg</th>
<th align="right">cyl</th>
<th align="right">disp</th>
<th align="right">hp</th>
<th align="right">drat</th>
</tr>
<tr class="odd">
<td align="left">Mazda RX4</td>
<td align="right">21.0</td>
<td align="right">6</td>
<td align="right">160.0</td>
<td align="right">110</td>
<td align="right">3.90</td>
</tr>
<tr class="even">
<td align="left">Mazda RX4 Wag</td>
<td align="right">21.0</td>
<td align="right">6</td>
<td align="right">160.0</td>
<td align="right">110</td>
<td align="right">3.90</td>
</tr>
<tr class="odd">
<td align="left">Datsun 710</td>
<td align="right">22.8</td>
<td align="right">4</td>
<td align="right">108.0</td>
<td align="right">93</td>
<td align="right">3.85</td>
</tr>
<tr class="even">
<td align="left">Hornet 4 Drive</td>
<td align="right">21.4</td>
<td align="right">6</td>
<td align="right">258.0</td>
<td align="right">110</td>
<td align="right">3.08</td>
</tr>
<tr class="odd">
<td align="left">Hornet Sportabout</td>
<td align="right">18.7</td>
<td align="right">8</td>
<td align="right">360.0</td>
<td align="right">175</td>
<td align="right">3.15</td>
</tr>
<tr class="even">
<td align="left">Valiant</td>
<td align="right">18.1</td>
<td align="right">6</td>
<td align="right">225.0</td>
<td align="right">105</td>
<td align="right">2.76</td>
</tr>
<tr class="odd">
<td align="left">Duster 360</td>
<td align="right">14.3</td>
<td align="right">8</td>
<td align="right">360.0</td>
<td align="right">245</td>
<td align="right">3.21</td>
</tr>
<tr class="even">
<td align="left">Merc 240D</td>
<td align="right">24.4</td>
<td align="right">4</td>
<td align="right">146.7</td>
<td align="right">62</td>
<td align="right">3.69</td>
</tr>
<tr class="odd">
<td align="left">Merc 230</td>
<td align="right">22.8</td>
<td align="right">4</td>
<td align="right">140.8</td>
<td align="right">95</td>
<td align="right">3.92</td>
</tr>
<tr class="even">
<td align="left">Merc 280</td>
<td align="right">19.2</td>
<td align="right">6</td>
<td align="right">167.6</td>
<td align="right">123</td>
<td align="right">3.92</td>
</tr>
<tr class="odd">
<td align="left">Merc 280C</td>
<td align="right">17.8</td>
<td align="right">6</td>
<td align="right">167.6</td>
<td align="right">123</td>
<td align="right">3.92</td>
</tr>
<tr class="even">
<td align="left">Merc 450SE</td>
<td align="right">16.4</td>
<td align="right">8</td>
<td align="right">275.8</td>
<td align="right">180</td>
<td align="right">3.07</td>
</tr>
<tr class="odd">
<td align="left">Merc 450SL</td>
<td align="right">17.3</td>
<td align="right">8</td>
<td align="right">275.8</td>
<td align="right">180</td>
<td align="right">3.07</td>
</tr>
<tr class="even">
<td align="left">Merc 450SLC</td>
<td align="right">15.2</td>
<td align="right">8</td>
<td align="right">275.8</td>
<td align="right">180</td>
<td align="right">3.07</td>
</tr>
<tr class="odd">
<td align="left">Cadillac Fleetwood</td>
<td align="right">10.4</td>
<td align="right">8</td>
<td align="right">472.0</td>
<td align="right">205</td>
<td align="right">2.93</td>
</tr>
<tr class="even">
<td align="left">Lincoln Continental</td>
<td align="right">10.4</td>
<td align="right">8</td>
<td align="right">460.0</td>
<td align="right">215</td>
<td align="right">3.00</td>
</tr>
<tr class="odd">
<td align="left">Chrysler Imperial</td>
<td align="right">14.7</td>
<td align="right">8</td>
<td align="right">440.0</td>
<td align="right">230</td>
<td align="right">3.23</td>
</tr>
<tr class="even">
<td align="left">Fiat 128</td>
<td align="right">32.4</td>
<td align="right">4</td>
<td align="right">78.7</td>
<td align="right">66</td>
<td align="right">4.08</td>
</tr>
<tr class="odd">
<td align="left">Honda Civic</td>
<td align="right">30.4</td>
<td align="right">4</td>
<td align="right">75.7</td>
<td align="right">52</td>
<td align="right">4.93</td>
</tr>
<tr class="even">
<td align="left">Toyota Corolla</td>
<td align="right">33.9</td>
<td align="right">4</td>
<td align="right">71.1</td>
<td align="right">65</td>
<td align="right">4.22</td>
</tr>
<tr class="odd">
<td align="left">Toyota Corona</td>
<td align="right">21.5</td>
<td align="right">4</td>
<td align="right">120.1</td>
<td align="right">97</td>
<td align="right">3.70</td>
</tr>
<tr class="even">
<td align="left">Dodge Challenger</td>
<td align="right">15.5</td>
<td align="right">8</td>
<td align="right">318.0</td>
<td align="right">150</td>
<td align="right">2.76</td>
</tr>
<tr class="odd">
<td align="left">AMC Javelin</td>
<td align="right">15.2</td>
<td align="right">8</td>
<td align="right">304.0</td>
<td align="right">150</td>
<td align="right">3.15</td>
</tr>
<tr class="even">
<td align="left">Camaro Z28</td>
<td align="right">13.3</td>
<td align="right">8</td>
<td align="right">350.0</td>
<td align="right">245</td>
<td align="right">3.73</td>
</tr>
<tr class="odd">
<td align="left">Pontiac Firebird</td>
<td align="right">19.2</td>
<td align="right">8</td>
<td align="right">400.0</td>
<td align="right">175</td>
<td align="right">3.08</td>
</tr>
<tr class="even">
<td align="left">Fiat X1-9</td>
<td align="right">27.3</td>
<td align="right">4</td>
<td align="right">79.0</td>
<td align="right">66</td>
<td align="right">4.08</td>
</tr>
<tr class="odd">
<td align="left">Porsche 914-2</td>
<td align="right">26.0</td>
<td align="right">4</td>
<td align="right">120.3</td>
<td align="right">91</td>
<td align="right">4.43</td>
</tr>
<tr class="even">
<td align="left">Lotus Europa</td>
<td align="right">30.4</td>
<td align="right">4</td>
<td align="right">95.1</td>
<td align="right">113</td>
<td align="right">3.77</td>
</tr>
<tr class="odd">
<td align="left">Ford Pantera L</td>
<td align="right">15.8</td>
<td align="right">8</td>
<td align="right">351.0</td>
<td align="right">264</td>
<td align="right">4.22</td>
</tr>
<tr class="even">
<td align="left">Ferrari Dino</td>
<td align="right">19.7</td>
<td align="right">6</td>
<td align="right">145.0</td>
<td align="right">175</td>
<td align="right">3.62</td>
</tr>
<tr class="odd">
<td align="left">Maserati Bora</td>
<td align="right">15.0</td>
<td align="right">8</td>
<td align="right">301.0</td>
<td align="right">335</td>
<td align="right">3.54</td>
</tr>
<tr class="even">
<td align="left">Volvo 142E</td>
<td align="right">21.4</td>
<td align="right">4</td>
<td align="right">121.0</td>
<td align="right">109</td>
<td align="right">4.11</td>
</tr>
</table>
</article></slide><slide class=''><hgroup><h2>DT::datatable</h2></hgroup><article id="dtdatatable" class="small">
<pre class = 'prettyprint lang-r'>DT::datatable(mtcars[, 1:5], extensions = 'ColReorder',
options = list(colReorder = TRUE,
pageLength = 5))</pre>
<div id="htmlwidget-b4b11173c45b1552daf8" style="width:100%;height:auto;" class="datatables html-widget"></div>
<script type="application/json" data-for="htmlwidget-b4b11173c45b1552daf8">{"x":{"filter":"none","extensions":["ColReorder"],"data":[["Mazda RX4","Mazda RX4 Wag","Datsun 710","Hornet 4 Drive","Hornet Sportabout","Valiant","Duster 360","Merc 240D","Merc 230","Merc 280","Merc 280C","Merc 450SE","Merc 450SL","Merc 450SLC","Cadillac Fleetwood","Lincoln Continental","Chrysler Imperial","Fiat 128","Honda Civic","Toyota Corolla","Toyota Corona","Dodge Challenger","AMC Javelin","Camaro Z28","Pontiac Firebird","Fiat X1-9","Porsche 914-2","Lotus Europa","Ford Pantera L","Ferrari Dino","Maserati Bora","Volvo 142E"],[21,21,22.8,21.4,18.7,18.1,14.3,24.4,22.8,19.2,17.8,16.4,17.3,15.2,10.4,10.4,14.7,32.4,30.4,33.9,21.5,15.5,15.2,13.3,19.2,27.3,26,30.4,15.8,19.7,15,21.4],[6,6,4,6,8,6,8,4,4,6,6,8,8,8,8,8,8,4,4,4,4,8,8,8,8,4,4,4,8,6,8,4],[160,160,108,258,360,225,360,146.7,140.8,167.6,167.6,275.8,275.8,275.8,472,460,440,78.7,75.7,71.1,120.1,318,304,350,400,79,120.3,95.1,351,145,301,121],[110,110,93,110,175,105,245,62,95,123,123,180,180,180,205,215,230,66,52,65,97,150,150,245,175,66,91,113,264,175,335,109],[3.9,3.9,3.85,3.08,3.15,2.76,3.21,3.69,3.92,3.92,3.92,3.07,3.07,3.07,2.93,3,3.23,4.08,4.93,4.22,3.7,2.76,3.15,3.73,3.08,4.08,4.43,3.77,4.22,3.62,3.54,4.11]],"container":"<table class=\"display\">\n <thead>\n <tr>\n <th> \u003c/th>\n <th>mpg\u003c/th>\n <th>cyl\u003c/th>\n <th>disp\u003c/th>\n <th>hp\u003c/th>\n <th>drat\u003c/th>\n \u003c/tr>\n \u003c/thead>\n\u003c/table>","options":{"colReorder":true,"pageLength":5,"columnDefs":[{"className":"dt-right","targets":[1,2,3,4,5]},{"orderable":false,"targets":0}],"order":[],"autoWidth":false,"orderClasses":false,"lengthMenu":[5,10,25,50,100]}},"evals":[],"jsHooks":[]}</script>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>Notebooks</h2></hgroup><article id="notebooks">
</article></slide><slide class=''><hgroup><h2>Notebook</h2></hgroup><article id="notebook">
<ul>
<li><p>When you open an R Markdown file in the RStudio IDE, it becomes a notebook interface for R.</p></li>
<li><p>You can run each code chunk by clicking the green arrow icon. RStudio executes the code and display the results inline with your file.</p></li>
<li><p>Other chunk actions…</p></li>
</ul>
<p><br><br></p>
<p><strong>DEMO</strong></p>
</article></slide><slide class=''><hgroup><h2>Version control with notebooks</h2></hgroup><article id="version-control-with-notebooks">
<ul>
<li><p>One of the major advantages of R Notebooks compared to other notebook systems is that they are plain-text files and therefore work well with version control</p></li>
<li><p>If using version control, check both the .Rmd and .nb.html files into version control so that both your source code and output are available to collaborators</p></li>
<li><p>If you want each collaborator to work with their own private copies of the output check only the .Rmd file (with a .gitignore that excludes the .nb.html)</p></li>
</ul>
</article></slide><slide class=''><hgroup><h2>More on Notebooks</h2></hgroup><article id="more-on-notebooks">
<p>See <a href='http://rmarkdown.rstudio.com/r_notebooks.html' title=''>http://rmarkdown.rstudio.com/r_notebooks.html</a></p>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>Dashboards</h2></hgroup><article id="dashboards">
</article></slide><slide class=''><hgroup><h2>flexdashboards</h2></hgroup><article id="flexdashboards">
<ul>
<li><p>Dashboards based on R Markdown: easy to compose and publish</p></li>
<li><p>Intelligent resizing: to fill browser and display on mobile devices</p></li>
<li><p>Support a wide variety of components: htmlwidgets, base, lattice, and grid graphics, tabular data, gauges and value boxes, and text</p></li>
<li><p>Shiny compatible!</p></li>
</ul>
</article></slide><slide class=''><hgroup><h2>Install</h2></hgroup><article id="install">
<pre class = 'prettyprint lang-r'>install.packages("flexdashboard")
library(flexdashboard)</pre>
</article></slide><slide class=''><hgroup><h2>Get started</h2></hgroup><article id="get-started">
<p>In RStudio:</p>
<p>File -> New File -> R Markdown… -> From Template -> Flex Dashboard</p>
<p><br><br></p>
<p><strong>DEMO</strong></p>
</article></slide><slide class=''><hgroup><h2>Layouts</h2></hgroup><article id="layouts">
<p><a href='http://rmarkdown.rstudio.com/flexdashboard/layouts.html' title=''>http://rmarkdown.rstudio.com/flexdashboard/layouts.html</a></p>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>Debugging</h2></hgroup><article id="debugging">
</article></slide><slide class=''><hgroup><h2>Debugging tips for R Markdown</h2></hgroup><article id="debugging-tips-for-r-markdown">
<ul>
<li><p>Line number in error message – note that this will refer to the beginning of the R chunk, hence shorter R chunks make debugging easier</p></li>
<li><p><code>knitr::knit_exit()</code>: stop knitting HERE</p></li>
</ul>
</article></slide><slide class='segue dark nobackground level1'><hgroup class = 'auto-fadein'><h2>More with R Markdown</h2></hgroup><article id="more-with-r-markdown">
</article></slide><slide class=''><hgroup><h2>More with R Markdown</h2></hgroup><article id="more-with-r-markdown-1">
<ul>
<li>Slide presentations
<ul>
<li><code>beamer_presentation</code> - PDF presentations with beamer</li>
<li><code>ioslides_presentation</code> - HTML presentations with ioslides</li>
<li><code>slidy_presentation</code> - HTML presentations with slidy</li>
<li><code>revealjs::revealjs_presentation</code> - HTML presentations with reveal.js</li>
</ul></li>
<li><p>Websites: <code>rmarkdown::render_site</code></p></li>
<li><p>Interactive documents: with <code>htmlwidgets</code> or <code>Shiny</code></p></li>
</ul></article></slide>
<slide class="backdrop"></slide>
</slides>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
<!-- map slide visiblity events into shiny -->
<script>
(function() {
if (window.jQuery) {
window.jQuery(document).on('slideleave', function(e) {
window.jQuery(e.target).trigger('hidden');
});
window.jQuery(document).on('slideenter', function(e) {
window.jQuery(e.target).trigger('shown');
});
}
})();
</script>
</body>
</html>