-
Notifications
You must be signed in to change notification settings - Fork 0
/
reveal.example.html
800 lines (735 loc) · 530 KB
/
reveal.example.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
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="author" content="Joe Cheng <joe@rstudio.com>" />
<title>Principles of Reactivity</title>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link href="data:text/css;charset=utf-8,%0A%0Ahtml%2C%20body%2C%20%2Ereveal%20div%2C%20%2Ereveal%20span%2C%20%2Ereveal%20applet%2C%20%2Ereveal%20object%2C%20%2Ereveal%20iframe%2C%0A%2Ereveal%20h1%2C%20%2Ereveal%20h2%2C%20%2Ereveal%20h3%2C%20%2Ereveal%20h4%2C%20%2Ereveal%20h5%2C%20%2Ereveal%20h6%2C%20%2Ereveal%20p%2C%20%2Ereveal%20blockquote%2C%20%2Ereveal%20pre%2C%0A%2Ereveal%20a%2C%20%2Ereveal%20abbr%2C%20%2Ereveal%20acronym%2C%20%2Ereveal%20address%2C%20%2Ereveal%20big%2C%20%2Ereveal%20cite%2C%20%2Ereveal%20code%2C%0A%2Ereveal%20del%2C%20%2Ereveal%20dfn%2C%20%2Ereveal%20em%2C%20%2Ereveal%20img%2C%20%2Ereveal%20ins%2C%20%2Ereveal%20kbd%2C%20%2Ereveal%20q%2C%20%2Ereveal%20s%2C%20%2Ereveal%20samp%2C%0A%2Ereveal%20small%2C%20%2Ereveal%20strike%2C%20%2Ereveal%20strong%2C%20%2Ereveal%20sub%2C%20%2Ereveal%20sup%2C%20%2Ereveal%20tt%2C%20%2Ereveal%20var%2C%0A%2Ereveal%20b%2C%20%2Ereveal%20u%2C%20%2Ereveal%20center%2C%0A%2Ereveal%20dl%2C%20%2Ereveal%20dt%2C%20%2Ereveal%20dd%2C%20%2Ereveal%20ol%2C%20%2Ereveal%20ul%2C%20%2Ereveal%20li%2C%0A%2Ereveal%20fieldset%2C%20%2Ereveal%20form%2C%20%2Ereveal%20label%2C%20%2Ereveal%20legend%2C%0A%2Ereveal%20table%2C%20%2Ereveal%20caption%2C%20%2Ereveal%20tbody%2C%20%2Ereveal%20tfoot%2C%20%2Ereveal%20thead%2C%20%2Ereveal%20tr%2C%20%2Ereveal%20th%2C%20%2Ereveal%20td%2C%0A%2Ereveal%20article%2C%20%2Ereveal%20aside%2C%20%2Ereveal%20canvas%2C%20%2Ereveal%20details%2C%20%2Ereveal%20embed%2C%0A%2Ereveal%20figure%2C%20%2Ereveal%20figcaption%2C%20%2Ereveal%20footer%2C%20%2Ereveal%20header%2C%20%2Ereveal%20hgroup%2C%0A%2Ereveal%20menu%2C%20%2Ereveal%20nav%2C%20%2Ereveal%20output%2C%20%2Ereveal%20ruby%2C%20%2Ereveal%20section%2C%20%2Ereveal%20summary%2C%0A%2Ereveal%20time%2C%20%2Ereveal%20mark%2C%20%2Ereveal%20audio%2C%20video%20%7B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Aborder%3A%200%3B%0Afont%2Dsize%3A%20100%25%3B%0Afont%3A%20inherit%3B%0Avertical%2Dalign%3A%20baseline%3B%20%7D%0A%2Ereveal%20article%2C%20%2Ereveal%20aside%2C%20%2Ereveal%20details%2C%20%2Ereveal%20figcaption%2C%20%2Ereveal%20figure%2C%0A%2Ereveal%20footer%2C%20%2Ereveal%20header%2C%20%2Ereveal%20hgroup%2C%20%2Ereveal%20menu%2C%20%2Ereveal%20nav%2C%20%2Ereveal%20section%20%7B%0Adisplay%3A%20block%3B%20%7D%0A%0Ahtml%2C%0Abody%20%7B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Aoverflow%3A%20hidden%3B%20%7D%0Abody%20%7B%0Aposition%3A%20relative%3B%0Aline%2Dheight%3A%201%3B%0Abackground%2Dcolor%3A%20%23fff%3B%0Acolor%3A%20%23000%3B%20%7D%0Ahtml%3A%2Dwebkit%2Dfull%2Dscreen%2Dancestor%20%7B%0Abackground%2Dcolor%3A%20inherit%3B%20%7D%0Ahtml%3A%2Dmoz%2Dfull%2Dscreen%2Dancestor%20%7B%0Abackground%2Dcolor%3A%20inherit%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E2s%20ease%3B%0Atransition%3A%20all%200%2E2s%20ease%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Evisible%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Egrow%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Egrow%2Evisible%20%7B%0A%2Dwebkit%2Dtransform%3A%20scale%281%2E3%29%3B%0A%2Dms%2Dtransform%3A%20scale%281%2E3%29%3B%0Atransform%3A%20scale%281%2E3%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Eshrink%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Eshrink%2Evisible%20%7B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E7%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E7%29%3B%0Atransform%3A%20scale%280%2E7%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ezoom%2Din%20%7B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E1%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E1%29%3B%0Atransform%3A%20scale%280%2E1%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ezoom%2Din%2Evisible%20%7B%0A%2Dwebkit%2Dtransform%3A%20none%3B%0A%2Dms%2Dtransform%3A%20none%3B%0Atransform%3A%20none%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Efade%2Dout%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Efade%2Dout%2Evisible%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Esemi%2Dfade%2Dout%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Esemi%2Dfade%2Dout%2Evisible%20%7B%0Aopacity%3A%200%2E5%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Estrike%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Estrike%2Evisible%20%7B%0Atext%2Ddecoration%3A%20line%2Dthrough%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ecurrent%2Dvisible%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ecurrent%2Dvisible%2Ecurrent%2Dfragment%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dred%2C%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dcurrent%2Dred%2C%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dgreen%2C%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dcurrent%2Dgreen%2C%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dblue%2C%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dcurrent%2Dblue%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dred%2Evisible%20%7B%0Acolor%3A%20%23ff2c2d%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dgreen%2Evisible%20%7B%0Acolor%3A%20%2317ff2e%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dblue%2Evisible%20%7B%0Acolor%3A%20%231b91ff%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dcurrent%2Dred%2Ecurrent%2Dfragment%20%7B%0Acolor%3A%20%23ff2c2d%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dcurrent%2Dgreen%2Ecurrent%2Dfragment%20%7B%0Acolor%3A%20%2317ff2e%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%20%2Efragment%2Ehighlight%2Dcurrent%2Dblue%2Ecurrent%2Dfragment%20%7B%0Acolor%3A%20%231b91ff%3B%20%7D%0A%0A%0A%2Ereveal%3Aafter%20%7B%0Acontent%3A%20%27%27%3B%0Afont%2Dstyle%3A%20italic%3B%20%7D%0A%2Ereveal%20iframe%20%7B%0Az%2Dindex%3A%201%3B%20%7D%0A%0A%2Ereveal%20a%20%7B%0Aposition%3A%20relative%3B%20%7D%0A%2Ereveal%20%2Estretch%20%7B%0Amax%2Dwidth%3A%20none%3B%0Amax%2Dheight%3A%20none%3B%20%7D%0A%2Ereveal%20pre%2Estretch%20code%20%7B%0Aheight%3A%20100%25%3B%0Amax%2Dheight%3A%20100%25%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%20%7D%0A%0A%2Ereveal%20%2Econtrols%20%7B%0Adisplay%3A%20none%3B%0Aposition%3A%20fixed%3B%0Awidth%3A%20110px%3B%0Aheight%3A%20110px%3B%0Az%2Dindex%3A%2030%3B%0Aright%3A%2010px%3B%0Abottom%3A%2010px%3B%0A%2Dwebkit%2Duser%2Dselect%3A%20none%3B%20%7D%0A%2Ereveal%20%2Econtrols%20button%20%7B%0Apadding%3A%200%3B%0Aposition%3A%20absolute%3B%0Aopacity%3A%200%2E05%3B%0Awidth%3A%200%3B%0Aheight%3A%200%3B%0Abackground%2Dcolor%3A%20transparent%3B%0Aborder%3A%2012px%20solid%20transparent%3B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E9999%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E9999%29%3B%0Atransform%3A%20scale%280%2E9999%29%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E2s%20ease%3B%0Atransition%3A%20all%200%2E2s%20ease%3B%0A%2Dwebkit%2Dappearance%3A%20none%3B%0A%2Dwebkit%2Dtap%2Dhighlight%2Dcolor%3A%20transparent%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Eenabled%20%7B%0Aopacity%3A%200%2E7%3B%0Acursor%3A%20pointer%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Eenabled%3Aactive%20%7B%0Amargin%2Dtop%3A%201px%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dleft%20%7B%0Atop%3A%2042px%3B%0Aborder%2Dright%2Dwidth%3A%2022px%3B%0Aborder%2Dright%2Dcolor%3A%20%23000%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dleft%2Efragmented%20%7B%0Aopacity%3A%200%2E3%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dright%20%7B%0Aleft%3A%2074px%3B%0Atop%3A%2042px%3B%0Aborder%2Dleft%2Dwidth%3A%2022px%3B%0Aborder%2Dleft%2Dcolor%3A%20%23000%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dright%2Efragmented%20%7B%0Aopacity%3A%200%2E3%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dup%20%7B%0Aleft%3A%2042px%3B%0Aborder%2Dbottom%2Dwidth%3A%2022px%3B%0Aborder%2Dbottom%2Dcolor%3A%20%23000%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dup%2Efragmented%20%7B%0Aopacity%3A%200%2E3%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Ddown%20%7B%0Aleft%3A%2042px%3B%0Atop%3A%2074px%3B%0Aborder%2Dtop%2Dwidth%3A%2022px%3B%0Aborder%2Dtop%2Dcolor%3A%20%23000%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Ddown%2Efragmented%20%7B%0Aopacity%3A%200%2E3%3B%20%7D%0A%0A%2Ereveal%20%2Eprogress%20%7B%0Aposition%3A%20fixed%3B%0Adisplay%3A%20none%3B%0Aheight%3A%203px%3B%0Awidth%3A%20100%25%3B%0Abottom%3A%200%3B%0Aleft%3A%200%3B%0Az%2Dindex%3A%2010%3B%0Abackground%2Dcolor%3A%20rgba%280%2C%200%2C%200%2C%200%2E2%29%3B%20%7D%0A%2Ereveal%20%2Eprogress%3Aafter%20%7B%0Acontent%3A%20%27%27%3B%0Adisplay%3A%20block%3B%0Aposition%3A%20absolute%3B%0Aheight%3A%2020px%3B%0Awidth%3A%20100%25%3B%0Atop%3A%20%2D20px%3B%20%7D%0A%2Ereveal%20%2Eprogress%20span%20%7B%0Adisplay%3A%20block%3B%0Aheight%3A%20100%25%3B%0Awidth%3A%200px%3B%0Abackground%2Dcolor%3A%20%23000%3B%0A%2Dwebkit%2Dtransition%3A%20width%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%0Atransition%3A%20width%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%20%7D%0A%0A%2Ereveal%20%2Eslide%2Dnumber%20%7B%0Aposition%3A%20fixed%3B%0Adisplay%3A%20block%3B%0Aright%3A%208px%3B%0Abottom%3A%208px%3B%0Az%2Dindex%3A%2031%3B%0Afont%2Dfamily%3A%20Helvetica%2C%20sans%2Dserif%3B%0Afont%2Dsize%3A%2012px%3B%0Aline%2Dheight%3A%201%3B%0Acolor%3A%20%23fff%3B%0Abackground%2Dcolor%3A%20rgba%280%2C%200%2C%200%2C%200%2E4%29%3B%0Apadding%3A%205px%3B%20%7D%0A%2Ereveal%20%2Eslide%2Dnumber%2Ddelimiter%20%7B%0Amargin%3A%200%203px%3B%20%7D%0A%0A%2Ereveal%20%7B%0Aposition%3A%20relative%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Aoverflow%3A%20hidden%3B%0A%2Dms%2Dtouch%2Daction%3A%20none%3B%0Atouch%2Daction%3A%20none%3B%20%7D%0A%2Ereveal%20%2Eslides%20%7B%0Aposition%3A%20absolute%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Atop%3A%200%3B%0Aright%3A%200%3B%0Abottom%3A%200%3B%0Aleft%3A%200%3B%0Amargin%3A%20auto%3B%0Aoverflow%3A%20visible%3B%0Az%2Dindex%3A%201%3B%0Atext%2Dalign%3A%20center%3B%0A%2Dwebkit%2Dperspective%3A%20600px%3B%0Aperspective%3A%20600px%3B%0A%2Dwebkit%2Dperspective%2Dorigin%3A%2050%25%2040%25%3B%0Aperspective%2Dorigin%3A%2050%25%2040%25%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%7B%0A%2Dms%2Dperspective%3A%20600px%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%20%7B%0Adisplay%3A%20none%3B%0Aposition%3A%20absolute%3B%0Awidth%3A%20100%25%3B%0Apadding%3A%2020px%200px%3B%0Az%2Dindex%3A%2010%3B%0A%2Dwebkit%2Dtransform%2Dstyle%3A%20preserve%2D3d%3B%0Atransform%2Dstyle%3A%20preserve%2D3d%3B%0A%2Dwebkit%2Dtransition%3A%20%2Dwebkit%2Dtransform%2Dorigin%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20%2Dwebkit%2Dtransform%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20visibility%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20opacity%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%0Atransition%3A%20%2Dms%2Dtransform%2Dorigin%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20transform%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20visibility%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20opacity%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%0Atransition%3A%20transform%2Dorigin%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20transform%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20visibility%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%2C%20opacity%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%20%7D%0A%0A%2Ereveal%5Bdata%2Dtransition%2Dspeed%3D%22fast%22%5D%20%2Eslides%20section%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%20400ms%3B%0Atransition%2Dduration%3A%20400ms%3B%20%7D%0A%2Ereveal%5Bdata%2Dtransition%2Dspeed%3D%22slow%22%5D%20%2Eslides%20section%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%201200ms%3B%0Atransition%2Dduration%3A%201200ms%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20section%5Bdata%2Dtransition%2Dspeed%3D%22fast%22%5D%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%20400ms%3B%0Atransition%2Dduration%3A%20400ms%3B%20%7D%0A%2Ereveal%20%2Eslides%20section%5Bdata%2Dtransition%2Dspeed%3D%22slow%22%5D%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%201200ms%3B%0Atransition%2Dduration%3A%201200ms%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%2Estack%20%7B%0Apadding%2Dtop%3A%200%3B%0Apadding%2Dbottom%3A%200%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%2Epresent%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%2Epresent%20%7B%0Adisplay%3A%20block%3B%0Az%2Dindex%3A%2011%3B%0Aopacity%3A%201%3B%20%7D%0A%2Ereveal%2Ecenter%2C%0A%2Ereveal%2Ecenter%20%2Eslides%2C%0A%2Ereveal%2Ecenter%20%2Eslides%20section%20%7B%0Amin%2Dheight%3A%200%20%21important%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20%3E%20section%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%2Epast%20%7B%0Apointer%2Devents%3A%20none%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eslides%20%3E%20section%2C%0A%2Ereveal%2Eoverview%20%2Eslides%20%3E%20section%20%3E%20section%20%7B%0Apointer%2Devents%3A%20auto%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%2Efuture%20%7B%0Aopacity%3A%200%3B%20%7D%0A%0A%0A%2Ereveal%2Eslide%20section%20%7B%0A%2Dwebkit%2Dbackface%2Dvisibility%3A%20hidden%3B%0Abackface%2Dvisibility%3A%20hidden%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dslide%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dslide%2Dout%5D%2Epast%2C%0A%2Ereveal%2Eslide%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%28%2D150%25%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate%28%2D150%25%2C%200%29%3B%0Atransform%3A%20translate%28%2D150%25%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dslide%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dslide%2Din%5D%2Efuture%2C%0A%2Ereveal%2Eslide%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%28150%25%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate%28150%25%2C%200%29%3B%0Atransform%3A%20translate%28150%25%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dslide%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dslide%2Dout%5D%2Epast%2C%0A%2Ereveal%2Eslide%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20%2D150%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20%2D150%25%29%3B%0Atransform%3A%20translate%280%2C%20%2D150%25%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dslide%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dslide%2Din%5D%2Efuture%2C%0A%2Ereveal%2Eslide%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20150%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20150%25%29%3B%0Atransform%3A%20translate%280%2C%20150%25%29%3B%20%7D%0A%2Ereveal%2Elinear%20section%20%7B%0A%2Dwebkit%2Dbackface%2Dvisibility%3A%20hidden%3B%0Abackface%2Dvisibility%3A%20hidden%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dlinear%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dlinear%2Dout%5D%2Epast%2C%0A%2Ereveal%2Elinear%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%28%2D150%25%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate%28%2D150%25%2C%200%29%3B%0Atransform%3A%20translate%28%2D150%25%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dlinear%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dlinear%2Din%5D%2Efuture%2C%0A%2Ereveal%2Elinear%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%28150%25%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate%28150%25%2C%200%29%3B%0Atransform%3A%20translate%28150%25%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dlinear%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dlinear%2Dout%5D%2Epast%2C%0A%2Ereveal%2Elinear%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20%2D150%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20%2D150%25%29%3B%0Atransform%3A%20translate%280%2C%20%2D150%25%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dlinear%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dlinear%2Din%5D%2Efuture%2C%0A%2Ereveal%2Elinear%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20150%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20150%25%29%3B%0Atransform%3A%20translate%280%2C%20150%25%29%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Ddefault%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Ddefault%2Dout%5D%2Epast%2C%0A%2Ereveal%2Edefault%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Ddefault%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Ddefault%2Din%5D%2Efuture%2C%0A%2Ereveal%2Edefault%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Ddefault%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Ddefault%2Dout%5D%2Epast%2C%0A%2Ereveal%2Edefault%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20%2D300px%2C%200%29%20rotateX%2870deg%29%20translate3d%280%2C%20%2D300px%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20%2D300px%2C%200%29%20rotateX%2870deg%29%20translate3d%280%2C%20%2D300px%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Ddefault%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Ddefault%2Din%5D%2Efuture%2C%0A%2Ereveal%2Edefault%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20300px%2C%200%29%20rotateX%28%2D70deg%29%20translate3d%280%2C%20300px%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20300px%2C%200%29%20rotateX%28%2D70deg%29%20translate3d%280%2C%20300px%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dconvex%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dconvex%2Dout%5D%2Epast%2C%0A%2Ereveal%2Econvex%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dconvex%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dconvex%2Din%5D%2Efuture%2C%0A%2Ereveal%2Econvex%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dconvex%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dconvex%2Dout%5D%2Epast%2C%0A%2Ereveal%2Econvex%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20%2D300px%2C%200%29%20rotateX%2870deg%29%20translate3d%280%2C%20%2D300px%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20%2D300px%2C%200%29%20rotateX%2870deg%29%20translate3d%280%2C%20%2D300px%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dconvex%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dconvex%2Din%5D%2Efuture%2C%0A%2Ereveal%2Econvex%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20300px%2C%200%29%20rotateX%28%2D70deg%29%20translate3d%280%2C%20300px%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20300px%2C%200%29%20rotateX%28%2D70deg%29%20translate3d%280%2C%20300px%2C%200%29%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dconcave%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dconcave%2Dout%5D%2Epast%2C%0A%2Ereveal%2Econcave%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dconcave%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dconcave%2Din%5D%2Efuture%2C%0A%2Ereveal%2Econcave%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dconcave%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dconcave%2Dout%5D%2Epast%2C%0A%2Ereveal%2Econcave%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20%2D80%25%2C%200%29%20rotateX%28%2D70deg%29%20translate3d%280%2C%20%2D80%25%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20%2D80%25%2C%200%29%20rotateX%28%2D70deg%29%20translate3d%280%2C%20%2D80%25%2C%200%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dconcave%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dconcave%2Din%5D%2Efuture%2C%0A%2Ereveal%2Econcave%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%2080%25%2C%200%29%20rotateX%2870deg%29%20translate3d%280%2C%2080%25%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%2080%25%2C%200%29%20rotateX%2870deg%29%20translate3d%280%2C%2080%25%2C%200%29%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20section%5Bdata%2Dtransition%3Dzoom%5D%2C%0A%2Ereveal%2Ezoom%20%2Eslides%20section%3Anot%28%5Bdata%2Dtransition%5D%29%20%7B%0A%2Dwebkit%2Dtransition%2Dtiming%2Dfunction%3A%20ease%3B%0Atransition%2Dtiming%2Dfunction%3A%20ease%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dzoom%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dzoom%2Dout%5D%2Epast%2C%0A%2Ereveal%2Ezoom%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%3A%20scale%2816%29%3B%0A%2Dms%2Dtransform%3A%20scale%2816%29%3B%0Atransform%3A%20scale%2816%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%3Dzoom%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%5Bdata%2Dtransition%7E%3Dzoom%2Din%5D%2Efuture%2C%0A%2Ereveal%2Ezoom%20%2Eslides%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E2%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E2%29%3B%0Atransform%3A%20scale%280%2E2%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dzoom%5D%2Epast%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dzoom%2Dout%5D%2Epast%2C%0A%2Ereveal%2Ezoom%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Epast%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20%2D150%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20%2D150%25%29%3B%0Atransform%3A%20translate%280%2C%20%2D150%25%29%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%3Dzoom%5D%2Efuture%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%5Bdata%2Dtransition%7E%3Dzoom%2Din%5D%2Efuture%2C%0A%2Ereveal%2Ezoom%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20150%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20150%25%29%3B%0Atransform%3A%20translate%280%2C%20150%25%29%3B%20%7D%0A%0A%2Ereveal%2Ecube%20%2Eslides%20%7B%0A%2Dwebkit%2Dperspective%3A%201300px%3B%0Aperspective%3A%201300px%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20section%20%7B%0Apadding%3A%2030px%3B%0Amin%2Dheight%3A%20700px%3B%0A%2Dwebkit%2Dbackface%2Dvisibility%3A%20hidden%3B%0Abackface%2Dvisibility%3A%20hidden%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%20%7D%0A%2Ereveal%2Ecenter%2Ecube%20%2Eslides%20section%20%7B%0Amin%2Dheight%3A%200%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20section%3Anot%28%2Estack%29%3Abefore%20%7B%0Acontent%3A%20%27%27%3B%0Aposition%3A%20absolute%3B%0Adisplay%3A%20block%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Aleft%3A%200%3B%0Atop%3A%200%3B%0Abackground%3A%20rgba%280%2C%200%2C%200%2C%200%2E1%29%3B%0Aborder%2Dradius%3A%204px%3B%0A%2Dwebkit%2Dtransform%3A%20translateZ%28%2D20px%29%3B%0Atransform%3A%20translateZ%28%2D20px%29%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20section%3Anot%28%2Estack%29%3Aafter%20%7B%0Acontent%3A%20%27%27%3B%0Aposition%3A%20absolute%3B%0Adisplay%3A%20block%3B%0Awidth%3A%2090%25%3B%0Aheight%3A%2030px%3B%0Aleft%3A%205%25%3B%0Abottom%3A%200%3B%0Abackground%3A%20none%3B%0Az%2Dindex%3A%201%3B%0Aborder%2Dradius%3A%204px%3B%0Abox%2Dshadow%3A%200px%2095px%2025px%20rgba%280%2C%200%2C%200%2C%200%2E2%29%3B%0A%2Dwebkit%2Dtransform%3A%20translateZ%28%2D90px%29%20rotateX%2865deg%29%3B%0Atransform%3A%20translateZ%28%2D90px%29%20rotateX%2865deg%29%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20%3E%20section%2Estack%20%7B%0Apadding%3A%200%3B%0Abackground%3A%20none%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20%3E%20section%2Epast%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%20100%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%20100%25%200%25%3B%0Atransform%2Dorigin%3A%20100%25%200%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%3B%0Atransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20%3E%20section%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0Atransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%3B%0Atransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20%3E%20section%20%3E%20section%2Epast%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%200%25%20100%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%200%25%20100%25%3B%0Atransform%2Dorigin%3A%200%25%20100%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20%2D100%25%2C%200%29%20rotateX%2890deg%29%3B%0Atransform%3A%20translate3d%280%2C%20%2D100%25%2C%200%29%20rotateX%2890deg%29%3B%20%7D%0A%2Ereveal%2Ecube%20%2Eslides%20%3E%20section%20%3E%20section%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0Atransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20100%25%2C%200%29%20rotateX%28%2D90deg%29%3B%0Atransform%3A%20translate3d%280%2C%20100%25%2C%200%29%20rotateX%28%2D90deg%29%3B%20%7D%0A%0A%2Ereveal%2Epage%20%2Eslides%20%7B%0A%2Dwebkit%2Dperspective%2Dorigin%3A%200%25%2050%25%3B%0Aperspective%2Dorigin%3A%200%25%2050%25%3B%0A%2Dwebkit%2Dperspective%3A%203000px%3B%0Aperspective%3A%203000px%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20section%20%7B%0Apadding%3A%2030px%3B%0Amin%2Dheight%3A%20700px%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20section%2Epast%20%7B%0Az%2Dindex%3A%2012%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20section%3Anot%28%2Estack%29%3Abefore%20%7B%0Acontent%3A%20%27%27%3B%0Aposition%3A%20absolute%3B%0Adisplay%3A%20block%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Aleft%3A%200%3B%0Atop%3A%200%3B%0Abackground%3A%20rgba%280%2C%200%2C%200%2C%200%2E1%29%3B%0A%2Dwebkit%2Dtransform%3A%20translateZ%28%2D20px%29%3B%0Atransform%3A%20translateZ%28%2D20px%29%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20section%3Anot%28%2Estack%29%3Aafter%20%7B%0Acontent%3A%20%27%27%3B%0Aposition%3A%20absolute%3B%0Adisplay%3A%20block%3B%0Awidth%3A%2090%25%3B%0Aheight%3A%2030px%3B%0Aleft%3A%205%25%3B%0Abottom%3A%200%3B%0Abackground%3A%20none%3B%0Az%2Dindex%3A%201%3B%0Aborder%2Dradius%3A%204px%3B%0Abox%2Dshadow%3A%200px%2095px%2025px%20rgba%280%2C%200%2C%200%2C%200%2E2%29%3B%0A%2Dwebkit%2Dtransform%3A%20translateZ%28%2D90px%29%20rotateX%2865deg%29%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20%3E%20section%2Estack%20%7B%0Apadding%3A%200%3B%0Abackground%3A%20none%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20%3E%20section%2Epast%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0Atransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D40%25%2C%200%2C%200%29%20rotateY%28%2D80deg%29%3B%0Atransform%3A%20translate3d%28%2D40%25%2C%200%2C%200%29%20rotateY%28%2D80deg%29%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20%3E%20section%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%20100%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%20100%25%200%25%3B%0Atransform%2Dorigin%3A%20100%25%200%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20%3E%20section%20%3E%20section%2Epast%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%200%25%200%25%3B%0Atransform%2Dorigin%3A%200%25%200%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20%2D40%25%2C%200%29%20rotateX%2880deg%29%3B%0Atransform%3A%20translate3d%280%2C%20%2D40%25%2C%200%29%20rotateX%2880deg%29%3B%20%7D%0A%2Ereveal%2Epage%20%2Eslides%20%3E%20section%20%3E%20section%2Efuture%20%7B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%200%25%20100%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%200%25%20100%25%3B%0Atransform%2Dorigin%3A%200%25%20100%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%200%2C%200%29%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20section%5Bdata%2Dtransition%3Dfade%5D%2C%0A%2Ereveal%2Efade%20%2Eslides%20section%3Anot%28%5Bdata%2Dtransition%5D%29%2C%0A%2Ereveal%2Efade%20%2Eslides%20%3E%20section%20%3E%20section%3Anot%28%5Bdata%2Dtransition%5D%29%20%7B%0A%2Dwebkit%2Dtransform%3A%20none%3B%0A%2Dms%2Dtransform%3A%20none%3B%0Atransform%3A%20none%3B%0A%2Dwebkit%2Dtransition%3A%20opacity%200%2E5s%3B%0Atransition%3A%20opacity%200%2E5s%3B%20%7D%0A%2Ereveal%2Efade%2Eoverview%20%2Eslides%20section%2C%0A%2Ereveal%2Efade%2Eoverview%20%2Eslides%20%3E%20section%20%3E%20section%20%7B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%20%7D%0A%0A%2Ereveal%20%2Eslides%20section%5Bdata%2Dtransition%3Dnone%5D%2C%0A%2Ereveal%2Enone%20%2Eslides%20section%3Anot%28%5Bdata%2Dtransition%5D%29%20%7B%0A%2Dwebkit%2Dtransform%3A%20none%3B%0A%2Dms%2Dtransform%3A%20none%3B%0Atransform%3A%20none%3B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%20%7D%0A%0A%2Ereveal%20%2Epause%2Doverlay%20%7B%0Aposition%3A%20absolute%3B%0Atop%3A%200%3B%0Aleft%3A%200%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Abackground%3A%20black%3B%0Avisibility%3A%20hidden%3B%0Aopacity%3A%200%3B%0Az%2Dindex%3A%20100%3B%0A%2Dwebkit%2Dtransition%3A%20all%201s%20ease%3B%0Atransition%3A%20all%201s%20ease%3B%20%7D%0A%2Ereveal%2Epaused%20%2Epause%2Doverlay%20%7B%0Avisibility%3A%20visible%3B%0Aopacity%3A%201%3B%20%7D%0A%0A%2Eno%2Dtransforms%20%7B%0Aoverflow%2Dy%3A%20auto%3B%20%7D%0A%2Eno%2Dtransforms%20%2Ereveal%20%2Eslides%20%7B%0Aposition%3A%20relative%3B%0Awidth%3A%2080%25%3B%0Aheight%3A%20auto%20%21important%3B%0Atop%3A%200%3B%0Aleft%3A%2050%25%3B%0Amargin%3A%200%3B%0Atext%2Dalign%3A%20center%3B%20%7D%0A%2Eno%2Dtransforms%20%2Ereveal%20%2Econtrols%2C%0A%2Eno%2Dtransforms%20%2Ereveal%20%2Eprogress%20%7B%0Adisplay%3A%20none%20%21important%3B%20%7D%0A%2Eno%2Dtransforms%20%2Ereveal%20%2Eslides%20section%20%7B%0Adisplay%3A%20block%20%21important%3B%0Aopacity%3A%201%20%21important%3B%0Aposition%3A%20relative%20%21important%3B%0Aheight%3A%20auto%3B%0Amin%2Dheight%3A%200%3B%0Atop%3A%200%3B%0Aleft%3A%20%2D50%25%3B%0Amargin%3A%2070px%200%3B%0A%2Dwebkit%2Dtransform%3A%20none%3B%0A%2Dms%2Dtransform%3A%20none%3B%0Atransform%3A%20none%3B%20%7D%0A%2Eno%2Dtransforms%20%2Ereveal%20%2Eslides%20section%20section%20%7B%0Aleft%3A%200%3B%20%7D%0A%2Ereveal%20%2Eno%2Dtransition%2C%0A%2Ereveal%20%2Eno%2Dtransition%20%2A%20%7B%0A%2Dwebkit%2Dtransition%3A%20none%20%21important%3B%0Atransition%3A%20none%20%21important%3B%20%7D%0A%0A%2Ereveal%20%2Ebackgrounds%20%7B%0Aposition%3A%20absolute%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Atop%3A%200%3B%0Aleft%3A%200%3B%0A%2Dwebkit%2Dperspective%3A%20600px%3B%0Aperspective%3A%20600px%3B%20%7D%0A%2Ereveal%20%2Eslide%2Dbackground%20%7B%0Adisplay%3A%20none%3B%0Aposition%3A%20absolute%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0Abackground%2Dcolor%3A%20transparent%3B%0Abackground%2Dposition%3A%2050%25%2050%25%3B%0Abackground%2Drepeat%3A%20no%2Drepeat%3B%0Abackground%2Dsize%3A%20cover%3B%0A%2Dwebkit%2Dtransition%3A%20all%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%0Atransition%3A%20all%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%20%7D%0A%2Ereveal%20%2Eslide%2Dbackground%2Estack%20%7B%0Adisplay%3A%20block%3B%20%7D%0A%2Ereveal%20%2Eslide%2Dbackground%2Epresent%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Eprint%2Dpdf%20%2Ereveal%20%2Eslide%2Dbackground%20%7B%0Aopacity%3A%201%20%21important%3B%0Avisibility%3A%20visible%20%21important%3B%20%7D%0A%0A%2Ereveal%20%2Eslide%2Dbackground%20video%20%7B%0Aposition%3A%20absolute%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Amax%2Dwidth%3A%20none%3B%0Amax%2Dheight%3A%20none%3B%0Atop%3A%200%3B%0Aleft%3A%200%3B%20%7D%0A%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dnone%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%5Bdata%2Dbackground%2Dtransition%3Dnone%5D%20%7B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%20%7D%0A%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%7B%0Aopacity%3A%201%3B%0A%2Dwebkit%2Dbackface%2Dvisibility%3A%20hidden%3B%0Abackface%2Dvisibility%3A%20hidden%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%28%2D100%25%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate%28%2D100%25%2C%200%29%3B%0Atransform%3A%20translate%28%2D100%25%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%28100%25%2C%200%29%3B%0A%2Dms%2Dtransform%3A%20translate%28100%25%2C%200%29%3B%0Atransform%3A%20translate%28100%25%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20%2D100%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20%2D100%25%29%3B%0Atransform%3A%20translate%280%2C%20%2D100%25%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dslide%5D%20%7B%0A%2Dwebkit%2Dtransform%3A%20translate%280%2C%20100%25%29%3B%0A%2Dms%2Dtransform%3A%20translate%280%2C%20100%25%29%3B%0Atransform%3A%20translate%280%2C%20100%25%29%3B%20%7D%0A%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20%2D100%25%2C%200%29%20rotateX%2890deg%29%20translate3d%280%2C%20%2D100%25%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20%2D100%25%2C%200%29%20rotateX%2890deg%29%20translate3d%280%2C%20%2D100%25%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dconvex%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20100%25%2C%200%29%20rotateX%28%2D90deg%29%20translate3d%280%2C%20100%25%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20100%25%2C%200%29%20rotateX%28%2D90deg%29%20translate3d%280%2C%20100%25%2C%200%29%3B%20%7D%0A%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28%2D100%25%2C%200%2C%200%29%20rotateY%2890deg%29%20translate3d%28%2D100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%0Atransform%3A%20translate3d%28100%25%2C%200%2C%200%29%20rotateY%28%2D90deg%29%20translate3d%28100%25%2C%200%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20%2D100%25%2C%200%29%20rotateX%28%2D90deg%29%20translate3d%280%2C%20%2D100%25%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20%2D100%25%2C%200%29%20rotateX%28%2D90deg%29%20translate3d%280%2C%20%2D100%25%2C%200%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dconcave%5D%20%7B%0Aopacity%3A%200%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280%2C%20100%25%2C%200%29%20rotateX%2890deg%29%20translate3d%280%2C%20100%25%2C%200%29%3B%0Atransform%3A%20translate3d%280%2C%20100%25%2C%200%29%20rotateX%2890deg%29%20translate3d%280%2C%20100%25%2C%200%29%3B%20%7D%0A%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%7B%0A%2Dwebkit%2Dtransition%2Dtiming%2Dfunction%3A%20ease%3B%0Atransition%2Dtiming%2Dfunction%3A%20ease%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%3A%20scale%2816%29%3B%0A%2Dms%2Dtransform%3A%20scale%2816%29%3B%0Atransform%3A%20scale%2816%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E2%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E2%29%3B%0Atransform%3A%20scale%280%2E2%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Epast%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%3A%20scale%2816%29%3B%0A%2Dms%2Dtransform%3A%20scale%2816%29%3B%0Atransform%3A%20scale%2816%29%3B%20%7D%0A%2Ereveal%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%2C%0A%2Ereveal%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%3E%20%2Eslide%2Dbackground%2Efuture%5Bdata%2Dbackground%2Dtransition%3Dzoom%5D%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E2%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E2%29%3B%0Atransform%3A%20scale%280%2E2%29%3B%20%7D%0A%0A%2Ereveal%5Bdata%2Dtransition%2Dspeed%3D%22fast%22%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%20400ms%3B%0Atransition%2Dduration%3A%20400ms%3B%20%7D%0A%2Ereveal%5Bdata%2Dtransition%2Dspeed%3D%22slow%22%5D%20%3E%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%201200ms%3B%0Atransition%2Dduration%3A%201200ms%3B%20%7D%0A%0A%2Ereveal%2Eoverview%20%7B%0A%2Dwebkit%2Dperspective%2Dorigin%3A%2050%25%2050%25%3B%0Aperspective%2Dorigin%3A%2050%25%2050%25%3B%0A%2Dwebkit%2Dperspective%3A%20700px%3B%0Aperspective%3A%20700px%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eslides%20section%20%7B%0Aheight%3A%20700px%3B%0Aopacity%3A%201%20%21important%3B%0Aoverflow%3A%20hidden%3B%0Avisibility%3A%20visible%20%21important%3B%0Acursor%3A%20pointer%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eslides%20section%3Ahover%2C%0A%2Ereveal%2Eoverview%20%2Eslides%20section%2Epresent%20%7B%0Aoutline%3A%2010px%20solid%20rgba%28150%2C%20150%2C%20150%2C%200%2E4%29%3B%0Aoutline%2Doffset%3A%2010px%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eslides%20section%20%2Efragment%20%7B%0Aopacity%3A%201%3B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eslides%20section%3Aafter%2C%0A%2Ereveal%2Eoverview%20%2Eslides%20section%3Abefore%20%7B%0Adisplay%3A%20none%20%21important%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eslides%20%3E%20section%2Estack%20%7B%0Apadding%3A%200%3B%0Atop%3A%200%20%21important%3B%0Abackground%3A%20none%3B%0Aoutline%3A%20none%3B%0Aoverflow%3A%20visible%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Ebackgrounds%20%7B%0A%2Dwebkit%2Dperspective%3A%20inherit%3B%0Aperspective%3A%20inherit%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%0Aoutline%3A%2010px%20solid%20rgba%28150%2C%20150%2C%20150%2C%200%2E1%29%3B%0Aoutline%2Doffset%3A%2010px%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eslides%20section%2C%0A%2Ereveal%2Eoverview%2Ddeactivating%20%2Eslides%20section%20%7B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Ebackgrounds%20%2Eslide%2Dbackground%2C%0A%2Ereveal%2Eoverview%2Ddeactivating%20%2Ebackgrounds%20%2Eslide%2Dbackground%20%7B%0A%2Dwebkit%2Dtransition%3A%20none%3B%0Atransition%3A%20none%3B%20%7D%0A%2Ereveal%2Eoverview%2Danimated%20%2Eslides%20%7B%0A%2Dwebkit%2Dtransition%3A%20%2Dwebkit%2Dtransform%200%2E4s%20ease%3B%0Atransition%3A%20transform%200%2E4s%20ease%3B%20%7D%0A%0A%2Ereveal%2Ertl%20%2Eslides%2C%0A%2Ereveal%2Ertl%20%2Eslides%20h1%2C%0A%2Ereveal%2Ertl%20%2Eslides%20h2%2C%0A%2Ereveal%2Ertl%20%2Eslides%20h3%2C%0A%2Ereveal%2Ertl%20%2Eslides%20h4%2C%0A%2Ereveal%2Ertl%20%2Eslides%20h5%2C%0A%2Ereveal%2Ertl%20%2Eslides%20h6%20%7B%0Adirection%3A%20rtl%3B%0Afont%2Dfamily%3A%20sans%2Dserif%3B%20%7D%0A%2Ereveal%2Ertl%20pre%2C%0A%2Ereveal%2Ertl%20code%20%7B%0Adirection%3A%20ltr%3B%20%7D%0A%2Ereveal%2Ertl%20ol%2C%0A%2Ereveal%2Ertl%20ul%20%7B%0Atext%2Dalign%3A%20right%3B%20%7D%0A%2Ereveal%2Ertl%20%2Eprogress%20span%20%7B%0Afloat%3A%20right%3B%20%7D%0A%0A%2Ereveal%2Ehas%2Dparallax%2Dbackground%20%2Ebackgrounds%20%7B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E8s%20ease%3B%0Atransition%3A%20all%200%2E8s%20ease%3B%20%7D%0A%0A%2Ereveal%2Ehas%2Dparallax%2Dbackground%5Bdata%2Dtransition%2Dspeed%3D%22fast%22%5D%20%2Ebackgrounds%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%20400ms%3B%0Atransition%2Dduration%3A%20400ms%3B%20%7D%0A%2Ereveal%2Ehas%2Dparallax%2Dbackground%5Bdata%2Dtransition%2Dspeed%3D%22slow%22%5D%20%2Ebackgrounds%20%7B%0A%2Dwebkit%2Dtransition%2Dduration%3A%201200ms%3B%0Atransition%2Dduration%3A%201200ms%3B%20%7D%0A%0A%2Ereveal%20%2Eoverlay%20%7B%0Aposition%3A%20absolute%3B%0Atop%3A%200%3B%0Aleft%3A%200%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Az%2Dindex%3A%201000%3B%0Abackground%3A%20rgba%280%2C%200%2C%200%2C%200%2E9%29%3B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E3s%20ease%3B%0Atransition%3A%20all%200%2E3s%20ease%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Evisible%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20%2Espinner%20%7B%0Aposition%3A%20absolute%3B%0Adisplay%3A%20block%3B%0Atop%3A%2050%25%3B%0Aleft%3A%2050%25%3B%0Awidth%3A%2032px%3B%0Aheight%3A%2032px%3B%0Amargin%3A%20%2D16px%200%200%20%2D16px%3B%0Az%2Dindex%3A%2010%3B%0Abackground%2Dimage%3A%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODlhIAAgAPMAAJmZmf%252F%252F%252F6%252Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%252FLy8vz8%252FAAAAAAAAAAAACH%252FC05FVFNDQVBFMi4wAwEAAAAh%252FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%252BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%252FV%252FnmOM82XiHRLYKhKP1oZmADdEAAAh%252BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%252FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%252BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%252BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%252BB6QDtuetcaBPnW6%252BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%252BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%252B%252BG%252Bw48edZPK%252BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%252BG%252BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%252BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%252BaV%252BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%252FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%252BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%252BE71SRQeyqUToLA7VxF0JDyIQh%252FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%252FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%252FjiuL04RGEBgwWhShRgQExHBAAh%252BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%252BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%252BE71SRQeyqUToLA7VxF0JDyIQh%252FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%252BE71SRQeyqUToLA7VxF0JDyIQh%252FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%252BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%252BMFCN6HAAIKgNggY0KtEBAAh%252BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%252BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%252BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%252BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%252Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%252BKr0SJ8MFihpNbx%252B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%252BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%253D%253D%29%3B%0Avisibility%3A%20visible%3B%0Aopacity%3A%200%2E6%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E3s%20ease%3B%0Atransition%3A%20all%200%2E3s%20ease%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20header%20%7B%0Aposition%3A%20absolute%3B%0Aleft%3A%200%3B%0Atop%3A%200%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%2040px%3B%0Az%2Dindex%3A%202%3B%0Aborder%2Dbottom%3A%201px%20solid%20%23222%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20header%20a%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Awidth%3A%2040px%3B%0Aheight%3A%2040px%3B%0Apadding%3A%200%2010px%3B%0Afloat%3A%20right%3B%0Aopacity%3A%200%2E6%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20header%20a%3Ahover%20%7B%0Aopacity%3A%201%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20header%20a%20%2Eicon%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Awidth%3A%2020px%3B%0Aheight%3A%2020px%3B%0Abackground%2Dposition%3A%2050%25%2050%25%3B%0Abackground%2Dsize%3A%20100%25%3B%0Abackground%2Drepeat%3A%20no%2Drepeat%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20header%20a%2Eclose%20%2Eicon%20%7B%0Abackground%2Dimage%3A%20url%28data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ%2F5wpM07QXuXc5X0opX2tEJcadjHuV80li%2FFgxTIEK%2F5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX%2BSfDjgx1wACQeJG1aChP9K%2FIMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA%2FSYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN%2B49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV%2BJCbntmvok7iTX4%2FUp9mgyTc%2FFJYDTcndgH%2FAA5A%2FCHsyEkVAAAAAElFTkSuQmCC%29%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20header%20a%2Eexternal%20%2Eicon%20%7B%0Abackground%2Dimage%3A%20url%28data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR%2B2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9%2BengMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR%2BAAqod%2FB97TRpQAAAABJRU5ErkJggg%3D%3D%29%3B%20%7D%0A%2Ereveal%20%2Eoverlay%20%2Eviewport%20%7B%0Aposition%3A%20absolute%3B%0Atop%3A%2040px%3B%0Aright%3A%200%3B%0Abottom%3A%200%3B%0Aleft%3A%200%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dpreview%20%2Eviewport%20iframe%20%7B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Amax%2Dwidth%3A%20100%25%3B%0Amax%2Dheight%3A%20100%25%3B%0Aborder%3A%200%3B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E3s%20ease%3B%0Atransition%3A%20all%200%2E3s%20ease%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dpreview%2Eloaded%20%2Eviewport%20iframe%20%7B%0Aopacity%3A%201%3B%0Avisibility%3A%20visible%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dpreview%2Eloaded%20%2Espinner%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%3A%20scale%280%2E2%29%3B%0A%2Dms%2Dtransform%3A%20scale%280%2E2%29%3B%0Atransform%3A%20scale%280%2E2%29%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dhelp%20%2Eviewport%20%7B%0Aoverflow%3A%20auto%3B%0Acolor%3A%20%23fff%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dhelp%20%2Eviewport%20%2Eviewport%2Dinner%20%7B%0Awidth%3A%20600px%3B%0Amargin%3A%200%20auto%3B%0Apadding%3A%2060px%3B%0Atext%2Dalign%3A%20center%3B%0Aletter%2Dspacing%3A%20normal%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dhelp%20%2Eviewport%20%2Eviewport%2Dinner%20%2Etitle%20%7B%0Afont%2Dsize%3A%2020px%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dhelp%20%2Eviewport%20%2Eviewport%2Dinner%20table%20%7B%0Aborder%3A%201px%20solid%20%23fff%3B%0Aborder%2Dcollapse%3A%20collapse%3B%0Afont%2Dsize%3A%2014px%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dhelp%20%2Eviewport%20%2Eviewport%2Dinner%20table%20th%2C%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dhelp%20%2Eviewport%20%2Eviewport%2Dinner%20table%20td%20%7B%0Awidth%3A%20200px%3B%0Apadding%3A%2010px%3B%0Aborder%3A%201px%20solid%20%23fff%3B%0Avertical%2Dalign%3A%20middle%3B%20%7D%0A%2Ereveal%20%2Eoverlay%2Eoverlay%2Dhelp%20%2Eviewport%20%2Eviewport%2Dinner%20table%20th%20%7B%0Apadding%2Dtop%3A%2020px%3B%0Apadding%2Dbottom%3A%2020px%3B%20%7D%0A%0A%2Ereveal%20%2Eplayback%20%7B%0Aposition%3A%20fixed%3B%0Aleft%3A%2015px%3B%0Abottom%3A%2020px%3B%0Az%2Dindex%3A%2030%3B%0Acursor%3A%20pointer%3B%0A%2Dwebkit%2Dtransition%3A%20all%20400ms%20ease%3B%0Atransition%3A%20all%20400ms%20ease%3B%20%7D%0A%2Ereveal%2Eoverview%20%2Eplayback%20%7B%0Aopacity%3A%200%3B%0Avisibility%3A%20hidden%3B%20%7D%0A%0A%2Ereveal%20%2Eroll%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Aline%2Dheight%3A%201%2E2%3B%0Aoverflow%3A%20hidden%3B%0Avertical%2Dalign%3A%20top%3B%0A%2Dwebkit%2Dperspective%3A%20400px%3B%0Aperspective%3A%20400px%3B%0A%2Dwebkit%2Dperspective%2Dorigin%3A%2050%25%2050%25%3B%0Aperspective%2Dorigin%3A%2050%25%2050%25%3B%20%7D%0A%2Ereveal%20%2Eroll%3Ahover%20%7B%0Abackground%3A%20none%3B%0Atext%2Dshadow%3A%20none%3B%20%7D%0A%2Ereveal%20%2Eroll%20span%20%7B%0Adisplay%3A%20block%3B%0Aposition%3A%20relative%3B%0Apadding%3A%200%202px%3B%0Apointer%2Devents%3A%20none%3B%0A%2Dwebkit%2Dtransition%3A%20all%20400ms%20ease%3B%0Atransition%3A%20all%20400ms%20ease%3B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%2050%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%2050%25%200%25%3B%0Atransform%2Dorigin%3A%2050%25%200%25%3B%0A%2Dwebkit%2Dtransform%2Dstyle%3A%20preserve%2D3d%3B%0Atransform%2Dstyle%3A%20preserve%2D3d%3B%0A%2Dwebkit%2Dbackface%2Dvisibility%3A%20hidden%3B%0Abackface%2Dvisibility%3A%20hidden%3B%20%7D%0A%2Ereveal%20%2Eroll%3Ahover%20span%20%7B%0Abackground%3A%20rgba%280%2C%200%2C%200%2C%200%2E5%29%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280px%2C%200px%2C%20%2D45px%29%20rotateX%2890deg%29%3B%0Atransform%3A%20translate3d%280px%2C%200px%2C%20%2D45px%29%20rotateX%2890deg%29%3B%20%7D%0A%2Ereveal%20%2Eroll%20span%3Aafter%20%7B%0Acontent%3A%20attr%28data%2Dtitle%29%3B%0Adisplay%3A%20block%3B%0Aposition%3A%20absolute%3B%0Aleft%3A%200%3B%0Atop%3A%200%3B%0Apadding%3A%200%202px%3B%0A%2Dwebkit%2Dbackface%2Dvisibility%3A%20hidden%3B%0Abackface%2Dvisibility%3A%20hidden%3B%0A%2Dwebkit%2Dtransform%2Dorigin%3A%2050%25%200%25%3B%0A%2Dms%2Dtransform%2Dorigin%3A%2050%25%200%25%3B%0Atransform%2Dorigin%3A%2050%25%200%25%3B%0A%2Dwebkit%2Dtransform%3A%20translate3d%280px%2C%20110%25%2C%200px%29%20rotateX%28%2D90deg%29%3B%0Atransform%3A%20translate3d%280px%2C%20110%25%2C%200px%29%20rotateX%28%2D90deg%29%3B%20%7D%0A%0A%2Ereveal%20aside%2Enotes%20%7B%0Adisplay%3A%20none%3B%20%7D%0A%2Ereveal%20%2Espeaker%2Dnotes%20%7B%0Adisplay%3A%20none%3B%0Aposition%3A%20absolute%3B%0Awidth%3A%2070%25%3B%0Amax%2Dheight%3A%2015%25%3B%0Aleft%3A%2015%25%3B%0Abottom%3A%2026px%3B%0Apadding%3A%2010px%3B%0Az%2Dindex%3A%201%3B%0Afont%2Dsize%3A%2018px%3B%0Aline%2Dheight%3A%201%2E4%3B%0Acolor%3A%20%23fff%3B%0Abackground%2Dcolor%3A%20rgba%280%2C%200%2C%200%2C%200%2E5%29%3B%0Aoverflow%3A%20auto%3B%0Abox%2Dsizing%3A%20border%2Dbox%3B%0Atext%2Dalign%3A%20left%3B%0Afont%2Dfamily%3A%20Helvetica%2C%20sans%2Dserif%3B%0A%2Dwebkit%2Doverflow%2Dscrolling%3A%20touch%3B%20%7D%0A%2Ereveal%20%2Espeaker%2Dnotes%2Evisible%3Anot%28%3Aempty%29%20%7B%0Adisplay%3A%20block%3B%20%7D%0A%40media%20screen%20and%20%28max%2Dwidth%3A%201024px%29%20%7B%0A%2Ereveal%20%2Espeaker%2Dnotes%20%7B%0Afont%2Dsize%3A%2014px%3B%20%7D%20%7D%0A%40media%20screen%20and%20%28max%2Dwidth%3A%20600px%29%20%7B%0A%2Ereveal%20%2Espeaker%2Dnotes%20%7B%0Awidth%3A%2090%25%3B%0Aleft%3A%205%25%3B%20%7D%20%7D%0A%0A%2Ezoomed%20%2Ereveal%20%2A%2C%0A%2Ezoomed%20%2Ereveal%20%2A%3Abefore%2C%0A%2Ezoomed%20%2Ereveal%20%2A%3Aafter%20%7B%0A%2Dwebkit%2Dbackface%2Dvisibility%3A%20visible%20%21important%3B%0Abackface%2Dvisibility%3A%20visible%20%21important%3B%20%7D%0A%2Ezoomed%20%2Ereveal%20%2Eprogress%2C%0A%2Ezoomed%20%2Ereveal%20%2Econtrols%20%7B%0Aopacity%3A%200%3B%20%7D%0A%2Ezoomed%20%2Ereveal%20%2Eroll%20span%20%7B%0Abackground%3A%20none%3B%20%7D%0A%2Ezoomed%20%2Ereveal%20%2Eroll%20span%3Aafter%20%7B%0Avisibility%3A%20hidden%3B%20%7D%0A" rel="stylesheet" />
<style type="text/css">
div.sourceCode { overflow-x: auto; }
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {
margin: 0; padding: 0; vertical-align: baseline; border: none; }
table.sourceCode { width: 100%; line-height: 100%; }
td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px; color: #aaaaaa; border-right: 1px solid #aaaaaa; }
td.sourceCode { padding-left: 5px; }
code > span.kw { color: #007020; font-weight: bold; } /* Keyword */
code > span.dt { color: #902000; } /* DataType */
code > span.dv { color: #40a070; } /* DecVal */
code > span.bn { color: #40a070; } /* BaseN */
code > span.fl { color: #40a070; } /* Float */
code > span.ch { color: #4070a0; } /* Char */
code > span.st { color: #4070a0; } /* String */
code > span.co { color: #60a0b0; font-style: italic; } /* Comment */
code > span.ot { color: #007020; } /* Other */
code > span.al { color: #ff0000; font-weight: bold; } /* Alert */
code > span.fu { color: #06287e; } /* Function */
code > span.er { color: #ff0000; font-weight: bold; } /* Error */
code > span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
code > span.cn { color: #880000; } /* Constant */
code > span.sc { color: #4070a0; } /* SpecialChar */
code > span.vs { color: #4070a0; } /* VerbatimString */
code > span.ss { color: #bb6688; } /* SpecialString */
code > span.im { } /* Import */
code > span.va { color: #19177c; } /* Variable */
code > span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code > span.op { color: #666666; } /* Operator */
code > span.bu { } /* BuiltIn */
code > span.ex { } /* Extension */
code > span.pp { color: #bc7a00; } /* Preprocessor */
code > span.at { color: #7d9029; } /* Attribute */
code > span.do { color: #ba2121; font-style: italic; } /* Documentation */
code > span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code > span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
</style>
<link href="data:text/css;charset=utf-8,%0A%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Montserrat%27%3B%0Afont%2Dstyle%3A%20normal%3B%0Afont%2Dweight%3A%20700%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAOAIAAAwBgRkZUTWPsP8AAAGOYAAAAHE9TLzKlz4LnAAABaAAAAGBjbWFw4D6rnAAABRQAAAGyZ2FzcAAAABAAAGOQAAAACGdseWbWZbZBAAAIeAAAObRoZWFk%2B90RRAAAAOwAAAA2aGhlYQdpA9kAAAEkAAAAJGhtdHjlOSzKAAAByAAAA0xrZXJuIgYjSgAAQiwAABjebG9jYY4ZnQQAAAbQAAABqG1heHABGgA4AAABSAAAACBuYW1lTs6YPQAAWwwAAAa0cG9zdKIYpDAAAGHAAAABzXByZXBoBoyFAAAGyAAAAAcAAQAAAAIAQrYE4uBfDzz1AAsD6AAAAADMj2a2AAAAAMyPZrb%2Fkv8qBAwDhwAAAAgAAgAAAAAAAAABAAADyP8FAAAEKv%2BS%2F9YEDAABAAAAAAAAAAAAAAAAAAAA0wABAAAA0wA1AAUAAAAAAAIAAAABAAEAAABAAAAAAAAAAAMCTgGQAAUAAAKKAlgAAABLAooCWAAAAV4AMgEyAAACAAUFAAAAAgAEgAAAL0AAIEoAAAAAAAAAAHB5cnMAQAAgIKwDyP8FAAADyAD7IAAAAQAAAAACFAK7AAAAIAABA%2BgAAAAAAAABTQAAARIAAAEnAEoBdgBNAt8AKwJrACUDEgAsArYAMQDoAE0BTAAyAUwAIQGwAD0COAAwARkAQgHcAEgBGABCAksAHAKwADsBfQAdAk0AMgJCACcCPAAlAkMAMgJsADwCNgAuAnwAOQJrADMBJQBIASgASQJQAC0CcAA8AlAATAH8ACQDiAAzAuYAAALCAGEC4AA0Aw4AYQKOAGECXABhAvUANAMJAGEBOABhAicAHwLAAGECNgBhA9cAYQNEAGEDSAA0AqwAYQNIADQC2ABhAnYAKAJcAB8DAABYArwAAwQYAAwCoQAPAnD%2F%2BAKjAC8BYwBYAgoAHAFjACkBigAWAtIASANBATwCSwApAqAAUQJAAC4CoAAvAmoALwGCACgCjgAwAoYAUQESAEMBEv%2BSAkUAUQESAFED9gBRAoYAUQKMAC4CoABRAqAALwGNAFEB%2BgAhAaIAKAKGAEsCPAAIA5AAEgIuABMCPgAJAh0ALAFQACgBAQBXAVAANAI1ADIBJgBJAkoAMQJoADsC8wA8AssAIwEUAFsCYgAzAmIApgNAADYBYAA7AiMAOAM8AEMDQAA2AagAOwGgADYCOAAwAaMAQgGMADYDQQFSAoIAVgKfACMBIwBHARkAKgEMACkBegA4AiMAQgNfACMDoAAjA4UAKAH8ADUC2gAAAuYAAALaAAAC2gAAAtoAAALaAAAEEP%2F1AuAANAKOAGECjgBhAo4AYQKOAGEBOP%2FxATgAYQE4%2F%2FkBOAADAxYAGgNEAGEDSAA0A0gANANIADQDSAA0A0gANAI1ADADSAA0AwAAWAMAAFgDAABYAwAAWAJw%2F%2FgCrgBhAosAUQJLACkCSwApAksAKQJLACkCSwApAksAKQO4ACkCQQAvAmoALwJqAC8CagAvAmoALwES%2F%2BgBEgBRARL%2F4AES%2F%2FgCVAAyAoYAUQKMAC4CjAAuAowALgKMAC4CjAAuAjgAMAKMAC4ChgBLAoYASwKGAEsChgBLAj4ACQKgAFECPgAJARIAUQQqADUEKgAuAqIApgF5AFACBwBfAhoAUgLVAFIA2AAjANkAIwDZACMBcgAjAXEAIwFxACMBrABVAV0AOAFdAEICe%2F%2F%2BAvkANAAAAAMAAAADAAAAHAABAAAAAACsAAMAAQAAABwABACQAAAAIAAgAAQAAAB%2BAKwA%2FwExAVMCxgLaAtwgFCAaIB4gIiA6IEQgrP%2F%2FAAAAIAChAK4BMQFSAsYC2gLcIBMgGCAcICIgOSBEIKz%2F%2F%2F%2Fj%2F8H%2FwP%2BP%2F2%2F9%2Ff3q%2Fengs%2BCw4K%2FgrOCW4I3gJgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhAISFh4mRlpyhoKKko6Wnqaiqq62srq%2Bxs7K0trW6ubu8AHBjZGjOdp9uagB0aQCGmABxAABmdQAAAAAAa3oAprh%2FYm0AAAAAbHsAAICDlcHCxsfLzMjJtwC%2FANHSz9AAAAB3ys0AgoqBi4iNjo%2BMk5QAkpqbmcDDxW8AAMR4AAAAAAC4Af%2BFsASNAAAAAAAAAAAAAAAAHAAuAGAAogDgASgBNAFMAWQBhgGaAbABvAHOAdwB%2FAIMAjICWAJ0ApwC0ALmAxoDTgNsA44DogO2A8oEAgROBGgEoATEBOQE%2FAUSBTYFTgVcBXgFlAWkBb4F1gX2BhYGSAZsBp4GsAbMBt4G%2FAcaBzAHSgdcB2oHfAeOB5oHqAfWB%2FoIGAg8CGQIhAi2CNYI7gkSCSoJNglmCYYJpAnICeoKBAo6CloKegqMCqgKwgriCvoLJgs0C2ALggueC84L9AwoDFAMZAyyDNANCA00DU4NXg2cDaoNyA3kDggOLA46DloOeg6MDqoOug7YDvIPHA9SD5APyA%2FsEA4QNhBoEJwQzBDyESwRTBFsEY4RvBHQEeQR%2FBIgEkYSdBKcEsQS8BMmE1wTdhO2E9oT%2FhQmFFoUeBSaFNYVChU%2BFXYVuBX8FkIWjBbAFvAXHhdQF44Xohe2F84X8hgqGF4YhBioGNAZAhk2GVoZlhm%2BGeQaDhpEGmwanBrUGuIbChtMG14bfBuYG6QbsBvGG9wb8BwUHDgcWhxsHH4cjhyeHNoAAgBK%2F%2FgA3wLMAAUADQAAEzMVAyMDEiY0NjIWFAZOjB5QHigsLD0sLALMgf6XAWn9rSw9LCw9LAACAE0BxQEpArsAAwAHAAATNTMVMzUzFU1OQE4Bxfb29vYAAAACACsAAAK1AswAGwAfAAABIwczByMHIzcjByM3IzczNyM3MzczBzM3MwczByMHMwKfbB17FnccbxyTHHAcZxZkHXIWbx1vHZMdcB9w8JMekwG0pm6goKCgbqZuqqqqqm6mAAAAAwAl%2F7gCPQL1ABwAIgAoAAAFNSYnNxYXNS4BNDY3NTMVFhcHJicVMx4BFAYHFT4BNCYnFQIGFBYXNQEbiW1JVFlxaXlhQG5iQUJNA3NsfGYwOCw8bTMoOEhJDl9XSQ7CG1itbgUyMwhDXC8LvBtcr24FSLguRikStAHpLUMnEq0AAAAABQAs%2F%2FgC5wLMAAcACwATABsAIwAAABQGIiY0NjIFASMBBDQmIgYUFjIAFAYiJjQ2MgY0JiIGFBYyAVpXgVZXgQHC%2FgCBAgD%2BtyIxICIxAgtXgVZXgQYiMSAiMQJvhF5dhF4R%2FUUCu648KSk8Kf72hF5dhF7BPCkpPCkAAAMAMf%2FuAqACzAAbACMALAAABSImNTQ3LgE1NDYyFhUUBxYXNjcXBgcWFwcnBiQWMjcmJwYVEgYUFhc2NTQmAR1iiqQpIXagcKBQMh8RUhohKD5LXFj%2B%2F0x%2BR2U7cY81GyFxNQhtX3FYLzwuUFZSSmNYYjQuPTpFNCk6RltRmjk6akg9SQG0KjgtKDgwKCcAAAEATQHFAJsCuwADAAATNTMVTU4Bxfb2AAEAMv97ASsC9QALAAASFBYXIy4BNDY3MwahUDp3MVFRMXc6Aavm%2BVFE%2FPr8RFEAAAEAIf97ARoC9QALAAA2NCYnMx4BFAYHIzarUDp3MVFRMXc6xeb5UUT8%2BvxEUQAAAAEAPQF8AXMCuwARAAABJxcjNwcnNyc3FyczBzcXBxcBUV8IRAhfImZmIl4HRAdeImdnAa5AcnNAOjMyOz9xcT46MjMAAQAwAJYCCAJuAAsAADc1IzUzNTMVMxUjFe%2B%2Fv1q%2Fv5a%2BXry8Xr4AAAEAQv%2BXANcAjAAKAAA3NDYyFhQPASM3JkIsPC0bPDolKUEgKys8K2NoEwAAAQBIAPYBlAFfAAMAADc1IRVIAUz2aWkAAQBC%2F%2FgA1wCNAAcAADY0NjIWFAYiQis%2BLCw%2BJD4rKz4sAAAAAQAc%2F4sCMQMrAAMAAAEzASMBzWT%2BT2QDK%2FxgAAIAO%2F%2F4AnUCzAAHAA8AABIUFjI2NCYiAhA2IBYQBiCtU7BRUbDFjgEejo7%2B4gHX6pCP7I%2F%2BVgFKxcX%2BtsUAAAABAB0AAAEbArsABQAAEzMRIxEjHf5wjgK7%2FUUCUgAAAAEAMgAAAhgCzAAVAAAANjQmIyIHJz4BMhYVFAYPASEVITU3AVU8QDFWOV8ub6%2BEOEukAT3%2BItQBgVJUO1g3RUZvYDZiTadxZNUAAAABACf%2F9wIJArsAFwAAEzUhFQceARUUBiInNxYzMjY0JiMiBzU3TQGZqWBskeRtMlZePU9YTickogJSaVy9A3NQa3pJXzw5a0ALWrwAAQAlAAACFQK7AA4AAAE1MxUzFSMVIzUhNQEzAwFRcFRUcP7UAQGB%2FQEbgIBrsLBoAaP%2BYAAAAAABADL%2F%2BAITArwAGAAAARUhFTYzMhYUBiMiJzceAjI2NCYiBycRAeb%2B2Sw4Yo6UbI1UPwgbVGRSV4U8MgK8a6wYdsqFXlYIFiU8cz8hNgFQAAIAPP%2F4AjkCyAAXAB8AAAEiBgc%2BATMyFhQGIyInJjQ2NzYyFwcuAQIGFBYyNjQmAWJdWAEZXjlef4loqEAkLihO41w7F01wUU52TkgCXn5rHDF9z36WVtiQKlJHVxQg%2FvxDa01Fa0sAAQAuAAACGgK7AAgAABM1IRUBIwEjFS4B7P7YggEh%2BAHyyWn9rgJQXgAAAAADADn%2F%2BAJDAskADwAXAB8AABIyFhQHFhUUBiImNTQ3JjQSMjY0JiIGFBIyNjQmIgYU2cqGS2WQ6pBlS7doXFhwWF1mS0tmSwLJaqE%2BQHRaenpadEA%2Bof3%2FO248PG4BAj1ZPDxZAAAAAAIAM%2F%2F4AjACyAAXAB8AACUyNjcOASMiJjQ2MzIXFhQGBwYiJzceARI2NCYiBhQWAQpdWAEZXjlef4loqEAkLihO41w7F01wUU51TEVifmscMX3PfpZW2JAqUkdXFCABBENrTUVsSgAAAgBI%2F%2FgA3QGCAAcADwAANjQ2MhYUBiICNDYyFhQGIkgrPiwsPisrPiwsPiQ%2BKys%2BLAEhPisrPiwAAAAAAgBJ%2F5cA3wGCAAoAEgAANzQ2MhYUDwEjNyYQNDYyFhQGIkksPS0bPTolKSs%2BLCw%2BQiArKzouY2gVAQU%2BKys%2BLAAAAAABAC0AdQIEAqYABwAAEzUlFQUVBRUtAdf%2BoAFgAU5%2B2nKfC6NyAAAAAgA8APYCNAIQAAMABwAAEyEVIRUhFSE8Afj%2BCAH4%2FggCEF5eXgAAAAEATAB1AiMCpgAHAAABFQU1JTUlNQIj%2FikBYP6gAcx%2B2XKjC59yAAACACT%2F%2BwHHAsoAGwAjAAAlIzU0Nj8BNjQmIgYHIz4BMhYVFAcOAwcGFQImNDYyFhQGAS5xEyBJFzBMMwR5CneycCETFCEXBxJWLi0%2FLi3ZPSgnIEkZSjEvJ1llYVc8KBgUHxcIFij%2B9Ss9LCs9LAAAAgAz%2F4IDWQKhACsAMwAABSImEDYgFhUUBiMiJicGIyImNDYzMhYXNTMRFDMyNjU0JiAGEBYzMjcXDgESJiIGFBYyNgG%2BqOPuAVHnUkQxOgI4e1aDfGYuUhJgNx8zwf7P1sqVeEAWI3RKTHpKSX5JfuABUO%2FvrGyFQz6BitSQMCFD%2FqNGW0qg3tb%2B1sc8JR4lAcxUVn1dWwACAAAAAALmArsABwAKAAA3ByMBMwEjLwELAcRGfgE0fgE0fkYwf3%2BfnwK7%2FUWfbQEg%2FuAAAwBhAAACjwK7ABMAGwAjAAApAREhMhYXFhUUBw4BBx4BFRQHBgEzMjU0JisBETMyNjU0KwEBk%2F7OARBHZxkwNBMOEkFNMjv%2BtZaAPkGXuUFFlaoCuyIdNkRSKA4HCA5ZQkk4QQGZVzIs%2Fh8pOV0AAAEANP%2F4ArsCzAATAAAlMjY3FwYgJhA2IBcHLgEjIgYUFgGgPVgwTG%2F%2Bw9HVAUVtSzJZPGqQj2spLU57zAE40HhSMCaJ1Y8AAAIAYQAAAtcCuwAHAA8AAAAWEAYrAREzATQhIxEzMjYCDcrEyujwAQ%2F%2B7XaDf4cCu7f%2Bur4Cu%2F6j8P4heQAAAAABAGEAAAJYArsACwAAARUhFSEVIRUhFSERAkz%2BiwFP%2FrEBgf4JArtvuWm7bwK7AAABAGEAAAIzArsACQAAExUhFSERIxEhB9cBNv7KdgHSAQJNwG3%2B4AK7bgAAAAEANP%2F4ArsCzAAUAAABMxUGIyImEDYgFwcuASMiBhQWMjcCRXZjuJvR1QEuZD8pUzdqkIzHQwFU723MATjQWFojG4nfhysAAAEAYQAAAqgCuwALAAAzETMRIREzESMRIRFhdgFbdnb%2BpQK7%2FtEBL%2F1FAR7%2B4gAAAAEAYQAAANcCuwADAAATMxEjYXZ2Arv9RQAAAAABAB%2F%2F%2BgHMArsADwAAEzUhERQGIyInNxYzMjY1EXgBVHxhelZDREEuQQJRav4zenpWXUE%2BPgFpAAEAYQAAArECuwALAAATMxEBMwkBIwMHFSNhdgFAlv7nAR2M6GZ2Arv%2BqwFV%2Fs7%2BdwEybsQAAAAAAQBhAAACFgK7AAUAADMRMxEhFWF2AT8Cu%2F21cAAAAAABAGEAAAN2ArsADAAAMyMRMxsBMxEjEQMjA9d2uNPTt3b0QvMCu%2F5JAbf9RQIi%2FhsB5QAAAQBhAAAC4wK7AAkAAAEzESMBESMRMwECbXaA%2FnR2dgGWArv9RQH%2B%2FgICu%2F32AAAAAgA0%2F%2FkDFALMAAcADwAAACIGFBYyNjQCICYQNiAWEAIM0I%2BP0I9b%2FsjU1AE41AJglNOUlNP%2BLc8BNc%2FP%2FssAAAIAYQAAAoICuwAJABEAAAAWFAYrARUjETMSNjQmKwERMwHwkpWafHbwcUdaYHiJArt6%2FnbNArv%2BfUuRPP7oAAACADT%2FcwNIAswAFQAdAAAFByImEDYgFhUUBgcWMzI2NxcGIyImEiIGFBYyNjQBsw%2Bc1NQBONR%2BaSI0JkkTQ1dwQHZB0I%2BP0I8GAc8BNc%2FPmnW1KC0oIF1cSAKllNOUlNMAAAAAAgBhAAACrwK7AAwAFAAAARQHFyMnIxUjESEyFgY2NCYrARUzAo%2BXt5anm3YBBKCKwUhKX5aTAditLf7r6wK7bPk%2BiTP6AAAAAQAo%2F%2FgCRQLMAB4AAAAGFB4CFAYjIic3FjMyNjQuAicmNDYzMhYXBy4BAQFCQtdtinCkf0pqcjlDP5pQHz6NaEOEMD8fagJfKlUtNF63cnFZXDFRLSUfGS%2FCaSwoWRwkAAAAAAEAHwAAAj0CuwAHAAABESMRIzUhFQFpdtQCHgJP%2FbECT2xsAAEAWP%2F5AqgCuwAPAAAkMjY1ETMRFAYgJjURMxEUAS6kYHam%2FvymdmhwYAGD%2FniXo6OXAYj%2BfWAAAQADAAACuQK7AAYAACEjATMbATMBoIT%2B54TX14QCu%2F32AgoAAQAMAAAEDAK7AA0AACUTMxsBMwMjAyMDIwMzATucapywf%2FR1kwiTdfR%2FxAH3%2FgkB9%2F1FAd%2F%2BIQK7AAAAAQAPAAACkgK7AA0AACEDIwMjEwMzFzM3MwMTAf%2BsBayT8N%2BSnAWckt%2FwAQf%2B%2BQFnAVTs7P6s%2FpkAAAAAAf%2F4AAACeAK7AAgAACEjEQEzGwEzAQF0eP78gb%2B%2Fgf78ARQBp%2F7CAT7%2BWQABAC8AAAJwArsACwAAASE1IRUBFSEVITUBAcb%2BdgIu%2FmoBnP2%2FAZcCT2xc%2FhEDbVsB8QAAAQBY%2F3QBOgL1AAcAAAEVIxEzFSMRATqKiuIC9VT9J1QDgQAAAQAcAAAB7AL1AAMAABMzASMcZAFsZAL1%2FQsAAAEAKf90AQsC9QAHAAATNTMRIzUzESni4ooCoVT8f1QC2QAAAAEAFgLmAW8DggAGAAABJwcjNzMXARFNTWF6ZnkC5lNTnJwAAAEASP92Aor%2FrwADAAAXNSEVSAJCijk5AAEBPAJYAhwC6QADAAABIyc3AhxmenYCWGAxAAACACn%2F%2BAIAAhwAFQAeAAAhIzUGIyImNDY7ATU0IyIHJzYzMhYVBzUjIhUUFjI2AgBmQm9TbXRjkXZKUDJhe153cH55PGtQR09enU4UajZGTV9mkS1MJyk8AAAAAAIAUf%2F4AnEC5gALABMAAAAWFAYiJxUjETMRNgIWMjY0JiIGAdmYl8lQcHBCRFyEYmCGXAIclPaaWFAC5v7RZf6hYWCZZWUAAAEALv%2F4Ah0CHAAQAAAFIiY0NjIXByYiBhQWMjcXBgE9b6Cn8FNCRYxnZpVCQmEIl%2FSZU1E8XZNmREhiAAIAL%2F%2F4Ak8C5gAMABQAABYmNDYyFxEzESM1BiMmFjI2NCYiBsWWmtVBcHA%2Bd4tihFxchmAImPiUWgEk%2FRpQWMNgYZhmZgAAAAIAL%2F%2F4AkACHAAQABYAACUhHgEzMjcXBiMiJjQ2MhYVJSE0JiIGAkD%2BXwRiP2Q0QFaKcJ2g2Zj%2BXwExVHti2TpHP0ZZlfuUg3MLQ0hLAAAAAQAoAAABmgL0ABMAABMVMxUjESMRIzUzNTQ2MhcHJiIG24yMcENDZY87LiFIKAJALFr%2BRgG6WilUYzVPIy0AAAIAMP8qAj0CHAAVAB0AAAERFAYiJzcWMjY9AQ4BIyImNDYyFzUAFjI2NCYiBgI9mfBhNU6fXRldOmqIiNNC%2FtFRiVVWiFECFP4wjY1LVTtSWkQvOJTclFdP%2FslfXIlfYgAAAAABAFEAAAI7AuUAEgAAExEjETMRPgEzMhYVESMRNCMiBsFwcBhhOFpvcHo6VgEg%2FuAC5f7OMThuaP66ASSTTQAAAgBDAAAA0QL3AAMACwAAMyMRMyY0NjIWFAYiwXBwfio6Kio6AhR%2FOioqOioAAAAAAv%2BS%2FywAzwL3AAsAEwAAFxEzERQGIic3FjI2AjQ2MhYUBiJRcGWPOzQiRSQQKjoqKjoZAi39z1RjNVQhLALTOioqOioAAAAAAQBRAAACOALmAAsAADMjETMRNzMHEyMnB8FwcNiQytmInlEC5v5M4tP%2Bv%2BlSAAAAAQBRAAAAwQLmAAMAADMjETPBcHAC5gAAAQBRAAADqwIcAB4AABMRIxEzFT4BMzIXNjMyFhURIxE0IyIGBxEjETQmIgbBcHAYYTh%2BLU92Wm9wejlVAnA2dFYBIP7gAhRhMThoaG5o%2FroBJJNJRv7YASRMR00AAAAAAQBRAAACOwIcABIAABMRIxEzFT4BMzIWFREjETQjIgbBcHAbXzdab3B6OlYBIP7gAhRhMThuaP66ASSTTQAAAAIALv%2F4Al4CHAAHAA8AADYyNjQmIgYUBCImNDYyFhT9kl9fkl8BIPCgoPCgXGGaYWGaxZ%2Fmn5%2FmAAAAAAIAUf8%2BAnECHAALABMAAAAWFAYiJxEjETMVNgIWMjY0JiIGAdmYl8lQcHBCRFyEYmCGXAIclPaaWP7uAtZdZf6hYWCZZWUAAAIAL%2F8%2BAk8CHAALABMAABYmNDYyFzUzESMRBiYWMjY0JiIGxpeY1kJwcFDwYoRcXIZgCJr2lGVd%2FSoBEljEYGGYZWUAAQBRAAABbgIcAA0AAAEiBh0BIxEzFT4BNxciAWhTVHBwG100AQMBq2xb5AIUazJAAXEAAAEAIf%2F4AcwCHAAjAAAkBiMiJic3FjMyNjU0JyYnJjU0NjIXByYjIgYVFBceAxcWAcxuVjp9MDZdVyYsaggEpnO4UipBTCgyGhJBMi8bNlNbKiZXRiMbKCADAS1pSlk2UysdHRoMCRAQFBIkAAEAKP%2F4AZoCuwATAAATERQWMjcXBiImNREjNTM1MxUzFdsoSCEuO49lQ0NwjAG6%2FvImLSNPNWNUAQtap6daAAABAEv%2F%2BAI1AhQAEgAAJREzESM1DgEjIiY1ETMRFDMyNgHFcHAbXzdab3B6Olb0ASD97GExOG5oAUb%2B3JNNAAAAAQAIAAACNAIUAAYAADMDMxsBMwPe1nSionTWAhT%2BbgGS%2FewAAQASAAADfgIUAAwAACEjAzMbATMbATMDIwMBSoC4dISEdISEdLiAfgIU%2Fm4Bkv5uAZL97AFsAAABABMAAAIbAhQACwAAExc3MwMTIycHIxMDpnJ2hbrCin98g72zAhSvr%2F78%2FvCxsQEPAQUAAQAJ%2FywCNwIUABAAABciJzcWMjY1NAMzGwEzAQ4BlEk7MyNLL9d4n594%2Fv4XVtQ1WyE2IA4CFf54AYj9iDQ8AAEALAAAAfACEgAJAAATNSEVASEVITUBQAGg%2FtUBO%2F48ASMBsmBl%2FrRhbQFFAAAAAAEAKP9uARwC9QAfAAABIh0BFAcWHQEUFjMVIyI9ATQmKwE1MzI2PQE0OwEVJgEUPkJCHSkiiBgaGBgaGIgiAwKZOdlGDAtG6xoUXYTYIRtdHCLQhF0BAAABAFf%2FZwCqAw4AAwAAFxEzEVdTmQOn%2FFkAAAAAAQA0%2F24BKAL1ACAAABcjNTI2PQE0NyY9ATQmKwEHNTMyHQEUFjsBFSMiBh0BFFYiKR1CQiEQAxIiiBgaGBgaGJJdFBrrRgsMRtkfGwJdhNAiHF0bIdiEAAEAMgEuAgMB1wATAAATIgcnPgEzMhcWMzI3Fw4BIyInJrgoB1cGSDktTDIYKAdYBkk5K04yAXJBGUZHKRpBGUZIKhoAAgBJ%2F%2FgA3gLJAAUADQAAFyM1EzMTAiY0NjIWFAbYix5QHWMsLD0sLAh%2BAWn%2BlwG%2BLD0sLD0sAAACADH%2FhgIgApAAFQAbAAAFNS4BNDY3NTMVFhcHJicRNjcXBgcVAgYUFhcRASFli4pmQHFJQj07QjtCU2x3SUc5enQLk%2BCTDnd1CUlRNAb%2BrQc8SFULdAIbV3tcDwFKAAABADsAAAIzAuYAGQAAARUzFSMVIRUhNTM1IzUzNTQ2MzIXByYjIgYBB6enASr%2BDlJWVnpjg0JTKUEwPwIEg2K2aWm2Yn15b3BCRDcAAgA8%2F%2FgCtwJ8ABcAHwAANyY0Nyc3FzYyFzcXBxYUBxcHJwYiJwcnNjI2NCYiBhSWNTNYR1pErkdaR1kzNlxGX0OsQ15G94xcXIxcmEi4RlhGWSwtWkZZSLNJW0ZdKipdRldelF1dlAABACMAAAKrArsAGQAANzM1JyM1MwMzEzMTMwMzFSMHFTMVIxUjNSNmvgS6hsmBvQfEf9CDuQO8vX2%2B1DYGWAFT%2Fr8BQf6tWAY2WHx8AAAAAAIAW%2F%2FoALkC9QADAAcAABMRMxEDETMRW15eXgGuAUf%2Buf46AUf%2BuQACADP%2FdgI3AuYACwA0AAATFBYzMjY0JicmIgYSBhQeAhUUBgceARUUBiMiJzcWMzI1NC4CNTQ2NyY0NjMyFhcHJiORdVs0RS4kSG9AbjU6zWZARC4udWKPbkBiXmtDw21CO1F1W0FiMzlKVQE9Lz4sQSoLFScBKCpDKDFOSTJREBFGJUVhYkxRRCAqOVFOMFALIKBiICVQNwAAAAACAKYCWQHaAtQABwAPAAASJjQ2MhYUBjImNDYyFhQGySMkMyQlhyQkMyQkAlkkMyQjMyUkMyQjMyUAAAADADb%2F9AMKAsgABwAPAB8AAAAQBiAmEDYgEhAmIAYQFiA3BiImNDYyFwcmIgYUFjI3AwrU%2FtLS1AEsqLf%2B9ri2AQoiRK50eLI5MDRkS0ttLgH0%2FtbW1AEq1v4TAQa6u%2F75usFHbbJuPDssQ2tKMQAAAgA7Ac4BFQLMABMAHAAAASM1BiImNTQ7ATU0IyIHJzYzMhUHNSMiFRQWMjYBFS8fWTNjRDchJhcsM2k0OjgcMSUB0iElLCRJCTEZISNbQxUkEhMdAAAAAAIAOABAAeEBoAAFAAsAAAEHFyMnNyEHFyMnNwEbc3Nsd3cBMnNzbHd3AaCwsLCwsLCwsAABAEMAWALgAb0ABQAAEyERIxEhQwKdUv21Ab3%2BmwENAAQANv%2F0AwoCyAAHAA8AHAAkAAAAEAYgJhA2IBIQJiAGEBYgExQHFyMnIxUjETMyFgY2NCYrARUzAwrU%2FtLS1AEsqLf%2B9ri2AQoqVWhUXlZEk1lNbCkqNVNRAfT%2B1tbUASrW%2FhMBBrq7%2Fvm6AYVhGY2DgwGHPYsiTR6NAAABADsCWAFuAq8AAwAAARUhNQFu%2Fs0Cr1dXAAAAAgA2AZgBagLLAAcADwAAEjIWFAYiJjQeATI2NCYiBpCAWlqAWjQ7VTs7VTsCy1qAWVmAajw8VDs7AAAAAgAwAIgCCAJ%2BAAsADwAAEzUjNTM1MxUzFSMVBSEVIe%2B%2Fv1q%2Fv%2F7nAdj%2BKAEUh16FhV6HOFQAAAABAEIBKgFeAswAFQAAEjY0JiMiByc2MzIWFRQGDwEzFSE1N%2BwjJR0zITc1VzZNISxfuf7pewILMDEiMyBRQTgfOS5hQjp9AAABADYBGAFTArsAFQAAEzUzFQceARQGIic3FjMyNjQmIgc1N03yZDk%2FVYhAHjE5JC80RRZgAn0%2BN3ABRW5IKzgjIUAmBzVwAAABAVICdAIyAwUAAwAAASM3FwG4Zmp2AnSRMQAAAQBW%2Fz4CQAIUABIAABcRMxEUMzI2NREzESM1DgEiJxVWcHo6VnBwG19oKMIC1v7ck01KASD97GExOBHLAAAAAAEAI%2F%2BQAjwC9QARAAATNDYzIREjESMRIxEGIyImJyYjdngBK11wWhgWN1IUJwIsVXT8mwMG%2FPoB3wMmHjoAAAABAEcA9ADcAYkABwAAEjQ2MhYUBiJHKz4sLD4BID4rKz4sAAABACr%2FLADrAAAAEAAAFxQGIic3FjI2NCYiBzczBxbrPl8kGhMnFhcjDCRHFEZ1JjkWOQoXIBkFRCYJAAABACkBIgC9ArsABQAAEzMRIxEjKZRBUwK7%2FmcBXAAAAAIAOAHIAUICzAAHAA8AABIyNjQmIgYUFiImNDYyFhSaRi0tRi2JckxMckwB%2BC5JLi5JXktuS0tuAAAAAAIAQgBAAesBoAAFAAsAACUnMxcHIy8BMxcHIwF7c2x3d2xTc2x3d2zwsLCwsLCwsAAAAAADACP%2F%2BAM4AvUAAwASABgAAAEzASMlNTMVMxUjFSM1IzU3MwcBMxEjESMCT0j%2Bi0gB60EyMkGvlUyU%2FcCUQVMC9f0DrktLP2dnPfXzAhX%2BZwFcAAADACP%2F%2BAN0AvUAAwAZAB8AAAEzASMkNjQmIyIHJzYzMhYVFAYPATMVITU3ATMRIxEjAm9I%2FotIAggjJR0xIzY1VjZOISxguf7pfP1KlEFTAvX9A%2BkwMSIzIFFBOB86LWFCOn0CBP5nAVwAAAADACj%2F%2BANhAvUAAwASACgAAAEzASMlNTMVMxUjFSM1IzU3MwcBNTMVBx4BFAYiJzcWMzI2NCYiBzU3AnhI%2FotIAetBMjJBr5VMlP2z8mQ5P1WIQB4xOSQvNEUWYAL1%2FQOuS0s%2FZ2c99fMB1z43cAFFbkgrOCMhQCYHNXAAAgA1%2F%2FkB2ALIABsAIwAAEzMVFAYPAQYUFjI2NzMOASImNTQ3PgM3NjUSFhQGIiY0Ns5xEyBJFzBMMwR5CneycCETFCEXBxJWLi0%2FLi0B6j0oJyBJGUoxLydZZWFXPCgYFB8XCRUoAQsrPSwrPSwAAAMAAAAAAtoDhgAHAAoADgAACQEjJyEHIwETCwETIyc3AaYBNIJH%2FrFEfgE0rnh3sWZ6dgK7%2FUWfnwK7%2FlEBDf7zAelgMQAAAAMAAAAAAuYDhwAHAAoADgAANwcjATMBIy8BCwETIzcXxEZ%2BATR%2BATR%2BRjB%2Ff7VmanafnwK7%2FUWfbQEg%2FuAB6pExAAAAAwAAAAAC2gN7AAcACgARAAAJASMnIQcjARMLARMzFyMnByMBpgE0gkf%2BsUR%2BATSueHdCaHphTU1hArv9RZ%2BfArv%2BUQEN%2FvMCb4Y4OAAAAAADAAAAAALaA3cABwAKABsAAAkBIychByMBEwsBEyImIyIHIzQ2MzIWMzI1MwYBpgE0gkf%2BsUR%2BATSueHfDGl0NIQFKLyobYA8eSwMCu%2F1Fn58Cu%2F5RAQ3%2B8wHmLyw6SC8sggAABAAAAAAC2gNsAAcACgASABoAAAkBIychByMBEwsBEiY0NjIWFAYyJjQ2MhYUBgGmATSCR%2F6xRH4BNK54dwMjIzQkJIYkJDMkJQK7%2FUWfnwK7%2FlEBDf7zAeUkMyQjMyUkMyQjMyUAAAADAAAAAALaA2wADQAQABgAAAAWFAcBIychByMBJjQ2EwsBEjY0JiIGFBYBmEIvAS%2BCR%2F6xRH4BLi1BoHh3kx4eMR8fA2w%2FXyD9Up%2BfAq8gXj%2F9oAEN%2FvMBwB8xHx8xHwAC%2F%2FUAAAPaArsADwATAAABFSEVIRUhFSEVITUjByMBExEjAwPO%2FosBT%2F6xAYH9%2Fv1VkQFudR2nArtuwGe4bp%2BfArv%2BVQE9%2FsMAAAAAAQA0%2FywCuwLMACQAACUyNjcXBg8BFhUUBiInNxYyNjQmIgc3LgEQNiAXBy4BIyIGFBYBoD1YMExolhBGPl8kGhMnFhcjDCGJsNUBRW1LMlk8apCPayktTnQGHwlGJjkWOQoXIBkFPxHGASrQeFIwJonVjwACAGEAAAJYA4YAAwAPAAABIyc3BRUhFSEVIRUhFSERAaVmenYBEf6LAU%2F%2BsQGB%2FgkC9WAxy2%2B5abtvArsAAAAAAgBhAAACWAOGAAsADwAAARUhFSEVIRUhFSERJSM3FwJM%2FosBT%2F6xAYH%2BCQErZmp2ArtvuWm7bwK7OpExAAAAAAIAYQAAAlgDewAGABIAAAEzFyMnByMFFSEVIRUhFSEVIREBI2h6YU1NYQGj%2FosBT%2F6xAYH%2BCQN7hjg4Om%2B5abtvArsAAwBhAAACWANsAAcADwAbAAASJjQ2MhYUBjImNDYyFhQGFxUhFSEVIRUhFSER4SMkMyQlhyQkMyQkfv6LAU%2F%2BsQGB%2FgkC8SQzJCMzJSQzJCMzJTZvuWm7bwK7AAAC%2F%2FEAAADXA4YAAwAHAAATIyc3BzMRI9FmenYGdnYC9WAxy%2F1FAAAAAgBhAAABRwOGAAMABwAAEzMRIxMjNxdhdnZsZmp2Arv9RQL1kTEAAAL%2F%2BQAAAVUDewADAAoAABMzESMTMxcjJwcjYXZ2Emh6YU1NYQK7%2FUUDe4Y4OAAAAAMAAwAAATcDbAAHAA8AEwAAEiY0NjIWFAYyJjQ2MhYUBgczESMmIyM0JCSGJCQzJCWxdnYC8SQzJCMzJSQzJCMzJTb9RQAAAAIAGgAAAt8CuwALABcAABM1MxEzMhYQBisBESU0ISMVMxUjFTMyNhpP8LzKxMroAf%2F%2B7Xb6%2BoN%2FhwEmaQEst%2F66vgEmOPC%2Fabd5AAACAGEAAALjA3cACQAaAAABMxEjAREjETMBAyImIyIHIzQ2MzIWMzI1MwYCbXaA%2FnR2dgGWhBpdDSEBSi8qG2APHksDArv9RQH%2B%2FgICu%2F32AkEvLDpILyyCAAAAAAMANP%2F5AxQDhgADAAsAEwAAASMnNxIiBhQWMjY0AiAmEDYgFhAB8GZ6dobQj4%2FQj1v%2ByNTUATjUAvVgMf7alNOUlNP%2BLc8BNc%2FP%2FssAAAAAAwA0%2F%2FkDFAOGAAcADwATAAAAIgYUFjI2NAIgJhA2IBYQASM3FwIM0I%2BP0I9b%2FsjU1AE41P6iZmp2AmCU05SU0%2F4tzwE1z8%2F%2BywItkTEAAAADADT%2F%2BQMUA3sABwAPABYAAAAiBhQWMjY0AiAmEDYgFhABMxcjJwcjAgzQj4%2FQj1v%2ByNTUATjU%2FlpoemFNTWECYJTTlJTT%2Fi3PATXPz%2F7LArOGODgAAAAAAwA0%2F%2FkDFAN3AAcADwAgAAAAIgYUFjI2NAIgJhA2IBYQASImIyIHIzQ2MzIWMzI1MwYCDNCPj9CPW%2F7I1NQBONT%2B2BpdDSEBSi8qG2APHksDAmCU05SU0%2F4tzwE1z8%2F%2BywIqLyw6SC8sggAABAA0%2F%2FkDFANsAAcADwAXAB8AAAAmNDYyFhQGMiY0NjIWFA4BIgYUFjI2NAIgJhA2IBYQASgjIzQkJIYkJDMkJQjQj4%2FQj1v%2ByNTUATjUAvEkMyQjMyUkMyQjMyWRlNOUlNP%2BLc8BNc%2FP%2FssAAQAwAJICBQJmAAsAAAE3FwcXBycHJzcnNwEbqj%2Bpqj%2Brq0CrqkABu6tAqatAq6tAq6lAAAMANP%2BLAxQDKwAVAB4AJgAAARQGIyInByM3LgE1NDYzMhc3MwceASUiBhUUFhcTJhc0JwMWMzI2AxTUnDUwOWRJVWLUnD08NmRHTFj%2BkGiPOzPUJNBc0RwaaI8BY5vPDHqcLqdnms8Tcpkwn52UakFwIwHGDP56Tf5BBZQAAAAAAgBY%2F%2FkCqAOGAAMAEwAAASMnNwIyNjURMxEUBiAmNREzERQB2WZ6dkGkYHam%2FvymdgL1YDH84nBgAYP%2BeJejo5cBiP59YAAAAgBY%2F%2FkCqAOHAA8AEwAAJDI2NREzERQGICY1ETMRFBMjNxcBLqRgdqb%2B%2FKZ20mZqdmhwYAGD%2FniXo6OXAYj%2BfWACHpExAAAAAgBY%2F%2FkCqAN7AA8AFgAAJDI2NREzERQGICY1ETMRFBMzFyMnByMBLqRgdqb%2B%2FKZ2gmh6YU1NYWhwYAGD%2FniXo6OXAYj%2BfWACo4Y4OAAAAAADAFj%2F%2BQKoA2wABwAPAB8AAAAmNDYyFhQGMiY0NjIWFAYCMjY1ETMRFAYgJjURMxEUAQsjJDMkJYckJDMkJMqkYHam%2FvymdgLxJDMkIzMlJDMkIzMl%2FXdwYAGD%2FniXo6OXAYj%2BfWAAAAL%2F%2BAAAAngDdwAIAAwAACEjEQEzGwEzARMjNxcBdHj%2B%2FIG%2Fv4H%2B%2FBFmanYBFAGn%2FsIBPv5ZAdKRMQAAAAIAYQAAAoICuwALABMAAAEUBisBFSMRMxUzIAI2NCYrAREzAoKem3J2dnABO8lQYmJufwFxhXd1ArtY%2Fn1Njj3%2B6AAAAQBRAAACXQL1ACkAAAA2NCYjIgYVESMRND4DNzYyFhcWFRQHHgEVFAYrATUzMjY0JiMiBzUBeUY1OUw%2Bdg0RGCYXNpBiGC1oSkqEeykWS1FQQxcMAapFW0JeXP4uAchIOzQlKAwdKCE8RmdBCGhEXnBiMXc5AV0AAwAp%2F%2FgCAALpABUAHgAiAAAhIzUGIyImNDY7ATU0IyIHJzYzMhYVBzUjIhUUFjI2AyMnNwIAZkJvU210Y5F2SlAyYXted3B%2BeTxrUBBmenZHT16dThRqNkZNX2aRLUwnKTwBxWAxAAADACn%2F%2BAIAAukAFQAeACIAACEjNQYjIiY0NjsBNTQjIgcnNjMyFhUHNSMiFRQWMjYDIzcXAgBmQm9TbXRjkXZKUDJhe153cH55PGtQMWZqdkdPXp1OFGo2Rk1fZpEtTCcpPAHFkTEAAAMAKf%2F4AgAC3gAVAB4AJQAAISM1BiMiJjQ2OwE1NCMiByc2MzIWFQc1IyIVFBYyNgMzFyMnByMCAGZCb1NtdGORdkpQMmF7Xndwfnk8a1ChaHphTU1hR09enU4UajZGTV9mkS1MJyk8AkuGODgAAAADACn%2F%2BAIAAtoAFQAeAC8AACEjNQYjIiY0NjsBNTQjIgcnNjMyFhUHNSMiFRQWMjYDIiYjIgcjNDYzMhYzMjUzBgIAZkJvU210Y5F2SlAyYXted3B%2BeTxrUCMaXQ0hAUovKhtgDx5LA0dPXp1OFGo2Rk1fZpEtTCcpPAHCLyw6SC8sggAEACn%2F%2BAIAAtMAFQAeACYALgAAISM1BiMiJjQ2OwE1NCMiByc2MzIWFQc1IyIVFBYyNgA0NjIWFAYiMiY0NjIWFAYCAGZCb1NtdGORdkpQMmF7Xndwfnk8a1D%2B%2ByM0JCQ0uiQkMyQlR09enU4UajZGTV9mkS1MJyk8Aek0IyM0JCQzJCM0JAAABAAp%2F%2FgCAAMYABUAHQAmAC4AACEjNQYjIiY0NjsBNTQjIgcnNjMyFhUCFAYiJjQ2MhM1IyIVFBYyNgI2NCYiBhQWAgBmQm9TbXRjkXZKUDJhe153bUJWQUFWP355PGtQUR4eMR8fR09enU4UajZGTV9mAYJUPj5UP%2F2uLUwnKTwB5R8xHx8xHwAAAAADACn%2F%2BAOOAhwAHwAqADAAACUhHgEzMjcXBiAnBiMiJjQ2OwE1NCMiByc2Mhc2MhYVBTUjIgcGFRQWMjYkJiIGBwUDjv5zAVs%2FWjRAVv79SVCFVHZzZJF2SlAyYfY2SNuP%2FgJ%2BXRMJPGtQAYpKclcFARzmQE4%2FRllgYF%2BcShhqNkZNSkqDc2AgHA4VJyk86EFEOwEAAQAv%2FywCHgIcACAAAAUUBiInNxYyNjQmIgc3LgE0NjIXByYiBhQWMjcXBg8BFgGZPl8kGhMnFhcjDCFliafwU0JFjGdllkJCUmgRRnUmORY5ChcgGQU%2BDJPqmVNRPF2TZkRIUg0hCQADAC%2F%2F%2BAJAAukAAwAUABoAAAEjJzcBIR4BMzI3FwYjIiY0NjIWFSUhNCYiBgGcZnp2AQ7%2BXwRiP2Q0QFaKcJ2g2Zj%2BXwExVHtiAlhgMf3wOkc%2FRlmV%2B5SDcwtDSEsAAAADAC%2F%2F%2BAJAAusAEAAWABoAACUhHgEzMjcXBiMiJjQ2MhYVJSE0JiIGNyM3FwJA%2Fl8EYj9kNEBWinCdoNmY%2Fl8BMVR7YtlmanbZOkc%2FRlmV%2B5SDcwtDSEvpkTEAAAMAL%2F%2F4AkAC3gAQABYAHQAAJSEeATMyNxcGIyImNDYyFhUlITQmIgYTMxcjJwcjAkD%2BXwRiP2Q0QFaKcJ2g2Zj%2BXwExVHtiamh6YU1NYdk6Rz9GWZX7lINzC0NISwFthjg4AAAEAC%2F%2F%2BAJAAtMABwAPACAAJgAAEjQ2MhYUBiIyJjQ2MhYUBhMhHgEzMjcXBiMiJjQ2MhYVJSE0JiIGoiQzJCUzuiQkMyQkjv5fBGI%2FZDRAVopwnaDZmP5fATFUe2ICfDQjIzQkJDMkIzQk%2FoE6Rz9GWZX7lINzC0NISwAAAv%2FoAAAAyALpAAMABwAAEyMnNwczESPIZnp2DXBwAlhgMdX97AAAAAIAUQAAATgC5AADAAcAABMjNxcHMxEjvl5qbudwcAJYjDGf%2FewAAAAC%2F%2BAAAAE8At4AAwAKAAATMxEjEzMXIycHI1FwcAloemFNTWECFP3sAt6GODgAAAAD%2F%2FgAAAEsAtMABwAPABMAAAI0NjIWFAYiMiY0NjIWFAYHMxEjCCQzJCUzuiQkMyQkt3BwAnw0IyM0JCQzJCM0JET97AAAAAACADL%2F%2BAIjAvUAGAAgAAABJicHJzcmJzcWFzcXBxYVFAYiJjQ2MzIXAhYyNjQmIgYBjyZVXTleAkdfJCVVO1iwguCPjGNHJe5NfU1NfU0BtT9VOzY8Azs3HCM2Njm%2Fs3uYhtOHJf76U1N1VFQAAAAAAgBRAAACOwLaABIAIwAAExEjETMVPgEzMhYVESMRNCMiBjciJiMiByM0NjMyFjMyNTMGwXBwG183Wm9wejpW1BpdDSEBSi8qG2APHksDASD%2B4AIUYTE4bmj%2BugEkk03rLyw6SC8sggADAC7%2F%2BAJeAukAAwALABMAAAEjJzcCMjY0JiIGFAQiJjQ2MhYUAYtmenYkkl9fkl8BIPCgoPCgAlhgMf1zYZphYZrFn%2Bafn%2BYAAAAAAwAu%2F%2FgCXgLpAAcADwATAAA2MjY0JiIGFAQiJjQ2MhYUAyM3F%2F2SX1%2BSXwEg8KCg8KDlZmp2XGGaYWGaxZ%2Fmn5%2FmAcGRMQAAAwAu%2F%2FgCXgLeAAcADwAWAAA2MjY0JiIGFAQiJjQ2MhYUATMXIycHI%2F2SX1%2BSXwEg8KCg8KD%2BtWh6YU1NYVxhmmFhmsWf5p%2Bf5gJHhjg4AAADAC7%2F%2BAJeAtoABwAPACAAADYyNjQmIgYUBCImNDYyFhQDIiYjIgcjNDYzMhYzMjUzBv2SX1%2BSXwEg8KCg8KDOGl0NIQFKLyobYA8eSwNcYZphYZrFn%2Bafn%2BYBvi8sOkgvLIIABAAu%2F%2FgCXgLTAAcADwAXAB8AABI0NjIWFAYiMiY0NjIWFAYCMjY0JiIGFAQiJjQ2MhYUqCQzJCUzuiQkMyQku5JfX5JfASDwoKDwoAJ8NCMjNCQkMyQjNCT%2BBGGaYWGaxZ%2Fmn5%2FmAAADADAAiAIIAoAABwAPABMAADY0NjIWFAYiAjQ2MhYUBiIHIRUh0is%2BLCw%2BKys%2BLCw%2BzQHY%2Fii0PisrPiwBjz4rKz4sOV4AAAADAC7%2FlwJeAm4AFQAcACMAAAUiJwcjNy4BNTQ2MzIXNzMHHgEVFAYCBhQXEyYjETI2NCcDFgFGHCUwZEA9RqB4LCcsZD42PaDBXz%2BRERdJXzGMBwgHaIkkfEpznwxehCZ1RXOfAcBhpzIBNgT%2BpGGcL%2F7VAQAAAAACAEv%2F%2BAI1AukAAwAWAAABIyc3ExEzESM1DgEjIiY1ETMRFDMyNgGJZnp2pnBwG183Wm9wejpWAlhgMf4LASD97GExOG5oAUb%2B3JNNAAAAAAIAS%2F%2F4AjUC6wASABYAACURMxEjNQ4BIyImNREzERQzMjYDIzcXAcVwcBtfN1pvcHo6Vmdmanb0ASD97GExOG5oAUb%2B3JNNAbCRMQACAEv%2F%2BAI1At4AEgAZAAAlETMRIzUOASMiJjURMxEUMzI2AzMXIycHIwHFcHAbXzdab3B6Ola3aHphTU1h9AEg%2FexhMThuaAFG%2FtyTTQI0hjg4AAADAEv%2F%2BAI1AtMABwAPACIAABI0NjIWFAYiMiY0NjIWFAYTETMRIzUOASMiJjURMxEUMzI2oiQzJCUzuiQkMyQkE3BwG183Wm9wejpWAnw0IyM0JCQzJCM0JP6cASD97GExOG5oAUb%2B3JNNAAACAAn%2FLAI3AwUAEAAUAAAXIic3FjI2NTQDMxsBMwEOARMjNxeUSTszI0sv13ifn3j%2B%2FhdWhGZqdtQ1WyE2IA4CFf54AYj9iDQ8A0iRMQAAAAIAUf8%2BAnEC5gAUABwAAAAWFAYjIicmLwERIxEzET4CNzYzEjY0JiIGFBYB4ZCPd1I9DgYHcHADCSITMjkvXVyIVlYCHJzvmTQMCAn%2B9QOo%2FuUDCxwLHP4%2FaY1paJBnAAMACf8sAjcC0wAHAA8AIAAAEjQ2MhYUBiIyJjQ2MhYUBgEiJzcWMjY1NAMzGwEzAQ4BiiQzJCUzuiQkMyQk%2FvpJOzMjSy%2FXeJ%2BfeP7%2BF1YCfDQjIzQkJDMkIzQk%2FNQ1WyE2IA4CFf54AYj9iDQ8AAABAFEAAADBAhQAAwAAEzMRI1FwcAIU%2FewAAAAAAgA1AAAD9AK7AA8AFwAAARUhFSEVIRUhFSEiJhA2MwYUFjsBESMiA%2Bj%2BiwFP%2FrEBgf2ll83Nl%2BSLZFlZZQK7b7lpu2%2FIASvI98yRAe0AAAADAC7%2F%2BAQAAhwAGwAjACkAACUhHgEzMjcXBiMiJicGIyImNDYzMhc%2BATMyFhUEMjY0JiIGFCUhNCYiBgQA%2Fl8EYj9kNEBWikFyJVGNeKCgeIxSJXM%2Bbpj8%2FZJfX5JfAcEBMVR7Ytk6Rz9GWTYyaJ%2Fmn2kzNoNzymGaYWGadENISwAAAAABAKYCWAICAt4ABgAAATMXIycHIwEgaHphTU1hAt6GODgAAAACAFACRwEpAxgABwAPAAAAFAYiJjQ2MgY2NCYiBhQWASlCVkFBVhIeHjEfHwLZVD4%2BVD%2BgHzEfHzEfAAABAF8C4wGrA2gAEAAAASImIyIHIzQ2MzIWMzI1MwYBTxpdDSEBSi8qG2APHksDAuMvLDpILyyCAAEAUgDiAcgBJQADAAA3NSEVUgF24kNDAAEAUgDjAoMBJQADAAA3NSEVUgIx40JCAAEAIwH5AK0CwQAJAAATFhQGIiY0PwEzhhwkNiUSOz0CaxI9IyI3GlUAAAAAAQAjAfQArQK8AAkAABMmNDYyFhQPASNJGyQ2JRI7PQJKED8jIjcaVQAAAAABACP%2FrwCtAHcACQAANyY0NjIWFA8BI0kbJDYlEjs9BRE%2BIyI3GlUAAgAjAfkBRgLBAAkAEwAAExYUBiImND8BMxcWFAYiJjQ%2FATOGHCQ2JRI7PXIcJDYlEjs9AmsSPSMiNxpVVhI9IyI3GlUAAAAAAgAjAfQBRQK8AAkAEwAAEyY0NjIWFA8BIzcmNDYyFhQPASNJGyQ2JRI7Pb4bJDYlEjs9AkoQPyMiNxpVVhA%2FIyI3GlUAAAAAAgAj%2F68BRQB3AAkAEwAANyY0NjIWFA8BIzcmNDYyFhQPASNJGyQ2JRI7Pb4bJDYlEjs9BRE%2BIyI3GlVWET4jIjcaVQABAFUAuwFXAb0ABwAAEjQ2MhYUBiJVTGpMTGoBB2pMTGpMAAABADgAQAEbAaAABQAAAQcXIyc3ARtzc2x3dwGgsLCwsAAAAAABAEIAQAElAaAABQAANyczFwcjtXNsd3ds8LCwsAAAAAH%2F%2FgAAAn8CuwADAAAJASMBAn%2F%2BAIECAAK7%2FUUCuwAAAQA0AAQCzALMACcAABM1Mz4BMzIXBy4BIgYHMxUhBhQXIRUjFjMyNjcXBiMiJicjNTMmNDc0aCGoa59dRyxPdF0X7v79AQMBAeY2bTZNK0ddmGihI21aAwEBiVZrgnNaLyY9OFYMMRZWaCksVnN3ZVYYMAsAAAAAAAABAAAY2gABBCIYAAAKAMwACQAK%2F%2BMACQAkAAYACQA3%2F%2BoACQA5%2F%2BoACQA6%2F%2B8ACQA8%2F%2BcACQCGAA0ACQDJ%2F%2BMACgAJ%2F%2B0ACgAR%2F4IACgAS%2F7cACgAX%2F%2BoACgAd%2F%2FcACgAk%2F9IACgAt%2F%2B8ACgBS%2F%2FUACgCG%2F8wACgCw%2F%2FAACgDP%2F%2FIACwAL%2F%2FYACwAT%2F%2B0ACwAX%2F%2BoACwAZ%2F%2BwACwAb%2F%2FAACwAc%2F%2FYACwAy%2F%2BoACwA2%2F%2FUACwBE%2F%2B0ACwBJ%2F%2FQACwBNAFwACwBR%2F%2FEACwBS%2F%2BUACwBW%2F%2B8ACwBX%2F%2FMACwBY%2F%2BsACwBZ%2F%2FMACwBa%2F%2FEACwBe%2F%2FYACwCw%2F%2BwADAAM%2F%2FYADQAk%2F9QADQAt%2F%2BwADQBS%2F%2FUADQBZAAkADQBcAAcADQCG%2F84ADQCsAAgADQCuACAADQCvAA8ADQCw%2F%2B8ADgAW%2F%2FYAEAAU%2F%2BUAEAAV%2F%2B0AEAAW%2F%2B0AEAAa%2F%2B0AEAAk%2F%2FQAEAAt%2F%2BMAEAA2%2F%2FgAEAA3%2F8cAEAA5%2F%2BYAEAA6%2F%2B0AEAA7%2F%2BQAEAA8%2F9MAEAA9%2F%2B0AEABJ%2F%2FcAEABX%2F%2FcAEABb%2F%2BkAEABd%2F%2B8AEACG%2F%2FcAEQAK%2F4IAEQAT%2F%2FUAEQAU%2F%2BEAEQAZ%2F%2FYAEQAa%2F%2B8AEQAy%2F%2B0AEQA3%2F8YAEQA4%2F%2FEAEQA5%2F8YAEQA6%2F9EAEQA8%2F8IAEQBJ%2F%2FgAEQBX%2F%2FAAEQBZ%2F9wAEQBa%2F%2BQAEQBc%2F9wAEQDI%2F3MAEQDJ%2F3MAEgAS%2FucAEgAT%2F%2BsAEgAX%2F9YAEgAZ%2F%2BoAEgAb%2F%2B0AEgAc%2F%2FYAEgAk%2F8MAEgAt%2F%2FEAEgAy%2F%2BcAEgA2%2F%2FAAEgBE%2F9cAEgBJ%2F%2FMAEgBR%2F%2BQAEgBS%2F9IAEgBW%2F9UAEgBY%2F%2BYAEgBZ%2F%2FYAEgBa%2F%2FUAEgBb%2F%2B8AEgBd%2F%2BYAEgCG%2F74AEgCPAAgAEgCw%2F%2BgAEwAM%2F%2B0AEwAR%2F%2FUAEwAS%2F%2BgAEwAk%2F%2FYAEwA%2F%2F%2FMAEwBA%2F%2BsAEwDR%2F%2FIAFQAQ%2F%2FUAFQB3%2F%2B8AFgAS%2F%2FAAFwAK%2F%2BsAFwAM%2F%2FEAFwAU%2F%2FQAFwAa%2F%2FMAFwA3%2F%2BwAFwA5%2F%2FMAFwA8%2F%2FEAFwA%2F%2F%2B4AFwBA%2F%2FEAFwBw%2F%2BgAGAAS%2F%2FIAGQAS%2F%2FMAGgAQ%2F%2BYAGgAR%2F74AGgAS%2F8QAGgAX%2F%2BwAGgAk%2F9gAGgA5AAYAGgA8ABAAGgBj%2F%2BwAGgB3%2F%2BYAGgCG%2F9QAGgDR%2F8UAGwAM%2F%2FAAGwAS%2F%2FEAGwA%2F%2F%2FYAGwBA%2F%2FAAHAAM%2F%2B0AHAAR%2F%2FQAHAAS%2F%2BgAHAAk%2F%2FYAHAA%2F%2F%2FQAHABA%2F%2BwAHADR%2F%2FIAHQAK%2F%2FcAHQA3%2F8kAHQA5%2F%2BQAHQA6%2F%2BsAHQA8%2F9MAHQBX%2F%2FgAHQBZ%2F%2FYAHQBc%2F%2FcAHQDJ%2F8IAIwA3%2F%2BcAIwA5%2F%2FAAIwA6%2F%2FYAIwA8%2F%2BYAIwDJ%2F%2B4AJAAK%2F9IAJAAN%2F9QAJAAQ%2F%2FQAJAAT%2F%2FYAJAAU%2F%2BsAJAAZ%2F%2FYAJAAi%2F%2BsAJAAy%2F%2B4AJAA3%2F8kAJAA4%2F%2B8AJAA5%2F9gAJAA6%2F98AJAA8%2F80AJAA%2F%2F8kAJABA%2F%2FMAJABJ%2F%2FcAJABS%2F%2FUAJABX%2F%2BgAJABY%2F%2FgAJABZ%2F%2BMAJABa%2F%2BcAJABc%2F%2BMAJABu%2F%2FQAJACw%2F%2FcAJADI%2F8sAJADJ%2F8sAJQAM%2F%2B8AJQAS%2F%2FMAJQAk%2F%2FgAJQAt%2F%2FkAJQA3%2F%2B8AJQA5%2F%2FQAJQA6%2F%2FkAJQA7%2F%2FYAJQA8%2F%2B0AJQA%2F%2F%2FIAJQBA%2F%2BwAJQBJ%2F%2FgAJQBW%2F%2FkAJQBX%2F%2FcAJQBZ%2F%2FgAJQBa%2F%2FkAJQBb%2F%2FMAJQBc%2F%2FgAJQBd%2F%2FsAJgAQ%2F%2FYAJgAy%2F%2FEAJgA2%2F%2FsAJgBR%2F%2FsAJgBS%2F%2FEAJgBW%2F%2FkAJgBY%2F%2FkAJgCuABcAJgCw%2F%2FMAKAAy%2F%2FYAKABJ%2F%2FoAKABS%2F%2FYAKABX%2F%2FgAKABY%2F%2FkAKACw%2F%2FYAKQAR%2F8gAKQAS%2F9IAKQAk%2F9UAKQAt%2F%2B8AKQBE%2F%2BoAKQBJ%2F%2FkAKQBR%2F%2FEAKQBS%2F%2FEAKQBW%2F%2BsAKQBX%2F%2FsAKQBY%2F%2FQAKQBb%2F%2FcAKQBd%2F%2FAAKQCG%2F88AKQCf%2F%2FgAKQCsAA4AKQCt%2F%2FYAKQCuABUAKQCw%2F%2BwAKQDA%2F%2FEAKgAM%2F%2FYAKgAk%2F%2FkAKgA3%2F%2FgAKgA5%2F%2FgAKgA7%2F%2FsAKgA8%2F%2FUAKgBA%2F%2FYAKgBJ%2F%2FcAKgBX%2F%2FcAKgBZ%2F%2FcAKgBa%2F%2FgAKgBb%2F%2FoAKgBc%2F%2FgALABE%2F%2FoALABJ%2F%2FkALABL%2F%2FsALABP%2F%2FsALABR%2F%2FsALABS%2F%2FcALABW%2F%2FoALABX%2F%2FgALABY%2F%2FsALABd%2F%2FsALACw%2F%2FcALQAR%2F%2FcALQAS%2F%2BsALQAk%2F%2FcALQAt%2F%2FgALQBE%2F%2FkALQBJ%2F%2FkALQBL%2F%2FsALQBP%2F%2FsALQBR%2F%2FsALQBS%2F%2FgALQBW%2F%2FYALQBX%2F%2FkALQBY%2F%2FoALQBb%2F%2FoALQBd%2F%2FgALQCG%2F%2FcALQCw%2F%2FUALgAQ%2F%2BUALgAy%2F%2BEALgA2%2F%2FQALgBE%2F%2FcALgBJ%2F%2FcALgBR%2F%2FsALgBS%2F9cALgBX%2F%2FMALgBY%2F%2BoALgBZ%2F%2BYALgBa%2F%2BMALgBc%2F%2BYALgBu%2F%2FYALgCsACIALgCvABMALgCw%2F98ALgDP%2F%2FMALwAK%2F6kALwAN%2F6gALwAQ%2F78ALwAU%2F%2BoALwAi%2F%2BgALwAy%2F%2BwALwA3%2F7gALwA4%2F%2B8ALwA5%2F8QALwA6%2F8gALwA8%2F74ALwA%2F%2F7wALwBJ%2F%2FMALwBS%2F%2FcALwBX%2F%2BEALwBY%2F%2FkALwBZ%2F8QALwBa%2F88ALwBc%2F8QALwBu%2F%2FYALwB3%2F7YALwCw%2F%2FsALwDI%2F6kALwDJ%2F6kAMgAM%2F%2BoAMgAR%2F%2B0AMgAS%2F%2BQAMgAk%2F%2B4AMgAt%2F%2BsAMgA3%2F%2B0AMgA5%2F%2FQAMgA6%2F%2FkAMgA7%2F%2BcAMgA8%2F%2BkAMgA9%2F%2FQAMgA%2F%2F%2B4AMgBA%2F%2BcAMgBE%2F%2FsAMgBL%2F%2FsAMgBM%2F%2FsAMgBP%2F%2FsAMgBR%2F%2FsAMgBW%2F%2FoAMgBb%2F%2FQAMgBd%2F%2FkAMgBg%2F%2FUAMgCG%2F%2B0AMgCw%2F%2FsAMwAM%2F%2B4AMwAR%2F8EAMwAS%2F9AAMwAk%2F9oAMwAt%2F%2BEAMwA7%2F%2B0AMwA8%2F%2FgAMwA9%2F%2FkAMwBA%2F%2B0AMwBE%2F%2FYAMwBS%2F%2FoAMwBW%2F%2FoAMwCG%2F88AMwCw%2F%2FMAMwDP%2F%2FYANABA%2F%2FQANABNAD0ANABg%2F%2FsANQAt%2F%2FsANQA3%2F%2FYANQA5%2F%2FcANQA8%2F%2FMANQA%2F%2F%2FQANQBE%2F%2FYANQBJ%2F%2FsANQBR%2F%2FsANQBS%2F%2FEANQBX%2F%2FoANQBY%2F%2FcANQCw%2F%2BwANQDP%2F%2FEANgAS%2F%2FUANgAk%2F%2FkANgA5%2F%2FsANgA8%2F%2FoANgBJ%2F%2FUANgBR%2F%2FoANgBW%2F%2FoANgBX%2F%2FQANgBY%2F%2FoANgBZ%2F%2FYANgBa%2F%2FYANgBb%2F%2FcANgBc%2F%2FYANgBd%2F%2FoANwAJ%2F%2FIANwAQ%2F8cANwAR%2F8YANwAS%2F8kANwAX%2F%2BAANwAd%2F8kANwAj%2F%2BUANwAk%2F8kANwAt%2F%2FMANwAy%2F%2B0ANwBE%2F7cANwBJ%2F%2BsANwBL%2F%2FsANwBM%2F%2FsANwBP%2F%2FsANwBR%2F88ANwBS%2F8AANwBW%2F7gANwBX%2F%2FYANwBY%2F8wANwBZ%2F7wANwBa%2F78ANwBb%2F70ANwBc%2F7wANwBd%2F7gANwBu%2F%2FYANwCG%2F8oANwCf%2F%2FMANwCsABgANwCt%2F%2BwANwCuACAANwCvAAgANwCw%2F9gANwDA%2F88ANwDP%2F8IANwDQ%2F8oAOAAR%2F%2FAAOAAS%2F%2BYAOAAk%2F%2B8AOAAt%2F%2FIAOABE%2F%2FYAOABJ%2F%2FoAOABL%2F%2FoAOABM%2F%2FoAOABP%2F%2FoAOABR%2F%2FsAOABS%2F%2FcAOABW%2F%2FMAOABX%2F%2FkAOABY%2F%2FcAOABb%2F%2FoAOABd%2F%2FYAOACG%2F%2B0AOACw%2F%2FMAOQAJ%2F%2FIAOQAQ%2F%2BYAOQAR%2F8YAOQAS%2F8cAOQAUAAUAOQAX%2F%2BwAOQAd%2F%2BQAOQAj%2F%2FAAOQAk%2F9gAOQAt%2F%2FMAOQAy%2F%2FQAOQA2%2F%2FoAOQBE%2F9UAOQBJ%2F%2FoAOQBR%2F%2BIAOQBS%2F9UAOQBW%2F9QAOQBX%2F%2FsAOQBY%2F%2BcAOQBb%2F%2FcAOQBd%2F%2BoAOQCG%2F9MAOQCf%2F%2FQAOQCsADMAOQCt%2F%2FIAOQCuABsAOQCvABsAOQCw%2F9oAOQDA%2F%2BIAOQDP%2F90AOQDQ%2F%2B8AOgAJ%2F%2FYAOgAQ%2F%2B0AOgAR%2F9EAOgAS%2F9AAOgAX%2F%2FMAOgAd%2F%2BsAOgAj%2F%2FYAOgAk%2F98AOgAt%2F%2FQAOgAy%2F%2FkAOgBE%2F9sAOgBR%2F%2BcAOgBS%2F9oAOgBW%2F9kAOgBY%2F%2BsAOgBb%2F%2FsAOgBd%2F%2B8AOgCG%2F9kAOgCf%2F%2FUAOgCsACsAOgCt%2F%2FQAOgCuABgAOgCvABkAOgCw%2F90AOgDA%2F%2BcAOgDP%2F%2BQAOgDQ%2F%2FUAOwAQ%2F%2BUAOwAy%2F%2BcAOwBE%2F%2FkAOwBJ%2F%2FQAOwBR%2F%2FoAOwBS%2F%2BAAOwBX%2F%2FAAOwBY%2F%2BsAOwBZ%2F%2BgAOwBa%2F%2BUAOwBc%2F%2BgAOwBu%2F%2FYAOwCsABQAOwCvAAgAOwCw%2F%2BcAOwDP%2F%2FEAPAAJ%2F%2B4APAAQ%2F9MAPAAR%2F8IAPAAS%2F8YAPAAUAA8APAAX%2F%2BAAPAAZ%2F%2FYAPAAd%2F9QAPAAj%2F%2BQAPAAk%2F80APAAt%2F%2FYAPAAy%2F%2BkAPAA2%2F%2FcAPABE%2F88APABJ%2F%2FUAPABR%2F90APABS%2F8QAPABW%2F8wAPABX%2F%2FkAPABY%2F9wAPABZ%2F%2FgAPABa%2F%2FMAPABb%2F%2BsAPABc%2F%2FcAPABd%2F9gAPABu%2F%2FEAPACG%2F8kAPACf%2F%2FIAPACsAD0APACt%2F%2B0APACuABYAPACvACYAPACw%2F9QAPADA%2F9wAPADP%2F8sAPADQ%2F%2BAAPQAQ%2F%2B8APQAy%2F%2FQAPQBJ%2F%2FcAPQBR%2F%2FkAPQBS%2F%2FIAPQBX%2F%2FYAPQBY%2F%2FUAPQBZ%2F%2FgAPQBa%2F%2FYAPQBc%2F%2FgAPQCuABIAPQCw%2F%2FQAPgAT%2F%2BsAPgAX%2F%2BUAPgAZ%2F%2BsAPgAb%2F%2FAAPgAc%2F%2FYAPgAk%2F%2FMAPgAy%2F%2BcAPgA2%2F%2FMAPgBE%2F%2BoAPgBJ%2F%2FYAPgBNAFoAPgBR%2F%2B4APgBS%2F%2BMAPgBW%2F%2BgAPgBX%2F%2FYAPgBY%2F%2BsAPgBZ%2F%2FIAPgBa%2F%2FAAPgBd%2F%2B4APgCG%2F%2FUAPgCsABAAPgCw%2F%2BwAPwAK%2F8sAPwAU%2F%2BwAPwAkAAcAPwAy%2F%2FUAPwA3%2F9cAPwA4%2F%2FQAPwA5%2F9gAPwA6%2F%2BEAPwA8%2F9QAPwBX%2F%2FUAPwBZ%2F%2BkAPwBa%2F%2B4APwBc%2F%2BkAPwCGABMAPwDJ%2F8IARAAM%2F%2FAARAAs%2F%2FsARAAt%2F%2FkARAAy%2F%2FoARAA2%2F%2FsARAA3%2F8sARAA4%2F%2FgARAA5%2F90ARAA6%2F%2BYARAA7%2F%2FsARAA8%2F9EARAA9%2F%2FcARAA%2F%2F94ARABA%2F%2BkARABJ%2F%2FwARABX%2F%2FoARABZ%2F%2FoARABa%2F%2FsARABc%2F%2FoARABg%2F%2FUARADI%2F%2FAARADJ%2F%2FAARgAM%2F%2FMARgAQ%2F%2FEARgAy%2F%2FYARgA2%2F%2FoARgA3%2F7AARgA4%2F%2FoARgA5%2F%2BoARgA6%2F%2B8ARgA8%2F9QARgA%2F%2F%2BwARgBA%2F%2FAARgBE%2F%2FwARgBS%2F%2FUARgBW%2F%2FwARgCw%2F%2FQARgDP%2F%2FMARwAs%2F%2FsARwAt%2F%2FgARwAy%2F%2FsARwA3%2F%2FsARwA4%2F%2FoARwA9%2F%2FoASAAM%2F%2BkASAAS%2F%2B8ASAAk%2F%2FkASAAs%2F%2FoASAAt%2F%2FcASAA2%2F%2FkASAA3%2F7MASAA4%2F%2FkASAA5%2F9UASAA6%2F9wASAA7%2F%2B8ASAA8%2F8cASAA9%2F%2FIASAA%2F%2F98ASABA%2F%2BcASABJ%2F%2FwASABX%2F%2FwASABZ%2F%2FoASABb%2F%2FUASABc%2F%2FoASABg%2F%2FQASADI%2F%2B4ASADJ%2F%2B4ASQAQ%2F%2BEASQAR%2F%2BAASQAS%2F%2BEASQAd%2F%2BwASQAk%2F9gASQAt%2F%2FoASQA3ABMASQA5AC4ASQA6ACYASQA7ABAASQA8ADkASQBAAA4ASQBE%2F%2FsASQBS%2F%2FMASQBW%2F%2FwASQCG%2F9QASQCsAEoASQCuABIASQCvADEASQCw%2F%2BEASQDP%2F%2BUATAAs%2F%2FsATAAt%2F%2FgATAAy%2F%2FsATAA3%2F%2FsATAA4%2F%2FoATAA9%2F%2FoATQBNABAATgAQ%2F%2BQATgAy%2F%2B8ATgA3%2F78ATgA4%2F%2FsATgA5%2F%2FgATgA8%2F%2B0ATgBE%2F%2FcATgBS%2F%2BcATgBW%2F%2FsATgCw%2F%2BYATgDP%2F%2BwATwAs%2F%2FsATwAt%2F%2FgATwAy%2F%2FsATwA3%2F%2FsATwA4%2F%2FoATwA9%2F%2FoATwB3%2F7cAUQAM%2F%2FAAUQAN%2F%2FgAUQAs%2F%2FsAUQAt%2F%2FkAUQAy%2F%2FoAUQA2%2F%2FsAUQA3%2F8sAUQA4%2F%2FgAUQA5%2F90AUQA6%2F%2BYAUQA7%2F%2FsAUQA8%2F9EAUQA9%2F%2FYAUQA%2F%2F90AUQBA%2F%2BkAUQBJ%2F%2FsAUQBX%2F%2FkAUQBZ%2F%2FoAUQBa%2F%2FoAUQBc%2F%2FkAUQBg%2F%2FUAUQDI%2F%2B8AUQDJ%2F%2B8AUgAK%2F%2FUAUgAM%2F%2BUAUgAN%2F%2FUAUgAS%2F%2BsAUgAi%2F%2FYAUgAk%2F%2FUAUgAs%2F%2FcAUgAt%2F%2FIAUgA2%2F%2FUAUgA3%2F8AAUgA4%2F%2FcAUgA5%2F9UAUgA6%2F9oAUgA7%2F%2BAAUgA8%2F8QAUgA9%2F%2BwAUgA%2F%2F9sAUgBA%2F%2BMAUgBJ%2F%2FgAUgBX%2F%2FgAUgBZ%2F%2FcAUgBa%2F%2FkAUgBb%2F%2B0AUgBc%2F%2FYAUgBd%2F%2FoAUgBg%2F%2B8AUgCG%2F%2FYAUgDI%2F%2BYAUgDJ%2F%2BYAVABNADoAVQAJ%2F%2FMAVQAM%2F%2B4AVQAQ%2F%2BQAVQAR%2F9MAVQAS%2F9UAVQAd%2F%2FAAVQAk%2F9QAVQAt%2F9YAVQA3%2F7wAVQA7%2F%2BIAVQA8%2F%2FkAVQA9%2F%2FIAVQBA%2F%2B0AVQBE%2F%2FsAVQBS%2F%2FYAVQBg%2F%2FYAVQCG%2F9MAVQCw%2F%2BQAVQDP%2F%2BUAVgAM%2F%2BwAVgAS%2F%2FYAVgAk%2F%2FsAVgAs%2F%2FoAVgAy%2F%2FsAVgA3%2F7kAVgA4%2F%2FcAVgA5%2F%2BIAVgA6%2F%2BcAVgA7%2F%2FgAVgA8%2F9MAVgA%2F%2F%2BYAVgBA%2F%2BsAVgBZ%2F%2FwAVgBb%2F%2FwAVgBg%2F%2FYAVwA3%2F8YAVwA4%2F%2FoAVwA5%2F%2B4AVwA6%2F%2FQAVwA8%2F98AVwA%2F%2F%2FAAVwBA%2F%2FQAVwBS%2F%2FwAWAAM%2F%2FEAWAAs%2F%2FsAWAAt%2F%2FgAWAAy%2F%2FsAWAA3%2F88AWAA4%2F%2FsAWAA5%2F%2BIAWAA6%2F%2BcAWAA7%2F%2FkAWAA8%2F90AWAA9%2F%2FkAWAA%2F%2F%2BwAWABA%2F%2B4AWQAM%2F%2FMAWQANAAkAWQAR%2F9wAWQAS%2F9gAWQAd%2F%2FcAWQAk%2F%2BMAWQAt%2F%2BYAWQA3%2F7wAWQA7%2F%2BgAWQA8%2F%2FgAWQA9%2F%2FoAWQBA%2F%2FIAWQBE%2F%2FkAWQBS%2F%2FcAWQBW%2F%2FkAWQCG%2F%2BAAWQCw%2F%2B8AWQDP%2F%2B4AWgAM%2F%2FEAWgAR%2F%2BMAWgAS%2F90AWgAk%2F%2BcAWgAt%2F%2BQAWgA3%2F78AWgA7%2F%2BYAWgA8%2F%2FMAWgA9%2F%2FgAWgBA%2F%2FAAWgBE%2F%2FsAWgBS%2F%2FkAWgBW%2F%2FwAWgCG%2F%2BMAWgCw%2F%2FIAWgDP%2F%2FIAWwAQ%2F%2BgAWwAy%2F%2FQAWwA3%2F74AWwA4%2F%2FoAWwA5%2F%2FgAWwA8%2F%2B0AWwBE%2F%2FsAWwBS%2F%2BwAWwCw%2F%2BoAWwDP%2F%2BoAXAAM%2F%2FUAXAANAAYAXAAR%2F9wAXAAS%2F9sAXAAd%2F%2FcAXAAk%2F%2BMAXAAt%2F%2BgAXAA3%2F7wAXAA7%2F%2BkAXAA8%2F%2FgAXAA9%2F%2FoAXABA%2F%2FUAXABE%2F%2FkAXABS%2F%2FcAXABW%2F%2FoAXACG%2F%2BAAXACw%2F%2B8AXADP%2F%2B4AXQAQ%2F%2B8AXQAs%2F%2FsAXQAy%2F%2FoAXQA3%2F7cAXQA4%2F%2FYAXQA5%2F%2BwAXQA6%2F%2FAAXQA8%2F9oAXQA%2F%2F%2B4AXQBA%2F%2FAAXQBS%2F%2FkAXQCw%2F%2FkAXQDP%2F%2FEAXgAy%2F%2FQAXgBE%2F%2FYAXgBNAFIAXgBS%2F%2B8AXgBW%2F%2FYAXgBY%2F%2FQAXgCw%2F%2FUAXwBNADMAYAAM%2F%2FYAbgAk%2F%2FMAbgAt%2F%2FQAbgA3%2F%2FQAbgA7%2F%2FQAbgA8%2F%2FAAbgCG%2F%2FQAcAAX%2F%2BgAdwAU%2F%2BMAdwAV%2F%2BcAdwAW%2F%2BYAdwAa%2F%2BwAdwBP%2F7cAfwA3%2F%2BwAfwA5%2F%2B4AfwA6%2F%2FEAfwA8%2F%2B0AjgBgAAoAngAM%2F%2BoAngAR%2F%2BAAngAS%2F%2BIAngAk%2F%2B0AngAt%2F%2BgAngA3%2F%2B4AngA5%2F%2FQAngA6%2F%2FoAngA7%2F%2BIAngA8%2F%2BgAngA9%2F%2FMAngA%2F%2F%2B8AngBA%2F%2BcAngBb%2F%2FkAngBd%2F%2FsAngCG%2F%2B0AnwAM%2F%2FAAnwAS%2F%2FEAnwAk%2F%2FkAnwAs%2F%2FgAnwAt%2F%2FkAnwAy%2F%2FsAnwA2%2F%2FsAnwA3%2F%2FEAnwA4%2F%2FYAnwA5%2F%2FAAnwA6%2F%2FMAnwA7%2F%2FEAnwA8%2F%2B4AnwA9%2F%2FkAnwA%2F%2F%2FYAnwBA%2F%2FQAnwBJ%2F%2FoAnwBX%2F%2FkAnwBZ%2F%2FkAnwBa%2F%2FsAnwBb%2F%2FcAnwBc%2F%2FkArQANABIArQA%2FAAkArQBAABsArQBgABAArgANACkArgAiABEArwANABUArwBAABAArwBgAAYAsAAK%2F%2FcAsAAM%2F%2B0AsAAN%2F%2FcAsAAS%2F%2B0AsAAk%2F%2FYAsAAs%2F%2FoAsAAt%2F%2FQAsAA2%2F%2FgAsAA3%2F9gAsAA4%2F%2FcAsAA5%2F94AsAA6%2F%2BMAsAA7%2F%2BIAsAA8%2F9kAsAA9%2F%2B4AsAA%2F%2F%2FAAsABA%2F%2B0AsABJ%2F%2FsAsABX%2F%2FoAsABZ%2F%2FkAsABa%2F%2FwAsABb%2F%2FMAsABc%2F%2FoAsABd%2F%2FwAsABg%2F%2FYAsACG%2F%2FkAsADI%2F%2B4AsADJ%2F%2B4AyAAR%2F2kAyAAk%2F8MAyAAt%2F%2FIAyAAy%2F%2FUAyABE%2F%2BsAyABS%2F9wAyABW%2F%2BgAyACG%2F78AyACw%2F%2B0AyQAJ%2F%2BoAyQAR%2F2kAyQAS%2F6wAyQAd%2F7QAyQAj%2F%2BQAyQAk%2F8MAyQAt%2F%2FIAyQAy%2F%2FUAyQBE%2F%2BsAyQBS%2F9wAyQBW%2F%2BgAyQBu%2F%2FQAyQCG%2F78AyQCw%2F%2B0AyQDP%2F%2FAAzwA3%2F8oAzwA5%2F%2B8AzwA6%2F%2FUAzwA8%2F%2BAA0AAK%2F%2FIA0AAt%2F%2FMA0AA3%2F8IA0AA5%2F90A0AA6%2F%2BQA0AA7%2F%2FAA0AA8%2F8sA0AA9%2F%2FUA0ABJ%2F%2FMA0ABW%2F%2FYA0ABX%2F%2FMA0ABZ%2F%2B4A0ABa%2F%2FIA0ABb%2F%2BsA0ABc%2F%2B4A0ABd%2F%2FQA0QAT%2F%2FUA0QAUAAoA0QAX%2F9YA0QAZ%2F%2FQAAAAAABgBJgABAAAAAAAAAG8A4AABAAAAAAABAAoBZgABAAAAAAACAAcBgQABAAAAAAADACIBzwABAAAAAAAEABICGAABAAAAAAAFAA0CRwABAAAAAAAGABICewABAAAAAAAHAC8C7gABAAAAAAAIABEDQgABAAAAAAAJABEDeAABAAAAAAANAJAErAABAAAAAAAOABoFcwADAAEECQAAAN4AAAADAAEECQABABQBUAADAAEECQACAA4BcQADAAEECQADAEQBiQADAAEECQAEACQB8gADAAEECQAFABoCKwADAAEECQAGACQCVQADAAEECQAHAF4CjgADAAEECQAIACIDHgADAAEECQAJACIDVAADAAEECQANASADigADAAEECQAOADQFPQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMQAtADIAMAAxADIALAAgAEoAdQBsAGkAZQB0AGEAIABVAGwAYQBuAG8AdgBzAGsAeQAgACgAagB1AGwAaQBlAHQAYQAuAHUAbABhAG4AbwB2AHMAawB5AEAAZwBtAGEAaQBsAC4AYwBvAG0AKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlAHMAIAAnAE0AbwBuAHQAcwBlAHIAcgBhAHQAJwAAQ29weXJpZ2h0IChjKSAyMDExLTIwMTIsIEp1bGlldGEgVWxhbm92c2t5IChqdWxpZXRhLnVsYW5vdnNreUBnbWFpbC5jb20pLCB3aXRoIFJlc2VydmVkIEZvbnQgTmFtZXMgJ01vbnRzZXJyYXQnAABNAG8AbgB0AHMAZQByAHIAYQB0AABNb250c2VycmF0AABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABKAHUAbABpAGUAdABhAFUAbABhAG4AbwB2AHMAawB5ADoAIABNAG8AbgB0AHMAZQByAHIAYQB0ADoAIAAyADAAMQAwAABKdWxpZXRhVWxhbm92c2t5OiBNb250c2VycmF0OiAyMDEwAABNAG8AbgB0AHMAZQByAHIAYQB0AC0AUgBlAGcAdQBsAGEAcgAATW9udHNlcnJhdC1SZWd1bGFyAABWAGUAcgBzAGkAbwBuACAAMgAuADAAMAAxAABWZXJzaW9uIDIuMDAxAABNAG8AbgB0AHMAZQByAHIAYQB0AC0AUgBlAGcAdQBsAGEAcgAATW9udHNlcnJhdC1SZWd1bGFyAABNAG8AbgB0AHMAZQByAHIAYQB0ACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAASgB1AGwAaQBlAHQAYQAgAFUAbABhAG4AbwB2AHMAawB5AC4AAE1vbnRzZXJyYXQgaXMgYSB0cmFkZW1hcmsgb2YgSnVsaWV0YSBVbGFub3Zza3kuAABKAHUAbABpAGUAdABhACAAVQBsAGEAbgBvAHYAcwBrAHkAAEp1bGlldGEgVWxhbm92c2t5AABKAHUAbABpAGUAdABhACAAVQBsAGEAbgBvAHYAcwBrAHkAAEp1bGlldGEgVWxhbm92c2t5AABUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAAAVGhpcyBGb250IFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBTSUwgT3BlbiBGb250IExpY2Vuc2UsIFZlcnNpb24gMS4xLiBUaGlzIGxpY2Vuc2UgaXMgYXZhaWxhYmxlIHdpdGggYSBGQVEgYXQ6IGh0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMAABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAGh0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMAAACAAAAAAAA%2F7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAANMAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAIoA2gCDAJMA8gDzAI0AlwCIAMMA3gDxAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoA1wCwALEA2ADdANkAsgCzALYAtwDEALQAtQDFAIcAvgC%2FALwBAgRFdXJvAAAAAAEAAf%2F%2FAA8AAAABAAAAAMxtsVUAAAAAyu8ntAAAAADMj2a2%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%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%20700%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAQAQAABAAARkZUTVy5XyIAAJTAAAAAHE9TLzKidMFCAAABiAAAAGBjbWFwjOjcmQAABUAAAAGyY3Z0IBMtGpQAAA%2FMAAAAqmZwZ227c6R1AAAG9AAAB%2BBnYXNwAAgAGwAAlLQAAAAMZ2x5ZmD7hY4AABIoAABXZGhlYWT5QxS%2BAAABDAAAADZoaGVhDsME%2BAAAAUQAAAAkaG10eMwQSrAAAAHoAAADWGtlcm4Mlg8JAABpjAAAIwRsb2NhHvAJ5gAAEHgAAAGubWF4cAJPATwAAAFoAAAAIG5hbWWkKp2pAACMkAAABi1wb3N0gnjp1QAAksAAAAHycHJlcMgJ%2FGsAAA7UAAAA%2BAABAAAAARma%2BX8Ool8PPPUAHwgAAAAAAMnt2FAAAAAAye3YUP53%2FhQHvAdzAAEACAACAAAAAAAAAAEAAAiN%2FagAAAgA%2Fnf%2BeQe8AAEAAAAAAAAAAAAAAAAAAADWAAEAAADWAEEABQA9AAQAAgAQAC8AXAAAAQAAjAADAAEAAwSMArwABQAIBZoFMwAAAR8FmgUzAAAD0QBmAfwIAgILCAYDBQQCAgTgAALvQAAgWwAAACgAAAAAMUFTQwAgACAgrAYf%2FhQAhAiNAlggAAGfAAAAAAReBbYAAAAgAAEIAAAAAAAAAAQUAAACFAAAAkoAdQPHAIUFKwAtBJEAWAc1AD8GAABSAiEAhQK2AFICtgA9BFwAPwSRAFgCUgA%2FApMAPQJIAHUDTgAOBJEASgSRAHkEkQBOBJEATgSRACMEkQBkBJEASASRADcEkQBIBJEAQgJIAHUCUgA%2FBJEAWASRAFgEkQBYA9EABgctAGYFhQAABWAAuAUZAHcF7AC4BHsAuARkALgFywB3Bh8AuAKmALgCpv9oBVAAuASFALgHiwC4BoEAuAZeAHcFBgC4Bl4AdwVIALgEaABeBKIAKQYMAK4FMwAAB7wAAAVWAAAE%2FgAABKIAMQKmAI8DTgAMAqYAMwRCAAgDSv%2F8BNsBTATVAFYFEACgBB0AXAUQAFwEugBcAxkAKQSFAAYFQgCgAnEAkwJx%2F30E9gCgAnEAoAfbAKAFQgCgBPQAXAUQAKAFEABcA6IAoAP6AFwDeQAvBUIAmgSNAAAG2QAUBKAACgSNAAAD5wA3AycAHwRoAccDJwBSBJEAWAIUAAACSgB1BJEAjwSRAFIEkQBxBJEABgRoAccD4wBqBNsBFwaoAGQDEAAvBOwAUgSRAFgCkwA9BqgAZAQA%2F%2FoDbQBcBJEAWAMIAC8DCAA7BNsBTAVIAKAFPQBxAkgAdQGk%2F9sDCABcAxsAOQTsAFIHDAAuBwwALgcMAFoD0QA9BYUAAAWFAAAFhQAABYUAAAWFAAAFhQAAB54AAAUZAHcEewC4BHsAuAR7AK8EewC4Aqb%2FxgKmAKcCpv%2BgAqb%2F%2FQXsAC8GgQC4Bl4AdwZeAHcGXgB3Bl4AdwZeAHcEkQCBBl4AdwYMAK4GDACuBgwArgYMAK4E%2FgAABQYAuAWwAKAE1QBWBNUAVgTVAFYE1QBWBNUAVgTVAFYHVgBWBB0AXAS6AFwEugBcBLoAXAS6AFwCcf%2BbAnEAkQJx%2F4YCcf%2FjBPQAXAVCAKAE9ABcBPQAXAT0AFwE9ABcBPQAXASRAFgE9ABcBUIAmgVCAJoFQgCaBUIAmgSNAAAFEACgBI0AAAJxAKAHyQB3B9MAXATbALoEngFUBNsAzwQAAFIIAABSAbwAGQG8ABkCVAA%2FA48AGQOPABkEJQA%2FAwIAYgLyAFIC8gBSAQr%2BdwMIAAwEkQBCAAAAAwAAAAMAAAAcAAEAAAAAAKwAAwABAAAAHAAEAJAAAAAgACAABAAAAH4A%2FwExAVMCxgLaAtwgFCAaIB4gIiA6IEQgdCCs%2F%2F8AAAAgAKABMQFSAsYC2gLcIBMgGCAcICIgOSBEIHQgrP%2F%2F%2F%2BP%2Fwv%2BR%2F3H9%2F%2F3s%2FevgteCy4LHgruCY4I%2FgYOApAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0%2BP0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAhoeJi5OYnqOipKalp6mrqqytr66wsbO1tLa4t7y7vb4AcmRladB4oXBrAHZqAIiaAHMAAGd3AAAAAABsfACouoFjbgAAAABtfQBigoWXw8TIyc3Oysu5AMEA09XR0gAAAHnMzwCEjIONio%2BQkY6VlgCUnJ2bwsXHcQAAxnoAAAAAAEBHW1pZWFVUU1JRUE9OTUxLSklIR0ZFRENCQUA%2FPj08Ozo5ODc2NTEwLy4tLCgnJiUkIyIhHxgUERAPDg0LCgkIBwYFBAMCAQAsILABYEWwAyUgEUZhI0UjYUgtLCBFGGhELSxFI0ZgsCBhILBGYLAEJiNISC0sRSNGI2GwIGAgsCZhsCBhsAQmI0hILSxFI0ZgsEBhILBmYLAEJiNISC0sRSNGI2GwQGAgsCZhsEBhsAQmI0hILSwBECA8ADwtLCBFIyCwzUQjILgBWlFYIyCwjUQjWSCw7VFYIyCwTUQjWSCwBCZRWCMgsA1EI1khIS0sICBFGGhEILABYCBFsEZ2aIpFYEQtLAGxCwpDI0NlCi0sALEKC0MjQwstLACwKCNwsQEoPgGwKCNwsQIoRTqxAgAIDS0sIEWwAyVFYWSwUFFYRUQbISFZLSxJsA4jRC0sIEWwAENgRC0sAbAGQ7AHQ2UKLSwgabBAYbAAiyCxLMCKjLgQAGJgKwxkI2RhXFiwA2FZLSyKA0WKioewESuwKSNEsCl65BgtLEVlsCwjREWwKyNELSxLUlhFRBshIVktLEtRWEVEGyEhWS0sAbAFJRAjIIr1ALABYCPt7C0sAbAFJRAjIIr1ALABYSPt7C0sAbAGJRD1AO3sLSywAkOwAVJYISEhISEbRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F7qLG7BGjFmwEGBoATpZLSwgRbADJUZSS7ATUVtYsAIlRiBoYbADJbADJT8jITgbIRFZLSwgRbADJUZQWLACJUYgaGGwAyWwAyU%2FIyE4GyERWS0sALAHQ7AGQwstLCEhDGQjZIu4QABiLSwhsIBRWAxkI2SLuCAAYhuyAEAvK1mwAmAtLCGwwFFYDGQjZIu4FVViG7IAgC8rWbACYC0sDGQjZIu4QABiYCMhLSxLU1iKsAQlSWQjRWmwQIthsIBisCBharAOI0QjELAO9hshI4oSESA5L1ktLEtTWCCwAyVJZGkgsAUmsAYlSWQjYbCAYrAgYWqwDiNEsAQmELAO9ooQsA4jRLAO9rAOI0SwDu0birAEJhESIDkjIDkvL1ktLEUjRWAjRWAjRWAjdmgYsIBiIC0ssEgrLSwgRbAAVFiwQEQgRbBAYUQbISFZLSxFsTAvRSNFYWCwAWBpRC0sS1FYsC8jcLAUI0IbISFZLSxLUVggsAMlRWlTWEQbISFZGyEhWS0sRbAUQ7AAYGOwAWBpRC0ssC9FRC0sRSMgRYpgRC0sRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F4CLG7CBjFloOi0sSyNRWLkAM%2F%2FgsTQgG7MzADQAWURELSywFkNYsAMmRYpYZGawH2AbZLAgYGYgWBshsEBZsAFhWSNYZVmwKSNEIxCwKeAbISEhISFZLSywAkNUWEtTI0tRWlg4GyEhWRshISEhWS0ssBZDWLAEJUVksCBgZiBYGyGwQFmwAWEjWBtlWbApI0SwBSWwCCUIIFgCGwNZsAQlELAFJSBGsAQlI0I8sAQlsAclCLAHJRCwBiUgRrAEJbABYCNCPCBYARsAWbAEJRCwBSWwKeCwKSBFZUSwByUQsAYlsCngsAUlsAglCCBYAhsDWbAFJbADJUNIsAQlsAclCLAGJbADJbABYENIGyFZISEhISEhIS0sArAEJSAgRrAEJSNCsAUlCLADJUVIISEhIS0sArADJSCwBCUIsAIlQ0ghISEtLEUjIEUYILAAUCBYI2UjWSNoILBAUFghsEBZI1hlWYpgRC0sS1MjS1FaWCBFimBEGyEhWS0sS1RYIEWKYEQbISFZLSxLUyNLUVpYOBshIVktLLAAIUtUWDgbISFZLSywAkNUWLBGKxshISEhWS0ssAJDVFiwRysbISEhWS0ssAJDVFiwSCsbISEhIVktLLACQ1RYsEkrGyEhIVktLCCKCCNLU4pLUVpYIzgbISFZLSwAsAIlSbAAU1ggsEA4ERshWS0sAUYjRmAjRmEjIBAgRophuP%2BAYoqxQECKcEVgaDotLCCKI0lkiiNTWDwbIVktLEtSWH0belktLLASAEsBS1RCLSyxAgBCsSMBiFGxQAGIU1pYuRAAACCIVFiyAgECQ2BCWbEkAYhRWLkgAABAiFRYsgICAkNgQrEkAYhUWLICIAJDYEIASwFLUliyAggCQ2BCWRu5QAAAgIhUWLICBAJDYEJZuUAAAIBjuAEAiFRYsgIIAkNgQlm5QAABAGO4AgCIVFiyAhACQ2BCWbEmAYhRWLlAAAIAY7gEAIhUWLICQAJDYEJZuUAABABjuAgAiFRYsgKAAkNgQllZWVlZWbEAAkNUWEAKBUAIQAlADAINAhuxAQJDVFiyBUAIugEAAAkBALMMAQ0BG7GAAkNSWLIFQAi4AYCxCUAbsgVACLoBgAAJAUBZuUAAAICIVblAAAIAY7gEAIhVWlizDAANARuzDAANAVlZWUJCQkJCLSxFGGgjS1FYIyBFIGSwQFBYfFloimBZRC0ssAAWsAIlsAIlAbABIz4AsAIjPrEBAgYMsAojZUKwCyNCAbABIz8AsAIjP7EBAgYMsAYjZUKwByNCsAEWAS0ssICwAkNQsAGwAkNUW1ghIxCwIBrJG4oQ7VktLLBZKy0sihDlLUCLCSFIIFUgAQNVH0gDVR4D%2Fx9QTBYfT01kH05MZB8mNBBVJTMkVRkT%2Fx8HBP8fBgP%2FH01MHh9kTAFMRg0fEzMSVQUBA1UEMwNVHwMBDwM%2FA68DAwZLRstG20YDIzMiVRwzG1UWMxVVEQEPVRAzD1WvD88PAjAPAQEzAFVvAH8ArwDvAAQQAAGAFgEFAbgBkLFUUysrS7gH%2F1JLsAlQW7ABiLAlU7ABiLBAUVqwBoiwAFVaW1ixAQGOWYWNjQBCHUuwMlNYsCAdWUuwZFNYsBAdsRYAQllzcytzcysrKysrc15zdCsrKyt0KysrKysrKysrKysrKxheBhQAFwAABbYAFwB1BbYFzQAAAAAAAAAAAAAAAAAABF4AFwB7AAD%2F7AAAAAD%2F7AAAAAD%2F7AAA%2FhT%2F7AAABbYAFfyU%2F%2Bv%2Bj%2F%2Fg%2Frz%2F7AAS%2FlYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA5QD2AQABKwDTALIBAgD2AQIA9gDtAN8AsgAAAVQAAAAAAAAAAAAAAAAAMgBWAMwBWAHGAk4CZgKUAsIDAAMsA0oDYAOCA6AD4gQQBF4ExgUQBWwFyAXyBmYGwgb6BzIHXAeCB64ICgiaCN4JPgmACbgJ9AokCnoKsArGCvILMgtSC5gL1AwWDFYMrA0ADWANhg28De4OSg6MDsAO9g8YDzYPWA%2BED5wPwBAaEG4QqhD%2BEVQRlhIyEnASnBLaEyITOhOWE9IUFhRsFMIU9BVMFY4VyhX8FlgWnhbuFyQXcBeIF9gYGBgYGEoYmhj0GVAZrhnUGlIaihsEG1obrhvMG9QcYhx6HLAc6h0kHXodnh3oHhwePh54HqYe3B8wH0YfXB9yH9If5B%2F2IAggGiAsID4gniCqILwgziDgIPIhBCEWISghOiGKIZwhriHAIdIh5CH2IiYihCKWIqgiuiLMIt4jICOYI6gjuCPII9gj6iP8JJYkoiSyJMIk0iTkJPYlCCUaJSwlqiW6Jcol3CXsJfwmDiZQJq4mvibQJuAm8icCJ1wnbieGJ%2FYofiiwKOYpKCk%2BKVQpdimWKbYp7CoeKk4qbiqcKswq6isuK7IAAAACAHX%2F5QHTBbYAAwAPACZAEgMKCgIEBBARAQcNB1RZDRMCAwA%2FPysRADMREgE5ETMzETMxMAEjAyEBNDYzMhYVFAYjIiYBoPQzAVr%2BolpWU1tcUlRcAeUD0frZVFZYUk9bWQAAAgCFA6YDQgW2AAMABwAbQAsEBwADAwgGAgcDAwA%2FM80yEQEzETPMMjEwAQMjAyEDIwMBnCnFKQK9KcUpBbb98AIQ%2FfACEAAAAgAtAAAE%2FgW0ABsAHwB9QEQIHB8VBBQJCQoEAQAZBBgFBQYSDw4LBAoTExQWHh0HBAYXFxgYFAYKBCAhCAQLCxwBDh8ADw8ZFRIOEg4SChcTAwYKEgA%2FMz8zEjk5Ly8RMzMzETMzETMzMxEzMxESARc5ETMREhc5ETMREhc5ETMREhc5ETMREhc5MTABByEVIQMjEyMDIxMjNSE3IzUhEzMDMxMzAzMVBTM3IwPnLwEC%2FtdN3E7CTNdK7gEVL%2FwBIU3bTcZO107w%2FR3EL8QDTOjO%2FmoBlv5qAZbO6NEBl%2F5pAZf%2BadHo6AAAAAADAFj%2FiQREBhIAIAAmACwAhkBFJBcDHR0UDQYqKiEpHicAJwgPIxEhIRkAEQAtLiodJwAADSQRIREnKxonIQklBgwcFxxPWRQXBgxQWQUGAwYXBhcGLRUAAD8SOTkvLxEzEM0rEQAzKxESABc5ETMREjk5MxESOTkREgE5OREzMxESOTkyMhESOTkROREzMzMzETMzMzEwARQGBxUjNSYnER4BFxEnLgE1NDY3NTMVFhcHJicRHgIFNCYnFTYBFBYXNQYERObPifS4V%2FVgQ8al48uJ5blenKTDpU3%2B00REiP5uPUSBAcmfwRPNyQVRAQgrQgYBNhpOt4eRuxSZlQpS6kAO%2FtlLboRnKjof%2BRcCviw5HusTAAAABQA%2F%2F%2B4G9gXLAAkAFAAYACIALQBKQCQWFxcFBQoQABAYFRUZGSkjHiMQIy4vICscJhkYBhcYAw0HEgcAPzPEMj8%2FPzPEMhESATk5ETMQwDISOREzETMQwDISOREzMTABFBYzMjU0IyIGBRQGIyImNRAhMhYlASMBExQWMzI1NCMiBgUUBiMiJjUQITIWATstMmBgMi0Bu7KspbQBWam1ArD81fADK4UtMmBgMi0Bu7KspbQBWam1BAB%2Fffz6e33m5%2B3gAcnt2PpKBbb8An99%2FPp7feXn7d8Bye0AAAMAUv%2FsBgAFywAdACYAMQBxQDktDSMKAR0WAAoWDRMTJxkaGicNAwcBAAAzHgcHMhchGhYKJCQvLxAaGgQQECpNWRAEBCFMWQQTARIAPz8rABg%2FKxESADkYLxI5ETMSOTkREjkRATMRMxEzETMSFzkRMxEzERI5ORESORESOREzMTApAScGIyIkNTQ2Ny4BNTQ2MzIWFRQGBwE2NyEGAgclFBYzMjcBDgEBNCYjIgYVFBc%2BAQYA%2Fodzv%2FH0%2FuJ5k0tE6cO634qaARxHNAE%2BJH5Q%2FMCBZX5l%2FrQ6QwFnSDlDTV9WXHGF4L%2BJwVRWnV2Yuq2Rd8VZ%2Fut1uIf%2B%2F2ODVmY9AUosYAKGNT1AO1hqMF0AAQCFA6YBnAW2AAMAErYAAwMEAgMDAD%2FNEQEzETMxMAEDIwMBnCnFKQW2%2FfACEAAAAQBS%2FrwCeQW2AA0AIEAOCwoKAwQEAAcHDwskAwMAPz8RATMRMzMRMzMRMzEwExASNzMGAhUUEhcjJgJSm5L6jZCTiPiTmgIxAQkBzq7B%2FjL09f43uaoBxgAAAAABAD3%2BvAJkBbYADQAgQA4DBAQLCgoABwcOCgMEJAA%2FPxEBMxEzMxEzMxEzMTABEAIHIzYSNTQCJzMWEgJkm5L4h5SQjfqTmgIx%2Fvn%2BOqi4Acn29AHOwa%2F%2BMQAAAAEAPwJWBB0GFAAOADVAGAkLCwUDAw0BBwcQDwQKCgcHAQ0NBggOAAA%2FxDI5ETMzEjkRMxESATkRMzMzEjkzEjkxMAEDJRcFEwcLAScTJTcFAwKwKQF1If6s3%2BOciezd%2Fq4nAW0pBhT%2BkGj8GP7XeQE5%2Fsl3ASka%2BmgBcAABAFgA4wQ5BMUACwAmQBAIBgkJAwEAAAwNCwkABgQDAC8zMzMyMhESATkRMzMzETMzMTABITUhETMRIRUhESMB2%2F59AYPbAYP%2BfdsCZNsBhv562%2F5%2FAAAAAQA%2F%2FvgBywDuAAYAFbcCAwAFBQcDBQAvxhEBMxEzwjIxMCUGAyMSNyEByzR83EEkARjXyv7rAQrsAAAAAQA9AagCVgKiAAMAEbUDBQAEAAEALzMRATMRMzEwEzUhFT0CGQGo%2BvoAAAABAHX%2F5QHTATkACwAWQAoGAAAMCQNUWQkTAD8rEQEzETMxMDc0NjMyFhUUBiMiJnVaVlNbXFJUXI9UVlhST1tZAAAAAAEADgAAA0QFtgADABxADAECAwACAAQFAwMCEgA%2FPxESATk5ETMRMzEwCQEhAQNE%2Fd%2F%2B6wIhBbb6SgW2AAIASv%2FsBEgFzQALABcAKEAUDAYSAAYAGBkJFU9ZCQcDD09ZAxkAPysAGD8rERIBOTkRMxEzMTABEAIhIgAREBIhMgABEBYzMjYRECYjIgYESPv%2B%2B%2F3%2B%2F%2FoBBP0BA%2F01XW5sYGFrbV4C2%2F6B%2FpABfAFzAYMBb%2F6A%2Fo7%2B8%2BnsAQoBDevrAAEAeQAAA04FtgAKACpAEwkEAAAIAQELDAgHBwEEBAkGARgAPz8zERI5ETMREgE5ETMzEjk5MTApARE%2FAQYPAScBMwNO%2FssDBU0eqJUB1%2F4DTouYTRiHugF3AAAAAQBOAAAEUAXLAB0APUAeHA4BBwAWARYeHxYHBwIKEgpOWRIHAgEcARxOWQEYAD8rERIAORg%2FKxESADkRMxESATk5ETMzETMzMTApATUBPgI1NCYjIgYHJz4CMzIeARUUDgEPARUhBFD8AgFvo2QsYVFVoFeobI6oaInSdEeVvLwCfdcBc6eBbjtYVk5Ix1xMKWS0dGWxuqyxDgAAAQBO%2F%2BwEQgXLACYAW0AvIhcNExMHAxwcAAAHDQcnKCEeJB5PWQMYFxgXUFkMGAENAxgYCiQHDRAKEE9ZChkAPysRADMYPxI5L19eXSsREgA5KxEAMxESATk5ETMRMxEzETMREjk5MTABFAYHFR4BFRQEISInER4BMzI2NTQmKwE1MzI2NTQjIgYHJzYhMgQEF6aWsbb%2Bzv7k7rhVzGSZkqi4b3GqndBIlVuPyAEV4wEHBG%2BJwCQGFquR0%2BtPAQcrNmhzZ1btWWymMDvVkLgAAAIAIwAABHEFtgAKABMARkAiDwcDCQICCwMDBQAAFRMFBRQGEwEFEwVQWQkTEwMPBwYDGAA%2FPzMSOS8zKxEAMxI5EQEzETMRMxESOREzMxEzEjk5MTABIxEhESE1ASERMyE1NDY3IwYHAQRxsP7S%2FZACgQEdsP4iCgMIJTT%2B9AEv%2FtEBL9cDsPxp%2BD7sE1JO%2FmsAAAABAGT%2F7AQ1BbYAGwBWQCsYFRUXAxkUFA4IDgMIAxwdFBMJEwwQABBPWRkAAAYVFRhOWRUGBgxPWQYZAD8rABg%2FKxESADkYLzMrERIAOTkRMxESATk5ETMREjkRMxI5OREzMTABMhYVFAAhIicRHgEzIDU0ISIGBycTIREhAzc2AmbU%2B%2F7S%2Fuf0lk%2FSXgEb%2Fts1gCh7NwMZ%2FfYbIz0Dpu7P9f74TwELKjXo3RUMQgLp%2Fvr%2B4QcOAAAAAgBI%2F%2BwEUAXHABgAJABBQCEGEgwMIiIAHBIAEiUmDx9QWQ8PFQMVGU9ZFRkDCE9ZAwcAPysAGD8rERIAORgvKxESATk5ETMRMxI5ERI5MTATEAAhMhcVJiMiDgEHMzYzMhYVFAAjIiYCBTI2NTQmIyIGFRQWSAFvAW59R1lXn8lkCQ1j2sTe%2FvjqovGDAhBjamNkXoV9Am0BsgGoD%2FcUYLytqvbZ6v7vlgEgv4V7a3t6UXekAAAAAAEANwAABFAFtAAGAC5AFgYAAAIBAQUCBQcIBQMCAwJOWQMGABgAPz8rERIAORESATk5ETMREjkRMzEwMwEhESEVAeMCJf0vBBn91wSwAQTC%2Bw4AAAMASP%2FsBEoFyQAXACIALgBTQCkSBhUsAwMYCRgmFRUPHh4JDwkvMAYSEiEhKSkMAAwbUVkMGQAjUVkABwA%2FKwAYPysREgA5ETMSOREzERIBOTkRMxESOREzMhESOREzEjk5MTABMgQVFAYHHgEVFAQjIiQ1NDY3LgE1NCQDFBYzMjY1NCYnBhMiBhUUFhc%2BATU0JgJK0gEBfIqkj%2F7m5vD%2B7oWTfW4BBBN4aHNycX%2FV4k9hTWViTmQFyb%2BicK9FWL9ytNvMu33CSk%2B0a53C%2B7xWYGNRQ3VCYgLMUUQ8XzIuYD9FUAAAAAACAEL%2F7ARKBccAGQAlAD9AIB0FEwwMIyMAEwAmJxAgUFkQEAMWFhpPWRYHAwhQWQMZAD8rABg%2FKxESADkYLysREgE5OREzEjkREjkyMTABEAAhIic1FjMyPgE3Iw4BIyImNTQAMzIWEiUiBhUUFjMyNjU0JgRK%2FpT%2Bj4JDVFybyGoIDDqYcr%2FcAQvmovOC%2Fe9gbGJkXoZ9A0b%2BUP5WDvgVW8OrXkz12usBEZj%2B38GEfGp8e1B3pAAAAgB1%2F%2BUB0wRzAAsAFwAmQBMSBgYMAAAYDxVUWQ8QCQNUWQkTAD8rABg%2FKxEBMxEzMxEzMTA3NDYzMhYVFAYjIiYRNDYzMhYVFAYjIiZ1WlZTW1xSVFxaVlNbXVFUXI9UVlhST1tZA4tUVlhSUVlYAAIAP%2F74AdMEcwAGABIAKEATDQcHEwMEBgEGBhMKEFRZChAEBgAvxj8rEQEzETMQwjIRMxEzMTAlFwYDIxI3AzQ2MzIWFRQGIyImAbwPNHzcQSQvWlZTW11RVFzuF8r%2B6wEK7ALbVFZYUlFZWAAAAAABAFgAywQ5BQAABgAnQBAFAQQAAQAHCAQDAwYAAgEFAD0vMzMzMjMRMxESATk5ETMRMzEwJQE1ARUJAQQ5%2FB8D4f1UAqzLAbaPAfDw%2FsP%2B5wAAAAACAFgBogQ5BAAAAwAHACRAEQcDAwkEAAgFUARgBAIEBAABAC8zMy9dMxEBMzIRMxEzMTATNSEVATUhFVgD4fwfA%2BEDJdvb%2Fn3b2wAAAQBYAMsEOQUAAAYAK0ASAgABBQAFBwgABgYBAgMDBQQBAD0vMzMzETMRMxEzERIBOTkRMxEzMTATCQE1ARUBWAKs%2FVQD4fwfAboBGQE98P4Qj%2F5KAAAAAAIABv%2FlA6AFywAZACUAREAiIBoaGQAADQcHEg0SJicPAAEJAwAAIyMdVFkjEw8KT1kPBAA%2FKwAYPysRADMYL19eXRESATk5ETMREjkRMzMRMzEwATU0Njc%2BATU0JiMiByc2MzIWFRQGBw4BHQEBNDYzMhYVFAYjIiYBFFJtaUNgVpbAbd%2F6zvNkjGAz%2FtdaVlNbXFJUXAHlSmCOUEteOkFEYtt9xqVuoGRHSjw8%2FqpUVlhST1tZAAACAGb%2FZgbHBckANAA%2FAFlAKwc5ORQUEzU1DTsTKBMNAyEZIS0ZAC0AQEEWCDc3BAo9EAoQChAqHTEEJCoALzM%2FMxI5OS8vETMRMzMRMzMREgE5OREzETMREhc5ETMRMxESOREzEjkxMAEUDgEjIiYnIwYjIiY1NAAzMhYXAxQzMjY1NC4BIyIEAhUQACEyNjcVBiEgABE0EiQhMgQSARQzMjY%2FASYjIgYGx1yob0pyGRBsp7HMAQzYVs9DF0xATIbznMr%2B1p8BJwEYav571v77%2FoT%2BV9kBkQEF3AFavPwArFpeCg0zQH2LAvCQ74hHOoHVudMBAiEX%2FheLu5eh94Km%2FsfN%2Fuz%2B2S8twFsBkAFk9wGT5bT%2BtP6q03%2BP3QucAAACAAAAAAWFBbwABwANAENAIQINAwgBAAYFCwsDAAAHBw8DBAQODQJMWQ0NAwsFAwADEgA%2FMz8zEjkvKxEBMxEzETMRMxESOREzMxI5ORI5OTEwIQMhAyEBIQkBAiYnBgMEN2r962r%2BsgIEAXsCBv3%2BkyUIIZwBXP6kBbz6RAJgAdl8JID%2BBwAAAwC4AAAE9AW2AA8AGAAgAFZALAcUFAQEGh4LCyIQGhoPDyEIEBkQGU1ZDBABDQMQEA8ADxpMWQ8SABhMWQADAD8rABg%2FKxESADkYL19eXSsREgA5EQEzETMRMxEzETMSOREzEjkxMBMhIAQVFAYHFR4BFRQEIyEBMzI2NTQmKwEZATMyNjU0IbgBxwE3ARl7Zot7%2Ft%2F4%2Fd0BNrR%2BcXuFo8qAev78BbaxwYOoEQofqo3I4ANzTlpUSf3F%2FoNiZbYAAQB3%2F%2BwE0QXLABYAMUAYBxMTGAMNDRcUABEATFkRBAcFCgVMWQoTAD8rEQAzGD8rEQAzEQEzETMRMxEzMTABIgIVECEyNxEGIyAAETQSJDMyFwcuAQMlr8ABb5rbtN7%2Bwf6upgE30dXXZFKmBMn%2B%2Bev%2BF03%2B%2FEsBgwFq5AFXt2f8JzoAAgC4AAAFdQW2AAgADwAoQBQJAAARDQQEEAUMTFkFAwQNTFkEEgA%2FKwAYPysRATMRMxEzETMxMAEQACkBESEgAAEQISMRMyAFdf5l%2Fnz%2BYgHLAWYBjP6%2B%2FmClhQHAAun%2Bl%2F6ABbb%2Bhv6lAdf8SAAAAAEAuAAABAIFtgALAEVAJAgEAAANBgoKAQEMBglMWQwGAQ0DBgYBAgIFTFkCAwEKTFkBEgA%2FKwAYPysREgA5GC9fXl0rEQEzETMRMxEzETMzMTApAREhFSERIRUhESEEAvy2A0r97AHv%2FhECFAW2%2Fv6%2F%2Fv6HAAAAAAEAuAAAA%2F4FtgAJADRAGggDAwsGAAABAQoGCUxZBgYBAgIFTFkCAwESAD8%2FKxESADkYLysRATMRMxEzETMRMzEwKQERIRUhESEVIQHp%2Fs8DRv3rAfD%2BEAW2%2Fv6H%2FQAAAAEAd%2F%2FsBScFywAaAExAJxoYGAIODQ0CAhMcEwgIGw4QCxBMWQAaTFkAAAULBBgWBRZMWQIFEwA%2FMysRADMYPxI5LysrEQAzEQEzETMREjkRMxEzETMROTEwASERDgEjIAAREAAhMhcHJiMiAhUUFjMyNxEhAuMCRI35gv61%2FqMBlQFn4dFnoK3J8sO6YWT%2B6wM1%2FQouJQGFAWwBYgGMWvhQ%2FvLk7vsUATEAAAABALgAAAVmBbYACwA3QBwJAQEAAA0IBAQFBQwIA0xZTAgBCAgFCgYDAQUSAD8zPzMSOS9dKxEBMxEzETMRMxEzETMxMCkBESERIREhESERIQVm%2Fsv9vf7KATYCQwE1Anf9iQW2%2FcMCPQAAAAABALgAAAHuBbYAAwARtgAEBQEDABIAPz8REgE5MTAzESERuAE2Bbb6SgAAAAH%2FaP5SAe4FtgANAB9ADgsCCAgOAwUABUxZAAkDAD%2FEKxEAMxEBMxEzMzEwEyInERYzMjY1ESEREAIfaU5QQmZYATbq%2FlIWAQIUf4cFWvqo%2FwD%2B9AAAAAABALgAAAVQBbYADABCQB8MAgIKCwsBAAAOCAMFBQ0MAgIDCwsGAwgIBQYDAQUSAD8zPxI5ETMRMxESOREzEQEzETMyETMRMzMRMzkRMzEwKQEBBxEhESERNwEhAQVQ%2FqD%2BgYP%2BygE2egGMAVj%2BAgJoXv32Bbb9Y6wB8f15AAAAAAEAuAAABD8FtgAFAB9ADgQHAwAABgEDAANMWQASAD8rABg%2FEQEzETMRMzEwMxEhESERuAE2AlEFtvtK%2FwAAAAABALgAAAbTBbYAFAA6QBwUAAkLCQgDBQ4ODQ0WBQYVEgIJAgYLBwMOAAYSAD8zMz8zEjk5ETMRATMyETMRMxESFzkRMzMxMCEBIxIVESERIQEzASERIRE0NhMjAQMj%2FqAJE%2F7rAaYBWgYBbwGm%2Ft8DDAn%2BhwR7%2FqJ1%2FVgFtvuiBF76SgK0MYABFPuHAAEAuAAABckFtgAPADZAGQoACQEGDQ0AABEDBQYGBxALAwcOCAMBBxIAPzM%2FMxI5OREBMzIRMzkRMxEzERI5ORI5MTApAQEjEhURIREhATMCNREhBcn%2Bdv2ECRP%2B6wGHAnsHDwEXBFL%2B2339UAW2%2B7kBHXYCtAAAAAIAd%2F%2FsBecFzQALABUAKEAUEQAAFwwGBhYJE0xZCQQDD0xZAxMAPysAGD8rEQEzETMRMxEzMTABEAAhIAAREAAhIAABFBYzIBEQISIGBef%2BmP6w%2FrD%2BmAFpAVEBUQFl%2B9W6uQFz%2Fo%2B5vALd%2FpX%2BegGGAW0BbQGB%2Fnz%2BlPX4Ae0B7vkAAAIAuAAABKoFtgAIABMANEAaBAkJFQAODg8PFA0ATFkNDQ8QEAhMWRADDxIAPz8rERIAORgvKxEBMxEzETMRMxEzMTABMzI2NTQmKwEFFAQhIxEhESEgBAHuZo%2BOd3%2BNArz%2B2f7whf7KAdMBCgEVAwZxbG1oyuz6%2FfgFtuUAAAAAAgB3%2FqQF5wXNAA8AGQBCQCIGAwUEBAIDCAQKFQAAGxAKChoDBw0NF0xZDQQHE0xZBQcTAD%2FGKwAYPysREgA5EQEzETMRMxEzEhc5ETMRMzEwARACBwEhASMgABEQACEgAAEUFjMgERAhIgYF57exAWD%2Bc%2F70F%2F6w%2FpgBaQFRAVEBZfvVurkBc%2F6PubwC3f7%2B%2FqNR%2FncBSAGGAW0BbQGB%2Fnz%2BlPX4Ae0B7vkAAAIAuAAABUgFtgAIABcATkAmExcXBAoEEBAKFhUZAAoKCwsYEwkMAAlNWQAACwwMCExZDAMWCxIAPzM%2FKxESADkYLysREgA5EQEzETMRMxAYxDIROREzERI5ETMxMAEzMjY1NCYrARkBIREhIAQVFAYHABchAQHuZJOMj5Ze%2FsoBqgEqAR6OggFKZP6o%2FqMDLWJpaFj9ef3PBbbZ3YHJOf4TkAIxAAAAAAEAXv%2FsBBcFywAnAEVAIhsaGiEAIQUUDAAUACgpFCEADCEMHgkXHkxZFwQDCUxZAxMAPysAGD8rERIAOTkRMxEzERIBOTkRMxEzMxESOREzMTABFAQjIicRHgEzMjY1NC4BJy4CNTQkMzIWFwcuASMiBhUUHgEXHgEEF%2F7j%2Fuq0lM1VZm0wXY%2BGhlABB%2Bhyz3FkdZlKWF4mU5vNmAGWxuRYASBCNk5NK0M%2BRD90mmfC3jYx8TAmUkIpPTlKYsUAAAEAKQAABHkFtgAHACZAEgYAAAMBAQgJBwMEA0xZBAMBEgA%2FPysRADMREgE5ETMzETMxMCkBESERIREhAuz%2Byv5zBFD%2BcwS0AQL%2B%2FgABAK7%2F7AVeBbYAEgAlQBERAQEUCwgIExIJAwUOTFkFEwA%2FKwAYPzMRATMRMxEzETMxMAERFAYEIyAANREhERQWMzI2NREFXpH%2B7rv%2B5v7IATWInZiJBbb8TqL0ggEh%2BwOu%2FIGpnp%2BqA30AAAABAAAAAAUzBbYACwAqQBMDAgkJBQABAQ0FBAQMAAQDCQMSAD8zPzMRATMRMxEzETMROREzMzEwASEBIQEhAR4BFzY3A%2FoBOf4P%2Fq7%2BEAE5ARMXMQYLQAW2%2BkoFtvyaTc0oXOYAAQAAAAAHvAW2AB0ARkAiCgkPFBMFAQAYGAUPAwwcHB0dHwwLCx4cEwULAxgPDwEKEgA%2FMzMRMz8zMzMRATMRMxEzETMREhc5ETMzETMzETMzMTApAQMmAicOAQcDIQEhExYXPgE3EyETHgEXPgE3EyEGSP6fxgs1BAYwDcX%2BoP6LATG7MRYGKxPVASXVDioLCiwSugExAwApAQEsNu8z%2FQIFtvzi3aI570IDM%2FzNN%2BJRTulIAx4AAAEAAAAABVYFtgALAERAIAsFAggIBwkHBgkKBgoBAAANAwQMCwgCBQUECQYDAQQSAD8zPzMSOREzMzMRATMyETMRMzk5ETMRMxESOREzMzMxMCkBCQEhCQEhCQEhAQVW%2Fp7%2BrP6s%2FrQB5f46AVYBOwE1AU7%2BNQIp%2FdcC8gLE%2FfICDv0rAAEAAAAABP4FtgAIADZAGQgHBwUBAgIABAQFBQkKAwYGAAAFAQcDBRIAPz8zEjkRMxEzERIBOREzEjkyETMRMxEzMTAJASEBESERASECfwExAU7%2BG%2F7M%2FhsBUANcAlr8g%2F3HAi8DhwAAAQAxAAAEcQW2AAkAO0AdCAQBAwcHAAEACgsHBAUFBExZBQMCAQgBCExZARIAPysREgA5GD8rERIAORESATk5ETMRMxEzMzEwKQE1ASERIRUBIQRx%2B8ACvf1WBBr9RALPyQPtAQDI%2FBIAAAAAAQCP%2FrwCcwW2AAcAHkANBgEBCAQACQUCAwYBJAA%2FMz8zEQEzMhE5ETMxMAEhESEVIxEzAnP%2BHAHk4OD%2BvAb60%2FqsAAABAAwAAANCBbYAAwAcQAwAAwMEAgEBBQMDAhIAPz8RATMRMxEzETMxMAkBIQEBIQIh%2Fuv93wW2%2BkoFtgABADP%2BvAIXBbYABwAgQA4BBgYJAwcHCAAHJAMEAwA%2FMz8zEQEzETMSOREzMTAXMxEjNSERITPf3wHk%2FhxxBVTT%2BQYAAAEACAIIBD0FvgAGAC1AFAIBBQUGBAQDAwgGAAAABAQHBQIGAD8zEjkvMwEyETMRMxEzERI5ETMzMTATATMBIwkBCAG2kAHv7%2F6%2B%2FugCCAO2%2FEoCg%2F19AAAB%2F%2Fz%2BvANO%2F0gAAwAStgAFAQQCASQAPzMRATMRMzEwASE1IQNO%2FK4DUv68jAAAAAABAUwE2QONBiEACAAcQAsAB0ADBQUJCgWAAAAvGt0REgE5ETMayjIxMAEuASc1IRYXFQLDP%2FREAVY%2FrATZLMVCFWXIGwAAAAACAFb%2F7AQ7BHUAGAAiAEpAJhIMCAwCIiIYGCQdCAgjDBlLWQwMBRQUD0ZZFBACHwUfRlkFFgAVAD8%2FKxEAMxg%2FKxESADkYLysRATMRMxEzETMSOTIREjkxMCEnIw4BIyImNTQ2PwE1NCMiByc2MzIWFREBBw4BFRQzMjY1A2Y7CE2jg6G5%2BfvCroa1ZcHr4fD%2B0XaFgpRqf5hhS7iqsqkJBjGqUc5lxMj9FwIGBARYWoF6ZQACAKD%2F7AS0BhQAEgAfAEJAIR0DAyEJEAsOFxcLCyAMAAsVCRAGAAYaR1kGFgATR1kAEAA%2FKwAYPysREgA5ORg%2FPxEBMxEzETMSOTkRMxEzMTABMhIREAIjIicjByMRIREUBzM2FyIGBxUUFjMyNjU0JgMOxuDnx8VwFTPpATEMDGtwcWgCa3Reb3AEc%2F7L%2FvP%2B6%2F7Qj3sGFP6WRZim9IugIbScraWlpQABAFz%2F7APdBHMAFQAqQBUTDQcHFw0CAhYFC0dZBRAAD0dZABYAPysAGD8rEQEzETMRMxESOTEwBSAREAAhMhcHLgEjIhEQMzI2NxEOAQJm%2FfYBHAEJwppaSHw%2B7u5YlktKlxQCPQEdAS1M7B0l%2Fq7%2BuC8y%2FvsvJAACAFz%2F7ARxBhQAEgAfAEBAIQkWEAMLCw4OIR0DAyAPFQwAEQkABgYaR1kGEAATR1kAFgA%2FKwAYPysREgA5ORg%2FPxEBMxEzETMRMxIXOTEwBSICERASMzIXMyY1ESERIycjBicyNjc1NCYjIgYVFBYCAsXh5cnTbwoXATLqOw1oanVtBW99ZnFyFAEyAQ8BEwEzpH1iAWb57JGl84ijIbScraWlpQAAAAACAFz%2F7ARiBHMABgAbAEZAIwMSBAQZEREdEgoKHBgVEgMSSlkDAwcNDQBKWQ0QBxVGWQcWAD8rABg%2FKxESADkYLysREgA5EQEzETMRMxEzMxESOTEwASIGByEuAQMgABEQADMyAB0BIR4BMzI2NxUOAQJvYW4IAawCcjb%2B8v7QARn47QEI%2FS8FkIJltGJQtgOae3Fxe%2FxSASoBEQEZATP%2B8u6UgpIqLuwoJwAAAQApAAADdQYfABUAPEAeFAICBwUDAxYXDQAAFwUBFAFGWQcUDwsQR1kLAAMVAD8%2FKwAYPzMrEQAzEQEzETMREjkRMzMzETMxMAEhESERIzU3NTQ2MzIXByYjIgYdASEDCv74%2Fs%2BoqLzPnntOXE5BOgEIA3n8hwN5k1JSv7Av4B1NPEYAAwAG%2FhQEbQRzACkANgBAAIBARAsdHT09BDAREQIpByAEIwEEBEIaKioXFzcjI0EaDQANAQ0GDTQHOktZCSAEAwcHJjQpAkpZKSkmJj9LWSYQFC1KWRQbAD8rABg%2FKxEAMxgvKwAYLxI5Lxc5KxEAM19eXRI5EQEzETMzETMRMxEzETMSFzkzETMRMxE5ETMxMAEVBxYVFAYjLwEGFRQ7ATIWFRQEISImNTQ2Ny4BNTQ2Ny4BNTQ2MzIWFwEUFjMyNjU0JisBIgYTFBYzMjY1NCMiBG2vMPvfNy0vqL64wf65%2Fs7q9356L0ZKRlhn7t0vgRL%2BJ3ltpLpuc55UcW9TVVZQpqgEXpstS120yQMFJCxCnpnE2KOTZYgdFFszQFUpJqhyt8gRBPsEP0haTj8wTwNNW2pqW8oAAQCgAAAEqAYUABUANUAaAQAAFw8JDAgICQkWDwQSEgRHWRIQCgABCRUAPzM%2FPysREgA5EQEzETMRMxI5ETMRMzEwKQERNCMiBhURIREhERQPATM2MzIWFQSo%2Fs%2B0gHL%2BzwExBwcQZt7FzAKN8q7D%2FfIGFP7DJYlapNTGAAIAkwAAAd8GFAAIAAwAJEARBAkJAAoKDQsPChUCB0lZAgAAPysAGD8%2FEQEzETMzETMxMBM0MzIVFAYjIgEhESGTpqZTU6YBPv7PATEFf5WVR0%2F7FwReAAAC%2F33%2BFAHfBhQADQAWAC9AGBILCw4CCAgXEBVJWRAACQ8DBQAFR1kAGwA%2FKxEAMxg%2FPysRATMRMzMzETMxMBMiJzUWMzI2NREhERQGAzQzMhUUBiMiRnVURklNRwExznCmplNTpv4UGfATVlQEqvspssEHa5WVR08AAAAAAQCgAAAE9gYUAA4ASUAjBAcHCAIDAwYFBRAOCg0NCAgKCg8LAAQHBwgIDg4DBgoVAw8APz8zEjkRMxE5ETM%2FEQEzETMRMxESOREzETMzETMSOREzMTABNwEhCQEhAQcRIREhEQcBxYUBOQFY%2FkQB1%2F6g%2Fr6D%2Fs8BMRACYKoBVP4b%2FYcBxWn%2BpAYU%2FUr%2BAAAAAQCgAAAB0QYUAAMAE7cAAQEEAgABFQA%2FPxEBMxEzMTApAREhAdH%2BzwExBhQAAAAAAQCgAAAHQgRzACMATUAmFBMTAAABAQocHBsbJQ0JCQoKJBMNDREgBREFR1kXERALDxwBChUAPzMzPz8zKxEAMxI5ETMRATMRMxI5ETMRMxESOREzEjkRMzEwKQERNCYjIgYVESERMxczPgEzMhczPgEzMhYVESERNCYjIgYVBIn%2Bz1FXdWr%2Bz%2BkpES2qbvtZGy2vbr7D%2Fs5RV3BvAo15eazF%2FfIEXo9NV6ROVsPX%2FScCjXl5oK4AAAEAoAAABKgEcwAUADFAGAEAABYNCQkKChUNBRERBUdZERALDwEKFQA%2FMz8%2FKxESADkRATMRMxI5ETMRMzEwKQERNCYjIgYVESERMxczPgEzMhYVBKj%2Bz1ZegHL%2Bz%2BkpETOzcsPKAo15eavG%2FfIEXo9RU9PHAAAAAAIAXP%2FsBJgEcwALABkAKEAUBgwMGwATExoWCUdZFhAPA0dZDxYAPysAGD8rEQEzETMRMxEzMTABFBYzMjY1NCYjIgYFEAAhIiYCNRAAITIWEgGTbXt6a2x7emwDBf7g%2Fv%2Bh9oQBHgEDofaEAjGmqqmnpqalp%2F7v%2FsyNAQiwARIBMIz%2B%2BgAAAAACAKD%2BFAS0BHMAEwAfAENAIhgGBgcKAwMHHRAHECAhAwoADQ0UR1kNEAgPBxsAG0dZABYAPysAGD8%2FPysREgA5ORESATk5ETMRMxEzETMRMzEwBSInIxYVESERMxczNjMyEhEUAgYDIgYHFRQWMzIRNCYDBsVwEBD%2Bz%2FgrDmvSxuBpwt1xaAJrdM1lFI%2BMFv47BkqRpv7O%2FvCz%2FviKA5OLoCG0nAFSpaUAAAAAAgBc%2FhQEcQRzAAsAIABCQCEWAx0DGhoZGSIJDw8hGhsXDx4WDBISB0dZEhAMAEdZDBYAPysAGD8rERIAOTkYPz8RATMRMxEzETMSOTkRMzEwJTI2NzU0JiMiERQWFyICERASMzIWFzM3IREhETQ3Iw4BAm90bAVve9drBMbg5cdqnjwIGwEC%2Fs4NDTGi24WmJbSc%2Fq6opu8BMQEQARIBNFBUj%2Fm2AdU9a1FUAAEAoAAAA3cEcwAQACVAEQISDQkJCgoRCw8KFQ0FBQAQAD8yETk%2FPxEBMxEzEjkRMzEwATIXAyYjIgYVESERMxczPgEDED4pFyU1kqP%2Bz%2BctDzSxBHMJ%2FuIKlof9xwRevF5zAAABAFz%2F7AOsBHMAJQA%2FQB8GGRQMAAAnHxQUJgAMFB8MHwodFx1GWRcQAwpGWQMWAD8rABg%2FKxESADk5ETMRMxEBMxEzETMRMxI5OTEwARQGIyImJzUeATMyNTQuAScuAjU0NjMyFwcuASMiFRQWFx4CA6zv7nqsS1XVUaYsbFqBeTfn1Mq%2FXFSSTIdXk4N6OgFMrLQhIPwoNmAkLTkmNlx3V5WjWNwkLkkpPDs1XHgAAAEAL%2F%2FsAzcFTAAVAD1AHgwIDw8TEwoIAhEIERYXChIPEkZZDQwPDwUAR1kFFgA%2FKwAYPzPBKxEAMxESATk5ETMRMzMRMxESOTEwJTI3FQYjIiY1ESM1PwEzFSEVIREUFgJ3UHByprenkqhYwwE5%2FsdJ3yPjM7m5AhuBZuzu5f3lQT4AAAEAmv%2FsBKIEXgAUADJAGAIRERQUFgsICBUSCQ8CBQ4FDkdZBRYAFQA%2FPysREgA5GD8zEQEzETMRMxEzEjkxMCEnIw4BIyImNREhERQWMzI2NREhEQO4KRAxtHPFyAExVl6AcgExj05V08YC2f1zeXmrxgIO%2B6IAAAEAAAAABI0EXgALACxAFAsABQUCCQkKCg0CAQEMCQEPBQAVAD8yPzMRATMRMxEzETMREjkRMzMxMCEBIRMWFzM2NxMhAQGq%2FlYBP9gkCQYFKNcBP%2F5WBF79g3lsYIUCffuiAAABABQAAAbFBF4AHQBKQCQFBAoQDwMdABcXAwoDBxsbHBwfBwYGHhcKCgMFDw8bBg8ABRUAPzM%2FMzMREjk5ETMRATMRMxEzETMREhc5ETMzETMzETMzMTAhCwEjAyEBIRMWFzM2PwETIRMeAxczPgE3EyEBBDdWdAfM%2Frj%2BwgEwgR8gBgQfEIoBUIMEERANAQYJLgqGASv%2BvgGHAe78iwRe%2FhGF6kylVQIY%2FegWVmFdHEj7LAHv%2B6IAAQAKAAAElgReAAsATEAkBgUAAQkDAwIEAgEEBQEFCwgHBw0KCwsMCQYDAAABCAsVBAEPAD8zPzMSOREzMzMRATMRMxEzETMSOTkRMxEzERI5ETMSORI5MTAJASEbASEJASELASEBhf6YAVrZ2wFa%2FpQBff6l6%2Bz%2BpgI7AiP%2BnAFk%2Fd39xQF%2F%2FoEAAAABAAD%2BFASNBF4AFgBMQCULFBQQFhYEBAEICAkJGBABAAAXCxQUEgQWFRASDRJHWQ0bCAAPAD8yPysRADMYPzMSOREzEQEzETMzETMRMxESOREzERI5ETMxMBEhExYXMzY3EyEBDgEjIic1FjMyNj8BAU7TGwoGCyDPAUf%2BJ0HxoU9MN0FReSISBF79i1JwZ1sCdfsTr64R8g1jZDcAAAAAAQA3AAADqgReAAkAPUAeAwcEBwEAAAsIAQEKBwQFBQRGWQUPAggBAQhGWQEVAD8rERIAORg%2FKxESADkRATMRMxEzERI5OREzMTApATUBITUhFQEhA6r8jQIG%2FhkDQv4IAgq0AsHpxv1RAAAAAQAf%2FrwC1QW2AB8ANkAZAxQIHx8RGBggDRwcIQQDExMNGxscJA0MAwA%2FMz8zERI5ETMzEQEzETMSOREzMxEzMzkxMAE0JiM1MjY9ARE0NjMVDgEVEQYHFRYdAREUFhcVIiY1AR%2BDfX6CwvRjSwbk6kpk9MIBDldc71hSCAE%2BmX3hA0ZE%2FtW8IgwjsQn%2B1URGA%2BJ9mgAAAAABAcf%2BLwKiBg4AAwAUtwIDAwQFAwAAAD8vERIBOREzMTABMxEjAcfb2wYO%2BCEAAAABAFL%2BvAMIBbYAIgA2QBkfGg0AABAICCQUBAQjHx4ODhQFFBUDBQQkAD8zPzMREjkRMzMRATMRMxI5ETMzETMzOTEwBRQOASM1PgE1ETU0Njc1JicRNCYnNTIeARURFRQWMxUiBhUCCFK9p2NLdnPjBkpkp75Re4V9gy1wcjXiAkRHASsLVmsRDCK8AStGRAPhNXNu%2FsIKVFTvUmEAAAAAAQBYAicEOQN9ABUAN0AYBgARCwALAw8PFwMWDw4OBgQDAwsREQAGAC8zMn0vMzMRMxEzETMRATMRMxESOTkRMxEzMTABIgYHNTYzMhYXFjMyNjcVBiMiJicmAUI3fTZnmUmBS4FiNX42ZZtCeFqDAqBDNudtICA3QDnnbRolOAACAHX%2BjwHTBF4AAwAPACZAEgMKCgIEBBEQAAcNB1RZDQ8DIgA%2FPysRADMREgE5ETMzETMxMBMzEyEBFAYjIiY1NDYzMhao9DP%2BpgFeWlZTW11RVFwCXvwxBSVUVlhSUVlYAAAAAQCP%2F%2BwEEAXLABsAREAjEQgaGgUbGwIXFwoCChwdGRNPWQgOT1kABQgZCBkIBhsZBgcAPz8SOTkvLxI5OSsrERIBOTkRMxESOREzMxEzMjEwJSQREBI3NTMVFhcHLgEjIgYVEDMyNjcVBgcVIwIz%2FlzR07KmhVpIfD55dO1ShGR%2FirKwOwH6AQUBHB%2BmnglB6x0kp6v%2BuR8t%2Fj0JvAAAAAEAUgAABGoFywAdAFhALA8SCwIJDQ0aFhYCGBAYEhIQHh8MGBkYUVkJGRkAExIPEg9OWRIYAAVPWQAHAD8rABg%2FKxESADkRORgvMysRADMREgE5OREzERI5OREzMxEzEjkSOTEwATIXByYjIgYdASEVIRUUByERITU%2BAT0BIzUzNTQ2ArzDw12dc05UAXf%2BiZcCzvvoZ02ysuUFy1LmQFlTwduPqk7%2B%2FPgscmSR28PJ2QAAAAIAcQD%2BBCEEqgAbACcAPEAiEAwTCQUXGgIIAA4OIhwAHBwoKRcTEBoCDAkFCAcVFR8HJQAvM8YyERIXORESATkRMxDCMhESFzkxMBM0Nyc3FzYzMhc3FwcWFRQHFwcnBiMiJwcnNyY3FBYzMjY1NCYjIga8NoGTf1tqaVt%2FloE1NX2Sf19lc1R9kX82z21QUW9xT05vAtNmX3%2BTfzU3gY%2BBWW5rXH2RfTMze5F9XWhNb25OUG5wAAABAAYAAASJBbYAFgBxQDgOEhQSFQ0REQAJBQMFAgoGBgAAFgEBAgIYFhUVFwYSExJSWQADAQMTDwoODw5SWQcPDwwBFQYMGAA%2FPzMSOS8zKxEAMxgQxjIREjkrEQAzEQEzETMRMxEzERI5ETMRMxI5OREzETMRMxI5OREzMTAJASEBMxUjFTMVIxUhNSM1MzUjNTMBIQJIAQgBOf6Bw%2Fb29v7h9%2Ff3vv6HATwDXAJa%2FRWyirLd3bKKsgLrAAIBx%2F4vAqIGDgADAAcAI0APAgYGAwcHCAkEAwQDBwAAAD8vOTkvLxESATkRMzMRMzEwATMRIxEzESMBx9vb29sGDvzR%2Fn%2F80QAAAAACAGr%2F7AN%2FBikALQA4AFVAKgoRFxEFBS4iACccHDMXABc5OgM2NhMZMTEqEyoOJR8lS1kfFggOS1kIAQA%2FKwAYPysREgA5OREzETMRMxEzERIBOTkRMzMRMxEzMzMRMxESOTEwEzQ2NyY1NDYzMhcHLgEjIgYVFBYXHgEVFAceARUUBiMiJzUeATMyNTQuAScuATcUFhc2NTQmJw4BeUg9hd%2B2qsFSRI1OUUpjcqOafT4%2F78nLklHGRsIlWlC3it%2BCdE5lhSU1AyVPgyhUlYOeVL4gMy4wMUotQKltsVMoaUqUr0%2FPKTl1JzAzIkqdi0NoLjlZRF4xDk8AAAACARcE%2BAPFBgQACwAXACBADRIMAAYAABgZDwMDFQkALzMzETMREgE5ETMQzDIxMAE0NjMyFhUUBiMiJiU0NjMyFhUUBiMiJgEXS0BCS0xBQEsBk1E8QU1OQDxRBX1BRko9PElGP0ZBSD89SEEAAAAAAwBk%2F%2BwGRAXLABUAJQA1AEJAHwMOCRMOEyYuJhYuHhYeNjcFCwARCxELERoqIhMyGgQAPzM%2FMxI5OS8vETMRMxESATk5ETMRMxESOTkRMxEzMTABIgYVEDMyNjcVBiMiJjU0NjMyFwcmATQSJDMyBBIVFAIEIyIkAjcUEgQzMiQSNTQCJCMiBAIDf2FqyzmEOXiEzODdx5WcSnH8fcgBXsrIAV7Kwv6i0M%2F%2BosOOpAEcoqQBG6Ok%2FuSipP7lowPylIP%2B6B4dvzn63dz1Tqg6%2FunIAV7KyP6iysX%2BptDPAVrGpP7lo6QBHKKkARujpP7kAAAAAAIALwLwArgFxwAXACEAQUAeGAcBFxceEAcLCx4HHiIjDw0NHwsLEwEbGwAABBMfAD%2FEOS8yETMSOREzMhI5ERIBOTkRMxESOREzEjkRMzEwAScOASMiJjU0Nj8BNCMiByc%2BATMyFhURJRQWMzI2PQEHBgIxHyt8SnV9pbljf1GIQkKfY4mV%2FkQuIE1ZY5EC%2FG46QHVqbW0JBHU9hyAyjoP%2BRtUmJFNBJAYKAAACAFIAXgSaBAQABgANAFxAKwoNDAkLCwwDBgIEBAEFDAgMDA8NBgYDBwAACgMDAgsEBAwFBQEOCQICCAEALzMzETMREjkvMzMRMxI5ETMzETMRMxEzEQEzETMQ1jIyETPBMhEzETMQwTIxMBMBFwkBBwElARcJAQcBUgFz2%2F7pARfb%2Fo0B%2BgFy3P7pARfc%2Fo4CPQHHd%2F6k%2FqR3AcUaAcd3%2FqT%2BpHcBxQABAFgA%2BAQ5Az8ABQAaQAoBAAAHAwEBBgMEAC8zEjkvATIRMxEzMTAlIxEhNSEEOdv8%2BgPh%2BAFs2wAAAP%2F%2FAD0BqAJWAqISBgAQAAAABABk%2F%2BwGRAXLAAwAFQAlADUAZkAxBAMCBQUHABERDQMNBwcIAwguJiYWLh4WHjY3AgYGDQ0EFQQIFQkICQgJGioiEzIaBAA%2FMz8zEjk5Ly8RMxEzERI5ETMSORESATk5ETMRMxESOTkRMxEzERI5ETMSOREzETMxMAEUBxMjAyMRIxEhMhYBMzI2NTQmKwEBNBIkMzIEEhUUAgQjIiQCNxQSBDMyJBI1NAIkIyIEAgSFj%2B3%2Bsi%2FlAQi1qf5%2FH0I5OEUd%2FWDIAV7KyAFeysL%2BotDP%2FqLDjqQBHKKkARujpP7koqT%2B5aMDiao%2F%2FnABUv6uA5SM%2FvI5QkE2%2Ft%2FIAV7KyP6iysX%2BptDPAVrGpP7lo6QBHKKkARujpP7kAAAB%2F%2FoGFAQGBt0AAwAStgAFAQQCAQAAPzMRATMRMzEwASE1IQQG%2B%2FQEDAYUyQAAAAACAFwDGQMQBcsADgAaABhACQAPDxwbEgwYBAAvM8QyERIBOREzMTATND4BMzIeARUUDgEjIiY3FBYzMjY1NCYjIgZcXKBeXKFdXaBdkcm%2FWUJCWltBQFsEcVygXlyiXF2hWseRQFpcPj9eXAACAFgAAAQ5BQIACwAPADZAGA8HBwYKCgsMAQEDCwsQEQ0MCwkBAQYEAgAvMzMzETMzLzMREgE5ETMzETMRMxEzMxEzMTABITUhETMRIRUhESMBNSEVAdv%2BfQGD2wGD%2Fn3b%2Fn0D4QKi2wGF%2Fnvb%2Fn%2F%2B39vbAAEALwJKAr4FywAWAChAEhUMAQYAEQERFxgJDh8CFRUBIAA%2FMxI5PzMREgE5OREzMxEzMzEwASE1Nz4BNTQmIyIHJzYzMhYVFAYPASECvv154GY5MChRY3uTvYmeXoFpAWACSqjbZFkyJihYmIGFdVWWdV8AAQA7AjkCtgXJACUAPkAdFAsCGRkAACAGIAsQBgsGJicDFBQVFQkcIx8OCSEAPzM%2FMxI5LzMSORESATk5ETMRMxESOREzETMSOTEwARQHFR4BFRQGIyInNRYzMjU0JisBNTMyNjU0JiMiBgcnPgEzMhYCmqpeaLC6j4KUe49YTnBcU1EyMy9UOWU%2Bl2d%2FogThjzcNFG5PeYtGvlprNTWgNDkmMiYojS8%2BgAAAAAEBTATZA40GIQAIABxACwMEQAgAAAkKBIAAAC8azRESATkRMxrJMjEwATU2NyEVDgEHAUysPwFWNPtHBNkbyGUVNM0yAAAAAAEAoP4UBKgEXgAYAD9AHwsGBgkJGhIWABUVFhYZBxcPFhsSDA8DDwNHWQ8WChUAPz8rERIAOTkYPz8zEQEzETMRMxI5ETMRMxI5MTABFBYzMjY1ESERIycjDgEjIiYnHwERIREhAdFYXn5yATHnKw8qeFg%2BaCAFBf7PATEB0Xl5rcQCDvuillVVLixVnf7ABkoAAAABAHH%2B%2FASPBhQADwAvQBULEAQFAQABARARCAgBDg4DTVkOBQEALzMvKxESADkYLxESATkRMxDEMhE5MTABIxEjESMRBiMiJjUQNjMhBI%2BhpqI%2BVNjL2ugCXP78BlD5sAMzEvr7AQT%2BAAEAdQIpAdMDfQALABVACQYAAAwDCVRZAwAvKxEBMxEzMTATNDYzMhYVFAYjIiZ1WlZTW11RVFwC01RWWFJRWVgAAAAAAf%2Fb%2FhQBogAAABIANEAXEA0NBQUACwsTFBAQDRQNEwkOBgkJAxsAPzMRMy8REjkREjl8LxESATkRMzMSOREzMTAFFAYjIic1HgEzMjU0JzczBx4BAaKXnk5EG1sZSKZOwRtKWPqAchWoBw4%2BUxmaPRhlAAABAFwCSgJIBbYACgAqQBMECQAACAEBCwwIBwcBBAQJHgEgAD8%2FMxESOREzERIBOREzMxI5OTEwASMRPwEGDwEnJTMCSO4DBRswTm0BLb8CSgG%2BcF8kKj1%2F6wAAAAIAOQLwAuEFxwALABcAH0ANDAYSAAYAGBkPAxUJHwA%2FM8QyERIBOTkRMxEzMTABFAYjIiY1NDYzMhYFFBYzMjY1NCYjIgYC4befmbmzo5i6%2FiNBSEg%2FP0hIQQRcq8HFp6nCxaZkZWVkZGNjAAIAUgBeBJoEBAAGAA0AWkAqCwkJCgcIBAICAwAFAQgMCAgODQYGAwcAAAoDAwQJAgIIAQEFDgsEBAwFAC8zMxEzERI5LzMzETMSOREzMxEzETMRMxEBMxEzENYywTIzETMQwTIzETMxMAkBJwkBNwEFAScJATcBBJr%2BjdsBFv7q2wFz%2Fgb%2BjdsBFv7q2wFzAiP%2BO3cBXAFcd%2F45Gv47dwFcAVx3%2FjkA%2F%2F8ALgAABpIFthAmAHvSABAnANMCyQAAEQcA1AOc%2FbcACbMDAhIYAD81NQD%2F%2FwAuAAAGtAW2ECYAe9IAECcA0wLJAAARBwB0A%2Fb9twAHsgIQGAA%2FNQAAAP%2F%2FAFoAAAawBckQJgB1HwAQJwDTAxAAABEHANQDuv23AAmzAwItGAA%2FNTUAAAIAPf55A9cEXgAbACcARkAkIhwcGwAABwcUFA4oDikAGxAbAgkDGxslJR9UWSUPEQpPWREjAD8rABg%2FKxEAMxgvX15dEQEzERI5ETMROREzMxEzMTABFRQGBw4BFRQWMzI2NxcOASMiJjU0Njc%2BAT0BARQGIyImNTQ2MzIWAslZbG05V1lPtGBmYvdq3Pthj181AShaVlNbXVFUXAJeSmKOTU5YPzlKOirdOEXBqWyeaUZKPTsBVlRWWFJRWVgA%2F%2F8AAAAABYUHcxImACQAABEHAEMABgFSAAizAhYFJgArNQAA%2F%2F8AAAAABYUHcxImACQAABEHAHYA0QFSAAizAhYFJgArNQAA%2F%2F8AAAAABYUHcxImACQAABEHAMUAVgFSAAizAhsFJgArNQAA%2F%2F8AAAAABYUHYBImACQAABEHAMcAVgFSAAizAhIFJgArNQAA%2F%2F8AAAAABYUHVhImACQAABEHAGoAVgFSAAq0AwIjBSYAKzU1%2F%2F8AAAAABYUHChImACQAABEGAMZ1WAAJswMCIwMAPzU1AAAAAAIAAAAAByUFtgAPABMAb0A8BhMDEBMDEQQRAQoODgEBBQwIAAAVBAUFFBADTFkKDUxZDAoBDQMQChAKAQYTCQYJTFkGAwQSAQ5MWQESAD8rABg%2FPysRADMREjk5GC8vX15dKysRATMRMxEzETMzEjkRMxEzETMREhc5ETMxMCkBESEDIQEhFSERIRUhESEBIREjByX8l%2F4Vlv7FAo8Elv3NAg798gIz%2Bx0Ben8BXP6kBbb%2B%2Fr%2F%2B%2FocBYAJOAAAA%2F%2F8Ad%2F4UBNEFyxImACYAABAHAHoCHQAA%2F%2F8AuAAABAIHcxImACgAABEHAEP%2FtwFSAAizARQFJgArNQAA%2F%2F8AuAAABAIHcxImACgAABEHAHYAXAFSAAizARQFJgArNQAA%2F%2F8ArwAABBQHcxImACgAABEHAMX%2F9QFSAAizARkFJgArNQAA%2F%2F8AuAAABAIHVhImACgAABEHAGr%2F%2BQFSAAq0AgEhBSYAKzU1%2F%2F%2F%2FxgAAAgcHcxImACwAABEHAEP%2BegFSAAizAQwFJgArNQAA%2F%2F8ApwAAAugHcxImACwAABEHAHb%2FWwFSAAizAQwFJgArNQAA%2F%2F%2F%2FoAAAAwUHcxImACwAABEHAMX%2B5gFSAAizAREFJgArNQAA%2F%2F%2F%2F%2FQAAAqsHVhImACwAABEHAGr%2B5gFSAAq0AgEZBSYAKzU1AAIALwAABXUFtgAMABgASEAkDQYGGhQSFhYMAQoKGRUMAAxMWRIAAAoCChZMWQoSAhFMWQIDAD8rABg%2FKxESADkYLzMrEQAzEQEzETMzMxEzMxEzETMxMBMzESEgABEQACkBESMlNCYrAREzFSMRMyAviQHLAWYBjP5l%2Fnz%2BYokEBNDSo%2B3tgwHCA1ICZP6G%2Fq3%2Bl%2F6AAlSN6O%2F%2Bmv7%2BrP%2F%2FALgAAAXJB2ASJgAxAAARBwDHANMBUgAIswEUBSYAKzUAAP%2F%2FAHf%2F7AXnB3MSJgAyAAARBwBDAHUBUgAIswIeBSYAKzUAAP%2F%2FAHf%2F7AXnB3MSJgAyAAARBwB2AUYBUgAIswIeBSYAKzUAAP%2F%2FAHf%2F7AXnB3MSJgAyAAARBwDFAMMBUgAIswIjBSYAKzUAAP%2F%2FAHf%2F7AXnB2ASJgAyAAARBwDHAMMBUgAIswIaBSYAKzUAAP%2F%2FAHf%2F7AXnB1YSJgAyAAARBwBqAMMBUgAKtAMCKwUmACs1NQABAIEBDAQQBJoACwAdQAsGAwAJCQwNCQYDAAAZLzIyMhESATkRMzMzMTAJATcJARcJAQcJAScBrP7VmAEtATGZ%2Fs8BLZX%2Bz%2F7TlgLTAS2a%2FtUBK5b%2Bz%2F7RmAEt%2FtWYAAADAHf%2FpgXnBgQAEwAbACIAOUAcFx8cFBQKHAAKACMkFh4hGQ0ZTFkNBAMhTFkDEwA%2FKwAYPysREgA5ORESATk5ETMRMxESOTkxMAEQACEiJwcnNyYREAAhMhc3FwcWARQXASYjIgYFNCcBFjMgBef%2BmP6wxYtaolrGAWkBUcaSVKBYwvvVOAH6VGm5vALmM%2F4MTGgBcwLd%2FpX%2BekGHbIjCAYMBbQGBRn1og8L%2Bhr90AvQt%2BfW0df0RJwAA%2F%2F8Arv%2FsBV4HcxImADgAABEHAEMAKwFSAAizARsFJgArNQAA%2F%2F8Arv%2FsBV4HcxImADgAABEHAHYBDgFSAAizARsFJgArNQAA%2F%2F8Arv%2FsBV4HcxImADgAABEHAMUAmgFSAAizASAFJgArNQAA%2F%2F8Arv%2FsBV4HVhImADgAABEHAGoAmgFSAAq0AgEoBSYAKzU1%2F%2F8AAAAABP4HcxImADwAABEHAHYAgQFSAAizAREFJgArNQAAAAIAuAAABKoFtgAMABUANkAcEQAAFw0JBQUGBhYEDU1ZCRVNWQQJBAkGBwMGEgA%2FPxI5OS8vKysRATMRMxEzMxEzETMxMAEUBCEjESERIRUzMgQBMzI2NTQmKwEEqv7j%2FvqZ%2FsoBNrL%2BAQz9RGSRjn%2BIfAMC5fj%2B2wW25e7%2BPGl6a2gAAAEAoP%2FsBWgGHwA1AFRAKxQHISEnJwAALhoODjcuLy82DhohBwAnJwcaAxgqMypHWTMALxURGEpZERYAPysAGD8%2FKxESABc5ETMRMxEzEQEzETMRMxEzEjkRMxE5ETMzMTABFA4EFRQWFx4CFRQGIyImJzUeATMyNTQuAScuATU0Njc%2BATU0JiMiBhURIRE0JCEyBAThKkBKQCo1QpJpM%2BnjY5A8NaVAqCBSSn5iRkZNPn9kdIL%2BzwElAQL0ASYE2UBhTDowKhYbNChbYnpOrK4dIvIkMnspMzwqSHdRQGoxN1AuPFFpYPuYBHPJ47EA%2F%2F8AVv%2FsBDsGIRImAEQAABEGAEOjAAAIswIrESYAKzX%2F%2FwBW%2F%2BwEOwYhEiYARAAAEQYAdm0AAAizAisRJgArNf%2F%2FAFb%2F7AQ7BiASJgBEAAARBgDF9%2F8ACLMCMBEmACs1%2F%2F8AVv%2FsBDsGDhImAEQAABEGAMcKAAAIswInESYAKzX%2F%2FwBW%2F%2BwEOwYEEiYARAAAEQYAagYAAAq0AwI4ESYAKzU1AAD%2F%2FwBW%2F%2BwEOwayEiYARAAAEQYAxikAAAq0AwImESYAKzU1AAAAAwBW%2F%2BwG%2FgR1ACgAMgA4AIVARTU2AxggIDIUDQ0yMgk2NiYfHzotCQk5JSAjNSBKWTU1BgMYABsbM0pZGxANKUtZDQ0WBhYRRlkWEAAjRlkABgYvRlkGFgA%2FKxEAMysAGD8rERIAORgvKwAYPysREgA5ORI5GC8rERIAOREBMxEzETMRMzMREjkRMxE5ETMSOTkROTEwBSImJw4BIyImNTQ2PwE1NCYjIgcnNjMyFz4BMzIAHQEhHgEzMjcVDgEBBw4BFRQzMjY1ASIHIS4BBTGJ4UhixZ6hw%2FLxv1lNjKVjvenjc0KteN0BAP0tBZCCxLhPuP1BcXx8jGV4AiPZEQGuAmoUZWl1Wb2lsqkJBlRFQk3KZYNAQf7t6ZSCkljsJygCGgQEV1uBemUB8OxwfAAAAP%2F%2FAFz%2BFAPdBHMSJgBGAAAQBwB6AYMAAP%2F%2FAFz%2F7ARiBiESJgBIAAARBgBDqQAACLMCJBEmACs1%2F%2F8AXP%2FsBGIGIRImAEgAABEGAHZzAAAIswIkESYAKzX%2F%2FwBc%2F%2BwEYgYhEiYASAAAEQYAxQgAAAizAikRJgArNf%2F%2FAFz%2F7ARiBgQSJgBIAAARBgBqEgAACrQDAjERJgArNTUAAP%2F%2F%2F5sAAAHcBiESJgDCAAARBwBD%2Fk8AAAAIswEMESYAKzUAAP%2F%2FAJEAAALSBiESJgDCAAARBwB2%2F0UAAAAIswEMESYAKzUAAP%2F%2F%2F4YAAALrBiESJgDCAAARBwDF%2FswAAAAIswERESYAKzUAAP%2F%2F%2F%2BMAAAKRBgQSJgDCAAARBwBq%2FswAAAAKtAIBGREmACs1NQACAFz%2F7ASYBiMAGwAnAHZAOwAZAhcXHAUIAwsDAgIRHBwLCykiEREoGQAYAgUIAwkJGBgCFhYfFBQfRlkUFA4CDiVGWQ4WAwJLWQMBAD8rABg%2FKxESADkYLysREgA5ERI5ETMREjk5ERI5OREBMxEzETMRMxESOREzERI5OREzERI5OTEwASYnNxYXNxcHFhIVEAAjIgA1NAAzMhc3JicHJwE0JiMiBhUUFjMyNgH%2BUEhlkHLhZKqclP7e%2F%2FX%2B2gEE3c1GCEN95mQCEnpreW94cHtqBRc1J7BBTIuaaI%2F%2Blej%2B6P7HARLr6QERYgSid46c%2FWhsgomSjI6kAP%2F%2FAKAAAASoBg4SJgBRAAARBgDHMwAACLMBGREmACs1%2F%2F8AXP%2FsBJgGIRImAFIAABEGAEOhAAAIswIiESYAKzX%2F%2FwBc%2F%2BwEmAYhEiYAUgAAEQcAdgCHAAAACLMCIhEmACs1AAD%2F%2FwBc%2F%2BwEmAYhEiYAUgAAEQYAxQwAAAizAicRJgArNf%2F%2FAFz%2F7ASYBg4SJgBSAAARBgDHDAAACLMCHhEmACs1%2F%2F8AXP%2FsBJgGBBImAFIAABEGAGoMAAAKtAMCLxEmACs1NQAAAAMAWADdBDkExwADAA8AGwAqQBIWCgoQBAQAAwMdABwZEw0HAAEALzPEMsQyEQEzETMREjkRMzMRMzEwEzUhFQU0NjMyFhUUBiMiJhE0NjMyFhUUBiMiJlgD4f2DSkJCSUpBQUtKQkNISkFBSwJk29vvTEtOSUZSTgMES01RR0ZRTgAAAAMAXP%2B0BJgEkQATABsAIwA5QBwXHxwUFAocAAoAJSQWHiEZDRlHWQ0QAyFHWQMWAD8rABg%2FKxESADk5ERIBOTkRMxEzERI5OTEwARAAISInByc3JhEQACEyFzcXBxYBFBcBJiMiBgU0JwEWMzI2BJj%2B4P7%2FfmxDmkSYAR4BA4R0N5g6jvz7EwE9Kz96bAHNDP7LJjZ6awIx%2Fu%2F%2BzC1laWScARQBEgEwNFJsVJv%2B%2B15IAdsXpadRPP4yD6n%2F%2FwCa%2F%2BwEogYhEiYAWAAAEQYAQ6kAAAizAR0RJgArNf%2F%2FAJr%2F7ASiBiESJgBYAAARBwB2AKYAAAAIswEdESYAKzUAAP%2F%2FAJr%2F7ASiBiESJgBYAAARBgDFMQAACLMBIhEmACs1%2F%2F8Amv%2FsBKIGBBImAFgAABEGAGovAAAKtAIBKhEmACs1NQAA%2F%2F8AAP4UBI0GIRImAFwAABEGAHY9AAAIswEfESYAKzUAAgCg%2FhQEtAYUABUAIQBEQCIfBgYjFQwQGhMPDxAQIhEAEBsMFQkDCR1HWQkWAxZHWQMQAD8rABg%2FKxESADk5GD8%2FEQEzETMRMzMSOTkRMxEzMTABPgEzMhIREAIjIicjHwERIREhEQ8BFyIGBxUUFjMyETQmAdEyomnG4N%2FH1WgOBwf%2BzwExBwfpcWgCa3TNZQPNUVX%2By%2F7z%2Fu%2F%2BzIk%2BXv47CAD%2BeXhITougIbScAVKlpQD%2F%2FwAA%2FhQEjQYEEiYAXAAAEQYAatwAAAq0AgEsESYAKzU1AAAAAQCgAAAB0QReAAMAE7cAAQEEAg8BFQA%2FPxEBMxEzMTApAREhAdH%2BzwExBF4AAAAAAgB3%2F%2BwHUAXNABYAIwBlQDYRFRUNASAgBxMPAAAlGgcHJBEUTFkMEQENAxERAQ0NEExZDQMKF0xZCgQEHUxZBBIBFUxZARIAPysAGD8rABg%2FKwAYPysREgA5GC9fXl0rEQEzETMRMxEzMxI5ETMzMxEzMTApAQ4BIyAAERAAITIWFyEVIREhFSERIQEiBhUUFjMyNjcRLgEHUPyXJo4t%2FsH%2BsAFTAT49hCMDZP3NAg798gIz%2B7imrKykQXomI4UJCwGKAWkBawGDDgn%2B%2Fr%2F%2B%2FocDy%2Fvz9PkVEgOLExYAAAADAFz%2F7Ad7BHMAHwArADIAcEA6LzAOAhUVJiYIMDAdFBQ0IAgIMxwVGS8VSlkvLwAQECxKWRAQAg4ECwspR1kLEAAZRlkABAQjR1kEFgA%2FKxEAMysAGD8rERIAOTkYPysREgA5GC8rERIAOREBMxEzETMRMzMREjkRMxI5ORE5MTAFICcGIyImAjUQACEyFhc2MzIAHQEhFR4BMzI2NxUOAQEUFjMyNjU0JiMiBiUiBgchLgEFpv7xlY36oviFARsBAnDIR5Dv9AEQ%2FRYHlYVrumRRvftmbXt6a2x7emwD6l58CQHCAnUUm5uMAQixARUBLU9NnP7y7pQIf40qLuwnKAJFpqqpp6ampcJzeW99AAEAugTZBB8GIQANACpAEgUEBAIMAAAJCAICDg8CCYAFAAAvMhrNMhESATkRMzMzETMRMxEzMTABJicGByM1NjchHgEXFQNUnU1Ol8u9QwFlH5lIBNldU1FfG71wNLNGGwAAAAACAVQE1wNKBrIACwAXACBADwYSEhkYDw8JHwkCCQkVAwAvMzMvXTMREgE5ETMxMAEUBiMiJjU0NjMyFgc0JiMiBhUUFjMyNgNKjnBwiIdxbpCeNioqNjAwKjYFx2yEgG5sgYRpLTMzLS00NAABAM8E1wQMBg4AFwA0QBkQDwNABAMDGBkMEwAHEwcTB28QfxACEIAEAC8azF05OS8vETMRMxESATkRMxoQyDIxMAEiBgcjPgEzMh4CMzI2NzMOASMiLgIByR85DZULj3YpT01KJB85DZULkXQpT01KBUI1NpGkIScgNDaRpCEnIQAAAAABAFIBtAOuApoAAwARtQIFAAQAAQAvMxEBMxEzMTATNSEVUgNcAbTm5gAAAAEAUgG0B64CmgADABG1AgUABAABAC8zEQEzETMxMBM1IRVSB1wBtObmAAAAAQAZA8EBpAW2AAcAGUAKBAUHAQcHCQAEAwA%2FzREBMxEzEMIyMTATJzYSNzMCBycOFmU120IjA8EWWwETcf716gAAAAABABkDwQGkBbYABgAXQAkDBAEGBgcEBgMAP8YRATMRM8IyMTABFwYDIxI3AZYOMn7bRR8FthbF%2FuYBKM0AAAAAAQA%2F%2FvgBywDuAAYAGEAJAgMFAAUFBwMGAC%2FNEQEzETMQwjIxMCUGAyMSNyEByzR83EEkARjXyv7rAQrsAAAAAAIAGQPBA3cFtgAHAA8AJUAQCwwIDgMEBgAGBhEHDwMLAwA%2FM80yEQEzETMQwjLUMsIyMTABNhI3MwIHISU2EjczAgchAewWZTXbQiP%2B6P4fFmU120Ij%2FugD11sBE3H%2B9eoWWwETcf716gAAAAIAGQPBA3cFtgAGAA0AI0APCQoHDAIDAAUFDgoDDAUDAD8zxjIRATMRM8Iy1DLCMjEwAQYDIxI3IQUGAyMSNyEBpDJ%2B20UfARkB4TJ%2B20UfARgFoMX%2B5gEozRbF%2FuYBKM0AAAACAD%2F%2B%2BAOeAO4ABgANACJADgkKBwwCAwAFBQ4KAwwFAC8zxjIRATMRM8Iy1DLCMjEwJQYDIxI3IQUGAyMSNyEByzR83EEkARgB4jR83EEkARjXyv7rAQrsF8r%2B6wEK7AABAGIBrgKgBCkACwATtgYAAAwNCQMAL80REgE5ETMxMBM0NjMyFhUUBiMiJmKUi4mWl4iKlQLsmqOkmZimpgAAAQBSAF4CoAQEAAYAMEAVAwYCBAQBBQUIBgADAwIEBAUFBwIBAC8zEjkvMxESOREzMxEBMxEzMxEzwTIxMBMBFwkBBwFSAXPb%2FukBF9v%2BjQI9Acd3%2FqT%2BpHcBxQABAFIAXgKgBAQABgAwQBUEAgIDAAUBAQcGAAMDBAICAQEHBAUALzMSOS8zERI5ETMzEQEzETPBMjMRMzEwCQEnCQE3AQKg%2Fo3bARb%2B6tsBcwIj%2Fjt3AVwBXHf%2BOQAAAAAB%2FncAAAKRBbYAAwAaQAsDAAIBAgIEAwMCEgA%2FPxEBMxEzEMEyMTAJASMBApH81e8DKwW2%2BkoFtgAAAAACAAwCSgL2BbwACgASAEJAHxIFBw4CCwMDCQACBQITFA4JBwkGEgEFBRISAwceAyAAPz8SOS8zETMSOTIREjkREgE5OREzMzMRMxI5OREzMTABIxUjNSE1ATMRMyE1NDcOAQ8BAvZ97v6BAYHsff6VBgk1D38C4ZeXmgJB%2Fc2kVmIabBe%2FAAAAAQBC%2F%2BwEgwXBACcAjEBIBgMIJSUcHyQZFhsJDBERJAsFBQgkJCkXHR0IGxsoDBcXCRgGHR4dUlkDHg8efx4CCwMYHhgeEyIlACIAT1kiBxAOEw5OWRMZAD8rEQAzGD8rEQAzERI5ORgvL19eXREzKxEAMxEzMxEzEQEzETMzETMRMxESOREzETMROTkSOTkROTkzERI5OTEwASIGByEVIQcVFyEVIRYhMjcRBiMiACcjNTMmNTcjNTM2ADMyFwcuAQMjep4XAZP%2BXgICAWP%2BrjMBDo%2BEdLH1%2FsQpiXYEAnSFJQFE87ykYkV4BMmNhrAjLyGy8zn%2FADsBCuuyFyc1sPIBGVLoHyMAAAABAAAjAAABBdMYAAAKCvIABQAk%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%2F5oAAAAaAT4AAQAAAAAAAAA5AHQAAQAAAAAAAQAJAMIAAQAAAAAAAgAEANYAAQAAAAAAAwAjASMAAQAAAAAABAAOAWUAAQAAAAAABQAMAY4AAQAAAAAABgANAbcAAQAAAAAABwBSAmsAAQAAAAAACAAUAugAAQAAAAAACwAcAzcAAQAAAAAADAAuA7IAAQAAAAAADQAuBD8AAQAAAAAADgAqBMQAAwABBAkAAAByAAAAAwABBAkAAQASAK4AAwABBAkAAgAIAMwAAwABBAkAAwBGANsAAwABBAkABAAcAUcAAwABBAkABQAYAXQAAwABBAkABgAaAZsAAwABBAkABwCkAcUAAwABBAkACAAoAr4AAwABBAkACwA4Av0AAwABBAkADABcA1QAAwABBAkADQBcA%2BEAAwABBAkADgBUBG4ARABpAGcAaQB0AGkAegBlAGQAIABkAGEAdABhACAAYwBvAHAAeQByAGkAZwBoAHQAIACpACAAMgAwADEAMAAtADIAMAAxADEALAAgAEcAbwBvAGcAbABlACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAC4AAERpZ2l0aXplZCBkYXRhIGNvcHlyaWdodCCpIDIwMTAtMjAxMSwgR29vZ2xlIENvcnBvcmF0aW9uLgAATwBwAGUAbgAgAFMAYQBuAHMAAE9wZW4gU2FucwAAQgBvAGwAZAAAQm9sZAAAQQBzAGMAZQBuAGQAZQByACAALQAgAE8AcABlAG4AIABTAGEAbgBzACAAQgBvAGwAZAAgAEIAdQBpAGwAZAAgADEAMAAwAABBc2NlbmRlciAtIE9wZW4gU2FucyBCb2xkIEJ1aWxkIDEwMAAATwBwAGUAbgAgAFMAYQBuAHMAIABCAG8AbABkAABPcGVuIFNhbnMgQm9sZAAAVgBlAHIAcwBpAG8AbgAgADEALgAxADAAAFZlcnNpb24gMS4xMAAATwBwAGUAbgBTAGEAbgBzAC0AQgBvAGwAZAAAT3BlblNhbnMtQm9sZAAATwBwAGUAbgAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABHAG8AbwBnAGwAZQAgAGEAbgBkACAAbQBhAHkAIABiAGUAIAByAGUAZwBpAHMAdABlAHIAZQBkACAAaQBuACAAYwBlAHIAdABhAGkAbgAgAGoAdQByAGkAcwBkAGkAYwB0AGkAbwBuAHMALgAAT3BlbiBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIEdvb2dsZSBhbmQgbWF5IGJlIHJlZ2lzdGVyZWQgaW4gY2VydGFpbiBqdXJpc2RpY3Rpb25zLgAAQQBzAGMAZQBuAGQAZQByACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAABBc2NlbmRlciBDb3Jwb3JhdGlvbgAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tLwAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwB0AHkAcABlAGQAZQBzAGkAZwBuAGUAcgBzAC4AaAB0AG0AbAAAaHR0cDovL3d3dy5hc2NlbmRlcmNvcnAuY29tL3R5cGVkZXNpZ25lcnMuaHRtbAAATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMAAATGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAAGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAAAAAAAAgAAAAAAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADWAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA%2BAD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCsAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQIAigEDAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB%2BAIAAgQDsAO4AugDXALAAsQDYAN0A2QCyALMAtgC3AMQAtAC1AMUAhwC%2BAL8AvAEEAQUHdW5pMDBBRAlvdmVyc2NvcmUMZm91cnN1cGVyaW9yBEV1cm8AAAABAAIACAAK%2F%2F8ADwAAAAEAAAAAyYlvMQAAAADJQhegAAAAAMnt2FA%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%20700%3B%0Asrc%3A%20url%28data%3Aapplication%2Fx%2Dfont%2Dtruetype%3Bbase64%2CAAEAAAAQAQAABAAARkZUTVzakKIAAIekAAAAHE9TLzKieLkEAAABiAAAAGBjbWFwjOjcmQAABUAAAAGyY3Z0IBNnGWkAAA%2FYAAAArGZwZ227c6R1AAAG9AAAB%2BBnYXNwAAgAGwAAh5gAAAAMZ2x5ZnyrhG8AABI0AABJ7GhlYWT45RTCAAABDAAAADZoaGVhDngEywAAAUQAAAAkaG10eJn%2BMAMAAAHoAAADWGtlcm4Mlg8JAABcIAAAIwRsb2Nhc4Rh3gAAEIQAAAGubWF4cAJWAQYAAAFoAAAAIG5hbWVe2GvUAAB%2FJAAABn5wb3N0gmzp1QAAhaQAAAHycHJlcOKvEwUAAA7UAAABAQABAAAAARma0xLMdF8PPPUAHwgAAAAAAMnt2FIAAAAAye3YUv3s%2FhQH5wdzAAMACAACAAAAAAAAAAEAAAiN%2FagAAAgA%2Fez96QfnAGQAFQAAAAAAAAAAAAAAAADWAAEAAADWAEUABQA7AAQAAgAQAC8AXAAAAQcAVAADAAEAAwRPArwABQAIBZoFMwAAAR8FmgUzAAAD0QBmAgAAAAILCAYDBQQCAgTgAALvQAAgWwAAACgAAAAAMUFTQwAhACAgrAYf%2FhQAhAiNAlggAAGfAAAAAAReBbYAAAAgAAEIAAAAAAAAAAQUAAACFAAAAkoAGQOgAMkFKwApBGgAMwbZAHMFqgBEAgoAyQK2AEoCtv9tBFwArARoAG0COf%2BaApMAKQJIABkDXv%2BmBGgAQgRoALYEaP%2FPBGgADgRo%2F%2BcEaAAbBGgAWARoAE4EaAA3BGgAVgJIABkCSP%2BaBGgAbQRoAG0EaABtA6wApgbZAFwFBv%2BFBPYANQTlAHsFagA1BFYANQQ%2FADUFhQB7BZoANQKTADUCpv6%2BBOcANQQlADUHCgA1BgoANQXXAHsEpAA1BdcAewTfADUEPQApBD8AqAWHAI0EuAC4BycAuATZ%2F4sEgwC6BEr%2FwwKm%2F9sDXgDdAqb%2FdwQ5ABQDM%2F9GBG8B%2FATBAFoEwwAlA90AWgTBAFoEdQBaAvz%2FJQRU%2F40E1QAlAmAAJQJg%2FvgEiwAlAmAAJQc9ACUE1QAlBK4AWgTD%2F7wEwQBaA14AJQPJABcDSABeBNUAbwQZAGYGTgB9BD%2F%2FnAQn%2F3MDpP%2FRAtf%2F%2BARoAccC1%2F%2BcBGgAbQIUAAACSv%2B2BGgApARo%2F%2FQEaABzBGgAWARoAccD4wAUBG8BjQaoAH0DBACYBH8ASARoAG0CkwApBqgAfQQA%2F%2FoDbQCkBGgAbQMIADsDCABcBG8B4wTh%2F7wFPQCTAkgAgwGk%2FzEDCACBAvIAogR%2FAAAHDABhBwwAYQcMAIUDrP%2B8BQb%2FhQUG%2F4UFBv%2BFBQb%2FhQUG%2F4UFBv%2BFByn%2FhQTlAHsEVgA1BFYANQRWADUEVgA1ApMANQKTADUCkwA1ApMANQVqACUGCgA1BdcAewXXAHsF1wB7BdcAewXXAHsEaACBBdcAZAWHAI0FhwCNBYcAjQWHAI0EgwC6BKQANQVG%2FvwEwQBaBMEAWgTBAFoEwQBaBMEAWgTBAFoG%2BgBaA90AWgR1AFoEdQBaBHUAWgR1AFoCYAAlAmAAJQJgACQCYAAlBJ4ASATVACUErgBaBK4AWgSuAFoErgBaBK4AWgRoAG0ErgArBNUAbwTVAG8E1QBvBNUAbwQn%2F3MEw%2F%2B8BCf%2FcwJgACUHNQB7Bw4AWgRvATcEngIUBG8BOwPXACkHrgApAbgAcwG4AGoCOf%2BaA3cAcwN3AGoD%2Bv%2BaAuMAaAKYAEgCmAAAAQD97AMIAC8EaAApAAAAAwAAAAMAAAAcAAEAAAAAAKwAAwABAAAAHAAEAJAAAAAgACAABAAAAH4A%2FwExAVMCxgLaAtwgFCAaIB4gIiA6IEQgdCCs%2F%2F8AAAAgAKABMQFSAsYC2gLcIBMgGCAcICIgOSBEIHQgrP%2F%2F%2F%2BP%2Fwv%2BR%2F3H9%2F%2F3s%2FevgteCy4LHgruCY4I%2FgYOApAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0%2BP0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAhoeJi5OYnqOipKalp6mrqqytr66wsbO1tLa4t7y7vb4AcmRladB4oXBrAHZqAIiaAHMAAGd3AAAAAABsfACouoFjbgAAAABtfQBigoWXw8TIyc3Oysu5AMEA09XR0gAAAHnMzwCEjIONio%2BQkY6VlgCUnJ2bwsXHcQAAxnoAAAAAAEBHW1pZWFVUU1JRUE9OTUxLSklIR0ZFRENCQUA%2FPj08Ozo5ODc2NTEwLy4tLCgnJiUkIyIhHxgUERAPDg0LCgkIBwYFBAMCAQAsILABYEWwAyUgEUZhI0UjYUgtLCBFGGhELSxFI0ZgsCBhILBGYLAEJiNISC0sRSNGI2GwIGAgsCZhsCBhsAQmI0hILSxFI0ZgsEBhILBmYLAEJiNISC0sRSNGI2GwQGAgsCZhsEBhsAQmI0hILSwBECA8ADwtLCBFIyCwzUQjILgBWlFYIyCwjUQjWSCw7VFYIyCwTUQjWSCwBCZRWCMgsA1EI1khIS0sICBFGGhEILABYCBFsEZ2aIpFYEQtLAGxCwpDI0NlCi0sALEKC0MjQwstLACwKCNwsQEoPgGwKCNwsQIoRTqxAgAIDS0sIEWwAyVFYWSwUFFYRUQbISFZLSxJsA4jRC0sIEWwAENgRC0sAbAGQ7AHQ2UKLSwgabBAYbAAiyCxLMCKjLgQAGJgKwxkI2RhXFiwA2FZLSyKA0WKioewESuwKSNEsCl65BgtLEVlsCwjREWwKyNELSxLUlhFRBshIVktLEtRWEVEGyEhWS0sAbAFJRAjIIr1ALABYCPt7C0sAbAFJRAjIIr1ALABYSPt7C0sAbAGJRD1AO3sLSywAkOwAVJYISEhISEbRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F7qLG7BGjFmwEGBoATpZLSwgRbADJUZSS7ATUVtYsAIlRiBoYbADJbADJT8jITgbIRFZLSwgRbADJUZQWLACJUYgaGGwAyWwAyU%2FIyE4GyERWS0sALAHQ7AGQwstLCEhDGQjZIu4QABiLSwhsIBRWAxkI2SLuCAAYhuyAEAvK1mwAmAtLCGwwFFYDGQjZIu4FVViG7IAgC8rWbACYC0sDGQjZIu4QABiYCMhLSxLU1iKsAQlSWQjRWmwQIthsIBisCBharAOI0QjELAO9hshI4oSESA5L1ktLEtTWCCwAyVJZGkgsAUmsAYlSWQjYbCAYrAgYWqwDiNEsAQmELAO9ooQsA4jRLAO9rAOI0SwDu0birAEJhESIDkjIDkvL1ktLEUjRWAjRWAjRWAjdmgYsIBiIC0ssEgrLSwgRbAAVFiwQEQgRbBAYUQbISFZLSxFsTAvRSNFYWCwAWBpRC0sS1FYsC8jcLAUI0IbISFZLSxLUVggsAMlRWlTWEQbISFZGyEhWS0sRbAUQ7AAYGOwAWBpRC0ssC9FRC0sRSMgRYpgRC0sRiNGYIqKRiMgRopgimG4%2F4BiIyAQI4qxDAyKcEVgILAAUFiwAWG4%2F4CLG7CBjFloOi0sSyNRWLkAM%2F%2FgsTQgG7MzADQAWURELSywFkNYsAMmRYpYZGawH2AbZLAgYGYgWBshsEBZsAFhWSNYZVmwKSNEIxCwKeAbISEhISFZLSywAkNUWEtTI0tRWlg4GyEhWRshISEhWS0ssBZDWLAEJUVksCBgZiBYGyGwQFmwAWEjWBtlWbApI0SwBSWwCCUIIFgCGwNZsAQlELAFJSBGsAQlI0I8sAQlsAclCLAHJRCwBiUgRrAEJbABYCNCPCBYARsAWbAEJRCwBSWwKeCwKSBFZUSwByUQsAYlsCngsAUlsAglCCBYAhsDWbAFJbADJUNIsAQlsAclCLAGJbADJbABYENIGyFZISEhISEhIS0sArAEJSAgRrAEJSNCsAUlCLADJUVIISEhIS0sArADJSCwBCUIsAIlQ0ghISEtLEUjIEUYILAAUCBYI2UjWSNoILBAUFghsEBZI1hlWYpgRC0sS1MjS1FaWCBFimBEGyEhWS0sS1RYIEWKYEQbISFZLSxLUyNLUVpYOBshIVktLLAAIUtUWDgbISFZLSywAkNUWLBGKxshISEhWS0ssAJDVFiwRysbISEhWS0ssAJDVFiwSCsbISEhIVktLLACQ1RYsEkrGyEhIVktLCCKCCNLU4pLUVpYIzgbISFZLSwAsAIlSbAAU1ggsEA4ERshWS0sAUYjRmAjRmEjIBAgRophuP%2BAYoqxQECKcEVgaDotLCCKI0lkiiNTWDwbIVktLEtSWH0belktLLASAEsBS1RCLSyxAgBCsSMBiFGxQAGIU1pYuRAAACCIVFiyAgECQ2BCWbEkAYhRWLkgAABAiFRYsgICAkNgQrEkAYhUWLICIAJDYEIASwFLUliyAggCQ2BCWRu5QAAAgIhUWLICBAJDYEJZuUAAAIBjuAEAiFRYsgIIAkNgQlm5QAABAGO4AgCIVFiyAhACQ2BCWbEmAYhRWLlAAAIAY7gEAIhUWLICQAJDYEJZuUAABABjuAgAiFRYsgKAAkNgQllZWVlZWbEAAkNUWEAKBUAIQAlADAINAhuxAQJDVFiyBUAIugEAAAkBALMMAQ0BG7GAAkNSWLIFQAi4AYCxCUAbsgVACLoBgAAJAUBZuUAAAICIVblAAAIAY7gEAIhVWlizDAANARuzDAANAVlZWUJCQkJCLSxFGGgjS1FYIyBFIGSwQFBYfFloimBZRC0ssAAWsAIlsAIlAbABIz4AsAIjPrEBAgYMsAojZUKwCyNCAbABIz8AsAIjP7EBAgYMsAYjZUKwByNCsAEWAS0ssICwAkNQsAGwAkNUW1ghIxCwIBrJG4oQ7VktLLBZKy0sihDlLUCSCSFIIFUgAQNVH0gDVR4D%2Fx9QTBYfT01kH05MZB8mNBBVJTMkVRkT%2Fx8HBP8fBgP%2FH01MHh9kTAFMRg0fEzMSVQUBA1UEMwNVHwMBDwM%2FA68DAwZLRstG20YDIzMiVU8iARwzG1UWMxVVEQEPVRAzD1WvD88PAjAPAQIBAFUBMwBVbwB%2FAK8A7wAEEAABgBYBBQG4AZCxVFMrK0u4B%2F9SS7AJUFuwAYiwJVOwAYiwQFFasAaIsABVWltYsQEBjlmFjY0AQh1LsDJTWLAgHVlLsGRTWLAQHbEWAEJZc3MrK3NzKysrK3Mrc15zdCsrKyt0KysrKysrKysrKysrKxheAAAABhQAFwBOBbYAFwB1BbYFzQAAAAAAAAAAAAAAAAAABF4AFQB7AAD%2F7AAAAAD%2F7AAAAAD%2F7AAA%2FhT%2F7AAABbYAFfyU%2F%2Bv%2Bb%2F%2Fn%2Fr%2F%2F6QAc%2FrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA5QD2AQABKwDTAMcBAgD2AQIA9gDtAN8AsgAAAVT%2BVgAAAAAAAAAAAAAAMABOAKQBEAF8AeQB%2BAIaAjoCYgKOAqYCuALUAuoDJANGA4ID2AQUBFgErATIBR4FdAWmBdQF9AYWBjgGiAcKBz4HjAfGB%2FwILghUCJwIyAjcCQIJNAlQCYgJuAn4CiwKdgq0CvwLHAtOC3YLvgvqDBAMPAxYDGwMiAykDLgM0g0YDWQNmg3oDjYOfg70Dy4PVg%2BMD74P0hAiEFYQjhDYESYRUBGWEdISCBIuEnQSoBLWEwATShNcE6YT4hPiFBIUWhSiFPgVQBVcFbgV4hZeFpgW3Bb8FwQXfheaF9IX%2Fhg0GH4YmBjYGQAZChk2GVgZhBnMGeIZ%2BBoOGl4acBqCGpQaphq4GsobGhsmGzgbShtcG24bgBuSG6QbthwAHBIcJBw2HEgcWhxsHJYc7Bz%2BHRAdIh00HUYdfh3qHfoeCh4aHioePB5OHtoe5h72HwYfFh8oHzofTB9eH3Af1B%2FkH%2FQgBCAUICQgNiB8IM4g3iDuIP4hECEgIW4hgCGUIfIibiKSIsIi%2BCMKIxwjNCNMI2QjiiOyI9oj%2BiQcJEgkXiSSJPYAAAACABn%2F5QKHBbYAAwAPACJAEg8BHwECCQMBAQ0CAw0HVFkNFgA%2FKwAYPxI5L19eXTEwASMTIQE0NjMyFhUUBiMiJgGH8Z0BVP2Sa2FEUm5ZSVIB5QPR%2Br1abExFV2xLAAACAMkDpgO6BbYAAwAHAA20BgIHAwMAPzPNMjEwAQMjEyEDIxMCJZjERwKql8dKBbb98AIQ%2FfACEAAAAAACACkAAAU1BbYAGwAfADtAHggECwscAQ4fAA8PGRUSMBJAEgIOEg4SChcTAwYKEgA%2FMz8zEjk5Ly9dETMzMxEzMxEzMzMRMzMxMAEHIQchAyMTIwMjEyM3ITcjNyETMwMzEzMDMwcFMzcjBAxFAQIT%2Ftd03HXCc9dx7hIBFUb8EgEhd9l1x3TXdO8S%2FQbFRcQDTujO%2FmgBmP5oAZjO6NEBl%2F5pAZf%2BadHo6AAAAwAz%2F4kEYAYUAB4AJQArAENAJSsbDCUEBhUmGhUaT1kSFR8LBgtQWQVAEBRIBQYDBhUGFQYsFAAAPxI5OS8vETMQzSsrEQAzETMrEQAzERIXOTEwARQGDwEjNyYnERYXEy4BNTQ2PwEzBxYXByYnAx4CAT4BNTQmJwMOARUUFwQK%2B%2FInjCzRksbOR6Oc%2Ft8jiyGmgWqEbj%2BDgEL%2BSD9OMSMSPkVQAfC41xHHyQxKAQprCgFCPbR8rdUPl5cWROhBCf7VM2GB%2Fv0JSD4uOw4CPQdEPE8gAAAABQBz%2F%2B4GjwXLAAkAFwAbACcANQAtQBgcMDMBMzMbBT8OAQ4OGhsGGhgAFQciLBkAPzM%2FMz8%2FEjkvXTMROS9dMzEwASICFRQzMhI1NBcUAgYjIiY1NBI2MzIWJQEjARMiDgEVFDMyPgE1NBcUAgYjIiY1NBI2MzIWAgY%2FXzhBXvZwvnqLj2%2B6e4mVAt37xfAEQDknSC43KUgv9Wy8eZCRar58iZUE%2Bv7%2FlWABBpBgbab%2B4JKnmakBHZCgi%2FpKBbb8%2FHDEYWFux2FgZKf%2B25SdkLEBI5SdAAAAAwBE%2F%2BwFlgXNABsAJAAwADdAHQIbBCQVIhglHAoUBAQYDwESDytNWQ8EBCJMWQQTAD8rABg%2FKwAYPxI5ERc5ERI5ORI5OTEwKQEnBiMiJjU0NjcmNTQ2MzIWFRAFEz4BNyECBwEOARUUFjMyNwM%2BATU0JiMiBhUUFgUt%2FqJIr%2BTR353DTOvHqcL%2Bk8MsSSoBLIWx%2Fb1YRltHc2pocVU8KEJJGGJ2w7eRz2GCgMPhpY7%2B6JL%2B%2BTmBbf7HuAFQM2tOQVY7AnE7aDw5M11JLlwAAAEAyQOmAiUFtgADAAmyAgMDAD%2FNMTABAyMTAiWYxEcFtv3wAhAAAAABAEr%2BvANIBbYACwAKswMDCicAPz8xMBMQEgEhCgEREBMjAkr1AQMBBv%2F1deqVARkBUwI%2FAQv%2B6v2x%2Fr3%2BzP7iAQoAAAH%2Fbf68AmoFtgAKAAqzCAMEJwA%2FPzEwARACAyEAERADMxICavj%2F%2FvoB83TplQNa%2Fqr9v%2F75AiEChwEzAR%2F%2B%2BAABAKwCQgSHBiUADgAJsgYOAAA%2FzTEwAQMlByUTBwsBJy0BNwUTA3VxAYMS%2Fq6g9lrFzwET%2FrpWAVIhBfL%2Bnx3%2BK%2F6wSQFR%2Fuqk%2BFztrgFxAAEAbQD4BCUEsAALACVAGAsJAAYEDwMfAz8DAy8DnwO%2FA98D7wMFAwAvXXEzMzMyMjEwASE1IREzESEVIREjAdv%2BkgFu2wFv%2FpHbAmTbAXH%2Bj9v%2BlAAAAAAB%2F5r%2B%2BAGBAO4ABgAKsgSAAAAvGs0xMCUXBgcjNhMBeQh2kOFKeO4X%2F%2BCnAU8AAAABACkBqAJqAqIAAwAIsQABAC8zMTATNyEHKTUCDDUBqPr6AAABABn%2F5QF7ATkACwAMtQkDVFkJFgA%2FKzEwNzQ2MzIWFRQGIyImGWthRFJuWUlSc1psTEVXbEsAAAH%2FpgAAA%2FYFtgADAAqzAwMCEgA%2FPzEwCQEhAQP2%2FNf%2B2QMpBbb6SgW2AAAAAgBC%2F%2BwEVgXNAAsAGQAXQAwKDE9ZCgcDE09ZAxkAPysAGD8rMTABEAAhIiY1EBIkMyAFIgYCFRQWMzI2EjU0JgRW%2Fq%2F%2B0MbNqAEgvQGP%2FlZQi2A3RlGLXT0D9P4q%2Fc708wEpAeDx%2BtD%2BdKpzddQBhr9vZgABALYAAAPlBbYACgAQtgQHAQkGARgAPz8SOTkxMCkBEzY3DgEHJwEzArD%2Bz7QjKQlp0oUCNvkDPZiHCE6D1wFcAAAAAAH%2FzwAABEoFywAaAB5ADwIBGRAJTlkQBwEZTlkBGAA%2FKwAYPysREgA5MTApATcBPgE1NCYjIgYHJz4BMzIWFRQOAQcFFSEDkfw%2BKwHdtIlSRUKLZpKE8IK%2B3lKjuf7zAjjVAaifv1RLT0NVy3BfxKFrvLyX3goAAAEADv%2FsBFAFywAnADVAHAMXGBgXUVkMGAENAxgYCyElH09ZJQcLEU9ZCxkAPysAGD8rERIAORgvX15dKxESADkxMAEUBgcVHgEVFAYEIyInER4BMzI2NTQhIzczMjY1NCYjIgcnPgEzMhYEUL2ng4eU%2Fuy975RUxF2eqv7%2Bii5Jp8BWToaZf3zZir7YBH2c1B0EGqF5hdJ1TwELMjN%2FcazdfG5DSmTMUUG1AAAC%2F%2BcAAARQBbYACgATACVAEhADBwEFEwVQWQYJExMDBwYDGAA%2FPxI5LzMzKxEAMxESOTEwASMDIRMhNwEhAzMhNz4BNyMGBwEEBKo%2F%2Fts%2F%2FbIwAwIBN8Oq%2FjE6DDgOBiNh%2FscBL%2F7RAS%2FqA538afg61CM%2Fdv6MAAABABv%2F7ARoBbYAHAAmQBQAE1BZAAAHFxcaTlkXBgcNT1kHGQA%2FKwAYPysREgA5GC8rMTABMhYVFAYEIyImJxEWMzI2NTQmIyIHJxMhAyEDNgJvt9SP%2Fu7Bdcs9rrKarnNtZm9ozwLzN%2F4XWEgDms64p%2FqHLiMBDWOOe15eIU4C3f76%2FtsPAAAAAgBY%2F%2BwEgQXNABkAJgAtQBcNFxAQIFBZEBAXBQUKT1kFBxcaT1kXGQA%2FKwAYPysREgA5GC8rERIAOTEwEzQaASQzMhcHJiMiBgczNjMyFhUUAgYjIiYFMjY1NCYjIg4BFRQWWHrVASzPfWIzVGvC70IEc8Sdq47vntTYAbpjfUNFPG1CUAHVygGDARuQG%2FYZ2O2mwrCp%2Ft%2BO%2Fge8jkdVR3hkW2gAAAAAAQBOAAAEwQW2AAYAEbcAGAMCTlkDBgA%2FKwAYPzEwMwEhEyEHAU4C4f2LOAPPKf0QBLIBBML7DAADADf%2F7ARmBc0AFwAjAC0AIEAQGCkNAAAkUVkABw0eUVkNGQA%2FKwAYPysREgA5OTEwATIeARUUBgcWFRQOASMiJjUQJSY1ND4BEw4BFRQWMzI2NTQmEyIGFRQXNjU0JgLRe7lhoZbZf%2Buc1vUBXKV03Ah0cmRVXW1JHExae7lPBc1UmGKGxzSN4HrBasiqASqAhKd3u2j8ti18W1Ffa1VJdQKfXUmERUiVRE4AAgBW%2F%2BwERAXNABkAJwAtQBcNFxAQIVBZEBAEFxcaT1kXBwQJT1kEGQA%2FKwAYPysREgA5GC8rERIAOTEwARACBCMiJxEWMzI%2BATcjBiMiJjU0EjYzMhYFIg4BFRQWMzI%2BATU0JgRExv627oBwb3R5rXMqBG%2B4o7OS9qPL0%2F5BQWU3S0Q8Zz1HA%2Bn%2B6P4G6yABAClis6iez7amAReJ9gJUkFFXWUl%2FX1RqAAAAAAIAGf%2FlAjEEcwALABcAF0AMAwlUWQMQFQ9UWRUWAD8rABg%2FKzEwEzQ2MzIWFRQGIyImAzQ2MzIWFRQGIyImz29eRFFtWkhTtmthRFJuWUlSA6xca01FVmxJ%2FQtabExFV2xLAAAC%2F5r%2B%2BAIxBHMABgASABVACQOABQoQVFkKEAA%2FKwAYLxrOMTAlBgcjNhMhAzQ2MzIWFRQGIyImAYF2kOFKeAEdqm9eRFFtWkhT1%2F%2FgpwFPAr5ca01FVmxJAAAAAAEAbQDLBCUFAAAGABW3BAMDBgACAQUAPS8zMzMyMxEzMTAlATUBFQkBBCX8SAO4%2FX0Cg8sBto8B8PD%2Bw%2F7nAAACAG0BogQlBAAAAwAHABtAEAABBB8FAS8FfwXfBe8FBAUAL11xM8YyMTATNSEVATUhFW0DuPxIA7gDJ9nZ%2Fnvb2wAAAAEAbQDLBCUFAAAGABpACgAGBgECAwMFBAEAPS8zMzMRMxEzETMxMBMJATUBFQFtAoP9fQO4%2FEgBugEZAT3w%2FhCP%2FkoAAgCm%2F%2BUD7gXLABoAJgAkQBMPAB8AAgkDAAAkCQ8EJB5UWSQWAD8rABg%2FMxI5L19eXTEwATc%2BATc%2BATU0IyIGByc2MzIWFRQOAQcOAgcBNDYzMhYVFAYjIiYBBA4TbXZ8Q4UycZFc5texzjlsiEBBKBL%2BoG5fRFFuWEpSAeVOZ5RRVFY1dyBE3X2vnVOFcVsrPEVK%2Fo5ba0xFV2xMAAAAAAIAXP9GBsUFtgA4AEQAMkAZCAs5Eu8QARpABEAL8AsBEgsSCyghNgMoLgAvMz8zEjk5Ly9dETMzETNdETMSOTEwARQCBiMiJicjDgEjIiY1NBI2MzIXAw4BFRQzMj4BNTQmIyIEAhUUADMyNjcVBiMiJAI1EBIkISAABSIOARUUFjMyEzcmBsWA441YcRAGMn5Uf46H8JS5jmoLEDpCdEX37Mv%2BubcBDPJ1zXfm69n%2BvqrxAb0BEwE%2BAWr9HlJ%2FSTEtjUg5JANIrf7Ypk1GTUaflpMBA5c3%2FlwsQSBEgNZr1eG8%2Fqjc8%2F7tKC66WqsBOMsBFwG09%2F659merWUFKAQ7eCgAAAv%2BFAAAEiwW8AAcADwAfQA8MAwQPAUxZDw8EBwMSBAMAPz8zEjkvKxESADkxMAEhAyEBIRMhCwEmPQEGBwMDSv4nrP7AAv4BdZP%2B1ycaCixBvAFc%2FqQFvPpEAmABXoN6JHiG%2Fn8AAAADADUAAATjBbYADwAXAB8ANUAcBh8QEB9NWQwQAQ0DEBAODw8XTFkPAw4YTFkOEgA%2FKwAYPysREgA5GC9fXl0rERIAOTEwATIWFRQGBxUeARUUBCkBARMzMjY1NCsBAzMyNjU0KwEDFOXqpplkd%2F7O%2FvL99gE1t5V5eaqYyrR1hbelBbajopbDIAYajW7l%2BAW2%2Fb1hW4n8SHRnogABAHv%2F7AU3Bc0AGQAXQAwTAExZEwQMB0xZDBMAPysAGD8rMTABIgYCFRQWMzI3EQYjIgAREBIkMzIWFwcuAQOJhNOAiZaSwMfJ%2Fv7m0AFc4n3Cb3ZqigTLov7FtaeiTf78TQErARIBBgG55S08%2BjsmAAAAAAIANQAABSsFtgAJABMAF0AMBhJMWQYDBRNMWQUSAD8rABg%2FKzEwARACBCMhASEgAAEyNhI1NCYrAQMFK8T%2Bjfz%2BPQE1AYwBDgEn%2FNuU3HyRiHPKA43%2B6P5j2AW2%2FuL8aJgBJ76aofxIAAAAAAEANQAABJwFtgALAC5AGQYJTFkMBgENAwYGAQICBUxZAgMBCkxZARIAPysAGD8rERIAORgvX15dKzEwKQEBIQchAyEHIQMhA2b8zwE1AzI2%2FgBDAd03%2FiNQAgAFtv7%2Bv%2F7%2BhwABADUAAASYBbYACQAdQA8GCUxZBgYCARICBUxZAgMAPysAGD8SOS8rMTApAQEhByEDIQchAWb%2BzwE1Ay42%2FgRPAdk4%2FicFtv7%2Bh%2F0AAQB7%2F%2BwFbQXNAB0AJkAUAB1MWQAABQwMEkxZDAQFGUxZBRMAPysAGD8rERIAORgvKzEwASEDDgEjIAAREBIkMzIXBy4BIyIGAhUUFjMyNxMhAvICM6KG5YD%2B%2Ff7m1gGE%2FtrAc0qUV5nxiZGWTF5C%2FvUDNf0GLiEBJgETAQwBsetj%2Bygwpv7NsayhGAErAAAAAQA1AAAFpAW2AAsAHkAQCANMWUwIAQgIBQoGAwEFEgA%2FMz8zEjkvXSsxMCkBEyEDIQEhAyETIQRv%2Fs6G%2FimG%2Fs8BNQEyeQHXeQExAnf9iQW2%2FcMCPQAAAAEANQAAAp4FtgADAAqzAQMAEgA%2FPzEwMwEhATUBOAEx%2FsgFtvpKAAAB%2Fr7%2BUgKyBbYADQARtwkDAAVMWQAjAD8rABg%2FMTADIic1FjMyNjcBIQEOAYdeXVhMY3scASUBMf7RNPf%2BUhv9FHmDBWT6cfXgAAAAAQA1AAAFpAW2AAwAI0AQDAICAwsLBgMICAUGAwEFEgA%2FMz8SOREzETMREjkRMzEwKQEDBwMhASEDNwEhAQR1%2Fq7TfW3%2BzwE1ATKYngGZAWn9rgJQRv32Bbb9Qs0B8f1EAAAAAAEANQAAA5wFtgAFABG3AQMAA0xZABIAPysAGD8xMDMBIQEhAzUBNQEy%2FwACADYFtvtK%2FwAAAAAAAQA1AAAHFAW2ABMAGUAMCwgTAxABEQMKBBASAD8zMz8zEhc5MTAJASEBIRM2NyMBIQMjBgIDIQEhEwNGAicBp%2F7L%2FuiRNTQF%2Fcf%2B5z0ECzag%2Fu0BNQGURAFxBEX6SgK098L7kwRtWP7i%2FQkFtvu7AAEANQAABhQFtgAQABVACQMLCA8JAwEIEgA%2FMz8zEjk5MTApAQEjBwYHAyEBIQEzNhITIQTf%2Fqr%2BnAYEICKR%2Fu0BNQFlAVQEDDaZARIEUiDYqv1QBbb7y0wBGgLPAAAAAAIAe%2F%2FsBZgFzQANABsAF0AMCw5MWQsEBBVMWQQTAD8rABg%2FKzEwARACBCMgABEQEiQzIAAlIgYCFRQWMzI2EjU0JgWYxv6o4P8A%2FuHGAVzkAP8BGP3QecpzhXl5x3CCA6r%2B5f5B5AEnAQYBCQG97v7gHrf%2BwLuTlq4BPsaOmwAAAgA1AAAEpgW2AAcAEgAdQA8MAExZDAwPDhIPB0xZDwMAPysAGD8SOS8rMTABMzI2NTQrAQUUACEjAyEBITIWAgo4jqPDSgJA%2Fq3%2B1lZt%2Fs8BNQFS8vgDBop0tKzx%2Fu39%2BAW21QAAAAACAHv%2BpAWYBc0AEAAeACFAEAUHDhFMWQ4EAwcHGExZBxMAPysRADMYPysAGBDGMTABEAIHEyEDIyAAERASJDMgACUiBgIVFBYzMjYSNTQmBZj11P7%2BmbIa%2FwD%2B4cYBXOQA%2FwEY%2FdB5ynOFeXnHcIIDqv7E%2FiFi%2FncBSAEnAQYBCQG97v7gHrf%2BwLuTlq4BPsaOmwAAAgA1AAAErAW2AAgAFgAmQBMTCQwACU1ZAAAMFQsSDAhMWQwDAD8rABg%2FMxI5LysREgA5MTABMzI2NTQmKwELASEBITIWFRQGBwEhAwISToOSX2ZKiXf%2BzwE1AWft7qacAQX%2BtM8DLXJ1UlL9ef3PBbbMxZ7jN%2F2TAjEAAAEAKf%2FsBFYFywAjACBAEAseAxYWG0xZFgQDCExZAxMAPysAGD8rERIAOTkxMAEUBCMiJxEWMzI2NTQuAScuATU0PgEzMhcHJiMiBhUUFhceAQOy%2Ftj93YfBpXB%2BGzJjinB85ZXZtG2chFNqQnN5eAGw0fNaARJsVUorQThKY8JwgctxY%2BlKWko9W0tQwQAAAAEAqAAABNEFtgAHABZACgESBwMEA0xZBAMAPysRADMYPzEwKQETIRMhAyECO%2F7P%2Fv6gNwPyN%2F6fBLQBAv7%2BAAABAI3%2F7AWaBbYAFAAUQAkUCgMEEExZBBMAPysAGD8zMTABAwIAISImNTQ3EyEDBhUUMzI2NxMFmsk5%2Fr7%2B%2FtTzD8QBMcIRvXuQIMIFtvxO%2Fvb%2B8uPCSEIDm%2FxpSjOymZgDlQAAAQC4AAAFcQW2AA0AELYNBgMHAwYSAD8%2FMxI5MTABNjcBIQEhAyETFhUGBwIXTiABsAE8%2FRT%2Bsn8BJzMEAgQBK90%2BA3D6SgW2%2FJAtWGcvAAABALgAAAfnBbYAHgAZQAwKHhMDBBcPBQMaBBIAPzM%2FMzMSFzkxMAEGBwEhAyETFAYHMz4BNwEhExQHMzY3ASEBIQMnNDcD7i5F%2Frz%2Bri0BHwYIBgYWWg8BcQEOFQkGK1gBSgE1%2FXn%2BphYCBAP6kpn9MQW2%2FOI08jVA6R0DM%2FyXkn6B3AMc%2BkoC0YtYRgAAAAAB%2F4sAAAV5BbYACwAYQAwICwUCBAQJBgMBBBIAPzM%2FMxIXOTEwKQEDASEBAyETASEBBGT%2Btaz%2BdP6qAkDuAUCZAWsBWP3fAh%2F94QL8Arr9%2BgIG%2FSsAAAAAAQC6AAAFPwW2AAgAF0AKAwYAAAUBBwMFEgA%2FPzMSOREzMzEwCQEhAQMhEwMhAnMBdgFW%2FZZ3%2FtF37AE4A2YCUPx5%2FdECLwOHAAAAAAH%2FwwAABLAFtgAJACRAEgcEBQUETFkFAwIIAQEITFkBEgA%2FKxESADkYPysREgA5MTApATcBIRMhBwEhA5j8KyYDCf3hNQOoKfzyAlTJA%2B0BAMr8FAAAAAAB%2F9v%2BvAMxBbYABwAOtQUCAwYBJwA%2FMz8zMTABIQEhByMBMwG0%2FicBfQHZLdf%2B3df%2BvAb60%2FqsAAEA3QAAAsEFtgADAAqzAwMCEgA%2FPzEwARMhAwHh4P712QW2%2BkoFtgAB%2F3f%2BvALLBbYABwAOtQMEAwAHJwA%2FMz8zMTAHMwEjNyEBIVzVASPXLQHZ%2FoP%2BKXEFVNP5BgAAAAEAFAIIBCcFvgAGAA20BQAEAgMAP80yOTEwEwEzASMDARQCa5MBFd%2Bu%2Fm4CCAO2%2FEoCef2HAAAAAf9G%2FrwCmv9IAAMADLQCAAEBAQAvXTMxMAEhNyECe%2FzLHgM2%2FryMAAEB%2FATZA6YGIQAIAAqyBoABAC8azTEwASMuASc1IRYXA6a4R4ckATckTwTZRalFFZSbAAACAFr%2F7ASeBHMAEgAgACVAEwsRDwwPBxpHWQcQABNHWQAWDxUAPz8rABg%2FKwAYPxI5OTEwBSImNTQSNjMyFhczNzMDIzcjBicyPgE1NCYjIg4BFRQWAZaTqZDqjGGNJwg56O7lDgSGQ0WATk0%2FRHtJQxTVwMYBZ8VUUI%2F7opGl84blkUddkOx0WFgAAAIAJf%2FsBGgGFAAUACEAK0AWChEKEQcADQAMFQAVR1kAEAccR1kHFgA%2FKwAYPysAGD8%2FERI5OS8vMTABMhYVFAIGIyInIwcjASEDBgczPgEHIg4BFRQWMzI%2BATU0Ay2SqYjukMJSCDrnAUoBLT4pKwhOgS1EfFBKQUN6SwRz2L6%2B%2Fp3Qo48GFP7gtnViSPSC54dQYIrxdbAAAQBa%2F%2BwD8gRzABkAF0AMBw1HWQcQABRHWQAWAD8rABg%2FKzEwBSImNTQSJDMyFwcuASMiDgEVFBYzMjY3FQYB%2BsnXlQEOrbaSXDZoQlWJTVtRTIJFmBTXxNQBW71I5RcigN%2BAYGEvI%2FZPAAAAAgBa%2F%2BwE%2BgYUABYAIwAnQBQLFAAHDwAHHkdZBxAAF0dZABYSFQA%2FPysAGD8rABg%2FERI5OTEwBSImNTQSNjMyFhczNzY3EyEBIzcjDgE3Mj4BNTQmIyIOARUUAZaTqY%2FqjVJ3NQgCBhNMAS3%2BtuUOBEebIUJ9TEtBRHtJFNbBxAFlx0paHG5VAWb57JFXTvOJ5INQYJDsdLAAAAAAAgBa%2F%2BwEQgRzAAgAIQAuQBkDF0tZDwMBDAYDAwkQEABKWRAQCRxGWQkWAD8rABg%2FKxESADkYL19eXSsxMAEiBgczMjY1NAEiJjU0EiQzMhYVFAQhIwcVFBYzMjY3FQYCuFicGC2brf7z0uilARqyscb%2Bsv7KMwJnYFeOZawDmqBzYVNf%2FFLizs8BVbOjjrvLFRRbaSYw41YAAAAAAf8l%2FhQD2wYfAB4AKkAWDAocGRAVR1kQABkcRlkZDwAFR1kAGwA%2FKwAYPysAGD8rERIAOTkxMAMiJzUWMzI2NxMjPwI%2BATMyFwcmIyIGDwEzByMDAi1oRj02PVwTzKMetxIpw7CDaFBFQDlGDAzbMdzXTf4UGfIVUFoDxZFUVL6vMeAfUEE%2B5fwO%2Fo0AAAAAA%2F%2BN%2FhQEogRzACgANAA%2BADRAHAc6S1kHBygOGykmNUtZJhAoAkpZKA8VLktZFRsAPysAGD8rABg%2FKwAYLzMzEjkvKzEwAQ8BFhUUBiMiJwYVFBYfAR4BFRQEISImNTQ2NyY1NDY3LgE1NDYzMhcBDgEVFDMyNjU0JicTIgYVFDMyNjU0BKIjrhDy0DsoVDw7iaOV%2Fsj%2B3tDpiZJKWWZBPvvYU1P%2BVmptwpeaQWmHTV9nS10EXKYpNELD4wobMyIeCBIVf3jT4JeEZpMwL1ZHZy8xflrH6Rf7ng5WQnNaUicqDgPImXN3mXV1AAABACUAAARtBhQAGQAcQA4QCxQUBkdZFBAMAAELFQA%2FMz8%2FKxESADkxMCkBEzY1NCMiBgcDIQEhDgEHMz4BMzIWFRQHA9H%2B04kQbFyWK2L%2B0wFKAS0nKkEIPphkipcXAo1EM3vkzP4xBhS1wtRNXaebSWsAAAIAJQAAAo0GFAAKAA4AE0AKAwlJWQMADQ8MFQA%2FPz8rMTABNDYzMhYVFAYjIhMhEyEBQl9XSUxYXJcQ%2FtPtAS0FZFdZPjpQY%2FsXBF4AAAAAAv74%2FhQCjwYUAAsAFgAaQA4PFUlZDwAIDwAFR1kAGwA%2FKwAYPz8rMTADIic1FjMyNxMhAQITNDYzMhYVFAYjIlpoRj01iST9AS7%2B901YX1dJTFhcl%2F4UGfIVqgSq%2Byn%2BjQdQV1k%2BOlBjAAAAAQAlAAAE8AYUAA8AGUANDgYFAgQICQAADwQIFQA%2FMz8%2FERc5MTABIQkBIQMHAyEBIQMGDwEzA5gBWP4OAR3%2BsLd4Sv7TAUoBLZQIFRwEBF7%2BCP2aAaRI%2FqQGFP1KKUxmAAAAAAEAJQAAApwGFAADAAqzAgABFQA%2FPzEwKQEBIQFS%2FtMBSgEtBhQAAAABACUAAAbVBHMAJgAlQBIlAwAXDSEVEhwAHEdZBgAQIg8APz8yKxEAMxg%2FMzMSOTkxMAEyFzM%2BATMyFhUUBwMhEzY1NCMiBgcDIRM2NTQjIgYHAyETMwczNgNM2ysGRLlpiI8Xhf7TihBiXJUsYP7TiRBiXJYrYv7T7eYVBpIEc%2BRudqqYTGj9gwKNRDN74M7%2BLwKNRDN75Mz%2BMQRez%2BQAAQAlAAAEbQRzABYAHEAODgsREQZHWREQDA8BCxUAPzM%2FPysREgA5MTApARM2NTQjIgYHAyETMwczNjMyFhUUBwPR%2FtOJEGxcliti%2FtPt5hUGktGKlxcCjUQze%2BTM%2FjEEXs%2Fkp5tJawACAFr%2F7ARUBHMACwAZABdADBcCR1kXEBAIR1kQFgA%2FKwAYPysxMAE0IyIOARUUMzI%2BASUUAgQjIiY1NBIkMzIWAyWPS3dLlkt4QwEvjf72t8PpjwEOtcTkArjFeux9uXvbgdP%2BurPrw9UBTbfsAAAAAv%2B8%2FhQEaARzABQAIQAnQBQQDw8bChIHAAccR1kHFgAVR1kAEAA%2FKwAYPysREgA5ORg%2FPzEwATIWFRQCBiMiJicjBgcDIQEzBzM2FyIOARUUFjMyPgE1NAMtkqmJ7o9TeDMIDB9I%2FtMBVuYRCYo6RH9NSkFDeksEc9fBv%2F6fz0pZn4j%2BrAZKqr%2F0h%2BGIUGCK8XWwAAIAWv4UBJ4EcwAWACQAJ0AUCxQACA0PEBsIHkdZCBAAF0dZABYAPysAGD8rABg%2FPxESOTkxMAUiLgE1NBI2MzIWFzM3MwEhPgE3Iw4BNzI%2BATU0JiMiDgEVFBYBh1iITZDqjFaFOgg56P6q%2FtMvNDoISI49QH9JS0FEe0lJFF%2B2gMYBZ8VLWY%2F5ttrvuV5M84zehlBgkOx0WFgAAAEAJQAAA6oEcwAPABRACQ0KBQAQChULDwA%2FPz8yETkxMAEyFwMmIyIGBwMhEzMHMzYDSjslQi03dK8lav7T7eYVBpMEcwv%2B3hC3q%2F4MBF7P5AAAAAEAF%2F%2FsA6AEcwAiACBAEAwdAxUVGkZZFRADCUZZAxYAPysAGD8rERIAOTkxMAEUBiMiJic1FjMyNjU0JicuATU0NjMyFwcmIyIGFRQWFx4BAz353mufRZ2iUGZKXnlg3c3JomOMdjlGQFh7bgFxvMkeI%2FhaQTgrRDREh1yqu1%2FXVDMrJzstP5QAAAAAAQBe%2F%2BwDbwVMABgAJ0ATDxFACxQOEREURlkRDwUAR1kFFgA%2FKwAYPysRADMRMxoYEM0xMCUyNxUGIyImNTQ3EyM%2FAjMHIQchAwYVFAICQWFvm5aNDHOYHcSEwjEBGzL%2B5nMG3yPhNX6EMj4CG5NU7O7l%2FeUeF0oAAQBv%2F%2BwEsgReABYAG0ANDxEKAA8RBkdZERYNFQA%2FPysAGD8zEjkxMAEhAwYVFDMyNjcTIQMjNyMGIyImNTQ3AQYBLYkQbFyWK2IBLe3mFQaR0oqSGARe%2FXNEM3vkzAHP%2B6LP46WcXXgAAAAAAQBmAAAEjwReAAsAELYLBgMHDwYVAD8%2FMxI5MTABNjcBIQEhAyETFhUBxzclASkBQ%2F2k%2Fr2KASctBwEtmUYCUvuiBF79toViAAAAAAEAfQAABrYEXgAeABlADAATCQMFGwQVGA8FDwA%2FMzM%2FMxIXOTEwAQYHAyEDIRMPATM%2BAjcTIREUBzM3NjcTIQEhAzQ3A1g%2BPen%2BvDMBGQQEBwQGEFYD5wFICgYcSRbbATP97v62BgoDXLKN%2FeMEXv4Rp6sUK%2BYEAhj96I6bUNAyAe%2F7ogIIm7kAAAAAAf%2BcAAAEpAReAAsAGEAMCQYAAwQLBAEPCAsVAD8zPzMSFzkxMAEDIRsBIQETIQMBIQF74QFBc%2FQBYv4t9P66ff74%2FqICPQIh%2FrIBTv3P%2FdMBVv6qAAAAAAH%2Fc%2F4UBJEEXgAWABhACwQWCQAPDRJHWQ0bAD8rABg%2FMy8zMTATIRMWFTM%2BATcBIQECISInNRYzMjY%2FAWYBJzgOBhQwKQEEAUf9WLH%2Bzlo5RDBUfzYaBF79%2BnqrM4lVAhr7Av60E%2FANYGUxAAH%2F0QAAA8cEXgAJACRAEgcEBQUERlkFDwIIAQEIRlkBFQA%2FKxESADkYPysREgA5MTApATcBITchBwEhAuz85SMCP%2F5zMwLuK%2F3KAbe0AsHpyP1TAAH%2F%2BP68A2QFtgAnABtADAIDExMfDAwKAx4fJwA%2FMz8zERI5ETMzMTATNCM3MjY3Ez4BOwEHDgEHAwYHFR4BFRQPAQYVFBYzFSMiJjU0PwE2ydEteo0WPSa6sVQxWlEPQi3nVVMPJAdDOjWnrQ4nDwE%2FjOVTYQEdqovhAkFK%2FtfPHQgacU4sRbIcFzYo4n95OUS4RQABAcf%2BLwKiBg4AAwAJsgMAAAA%2FzTEwATMRIwHH29sGDvghAAAB%2F5z%2BvALhBbYAJgAbQAwKCRsbEiUmAxMTEicAPxEzPzMSOREzMzEwASAVFA8BBhUUMwciBgcDDgErATU%2BATcTPgE3NSY1ND8BNjU0JiM3AQABVA4nD9Eteo0VPiW7sS1dWA9CGYxvqA8lBklJKQW2%2BDhEuUURi%2BVUYf7kqoziA0FJASlvbg4JM6YrRbMeFTYo4QAAAQBtAicEJQN9ABcAKEAZAwwSEg8AHwYBDwYfBj8GXwZ%2FBo8GrwYHBgAvXXEzMzN9LzMzMTABIgYHNTYzMhYXHgEzMjY3FQYjIiYnLgEBVjZ9NmWbQGpWQF4wM3o9Z5k7ZGFZTAKgQjfnbRwkGxw9POdtFygmEgAAAv%2B2%2Fo0CJQReAAMADwAhQBEAABAAAgkDAAANAw0HVFkNDwA%2FKwAYLxI5L19eXTEwEzMDIQEUBiMiJjU0NjMyFrbynv6sAm9vXkRRbFpJUwJe%2FC8FRFxrTEZVbUoAAAAAAQCk%2F%2BwEOwXLAB4AKkAPDBJQWQkMQAoHHhhPWQIeuP%2FAtRATSB4BGQA%2FzSsyKwAYPxrNMisxMAUjNy4BNTQSNj8BMwcWFwcuASMiAhUUFjMyNjcVBgcCP7wxhop955ghvCN2a1w1aEKFplpSS4JFiKMU0iTInsEBRMkXnp4OM%2BYXIv7iwWBgLyP2RwkAAAAAAf%2F0AAAE2QXNABwALUAXDBcYF1FZCRgYEgAABU9ZAAcSD05ZEhgAPysAGD8rERIAORgvMysRADMxMAEyFwcmIyIGDwEhByEHBgchAyE3Nj8BIzczNz4BA2jDrnGNYEtgFC8BKy3%2B1RIqpwKPN%2FwfMcQwFsAtwDEp8gXNVuhET13l3FTDS%2F789jDYaNz3xc8AAgBzAP4EIwSqABsAJwAuQCAXExAaAgwJBQgHFRUfBw8lHyU%2FJV8lfyWvJc8l7yUIJQAvXTPGMhESFzkxMBM0Nyc3FzYzMhc3FwcWFRQHFwcnBiMiJwcnNyY3FBYzMjY1NCYjIga%2BNoGTf1tqaVt%2FloE1NX2Sf19lc1R9kX82z21QUW9xT05vAtNmX3%2BTfzU3gY%2BBWW5rXH2RfTMze5F9XWhNb25OUG5wAAAAAAEAWAAABQoFtgAWAD5AIAYSExJSWQADAQMPEwEJAxMPCg4PDlJZBw8PDAEVBgwYAD8%2FMxI5LzMrEQAzGBDEX15dMhESOSsRADMxMAkBIQEzByMHMwcjByE3IzczNyM3MwMhAmABcwE3%2FgbLJ%2Fwc%2FCX8L%2F7dL%2Fwl%2FB38J8TAASkDaAJO%2FRWyirLd3bKKsgLrAAIBx%2F4vAqIGDgADAAcAEbYDBAMEBwAAAD8vOTkvLzEwATMRIxEzESMBx9vb29sGDvzR%2Fn%2F80QAAAgAU%2F%2BwEBAYpACoANQAaQA4xKxMXMSgGHQ4JASIdFgA%2FMz8zEhc5MTATNDY3LgE1NDYzMhcHJiMiFRQWFxYVFAceARUUBiMiJzUWMzI2NTQmJy4BAQ4BFRQWFz4BNTSWX2sqOOrErKxSk4eQUVfywSY0%2FNvMhKytY1tCXnWAAWQzPldkMTUC%2BFmURCJlOZWrWMFUaitCJ2rFvHMjZTqhuUvgaUY5J0MuOZQBNRlbNjZVLh9fMG0AAAIBjQT4BEYGBAAJABQADrQNAwMTCAAvMzMRMzEwATQ2MzIVFAYjIiU0NjMyFhUUBiMiAY1VTYVOUocBklROQURPUYcFZk5QbElXbk5QODRJVwAAAAMAff%2FsBlwFywAWACYANgBHQDIAABIBABIQEnASgBKQEuAS8BIHEhIbBg8MAQ8MHwx%2FDI8MnwzvDP8MBwwMIzMbBCsjEwA%2FMz8zEjkvXXEzETkvXXEzMTABIgYVFBYzMjY3FQYjIiY1NDYzMhcHJgE0EiQzMgQSFRQCBCMiJAI3FBIEMzIkEjU0AiQjIgQCA6RvaG9oK4M7g4PE3uvQjo5Lcvx%2ByAFeyscBXcvF%2FqTOz%2F6iw42jAR2jpwEaoaH%2B5aak%2FuOiA%2FKSjYaKHxy%2FOfXW4fxIrjr%2B6cgBXsrG%2Fp%2FJx%2F6kzM8BWsak%2FuakpgEZo6MBGaal%2FuYAAgCYAvADbQXHABEAHAAYQAoKDwcOEgALGAcfAD8zxNQyxBI5OTEwASImNTQ%2BATMyFzM3MwMjNyMGJzI%2BATU0IyIGFRQBcWdyXJpkeDwGJ5qemggCUDEtTjVYSWUC8IyAdd54Z1r9Qlxol1OdTGrAd28AAAACAEgAWgR%2FBAgABgANAD1AHg0GBgMHAAAKAwMCCwQEDDAFAQUFAQ4JAgIIIAEBAQAvXTMzETMREjkvXTMzETMSOREzMxEzETMRMzEwEwEXARMHAyUBFwETBwNIAZG%2F%2FumH9soB5wGSvv7piPbLAjkBz5v%2Bsv6iZwHNEgHPm%2F6y%2FqJnAc0AAAAAAQBtAPgEJQM%2FAAUAH0AVAQMPBB8EPwQDLwSfBL8E3wTvBAUEAC9dcTPEMTAlIxEhNSEEJdv9IwO4%2BAFs2wAA%2F%2F8AKQGoAmoCohIGABAAAAAEAH3%2F7AZcBcsADQAWACYANgA5QB8DBwcODgoFCQ8JHwkCFgoAChAKAgkKCQojMxsEKyMTAD8zPzMSOTkvL10RM10RMxI5LzMRMzEwARQGBxMjAyMRIxEhMhYBMzI2NTQmKwEBNBIkMzIEEhUUAgQjIiQCNxQSBDMyJBI1NAIkIyIEAgTVWFbF%2FopD5gE0rbn%2BTDNIUkdRNf1cyAFeyscBXcvF%2FqTOz%2F6iw42jAR2jpwEaoaH%2B5aak%2FuOiA4NWfyH%2BmAEp%2FtcDaof%2B7j49Ozv%2B9MgBXsrG%2Fp%2FJx%2F6kzM8BWsak%2FuakpgEZo6MBGaal%2FuYAAAAAAf%2F6BhQEMwbdAAMAGUARAg8BLwE%2FAW8BfwGvAe8BBwEAL10zMTABITchBAb79C0EDAYUyQAAAAACAKQDGQNYBcsADwAbABZACxNwDAFfDAEMGQQHAD8zxF1dMjEwEzQ%2BATMyHgEVFA4BIyIuATcUFjMyNjU0JiMiBqRdoltdoVxcoF5doF2%2BW0FCWltBQVsEcV2hXF6gXF2gW1qgXj9bXD4%2FXl8AAAAAAgBtAAAEJQTuAAsADwAXQAkNDAsJAQEGBAIALzMzMxEzMy8zMTABITUhETMRIRUhESMBNSEVAdv%2BkgFu2wFv%2FpHb%2FpIDuAKi2wFx%2Fo%2Fb%2FpP%2By9vbAAAAAAEAOwJKAysFywAZABVACQIYAQoQHxgBIAA%2FMz8zERI5MTABITclPgI1NCYjIgcnPgEzMhYVFA4BDwEhAsP9eCMBEW88HTMjVmZkSqRue5MsYI2BAVsCSqbbWz44HCooUp45PH5hRmplZl8AAAEAXAI5Ay0FyQAlACdAFwMWFg8XHxe%2FF88X3xcFFxcJHiMfDwkhAD8zPzMSOS9dMxI5MTABFAYHFRYVFAYjIiYnNRYzMjY1NCYrATczMjY1NCYjIgcnNjMyFgMtZnOa1rJLjTJ9gUxiND5%2FIlpUYTQtVmZSjquCmQT2V3UeBCGPg5wfGcBIPTolM6A4OSgoQpZcbwABAeME2QQQBiEACAAKsgOACAAvGs0xMAE2NyEVDgEHIwHjT48BTy7YVtEE8ljXETjBPgAAAf%2B8%2FhQEvgReABoAIEAQEgwOBxcPFhsOA0dZDhYKFQA%2FPysAGD8%2FMxI5OTEwARQWMzI2NxMhAyM3IwYjIiYnIw4BAyEBIQMGAag%2FMFqRLWIBLe3lEgZ1lTNNFAYIG0X%2B0AFWAS2HEAFcPEHV1QHV%2B6KwxCccQpL%2BuQZK%2FXtGAAABAJP%2B%2FASyBhQADwATtwgIDgUBAw4AAD8zLzMSOS8xMAEjESMRIxEGIyImNRASMyEEsqKmoT5U2MzX7AJc%2FvwGUPmwAzMS%2BvsBAAECAAAA%2F%2F8AgwIpAeUDfRAHABEAagJEAAAAAf8x%2FhQBBgAAABEAG0ALEBANDQkOBgkJAxsAPzMRMy8SORI5fC8xMAUUBiMiJzUWMzI1NCYnNzMHFgEGppdWQj8%2BZj5PYLknjfp0fheoF1IiLQmaSDEAAAEAgQJKAt8FtgAKABC2BgkDAB4DIAA%2FPxE5OTEwATMDIxM2NwYPAScCEM%2B69lQYHxBAg2YFtvyUAY1tYg8tUaUAAAAAAgCiAvADKQXHAAwAFgANtBIEDQofAD8zxDIxMAEUDgEjIiY1NDYzMhYFIgYVFDMyNjU0AylhqHCGiNCtgYn%2B4UBXUD9UBKqA0WmWiMX0kxGzbm%2BremsAAAIAAABIBDcD9gAGAA0ARUAnDQYGAwcAAAoDAwQJAgIIAQEFDgsEBAwPBU8FbwWPBa8FzwXvBQcFAC9dMzMRMxESOS8zMxEzEjkRMzMRMxEzETMxMAkBJwEDNxMFAScBAzcTBDf%2Bb78BF4f2yv4Z%2Fm6%2BAReI9ssCF%2F4xmwFOAV5n%2FjMS%2FjGbAU4BXmf%2BMwAA%2F%2F8AYQAABkoFthAnANMCxQAAECYAe%2BAAEQcA1AMd%2FbcACbMDAhISAD81NQD%2F%2FwBhAAAGnAW2ECcAdANx%2FbcQJgB74AARBwDTAsUAAAAHsgABEgA%2FNQAAAP%2F%2FAIUAAAaHBckQJwDTA0oAABAnANQDWv23EQYAdSkAAAmzAgEHEgA%2FNTUAAAL%2FvP55AwQEXgAaACYAJkAUABoQGgIJAxoaDyQkHlRZJA8JDyIAPzM%2FKxESADkYL19eXTEwAQcOAQcOARUUMzI2NxcGIyImNTQ%2BATc%2BAT8BARQGIyImNTQ2MzIWAqYOE3NwekWFMnGRXN3gsc45boZdRhAIAWBvXkRRbVlJUwJeTmmWTFNWN3YgRN19r51ShXNZPlk%2BIQFzXGtMRlZsSv%2F%2F%2F4UAAASLB3MSJgAkAAARBwBDAB8BUgAIswIRBSYAKzUAAP%2F%2F%2F4UAAAUMB3MSJgAkAAARBwB2APwBUgAIswIYBSYAKzUAAP%2F%2F%2F4UAAATTB3MSJgAkAAARBwDFAHMBUgAIswIWBSYAKzUAAP%2F%2F%2F4UAAAUGB2ASJgAkAAARBwDHAIUBUgAIswIZBSYAKzUAAP%2F%2F%2F4UAAAS9B1YSJgAkAAARBwBqAHcBUgAKtAMCIwUmACs1Nf%2F%2F%2F4UAAASLBwoSJgAkAAARBgDGNVgACbMDAiUDAD81NQAAAAAC%2F4UAAAdvBbYADwATAEhAJwoNTFkMCgENAwoKAQYTA0xZChMKEwEGBRIJEgYSTFkGAwEOTFkBEgA%2FKwAYPysRADMYPxESOTkvLysREgA5GC9fXl0rMTApARMhAyEBIQchAyEHIQMhARMjAQY5%2FM9K%2Flbb%2FrgDmgRQNv4AQwHdN%2F4iTwIA%2FRp%2FUP6UAVz%2BpAW2%2Fv6%2F%2Fv6HAWACWP2oAAD%2F%2FwB7%2FhQFNwXNEiYAJgAAEAcAegIzAAD%2F%2FwA1AAAEnAdzEiYAKAAAEQcAQ%2F%2FkAVIACLMBDQUmACs1AAD%2F%2FwA1AAAEnAdzEiYAKAAAEQcAdgB9AVIACLMBFAUmACs1AAD%2F%2FwA1AAAEnAdzEiYAKAAAEQcAxQA5AVIACLMBEgUmACs1AAD%2F%2FwA1AAAEnAdWEiYAKAAAEQcAagApAVIACrQCAR8FJgArNTX%2F%2FwA1AAACngdzEiYALAAAEQcAQ%2F71AVIACLMBBQUmACs1AAD%2F%2FwA1AAADywdzEiYALAAAEQcAdv%2B7AVIACLMBDAUmACs1AAD%2F%2FwA1AAADqQdzEiYALAAAEQcAxf9JAVIACLMBCgUmACs1AAD%2F%2FwA1AAADlwdWEiYALAAAEQcAav9RAVIACrQCARcFJgArNTUAAgAlAAAFKwW2AA0AGwAtQBcaBwgHTFkXCAgFCgoWTFkKAwUbTFkFEgA%2FKwAYPysREgA5GC8zKxEAMzEwARACBCMhEyM3MxMhIAABMjYSNTQmKwEDMwcjAwUrxP6N%2FP49fY03i4MBjAEOASf825TcfJGIc0vtN%2B5HA43%2B6P5j2AJU%2FgJk%2FuL8aJgBJ76aof6a%2Fv6s%2F%2F8ANQAABhQHYBImADEAABEHAMcA%2BAFSAAizARoFJgArNQAA%2F%2F8Ae%2F%2FsBZgHcxImADIAABEHAEMAdwFSAAizAh0FJgArNQAA%2F%2F8Ae%2F%2FsBZgHcxImADIAABEHAHYBDgFSAAizAiQFJgArNQAA%2F%2F8Ae%2F%2FsBZgHcxImADIAABEHAMUAvAFSAAizAiIFJgArNQAA%2F%2F8Ae%2F%2FsBZgHYBImADIAABEHAMcAzQFSAAizAiUFJgArNQAA%2F%2F8Ae%2F%2FsBZgHVhImADIAABEHAGoAvAFSAAq0AwIvBSYAKzU1AAEAgQEMBBAEmgALABJACi8AXwB%2FAN8ABAAAGS9dMTAJATcJARcJAQcJAScBrP7VmAEtATGZ%2Fs8BLZX%2Bz%2F7TlgLTAS2a%2FtUBK5b%2Bz%2F7RmAEt%2FtWYAAMAZP%2BqBbIGBAAVAB4AJgAgQBAcICMWDxZNWQ8EBCNMWQQTAD8rABg%2FKxESADk5MTABEAIEIyInByc3JjUQEiQzMhc3FwcWJSIGAhUUFwEmEycBFjMyNhIFmMb%2BqOC0fGyaeWLGAVzktntpl3Vb%2Fc5%2BznIIAlRFrgX9sztefMxxA6r%2B5f5B5EeJc5eK2wEJAb3uTIN1kYZZt%2F6%2BvyBFAvIr%2FtFQ%2FRwlsgE9AP%2F%2FAI3%2F7AWaB3MSJgA4AAARBwBDAEQBUgAIswEWBSYAKzUAAP%2F%2FAI3%2F7AWaB3MSJgA4AAARBwB2ARIBUgAIswEdBSYAKzUAAP%2F%2FAI3%2F7AWaB3MSJgA4AAARBwDFAKQBUgAIswEbBSYAKzUAAP%2F%2FAI3%2F7AWaB1YSJgA4AAARBwBqAKgBUgAKtAIBKAUmACs1Nf%2F%2FALoAAAU%2FB3MSJgA8AAARBwB2AHsBUgAIswERBSYAKzUAAAACADUAAAR3BbYADAAUAB9AEQQNTFkJFExZBAkECQYHAwYSAD8%2FEjk5Ly8rKzEwARQAISMDIQEhBzMyFgEzMjY1NCsBBHf%2Bq%2F7YVj7%2BzwE1ATIyI%2FL4%2FWQ3i6fDSgMn8%2F7x%2FtsFtuXV%2FieFd7QAAAAAAf78%2FhQFFAYfADoALEAYJgkaAxcpAClHWQAAEhdGWRIWMDVHWTAbAD8rABg%2FKwAYPysREgAXOTEwATIWFRQGBw4BFRQWFx4BFRQGIyInNRYzMjY1NCYnLgE1NDY3PgE1NCYjIgYHAw4BIyInNRYzMjcTNiQDTtD2YoFJLiw5a0v31rtugIJlXjVSXkZadUJNT1VgeBn%2BK9CtWkY9NoUl%2Fi8BDgYftJZynEoqNRwXNStTh1OqyD3wTkI1KEY%2BSHREVHpCJU45PklnePs9xrUZ8hWyBLfgzAD%2F%2FwBa%2F%2BwEngYhEiYARAAAEQYAQ78AAAizAiIRJgArNf%2F%2FAFr%2F7ASeBiESJgBEAAARBgB2cwAACLMCKREmACs1%2F%2F8AWv%2FsBJ4GIBImAEQAABEGAMUA%2FwAIswInESYAKzX%2F%2FwBa%2F%2BwEngYOEiYARAAAEQYAxxIAAAizAioRJgArNf%2F%2FAFr%2F7ASeBgQSJgBEAAARBgBqAAAACrQDAjQRJgArNTUAAP%2F%2FAFr%2F7ASeBrISJgBEAAARBgDG9QAACrQDAiQRJgArNTUAAAADAFr%2F7AbHBHMALAA6AEMAVEAwFBgDBgQKET4iS1kPPgEMBj4%2BABsWDxs7SlkbEBE0R1kREAAnRlkACgotR1kKFgUVAD8%2FKxEAMysAGD8rABg%2FKwAYPxESOS9fXl0rERIAFzkxMAUiJicHIzcjDgEjIiY1NBI2MzIWFzM3Mwc%2BATMyFhUUBCEjBxUUFjMyNjcVBiUyPgE1NCYjIg4BFRQWASIGBzMyNjU0BLZtjS8QvA4GR5dckqOJ6Y5ggTIGObwSLJlcnbP%2Bsv7LNAJvaEKsTLP8mkh8SkJFRHhGQQNxWJwYLZutFDY8XpFYTdq7yAFfy01Xj1oxPqeKu8sTE2BnLijjVvOI6X9QYIrpfVRcArugc2FTXwD%2F%2FwBa%2FhQD8gRzEiYARgAAEAcAegGHAAD%2F%2FwBa%2F%2BwEQgYhEiYASAAAEQYAQ6sAAAizAiMRJgArNf%2F%2FAFr%2F7ARCBiESJgBIAAARBgB2LQAACLMCKhEmACs1%2F%2F8AWv%2FsBE0GIRImAEgAABEGAMXtAAAIswIoESYAKzX%2F%2FwBa%2F%2BwEQgYEEiYASAAAEQYAauAAAAq0AwI1ESYAKzU1AAD%2F%2FwAlAAACQwYhEiYAwgAAEQcAQ%2F6dAAAACLMBBREmACs1AAD%2F%2FwAlAAADUAYhEiYAwgAAEQcAdv9AAAAACLMBDBEmACs1AAD%2F%2FwAkAAADTQYhEiYAwgAAEQcAxf7tAAAACLMBChEmACs1AAD%2F%2FwAlAAADNwYEEiYAwgAAEQcAav7xAAAACrQCARcRJgArNTUAAgBI%2F%2BwEhQYnAB4ALAA3QB4eABwFCAcGHR0GGg8WFiZGWRYWDwIDBgEPH0ZZDxYAPysAGD%2FGMhE5LysREgA5EjkRFzkxMAEmJzcWFzcXBxYSFRQCBCMiJjU0EjYzMhYXMyYnBycTMj4BNTQmIyIOARUUFgJqIlp2hmLtTMBRQIv%2B9L3Y4oHolVOJLgYUYedYbkJxQU1GSXI%2FTgUdIi66PU6DmGpr%2FwCX%2Bf6Rx9zOpQEQmD4%2F1WGDk%2Fwhb7pkTVtqtGtRWwAAAP%2F%2FACUAAASsBg4SJgBRAAARBgDHKwAACLMBIBEmACs1%2F%2F8AWv%2FsBFQGIRImAFIAABEGAEOnAAAIswIbESYAKzX%2F%2FwBa%2F%2BwEaAYhEiYAUgAAEQYAdlgAAAizAiIRJgArNf%2F%2FAFr%2F7ARVBiESJgBSAAARBgDF9QAACLMCIBEmACs1%2F%2F8AWv%2FsBIAGDhImAFIAABEGAMf%2FAAAIswIjESYAKzX%2F%2FwBa%2F%2BwEVAYEEiYAUgAAEQYAavUAAAq0AwItESYAKzU1AAAAAwBtAN0EJQTHAAMADwAbADNAJBmfEwETDQAHUAdgB3AHBAcADwEfAT8BAy8BnwG%2FAd8B7wEFAQAvXXEzxF0yxF0yMTATNSEVBTQ2MzIWFRQGIyImETQ2MzIWFRQGIyImbQO4%2FZdKQkJJSkFBS0pCQ0hKQUFLAmTb2%2B9MS05JRlJOAwRLTVFHRlFOAAADACv%2FmgRmBJMAFQAdACUAIEAQGiIeFg8WRlkPEAQeRlkEFgA%2FKwAYPysREgA5OTEwARQCBCMiJwcnNyY1NBIkMzIXNxcHFiUiDgEdAQEmAzISPQEBHgEEVI3%2B9rd7Zm2Nd0iPAQ61g2BGkVRC%2FkJRf0UBbSOscp7%2BmgsxArjT%2FrqzNYdslGuV1QFNtzhYbmlrNn3WfgwBxRj9UAEKuRD%2BRAgP%2F%2F8Ab%2F%2FsBLIGIRImAFgAABEGAEOnAAAIswEYESYAKzX%2F%2FwBv%2F%2BwEsgYhEiYAWAAAEQYAdn8AAAizAR8RJgArNf%2F%2FAG%2F%2F7ASyBiESJgBYAAARBgDFFwAACLMBHREmACs1%2F%2F8Ab%2F%2FsBLIGBBImAFgAABEGAGoOAAAKtAIBKhEmACs1NQAA%2F%2F%2F%2Fc%2F4UBJEGIRImAFwAABEGAHYOAAAIswEfESYAKzUAAv%2B8%2FhQEaAYUABUAIwAnQBQKEwcADwAOGwAWR1kAEAcdR1kHFgA%2FKwAYPysAGD8%2FERI5OTEwATIWFRQCBiMiJyMGBwMhASEDBgczNhciDgEVFBYzMj4BNTQmAy2WpYriibJdCAwfSP7TAbMBLUIdMwiDFUd2SUNIRXhLSwRz1cPH%2FpS8o5%2BI%2FqwIAP7Ng5Wq9ILvf1Bggu2BWFj%2F%2F%2F9z%2FhQEkQYEEiYAXAAAEQYAaqkAAAq0AgEqESYAKzU1AAAAAQAlAAACPwReAAMACrMCDwEVAD8%2FMTApARMhAVL%2B0%2B0BLQReAAAAAAIAe%2F%2FsB3sFzQAVACEAQkAlEBNMWQwQAQ0DEBABDAEUTFkBEgwPTFkMAwobTFkKBAMWTFkDEwA%2FKwAYPysAGD8rABg%2FKxESADkYL19eXSsxMCkBBiMgABEQEiQzMhchByEDIQchAyEFMjcTJiMiBgIVFBYGRv0IXVf%2FAP7hxgFc5IxFAyk1%2FgBEAd03%2FiNQAgD8NVhGwj5qecpzhRQBJwEGAQkBve4X%2Fv6%2F%2Fv6HECADlCe3%2FsC7k5YAAAAAAwBa%2F%2BwG2wRzACMAMAA5AEtAKQ8DAA00GEtZDzQBDAY0NAANETFKWREQDSRHWQ0QBitHWQYWAB1GWQAWAD8rABg%2FKwAYPysAGD8rERIAORgvX15dKxESADk5MTAFIiYnDgEjIiY1NBIkMzIXNjMyFhUUBCEjBxUUFjMyNjcVDgEBIg4BFRQWMzISNTQmJSIGBzMyNjU0BK50uC4%2FqHu73YoBBrLRaJr1scb%2Bsv7LMwJmYFeOZV25%2FWhHcEVJSW2MSgKIWJsZLZusFE1ERE3qyNgBSbSgoKOOu8sVFFtpJjDjLigDkXnofltiAQ3KYGUdnXZhU18AAAABATcE2QRgBiEADgAOtAMLgAYBAC8zGs0yMTABIyYnBgcjNT4BNyEeARcEYMY%2FY2l%2F2T%2B0NAFSFmgyBNk1c1hQGTm0QjaxSAACAhQE1wQKBrIACwAXABNACQ8PCR8JAgkVAwAvM8xdMjEwARQGIyImNTQ2MzIWBzQmIyIGFRQWMzI2BAqMcm6KiW9ukJ03Kio2MDAqNwXHa4V%2Fb22AgmstMzMtLTQ0AAABATsE1wSBBg4AFQAhQBAQAAULAAsAC28UfxQCFIAJAC8azF05OS8vETMRMzEwASIuAiMiBgcjEjMyHgIzMjY3MwIDYjFLQDshHzEOsTveMU1COh8iMBasQgTZISchODMBNSEnIDM3%2FssAAAABACkBtAOuApoAAwAIsQABAC8zMTATNyEHKTEDVDEBtObmAAABACkBtAeFApoAAwAIsQABAC8zMTATNyEHKTEHKzEBtObmAAABAHMDwQJaBbYABgALswCAAwMAPxrNMTATJzY3MwYDewhnn%2BFbZwPBFuP81f7gAAABAGoDwQJSBbYABgALswSABgMAPxrOMTABFwYHIzYTAkoIZ5%2FiWWoFthbj%2FM4BJwAB%2F5r%2B%2BAGBAO4ABgAKsgSAAAAvGs0xMCUXBgcjNhMBeQhnn%2BFYau4X4%2FzPAScAAAACAHMDwQQZBbYABgANAA%2B1AAeAAwoDAD8zGs0yMTABJzY3MwYDISc2NzMGAwI5CGef4mFi%2FSUIZ5%2FhW2cDwRbj%2FOP%2B7hbj%2FNX%2B4AAAAgBqA8EEEAW2AAYADgAPtQsEgA4GAwA%2FMxrOMjEwARcGByM2EyEXBgcjPgETAkoIZ5%2FiWWoC2whnn%2BEXL30Fthbj%2FM4BJxbj%2FDV0AUwAAAAC%2F5r%2B%2BANCAO4ABgAOAA60CwSADgAALzIazTIxMCUXBgcjNhMhFwYDIz4BEwF5CGef4VhqAt0JZKPhGDJ57hfj%2FM8BJxfd%2Fv45ewFCAAAAAAEAaAGuArYEKQAMABFACQo%2FBH8EnwQDBAAvXc0xMBM0PgEzMhYVFAYjIiZoVZtpeH23nXWFAq5qsGGGfLHIhgABAEgAWgKYBAgABgAZQAwEMAUBBQUHAiABAQEAL10zEjkvXTMxMBMBFwETBwNIAZG%2F%2FumH9soCOQHPm%2F6y%2FqJnAc0AAAEAAABIAlAD9gAGAC1AGwYAAwMEAgIBAQcEDwVPBW8FjwWvBc8F7wUHBQAvXTMSOS8zERI5ETMzMTAJAScBAzcTAlD%2Bbr4BF4j2ywIX%2FjGbAU4BXmf%2BMwAB%2FewAAAMXBbYAAwAKswMDAhIAPz8xMAkBIwEDF%2FvE7wQ%2FBbb6SgW2AAAAAAIALwJKAy0FvAAKABAAIUARAQUFCQ8QHxACEBAHAyANBx4APzM%2FEjkvXTMzETMxMAEjByM3ITcBIQMzIT8BDgEHAwh3IO4h%2FosfAdsBBHl3%2Fpw6Fg08tQLhl5euAi39zedKFEzRAAAAAQAp%2F%2BwE3QXNACYASkAoBhscG1JZAw8cHxwCCQMcF0ALFhcWUlkIFxcTICAAT1kgBxMOTlkTGQA%2FKwAYPysREgA5GC8zKxEAMxoYEMxfXl0yKxEAMzEwASIGByEHIQYHIQchFBYzMjcRBiMgESM3MzY3IzczNgAzMhYXBy4BA4NhnjgBXCf%2BmAsOASsl%2FuhZZ4WWfsz%2BQpglfwkNfSeHVwFH02SeVn1XWATVlYqwIlGyeHs%2F%2Fv4%2FAfWyQzCw%2FAEbLjnfMR0AAAAAAAEAACMAAAEF0xgAAAoK8gAFACT%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%2FmgAAABoBPgABAAAAAAAAADkAdAABAAAAAAABAAkAwgABAAAAAAACAAsA5AABAAAAAAADACoBRgABAAAAAAAEABUBnQABAAAAAAAFAAwBzQABAAAAAAAGABMCAgABAAAAAAAHAFICvAABAAAAAAAIABQDOQABAAAAAAALABwDiAABAAAAAAAMAC4EAwABAAAAAAANAC4EkAABAAAAAAAOACoFFQADAAEECQAAAHIAAAADAAEECQABABIArgADAAEECQACABYAzAADAAEECQADAFQA8AADAAEECQAEACoBcQADAAEECQAFABgBswADAAEECQAGACYB2gADAAEECQAHAKQCFgADAAEECQAIACgDDwADAAEECQALADgDTgADAAEECQAMAFwDpQADAAEECQANAFwEMgADAAEECQAOAFQEvwBEAGkAZwBpAHQAaQB6AGUAZAAgAGQAYQB0AGEAIABjAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQAwAC0AMgAwADEAMQAsACAARwBvAG8AZwBsAGUAIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4ALgAARGlnaXRpemVkIGRhdGEgY29weXJpZ2h0IKkgMjAxMC0yMDExLCBHb29nbGUgQ29ycG9yYXRpb24uAABPAHAAZQBuACAAUwBhAG4AcwAAT3BlbiBTYW5zAABCAG8AbABkACAASQB0AGEAbABpAGMAAEJvbGQgSXRhbGljAABBAHMAYwBlAG4AZABlAHIAIAAtACAATwBwAGUAbgAgAFMAYQBuAHMAIABCAG8AbABkACAASQB0AGEAbABpAGMAIABCAHUAaQBsAGQAIAAxADAAMAAAQXNjZW5kZXIgLSBPcGVuIFNhbnMgQm9sZCBJdGFsaWMgQnVpbGQgMTAwAABPAHAAZQBuACAAUwBhAG4AcwAgAEIAbwBsAGQAIABJAHQAYQBsAGkAYwAAT3BlbiBTYW5zIEJvbGQgSXRhbGljAABWAGUAcgBzAGkAbwBuACAAMQAuADEAMAAAVmVyc2lvbiAxLjEwAABPAHAAZQBuAFMAYQBuAHMALQBCAG8AbABkAEkAdABhAGwAaQBjAABPcGVuU2Fucy1Cb2xkSXRhbGljAABPAHAAZQBuACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEcAbwBvAGcAbABlACAAYQBuAGQAIABtAGEAeQAgAGIAZQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQAIABpAG4AIABjAGUAcgB0AGEAaQBuACAAagB1AHIAaQBzAGQAaQBjAHQAaQBvAG4AcwAuAABPcGVuIFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgR29vZ2xlIGFuZCBtYXkgYmUgcmVnaXN0ZXJlZCBpbiBjZXJ0YWluIGp1cmlzZGljdGlvbnMuAABBAHMAYwBlAG4AZABlAHIAIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4AAEFzY2VuZGVyIENvcnBvcmF0aW9uAABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAABodHRwOi8vd3d3LmFzY2VuZGVyY29ycC5jb20vAABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAHQAeQBwAGUAZABlAHMAaQBnAG4AZQByAHMALgBoAHQAbQBsAABodHRwOi8vd3d3LmFzY2VuZGVyY29ycC5jb20vdHlwZWRlc2lnbmVycy5odG1sAABMAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAEEAcABhAGMAaABlACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADIALgAwAABMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wAABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBwAGEAYwBoAGUALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAEwASQBDAEUATgBTAEUALQAyAC4AMAAAaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wAAAAAAIAAP%2F0AAD%2FZgBmAAAAAAAAAAAAAAAAAAAAAAAAAAAA1gAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA%2FAEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEArACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAECAIoBAwCDAJMA8gDzAI0AlwCIAMMA3gDxAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoA1wCwALEA2ADdANkAsgCzALYAtwDEALQAtQDFAIcAvgC%2FALwBBAEFB3VuaTAwQUQJb3ZlcnNjb3JlDGZvdXJzdXBlcmlvcgRFdXJvAAAAAQACAAgACv%2F%2FAA8AAAABAAAAAMmJbzEAAAAAyWNJHgAAAADJ7dhS%29%20format%28%27truetype%27%29%3B%0A%7D%0A%0Abody%20%7B%0Abackground%3A%20%23111%3B%0Abackground%2Dcolor%3A%20%23111%3B%20%7D%0A%2Ereveal%20%7B%0Afont%2Dfamily%3A%20%22Open%20Sans%22%2C%20sans%2Dserif%3B%0Afont%2Dsize%3A%2030px%3B%0Afont%2Dweight%3A%20normal%3B%0Acolor%3A%20%23eee%3B%20%7D%0A%3A%3Aselection%20%7B%0Acolor%3A%20%23fff%3B%0Abackground%3A%20%23e7ad52%3B%0Atext%2Dshadow%3A%20none%3B%20%7D%0A%2Ereveal%20%2Eslides%20%3E%20section%2C%0A%2Ereveal%20%2Eslides%20%3E%20section%20%3E%20section%20%7B%0Aline%2Dheight%3A%201%2E3%3B%0Afont%2Dweight%3A%20inherit%3B%20%7D%0A%0A%2Ereveal%20h1%2C%0A%2Ereveal%20h2%2C%0A%2Ereveal%20h3%2C%0A%2Ereveal%20h4%2C%0A%2Ereveal%20h5%2C%0A%2Ereveal%20h6%20%7B%0Amargin%3A%200%200%2020px%200%3B%0Acolor%3A%20%23eee%3B%0Afont%2Dfamily%3A%20%22Montserrat%22%2C%20Impact%2C%20sans%2Dserif%3B%0Afont%2Dweight%3A%20normal%3B%0Aline%2Dheight%3A%201%2E2%3B%0Aletter%2Dspacing%3A%20%2D0%2E03em%3B%0Atext%2Dtransform%3A%20none%3B%0Atext%2Dshadow%3A%20none%3B%0Aword%2Dwrap%3A%20break%2Dword%3B%20%7D%0A%2Ereveal%20h1%20%7B%0Afont%2Dsize%3A%203%2E77em%3B%20%7D%0A%2Ereveal%20h2%20%7B%0Afont%2Dsize%3A%202%2E11em%3B%20%7D%0A%2Ereveal%20h3%20%7B%0Afont%2Dsize%3A%201%2E55em%3B%20%7D%0A%2Ereveal%20h4%20%7B%0Afont%2Dsize%3A%201em%3B%20%7D%0A%2Ereveal%20h1%20%7B%0Atext%2Dshadow%3A%20none%3B%20%7D%0A%0A%2Ereveal%20p%20%7B%0Amargin%3A%2020px%200%3B%0Aline%2Dheight%3A%201%2E3%3B%20%7D%0A%0A%2Ereveal%20img%2C%0A%2Ereveal%20video%2C%0A%2Ereveal%20iframe%20%7B%0Amax%2Dwidth%3A%2095%25%3B%0Amax%2Dheight%3A%2095%25%3B%20%7D%0A%2Ereveal%20strong%2C%0A%2Ereveal%20b%20%7B%0Afont%2Dweight%3A%20bold%3B%20%7D%0A%2Ereveal%20em%20%7B%0Afont%2Dstyle%3A%20italic%3B%20%7D%0A%2Ereveal%20ol%2C%0A%2Ereveal%20dl%2C%0A%2Ereveal%20ul%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Atext%2Dalign%3A%20left%3B%0Amargin%3A%200%200%200%201em%3B%20%7D%0A%2Ereveal%20ol%20%7B%0Alist%2Dstyle%2Dtype%3A%20decimal%3B%20%7D%0A%2Ereveal%20ul%20%7B%0Alist%2Dstyle%2Dtype%3A%20disc%3B%20%7D%0A%2Ereveal%20ul%20ul%20%7B%0Alist%2Dstyle%2Dtype%3A%20square%3B%20%7D%0A%2Ereveal%20ul%20ul%20ul%20%7B%0Alist%2Dstyle%2Dtype%3A%20circle%3B%20%7D%0A%2Ereveal%20ul%20ul%2C%0A%2Ereveal%20ul%20ol%2C%0A%2Ereveal%20ol%20ol%2C%0A%2Ereveal%20ol%20ul%20%7B%0Adisplay%3A%20block%3B%0Amargin%2Dleft%3A%2040px%3B%20%7D%0A%2Ereveal%20dt%20%7B%0Afont%2Dweight%3A%20bold%3B%20%7D%0A%2Ereveal%20dd%20%7B%0Amargin%2Dleft%3A%2040px%3B%20%7D%0A%2Ereveal%20q%2C%0A%2Ereveal%20blockquote%20%7B%0Aquotes%3A%20none%3B%20%7D%0A%2Ereveal%20blockquote%20%7B%0Adisplay%3A%20block%3B%0Aposition%3A%20relative%3B%0Awidth%3A%2070%25%3B%0Amargin%3A%2020px%20auto%3B%0Apadding%3A%205px%3B%0Afont%2Dstyle%3A%20italic%3B%0Abackground%3A%20rgba%28255%2C%20255%2C%20255%2C%200%2E05%29%3B%0Abox%2Dshadow%3A%200px%200px%202px%20rgba%280%2C%200%2C%200%2C%200%2E2%29%3B%20%7D%0A%2Ereveal%20blockquote%20p%3Afirst%2Dchild%2C%0A%2Ereveal%20blockquote%20p%3Alast%2Dchild%20%7B%0Adisplay%3A%20inline%2Dblock%3B%20%7D%0A%2Ereveal%20q%20%7B%0Afont%2Dstyle%3A%20italic%3B%20%7D%0A%2Ereveal%20pre%20%7B%0Adisplay%3A%20block%3B%0Aposition%3A%20relative%3B%0Awidth%3A%2090%25%3B%0Amargin%3A%2020px%20auto%3B%0Atext%2Dalign%3A%20left%3B%0Afont%2Dsize%3A%200%2E55em%3B%0Afont%2Dfamily%3A%20monospace%3B%0Aline%2Dheight%3A%201%2E2em%3B%0Aword%2Dwrap%3A%20break%2Dword%3B%0Abox%2Dshadow%3A%200px%200px%206px%20rgba%280%2C%200%2C%200%2C%200%2E3%29%3B%20%7D%0A%2Ereveal%20code%20%7B%0Afont%2Dfamily%3A%20monospace%3B%20%7D%0A%2Ereveal%20pre%20code%20%7B%0Adisplay%3A%20block%3B%0Apadding%3A%205px%3B%0Aoverflow%3A%20auto%3B%0Amax%2Dheight%3A%20400px%3B%0Aword%2Dwrap%3A%20normal%3B%20%7D%0A%2Ereveal%20table%20%7B%0Amargin%3A%20auto%3B%0Aborder%2Dcollapse%3A%20collapse%3B%0Aborder%2Dspacing%3A%200%3B%20%7D%0A%2Ereveal%20table%20th%20%7B%0Afont%2Dweight%3A%20bold%3B%20%7D%0A%2Ereveal%20table%20th%2C%0A%2Ereveal%20table%20td%20%7B%0Atext%2Dalign%3A%20left%3B%0Apadding%3A%200%2E2em%200%2E5em%200%2E2em%200%2E5em%3B%0Aborder%2Dbottom%3A%201px%20solid%3B%20%7D%0A%2Ereveal%20table%20th%5Balign%3D%22center%22%5D%2C%0A%2Ereveal%20table%20td%5Balign%3D%22center%22%5D%20%7B%0Atext%2Dalign%3A%20center%3B%20%7D%0A%2Ereveal%20table%20th%5Balign%3D%22right%22%5D%2C%0A%2Ereveal%20table%20td%5Balign%3D%22right%22%5D%20%7B%0Atext%2Dalign%3A%20right%3B%20%7D%0A%2Ereveal%20table%20tr%3Alast%2Dchild%20td%20%7B%0Aborder%2Dbottom%3A%20none%3B%20%7D%0A%2Ereveal%20sup%20%7B%0Avertical%2Dalign%3A%20super%3B%20%7D%0A%2Ereveal%20sub%20%7B%0Avertical%2Dalign%3A%20sub%3B%20%7D%0A%2Ereveal%20small%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Afont%2Dsize%3A%200%2E6em%3B%0Aline%2Dheight%3A%201%2E2em%3B%0Avertical%2Dalign%3A%20top%3B%20%7D%0A%2Ereveal%20small%20%2A%20%7B%0Avertical%2Dalign%3A%20top%3B%20%7D%0A%0A%2Ereveal%20a%20%7B%0Acolor%3A%20%23e7ad52%3B%0Atext%2Ddecoration%3A%20none%3B%0A%2Dwebkit%2Dtransition%3A%20color%200%2E15s%20ease%3B%0A%2Dmoz%2Dtransition%3A%20color%200%2E15s%20ease%3B%0Atransition%3A%20color%200%2E15s%20ease%3B%20%7D%0A%2Ereveal%20a%3Ahover%20%7B%0Acolor%3A%20%23f3d7ac%3B%0Atext%2Dshadow%3A%20none%3B%0Aborder%3A%20none%3B%20%7D%0A%2Ereveal%20%2Eroll%20span%3Aafter%20%7B%0Acolor%3A%20%23fff%3B%0Abackground%3A%20%23d08a1d%3B%20%7D%0A%0A%2Ereveal%20section%20img%20%7B%0Amargin%3A%2015px%200px%3B%0Abackground%3A%20rgba%28255%2C%20255%2C%20255%2C%200%2E12%29%3B%0Aborder%3A%204px%20solid%20%23eee%3B%0Abox%2Dshadow%3A%200%200%2010px%20rgba%280%2C%200%2C%200%2C%200%2E15%29%3B%20%7D%0A%2Ereveal%20section%20img%2Eplain%20%7B%0Aborder%3A%200%3B%0Abox%2Dshadow%3A%20none%3B%20%7D%0A%2Ereveal%20a%20img%20%7B%0A%2Dwebkit%2Dtransition%3A%20all%200%2E15s%20linear%3B%0A%2Dmoz%2Dtransition%3A%20all%200%2E15s%20linear%3B%0Atransition%3A%20all%200%2E15s%20linear%3B%20%7D%0A%2Ereveal%20a%3Ahover%20img%20%7B%0Abackground%3A%20rgba%28255%2C%20255%2C%20255%2C%200%2E2%29%3B%0Aborder%2Dcolor%3A%20%23e7ad52%3B%0Abox%2Dshadow%3A%200%200%2020px%20rgba%280%2C%200%2C%200%2C%200%2E55%29%3B%20%7D%0A%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dleft%2C%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dleft%2Eenabled%20%7B%0Aborder%2Dright%2Dcolor%3A%20%23e7ad52%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dright%2C%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dright%2Eenabled%20%7B%0Aborder%2Dleft%2Dcolor%3A%20%23e7ad52%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dup%2C%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dup%2Eenabled%20%7B%0Aborder%2Dbottom%2Dcolor%3A%20%23e7ad52%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Ddown%2C%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Ddown%2Eenabled%20%7B%0Aborder%2Dtop%2Dcolor%3A%20%23e7ad52%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dleft%2Eenabled%3Ahover%20%7B%0Aborder%2Dright%2Dcolor%3A%20%23f3d7ac%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dright%2Eenabled%3Ahover%20%7B%0Aborder%2Dleft%2Dcolor%3A%20%23f3d7ac%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Dup%2Eenabled%3Ahover%20%7B%0Aborder%2Dbottom%2Dcolor%3A%20%23f3d7ac%3B%20%7D%0A%2Ereveal%20%2Econtrols%20%2Enavigate%2Ddown%2Eenabled%3Ahover%20%7B%0Aborder%2Dtop%2Dcolor%3A%20%23f3d7ac%3B%20%7D%0A%0A%2Ereveal%20%2Eprogress%20%7B%0Abackground%3A%20rgba%280%2C%200%2C%200%2C%200%2E2%29%3B%20%7D%0A%2Ereveal%20%2Eprogress%20span%20%7B%0Abackground%3A%20%23e7ad52%3B%0A%2Dwebkit%2Dtransition%3A%20width%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%0A%2Dmoz%2Dtransition%3A%20width%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%0Atransition%3A%20width%20800ms%20cubic%2Dbezier%280%2E26%2C%200%2E86%2C%200%2E44%2C%200%2E985%29%3B%20%7D%0A" rel="stylesheet" id="theme">
<style type="text/css">
.reveal section img {
background: rgba(255, 255, 255, 0.85);
}
</style>
<!-- some tweaks to reveal css -->
<style type="text/css">
.reveal h1 { font-size: 2.0em; }
.reveal h2 { font-size: 1.5em; }
.reveal h3 { font-size: 1.25em; }
.reveal h4 { font-size: 1em; }
.reveal .slides>section,
.reveal .slides>section>section {
padding: 0px 0px;
}
.reveal table {
border-width: 1px;
border-spacing: 2px;
border-style: dotted;
border-color: gray;
border-collapse: collapse;
font-size: 0.7em;
}
.reveal table th {
border-width: 1px;
padding-left: 10px;
padding-right: 25px;
font-weight: bold;
border-style: dotted;
border-color: gray;
}
.reveal table td {
border-width: 1px;
padding-left: 10px;
padding-right: 25px;
border-style: dotted;
border-color: gray;
}
</style>
<style type="text/css">code{white-space: pre;}</style>
<link href="data:text/css;charset=utf-8,%2Ereveal%20%2EsourceCode%2Er%20%2Ekw%2C%20%2EsourceCode%2Er%20%2Eer%20%7B%0Acolor%3Ainherit%3B%0Afont%2Dweight%3A%20normal%3B%0A%7D%0A%2Ereveal%20%2EsourceCode%2Er%20%2Eco%20%7B%0Afont%2Dstyle%3A%20normal%3B%0A%7D%0A%2Ereveal%20%2Eslides%20%7B%0Atext%2Dalign%3A%20inherit%3B%0A%7D%0A%2Ereveal%20%2Eslide%2Elevel2%20h1%20%7B%0Afont%2Dsize%3A%2048px%3B%0A%7D%0A%2Ereveal%20pre%20code%20%7B%0Afont%2Dsize%3A%2020px%3B%0Aline%2Dheight%3A%201%2E3%3B%0A%7D" rel="stylesheet" />
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '/Library/Frameworks/R.framework/Versions/3.3/Resources/library/revealjs/reveal.js-3.2.0/css/print/pdf.css' : '/Library/Frameworks/R.framework/Versions/3.3/Resources/library/revealjs/reveal.js-3.2.0/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="/Library/Frameworks/R.framework/Versions/3.3/Resources/library/revealjs/reveal.js-3.2.0/lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<h1 class="title">Principles of Reactivity</h1>
<h2 class="author">Joe Cheng <a href="mailto:joe@rstudio.com"><joe@rstudio.com></a></h2>
<h3 class="date">#ShinyDevConf — January 30, 2016</h3>
</section>
<section id="warm-up-side-effects" class="slide level2">
<h1>Warm up: Side effects</h1>
</section>
<section class="slide level2">
<p>Functions can be executed for one or both of the following reasons:</p>
<ol type="1">
<li class="fragment">You want its return value.</li>
<li class="fragment">You want it to have <strong>some other effect</strong>.</li>
</ol>
<div class="fragment">
<p>These are (a bit misleadingly) called <em>side effects</em>. Any effect that is not the return value is a side effect.</p>
</div>
</section>
<section id="functions-with-side-effects" class="slide level2">
<h1>Functions with side effects</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">write.csv</span>(...)
<span class="kw">plot</span>(cars)
<span class="kw">print</span>(x)
<span class="kw">httr.POST</span>(...)
<span class="kw">alarm</span>()</code></pre></div>
</section>
<section id="more-side-effects" class="slide level2">
<h1>More side effects</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Sets a variable in a parent environment</span>
value <<-<span class="st"> </span><span class="dv">10</span>
<span class="co"># Loads into global env by default</span>
<span class="kw">source</span>(<span class="st">"functions.R"</span>)
<span class="co"># Modifies the global search list</span>
<span class="kw">library</span>(dplyr)
<span class="co"># Only if foo is an env, ref class, or R6</span>
foo$bar <-<span class="st"> </span><span class="ot">TRUE</span></code></pre></div>
</section>
<section id="not-side-effects-when-inside-a-function" class="slide level2">
<h1>NOT side effects (when inside a function)</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Modifying *local* variables</span>
value <-<span class="st"> </span><span class="dv">10</span>
<span class="co"># Creating most kinds of objects</span>
<span class="kw">list</span>(<span class="dt">a =</span> <span class="dv">1</span>, <span class="dt">b =</span> <span class="dv">2</span>)
<span class="co"># Data frames are pass-by-value in R so this is OK</span>
dataset <-<span class="st"> </span>dataset %>%<span class="st"> </span><span class="kw">filter</span>(count ><span class="st"> </span><span class="dv">3</span>)
<span class="co"># Most calculations</span>
a +<span class="st"> </span><span class="dv">1</span>
<span class="kw">summary</span>(pressure)
<span class="kw">lm</span>(speed ~<span class="st"> </span>dist, <span class="dt">data =</span> cars)
<span class="kw">predict</span>(wfit, <span class="dt">interval =</span> <span class="st">"prediction"</span>)</code></pre></div>
</section>
<section id="ehhh-not-side-effects" class="slide level2">
<h1>Ehhh… Not side effects</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Reading from disk</span>
<span class="kw">readLines</span>(<span class="st">"data.csv"</span>)
<span class="co"># Making HTTP GET requests</span>
<span class="kw">httr.GET</span>(<span class="st">"https://api.example.com/data.json"</span>)
<span class="co"># Reading global variables</span>
.Random.seed
<span class="co"># Modifying the random seed... ehhhhhh...</span>
<span class="kw">runif</span>(<span class="dv">10</span>)</code></pre></div>
<p>If executing your function/expression <strong>leaves the state of the world a little different</strong> than before it executed, <strong>it has side effects</strong>.</p>
<p>But if “what happens in <code>func</code>, stays in <code>func</code>” (besides the return value), then it doesn’t have side effects.</p>
</section>
<section id="side-effect-quiz" class="slide level2">
<h1>Side effect quiz</h1>
<p>For each function, write Yes if it has side effects, and No if not.</p>
</section>
<section id="question-1" class="slide level2">
<h1>Question 1</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(a, b) {
(b -<span class="st"> </span>a) /<span class="st"> </span>a
}</code></pre></div>
</section>
<section id="question-2" class="slide level2">
<h1>Question 2</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(values) {
<span class="kw">globalenv</span>()$values <-<span class="st"> </span>values
values
}</code></pre></div>
</section>
<section id="question-3" class="slide level2">
<h1>Question 3</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function() {
<span class="kw">options</span>(<span class="dt">digits.secs =</span> <span class="dv">6</span>)
<span class="kw">as.character</span>(<span class="kw">Sys.time</span>())
}</code></pre></div>
</section>
<section id="question-4" class="slide level2">
<h1>Question 4</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(df) {
df$foo <-<span class="st"> </span><span class="kw">factor</span>(df$foo)
df
}</code></pre></div>
</section>
<section id="question-5" class="slide level2">
<h1>Question 5</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function() {
<span class="kw">readLines</span>(<span class="st">"~/data/raw.txt"</span>)
}</code></pre></div>
</section>
<section id="question-6" class="slide level2">
<h1>Question 6</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(values) {
<span class="kw">hist</span>(values, <span class="dt">plot =</span> <span class="ot">TRUE</span>)
}</code></pre></div>
</section>
<section id="question-7" class="slide level2">
<h1>Question 7</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function() {
<span class="co"># Create temp file, and delete when function exits</span>
filePath <-<span class="st"> </span><span class="kw">tempfile</span>(<span class="dt">fileext =</span> <span class="st">".png"</span>)
<span class="kw">on.exit</span>(<span class="kw">file.unlink</span>(filePath))
<span class="co"># Plot to the temp file as PNG image</span>
<span class="kw">png</span>(filePath); <span class="kw">plot</span>(cars); <span class="kw">dev.off</span>()
<span class="co"># Return the contents of the temp file</span>
<span class="kw">readBin</span>(filePath, <span class="st">"raw"</span>, <span class="dt">n =</span> <span class="kw">file.info</span>(filePath)$size)
}</code></pre></div>
</section>
<section id="answers" class="slide level2">
<h1>Answers</h1>
<ol type="1">
<li>No</li>
<li>Yes</li>
<li>Yes</li>
<li>No</li>
<li>No</li>
<li>Yes</li>
<li>Mostly no</li>
</ol>
</section>
<section class="slide level2">
<p><strong>Side effects make code harder to reason about,</strong> since order of execution of different side-effecty functions can matter (in non-obvious ways).</p>
<p><strong>But we still need them.</strong> Without side effects, our programs are useless! (If a program executes but has no observable interactions with the world, you may as well have not executed it at all!)</p>
</section>
<section id="reactive-programming" class="slide level2">
<h1>Reactive programming</h1>
<aside class="notes">
<p>Reactivity can be your best friend—or your worst enemy. If you follow some rules of the road, and trust them, then you’ll end up moving in the right direction.</p>
<p>We haven’t been very upfront about these rules; mostly I’ve disseminated them in replies to shiny-discuss threads. So even if you’ve been following Shiny development pretty closely, it’s quite likely that some of the things I’ll discuss today will be news to you.</p>
<p>One of my top priorities in 2016 is to get the message out there about how to use reactivity properly, and it starts right here, at this conference, in this tutorial. So your feedback is <em>most</em> welcome after the tutorial.</p>
<p>You ignore these principles at your peril! The temptation is especially strong among smart, experienced programmers. Resist it—at least until you’ve tried to do it the right way first. These aren’t rules that people say but don’t expect anyone to completely follow, like “write unit tests for every function”, “floss after every meal”, etc. These are more like, “bring your car to a stop when you come to a stop sign”.</p>
<p>If you’ve tried to do it the right way and still really want to break these rules, email me at <a href="mailto:joe@rstudio.com">joe@rstudio.com</a> and let’s talk about it. But please, do that before sinking weeks or months into your app, while I can still help you!</p>
</aside>
</section>
<section id="ladder-of-enlightenment" class="slide level2">
<h1>Ladder of Enlightenment</h1>
<ol type="1">
<li class="fragment">Made it halfway through the tutorial. Has used <code>output</code> and <code>input</code>.</li>
<li class="fragment">Made it entirely through the tutorial. Has used reactive expressions (<code>reactive()</code>).</li>
<li class="fragment">Has used <code>observe()</code> and/or <code>observeEvent()</code>. Has written reactive expressions that depend on other reactive expressions. Has used <code>isolate()</code> properly.</li>
<li class="fragment">Can say confidently when to use <code>reactive()</code> vs. <code>observe()</code>. Has used <code>invalidateLater</code>.</li>
<li class="fragment">Writes higher-order reactives (functions that have reactive expressions as input parameters and return values).</li>
<li class="fragment">Understands that reactive expressions are monads.</li>
</ol>
<aside class="notes">
<p>I’d like to propose a ladder of Shiny reactivity “enlightenment”.</p>
<p>Take a moment to read this list, then discuss with the people around you where you currently rank. Don’t be shy or embarrassed if you’re at level one or two, we’re all here to learn! Go ahead, I’ll give you three minutes.</p>
<p>How many of you feel like you’re at levels one or two?</p>
<p>How many are at level three?</p>
<p>How many are at level four?</p>
<p>Anyone besides Hadley and Winston at five or six?</p>
<p>So at level three, you can write quite complicated applications. And many of you have. This is a dangerous zone. Your apps generally work, but sometimes you struggle with why things are executing too much, or not enough. Each new feature you add to your app seems to increase the overall complexity superlinearly.</p>
<p>Our goal today is to get everyone, or at least most of you, to level four. When you have a firm grasp on the reactive primitives we’ve built into Shiny, you can build complicated networks of reactive expressions and observers, with confidence. Combine that knowledge with the new modules feature, which Garrett will talk about tomorrow, and you’ve got all the tools you need to write large yet maintainable Shiny apps.</p>
<p>Level five or six is where the real fun begins. We won’t get there today, but if you’re interested in learning more, please let me know! I’d love to talk to you. Maybe we can organize a group vchat or webinar or something, and eventually spin that in to an article or three.</p>
</aside>
</section>
<section id="exercise-1" class="slide level2">
<h1>Exercise 1</h1>
<p>Open <code>Exercise_01.R</code> and complete the server function. Make the plot output show a simple plot of the first <code>nrows</code> rows of a built-in dataset.</p>
<p>You have 5 minutes!</p>
<p>Hint: <code>plot(head(cars, nrows))</code></p>
<aside class="notes">
<p>We’ll get started with a really basic example app, just to get the juices flowing a little bit.</p>
<p>Open up Exercise_01.R; it should be in your Files pane. You should see the beginnings of a Shiny app. The UI definition is complete, but the server function is blank. I want you to fill in that server function. Make the plot output show a simple plot of the first <code>nrows</code> rows of a built-in dataset of your choice. If you can’t think of any, use <code>cars</code>.</p>
<p>So basically, make the Shiny equivalent of this: <code>plot(head(cars, nrows))</code></p>
<p>I’ll give you five minutes. That might be way too much time for some of you, but it’ll give us a chance to shake out any technical issues. If you need help, talk to your neighbors, or flag down one of the TAs or myself. If you have extra time, get to know your neighbors a little more.</p>
</aside>
</section>
<section id="solution" class="slide level2">
<h1>Solution</h1>
<pre><code>output$plot <- renderPlot({
plot(head(cars, input$nrows))
})</code></pre>
<aside class="notes">
<p>OK, we’re back. Hopefully your code looks something like this.</p>
<p>How many of you ended up with this answer? Anyone come up with something different?</p>
<p>What we don’t want is something like this:</p>
</aside>
</section>
<section id="anti-solution" class="slide level2">
<h1>Anti-solution</h1>
<pre><code>observe({
df <- head(cars, input$nrows)
output$plot <- renderPlot(plot(df))
})</code></pre>
<aside class="notes">
<p>This pattern of putting renderPlot inside of an observe, usually means the author has a fundamental misconception of what it means to assign a render code block to an output slot.</p>
</aside>
</section>
<section class="slide level2">
<p><code>output$plot1 <- renderPlot(...)</code></p>
<ul>
<li class="fragment"><strong>DOESN’T mean:</strong> “Go update the output <code>"plot1"</code> with the result of this code.”</li>
<li class="fragment"><strong>DOES mean:</strong> “This code is the <em>recipe</em> that should be used to update the output <code>"plot1"</code>.”</li>
</ul>
<aside class="notes">
<p>Historically, we’ve asked you to take it on faith that whenever <code>input$nrows</code> changes, any dependent outputs, reactive expressions, and observers will do the right thing. But how does Shiny know how the code is related? How does it know which outputs depend on which inputs, reactives, etc.?</p>
<p>There are really two possibilities: <em>static</em> analysis, where we’d examine your code, looking for reactive-looking things; and <em>runtime</em> analysis, where we’d execute your code and see what happens.</p>
<p>We do the latter. Shiny just executes your code and sees what happens. It eavesdrops to see what reactive values (like <code>input</code>) or reactive expressions your output reads, and whatever it reads is considered a “dependency”. Any changes to one of those dependencies means the output is considered out-of-date, or “invalidated”, and might need to be re-executed.</p>
</aside>
</section>
<section id="reactive-expressions" class="slide level2">
<h1>Reactive expressions</h1>
<div class="fragment">
<p><strong>Expressions</strong> that are <strong>reactive</strong> <span class="fragment">(obviously)</span></p>
</div>
<ul>
<li class="fragment"><strong>Expression:</strong> Code that <em>produces a value</em></li>
<li class="fragment"><strong>Reactive:</strong> <em>Detects changes</em> in anything reactive it reads</li>
</ul>
</section>
<section class="slide level2">
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(input, output, session) {
<span class="co"># When input$min_size or input$max_size change, large_diamonds</span>
<span class="co"># will be notified about it.</span>
large_diamonds <-<span class="st"> </span><span class="kw">reactive</span>({
diamonds %>%
<span class="st"> </span><span class="kw">filter</span>(carat >=<span class="st"> </span>input$min_size) %>%
<span class="st"> </span><span class="kw">filter</span>(carat <<span class="st"> </span>input$max_size)
})
<span class="co"># If that happens, large_diamonds will notify output$table.</span>
output$table <-<span class="st"> </span><span class="kw">renderTable</span>({
<span class="kw">large_diamonds</span>() %>%<span class="st"> </span><span class="kw">select</span>(carat, price)
})</code></pre></div>
</section>
<section class="slide level2">
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"> ... continued ...
<span class="co"># Reactive expressions can use other reactive expressions.</span>
mean_price <-<span class="st"> </span><span class="kw">reactive</span>({
<span class="kw">mean</span>(<span class="kw">large_diamonds</span>()$price)
})
<span class="co"># large_diamonds and mean_price will both notify output$message</span>
<span class="co"># of changes they detect.</span>
output$message <-<span class="st"> </span><span class="kw">renderText</span>({
<span class="kw">paste0</span>(<span class="kw">nrow</span>(<span class="kw">large_diamonds</span>()), <span class="st">" diamonds in that range, "</span>,
<span class="st">"with an average price of $"</span>, <span class="kw">mean_price</span>())
})
<span class="er">}</span></code></pre></div>
</section>
<section class="slide level2">
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(input, output, session) {
<span class="co"># This DOESN'T work.</span>
large_diamonds <-<span class="st"> </span>diamonds %>%
<span class="st"> </span><span class="kw">filter</span>(carat >=<span class="st"> </span>input$min_size) %>%
<span class="st"> </span><span class="kw">filter</span>(carat <<span class="st"> </span>input$max_size)
output$table <-<span class="st"> </span><span class="kw">renderTable</span>({
large_diamonds %>%<span class="st"> </span><span class="kw">select</span>(carat, price)
})
}</code></pre></div>
<p><code>large_diamonds</code> would only be calculated once, as the session starts (i.e. as the page first loads in a browser).</p>
</section>
<section id="exercise-2" class="slide level2">
<h1>Exercise 2</h1>
<p>Open up the file <code>Exercise_02.R</code>.</p>
<p>There’s a new <code>tableOutput("table")</code> in ui.R. Have it show the same data frame that is being plotted, using <code>renderTable</code>.</p>
<p><strong>Make sure that the <code>head()</code> operation isn’t performed more than once for each change to <code>input$nrows</code>.</strong></p>
<p>You have 5 minutes.</p>
</section>
<section id="solution-1" class="slide level2">
<h1>Solution</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(input, output, session) {
df <-<span class="st"> </span><span class="kw">reactive</span>({
<span class="kw">head</span>(cars, input$nrows)
})
output$plot <-<span class="st"> </span><span class="kw">renderPlot</span>({
<span class="kw">plot</span>(<span class="kw">df</span>())
})
output$table <-<span class="st"> </span><span class="kw">renderTable</span>({
<span class="kw">df</span>()
})
}</code></pre></div>
</section>
<section id="anti-solution-1" class="slide level2">
<h1>Anti-solution 1</h1>
<pre><code>function(input, output, session) {
values <- reactiveValues(df = cars)
observe({
values$df <- head(cars, input$nrows)
})
output$plot <- renderPlot({
plot(values$df)
})
output$table <- renderTable({
values$df
})
}</code></pre>
</section>
<section id="anti-solution-2" class="slide level2">
<h1>Anti-solution 2</h1>
<pre><code>function(input, output, session) {
df <<- cars
observe({
df <<- head(cars, input$nrows)
})
output$plot <- renderPlot({
plot(df)
})
output$table <- renderTable({
df
})
}</code></pre>
<aside class="notes">
<p>Let’s forget about that last one, since it doesn’t work. What about the previous two? Let’s talk about what they do. The first one uses a reactive expression to store the calculation. The second one creates a reactive values object and uses an observer to keep the value up-to-date. Who prefers the first approach? Who prefers the second?</p>
<p>So we mostly agree that the first approach is superior. But why? It might feel like I’m just setting up strawmen, but I see this kind of code all the time on the shiny-discuss mailing list. It seems obvious when we lay it bare with a minimal example like this, but in the context of a more complicated app, it can be much trickier.</p>
<p>We shouldn’t take the second approach—but <em>why</em> shouldn’t we take it? What’s the first-principles reason to avoid this kind of code? We need some first-principles to build from so we can confidently answer these questions. You should be able to confidently answer these questions by the end of the tutorial.</p>
</aside>
</section>
<section id="observers" class="slide level2">
<h1>Observers</h1>
</section>
<section class="slide level2">
<p>Observers are blocks of code that <strong>perform actions</strong>.</p>
<p>They’re executed in response to changing reactive values/expressions.</p>
<p>They don’t return a value.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">observe</span>({
<span class="kw">cat</span>(<span class="st">"The value of input$x is now "</span>, input$x, <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>)
})</code></pre></div>
</section>
<section id="observers-come-in-two-flavors" class="slide level2">
<h1>Observers come in two flavors</h1>
<ol type="1">
<li class="fragment"><strong>Implicit:</strong> Depend on <em>all</em> reactive values/expressions encountered during execution.<br />
<code>observe({...})</code><br />
</li>
<li class="fragment"><strong>Explicit:</strong> Just depend on <em>specific</em> reactive value/expression; ignore all others. (Also known as “event handler”.)<br />
<code>observeEvent(eventExpr, {...})</code></li>
</ol>
</section>
<section class="slide level2">
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(input, output, session) {
<span class="co"># Executes immediately, and repeats whenever input$x changes.</span>
<span class="kw">observe</span>({
<span class="kw">cat</span>(<span class="st">"The value of input$x is now "</span>, input$x, <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>)
})
<span class="co"># Only executes when input$upload_button is pushed. Any reactive</span>
<span class="co"># values/expressions encountered in the code block are treated</span>
<span class="co"># as non-reactive values/expressions.</span>
<span class="kw">observeEvent</span>(input$upload_button, {
httr::<span class="kw">POST</span>(server_url, jsonlite::<span class="kw">toJSON</span>(<span class="kw">dataset</span>()))
})
}</code></pre></div>
</section>
<section id="exercise-3" class="slide level2">
<h1>Exercise 3</h1>
<p>Open <code>Exercise_03.R</code>.</p>
<p>Add server logic so that when the <code>input$save</code> button is pressed, the data is saved to a CSV file called <code>"data.csv"</code> in the current directory.</p>
<p>You have 5 minutes!</p>
</section>
<section id="solution-2" class="slide level2">
<h1>Solution</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Use observeEvent to tell Shiny what action to take</span>
<span class="co"># when input$save is clicked.</span>
<span class="kw">observeEvent</span>(input$save, {
<span class="kw">write.csv</span>(<span class="kw">df</span>(), <span class="st">"data.csv"</span>)
})</code></pre></div>
</section>
<section id="reactive-expressions-vs.observers" class="slide level2">
<h1>Reactive expressions vs. observers</h1>
</section>
<section id="reactive" class="slide level2">
<h1><code>reactive()</code></h1>
<ol type="1">
<li class="fragment">It <strong>can be called</strong> and <strong>returns a value</strong>, like a function. Either the last expression, or <code>return()</code>.</li>
<li class="fragment">It’s <strong>lazy</strong>. It doesn’t execute its code until somebody calls it (even if its reactive dependencies have changed). Also like a function.</li>
<li class="fragment">It’s <strong>cached</strong>. The first time it’s called, it executes the code and saves the resulting value. Subsequent calls can skip the execution and just return the value.</li>
<li class="fragment">It’s <strong>reactive</strong>. It is notified when its dependencies change. When that happens, it clears its cache and notifies it dependents.</li>
</ol>
</section>
<section class="slide level2">
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">r1 <-<span class="st"> </span>function() { <span class="kw">runif</span>(<span class="dv">1</span>) }
<span class="kw">r1</span>()
<span class="co"># [1] 0.8403573</span>
<span class="kw">r1</span>()
<span class="co"># [1] 0.4590713</span>
<span class="kw">r1</span>()
<span class="co"># [1] 0.9816089</span></code></pre></div>
<div class="fragment">
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">r2 <-<span class="st"> </span><span class="kw">reactive</span>({ <span class="kw">runif</span>(<span class="dv">1</span>) })
<span class="kw">r2</span>()
<span class="co"># [1] 0.5327107</span>
<span class="kw">r2</span>()
<span class="co"># [1] 0.5327107</span>
<span class="kw">r2</span>()
<span class="co"># [1] 0.5327107</span></code></pre></div>
</div>
</section>
<section class="slide level2">
<p>The fact that reactive expressions are <strong>lazy</strong> and <strong>cached</strong>, is critical.</p>
<div class="fragment">
<p>It’s <strong>hard to reason about</strong> when reactive expressions will execute their code—or whether they will be executed at all.</p>
</div>
<div class="fragment">
<p>All Shiny guarantees is that <strong>when you ask a reactive expression for an answer, you get an up-to-date one</strong>.</p>
</div>
</section>
<section class="slide level2">
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(input, output, session) {
<span class="kw">reactive</span>({
<span class="co"># This code will never execute!</span>
<span class="kw">cat</span>(<span class="st">"The value of input$x is now "</span>, input$x, <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>)
})
}</code></pre></div>
</section>
<section id="observe-observeevent" class="slide level2">
<h1><code>observe()</code> / <code>observeEvent()</code></h1>
<ol type="1">
<li class="fragment">It <strong>can’t be called</strong> and <strong>doesn’t return a value</strong>. The value of the last expression will be thrown away, as will values passed to <code>return()</code>.</li>
<li class="fragment">It’s <strong>eager</strong>. When its dependencies change, it executes right away.</li>
<li class="fragment">(Since it can’t be called and doesn’t have a return value, there’s no notion of caching that applies here.)</li>
<li class="fragment">It’s <strong>reactive</strong>. It is notified when its dependencies change, and when that happens it executes (not right at that instant, but ASAP).</li>
</ol>
</section>
<section class="slide level2">
<table>
<thead>
<tr class="header">
<th style="text-align: left;"><code>reactive()</code></th>
<th style="text-align: left;"><code>observe()</code></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Callable</td>
<td style="text-align: left;">Not callable</td>
</tr>
<tr class="even">
<td style="text-align: left;">Returns a value</td>
<td style="text-align: left;">No return value</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Lazy</td>
<td style="text-align: left;">Eager</td>
</tr>
<tr class="even">
<td style="text-align: left;">Cached</td>
<td style="text-align: left;"><em>N/A</em></td>
</tr>
</tbody>
</table>
<aside class="notes">
<p>Don’t worry, there won’t be a quiz on this. All of this is to point the way towards the two things you <em>do</em> need to remember.</p>
<p>This next slide is the reason I wanted to have this conference in the first place.</p>
<p>Are you ready?</p>
</aside>
</section>
<section class="slide level2">
<ul>
<li><p><code>reactive()</code> is for <em>calculating values, without side effects</em>.</p></li>
<li><p><code>observe()</code> is for <em>performing actions, with side effects</em>.</p></li>
</ul>
<aside class="notes">
<p>This is what each of these is good for. Do not use an <code>observe</code> when calculating a value, and especially don’t use <code>reactive</code> for performing actions with side effects.</p>
</aside>
</section>
<section class="slide level2">
<p>A <strong>calculation</strong> is a block of code where you don’t care about whether the code actually executes—you just want the answer. Safe for caching. <strong>Use <code>reactive()</code>.</strong></p>
<p>An <strong>action</strong> is where you care very much that the code executes, and there is no answer (return value), only side effects. <strong>Use <code>observe()</code>/<code>observeEvent()</code>.</strong></p>
<div class="fragment">
<p>(What if you want both an answer AND you want the code to execute? Refactor into two code chunks–separate the calculation from the action.)</p>
</div>
</section>
<section class="slide level2">
<table>
<thead>
<tr class="header">
<th style="text-align: left;"></th>
<th style="text-align: left;"><code>reactive()</code></th>
<th style="text-align: left;"><code>observe()</code></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Purpose</strong></td>
<td style="text-align: left;">Calculations</td>
<td style="text-align: left;">Actions</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Side effects?</strong></td>
<td style="text-align: left;">Forbidden</td>
<td style="text-align: left;">Allowed</td>
</tr>
</tbody>
</table>
</section>
<section id="an-easy-way-to-remember" class="slide level2">
<h1>An easy way to remember</h1>
<div class="fragment">
<p>Keep your side effects<br />
Outside of your reactives<br />
Or I will kill you</p>
<p><em>—Joe Cheng</em></p>
</div>
</section>
<section id="reactive-values" class="slide level2">
<h1>Reactive values</h1>
<p>A <code>reactiveValues</code> object is like an environment object or a named list: it stores name/value pairs. You get and set values using <code>$</code> or <code>[[name]]</code>.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">rv <-<span class="st"> </span><span class="kw">reactiveValues</span>(<span class="dt">a =</span> <span class="dv">10</span>)
rv$a
<span class="co"># [1] 10</span>
rv$a <-<span class="st"> </span><span class="dv">20</span>
rv[[<span class="st">"a"</span>]]
<span class="co"># [1] 20</span></code></pre></div>
<p><code>input</code> is one (read-only) example.</p>
</section>
<section id="exercise-4" class="slide level2">
<h1>Exercise 4</h1>
<p>Open file <code>Exercise_04.R</code>.</p>
<p>Modify the server function so that when the “rnorm” button is clicked, the plot shows a new batch of <code>rnorm(100)</code> values. When “runif” button is clicked, the plot should show a new batch of <code>runif(100)</code>.</p>
<p>You have 15 minutes this time.</p>
</section>
<section id="solution-3" class="slide level2">
<h1>Solution</h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">function(input, output, session) {
v <-<span class="st"> </span><span class="kw">reactiveValues</span>(<span class="dt">data =</span> <span class="kw">runif</span>(<span class="dv">100</span>))
<span class="kw">observeEvent</span>(input$runif, {
v$data <-<span class="st"> </span><span class="kw">runif</span>(<span class="dv">100</span>)
})
<span class="kw">observeEvent</span>(input$rnorm, {
v$data <-<span class="st"> </span><span class="kw">rnorm</span>(<span class="dv">100</span>)
})
output$plot <-<span class="st"> </span><span class="kw">renderPlot</span>({
<span class="kw">hist</span>(v$data)
})
}</code></pre></div>
<aside class="notes">
<p>We’ve identified a number of cases where we should use a reactive expression instead of an <code>observe(Event)</code>/<code>reactiveValues</code> pairing. But there are cases where you simply must use the latter.</p>
<p>There are essentially cases where inputs, outputs, and reactive expressions aren’t powerful enough to natively express the computations you want to perform. So you have the “escape hatch” of <code>observe</code>/<code>reactiveValues</code>; you can do things that would otherwise be impossible, at the price of your code being harder to reason about and harder for the reactive framework to help you with.</p>
<ul>
<li>Accumulating values over time, not just reacting to the latest one</li>
<li>Aggregating multiple reactive values/expressions into a single expression</li>
<li>Adding artificial latency into reactive values/expressions</li>
</ul>
<p>In general, we want to stick to reactive expressions whenever possible. And when we really need to, break out the big guns of <code>observe(Event)</code>/<code>reactiveValues</code>.</p>
</aside>
</section>
<section id="exercise-5-challenge" class="slide level2">
<h1>Exercise 5: Challenge!</h1>
<p><code>Exercise_05.R</code> contains a broken application. See if you can figure out how to fix it!</p>
<p>Read the comments in the file for more details.</p>
<!---
------
Now we have covered three fundamental units of reactivity: state (reactiveValues), calculations (reactive expressions), actions (observers). With these three pieces, we now have our first complete picture of reactivity.
> Reactivity tracks **changing state** so that the appropriate **actions** can be taken automatically. In doing so, we specify **calculations** that represent intermediate values. The ideal reactive program always executes **necessary actions** while performing the **minimum number of calculations**. The framework accomplishes this by automatically **tracking dependencies**.
There are two pieces we haven't covered: `isolate` and `invalidateLater`. Once we have those two pieces, everything else is accomplished by combining these five primitives:
- `reactiveValues()`
- `reactive()`
- `observe()`
- `isolate()`
- `invalidateLater()`
Here are just some of the things we can accomplish.
- `input`
- `output`/`render`
- `validate` and `req`
- `debounce` (see gist)
- `shinySignals` (https://github.com/hadley/shinySignals)
- `invokeLater` (see gist)
- `observeEvent`, `eventReactive`
------
### Exercise 6: Use eventReactive to restrict when calculations invalidate
**Concept:** Tie expensive calculations to action buttons.
**Exercise:**
**Anti-pattern:** Using observeEvent and reactiveValues.
Let's go back and take a look at `observe` and `observeEvent`. They're both used for actions, that is to say, side effects. They differ in that `observe` _implicitly_ takes a reactive dependency on everything it reads—a change in anything will cause it to re-execute—while `observeEvent` only re-executes based on what you _explicitly_ tell it to.
- Action, implicit reactivity: `observe`
- Action, explicit reactivity: `observeEvent`
- Calculation, implicit reactivity: `reactive`
- Calculation, explicit reactivity: `eventReactive`
Similarly, `eventReactive` is for declaring calculations that only invalidate based on what you _explicitly_ tell it to. 99% of the time, it's going to be action buttons.
### Exercise 7: Checking preconditions with req
**Concept:** `req` is a lightweight way to achieve cascading stopping of executions, that aren't error conditions.
**Exercise:**
**Anti-pattern:**
### invalidateLater
**Concept:** Use for anything that might change in the "real world" but not have any inherent effect on reactivity on its own.
**Exercise:**
**Anti-pattern:** Just using non-reactive things and expecting them to behave reactively.
### Higher order reactives (bonus)
**Concept:** Use reactive expressions as the primary unit to compute on, when writing higher-order reactives. Inputs and outputs should both be reactive expressions.
--->
</section>
</div>
</div>
<script src="data:application/x-javascript;base64,LyoqCiAgICBIZWFkIEpTICAgICBUaGUgb25seSBzY3JpcHQgaW4geW91ciA8SEVBRD4KICAgIENvcHlyaWdodCAgIFRlcm8gUGlpcmFpbmVuICh0aXBpaXJhaSkKICAgIExpY2Vuc2UgICAgIE1JVCAvIGh0dHA6Ly9iaXQubHkvbWl0LWxpY2Vuc2UKICAgIFZlcnNpb24gICAgIDAuOTYKCiAgICBodHRwOi8vaGVhZGpzLmNvbQoqLyhmdW5jdGlvbihhKXtmdW5jdGlvbiB6KCl7ZHx8KGQ9ITAscyhlLGZ1bmN0aW9uKGEpe3AoYSl9KSl9ZnVuY3Rpb24geShjLGQpe3ZhciBlPWEuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZS50eXBlPSJ0ZXh0LyIrKGMudHlwZXx8ImphdmFzY3JpcHQiKSxlLnNyYz1jLnNyY3x8YyxlLmFzeW5jPSExLGUub25yZWFkeXN0YXRlY2hhbmdlPWUub25sb2FkPWZ1bmN0aW9uKCl7dmFyIGE9ZS5yZWFkeVN0YXRlOyFkLmRvbmUmJighYXx8L2xvYWRlZHxjb21wbGV0ZS8udGVzdChhKSkmJihkLmRvbmU9ITAsZCgpKX0sKGEuYm9keXx8YikuYXBwZW5kQ2hpbGQoZSl9ZnVuY3Rpb24geChhLGIpe2lmKGEuc3RhdGU9PW8pcmV0dXJuIGImJmIoKTtpZihhLnN0YXRlPT1uKXJldHVybiBrLnJlYWR5KGEubmFtZSxiKTtpZihhLnN0YXRlPT1tKXJldHVybiBhLm9ucHJlbG9hZC5wdXNoKGZ1bmN0aW9uKCl7eChhLGIpfSk7YS5zdGF0ZT1uLHkoYS51cmwsZnVuY3Rpb24oKXthLnN0YXRlPW8sYiYmYigpLHMoZ1thLm5hbWVdLGZ1bmN0aW9uKGEpe3AoYSl9KSx1KCkmJmQmJnMoZy5BTEwsZnVuY3Rpb24oYSl7cChhKX0pfSl9ZnVuY3Rpb24gdyhhLGIpe2Euc3RhdGU9PT11bmRlZmluZWQmJihhLnN0YXRlPW0sYS5vbnByZWxvYWQ9W10seSh7c3JjOmEudXJsLHR5cGU6ImNhY2hlIn0sZnVuY3Rpb24oKXt2KGEpfSkpfWZ1bmN0aW9uIHYoYSl7YS5zdGF0ZT1sLHMoYS5vbnByZWxvYWQsZnVuY3Rpb24oYSl7YS5jYWxsKCl9KX1mdW5jdGlvbiB1KGEpe2E9YXx8aDt2YXIgYjtmb3IodmFyIGMgaW4gYSl7aWYoYS5oYXNPd25Qcm9wZXJ0eShjKSYmYVtjXS5zdGF0ZSE9bylyZXR1cm4hMTtiPSEwfXJldHVybiBifWZ1bmN0aW9uIHQoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09IltvYmplY3QgRnVuY3Rpb25dIn1mdW5jdGlvbiBzKGEsYil7aWYoISFhKXt0eXBlb2YgYT09Im9iamVjdCImJihhPVtdLnNsaWNlLmNhbGwoYSkpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWIuY2FsbChhLGFbY10sYyl9fWZ1bmN0aW9uIHIoYSl7dmFyIGI7aWYodHlwZW9mIGE9PSJvYmplY3QiKWZvcih2YXIgYyBpbiBhKWFbY10mJihiPXtuYW1lOmMsdXJsOmFbY119KTtlbHNlIGI9e25hbWU6cShhKSx1cmw6YX07dmFyIGQ9aFtiLm5hbWVdO2lmKGQmJmQudXJsPT09Yi51cmwpcmV0dXJuIGQ7aFtiLm5hbWVdPWI7cmV0dXJuIGJ9ZnVuY3Rpb24gcShhKXt2YXIgYj1hLnNwbGl0KCIvIiksYz1iW2IubGVuZ3RoLTFdLGQ9Yy5pbmRleE9mKCI/Iik7cmV0dXJuIGQhPS0xP2Muc3Vic3RyaW5nKDAsZCk6Y31mdW5jdGlvbiBwKGEpe2EuX2RvbmV8fChhKCksYS5fZG9uZT0xKX12YXIgYj1hLmRvY3VtZW50RWxlbWVudCxjLGQsZT1bXSxmPVtdLGc9e30saD17fSxpPWEuY3JlYXRlRWxlbWVudCgic2NyaXB0IikuYXN5bmM9PT0hMHx8Ik1vekFwcGVhcmFuY2UiaW4gYS5kb2N1bWVudEVsZW1lbnQuc3R5bGV8fHdpbmRvdy5vcGVyYSxqPXdpbmRvdy5oZWFkX2NvbmYmJmhlYWRfY29uZi5oZWFkfHwiaGVhZCIsaz13aW5kb3dbal09d2luZG93W2pdfHxmdW5jdGlvbigpe2sucmVhZHkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxsPTEsbT0yLG49MyxvPTQ7aT9rLmpzPWZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzLGI9YVthLmxlbmd0aC0xXSxjPXt9O3QoYil8fChiPW51bGwpLHMoYSxmdW5jdGlvbihkLGUpe2QhPWImJihkPXIoZCksY1tkLm5hbWVdPWQseChkLGImJmU9PWEubGVuZ3RoLTI/ZnVuY3Rpb24oKXt1KGMpJiZwKGIpfTpudWxsKSl9KTtyZXR1cm4ga306ay5qcz1mdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cyxiPVtdLnNsaWNlLmNhbGwoYSwxKSxkPWJbMF07aWYoIWMpe2YucHVzaChmdW5jdGlvbigpe2suanMuYXBwbHkobnVsbCxhKX0pO3JldHVybiBrfWQ/KHMoYixmdW5jdGlvbihhKXt0KGEpfHx3KHIoYSkpfSkseChyKGFbMF0pLHQoZCk/ZDpmdW5jdGlvbigpe2suanMuYXBwbHkobnVsbCxiKX0pKTp4KHIoYVswXSkpO3JldHVybiBrfSxrLnJlYWR5PWZ1bmN0aW9uKGIsYyl7aWYoYj09YSl7ZD9wKGMpOmUucHVzaChjKTtyZXR1cm4ga310KGIpJiYoYz1iLGI9IkFMTCIpO2lmKHR5cGVvZiBiIT0ic3RyaW5nInx8IXQoYykpcmV0dXJuIGs7dmFyIGY9aFtiXTtpZihmJiZmLnN0YXRlPT1vfHxiPT0iQUxMIiYmdSgpJiZkKXtwKGMpO3JldHVybiBrfXZhciBpPWdbYl07aT9pLnB1c2goYyk6aT1nW2JdPVtjXTtyZXR1cm4ga30say5yZWFkeShhLGZ1bmN0aW9uKCl7dSgpJiZzKGcuQUxMLGZ1bmN0aW9uKGEpe3AoYSl9KSxrLmZlYXR1cmUmJmsuZmVhdHVyZSgiZG9tbG9hZGVkIiwhMCl9KTtpZih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcilhLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHosITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix6LCExKTtlbHNlIGlmKHdpbmRvdy5hdHRhY2hFdmVudCl7YS5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbigpe2EucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSImJnooKX0pO3ZhciBBPTE7dHJ5e0E9d2luZG93LmZyYW1lRWxlbWVudH1jYXRjaChCKXt9IUEmJmIuZG9TY3JvbGwmJmZ1bmN0aW9uKCl7dHJ5e2IuZG9TY3JvbGwoImxlZnQiKSx6KCl9Y2F0Y2goYSl7c2V0VGltZW91dChhcmd1bWVudHMuY2FsbGVlLDEpO3JldHVybn19KCksd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLHopfSFhLnJlYWR5U3RhdGUmJmEuYWRkRXZlbnRMaXN0ZW5lciYmKGEucmVhZHlTdGF0ZT0ibG9hZGluZyIsYS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixoYW5kbGVyPWZ1bmN0aW9uKCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixoYW5kbGVyLCExKSxhLnJlYWR5U3RhdGU9ImNvbXBsZXRlIn0sITEpKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yz0hMCxzKGYsZnVuY3Rpb24oYSl7YSgpfSl9LDMwMCl9KShkb2N1bWVudCk="></script>
<script src="data:application/x-javascript;base64,LyohCiAqIHJldmVhbC5qcwogKiBodHRwOi8vbGFiLmhha2ltLnNlL3JldmVhbC1qcwogKiBNSVQgbGljZW5zZWQKICoKICogQ29weXJpZ2h0IChDKSAyMDE1IEhha2ltIEVsIEhhdHRhYiwgaHR0cDovL2hha2ltLnNlCiAqLwooZnVuY3Rpb24oIHJvb3QsIGZhY3RvcnkgKSB7CglpZiggdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewoJCS8vIEFNRC4gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIG1vZHVsZS4KCQlkZWZpbmUoIGZ1bmN0aW9uKCkgewoJCQlyb290LlJldmVhbCA9IGZhY3RvcnkoKTsKCQkJcmV0dXJuIHJvb3QuUmV2ZWFsOwoJCX0gKTsKCX0gZWxzZSBpZiggdHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICkgewoJCS8vIE5vZGUuIERvZXMgbm90IHdvcmsgd2l0aCBzdHJpY3QgQ29tbW9uSlMuCgkJbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7Cgl9IGVsc2UgewoJCS8vIEJyb3dzZXIgZ2xvYmFscy4KCQlyb290LlJldmVhbCA9IGZhY3RvcnkoKTsKCX0KfSggdGhpcywgZnVuY3Rpb24oKSB7CgoJJ3VzZSBzdHJpY3QnOwoKCXZhciBSZXZlYWw7CgoJdmFyIFNMSURFU19TRUxFQ1RPUiA9ICcuc2xpZGVzIHNlY3Rpb24nLAoJCUhPUklaT05UQUxfU0xJREVTX1NFTEVDVE9SID0gJy5zbGlkZXM+c2VjdGlvbicsCgkJVkVSVElDQUxfU0xJREVTX1NFTEVDVE9SID0gJy5zbGlkZXM+c2VjdGlvbi5wcmVzZW50PnNlY3Rpb24nLAoJCUhPTUVfU0xJREVfU0VMRUNUT1IgPSAnLnNsaWRlcz5zZWN0aW9uOmZpcnN0LW9mLXR5cGUnLAoKCQkvLyBDb25maWd1cmF0aW9uIGRlZmF1bHRzLCBjYW4gYmUgb3ZlcnJpZGRlbiBhdCBpbml0aWFsaXphdGlvbiB0aW1lCgkJY29uZmlnID0gewoKCQkJLy8gVGhlICJub3JtYWwiIHNpemUgb2YgdGhlIHByZXNlbnRhdGlvbiwgYXNwZWN0IHJhdGlvIHdpbGwgYmUgcHJlc2VydmVkCgkJCS8vIHdoZW4gdGhlIHByZXNlbnRhdGlvbiBpcyBzY2FsZWQgdG8gZml0IGRpZmZlcmVudCByZXNvbHV0aW9ucwoJCQl3aWR0aDogOTYwLAoJCQloZWlnaHQ6IDcwMCwKCgkJCS8vIEZhY3RvciBvZiB0aGUgZGlzcGxheSBzaXplIHRoYXQgc2hvdWxkIHJlbWFpbiBlbXB0eSBhcm91bmQgdGhlIGNvbnRlbnQKCQkJbWFyZ2luOiAwLjEsCgoJCQkvLyBCb3VuZHMgZm9yIHNtYWxsZXN0L2xhcmdlc3QgcG9zc2libGUgc2NhbGUgdG8gYXBwbHkgdG8gY29udGVudAoJCQltaW5TY2FsZTogMC4yLAoJCQltYXhTY2FsZTogMS41LAoKCQkJLy8gRGlzcGxheSBjb250cm9scyBpbiB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lcgoJCQljb250cm9sczogdHJ1ZSwKCgkJCS8vIERpc3BsYXkgYSBwcmVzZW50YXRpb24gcHJvZ3Jlc3MgYmFyCgkJCXByb2dyZXNzOiB0cnVlLAoKCQkJLy8gRGlzcGxheSB0aGUgcGFnZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgc2xpZGUKCQkJc2xpZGVOdW1iZXI6IGZhbHNlLAoKCQkJLy8gUHVzaCBlYWNoIHNsaWRlIGNoYW5nZSB0byB0aGUgYnJvd3NlciBoaXN0b3J5CgkJCWhpc3Rvcnk6IGZhbHNlLAoKCQkJLy8gRW5hYmxlIGtleWJvYXJkIHNob3J0Y3V0cyBmb3IgbmF2aWdhdGlvbgoJCQlrZXlib2FyZDogdHJ1ZSwKCgkJCS8vIE9wdGlvbmFsIGZ1bmN0aW9uIHRoYXQgYmxvY2tzIGtleWJvYXJkIGV2ZW50cyB3aGVuIHJldHVuaW5nIGZhbHNlCgkJCWtleWJvYXJkQ29uZGl0aW9uOiBudWxsLAoKCQkJLy8gRW5hYmxlIHRoZSBzbGlkZSBvdmVydmlldyBtb2RlCgkJCW92ZXJ2aWV3OiB0cnVlLAoKCQkJLy8gVmVydGljYWwgY2VudGVyaW5nIG9mIHNsaWRlcwoJCQljZW50ZXI6IHRydWUsCgoJCQkvLyBFbmFibGVzIHRvdWNoIG5hdmlnYXRpb24gb24gZGV2aWNlcyB3aXRoIHRvdWNoIGlucHV0CgkJCXRvdWNoOiB0cnVlLAoKCQkJLy8gTG9vcCB0aGUgcHJlc2VudGF0aW9uCgkJCWxvb3A6IGZhbHNlLAoKCQkJLy8gQ2hhbmdlIHRoZSBwcmVzZW50YXRpb24gZGlyZWN0aW9uIHRvIGJlIFJUTAoJCQlydGw6IGZhbHNlLAoKCQkJLy8gVHVybnMgZnJhZ21lbnRzIG9uIGFuZCBvZmYgZ2xvYmFsbHkKCQkJZnJhZ21lbnRzOiB0cnVlLAoKCQkJLy8gRmxhZ3MgaWYgdGhlIHByZXNlbnRhdGlvbiBpcyBydW5uaW5nIGluIGFuIGVtYmVkZGVkIG1vZGUsCgkJCS8vIGkuZS4gY29udGFpbmVkIHdpdGhpbiBhIGxpbWl0ZWQgcG9ydGlvbiBvZiB0aGUgc2NyZWVuCgkJCWVtYmVkZGVkOiBmYWxzZSwKCgkJCS8vIEZsYWdzIGlmIHdlIHNob3VsZCBzaG93IGEgaGVscCBvdmVybGF5IHdoZW4gdGhlIHF1ZXN0aW9ubWFyawoJCQkvLyBrZXkgaXMgcHJlc3NlZAoJCQloZWxwOiB0cnVlLAoKCQkJLy8gRmxhZ3MgaWYgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHBhdXNlIHRoZSBwcmVzZW50YXRpb24gKGJsYWNrb3V0KQoJCQlwYXVzZTogdHJ1ZSwKCgkJCS8vIEZsYWdzIGlmIHNwZWFrZXIgbm90ZXMgc2hvdWxkIGJlIHZpc2libGUgdG8gYWxsIHZpZXdlcnMKCQkJc2hvd05vdGVzOiBmYWxzZSwKCgkJCS8vIE51bWJlciBvZiBtaWxsaXNlY29uZHMgYmV0d2VlbiBhdXRvbWF0aWNhbGx5IHByb2NlZWRpbmcgdG8gdGhlCgkJCS8vIG5leHQgc2xpZGUsIGRpc2FibGVkIHdoZW4gc2V0IHRvIDAsIHRoaXMgdmFsdWUgY2FuIGJlIG92ZXJ3cml0dGVuCgkJCS8vIGJ5IHVzaW5nIGEgZGF0YS1hdXRvc2xpZGUgYXR0cmlidXRlIG9uIHlvdXIgc2xpZGVzCgkJCWF1dG9TbGlkZTogMCwKCgkJCS8vIFN0b3AgYXV0by1zbGlkaW5nIGFmdGVyIHVzZXIgaW5wdXQKCQkJYXV0b1NsaWRlU3RvcHBhYmxlOiB0cnVlLAoKCQkJLy8gRW5hYmxlIHNsaWRlIG5hdmlnYXRpb24gdmlhIG1vdXNlIHdoZWVsCgkJCW1vdXNlV2hlZWw6IGZhbHNlLAoKCQkJLy8gQXBwbHkgYSAzRCByb2xsIHRvIGxpbmtzIG9uIGhvdmVyCgkJCXJvbGxpbmdMaW5rczogZmFsc2UsCgoJCQkvLyBIaWRlcyB0aGUgYWRkcmVzcyBiYXIgb24gbW9iaWxlIGRldmljZXMKCQkJaGlkZUFkZHJlc3NCYXI6IHRydWUsCgoJCQkvLyBPcGVucyBsaW5rcyBpbiBhbiBpZnJhbWUgcHJldmlldyBvdmVybGF5CgkJCXByZXZpZXdMaW5rczogZmFsc2UsCgoJCQkvLyBFeHBvc2VzIHRoZSByZXZlYWwuanMgQVBJIHRocm91Z2ggd2luZG93LnBvc3RNZXNzYWdlCgkJCXBvc3RNZXNzYWdlOiB0cnVlLAoKCQkJLy8gRGlzcGF0Y2hlcyBhbGwgcmV2ZWFsLmpzIGV2ZW50cyB0byB0aGUgcGFyZW50IHdpbmRvdyB0aHJvdWdoIHBvc3RNZXNzYWdlCgkJCXBvc3RNZXNzYWdlRXZlbnRzOiBmYWxzZSwKCgkJCS8vIEZvY3VzZXMgYm9keSB3aGVuIHBhZ2UgY2hhbmdlcyB2aXNpYmxpdHkgdG8gZW5zdXJlIGtleWJvYXJkIHNob3J0Y3V0cyB3b3JrCgkJCWZvY3VzQm9keU9uUGFnZVZpc2liaWxpdHlDaGFuZ2U6IHRydWUsCgoJCQkvLyBUcmFuc2l0aW9uIHN0eWxlCgkJCXRyYW5zaXRpb246ICdzbGlkZScsIC8vIG5vbmUvZmFkZS9zbGlkZS9jb252ZXgvY29uY2F2ZS96b29tCgoJCQkvLyBUcmFuc2l0aW9uIHNwZWVkCgkJCXRyYW5zaXRpb25TcGVlZDogJ2RlZmF1bHQnLCAvLyBkZWZhdWx0L2Zhc3Qvc2xvdwoKCQkJLy8gVHJhbnNpdGlvbiBzdHlsZSBmb3IgZnVsbCBwYWdlIHNsaWRlIGJhY2tncm91bmRzCgkJCWJhY2tncm91bmRUcmFuc2l0aW9uOiAnZmFkZScsIC8vIG5vbmUvZmFkZS9zbGlkZS9jb252ZXgvY29uY2F2ZS96b29tCgoJCQkvLyBQYXJhbGxheCBiYWNrZ3JvdW5kIGltYWdlCgkJCXBhcmFsbGF4QmFja2dyb3VuZEltYWdlOiAnJywgLy8gQ1NTIHN5bnRheCwgZS5nLiAiYS5qcGciCgoJCQkvLyBQYXJhbGxheCBiYWNrZ3JvdW5kIHNpemUKCQkJcGFyYWxsYXhCYWNrZ3JvdW5kU2l6ZTogJycsIC8vIENTUyBzeW50YXgsIGUuZy4gIjMwMDBweCAyMDAwcHgiCgoJCQkvLyBBbW91bnQgb2YgcGl4ZWxzIHRvIG1vdmUgdGhlIHBhcmFsbGF4IGJhY2tncm91bmQgcGVyIHNsaWRlIHN0ZXAKCQkJcGFyYWxsYXhCYWNrZ3JvdW5kSG9yaXpvbnRhbDogbnVsbCwKCQkJcGFyYWxsYXhCYWNrZ3JvdW5kVmVydGljYWw6IG51bGwsCgoJCQkvLyBOdW1iZXIgb2Ygc2xpZGVzIGF3YXkgZnJvbSB0aGUgY3VycmVudCB0aGF0IGFyZSB2aXNpYmxlCgkJCXZpZXdEaXN0YW5jZTogMywKCgkJCS8vIFNjcmlwdCBkZXBlbmRlbmNpZXMgdG8gbG9hZAoJCQlkZXBlbmRlbmNpZXM6IFtdCgoJCX0sCgoJCS8vIEZsYWdzIGlmIHJldmVhbC5qcyBpcyBsb2FkZWQgKGhhcyBkaXNwYXRjaGVkIHRoZSAncmVhZHknIGV2ZW50KQoJCWxvYWRlZCA9IGZhbHNlLAoKCQkvLyBGbGFncyBpZiB0aGUgb3ZlcnZpZXcgbW9kZSBpcyBjdXJyZW50bHkgYWN0aXZlCgkJb3ZlcnZpZXcgPSBmYWxzZSwKCgkJLy8gVGhlIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIGluZGV4IG9mIHRoZSBjdXJyZW50bHkgYWN0aXZlIHNsaWRlCgkJaW5kZXhoLAoJCWluZGV4diwKCgkJLy8gVGhlIHByZXZpb3VzIGFuZCBjdXJyZW50IHNsaWRlIEhUTUwgZWxlbWVudHMKCQlwcmV2aW91c1NsaWRlLAoJCWN1cnJlbnRTbGlkZSwKCgkJcHJldmlvdXNCYWNrZ3JvdW5kLAoKCQkvLyBTbGlkZXMgbWF5IGhvbGQgYSBkYXRhLXN0YXRlIGF0dHJpYnV0ZSB3aGljaCB3ZSBwaWNrIHVwIGFuZCBhcHBseQoJCS8vIGFzIGEgY2xhc3MgdG8gdGhlIGJvZHkuIFRoaXMgbGlzdCBjb250YWlucyB0aGUgY29tYmluZWQgc3RhdGUgb2YKCQkvLyBhbGwgY3VycmVudCBzbGlkZXMuCgkJc3RhdGUgPSBbXSwKCgkJLy8gVGhlIGN1cnJlbnQgc2NhbGUgb2YgdGhlIHByZXNlbnRhdGlvbiAoc2VlIHdpZHRoL2hlaWdodCBjb25maWcpCgkJc2NhbGUgPSAxLAoKCQkvLyBDU1MgdHJhbnNmb3JtIHRoYXQgaXMgY3VycmVudGx5IGFwcGxpZWQgdG8gdGhlIHNsaWRlcyBjb250YWluZXIsCgkJLy8gc3BsaXQgaW50byB0d28gZ3JvdXBzCgkJc2xpZGVzVHJhbnNmb3JtID0geyBsYXlvdXQ6ICcnLCBvdmVydmlldzogJycgfSwKCgkJLy8gQ2FjaGVkIHJlZmVyZW5jZXMgdG8gRE9NIGVsZW1lbnRzCgkJZG9tID0ge30sCgoJCS8vIEZlYXR1cmVzIHN1cHBvcnRlZCBieSB0aGUgYnJvd3Nlciwgc2VlICNjaGVja0NhcGFiaWxpdGllcygpCgkJZmVhdHVyZXMgPSB7fSwKCgkJLy8gQ2xpZW50IGlzIGEgbW9iaWxlIGRldmljZSwgc2VlICNjaGVja0NhcGFiaWxpdGllcygpCgkJaXNNb2JpbGVEZXZpY2UsCgoJCS8vIFRocm90dGxlcyBtb3VzZSB3aGVlbCBuYXZpZ2F0aW9uCgkJbGFzdE1vdXNlV2hlZWxTdGVwID0gMCwKCgkJLy8gRGVsYXlzIHVwZGF0ZXMgdG8gdGhlIFVSTCBkdWUgdG8gYSBDaHJvbWUgdGh1bWJuYWlsZXIgYnVnCgkJd3JpdGVVUkxUaW1lb3V0ID0gMCwKCgkJLy8gRmxhZ3MgaWYgdGhlIGludGVyYWN0aW9uIGV2ZW50IGxpc3RlbmVycyBhcmUgYm91bmQKCQlldmVudHNBcmVCb3VuZCA9IGZhbHNlLAoKCQkvLyBUaGUgY3VycmVudCBhdXRvLXNsaWRlIGR1cmF0aW9uCgkJYXV0b1NsaWRlID0gMCwKCgkJLy8gQXV0byBzbGlkZSBwcm9wZXJ0aWVzCgkJYXV0b1NsaWRlUGxheWVyLAoJCWF1dG9TbGlkZVRpbWVvdXQgPSAwLAoJCWF1dG9TbGlkZVN0YXJ0VGltZSA9IC0xLAoJCWF1dG9TbGlkZVBhdXNlZCA9IGZhbHNlLAoKCQkvLyBIb2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudGx5IG9uZ29pbmcgdG91Y2ggaW5wdXQKCQl0b3VjaCA9IHsKCQkJc3RhcnRYOiAwLAoJCQlzdGFydFk6IDAsCgkJCXN0YXJ0U3BhbjogMCwKCQkJc3RhcnRDb3VudDogMCwKCQkJY2FwdHVyZWQ6IGZhbHNlLAoJCQl0aHJlc2hvbGQ6IDQwCgkJfSwKCgkJLy8gSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGtleWJvYXJkIHNob3J0Y3V0cwoJCWtleWJvYXJkU2hvcnRjdXRzID0gewoJCQknTiAgLCAgU1BBQ0UnOgkJCSdOZXh0IHNsaWRlJywKCQkJJ1AnOgkJCQkJJ1ByZXZpb3VzIHNsaWRlJywKCQkJJyYjODU5MjsgICwgIEgnOgkJJ05hdmlnYXRlIGxlZnQnLAoJCQknJiM4NTk0OyAgLCAgTCc6CQknTmF2aWdhdGUgcmlnaHQnLAoJCQknJiM4NTkzOyAgLCAgSyc6CQknTmF2aWdhdGUgdXAnLAoJCQknJiM4NTk1OyAgLCAgSic6CQknTmF2aWdhdGUgZG93bicsCgkJCSdIb21lJzoJCQkJCSdGaXJzdCBzbGlkZScsCgkJCSdFbmQnOgkJCQkJJ0xhc3Qgc2xpZGUnLAoJCQknQiAgLCAgLic6CQkJCSdQYXVzZScsCgkJCSdGJzoJCQkJCSdGdWxsc2NyZWVuJywKCQkJJ0VTQywgTyc6CQkJCSdTbGlkZSBvdmVydmlldycKCQl9OwoKCS8qKgoJICogU3RhcnRzIHVwIHRoZSBwcmVzZW50YXRpb24gaWYgdGhlIGNsaWVudCBpcyBjYXBhYmxlLgoJICovCglmdW5jdGlvbiBpbml0aWFsaXplKCBvcHRpb25zICkgewoKCQljaGVja0NhcGFiaWxpdGllcygpOwoKCQlpZiggIWZlYXR1cmVzLnRyYW5zZm9ybXMyZCAmJiAhZmVhdHVyZXMudHJhbnNmb3JtczNkICkgewoJCQlkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSggJ2NsYXNzJywgJ25vLXRyYW5zZm9ybXMnICk7CgoJCQkvLyBTaW5jZSBKUyB3b24ndCBiZSBydW5uaW5nIGFueSBmdXJ0aGVyLCB3ZSBsb2FkIGFsbCBsYXp5CgkJCS8vIGxvYWRpbmcgZWxlbWVudHMgdXBmcm9udAoJCQl2YXIgaW1hZ2VzID0gdG9BcnJheSggZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoICdpbWcnICkgKSwKCQkJCWlmcmFtZXMgPSB0b0FycmF5KCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ2lmcmFtZScgKSApOwoKCQkJdmFyIGxhenlMb2FkYWJsZSA9IGltYWdlcy5jb25jYXQoIGlmcmFtZXMgKTsKCgkJCWZvciggdmFyIGkgPSAwLCBsZW4gPSBsYXp5TG9hZGFibGUubGVuZ3RoOyBpIDwgbGVuOyBpKysgKSB7CgkJCQl2YXIgZWxlbWVudCA9IGxhenlMb2FkYWJsZVtpXTsKCQkJCWlmKCBlbGVtZW50LmdldEF0dHJpYnV0ZSggJ2RhdGEtc3JjJyApICkgewoJCQkJCWVsZW1lbnQuc2V0QXR0cmlidXRlKCAnc3JjJywgZWxlbWVudC5nZXRBdHRyaWJ1dGUoICdkYXRhLXNyYycgKSApOwoJCQkJCWVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCAnZGF0YS1zcmMnICk7CgkJCQl9CgkJCX0KCgkJCS8vIElmIHRoZSBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBjb3JlIGZlYXR1cmVzIHdlIHdvbid0IGJlCgkJCS8vIHVzaW5nIEphdmFTY3JpcHQgdG8gY29udHJvbCB0aGUgcHJlc2VudGF0aW9uCgkJCXJldHVybjsKCQl9CgoJCS8vIENhY2hlIHJlZmVyZW5jZXMgdG8ga2V5IERPTSBlbGVtZW50cwoJCWRvbS53cmFwcGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggJy5yZXZlYWwnICk7CgkJZG9tLnNsaWRlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoICcucmV2ZWFsIC5zbGlkZXMnICk7CgoJCS8vIEZvcmNlIGEgbGF5b3V0IHdoZW4gdGhlIHdob2xlIHBhZ2UsIGluY2wgZm9udHMsIGhhcyBsb2FkZWQKCQl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCBsYXlvdXQsIGZhbHNlICk7CgoJCXZhciBxdWVyeSA9IFJldmVhbC5nZXRRdWVyeUhhc2goKTsKCgkJLy8gRG8gbm90IGFjY2VwdCBuZXcgZGVwZW5kZW5jaWVzIHZpYSBxdWVyeSBjb25maWcgdG8gYXZvaWQKCQkvLyB0aGUgcG90ZW50aWFsIG9mIG1hbGljaW91cyBzY3JpcHQgaW5qZWN0aW9uCgkJaWYoIHR5cGVvZiBxdWVyeVsnZGVwZW5kZW5jaWVzJ10gIT09ICd1bmRlZmluZWQnICkgZGVsZXRlIHF1ZXJ5WydkZXBlbmRlbmNpZXMnXTsKCgkJLy8gQ29weSBvcHRpb25zIG92ZXIgdG8gb3VyIGNvbmZpZyBvYmplY3QKCQlleHRlbmQoIGNvbmZpZywgb3B0aW9ucyApOwoJCWV4dGVuZCggY29uZmlnLCBxdWVyeSApOwoKCQkvLyBIaWRlIHRoZSBhZGRyZXNzIGJhciBpbiBtb2JpbGUgYnJvd3NlcnMKCQloaWRlQWRkcmVzc0JhcigpOwoKCQkvLyBMb2FkcyB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb250aW51ZXMgdG8gI3N0YXJ0KCkgb25jZSBkb25lCgkJbG9hZCgpOwoKCX0KCgkvKioKCSAqIEluc3BlY3QgdGhlIGNsaWVudCB0byBzZWUgd2hhdCBpdCdzIGNhcGFibGUgb2YsIHRoaXMKCSAqIHNob3VsZCBvbmx5IGhhcHBlbnMgb25jZSBwZXIgcnVudGltZS4KCSAqLwoJZnVuY3Rpb24gY2hlY2tDYXBhYmlsaXRpZXMoKSB7CgoJCWZlYXR1cmVzLnRyYW5zZm9ybXMzZCA9ICdXZWJraXRQZXJzcGVjdGl2ZScgaW4gZG9jdW1lbnQuYm9keS5zdHlsZSB8fAoJCQkJCQkJCSdNb3pQZXJzcGVjdGl2ZScgaW4gZG9jdW1lbnQuYm9keS5zdHlsZSB8fAoJCQkJCQkJCSdtc1BlcnNwZWN0aXZlJyBpbiBkb2N1bWVudC5ib2R5LnN0eWxlIHx8CgkJCQkJCQkJJ09QZXJzcGVjdGl2ZScgaW4gZG9jdW1lbnQuYm9keS5zdHlsZSB8fAoJCQkJCQkJCSdwZXJzcGVjdGl2ZScgaW4gZG9jdW1lbnQuYm9keS5zdHlsZTsKCgkJZmVhdHVyZXMudHJhbnNmb3JtczJkID0gJ1dlYmtpdFRyYW5zZm9ybScgaW4gZG9jdW1lbnQuYm9keS5zdHlsZSB8fAoJCQkJCQkJCSdNb3pUcmFuc2Zvcm0nIGluIGRvY3VtZW50LmJvZHkuc3R5bGUgfHwKCQkJCQkJCQknbXNUcmFuc2Zvcm0nIGluIGRvY3VtZW50LmJvZHkuc3R5bGUgfHwKCQkJCQkJCQknT1RyYW5zZm9ybScgaW4gZG9jdW1lbnQuYm9keS5zdHlsZSB8fAoJCQkJCQkJCSd0cmFuc2Zvcm0nIGluIGRvY3VtZW50LmJvZHkuc3R5bGU7CgoJCWZlYXR1cmVzLnJlcXVlc3RBbmltYXRpb25GcmFtZU1ldGhvZCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSB8fCB3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lOwoJCWZlYXR1cmVzLnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHR5cGVvZiBmZWF0dXJlcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVNZXRob2QgPT09ICdmdW5jdGlvbic7CgoJCWZlYXR1cmVzLmNhbnZhcyA9ICEhZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2NhbnZhcycgKS5nZXRDb250ZXh0OwoKCQlmZWF0dXJlcy50b3VjaCA9ICEhKCAnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cgKTsKCgkJLy8gVHJhbnNpdGlvbnMgaW4gdGhlIG92ZXJ2aWV3IGFyZSBkaXNhYmxlZCBpbiBkZXNrdG9wIGFuZAoJCS8vIG1vYmlsZSBTYWZhcmkgZHVlIHRvIGxhZwoJCWZlYXR1cmVzLm92ZXJ2aWV3VHJhbnNpdGlvbnMgPSAhL1ZlcnNpb25cL1tcZFwuXSsuKlNhZmFyaS8udGVzdCggbmF2aWdhdG9yLnVzZXJBZ2VudCApOwoKCQlpc01vYmlsZURldmljZSA9IC8oaXBob25lfGlwb2R8aXBhZHxhbmRyb2lkKS9naS50ZXN0KCBuYXZpZ2F0b3IudXNlckFnZW50ICk7CgoJfQoKICAgIC8qKgogICAgICogTG9hZHMgdGhlIGRlcGVuZGVuY2llcyBvZiByZXZlYWwuanMuIERlcGVuZGVuY2llcyBhcmUKICAgICAqIGRlZmluZWQgdmlhIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiAnZGVwZW5kZW5jaWVzJwogICAgICogYW5kIHdpbGwgYmUgbG9hZGVkIHByaW9yIHRvIHN0YXJ0aW5nL2JpbmRpbmcgcmV2ZWFsLmpzLgogICAgICogU29tZSBkZXBlbmRlbmNpZXMgbWF5IGhhdmUgYW4gJ2FzeW5jJyBmbGFnLCBpZiBzbyB0aGV5CiAgICAgKiB3aWxsIGxvYWQgYWZ0ZXIgcmV2ZWFsLmpzIGhhcyBiZWVuIHN0YXJ0ZWQgdXAuCiAgICAgKi8KCWZ1bmN0aW9uIGxvYWQoKSB7CgoJCXZhciBzY3JpcHRzID0gW10sCgkJCXNjcmlwdHNBc3luYyA9IFtdLAoJCQlzY3JpcHRzVG9QcmVsb2FkID0gMDsKCgkJLy8gQ2FsbGVkIG9uY2Ugc3luY2hyb25vdXMgc2NyaXB0cyBmaW5pc2ggbG9hZGluZwoJCWZ1bmN0aW9uIHByb2NlZWQoKSB7CgkJCWlmKCBzY3JpcHRzQXN5bmMubGVuZ3RoICkgewoJCQkJLy8gTG9hZCBhc3luY2hyb25vdXMgc2NyaXB0cwoJCQkJaGVhZC5qcy5hcHBseSggbnVsbCwgc2NyaXB0c0FzeW5jICk7CgkJCX0KCgkJCXN0YXJ0KCk7CgkJfQoKCQlmdW5jdGlvbiBsb2FkU2NyaXB0KCBzICkgewoJCQloZWFkLnJlYWR5KCBzLnNyYy5tYXRjaCggLyhbXHdcZF9cLV0qKVwuP2pzJHxbXlxcXC9dKiQvaSApWzBdLCBmdW5jdGlvbigpIHsKCQkJCS8vIEV4dGVuc2lvbiBtYXkgY29udGFpbiBjYWxsYmFjayBmdW5jdGlvbnMKCQkJCWlmKCB0eXBlb2Ygcy5jYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyApIHsKCQkJCQlzLmNhbGxiYWNrLmFwcGx5KCB0aGlzICk7CgkJCQl9CgoJCQkJaWYoIC0tc2NyaXB0c1RvUHJlbG9hZCA9PT0gMCApIHsKCQkJCQlwcm9jZWVkKCk7CgkJCQl9CgkJCX0pOwoJCX0KCgkJZm9yKCB2YXIgaSA9IDAsIGxlbiA9IGNvbmZpZy5kZXBlbmRlbmNpZXMubGVuZ3RoOyBpIDwgbGVuOyBpKysgKSB7CgkJCXZhciBzID0gY29uZmlnLmRlcGVuZGVuY2llc1tpXTsKCgkJCS8vIExvYWQgaWYgdGhlcmUncyBubyBjb25kaXRpb24gb3IgdGhlIGNvbmRpdGlvbiBpcyB0cnV0aHkKCQkJaWYoICFzLmNvbmRpdGlvbiB8fCBzLmNvbmRpdGlvbigpICkgewoJCQkJaWYoIHMuYXN5bmMgKSB7CgkJCQkJc2NyaXB0c0FzeW5jLnB1c2goIHMuc3JjICk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlzY3JpcHRzLnB1c2goIHMuc3JjICk7CgkJCQl9CgoJCQkJbG9hZFNjcmlwdCggcyApOwoJCQl9CgkJfQoKCQlpZiggc2NyaXB0cy5sZW5ndGggKSB7CgkJCXNjcmlwdHNUb1ByZWxvYWQgPSBzY3JpcHRzLmxlbmd0aDsKCgkJCS8vIExvYWQgc3luY2hyb25vdXMgc2NyaXB0cwoJCQloZWFkLmpzLmFwcGx5KCBudWxsLCBzY3JpcHRzICk7CgkJfQoJCWVsc2UgewoJCQlwcm9jZWVkKCk7CgkJfQoKCX0KCgkvKioKCSAqIFN0YXJ0cyB1cCByZXZlYWwuanMgYnkgYmluZGluZyBpbnB1dCBldmVudHMgYW5kIG5hdmlnYXRpbmcKCSAqIHRvIHRoZSBjdXJyZW50IFVSTCBkZWVwbGluayBpZiB0aGVyZSBpcyBvbmUuCgkgKi8KCWZ1bmN0aW9uIHN0YXJ0KCkgewoKCQkvLyBNYWtlIHN1cmUgd2UndmUgZ290IGFsbCB0aGUgRE9NIGVsZW1lbnRzIHdlIG5lZWQKCQlzZXR1cERPTSgpOwoKCQkvLyBMaXN0ZW4gdG8gbWVzc2FnZXMgcG9zdGVkIHRvIHRoaXMgd2luZG93CgkJc2V0dXBQb3N0TWVzc2FnZSgpOwoKCQkvLyBQcmV2ZW50IGlmcmFtZXMgZnJvbSBzY3JvbGxpbmcgdGhlIHNsaWRlcyBvdXQgb2YgdmlldwoJCXNldHVwSWZyYW1lU2Nyb2xsUHJldmVudGlvbigpOwoKCQkvLyBSZXNldHMgYWxsIHZlcnRpY2FsIHNsaWRlcyBzbyB0aGF0IG9ubHkgdGhlIGZpcnN0IGlzIHZpc2libGUKCQlyZXNldFZlcnRpY2FsU2xpZGVzKCk7CgoJCS8vIFVwZGF0ZXMgdGhlIHByZXNlbnRhdGlvbiB0byBtYXRjaCB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHZhbHVlcwoJCWNvbmZpZ3VyZSgpOwoKCQkvLyBSZWFkIHRoZSBpbml0aWFsIGhhc2gKCQlyZWFkVVJMKCk7CgoJCS8vIFVwZGF0ZSBhbGwgYmFja2dyb3VuZHMKCQl1cGRhdGVCYWNrZ3JvdW5kKCB0cnVlICk7CgoJCS8vIE5vdGlmeSBsaXN0ZW5lcnMgdGhhdCB0aGUgcHJlc2VudGF0aW9uIGlzIHJlYWR5IGJ1dCB1c2UgYSAxbXMKCQkvLyB0aW1lb3V0IHRvIGVuc3VyZSBpdCdzIG5vdCBmaXJlZCBzeW5jaHJvbm91c2x5IGFmdGVyICNpbml0aWFsaXplKCkKCQlzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsKCQkJLy8gRW5hYmxlIHRyYW5zaXRpb25zIG5vdyB0aGF0IHdlJ3JlIGxvYWRlZAoJCQlkb20uc2xpZGVzLmNsYXNzTGlzdC5yZW1vdmUoICduby10cmFuc2l0aW9uJyApOwoKCQkJbG9hZGVkID0gdHJ1ZTsKCgkJCWRpc3BhdGNoRXZlbnQoICdyZWFkeScsIHsKCQkJCSdpbmRleGgnOiBpbmRleGgsCgkJCQknaW5kZXh2JzogaW5kZXh2LAoJCQkJJ2N1cnJlbnRTbGlkZSc6IGN1cnJlbnRTbGlkZQoJCQl9ICk7CgkJfSwgMSApOwoKCQkvLyBTcGVjaWFsIHNldHVwIGFuZCBjb25maWcgaXMgcmVxdWlyZWQgd2hlbiBwcmludGluZyB0byBQREYKCQlpZiggaXNQcmludGluZ1BERigpICkgewoJCQlyZW1vdmVFdmVudExpc3RlbmVycygpOwoKCQkJLy8gVGhlIGRvY3VtZW50IG5lZWRzIHRvIGhhdmUgbG9hZGVkIGZvciB0aGUgUERGIGxheW91dAoJCQkvLyBtZWFzdXJlbWVudHMgdG8gYmUgYWNjdXJhdGUKCQkJaWYoIGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScgKSB7CgkJCQlzZXR1cFBERigpOwoJCQl9CgkJCWVsc2UgewoJCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICdsb2FkJywgc2V0dXBQREYgKTsKCQkJfQoJCX0KCgl9CgoJLyoqCgkgKiBGaW5kcyBhbmQgc3RvcmVzIHJlZmVyZW5jZXMgdG8gRE9NIGVsZW1lbnRzIHdoaWNoIGFyZQoJICogcmVxdWlyZWQgYnkgdGhlIHByZXNlbnRhdGlvbi4gSWYgYSByZXF1aXJlZCBlbGVtZW50IGlzCgkgKiBub3QgZm91bmQsIGl0IGlzIGNyZWF0ZWQuCgkgKi8KCWZ1bmN0aW9uIHNldHVwRE9NKCkgewoKCQkvLyBQcmV2ZW50IHRyYW5zaXRpb25zIHdoaWxlIHdlJ3JlIGxvYWRpbmcKCQlkb20uc2xpZGVzLmNsYXNzTGlzdC5hZGQoICduby10cmFuc2l0aW9uJyApOwoKCQkvLyBCYWNrZ3JvdW5kIGVsZW1lbnQKCQlkb20uYmFja2dyb3VuZCA9IGNyZWF0ZVNpbmdsZXRvbk5vZGUoIGRvbS53cmFwcGVyLCAnZGl2JywgJ2JhY2tncm91bmRzJywgbnVsbCApOwoKCQkvLyBQcm9ncmVzcyBiYXIKCQlkb20ucHJvZ3Jlc3MgPSBjcmVhdGVTaW5nbGV0b25Ob2RlKCBkb20ud3JhcHBlciwgJ2RpdicsICdwcm9ncmVzcycsICc8c3Bhbj48L3NwYW4+JyApOwoJCWRvbS5wcm9ncmVzc2JhciA9IGRvbS5wcm9ncmVzcy5xdWVyeVNlbGVjdG9yKCAnc3BhbicgKTsKCgkJLy8gQXJyb3cgY29udHJvbHMKCQljcmVhdGVTaW5nbGV0b25Ob2RlKCBkb20ud3JhcHBlciwgJ2FzaWRlJywgJ2NvbnRyb2xzJywKCQkJJzxidXR0b24gY2xhc3M9Im5hdmlnYXRlLWxlZnQiIGFyaWEtbGFiZWw9InByZXZpb3VzIHNsaWRlIj48L2J1dHRvbj4nICsKCQkJJzxidXR0b24gY2xhc3M9Im5hdmlnYXRlLXJpZ2h0IiBhcmlhLWxhYmVsPSJuZXh0IHNsaWRlIj48L2J1dHRvbj4nICsKCQkJJzxidXR0b24gY2xhc3M9Im5hdmlnYXRlLXVwIiBhcmlhLWxhYmVsPSJhYm92ZSBzbGlkZSI+PC9idXR0b24+JyArCgkJCSc8YnV0dG9uIGNsYXNzPSJuYXZpZ2F0ZS1kb3duIiBhcmlhLWxhYmVsPSJiZWxvdyBzbGlkZSI+PC9idXR0b24+JyApOwoKCQkvLyBTbGlkZSBudW1iZXIKCQlkb20uc2xpZGVOdW1iZXIgPSBjcmVhdGVTaW5nbGV0b25Ob2RlKCBkb20ud3JhcHBlciwgJ2RpdicsICdzbGlkZS1udW1iZXInLCAnJyApOwoKCQkvLyBFbGVtZW50IGNvbnRhaW5pbmcgbm90ZXMgdGhhdCBhcmUgdmlzaWJsZSB0byB0aGUgYXVkaWVuY2UKCQlkb20uc3BlYWtlck5vdGVzID0gY3JlYXRlU2luZ2xldG9uTm9kZSggZG9tLndyYXBwZXIsICdkaXYnLCAnc3BlYWtlci1ub3RlcycsIG51bGwgKTsKCQlkb20uc3BlYWtlck5vdGVzLnNldEF0dHJpYnV0ZSggJ2RhdGEtcHJldmVudC1zd2lwZScsICcnICk7CgoJCS8vIE92ZXJsYXkgZ3JhcGhpYyB3aGljaCBpcyBkaXNwbGF5ZWQgZHVyaW5nIHRoZSBwYXVzZWQgbW9kZQoJCWNyZWF0ZVNpbmdsZXRvbk5vZGUoIGRvbS53cmFwcGVyLCAnZGl2JywgJ3BhdXNlLW92ZXJsYXknLCBudWxsICk7CgoJCS8vIENhY2hlIHJlZmVyZW5jZXMgdG8gZWxlbWVudHMKCQlkb20uY29udHJvbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCAnLnJldmVhbCAuY29udHJvbHMnICk7CgkJZG9tLnRoZW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggJyN0aGVtZScgKTsKCgkJZG9tLndyYXBwZXIuc2V0QXR0cmlidXRlKCAncm9sZScsICdhcHBsaWNhdGlvbicgKTsKCgkJLy8gVGhlcmUgY2FuIGJlIG11bHRpcGxlIGluc3RhbmNlcyBvZiBjb250cm9scyB0aHJvdWdob3V0IHRoZSBwYWdlCgkJZG9tLmNvbnRyb2xzTGVmdCA9IHRvQXJyYXkoIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoICcubmF2aWdhdGUtbGVmdCcgKSApOwoJCWRvbS5jb250cm9sc1JpZ2h0ID0gdG9BcnJheSggZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCggJy5uYXZpZ2F0ZS1yaWdodCcgKSApOwoJCWRvbS5jb250cm9sc1VwID0gdG9BcnJheSggZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCggJy5uYXZpZ2F0ZS11cCcgKSApOwoJCWRvbS5jb250cm9sc0Rvd24gPSB0b0FycmF5KCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCAnLm5hdmlnYXRlLWRvd24nICkgKTsKCQlkb20uY29udHJvbHNQcmV2ID0gdG9BcnJheSggZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCggJy5uYXZpZ2F0ZS1wcmV2JyApICk7CgkJZG9tLmNvbnRyb2xzTmV4dCA9IHRvQXJyYXkoIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoICcubmF2aWdhdGUtbmV4dCcgKSApOwoKCQlkb20uc3RhdHVzRGl2ID0gY3JlYXRlU3RhdHVzRGl2KCk7Cgl9CgoJLyoqCgkgKiBDcmVhdGVzIGEgaGlkZGVuIGRpdiB3aXRoIHJvbGUgYXJpYS1saXZlIHRvIGFubm91bmNlIHRoZQoJICogY3VycmVudCBzbGlkZSBjb250ZW50LiBIaWRlIHRoZSBkaXYgb2ZmLXNjcmVlbiB0byBtYWtlIGl0CgkgKiBhdmFpbGFibGUgb25seSB0byBBc3Npc3RpdmUgVGVjaG5vbG9naWVzLgoJICovCglmdW5jdGlvbiBjcmVhdGVTdGF0dXNEaXYoKSB7CgoJCXZhciBzdGF0dXNEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggJ2FyaWEtc3RhdHVzLWRpdicgKTsKCQlpZiggIXN0YXR1c0RpdiApIHsKCQkJc3RhdHVzRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2RpdicgKTsKCQkJc3RhdHVzRGl2LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKCQkJc3RhdHVzRGl2LnN0eWxlLmhlaWdodCA9ICcxcHgnOwoJCQlzdGF0dXNEaXYuc3R5bGUud2lkdGggPSAnMXB4JzsKCQkJc3RhdHVzRGl2LnN0eWxlLm92ZXJmbG93ID0naGlkZGVuJzsKCQkJc3RhdHVzRGl2LnN0eWxlLmNsaXAgPSAncmVjdCggMXB4LCAxcHgsIDFweCwgMXB4ICknOwoJCQlzdGF0dXNEaXYuc2V0QXR0cmlidXRlKCAnaWQnLCAnYXJpYS1zdGF0dXMtZGl2JyApOwoJCQlzdGF0dXNEaXYuc2V0QXR0cmlidXRlKCAnYXJpYS1saXZlJywgJ3BvbGl0ZScgKTsKCQkJc3RhdHVzRGl2LnNldEF0dHJpYnV0ZSggJ2FyaWEtYXRvbWljJywndHJ1ZScgKTsKCQkJZG9tLndyYXBwZXIuYXBwZW5kQ2hpbGQoIHN0YXR1c0RpdiApOwoJCX0KCQlyZXR1cm4gc3RhdHVzRGl2OwoKCX0KCgkvKioKCSAqIENvbmZpZ3VyZXMgdGhlIHByZXNlbnRhdGlvbiBmb3IgcHJpbnRpbmcgdG8gYSBzdGF0aWMKCSAqIFBERi4KCSAqLwoJZnVuY3Rpb24gc2V0dXBQREYoKSB7CgoJCXZhciBzbGlkZVNpemUgPSBnZXRDb21wdXRlZFNsaWRlU2l6ZSggd2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodCApOwoKCQkvLyBEaW1lbnNpb25zIG9mIHRoZSBQREYgcGFnZXMKCQl2YXIgcGFnZVdpZHRoID0gTWF0aC5mbG9vciggc2xpZGVTaXplLndpZHRoICogKCAxICsgY29uZmlnLm1hcmdpbiApICksCgkJCXBhZ2VIZWlnaHQgPSBNYXRoLmZsb29yKCBzbGlkZVNpemUuaGVpZ2h0ICogKCAxICsgY29uZmlnLm1hcmdpbiAgKSApOwoKCQkvLyBEaW1lbnNpb25zIG9mIHNsaWRlcyB3aXRoaW4gdGhlIHBhZ2VzCgkJdmFyIHNsaWRlV2lkdGggPSBzbGlkZVNpemUud2lkdGgsCgkJCXNsaWRlSGVpZ2h0ID0gc2xpZGVTaXplLmhlaWdodDsKCgkJLy8gTGV0IHRoZSBicm93c2VyIGtub3cgd2hhdCBwYWdlIHNpemUgd2Ugd2FudCB0byBwcmludAoJCWluamVjdFN0eWxlU2hlZXQoICdAcGFnZXtzaXplOicrIHBhZ2VXaWR0aCArJ3B4ICcrIHBhZ2VIZWlnaHQgKydweDsgbWFyZ2luOiAwO30nICk7CgoJCS8vIExpbWl0IHRoZSBzaXplIG9mIGNlcnRhaW4gZWxlbWVudHMgdG8gdGhlIGRpbWVuc2lvbnMgb2YgdGhlIHNsaWRlCgkJaW5qZWN0U3R5bGVTaGVldCggJy5yZXZlYWwgc2VjdGlvbj5pbWcsIC5yZXZlYWwgc2VjdGlvbj52aWRlbywgLnJldmVhbCBzZWN0aW9uPmlmcmFtZXttYXgtd2lkdGg6ICcrIHNsaWRlV2lkdGggKydweDsgbWF4LWhlaWdodDonKyBzbGlkZUhlaWdodCArJ3B4fScgKTsKCgkJZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCAncHJpbnQtcGRmJyApOwoJCWRvY3VtZW50LmJvZHkuc3R5bGUud2lkdGggPSBwYWdlV2lkdGggKyAncHgnOwoJCWRvY3VtZW50LmJvZHkuc3R5bGUuaGVpZ2h0ID0gcGFnZUhlaWdodCArICdweCc7CgoJCS8vIEFkZCBlYWNoIHNsaWRlJ3MgaW5kZXggYXMgYXR0cmlidXRlcyBvbiBpdHNlbGYsIHdlIG5lZWQgdGhlc2UKCQkvLyBpbmRpY2VzIHRvIGdlbmVyYXRlIHNsaWRlIG51bWJlcnMgYmVsb3cKCQl0b0FycmF5KCBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBIT1JJWk9OVEFMX1NMSURFU19TRUxFQ1RPUiApICkuZm9yRWFjaCggZnVuY3Rpb24oIGhzbGlkZSwgaCApIHsKCQkJaHNsaWRlLnNldEF0dHJpYnV0ZSggJ2RhdGEtaW5kZXgtaCcsIGggKTsKCgkJCWlmKCBoc2xpZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCAnc3RhY2snICkgKSB7CgkJCQl0b0FycmF5KCBoc2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ3NlY3Rpb24nICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggdnNsaWRlLCB2ICkgewoJCQkJCXZzbGlkZS5zZXRBdHRyaWJ1dGUoICdkYXRhLWluZGV4LWgnLCBoICk7CgkJCQkJdnNsaWRlLnNldEF0dHJpYnV0ZSggJ2RhdGEtaW5kZXgtdicsIHYgKTsKCQkJCX0gKTsKCQkJfQoJCX0gKTsKCgkJLy8gU2xpZGUgYW5kIHNsaWRlIGJhY2tncm91bmQgbGF5b3V0CgkJdG9BcnJheSggZG9tLndyYXBwZXIucXVlcnlTZWxlY3RvckFsbCggU0xJREVTX1NFTEVDVE9SICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggc2xpZGUgKSB7CgoJCQkvLyBWZXJ0aWNhbCBzdGFja3MgYXJlIG5vdCBjZW50cmVkIHNpbmNlIHRoZWlyIHNlY3Rpb24KCQkJLy8gY2hpbGRyZW4gd2lsbCBiZQoJCQlpZiggc2xpZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCAnc3RhY2snICkgPT09IGZhbHNlICkgewoJCQkJLy8gQ2VudGVyIHRoZSBzbGlkZSBpbnNpZGUgb2YgdGhlIHBhZ2UsIGdpdmluZyB0aGUgc2xpZGUgc29tZSBtYXJnaW4KCQkJCXZhciBsZWZ0ID0gKCBwYWdlV2lkdGggLSBzbGlkZVdpZHRoICkgLyAyLAoJCQkJCXRvcCA9ICggcGFnZUhlaWdodCAtIHNsaWRlSGVpZ2h0ICkgLyAyOwoKCQkJCXZhciBjb250ZW50SGVpZ2h0ID0gZ2V0QWJzb2x1dGVIZWlnaHQoIHNsaWRlICk7CgkJCQl2YXIgbnVtYmVyT2ZQYWdlcyA9IE1hdGgubWF4KCBNYXRoLmNlaWwoIGNvbnRlbnRIZWlnaHQgLyBwYWdlSGVpZ2h0ICksIDEgKTsKCgkJCQkvLyBDZW50ZXIgc2xpZGVzIHZlcnRpY2FsbHkKCQkJCWlmKCBudW1iZXJPZlBhZ2VzID09PSAxICYmIGNvbmZpZy5jZW50ZXIgfHwgc2xpZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCAnY2VudGVyJyApICkgewoJCQkJCXRvcCA9IE1hdGgubWF4KCAoIHBhZ2VIZWlnaHQgLSBjb250ZW50SGVpZ2h0ICkgLyAyLCAwICk7CgkJCQl9CgoJCQkJLy8gUG9zaXRpb24gdGhlIHNsaWRlIGluc2lkZSBvZiB0aGUgcGFnZQoJCQkJc2xpZGUuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOwoJCQkJc2xpZGUuc3R5bGUudG9wID0gdG9wICsgJ3B4JzsKCQkJCXNsaWRlLnN0eWxlLndpZHRoID0gc2xpZGVXaWR0aCArICdweCc7CgoJCQkJLy8gVE9ETyBCYWNrZ3JvdW5kcyBuZWVkIHRvIGJlIG11bHRpcGxpZWQgd2hlbiB0aGUgc2xpZGUKCQkJCS8vIHN0cmV0Y2hlcyBvdmVyIG11bHRpcGxlIHBhZ2VzCgkJCQl2YXIgYmFja2dyb3VuZCA9IHNsaWRlLnF1ZXJ5U2VsZWN0b3IoICcuc2xpZGUtYmFja2dyb3VuZCcgKTsKCQkJCWlmKCBiYWNrZ3JvdW5kICkgewoJCQkJCWJhY2tncm91bmQuc3R5bGUud2lkdGggPSBwYWdlV2lkdGggKyAncHgnOwoJCQkJCWJhY2tncm91bmQuc3R5bGUuaGVpZ2h0ID0gKCBwYWdlSGVpZ2h0ICogbnVtYmVyT2ZQYWdlcyApICsgJ3B4JzsKCQkJCQliYWNrZ3JvdW5kLnN0eWxlLnRvcCA9IC10b3AgKyAncHgnOwoJCQkJCWJhY2tncm91bmQuc3R5bGUubGVmdCA9IC1sZWZ0ICsgJ3B4JzsKCQkJCX0KCgkJCQkvLyBJbmplY3Qgbm90ZXMgaWYgYHNob3dOb3Rlc2AgaXMgZW5hYmxlZAoJCQkJaWYoIGNvbmZpZy5zaG93Tm90ZXMgKSB7CgkJCQkJdmFyIG5vdGVzID0gZ2V0U2xpZGVOb3Rlcyggc2xpZGUgKTsKCQkJCQlpZiggbm90ZXMgKSB7CgkJCQkJCXZhciBub3Rlc1NwYWNpbmcgPSA4OwoJCQkJCQl2YXIgbm90ZXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2RpdicgKTsKCQkJCQkJbm90ZXNFbGVtZW50LmNsYXNzTGlzdC5hZGQoICdzcGVha2VyLW5vdGVzJyApOwoJCQkJCQlub3Rlc0VsZW1lbnQuY2xhc3NMaXN0LmFkZCggJ3NwZWFrZXItbm90ZXMtcGRmJyApOwoJCQkJCQlub3Rlc0VsZW1lbnQuaW5uZXJIVE1MID0gbm90ZXM7CgkJCQkJCW5vdGVzRWxlbWVudC5zdHlsZS5sZWZ0ID0gKCBub3Rlc1NwYWNpbmcgLSBsZWZ0ICkgKyAncHgnOwoJCQkJCQlub3Rlc0VsZW1lbnQuc3R5bGUuYm90dG9tID0gKCBub3Rlc1NwYWNpbmcgLSB0b3AgKSArICdweCc7CgkJCQkJCW5vdGVzRWxlbWVudC5zdHlsZS53aWR0aCA9ICggcGFnZVdpZHRoIC0gbm90ZXNTcGFjaW5nKjIgKSArICdweCc7CgkJCQkJCXNsaWRlLmFwcGVuZENoaWxkKCBub3Rlc0VsZW1lbnQgKTsKCQkJCQl9CgkJCQl9CgoJCQkJLy8gSW5qZWN0IHNsaWRlIG51bWJlcnMgaWYgYHNsaWRlTnVtYmVyc2AgYXJlIGVuYWJsZWQKCQkJCWlmKCBjb25maWcuc2xpZGVOdW1iZXIgKSB7CgkJCQkJdmFyIHNsaWRlTnVtYmVySCA9IHBhcnNlSW50KCBzbGlkZS5nZXRBdHRyaWJ1dGUoICdkYXRhLWluZGV4LWgnICksIDEwICkgKyAxLAoJCQkJCQlzbGlkZU51bWJlclYgPSBwYXJzZUludCggc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1pbmRleC12JyApLCAxMCApICsgMTsKCgkJCQkJdmFyIG51bWJlckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnZGl2JyApOwoJCQkJCW51bWJlckVsZW1lbnQuY2xhc3NMaXN0LmFkZCggJ3NsaWRlLW51bWJlcicgKTsKCQkJCQludW1iZXJFbGVtZW50LmNsYXNzTGlzdC5hZGQoICdzbGlkZS1udW1iZXItcGRmJyApOwoJCQkJCW51bWJlckVsZW1lbnQuaW5uZXJIVE1MID0gZm9ybWF0U2xpZGVOdW1iZXIoIHNsaWRlTnVtYmVySCwgJy4nLCBzbGlkZU51bWJlclYgKTsKCQkJCQliYWNrZ3JvdW5kLmFwcGVuZENoaWxkKCBudW1iZXJFbGVtZW50ICk7CgkJCQl9CgkJCX0KCgkJfSApOwoKCQkvLyBTaG93IGFsbCBmcmFnbWVudHMKCQl0b0FycmF5KCBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBTTElERVNfU0VMRUNUT1IgKyAnIC5mcmFnbWVudCcgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBmcmFnbWVudCApIHsKCQkJZnJhZ21lbnQuY2xhc3NMaXN0LmFkZCggJ3Zpc2libGUnICk7CgkJfSApOwoKCX0KCgkvKioKCSAqIFRoaXMgaXMgYW4gdW5mb3J0dW5hdGUgbmVjZXNzaXR5LiBJZnJhbWVzIGNhbiB0cmlnZ2VyIHRoZQoJICogcGFyZW50IHdpbmRvdyB0byBzY3JvbGwsIGZvciBleGFtcGxlIGJ5IGZvY3VzaW5nIGFuIGlucHV0LgoJICogVGhpcyBzY3JvbGxpbmcgY2FuIG5vdCBiZSBwcmV2ZW50ZWQgYnkgaGlkaW5nIG92ZXJmbG93IGluCgkgKiBDU1Mgc28gd2UgaGF2ZSB0byByZXNvcnQgdG8gcmVwZWF0ZWRseSBjaGVja2luZyBpZiB0aGUKCSAqIGJyb3dzZXIgaGFzIGRlY2lkZWQgdG8gb2Zmc2V0IG91ciBzbGlkZXMgOigKCSAqLwoJZnVuY3Rpb24gc2V0dXBJZnJhbWVTY3JvbGxQcmV2ZW50aW9uKCkgewoKCQlpZiggZG9tLnNsaWRlcy5xdWVyeVNlbGVjdG9yKCAnaWZyYW1lJyApICkgewoJCQlzZXRJbnRlcnZhbCggZnVuY3Rpb24oKSB7CgkJCQlpZiggZG9tLndyYXBwZXIuc2Nyb2xsVG9wICE9PSAwIHx8IGRvbS53cmFwcGVyLnNjcm9sbExlZnQgIT09IDAgKSB7CgkJCQkJZG9tLndyYXBwZXIuc2Nyb2xsVG9wID0gMDsKCQkJCQlkb20ud3JhcHBlci5zY3JvbGxMZWZ0ID0gMDsKCQkJCX0KCQkJfSwgNTAwICk7CgkJfQoKCX0KCgkvKioKCSAqIENyZWF0ZXMgYW4gSFRNTCBlbGVtZW50IGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGl0LgoJICogSWYgdGhlIGVsZW1lbnQgYWxyZWFkeSBleGlzdHMgdGhlIGV4aXN0aW5nIGluc3RhbmNlIHdpbGwKCSAqIGJlIHJldHVybmVkLgoJICovCglmdW5jdGlvbiBjcmVhdGVTaW5nbGV0b25Ob2RlKCBjb250YWluZXIsIHRhZ25hbWUsIGNsYXNzbmFtZSwgaW5uZXJIVE1MICkgewoKCQkvLyBGaW5kIGFsbCBub2RlcyBtYXRjaGluZyB0aGUgZGVzY3JpcHRpb24KCQl2YXIgbm9kZXMgPSBjb250YWluZXIucXVlcnlTZWxlY3RvckFsbCggJy4nICsgY2xhc3NuYW1lICk7CgoJCS8vIENoZWNrIGFsbCBtYXRjaGVzIHRvIGZpbmQgb25lIHdoaWNoIGlzIGEgZGlyZWN0IGNoaWxkIG9mCgkJLy8gdGhlIHNwZWNpZmllZCBjb250YWluZXIKCQlmb3IoIHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrICkgewoJCQl2YXIgdGVzdE5vZGUgPSBub2Rlc1tpXTsKCQkJaWYoIHRlc3ROb2RlLnBhcmVudE5vZGUgPT09IGNvbnRhaW5lciApIHsKCQkJCXJldHVybiB0ZXN0Tm9kZTsKCQkJfQoJCX0KCgkJLy8gSWYgbm8gbm9kZSB3YXMgZm91bmQsIGNyZWF0ZSBpdCBub3cKCQl2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIHRhZ25hbWUgKTsKCQlub2RlLmNsYXNzTGlzdC5hZGQoIGNsYXNzbmFtZSApOwoJCWlmKCB0eXBlb2YgaW5uZXJIVE1MID09PSAnc3RyaW5nJyApIHsKCQkJbm9kZS5pbm5lckhUTUwgPSBpbm5lckhUTUw7CgkJfQoJCWNvbnRhaW5lci5hcHBlbmRDaGlsZCggbm9kZSApOwoKCQlyZXR1cm4gbm9kZTsKCgl9CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBzbGlkZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIGFuZCBhcHBlbmRzIHRoZW0KCSAqIHRvIHRoZSBiYWNrZ3JvdW5kIGNvbnRhaW5lci4gT25lIGVsZW1lbnQgaXMgY3JlYXRlZCBwZXIKCSAqIHNsaWRlIG5vIG1hdHRlciBpZiB0aGUgZ2l2ZW4gc2xpZGUgaGFzIHZpc2libGUgYmFja2dyb3VuZC4KCSAqLwoJZnVuY3Rpb24gY3JlYXRlQmFja2dyb3VuZHMoKSB7CgoJCXZhciBwcmludE1vZGUgPSBpc1ByaW50aW5nUERGKCk7CgoJCS8vIENsZWFyIHByaW9yIGJhY2tncm91bmRzCgkJZG9tLmJhY2tncm91bmQuaW5uZXJIVE1MID0gJyc7CgkJZG9tLmJhY2tncm91bmQuY2xhc3NMaXN0LmFkZCggJ25vLXRyYW5zaXRpb24nICk7CgoJCS8vIEl0ZXJhdGUgb3ZlciBhbGwgaG9yaXpvbnRhbCBzbGlkZXMKCQl0b0FycmF5KCBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBIT1JJWk9OVEFMX1NMSURFU19TRUxFQ1RPUiApICkuZm9yRWFjaCggZnVuY3Rpb24oIHNsaWRlaCApIHsKCgkJCXZhciBiYWNrZ3JvdW5kU3RhY2s7CgoJCQlpZiggcHJpbnRNb2RlICkgewoJCQkJYmFja2dyb3VuZFN0YWNrID0gY3JlYXRlQmFja2dyb3VuZCggc2xpZGVoLCBzbGlkZWggKTsKCQkJfQoJCQllbHNlIHsKCQkJCWJhY2tncm91bmRTdGFjayA9IGNyZWF0ZUJhY2tncm91bmQoIHNsaWRlaCwgZG9tLmJhY2tncm91bmQgKTsKCQkJfQoKCQkJLy8gSXRlcmF0ZSBvdmVyIGFsbCB2ZXJ0aWNhbCBzbGlkZXMKCQkJdG9BcnJheSggc2xpZGVoLnF1ZXJ5U2VsZWN0b3JBbGwoICdzZWN0aW9uJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIHNsaWRldiApIHsKCgkJCQlpZiggcHJpbnRNb2RlICkgewoJCQkJCWNyZWF0ZUJhY2tncm91bmQoIHNsaWRldiwgc2xpZGV2ICk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQljcmVhdGVCYWNrZ3JvdW5kKCBzbGlkZXYsIGJhY2tncm91bmRTdGFjayApOwoJCQkJfQoKCQkJCWJhY2tncm91bmRTdGFjay5jbGFzc0xpc3QuYWRkKCAnc3RhY2snICk7CgoJCQl9ICk7CgoJCX0gKTsKCgkJLy8gQWRkIHBhcmFsbGF4IGJhY2tncm91bmQgaWYgc3BlY2lmaWVkCgkJaWYoIGNvbmZpZy5wYXJhbGxheEJhY2tncm91bmRJbWFnZSApIHsKCgkJCWRvbS5iYWNrZ3JvdW5kLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICd1cmwoIicgKyBjb25maWcucGFyYWxsYXhCYWNrZ3JvdW5kSW1hZ2UgKyAnIiknOwoJCQlkb20uYmFja2dyb3VuZC5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9IGNvbmZpZy5wYXJhbGxheEJhY2tncm91bmRTaXplOwoKCQkJLy8gTWFrZSBzdXJlIHRoZSBiZWxvdyBwcm9wZXJ0aWVzIGFyZSBzZXQgb24gdGhlIGVsZW1lbnQgLSB0aGVzZSBwcm9wZXJ0aWVzIGFyZQoJCQkvLyBuZWVkZWQgZm9yIHByb3BlciB0cmFuc2l0aW9ucyB0byBiZSBzZXQgb24gdGhlIGVsZW1lbnQgdmlhIENTUy4gVG8gcmVtb3ZlCgkJCS8vIGFubm95aW5nIGJhY2tncm91bmQgc2xpZGUtaW4gZWZmZWN0IHdoZW4gdGhlIHByZXNlbnRhdGlvbiBzdGFydHMsIGFwcGx5CgkJCS8vIHRoZXNlIHByb3BlcnRpZXMgYWZ0ZXIgc2hvcnQgdGltZSBkZWxheQoJCQlzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsKCQkJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5hZGQoICdoYXMtcGFyYWxsYXgtYmFja2dyb3VuZCcgKTsKCQkJfSwgMSApOwoKCQl9CgkJZWxzZSB7CgoJCQlkb20uYmFja2dyb3VuZC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSAnJzsKCQkJZG9tLndyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSggJ2hhcy1wYXJhbGxheC1iYWNrZ3JvdW5kJyApOwoKCQl9CgoJfQoKCS8qKgoJICogQ3JlYXRlcyBhIGJhY2tncm91bmQgZm9yIHRoZSBnaXZlbiBzbGlkZS4KCSAqCgkgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBzbGlkZQoJICogQHBhcmFtIHtIVE1MRWxlbWVudH0gY29udGFpbmVyIFRoZSBlbGVtZW50IHRoYXQgdGhlIGJhY2tncm91bmQKCSAqIHNob3VsZCBiZSBhcHBlbmRlZCB0bwoJICovCglmdW5jdGlvbiBjcmVhdGVCYWNrZ3JvdW5kKCBzbGlkZSwgY29udGFpbmVyICkgewoKCQl2YXIgZGF0YSA9IHsKCQkJYmFja2dyb3VuZDogc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kJyApLAoJCQliYWNrZ3JvdW5kU2l6ZTogc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kLXNpemUnICksCgkJCWJhY2tncm91bmRJbWFnZTogc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kLWltYWdlJyApLAoJCQliYWNrZ3JvdW5kVmlkZW86IHNsaWRlLmdldEF0dHJpYnV0ZSggJ2RhdGEtYmFja2dyb3VuZC12aWRlbycgKSwKCQkJYmFja2dyb3VuZElmcmFtZTogc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kLWlmcmFtZScgKSwKCQkJYmFja2dyb3VuZENvbG9yOiBzbGlkZS5nZXRBdHRyaWJ1dGUoICdkYXRhLWJhY2tncm91bmQtY29sb3InICksCgkJCWJhY2tncm91bmRSZXBlYXQ6IHNsaWRlLmdldEF0dHJpYnV0ZSggJ2RhdGEtYmFja2dyb3VuZC1yZXBlYXQnICksCgkJCWJhY2tncm91bmRQb3NpdGlvbjogc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kLXBvc2l0aW9uJyApLAoJCQliYWNrZ3JvdW5kVHJhbnNpdGlvbjogc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kLXRyYW5zaXRpb24nICkKCQl9OwoKCQl2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdkaXYnICk7CgoJCS8vIENhcnJ5IG92ZXIgY3VzdG9tIGNsYXNzZXMgZnJvbSB0aGUgc2xpZGUgdG8gdGhlIGJhY2tncm91bmQKCQllbGVtZW50LmNsYXNzTmFtZSA9ICdzbGlkZS1iYWNrZ3JvdW5kICcgKyBzbGlkZS5jbGFzc05hbWUucmVwbGFjZSggL3ByZXNlbnR8cGFzdHxmdXR1cmUvLCAnJyApOwoKCQlpZiggZGF0YS5iYWNrZ3JvdW5kICkgewoJCQkvLyBBdXRvLXdyYXAgaW1hZ2UgdXJscyBpbiB1cmwoLi4uKQoJCQlpZiggL14oaHR0cHxmaWxlfFwvXC8pL2dpLnRlc3QoIGRhdGEuYmFja2dyb3VuZCApIHx8IC9cLihzdmd8cG5nfGpwZ3xqcGVnfGdpZnxibXApJC9naS50ZXN0KCBkYXRhLmJhY2tncm91bmQgKSApIHsKCQkJCXNsaWRlLnNldEF0dHJpYnV0ZSggJ2RhdGEtYmFja2dyb3VuZC1pbWFnZScsIGRhdGEuYmFja2dyb3VuZCApOwoJCQl9CgkJCWVsc2UgewoJCQkJZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kID0gZGF0YS5iYWNrZ3JvdW5kOwoJCQl9CgkJfQoKCQkvLyBDcmVhdGUgYSBoYXNoIGZvciB0aGlzIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQgc2V0dGluZ3MuCgkJLy8gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSB3aGVuIHR3byBzbGlkZSBiYWNrZ3JvdW5kcyBhcmUKCQkvLyB0aGUgc2FtZS4KCQlpZiggZGF0YS5iYWNrZ3JvdW5kIHx8IGRhdGEuYmFja2dyb3VuZENvbG9yIHx8IGRhdGEuYmFja2dyb3VuZEltYWdlIHx8IGRhdGEuYmFja2dyb3VuZFZpZGVvIHx8IGRhdGEuYmFja2dyb3VuZElmcmFtZSApIHsKCQkJZWxlbWVudC5zZXRBdHRyaWJ1dGUoICdkYXRhLWJhY2tncm91bmQtaGFzaCcsIGRhdGEuYmFja2dyb3VuZCArCgkJCQkJCQkJCQkJCQkJCWRhdGEuYmFja2dyb3VuZFNpemUgKwoJCQkJCQkJCQkJCQkJCQlkYXRhLmJhY2tncm91bmRJbWFnZSArCgkJCQkJCQkJCQkJCQkJCWRhdGEuYmFja2dyb3VuZFZpZGVvICsKCQkJCQkJCQkJCQkJCQkJZGF0YS5iYWNrZ3JvdW5kSWZyYW1lICsKCQkJCQkJCQkJCQkJCQkJZGF0YS5iYWNrZ3JvdW5kQ29sb3IgKwoJCQkJCQkJCQkJCQkJCQlkYXRhLmJhY2tncm91bmRSZXBlYXQgKwoJCQkJCQkJCQkJCQkJCQlkYXRhLmJhY2tncm91bmRQb3NpdGlvbiArCgkJCQkJCQkJCQkJCQkJCWRhdGEuYmFja2dyb3VuZFRyYW5zaXRpb24gKTsKCQl9CgoJCS8vIEFkZGl0aW9uYWwgYW5kIG9wdGlvbmFsIGJhY2tncm91bmQgcHJvcGVydGllcwoJCWlmKCBkYXRhLmJhY2tncm91bmRTaXplICkgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9IGRhdGEuYmFja2dyb3VuZFNpemU7CgkJaWYoIGRhdGEuYmFja2dyb3VuZENvbG9yICkgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBkYXRhLmJhY2tncm91bmRDb2xvcjsKCQlpZiggZGF0YS5iYWNrZ3JvdW5kUmVwZWF0ICkgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kUmVwZWF0ID0gZGF0YS5iYWNrZ3JvdW5kUmVwZWF0OwoJCWlmKCBkYXRhLmJhY2tncm91bmRQb3NpdGlvbiApIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uID0gZGF0YS5iYWNrZ3JvdW5kUG9zaXRpb247CgkJaWYoIGRhdGEuYmFja2dyb3VuZFRyYW5zaXRpb24gKSBlbGVtZW50LnNldEF0dHJpYnV0ZSggJ2RhdGEtYmFja2dyb3VuZC10cmFuc2l0aW9uJywgZGF0YS5iYWNrZ3JvdW5kVHJhbnNpdGlvbiApOwoKCQljb250YWluZXIuYXBwZW5kQ2hpbGQoIGVsZW1lbnQgKTsKCgkJLy8gSWYgYmFja2dyb3VuZHMgYXJlIGJlaW5nIHJlY3JlYXRlZCwgY2xlYXIgb2xkIGNsYXNzZXMKCQlzbGlkZS5jbGFzc0xpc3QucmVtb3ZlKCAnaGFzLWRhcmstYmFja2dyb3VuZCcgKTsKCQlzbGlkZS5jbGFzc0xpc3QucmVtb3ZlKCAnaGFzLWxpZ2h0LWJhY2tncm91bmQnICk7CgoJCS8vIElmIHRoaXMgc2xpZGUgaGFzIGEgYmFja2dyb3VuZCBjb2xvciwgYWRkIGEgY2xhc3MgdGhhdAoJCS8vIHNpZ25hbHMgaWYgaXQgaXMgbGlnaHQgb3IgZGFyay4gSWYgdGhlIHNsaWRlIGhhcyBubyBiYWNrZ3JvdW5kCgkJLy8gY29sb3IsIG5vIGNsYXNzIHdpbGwgYmUgc2V0CgkJdmFyIGNvbXB1dGVkQmFja2dyb3VuZENvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGVsZW1lbnQgKS5iYWNrZ3JvdW5kQ29sb3I7CgkJaWYoIGNvbXB1dGVkQmFja2dyb3VuZENvbG9yICkgewoJCQl2YXIgcmdiID0gY29sb3JUb1JnYiggY29tcHV0ZWRCYWNrZ3JvdW5kQ29sb3IgKTsKCgkJCS8vIElnbm9yZSBmdWxseSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcy4gU29tZSBicm93c2VycyByZXR1cm4KCQkJLy8gcmdiYSgwLDAsMCwwKSB3aGVuIHJlYWRpbmcgdGhlIGNvbXB1dGVkIGJhY2tncm91bmQgY29sb3Igb2YKCQkJLy8gYW4gZWxlbWVudCB3aXRoIG5vIGJhY2tncm91bmQKCQkJaWYoIHJnYiAmJiByZ2IuYSAhPT0gMCApIHsKCQkJCWlmKCBjb2xvckJyaWdodG5lc3MoIGNvbXB1dGVkQmFja2dyb3VuZENvbG9yICkgPCAxMjggKSB7CgkJCQkJc2xpZGUuY2xhc3NMaXN0LmFkZCggJ2hhcy1kYXJrLWJhY2tncm91bmQnICk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlzbGlkZS5jbGFzc0xpc3QuYWRkKCAnaGFzLWxpZ2h0LWJhY2tncm91bmQnICk7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiBlbGVtZW50OwoKCX0KCgkvKioKCSAqIFJlZ2lzdGVycyBhIGxpc3RlbmVyIHRvIHBvc3RNZXNzYWdlIGV2ZW50cywgdGhpcyBtYWtlcyBpdAoJICogcG9zc2libGUgdG8gY2FsbCBhbGwgcmV2ZWFsLmpzIEFQSSBtZXRob2RzIGZyb20gYW5vdGhlcgoJICogd2luZG93LiBGb3IgZXhhbXBsZToKCSAqCgkgKiByZXZlYWxXaW5kb3cucG9zdE1lc3NhZ2UoIEpTT04uc3RyaW5naWZ5KHsKCSAqICAgbWV0aG9kOiAnc2xpZGUnLAoJICogICBhcmdzOiBbIDIgXQoJICogfSksICcqJyApOwoJICovCglmdW5jdGlvbiBzZXR1cFBvc3RNZXNzYWdlKCkgewoKCQlpZiggY29uZmlnLnBvc3RNZXNzYWdlICkgewoJCQl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggJ21lc3NhZ2UnLCBmdW5jdGlvbiAoIGV2ZW50ICkgewoJCQkJdmFyIGRhdGEgPSBldmVudC5kYXRhOwoKCQkJCS8vIE1ha2Ugc3VyZSB3ZSdyZSBkZWFsaW5nIHdpdGggSlNPTgoJCQkJaWYoIHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJyAmJiBkYXRhLmNoYXJBdCggMCApID09PSAneycgJiYgZGF0YS5jaGFyQXQoIGRhdGEubGVuZ3RoIC0gMSApID09PSAnfScgKSB7CgkJCQkJZGF0YSA9IEpTT04ucGFyc2UoIGRhdGEgKTsKCgkJCQkJLy8gQ2hlY2sgaWYgdGhlIHJlcXVlc3RlZCBtZXRob2QgY2FuIGJlIGZvdW5kCgkJCQkJaWYoIGRhdGEubWV0aG9kICYmIHR5cGVvZiBSZXZlYWxbZGF0YS5tZXRob2RdID09PSAnZnVuY3Rpb24nICkgewoJCQkJCQlSZXZlYWxbZGF0YS5tZXRob2RdLmFwcGx5KCBSZXZlYWwsIGRhdGEuYXJncyApOwoJCQkJCX0KCQkJCX0KCQkJfSwgZmFsc2UgKTsKCQl9CgoJfQoKCS8qKgoJICogQXBwbGllcyB0aGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmcm9tIHRoZSBjb25maWcKCSAqIG9iamVjdC4gTWF5IGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCSAqLwoJZnVuY3Rpb24gY29uZmlndXJlKCBvcHRpb25zICkgewoKCQl2YXIgbnVtYmVyT2ZTbGlkZXMgPSBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBTTElERVNfU0VMRUNUT1IgKS5sZW5ndGg7CgoJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoIGNvbmZpZy50cmFuc2l0aW9uICk7CgoJCS8vIE5ldyBjb25maWcgb3B0aW9ucyBtYXkgYmUgcGFzc2VkIHdoZW4gdGhpcyBtZXRob2QKCQkvLyBpcyBpbnZva2VkIHRocm91Z2ggdGhlIEFQSSBhZnRlciBpbml0aWFsaXphdGlvbgoJCWlmKCB0eXBlb2Ygb3B0aW9ucyA9PT0gJ29iamVjdCcgKSBleHRlbmQoIGNvbmZpZywgb3B0aW9ucyApOwoKCQkvLyBGb3JjZSBsaW5lYXIgdHJhbnNpdGlvbiBiYXNlZCBvbiBicm93c2VyIGNhcGFiaWxpdGllcwoJCWlmKCBmZWF0dXJlcy50cmFuc2Zvcm1zM2QgPT09IGZhbHNlICkgY29uZmlnLnRyYW5zaXRpb24gPSAnbGluZWFyJzsKCgkJZG9tLndyYXBwZXIuY2xhc3NMaXN0LmFkZCggY29uZmlnLnRyYW5zaXRpb24gKTsKCgkJZG9tLndyYXBwZXIuc2V0QXR0cmlidXRlKCAnZGF0YS10cmFuc2l0aW9uLXNwZWVkJywgY29uZmlnLnRyYW5zaXRpb25TcGVlZCApOwoJCWRvbS53cmFwcGVyLnNldEF0dHJpYnV0ZSggJ2RhdGEtYmFja2dyb3VuZC10cmFuc2l0aW9uJywgY29uZmlnLmJhY2tncm91bmRUcmFuc2l0aW9uICk7CgoJCWRvbS5jb250cm9scy5zdHlsZS5kaXNwbGF5ID0gY29uZmlnLmNvbnRyb2xzID8gJ2Jsb2NrJyA6ICdub25lJzsKCQlkb20ucHJvZ3Jlc3Muc3R5bGUuZGlzcGxheSA9IGNvbmZpZy5wcm9ncmVzcyA/ICdibG9jaycgOiAnbm9uZSc7CgkJZG9tLnNsaWRlTnVtYmVyLnN0eWxlLmRpc3BsYXkgPSBjb25maWcuc2xpZGVOdW1iZXIgJiYgIWlzUHJpbnRpbmdQREYoKSA/ICdibG9jaycgOiAnbm9uZSc7CgoJCWlmKCBjb25maWcucnRsICkgewoJCQlkb20ud3JhcHBlci5jbGFzc0xpc3QuYWRkKCAncnRsJyApOwoJCX0KCQllbHNlIHsKCQkJZG9tLndyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSggJ3J0bCcgKTsKCQl9CgoJCWlmKCBjb25maWcuY2VudGVyICkgewoJCQlkb20ud3JhcHBlci5jbGFzc0xpc3QuYWRkKCAnY2VudGVyJyApOwoJCX0KCQllbHNlIHsKCQkJZG9tLndyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSggJ2NlbnRlcicgKTsKCQl9CgoJCS8vIEV4aXQgdGhlIHBhdXNlZCBtb2RlIGlmIGl0IHdhcyBjb25maWd1cmVkIG9mZgoJCWlmKCBjb25maWcucGF1c2UgPT09IGZhbHNlICkgewoJCQlyZXN1bWUoKTsKCQl9CgoJCWlmKCBjb25maWcuc2hvd05vdGVzICkgewoJCQlkb20uc3BlYWtlck5vdGVzLmNsYXNzTGlzdC5hZGQoICd2aXNpYmxlJyApOwoJCX0KCQllbHNlIHsKCQkJZG9tLnNwZWFrZXJOb3Rlcy5jbGFzc0xpc3QucmVtb3ZlKCAndmlzaWJsZScgKTsKCQl9CgoJCWlmKCBjb25maWcubW91c2VXaGVlbCApIHsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ0RPTU1vdXNlU2Nyb2xsJywgb25Eb2N1bWVudE1vdXNlU2Nyb2xsLCBmYWxzZSApOyAvLyBGRgoJCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCAnbW91c2V3aGVlbCcsIG9uRG9jdW1lbnRNb3VzZVNjcm9sbCwgZmFsc2UgKTsKCQl9CgkJZWxzZSB7CgkJCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoICdET01Nb3VzZVNjcm9sbCcsIG9uRG9jdW1lbnRNb3VzZVNjcm9sbCwgZmFsc2UgKTsgLy8gRkYKCQkJZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ21vdXNld2hlZWwnLCBvbkRvY3VtZW50TW91c2VTY3JvbGwsIGZhbHNlICk7CgkJfQoKCQkvLyBSb2xsaW5nIDNEIGxpbmtzCgkJaWYoIGNvbmZpZy5yb2xsaW5nTGlua3MgKSB7CgkJCWVuYWJsZVJvbGxpbmdMaW5rcygpOwoJCX0KCQllbHNlIHsKCQkJZGlzYWJsZVJvbGxpbmdMaW5rcygpOwoJCX0KCgkJLy8gSWZyYW1lIGxpbmsgcHJldmlld3MKCQlpZiggY29uZmlnLnByZXZpZXdMaW5rcyApIHsKCQkJZW5hYmxlUHJldmlld0xpbmtzKCk7CgkJfQoJCWVsc2UgewoJCQlkaXNhYmxlUHJldmlld0xpbmtzKCk7CgkJCWVuYWJsZVByZXZpZXdMaW5rcyggJ1tkYXRhLXByZXZpZXctbGlua10nICk7CgkJfQoKCQkvLyBSZW1vdmUgZXhpc3RpbmcgYXV0by1zbGlkZSBjb250cm9scwoJCWlmKCBhdXRvU2xpZGVQbGF5ZXIgKSB7CgkJCWF1dG9TbGlkZVBsYXllci5kZXN0cm95KCk7CgkJCWF1dG9TbGlkZVBsYXllciA9IG51bGw7CgkJfQoKCQkvLyBHZW5lcmF0ZSBhdXRvLXNsaWRlIGNvbnRyb2xzIGlmIG5lZWRlZAoJCWlmKCBudW1iZXJPZlNsaWRlcyA+IDEgJiYgY29uZmlnLmF1dG9TbGlkZSAmJiBjb25maWcuYXV0b1NsaWRlU3RvcHBhYmxlICYmIGZlYXR1cmVzLmNhbnZhcyAmJiBmZWF0dXJlcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgKSB7CgkJCWF1dG9TbGlkZVBsYXllciA9IG5ldyBQbGF5YmFjayggZG9tLndyYXBwZXIsIGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuIE1hdGgubWluKCBNYXRoLm1heCggKCBEYXRlLm5vdygpIC0gYXV0b1NsaWRlU3RhcnRUaW1lICkgLyBhdXRvU2xpZGUsIDAgKSwgMSApOwoJCQl9ICk7CgoJCQlhdXRvU2xpZGVQbGF5ZXIub24oICdjbGljaycsIG9uQXV0b1NsaWRlUGxheWVyQ2xpY2sgKTsKCQkJYXV0b1NsaWRlUGF1c2VkID0gZmFsc2U7CgkJfQoKCQkvLyBXaGVuIGZyYWdtZW50cyBhcmUgdHVybmVkIG9mZiB0aGV5IHNob3VsZCBiZSB2aXNpYmxlCgkJaWYoIGNvbmZpZy5mcmFnbWVudHMgPT09IGZhbHNlICkgewoJCQl0b0FycmF5KCBkb20uc2xpZGVzLnF1ZXJ5U2VsZWN0b3JBbGwoICcuZnJhZ21lbnQnICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggZWxlbWVudCApIHsKCQkJCWVsZW1lbnQuY2xhc3NMaXN0LmFkZCggJ3Zpc2libGUnICk7CgkJCQllbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoICdjdXJyZW50LWZyYWdtZW50JyApOwoJCQl9ICk7CgkJfQoKCQlzeW5jKCk7CgoJfQoKCS8qKgoJICogQmluZHMgYWxsIGV2ZW50IGxpc3RlbmVycy4KCSAqLwoJZnVuY3Rpb24gYWRkRXZlbnRMaXN0ZW5lcnMoKSB7CgoJCWV2ZW50c0FyZUJvdW5kID0gdHJ1ZTsKCgkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICdoYXNoY2hhbmdlJywgb25XaW5kb3dIYXNoQ2hhbmdlLCBmYWxzZSApOwoJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCAncmVzaXplJywgb25XaW5kb3dSZXNpemUsIGZhbHNlICk7CgoJCWlmKCBjb25maWcudG91Y2ggKSB7CgkJCWRvbS53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoICd0b3VjaHN0YXJ0Jywgb25Ub3VjaFN0YXJ0LCBmYWxzZSApOwoJCQlkb20ud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCAndG91Y2htb3ZlJywgb25Ub3VjaE1vdmUsIGZhbHNlICk7CgkJCWRvbS53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoICd0b3VjaGVuZCcsIG9uVG91Y2hFbmQsIGZhbHNlICk7CgoJCQkvLyBTdXBwb3J0IHBvaW50ZXItc3R5bGUgdG91Y2ggaW50ZXJhY3Rpb24gYXMgd2VsbAoJCQlpZiggd2luZG93Lm5hdmlnYXRvci5wb2ludGVyRW5hYmxlZCApIHsKCQkJCS8vIElFIDExIHVzZXMgdW4tcHJlZml4ZWQgdmVyc2lvbiBvZiBwb2ludGVyIGV2ZW50cwoJCQkJZG9tLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lciggJ3BvaW50ZXJkb3duJywgb25Qb2ludGVyRG93biwgZmFsc2UgKTsKCQkJCWRvbS53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoICdwb2ludGVybW92ZScsIG9uUG9pbnRlck1vdmUsIGZhbHNlICk7CgkJCQlkb20ud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCAncG9pbnRlcnVwJywgb25Qb2ludGVyVXAsIGZhbHNlICk7CgkJCX0KCQkJZWxzZSBpZiggd2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkICkgewoJCQkJLy8gSUUgMTAgdXNlcyBwcmVmaXhlZCB2ZXJzaW9uIG9mIHBvaW50ZXIgZXZlbnRzCgkJCQlkb20ud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCAnTVNQb2ludGVyRG93bicsIG9uUG9pbnRlckRvd24sIGZhbHNlICk7CgkJCQlkb20ud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCAnTVNQb2ludGVyTW92ZScsIG9uUG9pbnRlck1vdmUsIGZhbHNlICk7CgkJCQlkb20ud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCAnTVNQb2ludGVyVXAnLCBvblBvaW50ZXJVcCwgZmFsc2UgKTsKCQkJfQoJCX0KCgkJaWYoIGNvbmZpZy5rZXlib2FyZCApIHsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ2tleWRvd24nLCBvbkRvY3VtZW50S2V5RG93biwgZmFsc2UgKTsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ2tleXByZXNzJywgb25Eb2N1bWVudEtleVByZXNzLCBmYWxzZSApOwoJCX0KCgkJaWYoIGNvbmZpZy5wcm9ncmVzcyAmJiBkb20ucHJvZ3Jlc3MgKSB7CgkJCWRvbS5wcm9ncmVzcy5hZGRFdmVudExpc3RlbmVyKCAnY2xpY2snLCBvblByb2dyZXNzQ2xpY2tlZCwgZmFsc2UgKTsKCQl9CgoJCWlmKCBjb25maWcuZm9jdXNCb2R5T25QYWdlVmlzaWJpbGl0eUNoYW5nZSApIHsKCQkJdmFyIHZpc2liaWxpdHlDaGFuZ2U7CgoJCQlpZiggJ2hpZGRlbicgaW4gZG9jdW1lbnQgKSB7CgkJCQl2aXNpYmlsaXR5Q2hhbmdlID0gJ3Zpc2liaWxpdHljaGFuZ2UnOwoJCQl9CgkJCWVsc2UgaWYoICdtc0hpZGRlbicgaW4gZG9jdW1lbnQgKSB7CgkJCQl2aXNpYmlsaXR5Q2hhbmdlID0gJ21zdmlzaWJpbGl0eWNoYW5nZSc7CgkJCX0KCQkJZWxzZSBpZiggJ3dlYmtpdEhpZGRlbicgaW4gZG9jdW1lbnQgKSB7CgkJCQl2aXNpYmlsaXR5Q2hhbmdlID0gJ3dlYmtpdHZpc2liaWxpdHljaGFuZ2UnOwoJCQl9CgoJCQlpZiggdmlzaWJpbGl0eUNoYW5nZSApIHsKCQkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIHZpc2liaWxpdHlDaGFuZ2UsIG9uUGFnZVZpc2liaWxpdHlDaGFuZ2UsIGZhbHNlICk7CgkJCX0KCQl9CgoJCS8vIExpc3RlbiB0byBib3RoIHRvdWNoIGFuZCBjbGljayBldmVudHMsIGluIGNhc2UgdGhlIGRldmljZQoJCS8vIHN1cHBvcnRzIGJvdGgKCQl2YXIgcG9pbnRlckV2ZW50cyA9IFsgJ3RvdWNoc3RhcnQnLCAnY2xpY2snIF07CgoJCS8vIE9ubHkgc3VwcG9ydCB0b3VjaCBmb3IgQW5kcm9pZCwgZml4ZXMgZG91YmxlIG5hdmlnYXRpb25zIGluCgkJLy8gc3RvY2sgYnJvd3NlcgoJCWlmKCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCAvYW5kcm9pZC9naSApICkgewoJCQlwb2ludGVyRXZlbnRzID0gWyAndG91Y2hzdGFydCcgXTsKCQl9CgoJCXBvaW50ZXJFdmVudHMuZm9yRWFjaCggZnVuY3Rpb24oIGV2ZW50TmFtZSApIHsKCQkJZG9tLmNvbnRyb2xzTGVmdC5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7IGVsLmFkZEV2ZW50TGlzdGVuZXIoIGV2ZW50TmFtZSwgb25OYXZpZ2F0ZUxlZnRDbGlja2VkLCBmYWxzZSApOyB9ICk7CgkJCWRvbS5jb250cm9sc1JpZ2h0LmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwuYWRkRXZlbnRMaXN0ZW5lciggZXZlbnROYW1lLCBvbk5hdmlnYXRlUmlnaHRDbGlja2VkLCBmYWxzZSApOyB9ICk7CgkJCWRvbS5jb250cm9sc1VwLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwuYWRkRXZlbnRMaXN0ZW5lciggZXZlbnROYW1lLCBvbk5hdmlnYXRlVXBDbGlja2VkLCBmYWxzZSApOyB9ICk7CgkJCWRvbS5jb250cm9sc0Rvd24uZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5hZGRFdmVudExpc3RlbmVyKCBldmVudE5hbWUsIG9uTmF2aWdhdGVEb3duQ2xpY2tlZCwgZmFsc2UgKTsgfSApOwoJCQlkb20uY29udHJvbHNQcmV2LmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwuYWRkRXZlbnRMaXN0ZW5lciggZXZlbnROYW1lLCBvbk5hdmlnYXRlUHJldkNsaWNrZWQsIGZhbHNlICk7IH0gKTsKCQkJZG9tLmNvbnRyb2xzTmV4dC5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7IGVsLmFkZEV2ZW50TGlzdGVuZXIoIGV2ZW50TmFtZSwgb25OYXZpZ2F0ZU5leHRDbGlja2VkLCBmYWxzZSApOyB9ICk7CgkJfSApOwoKCX0KCgkvKioKCSAqIFVuYmluZHMgYWxsIGV2ZW50IGxpc3RlbmVycy4KCSAqLwoJZnVuY3Rpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKSB7CgoJCWV2ZW50c0FyZUJvdW5kID0gZmFsc2U7CgoJCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoICdrZXlkb3duJywgb25Eb2N1bWVudEtleURvd24sIGZhbHNlICk7CgkJZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2tleXByZXNzJywgb25Eb2N1bWVudEtleVByZXNzLCBmYWxzZSApOwoJCXdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCAnaGFzaGNoYW5nZScsIG9uV2luZG93SGFzaENoYW5nZSwgZmFsc2UgKTsKCQl3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ3Jlc2l6ZScsIG9uV2luZG93UmVzaXplLCBmYWxzZSApOwoKCQlkb20ud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCAndG91Y2hzdGFydCcsIG9uVG91Y2hTdGFydCwgZmFsc2UgKTsKCQlkb20ud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCAndG91Y2htb3ZlJywgb25Ub3VjaE1vdmUsIGZhbHNlICk7CgkJZG9tLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ3RvdWNoZW5kJywgb25Ub3VjaEVuZCwgZmFsc2UgKTsKCgkJLy8gSUUxMQoJCWlmKCB3aW5kb3cubmF2aWdhdG9yLnBvaW50ZXJFbmFibGVkICkgewoJCQlkb20ud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCAncG9pbnRlcmRvd24nLCBvblBvaW50ZXJEb3duLCBmYWxzZSApOwoJCQlkb20ud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCAncG9pbnRlcm1vdmUnLCBvblBvaW50ZXJNb3ZlLCBmYWxzZSApOwoJCQlkb20ud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCAncG9pbnRlcnVwJywgb25Qb2ludGVyVXAsIGZhbHNlICk7CgkJfQoJCS8vIElFMTAKCQllbHNlIGlmKCB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQgKSB7CgkJCWRvbS53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoICdNU1BvaW50ZXJEb3duJywgb25Qb2ludGVyRG93biwgZmFsc2UgKTsKCQkJZG9tLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ01TUG9pbnRlck1vdmUnLCBvblBvaW50ZXJNb3ZlLCBmYWxzZSApOwoJCQlkb20ud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCAnTVNQb2ludGVyVXAnLCBvblBvaW50ZXJVcCwgZmFsc2UgKTsKCQl9CgoJCWlmICggY29uZmlnLnByb2dyZXNzICYmIGRvbS5wcm9ncmVzcyApIHsKCQkJZG9tLnByb2dyZXNzLnJlbW92ZUV2ZW50TGlzdGVuZXIoICdjbGljaycsIG9uUHJvZ3Jlc3NDbGlja2VkLCBmYWxzZSApOwoJCX0KCgkJWyAndG91Y2hzdGFydCcsICdjbGljaycgXS5mb3JFYWNoKCBmdW5jdGlvbiggZXZlbnROYW1lICkgewoJCQlkb20uY29udHJvbHNMZWZ0LmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lciggZXZlbnROYW1lLCBvbk5hdmlnYXRlTGVmdENsaWNrZWQsIGZhbHNlICk7IH0gKTsKCQkJZG9tLmNvbnRyb2xzUmlnaHQuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCBldmVudE5hbWUsIG9uTmF2aWdhdGVSaWdodENsaWNrZWQsIGZhbHNlICk7IH0gKTsKCQkJZG9tLmNvbnRyb2xzVXAuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCBldmVudE5hbWUsIG9uTmF2aWdhdGVVcENsaWNrZWQsIGZhbHNlICk7IH0gKTsKCQkJZG9tLmNvbnRyb2xzRG93bi5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7IGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIGV2ZW50TmFtZSwgb25OYXZpZ2F0ZURvd25DbGlja2VkLCBmYWxzZSApOyB9ICk7CgkJCWRvbS5jb250cm9sc1ByZXYuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCBldmVudE5hbWUsIG9uTmF2aWdhdGVQcmV2Q2xpY2tlZCwgZmFsc2UgKTsgfSApOwoJCQlkb20uY29udHJvbHNOZXh0LmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lciggZXZlbnROYW1lLCBvbk5hdmlnYXRlTmV4dENsaWNrZWQsIGZhbHNlICk7IH0gKTsKCQl9ICk7CgoJfQoKCS8qKgoJICogRXh0ZW5kIG9iamVjdCBhIHdpdGggdGhlIHByb3BlcnRpZXMgb2Ygb2JqZWN0IGIuCgkgKiBJZiB0aGVyZSdzIGEgY29uZmxpY3QsIG9iamVjdCBiIHRha2VzIHByZWNlZGVuY2UuCgkgKi8KCWZ1bmN0aW9uIGV4dGVuZCggYSwgYiApIHsKCgkJZm9yKCB2YXIgaSBpbiBiICkgewoJCQlhWyBpIF0gPSBiWyBpIF07CgkJfQoKCX0KCgkvKioKCSAqIENvbnZlcnRzIHRoZSB0YXJnZXQgb2JqZWN0IHRvIGFuIGFycmF5LgoJICovCglmdW5jdGlvbiB0b0FycmF5KCBvICkgewoKCQlyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoIG8gKTsKCgl9CgoJLyoqCgkgKiBVdGlsaXR5IGZvciBkZXNlcmlhbGl6aW5nIGEgdmFsdWUuCgkgKi8KCWZ1bmN0aW9uIGRlc2VyaWFsaXplKCB2YWx1ZSApIHsKCgkJaWYoIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgKSB7CgkJCWlmKCB2YWx1ZSA9PT0gJ251bGwnICkgcmV0dXJuIG51bGw7CgkJCWVsc2UgaWYoIHZhbHVlID09PSAndHJ1ZScgKSByZXR1cm4gdHJ1ZTsKCQkJZWxzZSBpZiggdmFsdWUgPT09ICdmYWxzZScgKSByZXR1cm4gZmFsc2U7CgkJCWVsc2UgaWYoIHZhbHVlLm1hdGNoKCAvXlxkKyQvICkgKSByZXR1cm4gcGFyc2VGbG9hdCggdmFsdWUgKTsKCQl9CgoJCXJldHVybiB2YWx1ZTsKCgl9CgoJLyoqCgkgKiBNZWFzdXJlcyB0aGUgZGlzdGFuY2UgaW4gcGl4ZWxzIGJldHdlZW4gcG9pbnQgYQoJICogYW5kIHBvaW50IGIuCgkgKgoJICogQHBhcmFtIHtPYmplY3R9IGEgcG9pbnQgd2l0aCB4L3kgcHJvcGVydGllcwoJICogQHBhcmFtIHtPYmplY3R9IGIgcG9pbnQgd2l0aCB4L3kgcHJvcGVydGllcwoJICovCglmdW5jdGlvbiBkaXN0YW5jZUJldHdlZW4oIGEsIGIgKSB7CgoJCXZhciBkeCA9IGEueCAtIGIueCwKCQkJZHkgPSBhLnkgLSBiLnk7CgoJCXJldHVybiBNYXRoLnNxcnQoIGR4KmR4ICsgZHkqZHkgKTsKCgl9CgoJLyoqCgkgKiBBcHBsaWVzIGEgQ1NTIHRyYW5zZm9ybSB0byB0aGUgdGFyZ2V0IGVsZW1lbnQuCgkgKi8KCWZ1bmN0aW9uIHRyYW5zZm9ybUVsZW1lbnQoIGVsZW1lbnQsIHRyYW5zZm9ybSApIHsKCgkJZWxlbWVudC5zdHlsZS5XZWJraXRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm07CgkJZWxlbWVudC5zdHlsZS5Nb3pUcmFuc2Zvcm0gPSB0cmFuc2Zvcm07CgkJZWxlbWVudC5zdHlsZS5tc1RyYW5zZm9ybSA9IHRyYW5zZm9ybTsKCQllbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKCgl9CgoJLyoqCgkgKiBBcHBsaWVzIENTUyB0cmFuc2Zvcm1zIHRvIHRoZSBzbGlkZXMgY29udGFpbmVyLiBUaGUgY29udGFpbmVyCgkgKiBpcyB0cmFuc2Zvcm1lZCBmcm9tIHR3byBzZXBhcmF0ZSBzb3VyY2VzOiBsYXlvdXQgYW5kIHRoZSBvdmVydmlldwoJICogbW9kZS4KCSAqLwoJZnVuY3Rpb24gdHJhbnNmb3JtU2xpZGVzKCB0cmFuc2Zvcm1zICkgewoKCQkvLyBQaWNrIHVwIG5ldyB0cmFuc2Zvcm1zIGZyb20gYXJndW1lbnRzCgkJaWYoIHR5cGVvZiB0cmFuc2Zvcm1zLmxheW91dCA9PT0gJ3N0cmluZycgKSBzbGlkZXNUcmFuc2Zvcm0ubGF5b3V0ID0gdHJhbnNmb3Jtcy5sYXlvdXQ7CgkJaWYoIHR5cGVvZiB0cmFuc2Zvcm1zLm92ZXJ2aWV3ID09PSAnc3RyaW5nJyApIHNsaWRlc1RyYW5zZm9ybS5vdmVydmlldyA9IHRyYW5zZm9ybXMub3ZlcnZpZXc7CgoJCS8vIEFwcGx5IHRoZSB0cmFuc2Zvcm1zIHRvIHRoZSBzbGlkZXMgY29udGFpbmVyCgkJaWYoIHNsaWRlc1RyYW5zZm9ybS5sYXlvdXQgKSB7CgkJCXRyYW5zZm9ybUVsZW1lbnQoIGRvbS5zbGlkZXMsIHNsaWRlc1RyYW5zZm9ybS5sYXlvdXQgKyAnICcgKyBzbGlkZXNUcmFuc2Zvcm0ub3ZlcnZpZXcgKTsKCQl9CgkJZWxzZSB7CgkJCXRyYW5zZm9ybUVsZW1lbnQoIGRvbS5zbGlkZXMsIHNsaWRlc1RyYW5zZm9ybS5vdmVydmlldyApOwoJCX0KCgl9CgoJLyoqCgkgKiBJbmplY3RzIHRoZSBnaXZlbiBDU1Mgc3R5bGVzIGludG8gdGhlIERPTS4KCSAqLwoJZnVuY3Rpb24gaW5qZWN0U3R5bGVTaGVldCggdmFsdWUgKSB7CgoJCXZhciB0YWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnc3R5bGUnICk7CgkJdGFnLnR5cGUgPSAndGV4dC9jc3MnOwoJCWlmKCB0YWcuc3R5bGVTaGVldCApIHsKCQkJdGFnLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHZhbHVlOwoJCX0KCQllbHNlIHsKCQkJdGFnLmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSggdmFsdWUgKSApOwoJCX0KCQlkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ2hlYWQnIClbMF0uYXBwZW5kQ2hpbGQoIHRhZyApOwoKCX0KCgkvKioKCSAqIENvbnZlcnRzIHZhcmlvdXMgY29sb3IgaW5wdXQgZm9ybWF0cyB0byBhbiB7cjowLGc6MCxiOjB9IG9iamVjdC4KCSAqCgkgKiBAcGFyYW0ge1N0cmluZ30gY29sb3IgVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGNvbG9yLAoJICogdGhlIGZvbGxvd2luZyBmb3JtYXRzIGFyZSBzdXBwb3J0ZWQ6CgkgKiAtICMwMDAKCSAqIC0gIzAwMDAwMAoJICogLSByZ2IoMCwwLDApCgkgKi8KCWZ1bmN0aW9uIGNvbG9yVG9SZ2IoIGNvbG9yICkgewoKCQl2YXIgaGV4MyA9IGNvbG9yLm1hdGNoKCAvXiMoWzAtOWEtZl17M30pJC9pICk7CgkJaWYoIGhleDMgJiYgaGV4M1sxXSApIHsKCQkJaGV4MyA9IGhleDNbMV07CgkJCXJldHVybiB7CgkJCQlyOiBwYXJzZUludCggaGV4My5jaGFyQXQoIDAgKSwgMTYgKSAqIDB4MTEsCgkJCQlnOiBwYXJzZUludCggaGV4My5jaGFyQXQoIDEgKSwgMTYgKSAqIDB4MTEsCgkJCQliOiBwYXJzZUludCggaGV4My5jaGFyQXQoIDIgKSwgMTYgKSAqIDB4MTEKCQkJfTsKCQl9CgoJCXZhciBoZXg2ID0gY29sb3IubWF0Y2goIC9eIyhbMC05YS1mXXs2fSkkL2kgKTsKCQlpZiggaGV4NiAmJiBoZXg2WzFdICkgewoJCQloZXg2ID0gaGV4NlsxXTsKCQkJcmV0dXJuIHsKCQkJCXI6IHBhcnNlSW50KCBoZXg2LnN1YnN0ciggMCwgMiApLCAxNiApLAoJCQkJZzogcGFyc2VJbnQoIGhleDYuc3Vic3RyKCAyLCAyICksIDE2ICksCgkJCQliOiBwYXJzZUludCggaGV4Ni5zdWJzdHIoIDQsIDIgKSwgMTYgKQoJCQl9OwoJCX0KCgkJdmFyIHJnYiA9IGNvbG9yLm1hdGNoKCAvXnJnYlxzKlwoXHMqKFxkKylccyosXHMqKFxkKylccyosXHMqKFxkKylccypcKSQvaSApOwoJCWlmKCByZ2IgKSB7CgkJCXJldHVybiB7CgkJCQlyOiBwYXJzZUludCggcmdiWzFdLCAxMCApLAoJCQkJZzogcGFyc2VJbnQoIHJnYlsyXSwgMTAgKSwKCQkJCWI6IHBhcnNlSW50KCByZ2JbM10sIDEwICkKCQkJfTsKCQl9CgoJCXZhciByZ2JhID0gY29sb3IubWF0Y2goIC9ecmdiYVxzKlwoXHMqKFxkKylccyosXHMqKFxkKylccyosXHMqKFxkKylccypcLFxzKihbXGRdK3xbXGRdKi5bXGRdKylccypcKSQvaSApOwoJCWlmKCByZ2JhICkgewoJCQlyZXR1cm4gewoJCQkJcjogcGFyc2VJbnQoIHJnYmFbMV0sIDEwICksCgkJCQlnOiBwYXJzZUludCggcmdiYVsyXSwgMTAgKSwKCQkJCWI6IHBhcnNlSW50KCByZ2JhWzNdLCAxMCApLAoJCQkJYTogcGFyc2VGbG9hdCggcmdiYVs0XSApCgkJCX07CgkJfQoKCQlyZXR1cm4gbnVsbDsKCgl9CgoJLyoqCgkgKiBDYWxjdWxhdGVzIGJyaWdodG5lc3Mgb24gYSBzY2FsZSBvZiAwLTI1NS4KCSAqCgkgKiBAcGFyYW0gY29sb3IgU2VlIGNvbG9yU3RyaW5nVG9SZ2IgZm9yIHN1cHBvcnRlZCBmb3JtYXRzLgoJICovCglmdW5jdGlvbiBjb2xvckJyaWdodG5lc3MoIGNvbG9yICkgewoKCQlpZiggdHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJyApIGNvbG9yID0gY29sb3JUb1JnYiggY29sb3IgKTsKCgkJaWYoIGNvbG9yICkgewoJCQlyZXR1cm4gKCBjb2xvci5yICogMjk5ICsgY29sb3IuZyAqIDU4NyArIGNvbG9yLmIgKiAxMTQgKSAvIDEwMDA7CgkJfQoKCQlyZXR1cm4gbnVsbDsKCgl9CgoJLyoqCgkgKiBSZXRyaWV2ZXMgdGhlIGhlaWdodCBvZiB0aGUgZ2l2ZW4gZWxlbWVudCBieSBsb29raW5nCgkgKiBhdCB0aGUgcG9zaXRpb24gYW5kIGhlaWdodCBvZiBpdHMgaW1tZWRpYXRlIGNoaWxkcmVuLgoJICovCglmdW5jdGlvbiBnZXRBYnNvbHV0ZUhlaWdodCggZWxlbWVudCApIHsKCgkJdmFyIGhlaWdodCA9IDA7CgoJCWlmKCBlbGVtZW50ICkgewoJCQl2YXIgYWJzb2x1dGVDaGlsZHJlbiA9IDA7CgoJCQl0b0FycmF5KCBlbGVtZW50LmNoaWxkTm9kZXMgKS5mb3JFYWNoKCBmdW5jdGlvbiggY2hpbGQgKSB7CgoJCQkJaWYoIHR5cGVvZiBjaGlsZC5vZmZzZXRUb3AgPT09ICdudW1iZXInICYmIGNoaWxkLnN0eWxlICkgewoJCQkJCS8vIENvdW50ICMgb2YgYWJzIGNoaWxkcmVuCgkJCQkJaWYoIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCBjaGlsZCApLnBvc2l0aW9uID09PSAnYWJzb2x1dGUnICkgewoJCQkJCQlhYnNvbHV0ZUNoaWxkcmVuICs9IDE7CgkJCQkJfQoKCQkJCQloZWlnaHQgPSBNYXRoLm1heCggaGVpZ2h0LCBjaGlsZC5vZmZzZXRUb3AgKyBjaGlsZC5vZmZzZXRIZWlnaHQgKTsKCQkJCX0KCgkJCX0gKTsKCgkJCS8vIElmIHRoZXJlIGFyZSBubyBhYnNvbHV0ZSBjaGlsZHJlbiwgdXNlIG9mZnNldEhlaWdodAoJCQlpZiggYWJzb2x1dGVDaGlsZHJlbiA9PT0gMCApIHsKCQkJCWhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0OwoJCQl9CgoJCX0KCgkJcmV0dXJuIGhlaWdodDsKCgl9CgoJLyoqCgkgKiBSZXR1cm5zIHRoZSByZW1haW5pbmcgaGVpZ2h0IHdpdGhpbiB0aGUgcGFyZW50IG9mIHRoZQoJICogdGFyZ2V0IGVsZW1lbnQuCgkgKgoJICogcmVtYWluaW5nIGhlaWdodCA9IFsgY29uZmlndXJlZCBwYXJlbnQgaGVpZ2h0IF0gLSBbIGN1cnJlbnQgcGFyZW50IGhlaWdodCBdCgkgKi8KCWZ1bmN0aW9uIGdldFJlbWFpbmluZ0hlaWdodCggZWxlbWVudCwgaGVpZ2h0ICkgewoKCQloZWlnaHQgPSBoZWlnaHQgfHwgMDsKCgkJaWYoIGVsZW1lbnQgKSB7CgkJCXZhciBuZXdIZWlnaHQsIG9sZEhlaWdodCA9IGVsZW1lbnQuc3R5bGUuaGVpZ2h0OwoKCQkJLy8gQ2hhbmdlIHRoZSAuc3RyZXRjaCBlbGVtZW50IGhlaWdodCB0byAwIGluIG9yZGVyIGZpbmQgdGhlIGhlaWdodCBvZiBhbGwKCQkJLy8gdGhlIG90aGVyIGVsZW1lbnRzCgkJCWVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzBweCc7CgkJCW5ld0hlaWdodCA9IGhlaWdodCAtIGVsZW1lbnQucGFyZW50Tm9kZS5vZmZzZXRIZWlnaHQ7CgoJCQkvLyBSZXN0b3JlIHRoZSBvbGQgaGVpZ2h0LCBqdXN0IGluIGNhc2UKCQkJZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBvbGRIZWlnaHQgKyAncHgnOwoKCQkJcmV0dXJuIG5ld0hlaWdodDsKCQl9CgoJCXJldHVybiBoZWlnaHQ7CgoJfQoKCS8qKgoJICogQ2hlY2tzIGlmIHRoaXMgaW5zdGFuY2UgaXMgYmVpbmcgdXNlZCB0byBwcmludCBhIFBERi4KCSAqLwoJZnVuY3Rpb24gaXNQcmludGluZ1BERigpIHsKCgkJcmV0dXJuICggL3ByaW50LXBkZi9naSApLnRlc3QoIHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggKTsKCgl9CgoJLyoqCgkgKiBIaWRlcyB0aGUgYWRkcmVzcyBiYXIgaWYgd2UncmUgb24gYSBtb2JpbGUgZGV2aWNlLgoJICovCglmdW5jdGlvbiBoaWRlQWRkcmVzc0JhcigpIHsKCgkJaWYoIGNvbmZpZy5oaWRlQWRkcmVzc0JhciAmJiBpc01vYmlsZURldmljZSApIHsKCQkJLy8gRXZlbnRzIHRoYXQgc2hvdWxkIHRyaWdnZXIgdGhlIGFkZHJlc3MgYmFyIHRvIGhpZGUKCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICdsb2FkJywgcmVtb3ZlQWRkcmVzc0JhciwgZmFsc2UgKTsKCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICdvcmllbnRhdGlvbmNoYW5nZScsIHJlbW92ZUFkZHJlc3NCYXIsIGZhbHNlICk7CgkJfQoKCX0KCgkvKioKCSAqIENhdXNlcyB0aGUgYWRkcmVzcyBiYXIgdG8gaGlkZSBvbiBtb2JpbGUgZGV2aWNlcywKCSAqIG1vcmUgdmVydGljYWwgc3BhY2UgZnR3LgoJICovCglmdW5jdGlvbiByZW1vdmVBZGRyZXNzQmFyKCkgewoKCQlzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsKCQkJd2luZG93LnNjcm9sbFRvKCAwLCAxICk7CgkJfSwgMTAgKTsKCgl9CgoJLyoqCgkgKiBEaXNwYXRjaGVzIGFuIGV2ZW50IG9mIHRoZSBzcGVjaWZpZWQgdHlwZSBmcm9tIHRoZQoJICogcmV2ZWFsIERPTSBlbGVtZW50LgoJICovCglmdW5jdGlvbiBkaXNwYXRjaEV2ZW50KCB0eXBlLCBhcmdzICkgewoKCQl2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCggJ0hUTUxFdmVudHMnLCAxLCAyICk7CgkJZXZlbnQuaW5pdEV2ZW50KCB0eXBlLCB0cnVlLCB0cnVlICk7CgkJZXh0ZW5kKCBldmVudCwgYXJncyApOwoJCWRvbS53cmFwcGVyLmRpc3BhdGNoRXZlbnQoIGV2ZW50ICk7CgoJCS8vIElmIHdlJ3JlIGluIGFuIGlmcmFtZSwgcG9zdCBlYWNoIHJldmVhbC5qcyBldmVudCB0byB0aGUKCQkvLyBwYXJlbnQgd2luZG93LiBVc2VkIGJ5IHRoZSBub3RlcyBwbHVnaW4KCQlpZiggY29uZmlnLnBvc3RNZXNzYWdlRXZlbnRzICYmIHdpbmRvdy5wYXJlbnQgIT09IHdpbmRvdy5zZWxmICkgewoJCQl3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCBKU09OLnN0cmluZ2lmeSh7IG5hbWVzcGFjZTogJ3JldmVhbCcsIGV2ZW50TmFtZTogdHlwZSwgc3RhdGU6IGdldFN0YXRlKCkgfSksICcqJyApOwoJCX0KCgl9CgoJLyoqCgkgKiBXcmFwIGFsbCBsaW5rcyBpbiAzRCBnb29kbmVzcy4KCSAqLwoJZnVuY3Rpb24gZW5hYmxlUm9sbGluZ0xpbmtzKCkgewoKCQlpZiggZmVhdHVyZXMudHJhbnNmb3JtczNkICYmICEoICdtc1BlcnNwZWN0aXZlJyBpbiBkb2N1bWVudC5ib2R5LnN0eWxlICkgKSB7CgkJCXZhciBhbmNob3JzID0gZG9tLndyYXBwZXIucXVlcnlTZWxlY3RvckFsbCggU0xJREVTX1NFTEVDVE9SICsgJyBhJyApOwoKCQkJZm9yKCB2YXIgaSA9IDAsIGxlbiA9IGFuY2hvcnMubGVuZ3RoOyBpIDwgbGVuOyBpKysgKSB7CgkJCQl2YXIgYW5jaG9yID0gYW5jaG9yc1tpXTsKCgkJCQlpZiggYW5jaG9yLnRleHRDb250ZW50ICYmICFhbmNob3IucXVlcnlTZWxlY3RvciggJyonICkgJiYgKCAhYW5jaG9yLmNsYXNzTmFtZSB8fCAhYW5jaG9yLmNsYXNzTGlzdC5jb250YWlucyggYW5jaG9yLCAncm9sbCcgKSApICkgewoJCQkJCXZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwoJCQkJCXNwYW4uc2V0QXR0cmlidXRlKCdkYXRhLXRpdGxlJywgYW5jaG9yLnRleHQpOwoJCQkJCXNwYW4uaW5uZXJIVE1MID0gYW5jaG9yLmlubmVySFRNTDsKCgkJCQkJYW5jaG9yLmNsYXNzTGlzdC5hZGQoICdyb2xsJyApOwoJCQkJCWFuY2hvci5pbm5lckhUTUwgPSAnJzsKCQkJCQlhbmNob3IuYXBwZW5kQ2hpbGQoc3Bhbik7CgkJCQl9CgkJCX0KCQl9CgoJfQoKCS8qKgoJICogVW53cmFwIGFsbCAzRCBsaW5rcy4KCSAqLwoJZnVuY3Rpb24gZGlzYWJsZVJvbGxpbmdMaW5rcygpIHsKCgkJdmFyIGFuY2hvcnMgPSBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBTTElERVNfU0VMRUNUT1IgKyAnIGEucm9sbCcgKTsKCgkJZm9yKCB2YXIgaSA9IDAsIGxlbiA9IGFuY2hvcnMubGVuZ3RoOyBpIDwgbGVuOyBpKysgKSB7CgkJCXZhciBhbmNob3IgPSBhbmNob3JzW2ldOwoJCQl2YXIgc3BhbiA9IGFuY2hvci5xdWVyeVNlbGVjdG9yKCAnc3BhbicgKTsKCgkJCWlmKCBzcGFuICkgewoJCQkJYW5jaG9yLmNsYXNzTGlzdC5yZW1vdmUoICdyb2xsJyApOwoJCQkJYW5jaG9yLmlubmVySFRNTCA9IHNwYW4uaW5uZXJIVE1MOwoJCQl9CgkJfQoKCX0KCgkvKioKCSAqIEJpbmQgcHJldmlldyBmcmFtZSBsaW5rcy4KCSAqLwoJZnVuY3Rpb24gZW5hYmxlUHJldmlld0xpbmtzKCBzZWxlY3RvciApIHsKCgkJdmFyIGFuY2hvcnMgPSB0b0FycmF5KCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCBzZWxlY3RvciA/IHNlbGVjdG9yIDogJ2EnICkgKTsKCgkJYW5jaG9ycy5mb3JFYWNoKCBmdW5jdGlvbiggZWxlbWVudCApIHsKCQkJaWYoIC9eKGh0dHB8d3d3KS9naS50ZXN0KCBlbGVtZW50LmdldEF0dHJpYnV0ZSggJ2hyZWYnICkgKSApIHsKCQkJCWVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgb25QcmV2aWV3TGlua0NsaWNrZWQsIGZhbHNlICk7CgkJCX0KCQl9ICk7CgoJfQoKCS8qKgoJICogVW5iaW5kIHByZXZpZXcgZnJhbWUgbGlua3MuCgkgKi8KCWZ1bmN0aW9uIGRpc2FibGVQcmV2aWV3TGlua3MoKSB7CgoJCXZhciBhbmNob3JzID0gdG9BcnJheSggZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCggJ2EnICkgKTsKCgkJYW5jaG9ycy5mb3JFYWNoKCBmdW5jdGlvbiggZWxlbWVudCApIHsKCQkJaWYoIC9eKGh0dHB8d3d3KS9naS50ZXN0KCBlbGVtZW50LmdldEF0dHJpYnV0ZSggJ2hyZWYnICkgKSApIHsKCQkJCWVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgb25QcmV2aWV3TGlua0NsaWNrZWQsIGZhbHNlICk7CgkJCX0KCQl9ICk7CgoJfQoKCS8qKgoJICogT3BlbnMgYSBwcmV2aWV3IHdpbmRvdyBmb3IgdGhlIHRhcmdldCBVUkwuCgkgKi8KCWZ1bmN0aW9uIHNob3dQcmV2aWV3KCB1cmwgKSB7CgoJCWNsb3NlT3ZlcmxheSgpOwoKCQlkb20ub3ZlcmxheSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdkaXYnICk7CgkJZG9tLm92ZXJsYXkuY2xhc3NMaXN0LmFkZCggJ292ZXJsYXknICk7CgkJZG9tLm92ZXJsYXkuY2xhc3NMaXN0LmFkZCggJ292ZXJsYXktcHJldmlldycgKTsKCQlkb20ud3JhcHBlci5hcHBlbmRDaGlsZCggZG9tLm92ZXJsYXkgKTsKCgkJZG9tLm92ZXJsYXkuaW5uZXJIVE1MID0gWwoJCQknPGhlYWRlcj4nLAoJCQkJJzxhIGNsYXNzPSJjbG9zZSIgaHJlZj0iIyI+PHNwYW4gY2xhc3M9Imljb24iPjwvc3Bhbj48L2E+JywKCQkJCSc8YSBjbGFzcz0iZXh0ZXJuYWwiIGhyZWY9IicrIHVybCArJyIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJpY29uIj48L3NwYW4+PC9hPicsCgkJCSc8L2hlYWRlcj4nLAoJCQknPGRpdiBjbGFzcz0ic3Bpbm5lciI+PC9kaXY+JywKCQkJJzxkaXYgY2xhc3M9InZpZXdwb3J0Ij4nLAoJCQkJJzxpZnJhbWUgc3JjPSInKyB1cmwgKyciPjwvaWZyYW1lPicsCgkJCSc8L2Rpdj4nCgkJXS5qb2luKCcnKTsKCgkJZG9tLm92ZXJsYXkucXVlcnlTZWxlY3RvciggJ2lmcmFtZScgKS5hZGRFdmVudExpc3RlbmVyKCAnbG9hZCcsIGZ1bmN0aW9uKCBldmVudCApIHsKCQkJZG9tLm92ZXJsYXkuY2xhc3NMaXN0LmFkZCggJ2xvYWRlZCcgKTsKCQl9LCBmYWxzZSApOwoKCQlkb20ub3ZlcmxheS5xdWVyeVNlbGVjdG9yKCAnLmNsb3NlJyApLmFkZEV2ZW50TGlzdGVuZXIoICdjbGljaycsIGZ1bmN0aW9uKCBldmVudCApIHsKCQkJY2xvc2VPdmVybGF5KCk7CgkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJfSwgZmFsc2UgKTsKCgkJZG9tLm92ZXJsYXkucXVlcnlTZWxlY3RvciggJy5leHRlcm5hbCcgKS5hZGRFdmVudExpc3RlbmVyKCAnY2xpY2snLCBmdW5jdGlvbiggZXZlbnQgKSB7CgkJCWNsb3NlT3ZlcmxheSgpOwoJCX0sIGZhbHNlICk7CgoJCXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewoJCQlkb20ub3ZlcmxheS5jbGFzc0xpc3QuYWRkKCAndmlzaWJsZScgKTsKCQl9LCAxICk7CgoJfQoKCS8qKgoJICogT3BlbnMgYSBvdmVybGF5IHdpbmRvdyB3aXRoIGhlbHAgbWF0ZXJpYWwuCgkgKi8KCWZ1bmN0aW9uIHNob3dIZWxwKCkgewoKCQlpZiggY29uZmlnLmhlbHAgKSB7CgoJCQljbG9zZU92ZXJsYXkoKTsKCgkJCWRvbS5vdmVybGF5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2RpdicgKTsKCQkJZG9tLm92ZXJsYXkuY2xhc3NMaXN0LmFkZCggJ292ZXJsYXknICk7CgkJCWRvbS5vdmVybGF5LmNsYXNzTGlzdC5hZGQoICdvdmVybGF5LWhlbHAnICk7CgkJCWRvbS53cmFwcGVyLmFwcGVuZENoaWxkKCBkb20ub3ZlcmxheSApOwoKCQkJdmFyIGh0bWwgPSAnPHAgY2xhc3M9InRpdGxlIj5LZXlib2FyZCBTaG9ydGN1dHM8L3A+PGJyLz4nOwoKCQkJaHRtbCArPSAnPHRhYmxlPjx0aD5LRVk8L3RoPjx0aD5BQ1RJT048L3RoPic7CgkJCWZvciggdmFyIGtleSBpbiBrZXlib2FyZFNob3J0Y3V0cyApIHsKCQkJCWh0bWwgKz0gJzx0cj48dGQ+JyArIGtleSArICc8L3RkPjx0ZD4nICsga2V5Ym9hcmRTaG9ydGN1dHNbIGtleSBdICsgJzwvdGQ+PC90cj4nOwoJCQl9CgoJCQlodG1sICs9ICc8L3RhYmxlPic7CgoJCQlkb20ub3ZlcmxheS5pbm5lckhUTUwgPSBbCgkJCQknPGhlYWRlcj4nLAoJCQkJCSc8YSBjbGFzcz0iY2xvc2UiIGhyZWY9IiMiPjxzcGFuIGNsYXNzPSJpY29uIj48L3NwYW4+PC9hPicsCgkJCQknPC9oZWFkZXI+JywKCQkJCSc8ZGl2IGNsYXNzPSJ2aWV3cG9ydCI+JywKCQkJCQknPGRpdiBjbGFzcz0idmlld3BvcnQtaW5uZXIiPicrIGh0bWwgKyc8L2Rpdj4nLAoJCQkJJzwvZGl2PicKCQkJXS5qb2luKCcnKTsKCgkJCWRvbS5vdmVybGF5LnF1ZXJ5U2VsZWN0b3IoICcuY2xvc2UnICkuYWRkRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgZnVuY3Rpb24oIGV2ZW50ICkgewoJCQkJY2xvc2VPdmVybGF5KCk7CgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCQl9LCBmYWxzZSApOwoKCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQlkb20ub3ZlcmxheS5jbGFzc0xpc3QuYWRkKCAndmlzaWJsZScgKTsKCQkJfSwgMSApOwoKCQl9CgoJfQoKCS8qKgoJICogQ2xvc2VzIGFueSBjdXJyZW50bHkgb3BlbiBvdmVybGF5LgoJICovCglmdW5jdGlvbiBjbG9zZU92ZXJsYXkoKSB7CgoJCWlmKCBkb20ub3ZlcmxheSApIHsKCQkJZG9tLm92ZXJsYXkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggZG9tLm92ZXJsYXkgKTsKCQkJZG9tLm92ZXJsYXkgPSBudWxsOwoJCX0KCgl9CgoJLyoqCgkgKiBBcHBsaWVzIEphdmFTY3JpcHQtY29udHJvbGxlZCBsYXlvdXQgcnVsZXMgdG8gdGhlCgkgKiBwcmVzZW50YXRpb24uCgkgKi8KCWZ1bmN0aW9uIGxheW91dCgpIHsKCgkJaWYoIGRvbS53cmFwcGVyICYmICFpc1ByaW50aW5nUERGKCkgKSB7CgoJCQl2YXIgc2l6ZSA9IGdldENvbXB1dGVkU2xpZGVTaXplKCk7CgoJCQl2YXIgc2xpZGVQYWRkaW5nID0gMjA7IC8vIFRPRE8gRGlnIHRoaXMgb3V0IG9mIERPTQoKCQkJLy8gTGF5b3V0IHRoZSBjb250ZW50cyBvZiB0aGUgc2xpZGVzCgkJCWxheW91dFNsaWRlQ29udGVudHMoIGNvbmZpZy53aWR0aCwgY29uZmlnLmhlaWdodCwgc2xpZGVQYWRkaW5nICk7CgoJCQlkb20uc2xpZGVzLnN0eWxlLndpZHRoID0gc2l6ZS53aWR0aCArICdweCc7CgkJCWRvbS5zbGlkZXMuc3R5bGUuaGVpZ2h0ID0gc2l6ZS5oZWlnaHQgKyAncHgnOwoKCQkJLy8gRGV0ZXJtaW5lIHNjYWxlIG9mIGNvbnRlbnQgdG8gZml0IHdpdGhpbiBhdmFpbGFibGUgc3BhY2UKCQkJc2NhbGUgPSBNYXRoLm1pbiggc2l6ZS5wcmVzZW50YXRpb25XaWR0aCAvIHNpemUud2lkdGgsIHNpemUucHJlc2VudGF0aW9uSGVpZ2h0IC8gc2l6ZS5oZWlnaHQgKTsKCgkJCS8vIFJlc3BlY3QgbWF4L21pbiBzY2FsZSBzZXR0aW5ncwoJCQlzY2FsZSA9IE1hdGgubWF4KCBzY2FsZSwgY29uZmlnLm1pblNjYWxlICk7CgkJCXNjYWxlID0gTWF0aC5taW4oIHNjYWxlLCBjb25maWcubWF4U2NhbGUgKTsKCgkJCS8vIERvbid0IGFwcGx5IGFueSBzY2FsaW5nIHN0eWxlcyBpZiBzY2FsZSBpcyAxCgkJCWlmKCBzY2FsZSA9PT0gMSApIHsKCQkJCWRvbS5zbGlkZXMuc3R5bGUuem9vbSA9ICcnOwoJCQkJZG9tLnNsaWRlcy5zdHlsZS5sZWZ0ID0gJyc7CgkJCQlkb20uc2xpZGVzLnN0eWxlLnRvcCA9ICcnOwoJCQkJZG9tLnNsaWRlcy5zdHlsZS5ib3R0b20gPSAnJzsKCQkJCWRvbS5zbGlkZXMuc3R5bGUucmlnaHQgPSAnJzsKCQkJCXRyYW5zZm9ybVNsaWRlcyggeyBsYXlvdXQ6ICcnIH0gKTsKCQkJfQoJCQllbHNlIHsKCQkJCS8vIFVzZSB6b29tIHRvIHNjYWxlIHVwIGluIGRlc2t0b3AgQ2hyb21lIHNvIHRoYXQgY29udGVudAoJCQkJLy8gcmVtYWlucyBjcmlzcC4gV2UgZG9uJ3QgdXNlIHpvb20gdG8gc2NhbGUgZG93biBzaW5jZSB0aGF0CgkJCQkvLyBjYW4gbGVhZCB0byBzaGlmdHMgaW4gdGV4dCBsYXlvdXQvbGluZSBicmVha3MuCgkJCQlpZiggc2NhbGUgPiAxICYmICFpc01vYmlsZURldmljZSAmJiAvY2hyb21lL2kudGVzdCggbmF2aWdhdG9yLnVzZXJBZ2VudCApICYmIHR5cGVvZiBkb20uc2xpZGVzLnN0eWxlLnpvb20gIT09ICd1bmRlZmluZWQnICkgewoJCQkJCWRvbS5zbGlkZXMuc3R5bGUuem9vbSA9IHNjYWxlOwoJCQkJCWRvbS5zbGlkZXMuc3R5bGUubGVmdCA9ICcnOwoJCQkJCWRvbS5zbGlkZXMuc3R5bGUudG9wID0gJyc7CgkJCQkJZG9tLnNsaWRlcy5zdHlsZS5ib3R0b20gPSAnJzsKCQkJCQlkb20uc2xpZGVzLnN0eWxlLnJpZ2h0ID0gJyc7CgkJCQkJdHJhbnNmb3JtU2xpZGVzKCB7IGxheW91dDogJycgfSApOwoJCQkJfQoJCQkJLy8gQXBwbHkgc2NhbGUgdHJhbnNmb3JtIGFzIGEgZmFsbGJhY2sKCQkJCWVsc2UgewoJCQkJCWRvbS5zbGlkZXMuc3R5bGUuem9vbSA9ICcnOwoJCQkJCWRvbS5zbGlkZXMuc3R5bGUubGVmdCA9ICc1MCUnOwoJCQkJCWRvbS5zbGlkZXMuc3R5bGUudG9wID0gJzUwJSc7CgkJCQkJZG9tLnNsaWRlcy5zdHlsZS5ib3R0b20gPSAnYXV0byc7CgkJCQkJZG9tLnNsaWRlcy5zdHlsZS5yaWdodCA9ICdhdXRvJzsKCQkJCQl0cmFuc2Zvcm1TbGlkZXMoIHsgbGF5b3V0OiAndHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKCcrIHNjYWxlICsnKScgfSApOwoJCQkJfQoJCQl9CgoJCQkvLyBTZWxlY3QgYWxsIHNsaWRlcywgdmVydGljYWwgYW5kIGhvcml6b250YWwKCQkJdmFyIHNsaWRlcyA9IHRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIFNMSURFU19TRUxFQ1RPUiApICk7CgoJCQlmb3IoIHZhciBpID0gMCwgbGVuID0gc2xpZGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrICkgewoJCQkJdmFyIHNsaWRlID0gc2xpZGVzWyBpIF07CgoJCQkJLy8gRG9uJ3QgYm90aGVyIHVwZGF0aW5nIGludmlzaWJsZSBzbGlkZXMKCQkJCWlmKCBzbGlkZS5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgKSB7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJaWYoIGNvbmZpZy5jZW50ZXIgfHwgc2xpZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCAnY2VudGVyJyApICkgewoJCQkJCS8vIFZlcnRpY2FsIHN0YWNrcyBhcmUgbm90IGNlbnRyZWQgc2luY2UgdGhlaXIgc2VjdGlvbgoJCQkJCS8vIGNoaWxkcmVuIHdpbGwgYmUKCQkJCQlpZiggc2xpZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCAnc3RhY2snICkgKSB7CgkJCQkJCXNsaWRlLnN0eWxlLnRvcCA9IDA7CgkJCQkJfQoJCQkJCWVsc2UgewoJCQkJCQlzbGlkZS5zdHlsZS50b3AgPSBNYXRoLm1heCggKCAoIHNpemUuaGVpZ2h0IC0gZ2V0QWJzb2x1dGVIZWlnaHQoIHNsaWRlICkgKSAvIDIgKSAtIHNsaWRlUGFkZGluZywgMCApICsgJ3B4JzsKCQkJCQl9CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlzbGlkZS5zdHlsZS50b3AgPSAnJzsKCQkJCX0KCgkJCX0KCgkJCXVwZGF0ZVByb2dyZXNzKCk7CgkJCXVwZGF0ZVBhcmFsbGF4KCk7CgoJCX0KCgl9CgoJLyoqCgkgKiBBcHBsaWVzIGxheW91dCBsb2dpYyB0byB0aGUgY29udGVudHMgb2YgYWxsIHNsaWRlcyBpbgoJICogdGhlIHByZXNlbnRhdGlvbi4KCSAqLwoJZnVuY3Rpb24gbGF5b3V0U2xpZGVDb250ZW50cyggd2lkdGgsIGhlaWdodCwgcGFkZGluZyApIHsKCgkJLy8gSGFuZGxlIHNpemluZyBvZiBlbGVtZW50cyB3aXRoIHRoZSAnc3RyZXRjaCcgY2xhc3MKCQl0b0FycmF5KCBkb20uc2xpZGVzLnF1ZXJ5U2VsZWN0b3JBbGwoICdzZWN0aW9uID4gLnN0cmV0Y2gnICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggZWxlbWVudCApIHsKCgkJCS8vIERldGVybWluZSBob3cgbXVjaCB2ZXJ0aWNhbCBzcGFjZSB3ZSBjYW4gdXNlCgkJCXZhciByZW1haW5pbmdIZWlnaHQgPSBnZXRSZW1haW5pbmdIZWlnaHQoIGVsZW1lbnQsIGhlaWdodCApOwoKCQkJLy8gQ29uc2lkZXIgdGhlIGFzcGVjdCByYXRpbyBvZiBtZWRpYSBlbGVtZW50cwoJCQlpZiggLyhpbWd8dmlkZW8pL2dpLnRlc3QoIGVsZW1lbnQubm9kZU5hbWUgKSApIHsKCQkJCXZhciBudyA9IGVsZW1lbnQubmF0dXJhbFdpZHRoIHx8IGVsZW1lbnQudmlkZW9XaWR0aCwKCQkJCQluaCA9IGVsZW1lbnQubmF0dXJhbEhlaWdodCB8fCBlbGVtZW50LnZpZGVvSGVpZ2h0OwoKCQkJCXZhciBlcyA9IE1hdGgubWluKCB3aWR0aCAvIG53LCByZW1haW5pbmdIZWlnaHQgLyBuaCApOwoKCQkJCWVsZW1lbnQuc3R5bGUud2lkdGggPSAoIG53ICogZXMgKSArICdweCc7CgkJCQllbGVtZW50LnN0eWxlLmhlaWdodCA9ICggbmggKiBlcyApICsgJ3B4JzsKCgkJCX0KCQkJZWxzZSB7CgkJCQllbGVtZW50LnN0eWxlLndpZHRoID0gd2lkdGggKyAncHgnOwoJCQkJZWxlbWVudC5zdHlsZS5oZWlnaHQgPSByZW1haW5pbmdIZWlnaHQgKyAncHgnOwoJCQl9CgoJCX0gKTsKCgl9CgoJLyoqCgkgKiBDYWxjdWxhdGVzIHRoZSBjb21wdXRlZCBwaXhlbCBzaXplIG9mIG91ciBzbGlkZXMuIFRoZXNlCgkgKiB2YWx1ZXMgYXJlIGJhc2VkIG9uIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGNvbmZpZ3VyYXRpb24KCSAqIG9wdGlvbnMuCgkgKi8KCWZ1bmN0aW9uIGdldENvbXB1dGVkU2xpZGVTaXplKCBwcmVzZW50YXRpb25XaWR0aCwgcHJlc2VudGF0aW9uSGVpZ2h0ICkgewoKCQl2YXIgc2l6ZSA9IHsKCQkJLy8gU2xpZGUgc2l6ZQoJCQl3aWR0aDogY29uZmlnLndpZHRoLAoJCQloZWlnaHQ6IGNvbmZpZy5oZWlnaHQsCgoJCQkvLyBQcmVzZW50YXRpb24gc2l6ZQoJCQlwcmVzZW50YXRpb25XaWR0aDogcHJlc2VudGF0aW9uV2lkdGggfHwgZG9tLndyYXBwZXIub2Zmc2V0V2lkdGgsCgkJCXByZXNlbnRhdGlvbkhlaWdodDogcHJlc2VudGF0aW9uSGVpZ2h0IHx8IGRvbS53cmFwcGVyLm9mZnNldEhlaWdodAoJCX07CgoJCS8vIFJlZHVjZSBhdmFpbGFibGUgc3BhY2UgYnkgbWFyZ2luCgkJc2l6ZS5wcmVzZW50YXRpb25XaWR0aCAtPSAoIHNpemUucHJlc2VudGF0aW9uV2lkdGggKiBjb25maWcubWFyZ2luICk7CgkJc2l6ZS5wcmVzZW50YXRpb25IZWlnaHQgLT0gKCBzaXplLnByZXNlbnRhdGlvbkhlaWdodCAqIGNvbmZpZy5tYXJnaW4gKTsKCgkJLy8gU2xpZGUgd2lkdGggbWF5IGJlIGEgcGVyY2VudGFnZSBvZiBhdmFpbGFibGUgd2lkdGgKCQlpZiggdHlwZW9mIHNpemUud2lkdGggPT09ICdzdHJpbmcnICYmIC8lJC8udGVzdCggc2l6ZS53aWR0aCApICkgewoJCQlzaXplLndpZHRoID0gcGFyc2VJbnQoIHNpemUud2lkdGgsIDEwICkgLyAxMDAgKiBzaXplLnByZXNlbnRhdGlvbldpZHRoOwoJCX0KCgkJLy8gU2xpZGUgaGVpZ2h0IG1heSBiZSBhIHBlcmNlbnRhZ2Ugb2YgYXZhaWxhYmxlIGhlaWdodAoJCWlmKCB0eXBlb2Ygc2l6ZS5oZWlnaHQgPT09ICdzdHJpbmcnICYmIC8lJC8udGVzdCggc2l6ZS5oZWlnaHQgKSApIHsKCQkJc2l6ZS5oZWlnaHQgPSBwYXJzZUludCggc2l6ZS5oZWlnaHQsIDEwICkgLyAxMDAgKiBzaXplLnByZXNlbnRhdGlvbkhlaWdodDsKCQl9CgoJCXJldHVybiBzaXplOwoKCX0KCgkvKioKCSAqIFN0b3JlcyB0aGUgdmVydGljYWwgaW5kZXggb2YgYSBzdGFjayBzbyB0aGF0IHRoZSBzYW1lCgkgKiB2ZXJ0aWNhbCBzbGlkZSBjYW4gYmUgc2VsZWN0ZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGFuZAoJICogZnJvbSB0aGUgc3RhY2suCgkgKgoJICogQHBhcmFtIHtIVE1MRWxlbWVudH0gc3RhY2sgVGhlIHZlcnRpY2FsIHN0YWNrIGVsZW1lbnQKCSAqIEBwYXJhbSB7aW50fSB2IEluZGV4IHRvIG1lbW9yaXplCgkgKi8KCWZ1bmN0aW9uIHNldFByZXZpb3VzVmVydGljYWxJbmRleCggc3RhY2ssIHYgKSB7CgoJCWlmKCB0eXBlb2Ygc3RhY2sgPT09ICdvYmplY3QnICYmIHR5cGVvZiBzdGFjay5zZXRBdHRyaWJ1dGUgPT09ICdmdW5jdGlvbicgKSB7CgkJCXN0YWNrLnNldEF0dHJpYnV0ZSggJ2RhdGEtcHJldmlvdXMtaW5kZXh2JywgdiB8fCAwICk7CgkJfQoKCX0KCgkvKioKCSAqIFJldHJpZXZlcyB0aGUgdmVydGljYWwgaW5kZXggd2hpY2ggd2FzIHN0b3JlZCB1c2luZwoJICogI3NldFByZXZpb3VzVmVydGljYWxJbmRleCgpIG9yIDAgaWYgbm8gcHJldmlvdXMgaW5kZXgKCSAqIGV4aXN0cy4KCSAqCgkgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBzdGFjayBUaGUgdmVydGljYWwgc3RhY2sgZWxlbWVudAoJICovCglmdW5jdGlvbiBnZXRQcmV2aW91c1ZlcnRpY2FsSW5kZXgoIHN0YWNrICkgewoKCQlpZiggdHlwZW9mIHN0YWNrID09PSAnb2JqZWN0JyAmJiB0eXBlb2Ygc3RhY2suc2V0QXR0cmlidXRlID09PSAnZnVuY3Rpb24nICYmIHN0YWNrLmNsYXNzTGlzdC5jb250YWlucyggJ3N0YWNrJyApICkgewoJCQkvLyBQcmVmZXIgbWFudWFsbHkgZGVmaW5lZCBzdGFydC1pbmRleHYKCQkJdmFyIGF0dHJpYnV0ZU5hbWUgPSBzdGFjay5oYXNBdHRyaWJ1dGUoICdkYXRhLXN0YXJ0LWluZGV4dicgKSA/ICdkYXRhLXN0YXJ0LWluZGV4dicgOiAnZGF0YS1wcmV2aW91cy1pbmRleHYnOwoKCQkJcmV0dXJuIHBhcnNlSW50KCBzdGFjay5nZXRBdHRyaWJ1dGUoIGF0dHJpYnV0ZU5hbWUgKSB8fCAwLCAxMCApOwoJCX0KCgkJcmV0dXJuIDA7CgoJfQoKCS8qKgoJICogRGlzcGxheXMgdGhlIG92ZXJ2aWV3IG9mIHNsaWRlcyAocXVpY2sgbmF2KSBieSBzY2FsaW5nCgkgKiBkb3duIGFuZCBhcnJhbmdpbmcgYWxsIHNsaWRlIGVsZW1lbnRzLgoJICovCglmdW5jdGlvbiBhY3RpdmF0ZU92ZXJ2aWV3KCkgewoKCQkvLyBPbmx5IHByb2NlZWQgaWYgZW5hYmxlZCBpbiBjb25maWcKCQlpZiggY29uZmlnLm92ZXJ2aWV3ICYmICFpc092ZXJ2aWV3KCkgKSB7CgoJCQlvdmVydmlldyA9IHRydWU7CgoJCQlkb20ud3JhcHBlci5jbGFzc0xpc3QuYWRkKCAnb3ZlcnZpZXcnICk7CgkJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoICdvdmVydmlldy1kZWFjdGl2YXRpbmcnICk7CgoJCQlpZiggZmVhdHVyZXMub3ZlcnZpZXdUcmFuc2l0aW9ucyApIHsKCQkJCXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewoJCQkJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5hZGQoICdvdmVydmlldy1hbmltYXRlZCcgKTsKCQkJCX0sIDEgKTsKCQkJfQoKCQkJLy8gRG9uJ3QgYXV0by1zbGlkZSB3aGlsZSBpbiBvdmVydmlldyBtb2RlCgkJCWNhbmNlbEF1dG9TbGlkZSgpOwoKCQkJLy8gTW92ZSB0aGUgYmFja2dyb3VuZHMgZWxlbWVudCBpbnRvIHRoZSBzbGlkZSBjb250YWluZXIgdG8KCQkJLy8gdGhhdCB0aGUgc2FtZSBzY2FsaW5nIGlzIGFwcGxpZWQKCQkJZG9tLnNsaWRlcy5hcHBlbmRDaGlsZCggZG9tLmJhY2tncm91bmQgKTsKCgkJCS8vIENsaWNraW5nIG9uIGFuIG92ZXJ2aWV3IHNsaWRlIG5hdmlnYXRlcyB0byBpdAoJCQl0b0FycmF5KCBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBTTElERVNfU0VMRUNUT1IgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBzbGlkZSApIHsKCQkJCWlmKCAhc2xpZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCAnc3RhY2snICkgKSB7CgkJCQkJc2xpZGUuYWRkRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgb25PdmVydmlld1NsaWRlQ2xpY2tlZCwgdHJ1ZSApOwoJCQkJfQoJCQl9ICk7CgoJCQl1cGRhdGVTbGlkZXNWaXNpYmlsaXR5KCk7CgkJCWxheW91dE92ZXJ2aWV3KCk7CgkJCXVwZGF0ZU92ZXJ2aWV3KCk7CgoJCQlsYXlvdXQoKTsKCgkJCS8vIE5vdGlmeSBvYnNlcnZlcnMgb2YgdGhlIG92ZXJ2aWV3IHNob3dpbmcKCQkJZGlzcGF0Y2hFdmVudCggJ292ZXJ2aWV3c2hvd24nLCB7CgkJCQknaW5kZXhoJzogaW5kZXhoLAoJCQkJJ2luZGV4dic6IGluZGV4diwKCQkJCSdjdXJyZW50U2xpZGUnOiBjdXJyZW50U2xpZGUKCQkJfSApOwoKCQl9CgoJfQoKCS8qKgoJICogVXNlcyBDU1MgdHJhbnNmb3JtcyB0byBwb3NpdGlvbiBhbGwgc2xpZGVzIGluIGEgZ3JpZCBmb3IKCSAqIGRpc3BsYXkgaW5zaWRlIG9mIHRoZSBvdmVydmlldyBtb2RlLgoJICovCglmdW5jdGlvbiBsYXlvdXRPdmVydmlldygpIHsKCgkJdmFyIG1hcmdpbiA9IDcwOwoJCXZhciBzbGlkZVdpZHRoID0gY29uZmlnLndpZHRoICsgbWFyZ2luLAoJCQlzbGlkZUhlaWdodCA9IGNvbmZpZy5oZWlnaHQgKyBtYXJnaW47CgoJCS8vIFJldmVyc2UgaW4gUlRMIG1vZGUKCQlpZiggY29uZmlnLnJ0bCApIHsKCQkJc2xpZGVXaWR0aCA9IC1zbGlkZVdpZHRoOwoJCX0KCgkJLy8gTGF5b3V0IHNsaWRlcwoJCXRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIEhPUklaT05UQUxfU0xJREVTX1NFTEVDVE9SICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggaHNsaWRlLCBoICkgewoJCQloc2xpZGUuc2V0QXR0cmlidXRlKCAnZGF0YS1pbmRleC1oJywgaCApOwoJCQl0cmFuc2Zvcm1FbGVtZW50KCBoc2xpZGUsICd0cmFuc2xhdGUzZCgnICsgKCBoICogc2xpZGVXaWR0aCApICsgJ3B4LCAwLCAwKScgKTsKCgkJCWlmKCBoc2xpZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCAnc3RhY2snICkgKSB7CgoJCQkJdG9BcnJheSggaHNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICdzZWN0aW9uJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIHZzbGlkZSwgdiApIHsKCQkJCQl2c2xpZGUuc2V0QXR0cmlidXRlKCAnZGF0YS1pbmRleC1oJywgaCApOwoJCQkJCXZzbGlkZS5zZXRBdHRyaWJ1dGUoICdkYXRhLWluZGV4LXYnLCB2ICk7CgoJCQkJCXRyYW5zZm9ybUVsZW1lbnQoIHZzbGlkZSwgJ3RyYW5zbGF0ZTNkKDAsICcgKyAoIHYgKiBzbGlkZUhlaWdodCApICsgJ3B4LCAwKScgKTsKCQkJCX0gKTsKCgkJCX0KCQl9ICk7CgoJCS8vIExheW91dCBzbGlkZSBiYWNrZ3JvdW5kcwoJCXRvQXJyYXkoIGRvbS5iYWNrZ3JvdW5kLmNoaWxkTm9kZXMgKS5mb3JFYWNoKCBmdW5jdGlvbiggaGJhY2tncm91bmQsIGggKSB7CgkJCXRyYW5zZm9ybUVsZW1lbnQoIGhiYWNrZ3JvdW5kLCAndHJhbnNsYXRlM2QoJyArICggaCAqIHNsaWRlV2lkdGggKSArICdweCwgMCwgMCknICk7CgoJCQl0b0FycmF5KCBoYmFja2dyb3VuZC5xdWVyeVNlbGVjdG9yQWxsKCAnLnNsaWRlLWJhY2tncm91bmQnICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggdmJhY2tncm91bmQsIHYgKSB7CgkJCQl0cmFuc2Zvcm1FbGVtZW50KCB2YmFja2dyb3VuZCwgJ3RyYW5zbGF0ZTNkKDAsICcgKyAoIHYgKiBzbGlkZUhlaWdodCApICsgJ3B4LCAwKScgKTsKCQkJfSApOwoJCX0gKTsKCgl9CgoJLyoqCgkgKiBNb3ZlcyB0aGUgb3ZlcnZpZXcgdmlld3BvcnQgdG8gdGhlIGN1cnJlbnQgc2xpZGVzLgoJICogQ2FsbGVkIGVhY2ggdGltZSB0aGUgY3VycmVudCBzbGlkZSBjaGFuZ2VzLgoJICovCglmdW5jdGlvbiB1cGRhdGVPdmVydmlldygpIHsKCgkJdmFyIG1hcmdpbiA9IDcwOwoJCXZhciBzbGlkZVdpZHRoID0gY29uZmlnLndpZHRoICsgbWFyZ2luLAoJCQlzbGlkZUhlaWdodCA9IGNvbmZpZy5oZWlnaHQgKyBtYXJnaW47CgoJCS8vIFJldmVyc2UgaW4gUlRMIG1vZGUKCQlpZiggY29uZmlnLnJ0bCApIHsKCQkJc2xpZGVXaWR0aCA9IC1zbGlkZVdpZHRoOwoJCX0KCgkJdHJhbnNmb3JtU2xpZGVzKCB7CgkJCW92ZXJ2aWV3OiBbCgkJCQkndHJhbnNsYXRlWCgnKyAoIC1pbmRleGggKiBzbGlkZVdpZHRoICkgKydweCknLAoJCQkJJ3RyYW5zbGF0ZVkoJysgKCAtaW5kZXh2ICogc2xpZGVIZWlnaHQgKSArJ3B4KScsCgkJCQkndHJhbnNsYXRlWignKyAoIHdpbmRvdy5pbm5lcldpZHRoIDwgNDAwID8gLTEwMDAgOiAtMjUwMCApICsncHgpJwoJCQldLmpvaW4oICcgJyApCgkJfSApOwoKCX0KCgkvKioKCSAqIEV4aXRzIHRoZSBzbGlkZSBvdmVydmlldyBhbmQgZW50ZXJzIHRoZSBjdXJyZW50bHkKCSAqIGFjdGl2ZSBzbGlkZS4KCSAqLwoJZnVuY3Rpb24gZGVhY3RpdmF0ZU92ZXJ2aWV3KCkgewoKCQkvLyBPbmx5IHByb2NlZWQgaWYgZW5hYmxlZCBpbiBjb25maWcKCQlpZiggY29uZmlnLm92ZXJ2aWV3ICkgewoKCQkJb3ZlcnZpZXcgPSBmYWxzZTsKCgkJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoICdvdmVydmlldycgKTsKCQkJZG9tLndyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSggJ292ZXJ2aWV3LWFuaW1hdGVkJyApOwoKCQkJLy8gVGVtcG9yYXJpbHkgYWRkIGEgY2xhc3Mgc28gdGhhdCB0cmFuc2l0aW9ucyBjYW4gZG8gZGlmZmVyZW50IHRoaW5ncwoJCQkvLyBkZXBlbmRpbmcgb24gd2hldGhlciB0aGV5IGFyZSBleGl0aW5nL2VudGVyaW5nIG92ZXJ2aWV3LCBvciBqdXN0CgkJCS8vIG1vdmluZyBmcm9tIHNsaWRlIHRvIHNsaWRlCgkJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5hZGQoICdvdmVydmlldy1kZWFjdGl2YXRpbmcnICk7CgoJCQlzZXRUaW1lb3V0KCBmdW5jdGlvbiAoKSB7CgkJCQlkb20ud3JhcHBlci5jbGFzc0xpc3QucmVtb3ZlKCAnb3ZlcnZpZXctZGVhY3RpdmF0aW5nJyApOwoJCQl9LCAxICk7CgoJCQkvLyBNb3ZlIHRoZSBiYWNrZ3JvdW5kIGVsZW1lbnQgYmFjayBvdXQKCQkJZG9tLndyYXBwZXIuYXBwZW5kQ2hpbGQoIGRvbS5iYWNrZ3JvdW5kICk7CgoJCQkvLyBDbGVhbiB1cCBjaGFuZ2VzIG1hZGUgdG8gc2xpZGVzCgkJCXRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIFNMSURFU19TRUxFQ1RPUiApICkuZm9yRWFjaCggZnVuY3Rpb24oIHNsaWRlICkgewoJCQkJdHJhbnNmb3JtRWxlbWVudCggc2xpZGUsICcnICk7CgoJCQkJc2xpZGUucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgb25PdmVydmlld1NsaWRlQ2xpY2tlZCwgdHJ1ZSApOwoJCQl9ICk7CgoJCQkvLyBDbGVhbiB1cCBjaGFuZ2VzIG1hZGUgdG8gYmFja2dyb3VuZHMKCQkJdG9BcnJheSggZG9tLmJhY2tncm91bmQucXVlcnlTZWxlY3RvckFsbCggJy5zbGlkZS1iYWNrZ3JvdW5kJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIGJhY2tncm91bmQgKSB7CgkJCQl0cmFuc2Zvcm1FbGVtZW50KCBiYWNrZ3JvdW5kLCAnJyApOwoJCQl9ICk7CgoJCQl0cmFuc2Zvcm1TbGlkZXMoIHsgb3ZlcnZpZXc6ICcnIH0gKTsKCgkJCXNsaWRlKCBpbmRleGgsIGluZGV4diApOwoKCQkJbGF5b3V0KCk7CgoJCQljdWVBdXRvU2xpZGUoKTsKCgkJCS8vIE5vdGlmeSBvYnNlcnZlcnMgb2YgdGhlIG92ZXJ2aWV3IGhpZGluZwoJCQlkaXNwYXRjaEV2ZW50KCAnb3ZlcnZpZXdoaWRkZW4nLCB7CgkJCQknaW5kZXhoJzogaW5kZXhoLAoJCQkJJ2luZGV4dic6IGluZGV4diwKCQkJCSdjdXJyZW50U2xpZGUnOiBjdXJyZW50U2xpZGUKCQkJfSApOwoKCQl9Cgl9CgoJLyoqCgkgKiBUb2dnbGVzIHRoZSBzbGlkZSBvdmVydmlldyBtb2RlIG9uIGFuZCBvZmYuCgkgKgoJICogQHBhcmFtIHtCb29sZWFufSBvdmVycmlkZSBPcHRpb25hbCBmbGFnIHdoaWNoIG92ZXJyaWRlcyB0aGUKCSAqIHRvZ2dsZSBsb2dpYyBhbmQgZm9yY2libHkgc2V0cyB0aGUgZGVzaXJlZCBzdGF0ZS4gVHJ1ZSBtZWFucwoJICogb3ZlcnZpZXcgaXMgb3BlbiwgZmFsc2UgbWVhbnMgaXQncyBjbG9zZWQuCgkgKi8KCWZ1bmN0aW9uIHRvZ2dsZU92ZXJ2aWV3KCBvdmVycmlkZSApIHsKCgkJaWYoIHR5cGVvZiBvdmVycmlkZSA9PT0gJ2Jvb2xlYW4nICkgewoJCQlvdmVycmlkZSA/IGFjdGl2YXRlT3ZlcnZpZXcoKSA6IGRlYWN0aXZhdGVPdmVydmlldygpOwoJCX0KCQllbHNlIHsKCQkJaXNPdmVydmlldygpID8gZGVhY3RpdmF0ZU92ZXJ2aWV3KCkgOiBhY3RpdmF0ZU92ZXJ2aWV3KCk7CgkJfQoKCX0KCgkvKioKCSAqIENoZWNrcyBpZiB0aGUgb3ZlcnZpZXcgaXMgY3VycmVudGx5IGFjdGl2ZS4KCSAqCgkgKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIGlmIHRoZSBvdmVydmlldyBpcyBhY3RpdmUsCgkgKiBmYWxzZSBvdGhlcndpc2UKCSAqLwoJZnVuY3Rpb24gaXNPdmVydmlldygpIHsKCgkJcmV0dXJuIG92ZXJ2aWV3OwoKCX0KCgkvKioKCSAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBvciBzcGVjaWZpZWQgc2xpZGUgaXMgdmVydGljYWwKCSAqIChuZXN0ZWQgd2l0aGluIGFub3RoZXIgc2xpZGUpLgoJICoKCSAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHNsaWRlIFtvcHRpb25hbF0gVGhlIHNsaWRlIHRvIGNoZWNrCgkgKiBvcmllbnRhdGlvbiBvZgoJICovCglmdW5jdGlvbiBpc1ZlcnRpY2FsU2xpZGUoIHNsaWRlICkgewoKCQkvLyBQcmVmZXIgc2xpZGUgYXJndW1lbnQsIG90aGVyd2lzZSB1c2UgY3VycmVudCBzbGlkZQoJCXNsaWRlID0gc2xpZGUgPyBzbGlkZSA6IGN1cnJlbnRTbGlkZTsKCgkJcmV0dXJuIHNsaWRlICYmIHNsaWRlLnBhcmVudE5vZGUgJiYgISFzbGlkZS5wYXJlbnROb2RlLm5vZGVOYW1lLm1hdGNoKCAvc2VjdGlvbi9pICk7CgoJfQoKCS8qKgoJICogSGFuZGxpbmcgdGhlIGZ1bGxzY3JlZW4gZnVuY3Rpb25hbGl0eSB2aWEgdGhlIGZ1bGxzY3JlZW4gQVBJCgkgKgoJICogQHNlZSBodHRwOi8vZnVsbHNjcmVlbi5zcGVjLndoYXR3Zy5vcmcvCgkgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvRE9NL1VzaW5nX2Z1bGxzY3JlZW5fbW9kZQoJICovCglmdW5jdGlvbiBlbnRlckZ1bGxzY3JlZW4oKSB7CgoJCXZhciBlbGVtZW50ID0gZG9jdW1lbnQuYm9keTsKCgkJLy8gQ2hlY2sgd2hpY2ggaW1wbGVtZW50YXRpb24gaXMgYXZhaWxhYmxlCgkJdmFyIHJlcXVlc3RNZXRob2QgPSBlbGVtZW50LnJlcXVlc3RGdWxsU2NyZWVuIHx8CgkJCQkJCQllbGVtZW50LndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuIHx8CgkJCQkJCQllbGVtZW50LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuIHx8CgkJCQkJCQllbGVtZW50Lm1velJlcXVlc3RGdWxsU2NyZWVuIHx8CgkJCQkJCQllbGVtZW50Lm1zUmVxdWVzdEZ1bGxzY3JlZW47CgoJCWlmKCByZXF1ZXN0TWV0aG9kICkgewoJCQlyZXF1ZXN0TWV0aG9kLmFwcGx5KCBlbGVtZW50ICk7CgkJfQoKCX0KCgkvKioKCSAqIEVudGVycyB0aGUgcGF1c2VkIG1vZGUgd2hpY2ggZmFkZXMgZXZlcnl0aGluZyBvbiBzY3JlZW4gdG8KCSAqIGJsYWNrLgoJICovCglmdW5jdGlvbiBwYXVzZSgpIHsKCgkJaWYoIGNvbmZpZy5wYXVzZSApIHsKCQkJdmFyIHdhc1BhdXNlZCA9IGRvbS53cmFwcGVyLmNsYXNzTGlzdC5jb250YWlucyggJ3BhdXNlZCcgKTsKCgkJCWNhbmNlbEF1dG9TbGlkZSgpOwoJCQlkb20ud3JhcHBlci5jbGFzc0xpc3QuYWRkKCAncGF1c2VkJyApOwoKCQkJaWYoIHdhc1BhdXNlZCA9PT0gZmFsc2UgKSB7CgkJCQlkaXNwYXRjaEV2ZW50KCAncGF1c2VkJyApOwoJCQl9CgkJfQoKCX0KCgkvKioKCSAqIEV4aXRzIGZyb20gdGhlIHBhdXNlZCBtb2RlLgoJICovCglmdW5jdGlvbiByZXN1bWUoKSB7CgoJCXZhciB3YXNQYXVzZWQgPSBkb20ud3JhcHBlci5jbGFzc0xpc3QuY29udGFpbnMoICdwYXVzZWQnICk7CgkJZG9tLndyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSggJ3BhdXNlZCcgKTsKCgkJY3VlQXV0b1NsaWRlKCk7CgoJCWlmKCB3YXNQYXVzZWQgKSB7CgkJCWRpc3BhdGNoRXZlbnQoICdyZXN1bWVkJyApOwoJCX0KCgl9CgoJLyoqCgkgKiBUb2dnbGVzIHRoZSBwYXVzZWQgbW9kZSBvbiBhbmQgb2ZmLgoJICovCglmdW5jdGlvbiB0b2dnbGVQYXVzZSggb3ZlcnJpZGUgKSB7CgoJCWlmKCB0eXBlb2Ygb3ZlcnJpZGUgPT09ICdib29sZWFuJyApIHsKCQkJb3ZlcnJpZGUgPyBwYXVzZSgpIDogcmVzdW1lKCk7CgkJfQoJCWVsc2UgewoJCQlpc1BhdXNlZCgpID8gcmVzdW1lKCkgOiBwYXVzZSgpOwoJCX0KCgl9CgoJLyoqCgkgKiBDaGVja3MgaWYgd2UgYXJlIGN1cnJlbnRseSBpbiB0aGUgcGF1c2VkIG1vZGUuCgkgKi8KCWZ1bmN0aW9uIGlzUGF1c2VkKCkgewoKCQlyZXR1cm4gZG9tLndyYXBwZXIuY2xhc3NMaXN0LmNvbnRhaW5zKCAncGF1c2VkJyApOwoKCX0KCgkvKioKCSAqIFRvZ2dsZXMgdGhlIGF1dG8gc2xpZGUgbW9kZSBvbiBhbmQgb2ZmLgoJICoKCSAqIEBwYXJhbSB7Qm9vbGVhbn0gb3ZlcnJpZGUgT3B0aW9uYWwgZmxhZyB3aGljaCBzZXRzIHRoZSBkZXNpcmVkIHN0YXRlLgoJICogVHJ1ZSBtZWFucyBhdXRvcGxheSBzdGFydHMsIGZhbHNlIG1lYW5zIGl0IHN0b3BzLgoJICovCgoJZnVuY3Rpb24gdG9nZ2xlQXV0b1NsaWRlKCBvdmVycmlkZSApIHsKCgkJaWYoIHR5cGVvZiBvdmVycmlkZSA9PT0gJ2Jvb2xlYW4nICkgewoJCQlvdmVycmlkZSA/IHJlc3VtZUF1dG9TbGlkZSgpIDogcGF1c2VBdXRvU2xpZGUoKTsKCQl9CgoJCWVsc2UgewoJCQlhdXRvU2xpZGVQYXVzZWQgPyByZXN1bWVBdXRvU2xpZGUoKSA6IHBhdXNlQXV0b1NsaWRlKCk7CgkJfQoKCX0KCgkvKioKCSAqIENoZWNrcyBpZiB0aGUgYXV0byBzbGlkZSBtb2RlIGlzIGN1cnJlbnRseSBvbi4KCSAqLwoJZnVuY3Rpb24gaXNBdXRvU2xpZGluZygpIHsKCgkJcmV0dXJuICEhKCBhdXRvU2xpZGUgJiYgIWF1dG9TbGlkZVBhdXNlZCApOwoKCX0KCgkvKioKCSAqIFN0ZXBzIGZyb20gdGhlIGN1cnJlbnQgcG9pbnQgaW4gdGhlIHByZXNlbnRhdGlvbiB0byB0aGUKCSAqIHNsaWRlIHdoaWNoIG1hdGNoZXMgdGhlIHNwZWNpZmllZCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbAoJICogaW5kaWNlcy4KCSAqCgkgKiBAcGFyYW0ge2ludH0gaCBIb3Jpem9udGFsIGluZGV4IG9mIHRoZSB0YXJnZXQgc2xpZGUKCSAqIEBwYXJhbSB7aW50fSB2IFZlcnRpY2FsIGluZGV4IG9mIHRoZSB0YXJnZXQgc2xpZGUKCSAqIEBwYXJhbSB7aW50fSBmIE9wdGlvbmFsIGluZGV4IG9mIGEgZnJhZ21lbnQgd2l0aGluIHRoZQoJICogdGFyZ2V0IHNsaWRlIHRvIGFjdGl2YXRlCgkgKiBAcGFyYW0ge2ludH0gbyBPcHRpb25hbCBvcmlnaW4gZm9yIHVzZSBpbiBtdWx0aW1hc3RlciBlbnZpcm9ubWVudHMKCSAqLwoJZnVuY3Rpb24gc2xpZGUoIGgsIHYsIGYsIG8gKSB7CgoJCS8vIFJlbWVtYmVyIHdoZXJlIHdlIHdlcmUgYXQgYmVmb3JlCgkJcHJldmlvdXNTbGlkZSA9IGN1cnJlbnRTbGlkZTsKCgkJLy8gUXVlcnkgYWxsIGhvcml6b250YWwgc2xpZGVzIGluIHRoZSBkZWNrCgkJdmFyIGhvcml6b250YWxTbGlkZXMgPSBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBIT1JJWk9OVEFMX1NMSURFU19TRUxFQ1RPUiApOwoKCQkvLyBJZiBubyB2ZXJ0aWNhbCBpbmRleCBpcyBzcGVjaWZpZWQgYW5kIHRoZSB1cGNvbWluZyBzbGlkZSBpcyBhCgkJLy8gc3RhY2ssIHJlc3VtZSBhdCBpdHMgcHJldmlvdXMgdmVydGljYWwgaW5kZXgKCQlpZiggdiA9PT0gdW5kZWZpbmVkICYmICFpc092ZXJ2aWV3KCkgKSB7CgkJCXYgPSBnZXRQcmV2aW91c1ZlcnRpY2FsSW5kZXgoIGhvcml6b250YWxTbGlkZXNbIGggXSApOwoJCX0KCgkJLy8gSWYgd2Ugd2VyZSBvbiBhIHZlcnRpY2FsIHN0YWNrLCByZW1lbWJlciB3aGF0IHZlcnRpY2FsIGluZGV4CgkJLy8gaXQgd2FzIG9uIHNvIHdlIGNhbiByZXN1bWUgYXQgdGhlIHNhbWUgcG9zaXRpb24gd2hlbiByZXR1cm5pbmcKCQlpZiggcHJldmlvdXNTbGlkZSAmJiBwcmV2aW91c1NsaWRlLnBhcmVudE5vZGUgJiYgcHJldmlvdXNTbGlkZS5wYXJlbnROb2RlLmNsYXNzTGlzdC5jb250YWlucyggJ3N0YWNrJyApICkgewoJCQlzZXRQcmV2aW91c1ZlcnRpY2FsSW5kZXgoIHByZXZpb3VzU2xpZGUucGFyZW50Tm9kZSwgaW5kZXh2ICk7CgkJfQoKCQkvLyBSZW1lbWJlciB0aGUgc3RhdGUgYmVmb3JlIHRoaXMgc2xpZGUKCQl2YXIgc3RhdGVCZWZvcmUgPSBzdGF0ZS5jb25jYXQoKTsKCgkJLy8gUmVzZXQgdGhlIHN0YXRlIGFycmF5CgkJc3RhdGUubGVuZ3RoID0gMDsKCgkJdmFyIGluZGV4aEJlZm9yZSA9IGluZGV4aCB8fCAwLAoJCQlpbmRleHZCZWZvcmUgPSBpbmRleHYgfHwgMDsKCgkJLy8gQWN0aXZhdGUgYW5kIHRyYW5zaXRpb24gdG8gdGhlIG5ldyBzbGlkZQoJCWluZGV4aCA9IHVwZGF0ZVNsaWRlcyggSE9SSVpPTlRBTF9TTElERVNfU0VMRUNUT1IsIGggPT09IHVuZGVmaW5lZCA/IGluZGV4aCA6IGggKTsKCQlpbmRleHYgPSB1cGRhdGVTbGlkZXMoIFZFUlRJQ0FMX1NMSURFU19TRUxFQ1RPUiwgdiA9PT0gdW5kZWZpbmVkID8gaW5kZXh2IDogdiApOwoKCQkvLyBVcGRhdGUgdGhlIHZpc2liaWxpdHkgb2Ygc2xpZGVzIG5vdyB0aGF0IHRoZSBpbmRpY2VzIGhhdmUgY2hhbmdlZAoJCXVwZGF0ZVNsaWRlc1Zpc2liaWxpdHkoKTsKCgkJbGF5b3V0KCk7CgoJCS8vIEFwcGx5IHRoZSBuZXcgc3RhdGUKCQlzdGF0ZUxvb3A6IGZvciggdmFyIGkgPSAwLCBsZW4gPSBzdGF0ZS5sZW5ndGg7IGkgPCBsZW47IGkrKyApIHsKCQkJLy8gQ2hlY2sgaWYgdGhpcyBzdGF0ZSBleGlzdGVkIG9uIHRoZSBwcmV2aW91cyBzbGlkZS4gSWYgaXQKCQkJLy8gZGlkLCB3ZSB3aWxsIGF2b2lkIGFkZGluZyBpdCByZXBlYXRlZGx5CgkJCWZvciggdmFyIGogPSAwOyBqIDwgc3RhdGVCZWZvcmUubGVuZ3RoOyBqKysgKSB7CgkJCQlpZiggc3RhdGVCZWZvcmVbal0gPT09IHN0YXRlW2ldICkgewoJCQkJCXN0YXRlQmVmb3JlLnNwbGljZSggaiwgMSApOwoJCQkJCWNvbnRpbnVlIHN0YXRlTG9vcDsKCQkJCX0KCQkJfQoKCQkJZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoIHN0YXRlW2ldICk7CgoJCQkvLyBEaXNwYXRjaCBjdXN0b20gZXZlbnQgbWF0Y2hpbmcgdGhlIHN0YXRlJ3MgbmFtZQoJCQlkaXNwYXRjaEV2ZW50KCBzdGF0ZVtpXSApOwoJCX0KCgkJLy8gQ2xlYW4gdXAgdGhlIHJlbWFpbnMgb2YgdGhlIHByZXZpb3VzIHN0YXRlCgkJd2hpbGUoIHN0YXRlQmVmb3JlLmxlbmd0aCApIHsKCQkJZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIHN0YXRlQmVmb3JlLnBvcCgpICk7CgkJfQoKCQkvLyBVcGRhdGUgdGhlIG92ZXJ2aWV3IGlmIGl0J3MgY3VycmVudGx5IGFjdGl2ZQoJCWlmKCBpc092ZXJ2aWV3KCkgKSB7CgkJCXVwZGF0ZU92ZXJ2aWV3KCk7CgkJfQoKCQkvLyBGaW5kIHRoZSBjdXJyZW50IGhvcml6b250YWwgc2xpZGUgYW5kIGFueSBwb3NzaWJsZSB2ZXJ0aWNhbCBzbGlkZXMKCQkvLyB3aXRoaW4gaXQKCQl2YXIgY3VycmVudEhvcml6b250YWxTbGlkZSA9IGhvcml6b250YWxTbGlkZXNbIGluZGV4aCBdLAoJCQljdXJyZW50VmVydGljYWxTbGlkZXMgPSBjdXJyZW50SG9yaXpvbnRhbFNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICdzZWN0aW9uJyApOwoKCQkvLyBTdG9yZSByZWZlcmVuY2VzIHRvIHRoZSBwcmV2aW91cyBhbmQgY3VycmVudCBzbGlkZXMKCQljdXJyZW50U2xpZGUgPSBjdXJyZW50VmVydGljYWxTbGlkZXNbIGluZGV4diBdIHx8IGN1cnJlbnRIb3Jpem9udGFsU2xpZGU7CgoJCS8vIFNob3cgZnJhZ21lbnQsIGlmIHNwZWNpZmllZAoJCWlmKCB0eXBlb2YgZiAhPT0gJ3VuZGVmaW5lZCcgKSB7CgkJCW5hdmlnYXRlRnJhZ21lbnQoIGYgKTsKCQl9CgoJCS8vIERpc3BhdGNoIGFuIGV2ZW50IGlmIHRoZSBzbGlkZSBjaGFuZ2VkCgkJdmFyIHNsaWRlQ2hhbmdlZCA9ICggaW5kZXhoICE9PSBpbmRleGhCZWZvcmUgfHwgaW5kZXh2ICE9PSBpbmRleHZCZWZvcmUgKTsKCQlpZiggc2xpZGVDaGFuZ2VkICkgewoJCQlkaXNwYXRjaEV2ZW50KCAnc2xpZGVjaGFuZ2VkJywgewoJCQkJJ2luZGV4aCc6IGluZGV4aCwKCQkJCSdpbmRleHYnOiBpbmRleHYsCgkJCQkncHJldmlvdXNTbGlkZSc6IHByZXZpb3VzU2xpZGUsCgkJCQknY3VycmVudFNsaWRlJzogY3VycmVudFNsaWRlLAoJCQkJJ29yaWdpbic6IG8KCQkJfSApOwoJCX0KCQllbHNlIHsKCQkJLy8gRW5zdXJlIHRoYXQgdGhlIHByZXZpb3VzIHNsaWRlIGlzIG5ldmVyIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50CgkJCXByZXZpb3VzU2xpZGUgPSBudWxsOwoJCX0KCgkJLy8gU29sdmVzIGFuIGVkZ2UgY2FzZSB3aGVyZSB0aGUgcHJldmlvdXMgc2xpZGUgbWFpbnRhaW5zIHRoZQoJCS8vICdwcmVzZW50JyBjbGFzcyB3aGVuIG5hdmlnYXRpbmcgYmV0d2VlbiBhZGphY2VudCB2ZXJ0aWNhbAoJCS8vIHN0YWNrcwoJCWlmKCBwcmV2aW91c1NsaWRlICkgewoJCQlwcmV2aW91c1NsaWRlLmNsYXNzTGlzdC5yZW1vdmUoICdwcmVzZW50JyApOwoJCQlwcmV2aW91c1NsaWRlLnNldEF0dHJpYnV0ZSggJ2FyaWEtaGlkZGVuJywgJ3RydWUnICk7CgoJCQkvLyBSZXNldCBhbGwgc2xpZGVzIHVwb24gbmF2aWdhdGUgdG8gaG9tZQoJCQkvLyBJc3N1ZTogIzI4NQoJCQlpZiAoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3IoIEhPTUVfU0xJREVfU0VMRUNUT1IgKS5jbGFzc0xpc3QuY29udGFpbnMoICdwcmVzZW50JyApICkgewoJCQkJLy8gTGF1bmNoIGFzeW5jIHRhc2sKCQkJCXNldFRpbWVvdXQoIGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgc2xpZGVzID0gdG9BcnJheSggZG9tLndyYXBwZXIucXVlcnlTZWxlY3RvckFsbCggSE9SSVpPTlRBTF9TTElERVNfU0VMRUNUT1IgKyAnLnN0YWNrJykgKSwgaTsKCQkJCQlmb3IoIGkgaW4gc2xpZGVzICkgewoJCQkJCQlpZiggc2xpZGVzW2ldICkgewoJCQkJCQkJLy8gUmVzZXQgc3RhY2sKCQkJCQkJCXNldFByZXZpb3VzVmVydGljYWxJbmRleCggc2xpZGVzW2ldLCAwICk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9LCAwICk7CgkJCX0KCQl9CgoJCS8vIEhhbmRsZSBlbWJlZGRlZCBjb250ZW50CgkJaWYoIHNsaWRlQ2hhbmdlZCB8fCAhcHJldmlvdXNTbGlkZSApIHsKCQkJc3RvcEVtYmVkZGVkQ29udGVudCggcHJldmlvdXNTbGlkZSApOwoJCQlzdGFydEVtYmVkZGVkQ29udGVudCggY3VycmVudFNsaWRlICk7CgkJfQoKCQkvLyBBbm5vdW5jZSB0aGUgY3VycmVudCBzbGlkZSBjb250ZW50cywgZm9yIHNjcmVlbiByZWFkZXJzCgkJZG9tLnN0YXR1c0Rpdi50ZXh0Q29udGVudCA9IGN1cnJlbnRTbGlkZS50ZXh0Q29udGVudDsKCgkJdXBkYXRlQ29udHJvbHMoKTsKCQl1cGRhdGVQcm9ncmVzcygpOwoJCXVwZGF0ZUJhY2tncm91bmQoKTsKCQl1cGRhdGVQYXJhbGxheCgpOwoJCXVwZGF0ZVNsaWRlTnVtYmVyKCk7CgkJdXBkYXRlTm90ZXMoKTsKCgkJLy8gVXBkYXRlIHRoZSBVUkwgaGFzaAoJCXdyaXRlVVJMKCk7CgoJCWN1ZUF1dG9TbGlkZSgpOwoKCX0KCgkvKioKCSAqIFN5bmNzIHRoZSBwcmVzZW50YXRpb24gd2l0aCB0aGUgY3VycmVudCBET00uIFVzZWZ1bAoJICogd2hlbiBuZXcgc2xpZGVzIG9yIGNvbnRyb2wgZWxlbWVudHMgYXJlIGFkZGVkIG9yIHdoZW4KCSAqIHRoZSBjb25maWd1cmF0aW9uIGhhcyBjaGFuZ2VkLgoJICovCglmdW5jdGlvbiBzeW5jKCkgewoKCQkvLyBTdWJzY3JpYmUgdG8gaW5wdXQKCQlyZW1vdmVFdmVudExpc3RlbmVycygpOwoJCWFkZEV2ZW50TGlzdGVuZXJzKCk7CgoJCS8vIEZvcmNlIGEgbGF5b3V0IHRvIG1ha2Ugc3VyZSB0aGUgY3VycmVudCBjb25maWcgaXMgYWNjb3VudGVkIGZvcgoJCWxheW91dCgpOwoKCQkvLyBSZWZsZWN0IHRoZSBjdXJyZW50IGF1dG9TbGlkZSB2YWx1ZQoJCWF1dG9TbGlkZSA9IGNvbmZpZy5hdXRvU2xpZGU7CgoJCS8vIFN0YXJ0IGF1dG8tc2xpZGluZyBpZiBpdCdzIGVuYWJsZWQKCQljdWVBdXRvU2xpZGUoKTsKCgkJLy8gUmUtY3JlYXRlIHRoZSBzbGlkZSBiYWNrZ3JvdW5kcwoJCWNyZWF0ZUJhY2tncm91bmRzKCk7CgoJCS8vIFdyaXRlIHRoZSBjdXJyZW50IGhhc2ggdG8gdGhlIFVSTAoJCXdyaXRlVVJMKCk7CgoJCXNvcnRBbGxGcmFnbWVudHMoKTsKCgkJdXBkYXRlQ29udHJvbHMoKTsKCQl1cGRhdGVQcm9ncmVzcygpOwoJCXVwZGF0ZUJhY2tncm91bmQoIHRydWUgKTsKCQl1cGRhdGVTbGlkZU51bWJlcigpOwoJCXVwZGF0ZVNsaWRlc1Zpc2liaWxpdHkoKTsKCQl1cGRhdGVOb3RlcygpOwoKCQlmb3JtYXRFbWJlZGRlZENvbnRlbnQoKTsKCQlzdGFydEVtYmVkZGVkQ29udGVudCggY3VycmVudFNsaWRlICk7CgoJCWlmKCBpc092ZXJ2aWV3KCkgKSB7CgkJCWxheW91dE92ZXJ2aWV3KCk7CgkJfQoKCX0KCgkvKioKCSAqIFJlc2V0cyBhbGwgdmVydGljYWwgc2xpZGVzIHNvIHRoYXQgb25seSB0aGUgZmlyc3QKCSAqIGlzIHZpc2libGUuCgkgKi8KCWZ1bmN0aW9uIHJlc2V0VmVydGljYWxTbGlkZXMoKSB7CgoJCXZhciBob3Jpem9udGFsU2xpZGVzID0gdG9BcnJheSggZG9tLndyYXBwZXIucXVlcnlTZWxlY3RvckFsbCggSE9SSVpPTlRBTF9TTElERVNfU0VMRUNUT1IgKSApOwoJCWhvcml6b250YWxTbGlkZXMuZm9yRWFjaCggZnVuY3Rpb24oIGhvcml6b250YWxTbGlkZSApIHsKCgkJCXZhciB2ZXJ0aWNhbFNsaWRlcyA9IHRvQXJyYXkoIGhvcml6b250YWxTbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAnc2VjdGlvbicgKSApOwoJCQl2ZXJ0aWNhbFNsaWRlcy5mb3JFYWNoKCBmdW5jdGlvbiggdmVydGljYWxTbGlkZSwgeSApIHsKCgkJCQlpZiggeSA+IDAgKSB7CgkJCQkJdmVydGljYWxTbGlkZS5jbGFzc0xpc3QucmVtb3ZlKCAncHJlc2VudCcgKTsKCQkJCQl2ZXJ0aWNhbFNsaWRlLmNsYXNzTGlzdC5yZW1vdmUoICdwYXN0JyApOwoJCQkJCXZlcnRpY2FsU2xpZGUuY2xhc3NMaXN0LmFkZCggJ2Z1dHVyZScgKTsKCQkJCQl2ZXJ0aWNhbFNsaWRlLnNldEF0dHJpYnV0ZSggJ2FyaWEtaGlkZGVuJywgJ3RydWUnICk7CgkJCQl9CgoJCQl9ICk7CgoJCX0gKTsKCgl9CgoJLyoqCgkgKiBTb3J0cyBhbmQgZm9ybWF0cyBhbGwgb2YgZnJhZ21lbnRzIGluIHRoZQoJICogcHJlc2VudGF0aW9uLgoJICovCglmdW5jdGlvbiBzb3J0QWxsRnJhZ21lbnRzKCkgewoKCQl2YXIgaG9yaXpvbnRhbFNsaWRlcyA9IHRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIEhPUklaT05UQUxfU0xJREVTX1NFTEVDVE9SICkgKTsKCQlob3Jpem9udGFsU2xpZGVzLmZvckVhY2goIGZ1bmN0aW9uKCBob3Jpem9udGFsU2xpZGUgKSB7CgoJCQl2YXIgdmVydGljYWxTbGlkZXMgPSB0b0FycmF5KCBob3Jpem9udGFsU2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ3NlY3Rpb24nICkgKTsKCQkJdmVydGljYWxTbGlkZXMuZm9yRWFjaCggZnVuY3Rpb24oIHZlcnRpY2FsU2xpZGUsIHkgKSB7CgoJCQkJc29ydEZyYWdtZW50cyggdmVydGljYWxTbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAnLmZyYWdtZW50JyApICk7CgoJCQl9ICk7CgoJCQlpZiggdmVydGljYWxTbGlkZXMubGVuZ3RoID09PSAwICkgc29ydEZyYWdtZW50cyggaG9yaXpvbnRhbFNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICcuZnJhZ21lbnQnICkgKTsKCgkJfSApOwoKCX0KCgkvKioKCSAqIFVwZGF0ZXMgb25lIGRpbWVuc2lvbiBvZiBzbGlkZXMgYnkgc2hvd2luZyB0aGUgc2xpZGUKCSAqIHdpdGggdGhlIHNwZWNpZmllZCBpbmRleC4KCSAqCgkgKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3IgQSBDU1Mgc2VsZWN0b3IgdGhhdCB3aWxsIGZldGNoCgkgKiB0aGUgZ3JvdXAgb2Ygc2xpZGVzIHdlIGFyZSB3b3JraW5nIHdpdGgKCSAqIEBwYXJhbSB7TnVtYmVyfSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIHNsaWRlIHRoYXQgc2hvdWxkIGJlCgkgKiBzaG93bgoJICoKCSAqIEByZXR1cm4ge051bWJlcn0gVGhlIGluZGV4IG9mIHRoZSBzbGlkZSB0aGF0IGlzIG5vdyBzaG93biwKCSAqIG1pZ2h0IGRpZmZlciBmcm9tIHRoZSBwYXNzZWQgaW4gaW5kZXggaWYgaXQgd2FzIG91dCBvZgoJICogYm91bmRzLgoJICovCglmdW5jdGlvbiB1cGRhdGVTbGlkZXMoIHNlbGVjdG9yLCBpbmRleCApIHsKCgkJLy8gU2VsZWN0IGFsbCBzbGlkZXMgYW5kIGNvbnZlcnQgdGhlIE5vZGVMaXN0IHJlc3VsdCB0bwoJCS8vIGFuIGFycmF5CgkJdmFyIHNsaWRlcyA9IHRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIHNlbGVjdG9yICkgKSwKCQkJc2xpZGVzTGVuZ3RoID0gc2xpZGVzLmxlbmd0aDsKCgkJdmFyIHByaW50TW9kZSA9IGlzUHJpbnRpbmdQREYoKTsKCgkJaWYoIHNsaWRlc0xlbmd0aCApIHsKCgkJCS8vIFNob3VsZCB0aGUgaW5kZXggbG9vcD8KCQkJaWYoIGNvbmZpZy5sb29wICkgewoJCQkJaW5kZXggJT0gc2xpZGVzTGVuZ3RoOwoKCQkJCWlmKCBpbmRleCA8IDAgKSB7CgkJCQkJaW5kZXggPSBzbGlkZXNMZW5ndGggKyBpbmRleDsKCQkJCX0KCQkJfQoKCQkJLy8gRW5mb3JjZSBtYXggYW5kIG1pbmltdW0gaW5kZXggYm91bmRzCgkJCWluZGV4ID0gTWF0aC5tYXgoIE1hdGgubWluKCBpbmRleCwgc2xpZGVzTGVuZ3RoIC0gMSApLCAwICk7CgoJCQlmb3IoIHZhciBpID0gMDsgaSA8IHNsaWRlc0xlbmd0aDsgaSsrICkgewoJCQkJdmFyIGVsZW1lbnQgPSBzbGlkZXNbaV07CgoJCQkJdmFyIHJldmVyc2UgPSBjb25maWcucnRsICYmICFpc1ZlcnRpY2FsU2xpZGUoIGVsZW1lbnQgKTsKCgkJCQllbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoICdwYXN0JyApOwoJCQkJZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCAncHJlc2VudCcgKTsKCQkJCWVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSggJ2Z1dHVyZScgKTsKCgkJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9odG1sL3dnL2RyYWZ0cy9odG1sL21hc3Rlci9lZGl0aW5nLmh0bWwjdGhlLWhpZGRlbi1hdHRyaWJ1dGUKCQkJCWVsZW1lbnQuc2V0QXR0cmlidXRlKCAnaGlkZGVuJywgJycgKTsKCQkJCWVsZW1lbnQuc2V0QXR0cmlidXRlKCAnYXJpYS1oaWRkZW4nLCAndHJ1ZScgKTsKCgkJCQkvLyBJZiB0aGlzIGVsZW1lbnQgY29udGFpbnMgdmVydGljYWwgc2xpZGVzCgkJCQlpZiggZWxlbWVudC5xdWVyeVNlbGVjdG9yKCAnc2VjdGlvbicgKSApIHsKCQkJCQllbGVtZW50LmNsYXNzTGlzdC5hZGQoICdzdGFjaycgKTsKCQkJCX0KCgkJCQkvLyBJZiB3ZSdyZSBwcmludGluZyBzdGF0aWMgc2xpZGVzLCBhbGwgc2xpZGVzIGFyZSAicHJlc2VudCIKCQkJCWlmKCBwcmludE1vZGUgKSB7CgkJCQkJZWxlbWVudC5jbGFzc0xpc3QuYWRkKCAncHJlc2VudCcgKTsKCQkJCQljb250aW51ZTsKCQkJCX0KCgkJCQlpZiggaSA8IGluZGV4ICkgewoJCQkJCS8vIEFueSBlbGVtZW50IHByZXZpb3VzIHRvIGluZGV4IGlzIGdpdmVuIHRoZSAncGFzdCcgY2xhc3MKCQkJCQllbGVtZW50LmNsYXNzTGlzdC5hZGQoIHJldmVyc2UgPyAnZnV0dXJlJyA6ICdwYXN0JyApOwoKCQkJCQlpZiggY29uZmlnLmZyYWdtZW50cyApIHsKCQkJCQkJdmFyIHBhc3RGcmFnbWVudHMgPSB0b0FycmF5KCBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoICcuZnJhZ21lbnQnICkgKTsKCgkJCQkJCS8vIFNob3cgYWxsIGZyYWdtZW50cyBvbiBwcmlvciBzbGlkZXMKCQkJCQkJd2hpbGUoIHBhc3RGcmFnbWVudHMubGVuZ3RoICkgewoJCQkJCQkJdmFyIHBhc3RGcmFnbWVudCA9IHBhc3RGcmFnbWVudHMucG9wKCk7CgkJCQkJCQlwYXN0RnJhZ21lbnQuY2xhc3NMaXN0LmFkZCggJ3Zpc2libGUnICk7CgkJCQkJCQlwYXN0RnJhZ21lbnQuY2xhc3NMaXN0LnJlbW92ZSggJ2N1cnJlbnQtZnJhZ21lbnQnICk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCQllbHNlIGlmKCBpID4gaW5kZXggKSB7CgkJCQkJLy8gQW55IGVsZW1lbnQgc3Vic2VxdWVudCB0byBpbmRleCBpcyBnaXZlbiB0aGUgJ2Z1dHVyZScgY2xhc3MKCQkJCQllbGVtZW50LmNsYXNzTGlzdC5hZGQoIHJldmVyc2UgPyAncGFzdCcgOiAnZnV0dXJlJyApOwoKCQkJCQlpZiggY29uZmlnLmZyYWdtZW50cyApIHsKCQkJCQkJdmFyIGZ1dHVyZUZyYWdtZW50cyA9IHRvQXJyYXkoIGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCggJy5mcmFnbWVudC52aXNpYmxlJyApICk7CgoJCQkJCQkvLyBObyBmcmFnbWVudHMgaW4gZnV0dXJlIHNsaWRlcyBzaG91bGQgYmUgdmlzaWJsZSBhaGVhZCBvZiB0aW1lCgkJCQkJCXdoaWxlKCBmdXR1cmVGcmFnbWVudHMubGVuZ3RoICkgewoJCQkJCQkJdmFyIGZ1dHVyZUZyYWdtZW50ID0gZnV0dXJlRnJhZ21lbnRzLnBvcCgpOwoJCQkJCQkJZnV0dXJlRnJhZ21lbnQuY2xhc3NMaXN0LnJlbW92ZSggJ3Zpc2libGUnICk7CgkJCQkJCQlmdXR1cmVGcmFnbWVudC5jbGFzc0xpc3QucmVtb3ZlKCAnY3VycmVudC1mcmFnbWVudCcgKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJLy8gTWFyayB0aGUgY3VycmVudCBzbGlkZSBhcyBwcmVzZW50CgkJCXNsaWRlc1tpbmRleF0uY2xhc3NMaXN0LmFkZCggJ3ByZXNlbnQnICk7CgkJCXNsaWRlc1tpbmRleF0ucmVtb3ZlQXR0cmlidXRlKCAnaGlkZGVuJyApOwoJCQlzbGlkZXNbaW5kZXhdLnJlbW92ZUF0dHJpYnV0ZSggJ2FyaWEtaGlkZGVuJyApOwoKCQkJLy8gSWYgdGhpcyBzbGlkZSBoYXMgYSBzdGF0ZSBhc3NvY2lhdGVkIHdpdGggaXQsIGFkZCBpdAoJCQkvLyBvbnRvIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBkZWNrCgkJCXZhciBzbGlkZVN0YXRlID0gc2xpZGVzW2luZGV4XS5nZXRBdHRyaWJ1dGUoICdkYXRhLXN0YXRlJyApOwoJCQlpZiggc2xpZGVTdGF0ZSApIHsKCQkJCXN0YXRlID0gc3RhdGUuY29uY2F0KCBzbGlkZVN0YXRlLnNwbGl0KCAnICcgKSApOwoJCQl9CgoJCX0KCQllbHNlIHsKCQkJLy8gU2luY2UgdGhlcmUgYXJlIG5vIHNsaWRlcyB3ZSBjYW4ndCBiZSBhbnl3aGVyZSBiZXlvbmQgdGhlCgkJCS8vIHplcm90aCBpbmRleAoJCQlpbmRleCA9IDA7CgkJfQoKCQlyZXR1cm4gaW5kZXg7CgoJfQoKCS8qKgoJICogT3B0aW1pemF0aW9uIG1ldGhvZDsgaGlkZSBhbGwgc2xpZGVzIHRoYXQgYXJlIGZhciBhd2F5CgkgKiBmcm9tIHRoZSBwcmVzZW50IHNsaWRlLgoJICovCglmdW5jdGlvbiB1cGRhdGVTbGlkZXNWaXNpYmlsaXR5KCkgewoKCQkvLyBTZWxlY3QgYWxsIHNsaWRlcyBhbmQgY29udmVydCB0aGUgTm9kZUxpc3QgcmVzdWx0IHRvCgkJLy8gYW4gYXJyYXkKCQl2YXIgaG9yaXpvbnRhbFNsaWRlcyA9IHRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIEhPUklaT05UQUxfU0xJREVTX1NFTEVDVE9SICkgKSwKCQkJaG9yaXpvbnRhbFNsaWRlc0xlbmd0aCA9IGhvcml6b250YWxTbGlkZXMubGVuZ3RoLAoJCQlkaXN0YW5jZVgsCgkJCWRpc3RhbmNlWTsKCgkJaWYoIGhvcml6b250YWxTbGlkZXNMZW5ndGggJiYgdHlwZW9mIGluZGV4aCAhPT0gJ3VuZGVmaW5lZCcgKSB7CgoJCQkvLyBUaGUgbnVtYmVyIG9mIHN0ZXBzIGF3YXkgZnJvbSB0aGUgcHJlc2VudCBzbGlkZSB0aGF0IHdpbGwKCQkJLy8gYmUgdmlzaWJsZQoJCQl2YXIgdmlld0Rpc3RhbmNlID0gaXNPdmVydmlldygpID8gMTAgOiBjb25maWcudmlld0Rpc3RhbmNlOwoKCQkJLy8gTGltaXQgdmlldyBkaXN0YW5jZSBvbiB3ZWFrZXIgZGV2aWNlcwoJCQlpZiggaXNNb2JpbGVEZXZpY2UgKSB7CgkJCQl2aWV3RGlzdGFuY2UgPSBpc092ZXJ2aWV3KCkgPyA2IDogMjsKCQkJfQoKCQkJLy8gQWxsIHNsaWRlcyBuZWVkIHRvIGJlIHZpc2libGUgd2hlbiBleHBvcnRpbmcgdG8gUERGCgkJCWlmKCBpc1ByaW50aW5nUERGKCkgKSB7CgkJCQl2aWV3RGlzdGFuY2UgPSBOdW1iZXIuTUFYX1ZBTFVFOwoJCQl9CgoJCQlmb3IoIHZhciB4ID0gMDsgeCA8IGhvcml6b250YWxTbGlkZXNMZW5ndGg7IHgrKyApIHsKCQkJCXZhciBob3Jpem9udGFsU2xpZGUgPSBob3Jpem9udGFsU2xpZGVzW3hdOwoKCQkJCXZhciB2ZXJ0aWNhbFNsaWRlcyA9IHRvQXJyYXkoIGhvcml6b250YWxTbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAnc2VjdGlvbicgKSApLAoJCQkJCXZlcnRpY2FsU2xpZGVzTGVuZ3RoID0gdmVydGljYWxTbGlkZXMubGVuZ3RoOwoKCQkJCS8vIERldGVybWluZSBob3cgZmFyIGF3YXkgdGhpcyBzbGlkZSBpcyBmcm9tIHRoZSBwcmVzZW50CgkJCQlkaXN0YW5jZVggPSBNYXRoLmFicyggKCBpbmRleGggfHwgMCApIC0geCApIHx8IDA7CgoJCQkJLy8gSWYgdGhlIHByZXNlbnRhdGlvbiBpcyBsb29wZWQsIGRpc3RhbmNlIHNob3VsZCBtZWFzdXJlCgkJCQkvLyAxIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBsYXN0IHNsaWRlcwoJCQkJaWYoIGNvbmZpZy5sb29wICkgewoJCQkJCWRpc3RhbmNlWCA9IE1hdGguYWJzKCAoICggaW5kZXhoIHx8IDAgKSAtIHggKSAlICggaG9yaXpvbnRhbFNsaWRlc0xlbmd0aCAtIHZpZXdEaXN0YW5jZSApICkgfHwgMDsKCQkJCX0KCgkJCQkvLyBTaG93IHRoZSBob3Jpem9udGFsIHNsaWRlIGlmIGl0J3Mgd2l0aGluIHRoZSB2aWV3IGRpc3RhbmNlCgkJCQlpZiggZGlzdGFuY2VYIDwgdmlld0Rpc3RhbmNlICkgewoJCQkJCXNob3dTbGlkZSggaG9yaXpvbnRhbFNsaWRlICk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQloaWRlU2xpZGUoIGhvcml6b250YWxTbGlkZSApOwoJCQkJfQoKCQkJCWlmKCB2ZXJ0aWNhbFNsaWRlc0xlbmd0aCApIHsKCgkJCQkJdmFyIG95ID0gZ2V0UHJldmlvdXNWZXJ0aWNhbEluZGV4KCBob3Jpem9udGFsU2xpZGUgKTsKCgkJCQkJZm9yKCB2YXIgeSA9IDA7IHkgPCB2ZXJ0aWNhbFNsaWRlc0xlbmd0aDsgeSsrICkgewoJCQkJCQl2YXIgdmVydGljYWxTbGlkZSA9IHZlcnRpY2FsU2xpZGVzW3ldOwoKCQkJCQkJZGlzdGFuY2VZID0geCA9PT0gKCBpbmRleGggfHwgMCApID8gTWF0aC5hYnMoICggaW5kZXh2IHx8IDAgKSAtIHkgKSA6IE1hdGguYWJzKCB5IC0gb3kgKTsKCgkJCQkJCWlmKCBkaXN0YW5jZVggKyBkaXN0YW5jZVkgPCB2aWV3RGlzdGFuY2UgKSB7CgkJCQkJCQlzaG93U2xpZGUoIHZlcnRpY2FsU2xpZGUgKTsKCQkJCQkJfQoJCQkJCQllbHNlIHsKCQkJCQkJCWhpZGVTbGlkZSggdmVydGljYWxTbGlkZSApOwoJCQkJCQl9CgkJCQkJfQoKCQkJCX0KCQkJfQoKCQl9CgoJfQoKCS8qKgoJICogUGljayB1cCBub3RlcyBmcm9tIHRoZSBjdXJyZW50IHNsaWRlIGFuZCBkaXNwbGF5IHRoYW0KCSAqIHRvIHRoZSB2aWV3ZXIuCgkgKgoJICogQHNlZSBgc2hvd05vdGVzYCBjb25maWcgdmFsdWUKCSAqLwoJZnVuY3Rpb24gdXBkYXRlTm90ZXMoKSB7CgoJCWlmKCBjb25maWcuc2hvd05vdGVzICYmIGRvbS5zcGVha2VyTm90ZXMgJiYgY3VycmVudFNsaWRlICYmICFpc1ByaW50aW5nUERGKCkgKSB7CgoJCQlkb20uc3BlYWtlck5vdGVzLmlubmVySFRNTCA9IGdldFNsaWRlTm90ZXMoKSB8fCAnJzsKCgkJfQoKCX0KCgkvKioKCSAqIFVwZGF0ZXMgdGhlIHByb2dyZXNzIGJhciB0byByZWZsZWN0IHRoZSBjdXJyZW50IHNsaWRlLgoJICovCglmdW5jdGlvbiB1cGRhdGVQcm9ncmVzcygpIHsKCgkJLy8gVXBkYXRlIHByb2dyZXNzIGlmIGVuYWJsZWQKCQlpZiggY29uZmlnLnByb2dyZXNzICYmIGRvbS5wcm9ncmVzc2JhciApIHsKCgkJCWRvbS5wcm9ncmVzc2Jhci5zdHlsZS53aWR0aCA9IGdldFByb2dyZXNzKCkgKiBkb20ud3JhcHBlci5vZmZzZXRXaWR0aCArICdweCc7CgoJCX0KCgl9CgoJLyoqCgkgKiBVcGRhdGVzIHRoZSBzbGlkZSBudW1iZXIgZGl2IHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgc2xpZGUuCgkgKgoJICogVGhlIGZvbGxvd2luZyBzbGlkZSBudW1iZXIgZm9ybWF0cyBhcmUgYXZhaWxhYmxlOgoJICogICJoLnYiOiAJaG9yaXpvbnRhbCAuIHZlcnRpY2FsIHNsaWRlIG51bWJlciAoZGVmYXVsdCkKCSAqICAiaC92IjogCWhvcml6b250YWwgLyB2ZXJ0aWNhbCBzbGlkZSBudW1iZXIKCSAqICAgICJjIjogCWZsYXR0ZW5lZCBzbGlkZSBudW1iZXIKCSAqICAiYy90IjogCWZsYXR0ZW5lZCBzbGlkZSBudW1iZXIgLyB0b3RhbCBzbGlkZXMKCSAqLwoJZnVuY3Rpb24gdXBkYXRlU2xpZGVOdW1iZXIoKSB7CgoJCS8vIFVwZGF0ZSBzbGlkZSBudW1iZXIgaWYgZW5hYmxlZAoJCWlmKCBjb25maWcuc2xpZGVOdW1iZXIgJiYgZG9tLnNsaWRlTnVtYmVyICkgewoKCQkJdmFyIHZhbHVlID0gW107CgkJCXZhciBmb3JtYXQgPSAnaC52JzsKCgkJCS8vIENoZWNrIGlmIGEgY3VzdG9tIG51bWJlciBmb3JtYXQgaXMgYXZhaWxhYmxlCgkJCWlmKCB0eXBlb2YgY29uZmlnLnNsaWRlTnVtYmVyID09PSAnc3RyaW5nJyApIHsKCQkJCWZvcm1hdCA9IGNvbmZpZy5zbGlkZU51bWJlcjsKCQkJfQoKCQkJc3dpdGNoKCBmb3JtYXQgKSB7CgkJCQljYXNlICdjJzoKCQkJCQl2YWx1ZS5wdXNoKCBnZXRTbGlkZVBhc3RDb3VudCgpICsgMSApOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnYy90JzoKCQkJCQl2YWx1ZS5wdXNoKCBnZXRTbGlkZVBhc3RDb3VudCgpICsgMSwgJy8nLCBnZXRUb3RhbFNsaWRlcygpICk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICdoL3YnOgoJCQkJCXZhbHVlLnB1c2goIGluZGV4aCArIDEgKTsKCQkJCQlpZiggaXNWZXJ0aWNhbFNsaWRlKCkgKSB2YWx1ZS5wdXNoKCAnLycsIGluZGV4diArIDEgKTsKCQkJCQlicmVhazsKCQkJCWRlZmF1bHQ6CgkJCQkJdmFsdWUucHVzaCggaW5kZXhoICsgMSApOwoJCQkJCWlmKCBpc1ZlcnRpY2FsU2xpZGUoKSApIHZhbHVlLnB1c2goICcuJywgaW5kZXh2ICsgMSApOwoJCQl9CgoJCQlkb20uc2xpZGVOdW1iZXIuaW5uZXJIVE1MID0gZm9ybWF0U2xpZGVOdW1iZXIoIHZhbHVlWzBdLCB2YWx1ZVsxXSwgdmFsdWVbMl0gKTsKCQl9CgoJfQoKCS8qKgoJICogQXBwbGllcyBIVE1MIGZvcm1hdHRpbmcgdG8gYSBzbGlkZSBudW1iZXIgYmVmb3JlIGl0J3MKCSAqIHdyaXR0ZW4gdG8gdGhlIERPTS4KCSAqLwoJZnVuY3Rpb24gZm9ybWF0U2xpZGVOdW1iZXIoIGEsIGRlbGltaXRlciwgYiApIHsKCgkJaWYoIHR5cGVvZiBiID09PSAnbnVtYmVyJyAmJiAhaXNOYU4oIGIgKSApIHsKCQkJcmV0dXJuICAnPHNwYW4gY2xhc3M9InNsaWRlLW51bWJlci1hIj4nKyBhICsnPC9zcGFuPicgKwoJCQkJCSc8c3BhbiBjbGFzcz0ic2xpZGUtbnVtYmVyLWRlbGltaXRlciI+JysgZGVsaW1pdGVyICsnPC9zcGFuPicgKwoJCQkJCSc8c3BhbiBjbGFzcz0ic2xpZGUtbnVtYmVyLWIiPicrIGIgKyc8L3NwYW4+JzsKCQl9CgkJZWxzZSB7CgkJCXJldHVybiAnPHNwYW4gY2xhc3M9InNsaWRlLW51bWJlci1hIj4nKyBhICsnPC9zcGFuPic7CgkJfQoKCX0KCgkvKioKCSAqIFVwZGF0ZXMgdGhlIHN0YXRlIG9mIGFsbCBjb250cm9sL25hdmlnYXRpb24gYXJyb3dzLgoJICovCglmdW5jdGlvbiB1cGRhdGVDb250cm9scygpIHsKCgkJdmFyIHJvdXRlcyA9IGF2YWlsYWJsZVJvdXRlcygpOwoJCXZhciBmcmFnbWVudHMgPSBhdmFpbGFibGVGcmFnbWVudHMoKTsKCgkJLy8gUmVtb3ZlIHRoZSAnZW5hYmxlZCcgY2xhc3MgZnJvbSBhbGwgZGlyZWN0aW9ucwoJCWRvbS5jb250cm9sc0xlZnQuY29uY2F0KCBkb20uY29udHJvbHNSaWdodCApCgkJCQkJCS5jb25jYXQoIGRvbS5jb250cm9sc1VwICkKCQkJCQkJLmNvbmNhdCggZG9tLmNvbnRyb2xzRG93biApCgkJCQkJCS5jb25jYXQoIGRvbS5jb250cm9sc1ByZXYgKQoJCQkJCQkuY29uY2F0KCBkb20uY29udHJvbHNOZXh0ICkuZm9yRWFjaCggZnVuY3Rpb24oIG5vZGUgKSB7CgkJCW5vZGUuY2xhc3NMaXN0LnJlbW92ZSggJ2VuYWJsZWQnICk7CgkJCW5vZGUuY2xhc3NMaXN0LnJlbW92ZSggJ2ZyYWdtZW50ZWQnICk7CgkJfSApOwoKCQkvLyBBZGQgdGhlICdlbmFibGVkJyBjbGFzcyB0byB0aGUgYXZhaWxhYmxlIHJvdXRlcwoJCWlmKCByb3V0ZXMubGVmdCApIGRvbS5jb250cm9sc0xlZnQuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5jbGFzc0xpc3QuYWRkKCAnZW5hYmxlZCcgKTsJfSApOwoJCWlmKCByb3V0ZXMucmlnaHQgKSBkb20uY29udHJvbHNSaWdodC5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7IGVsLmNsYXNzTGlzdC5hZGQoICdlbmFibGVkJyApOyB9ICk7CgkJaWYoIHJvdXRlcy51cCApIGRvbS5jb250cm9sc1VwLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwuY2xhc3NMaXN0LmFkZCggJ2VuYWJsZWQnICk7CX0gKTsKCQlpZiggcm91dGVzLmRvd24gKSBkb20uY29udHJvbHNEb3duLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwuY2xhc3NMaXN0LmFkZCggJ2VuYWJsZWQnICk7IH0gKTsKCgkJLy8gUHJldi9uZXh0IGJ1dHRvbnMKCQlpZiggcm91dGVzLmxlZnQgfHwgcm91dGVzLnVwICkgZG9tLmNvbnRyb2xzUHJldi5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7IGVsLmNsYXNzTGlzdC5hZGQoICdlbmFibGVkJyApOyB9ICk7CgkJaWYoIHJvdXRlcy5yaWdodCB8fCByb3V0ZXMuZG93biApIGRvbS5jb250cm9sc05leHQuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5jbGFzc0xpc3QuYWRkKCAnZW5hYmxlZCcgKTsgfSApOwoKCQkvLyBIaWdobGlnaHQgZnJhZ21lbnQgZGlyZWN0aW9ucwoJCWlmKCBjdXJyZW50U2xpZGUgKSB7CgoJCQkvLyBBbHdheXMgYXBwbHkgZnJhZ21lbnQgZGVjb3JhdG9yIHRvIHByZXYvbmV4dCBidXR0b25zCgkJCWlmKCBmcmFnbWVudHMucHJldiApIGRvbS5jb250cm9sc1ByZXYuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5jbGFzc0xpc3QuYWRkKCAnZnJhZ21lbnRlZCcsICdlbmFibGVkJyApOyB9ICk7CgkJCWlmKCBmcmFnbWVudHMubmV4dCApIGRvbS5jb250cm9sc05leHQuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5jbGFzc0xpc3QuYWRkKCAnZnJhZ21lbnRlZCcsICdlbmFibGVkJyApOyB9ICk7CgoJCQkvLyBBcHBseSBmcmFnbWVudCBkZWNvcmF0b3JzIHRvIGRpcmVjdGlvbmFsIGJ1dHRvbnMgYmFzZWQgb24KCQkJLy8gd2hhdCBzbGlkZSBheGlzIHRoZXkgYXJlIGluCgkJCWlmKCBpc1ZlcnRpY2FsU2xpZGUoIGN1cnJlbnRTbGlkZSApICkgewoJCQkJaWYoIGZyYWdtZW50cy5wcmV2ICkgZG9tLmNvbnRyb2xzVXAuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgeyBlbC5jbGFzc0xpc3QuYWRkKCAnZnJhZ21lbnRlZCcsICdlbmFibGVkJyApOyB9ICk7CgkJCQlpZiggZnJhZ21lbnRzLm5leHQgKSBkb20uY29udHJvbHNEb3duLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwuY2xhc3NMaXN0LmFkZCggJ2ZyYWdtZW50ZWQnLCAnZW5hYmxlZCcgKTsgfSApOwoJCQl9CgkJCWVsc2UgewoJCQkJaWYoIGZyYWdtZW50cy5wcmV2ICkgZG9tLmNvbnRyb2xzTGVmdC5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7IGVsLmNsYXNzTGlzdC5hZGQoICdmcmFnbWVudGVkJywgJ2VuYWJsZWQnICk7IH0gKTsKCQkJCWlmKCBmcmFnbWVudHMubmV4dCApIGRvbS5jb250cm9sc1JpZ2h0LmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsgZWwuY2xhc3NMaXN0LmFkZCggJ2ZyYWdtZW50ZWQnLCAnZW5hYmxlZCcgKTsgfSApOwoJCQl9CgoJCX0KCgl9CgoJLyoqCgkgKiBVcGRhdGVzIHRoZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQKCSAqIHNsaWRlLgoJICoKCSAqIEBwYXJhbSB7Qm9vbGVhbn0gaW5jbHVkZUFsbCBJZiB0cnVlLCB0aGUgYmFja2dyb3VuZHMgb2YKCSAqIGFsbCB2ZXJ0aWNhbCBzbGlkZXMgKG5vdCBqdXN0IHRoZSBwcmVzZW50KSB3aWxsIGJlIHVwZGF0ZWQuCgkgKi8KCWZ1bmN0aW9uIHVwZGF0ZUJhY2tncm91bmQoIGluY2x1ZGVBbGwgKSB7CgoJCXZhciBjdXJyZW50QmFja2dyb3VuZCA9IG51bGw7CgoJCS8vIFJldmVyc2UgcGFzdC9mdXR1cmUgY2xhc3NlcyB3aGVuIGluIFJUTCBtb2RlCgkJdmFyIGhvcml6b250YWxQYXN0ID0gY29uZmlnLnJ0bCA/ICdmdXR1cmUnIDogJ3Bhc3QnLAoJCQlob3Jpem9udGFsRnV0dXJlID0gY29uZmlnLnJ0bCA/ICdwYXN0JyA6ICdmdXR1cmUnOwoKCQkvLyBVcGRhdGUgdGhlIGNsYXNzZXMgb2YgYWxsIGJhY2tncm91bmRzIHRvIG1hdGNoIHRoZQoJCS8vIHN0YXRlcyBvZiB0aGVpciBzbGlkZXMgKHBhc3QvcHJlc2VudC9mdXR1cmUpCgkJdG9BcnJheSggZG9tLmJhY2tncm91bmQuY2hpbGROb2RlcyApLmZvckVhY2goIGZ1bmN0aW9uKCBiYWNrZ3JvdW5kaCwgaCApIHsKCgkJCWJhY2tncm91bmRoLmNsYXNzTGlzdC5yZW1vdmUoICdwYXN0JyApOwoJCQliYWNrZ3JvdW5kaC5jbGFzc0xpc3QucmVtb3ZlKCAncHJlc2VudCcgKTsKCQkJYmFja2dyb3VuZGguY2xhc3NMaXN0LnJlbW92ZSggJ2Z1dHVyZScgKTsKCgkJCWlmKCBoIDwgaW5kZXhoICkgewoJCQkJYmFja2dyb3VuZGguY2xhc3NMaXN0LmFkZCggaG9yaXpvbnRhbFBhc3QgKTsKCQkJfQoJCQllbHNlIGlmICggaCA+IGluZGV4aCApIHsKCQkJCWJhY2tncm91bmRoLmNsYXNzTGlzdC5hZGQoIGhvcml6b250YWxGdXR1cmUgKTsKCQkJfQoJCQllbHNlIHsKCQkJCWJhY2tncm91bmRoLmNsYXNzTGlzdC5hZGQoICdwcmVzZW50JyApOwoKCQkJCS8vIFN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50IGJhY2tncm91bmQgZWxlbWVudAoJCQkJY3VycmVudEJhY2tncm91bmQgPSBiYWNrZ3JvdW5kaDsKCQkJfQoKCQkJaWYoIGluY2x1ZGVBbGwgfHwgaCA9PT0gaW5kZXhoICkgewoJCQkJdG9BcnJheSggYmFja2dyb3VuZGgucXVlcnlTZWxlY3RvckFsbCggJy5zbGlkZS1iYWNrZ3JvdW5kJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIGJhY2tncm91bmR2LCB2ICkgewoKCQkJCQliYWNrZ3JvdW5kdi5jbGFzc0xpc3QucmVtb3ZlKCAncGFzdCcgKTsKCQkJCQliYWNrZ3JvdW5kdi5jbGFzc0xpc3QucmVtb3ZlKCAncHJlc2VudCcgKTsKCQkJCQliYWNrZ3JvdW5kdi5jbGFzc0xpc3QucmVtb3ZlKCAnZnV0dXJlJyApOwoKCQkJCQlpZiggdiA8IGluZGV4diApIHsKCQkJCQkJYmFja2dyb3VuZHYuY2xhc3NMaXN0LmFkZCggJ3Bhc3QnICk7CgkJCQkJfQoJCQkJCWVsc2UgaWYgKCB2ID4gaW5kZXh2ICkgewoJCQkJCQliYWNrZ3JvdW5kdi5jbGFzc0xpc3QuYWRkKCAnZnV0dXJlJyApOwoJCQkJCX0KCQkJCQllbHNlIHsKCQkJCQkJYmFja2dyb3VuZHYuY2xhc3NMaXN0LmFkZCggJ3ByZXNlbnQnICk7CgoJCQkJCQkvLyBPbmx5IGlmIHRoaXMgaXMgdGhlIHByZXNlbnQgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgc2xpZGUKCQkJCQkJaWYoIGggPT09IGluZGV4aCApIGN1cnJlbnRCYWNrZ3JvdW5kID0gYmFja2dyb3VuZHY7CgkJCQkJfQoKCQkJCX0gKTsKCQkJfQoKCQl9ICk7CgoJCS8vIFN0b3AgYW55IGN1cnJlbnRseSBwbGF5aW5nIHZpZGVvIGJhY2tncm91bmQKCQlpZiggcHJldmlvdXNCYWNrZ3JvdW5kICkgewoKCQkJdmFyIHByZXZpb3VzVmlkZW8gPSBwcmV2aW91c0JhY2tncm91bmQucXVlcnlTZWxlY3RvciggJ3ZpZGVvJyApOwoJCQlpZiggcHJldmlvdXNWaWRlbyApIHByZXZpb3VzVmlkZW8ucGF1c2UoKTsKCgkJfQoKCQlpZiggY3VycmVudEJhY2tncm91bmQgKSB7CgoJCQkvLyBTdGFydCB2aWRlbyBwbGF5YmFjawoJCQl2YXIgY3VycmVudFZpZGVvID0gY3VycmVudEJhY2tncm91bmQucXVlcnlTZWxlY3RvciggJ3ZpZGVvJyApOwoJCQlpZiggY3VycmVudFZpZGVvICkgewoJCQkJaWYoIGN1cnJlbnRWaWRlby5jdXJyZW50VGltZSA+IDAgKSBjdXJyZW50VmlkZW8uY3VycmVudFRpbWUgPSAwOwoJCQkJY3VycmVudFZpZGVvLnBsYXkoKTsKCQkJfQoKCQkJdmFyIGJhY2tncm91bmRJbWFnZVVSTCA9IGN1cnJlbnRCYWNrZ3JvdW5kLnN0eWxlLmJhY2tncm91bmRJbWFnZSB8fCAnJzsKCgkJCS8vIFJlc3RhcnQgR0lGcyAoZG9lc24ndCB3b3JrIGluIEZpcmVmb3gpCgkJCWlmKCAvXC5naWYvaS50ZXN0KCBiYWNrZ3JvdW5kSW1hZ2VVUkwgKSApIHsKCQkJCWN1cnJlbnRCYWNrZ3JvdW5kLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICcnOwoJCQkJd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGN1cnJlbnRCYWNrZ3JvdW5kICkub3BhY2l0eTsKCQkJCWN1cnJlbnRCYWNrZ3JvdW5kLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGJhY2tncm91bmRJbWFnZVVSTDsKCQkJfQoKCQkJLy8gRG9uJ3QgdHJhbnNpdGlvbiBiZXR3ZWVuIGlkZW50aWNhbCBiYWNrZ3JvdW5kcy4gVGhpcwoJCQkvLyBwcmV2ZW50cyB1bndhbnRlZCBmbGlja2VyLgoJCQl2YXIgcHJldmlvdXNCYWNrZ3JvdW5kSGFzaCA9IHByZXZpb3VzQmFja2dyb3VuZCA/IHByZXZpb3VzQmFja2dyb3VuZC5nZXRBdHRyaWJ1dGUoICdkYXRhLWJhY2tncm91bmQtaGFzaCcgKSA6IG51bGw7CgkJCXZhciBjdXJyZW50QmFja2dyb3VuZEhhc2ggPSBjdXJyZW50QmFja2dyb3VuZC5nZXRBdHRyaWJ1dGUoICdkYXRhLWJhY2tncm91bmQtaGFzaCcgKTsKCQkJaWYoIGN1cnJlbnRCYWNrZ3JvdW5kSGFzaCAmJiBjdXJyZW50QmFja2dyb3VuZEhhc2ggPT09IHByZXZpb3VzQmFja2dyb3VuZEhhc2ggJiYgY3VycmVudEJhY2tncm91bmQgIT09IHByZXZpb3VzQmFja2dyb3VuZCApIHsKCQkJCWRvbS5iYWNrZ3JvdW5kLmNsYXNzTGlzdC5hZGQoICduby10cmFuc2l0aW9uJyApOwoJCQl9CgoJCQlwcmV2aW91c0JhY2tncm91bmQgPSBjdXJyZW50QmFja2dyb3VuZDsKCgkJfQoKCQkvLyBJZiB0aGVyZSdzIGEgYmFja2dyb3VuZCBicmlnaHRuZXNzIGZsYWcgZm9yIHRoaXMgc2xpZGUsCgkJLy8gYnViYmxlIGl0IHRvIHRoZSAucmV2ZWFsIGNvbnRhaW5lcgoJCWlmKCBjdXJyZW50U2xpZGUgKSB7CgkJCVsgJ2hhcy1saWdodC1iYWNrZ3JvdW5kJywgJ2hhcy1kYXJrLWJhY2tncm91bmQnIF0uZm9yRWFjaCggZnVuY3Rpb24oIGNsYXNzVG9CdWJibGUgKSB7CgkJCQlpZiggY3VycmVudFNsaWRlLmNsYXNzTGlzdC5jb250YWlucyggY2xhc3NUb0J1YmJsZSApICkgewoJCQkJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5hZGQoIGNsYXNzVG9CdWJibGUgKTsKCQkJCX0KCQkJCWVsc2UgewoJCQkJCWRvbS53cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoIGNsYXNzVG9CdWJibGUgKTsKCQkJCX0KCQkJfSApOwoJCX0KCgkJLy8gQWxsb3cgdGhlIGZpcnN0IGJhY2tncm91bmQgdG8gYXBwbHkgd2l0aG91dCB0cmFuc2l0aW9uCgkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCWRvbS5iYWNrZ3JvdW5kLmNsYXNzTGlzdC5yZW1vdmUoICduby10cmFuc2l0aW9uJyApOwoJCX0sIDEgKTsKCgl9CgoJLyoqCgkgKiBVcGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgcGFyYWxsYXggYmFja2dyb3VuZCBiYXNlZAoJICogb24gdGhlIGN1cnJlbnQgc2xpZGUgaW5kZXguCgkgKi8KCWZ1bmN0aW9uIHVwZGF0ZVBhcmFsbGF4KCkgewoKCQlpZiggY29uZmlnLnBhcmFsbGF4QmFja2dyb3VuZEltYWdlICkgewoKCQkJdmFyIGhvcml6b250YWxTbGlkZXMgPSBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBIT1JJWk9OVEFMX1NMSURFU19TRUxFQ1RPUiApLAoJCQkJdmVydGljYWxTbGlkZXMgPSBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBWRVJUSUNBTF9TTElERVNfU0VMRUNUT1IgKTsKCgkJCXZhciBiYWNrZ3JvdW5kU2l6ZSA9IGRvbS5iYWNrZ3JvdW5kLnN0eWxlLmJhY2tncm91bmRTaXplLnNwbGl0KCAnICcgKSwKCQkJCWJhY2tncm91bmRXaWR0aCwgYmFja2dyb3VuZEhlaWdodDsKCgkJCWlmKCBiYWNrZ3JvdW5kU2l6ZS5sZW5ndGggPT09IDEgKSB7CgkJCQliYWNrZ3JvdW5kV2lkdGggPSBiYWNrZ3JvdW5kSGVpZ2h0ID0gcGFyc2VJbnQoIGJhY2tncm91bmRTaXplWzBdLCAxMCApOwoJCQl9CgkJCWVsc2UgewoJCQkJYmFja2dyb3VuZFdpZHRoID0gcGFyc2VJbnQoIGJhY2tncm91bmRTaXplWzBdLCAxMCApOwoJCQkJYmFja2dyb3VuZEhlaWdodCA9IHBhcnNlSW50KCBiYWNrZ3JvdW5kU2l6ZVsxXSwgMTAgKTsKCQkJfQoKCQkJdmFyIHNsaWRlV2lkdGggPSBkb20uYmFja2dyb3VuZC5vZmZzZXRXaWR0aCwKCQkJCWhvcml6b250YWxTbGlkZUNvdW50ID0gaG9yaXpvbnRhbFNsaWRlcy5sZW5ndGgsCgkJCQlob3Jpem9udGFsT2Zmc2V0TXVsdGlwbGllciwKCQkJCWhvcml6b250YWxPZmZzZXQ7CgoJCQlpZiggdHlwZW9mIGNvbmZpZy5wYXJhbGxheEJhY2tncm91bmRIb3Jpem9udGFsID09PSAnbnVtYmVyJyApIHsKCQkJCWhvcml6b250YWxPZmZzZXRNdWx0aXBsaWVyID0gY29uZmlnLnBhcmFsbGF4QmFja2dyb3VuZEhvcml6b250YWw7CgkJCX0KCQkJZWxzZSB7CgkJCQlob3Jpem9udGFsT2Zmc2V0TXVsdGlwbGllciA9ICggYmFja2dyb3VuZFdpZHRoIC0gc2xpZGVXaWR0aCApIC8gKCBob3Jpem9udGFsU2xpZGVDb3VudC0xICk7CgkJCX0KCgkJCWhvcml6b250YWxPZmZzZXQgPSBob3Jpem9udGFsT2Zmc2V0TXVsdGlwbGllciAqIGluZGV4aCAqIC0xOwoKCQkJdmFyIHNsaWRlSGVpZ2h0ID0gZG9tLmJhY2tncm91bmQub2Zmc2V0SGVpZ2h0LAoJCQkJdmVydGljYWxTbGlkZUNvdW50ID0gdmVydGljYWxTbGlkZXMubGVuZ3RoLAoJCQkJdmVydGljYWxPZmZzZXRNdWx0aXBsaWVyLAoJCQkJdmVydGljYWxPZmZzZXQ7CgoJCQlpZiggdHlwZW9mIGNvbmZpZy5wYXJhbGxheEJhY2tncm91bmRWZXJ0aWNhbCA9PT0gJ251bWJlcicgKSB7CgkJCQl2ZXJ0aWNhbE9mZnNldE11bHRpcGxpZXIgPSBjb25maWcucGFyYWxsYXhCYWNrZ3JvdW5kVmVydGljYWw7CgkJCX0KCQkJZWxzZSB7CgkJCQl2ZXJ0aWNhbE9mZnNldE11bHRpcGxpZXIgPSAoIGJhY2tncm91bmRIZWlnaHQgLSBzbGlkZUhlaWdodCApIC8gKCB2ZXJ0aWNhbFNsaWRlQ291bnQtMSApOwoJCQl9CgoJCQl2ZXJ0aWNhbE9mZnNldCA9IHZlcnRpY2FsU2xpZGVDb3VudCA+IDAgPyAgdmVydGljYWxPZmZzZXRNdWx0aXBsaWVyICogaW5kZXh2ICogMSA6IDA7CgoJCQlkb20uYmFja2dyb3VuZC5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb24gPSBob3Jpem9udGFsT2Zmc2V0ICsgJ3B4ICcgKyAtdmVydGljYWxPZmZzZXQgKyAncHgnOwoKCQl9CgoJfQoKCS8qKgoJICogQ2FsbGVkIHdoZW4gdGhlIGdpdmVuIHNsaWRlIGlzIHdpdGhpbiB0aGUgY29uZmlndXJlZCB2aWV3CgkgKiBkaXN0YW5jZS4gU2hvd3MgdGhlIHNsaWRlIGVsZW1lbnQgYW5kIGxvYWRzIGFueSBjb250ZW50CgkgKiB0aGF0IGlzIHNldCB0byBsb2FkIGxhemlseSAoZGF0YS1zcmMpLgoJICovCglmdW5jdGlvbiBzaG93U2xpZGUoIHNsaWRlICkgewoKCQkvLyBTaG93IHRoZSBzbGlkZSBlbGVtZW50CgkJc2xpZGUuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CgoJCS8vIE1lZGlhIGVsZW1lbnRzIHdpdGggZGF0YS1zcmMgYXR0cmlidXRlcwoJCXRvQXJyYXkoIHNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICdpbWdbZGF0YS1zcmNdLCB2aWRlb1tkYXRhLXNyY10sIGF1ZGlvW2RhdGEtc3JjXScgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBlbGVtZW50ICkgewoJCQllbGVtZW50LnNldEF0dHJpYnV0ZSggJ3NyYycsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCAnZGF0YS1zcmMnICkgKTsKCQkJZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoICdkYXRhLXNyYycgKTsKCQl9ICk7CgoJCS8vIE1lZGlhIGVsZW1lbnRzIHdpdGggPHNvdXJjZT4gY2hpbGRyZW4KCQl0b0FycmF5KCBzbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAndmlkZW8sIGF1ZGlvJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIG1lZGlhICkgewoJCQl2YXIgc291cmNlcyA9IDA7CgoJCQl0b0FycmF5KCBtZWRpYS5xdWVyeVNlbGVjdG9yQWxsKCAnc291cmNlW2RhdGEtc3JjXScgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBzb3VyY2UgKSB7CgkJCQlzb3VyY2Uuc2V0QXR0cmlidXRlKCAnc3JjJywgc291cmNlLmdldEF0dHJpYnV0ZSggJ2RhdGEtc3JjJyApICk7CgkJCQlzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCAnZGF0YS1zcmMnICk7CgkJCQlzb3VyY2VzICs9IDE7CgkJCX0gKTsKCgkJCS8vIElmIHdlIHJld3JvdGUgc291cmNlcyBmb3IgdGhpcyB2aWRlby9hdWRpbyBlbGVtZW50LCB3ZSBuZWVkCgkJCS8vIHRvIG1hbnVhbGx5IHRlbGwgaXQgdG8gbG9hZCBmcm9tIGl0cyBuZXcgb3JpZ2luCgkJCWlmKCBzb3VyY2VzID4gMCApIHsKCQkJCW1lZGlhLmxvYWQoKTsKCQkJfQoJCX0gKTsKCgoJCS8vIFNob3cgdGhlIGNvcnJlc3BvbmRpbmcgYmFja2dyb3VuZCBlbGVtZW50CgkJdmFyIGluZGljZXMgPSBnZXRJbmRpY2VzKCBzbGlkZSApOwoJCXZhciBiYWNrZ3JvdW5kID0gZ2V0U2xpZGVCYWNrZ3JvdW5kKCBpbmRpY2VzLmgsIGluZGljZXMudiApOwoJCWlmKCBiYWNrZ3JvdW5kICkgewoJCQliYWNrZ3JvdW5kLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoKCQkJLy8gSWYgdGhlIGJhY2tncm91bmQgY29udGFpbnMgbWVkaWEsIGxvYWQgaXQKCQkJaWYoIGJhY2tncm91bmQuaGFzQXR0cmlidXRlKCAnZGF0YS1sb2FkZWQnICkgPT09IGZhbHNlICkgewoJCQkJYmFja2dyb3VuZC5zZXRBdHRyaWJ1dGUoICdkYXRhLWxvYWRlZCcsICd0cnVlJyApOwoKCQkJCXZhciBiYWNrZ3JvdW5kSW1hZ2UgPSBzbGlkZS5nZXRBdHRyaWJ1dGUoICdkYXRhLWJhY2tncm91bmQtaW1hZ2UnICksCgkJCQkJYmFja2dyb3VuZFZpZGVvID0gc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kLXZpZGVvJyApLAoJCQkJCWJhY2tncm91bmRWaWRlb0xvb3AgPSBzbGlkZS5oYXNBdHRyaWJ1dGUoICdkYXRhLWJhY2tncm91bmQtdmlkZW8tbG9vcCcgKSwKCQkJCQliYWNrZ3JvdW5kSWZyYW1lID0gc2xpZGUuZ2V0QXR0cmlidXRlKCAnZGF0YS1iYWNrZ3JvdW5kLWlmcmFtZScgKTsKCgkJCQkvLyBJbWFnZXMKCQkJCWlmKCBiYWNrZ3JvdW5kSW1hZ2UgKSB7CgkJCQkJYmFja2dyb3VuZC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSAndXJsKCcrIGJhY2tncm91bmRJbWFnZSArJyknOwoJCQkJfQoJCQkJLy8gVmlkZW9zCgkJCQllbHNlIGlmICggYmFja2dyb3VuZFZpZGVvICYmICFpc1NwZWFrZXJOb3RlcygpICkgewoJCQkJCXZhciB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICd2aWRlbycgKTsKCgkJCQkJaWYoIGJhY2tncm91bmRWaWRlb0xvb3AgKSB7CgkJCQkJCXZpZGVvLnNldEF0dHJpYnV0ZSggJ2xvb3AnLCAnJyApOwoJCQkJCX0KCgkJCQkJLy8gU3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmlkZW8gc291cmNlcwoJCQkJCWJhY2tncm91bmRWaWRlby5zcGxpdCggJywnICkuZm9yRWFjaCggZnVuY3Rpb24oIHNvdXJjZSApIHsKCQkJCQkJdmlkZW8uaW5uZXJIVE1MICs9ICc8c291cmNlIHNyYz0iJysgc291cmNlICsnIj4nOwoJCQkJCX0gKTsKCgkJCQkJYmFja2dyb3VuZC5hcHBlbmRDaGlsZCggdmlkZW8gKTsKCQkJCX0KCQkJCS8vIElmcmFtZXMKCQkJCWVsc2UgaWYoIGJhY2tncm91bmRJZnJhbWUgKSB7CgkJCQkJdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdpZnJhbWUnICk7CgkJCQkJCWlmcmFtZS5zZXRBdHRyaWJ1dGUoICdzcmMnLCBiYWNrZ3JvdW5kSWZyYW1lICk7CgkJCQkJCWlmcmFtZS5zdHlsZS53aWR0aCAgPSAnMTAwJSc7CgkJCQkJCWlmcmFtZS5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7CgkJCQkJCWlmcmFtZS5zdHlsZS5tYXhIZWlnaHQgPSAnMTAwJSc7CgkJCQkJCWlmcmFtZS5zdHlsZS5tYXhXaWR0aCA9ICcxMDAlJzsKCgkJCQkJYmFja2dyb3VuZC5hcHBlbmRDaGlsZCggaWZyYW1lICk7CgkJCQl9CgkJCX0KCQl9CgoJfQoKCS8qKgoJICogQ2FsbGVkIHdoZW4gdGhlIGdpdmVuIHNsaWRlIGlzIG1vdmVkIG91dHNpZGUgb2YgdGhlCgkgKiBjb25maWd1cmVkIHZpZXcgZGlzdGFuY2UuCgkgKi8KCWZ1bmN0aW9uIGhpZGVTbGlkZSggc2xpZGUgKSB7CgoJCS8vIEhpZGUgdGhlIHNsaWRlIGVsZW1lbnQKCQlzbGlkZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwoKCQkvLyBIaWRlIHRoZSBjb3JyZXNwb25kaW5nIGJhY2tncm91bmQgZWxlbWVudAoJCXZhciBpbmRpY2VzID0gZ2V0SW5kaWNlcyggc2xpZGUgKTsKCQl2YXIgYmFja2dyb3VuZCA9IGdldFNsaWRlQmFja2dyb3VuZCggaW5kaWNlcy5oLCBpbmRpY2VzLnYgKTsKCQlpZiggYmFja2dyb3VuZCApIHsKCQkJYmFja2dyb3VuZC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwoJCX0KCgl9CgoJLyoqCgkgKiBEZXRlcm1pbmUgd2hhdCBhdmFpbGFibGUgcm91dGVzIHRoZXJlIGFyZSBmb3IgbmF2aWdhdGlvbi4KCSAqCgkgKiBAcmV0dXJuIHtPYmplY3R9IGNvbnRhaW5pbmcgZm91ciBib29sZWFuczogbGVmdC9yaWdodC91cC9kb3duCgkgKi8KCWZ1bmN0aW9uIGF2YWlsYWJsZVJvdXRlcygpIHsKCgkJdmFyIGhvcml6b250YWxTbGlkZXMgPSBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBIT1JJWk9OVEFMX1NMSURFU19TRUxFQ1RPUiApLAoJCQl2ZXJ0aWNhbFNsaWRlcyA9IGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIFZFUlRJQ0FMX1NMSURFU19TRUxFQ1RPUiApOwoKCQl2YXIgcm91dGVzID0gewoJCQlsZWZ0OiBpbmRleGggPiAwIHx8IGNvbmZpZy5sb29wLAoJCQlyaWdodDogaW5kZXhoIDwgaG9yaXpvbnRhbFNsaWRlcy5sZW5ndGggLSAxIHx8IGNvbmZpZy5sb29wLAoJCQl1cDogaW5kZXh2ID4gMCwKCQkJZG93bjogaW5kZXh2IDwgdmVydGljYWxTbGlkZXMubGVuZ3RoIC0gMQoJCX07CgoJCS8vIHJldmVyc2UgaG9yaXpvbnRhbCBjb250cm9scyBmb3IgcnRsCgkJaWYoIGNvbmZpZy5ydGwgKSB7CgkJCXZhciBsZWZ0ID0gcm91dGVzLmxlZnQ7CgkJCXJvdXRlcy5sZWZ0ID0gcm91dGVzLnJpZ2h0OwoJCQlyb3V0ZXMucmlnaHQgPSBsZWZ0OwoJCX0KCgkJcmV0dXJuIHJvdXRlczsKCgl9CgoJLyoqCgkgKiBSZXR1cm5zIGFuIG9iamVjdCBkZXNjcmliaW5nIHRoZSBhdmFpbGFibGUgZnJhZ21lbnQKCSAqIGRpcmVjdGlvbnMuCgkgKgoJICogQHJldHVybiB7T2JqZWN0fSB0d28gYm9vbGVhbiBwcm9wZXJ0aWVzOiBwcmV2L25leHQKCSAqLwoJZnVuY3Rpb24gYXZhaWxhYmxlRnJhZ21lbnRzKCkgewoKCQlpZiggY3VycmVudFNsaWRlICYmIGNvbmZpZy5mcmFnbWVudHMgKSB7CgkJCXZhciBmcmFnbWVudHMgPSBjdXJyZW50U2xpZGUucXVlcnlTZWxlY3RvckFsbCggJy5mcmFnbWVudCcgKTsKCQkJdmFyIGhpZGRlbkZyYWdtZW50cyA9IGN1cnJlbnRTbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAnLmZyYWdtZW50Om5vdCgudmlzaWJsZSknICk7CgoJCQlyZXR1cm4gewoJCQkJcHJldjogZnJhZ21lbnRzLmxlbmd0aCAtIGhpZGRlbkZyYWdtZW50cy5sZW5ndGggPiAwLAoJCQkJbmV4dDogISFoaWRkZW5GcmFnbWVudHMubGVuZ3RoCgkJCX07CgkJfQoJCWVsc2UgewoJCQlyZXR1cm4geyBwcmV2OiBmYWxzZSwgbmV4dDogZmFsc2UgfTsKCQl9CgoJfQoKCS8qKgoJICogRW5mb3JjZXMgb3JpZ2luLXNwZWNpZmljIGZvcm1hdCBydWxlcyBmb3IgZW1iZWRkZWQgbWVkaWEuCgkgKi8KCWZ1bmN0aW9uIGZvcm1hdEVtYmVkZGVkQ29udGVudCgpIHsKCgkJdmFyIF9hcHBlbmRQYXJhbVRvSWZyYW1lU291cmNlID0gZnVuY3Rpb24oIHNvdXJjZUF0dHJpYnV0ZSwgc291cmNlVVJMLCBwYXJhbSApIHsKCQkJdG9BcnJheSggZG9tLnNsaWRlcy5xdWVyeVNlbGVjdG9yQWxsKCAnaWZyYW1lWycrIHNvdXJjZUF0dHJpYnV0ZSArJyo9IicrIHNvdXJjZVVSTCArJyJdJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgewoJCQkJdmFyIHNyYyA9IGVsLmdldEF0dHJpYnV0ZSggc291cmNlQXR0cmlidXRlICk7CgkJCQlpZiggc3JjICYmIHNyYy5pbmRleE9mKCBwYXJhbSApID09PSAtMSApIHsKCQkJCQllbC5zZXRBdHRyaWJ1dGUoIHNvdXJjZUF0dHJpYnV0ZSwgc3JjICsgKCAhL1w/Ly50ZXN0KCBzcmMgKSA/ICc/JyA6ICcmJyApICsgcGFyYW0gKTsKCQkJCX0KCQkJfSk7CgkJfTsKCgkJLy8gWW91VHViZSBmcmFtZXMgbXVzdCBpbmNsdWRlICI/ZW5hYmxlanNhcGk9MSIKCQlfYXBwZW5kUGFyYW1Ub0lmcmFtZVNvdXJjZSggJ3NyYycsICd5b3V0dWJlLmNvbS9lbWJlZC8nLCAnZW5hYmxlanNhcGk9MScgKTsKCQlfYXBwZW5kUGFyYW1Ub0lmcmFtZVNvdXJjZSggJ2RhdGEtc3JjJywgJ3lvdXR1YmUuY29tL2VtYmVkLycsICdlbmFibGVqc2FwaT0xJyApOwoKCQkvLyBWaW1lbyBmcmFtZXMgbXVzdCBpbmNsdWRlICI/YXBpPTEiCgkJX2FwcGVuZFBhcmFtVG9JZnJhbWVTb3VyY2UoICdzcmMnLCAncGxheWVyLnZpbWVvLmNvbS8nLCAnYXBpPTEnICk7CgkJX2FwcGVuZFBhcmFtVG9JZnJhbWVTb3VyY2UoICdkYXRhLXNyYycsICdwbGF5ZXIudmltZW8uY29tLycsICdhcGk9MScgKTsKCgl9CgoJLyoqCgkgKiBTdGFydCBwbGF5YmFjayBvZiBhbnkgZW1iZWRkZWQgY29udGVudCBpbnNpZGUgb2YKCSAqIHRoZSB0YXJnZXRlZCBzbGlkZS4KCSAqLwoJZnVuY3Rpb24gc3RhcnRFbWJlZGRlZENvbnRlbnQoIHNsaWRlICkgewoKCQlpZiggc2xpZGUgJiYgIWlzU3BlYWtlck5vdGVzKCkgKSB7CgkJCS8vIFJlc3RhcnQgR0lGcwoJCQl0b0FycmF5KCBzbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAnaW1nW3NyYyQ9Ii5naWYiXScgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsKCQkJCS8vIFNldHRpbmcgdGhlIHNhbWUgdW5jaGFuZ2VkIHNvdXJjZSBsaWtlIHRoaXMgd2FzIGNvbmZpcm1lZAoJCQkJLy8gdG8gd29yayBpbiBDaHJvbWUsIEZGICYgU2FmYXJpCgkJCQllbC5zZXRBdHRyaWJ1dGUoICdzcmMnLCBlbC5nZXRBdHRyaWJ1dGUoICdzcmMnICkgKTsKCQkJfSApOwoKCQkJLy8gSFRNTDUgbWVkaWEgZWxlbWVudHMKCQkJdG9BcnJheSggc2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ3ZpZGVvLCBhdWRpbycgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsKCQkJCWlmKCBlbC5oYXNBdHRyaWJ1dGUoICdkYXRhLWF1dG9wbGF5JyApICYmIHR5cGVvZiBlbC5wbGF5ID09PSAnZnVuY3Rpb24nICkgewoJCQkJCWVsLnBsYXkoKTsKCQkJCX0KCQkJfSApOwoKCQkJLy8gTm9ybWFsIGlmcmFtZXMKCQkJdG9BcnJheSggc2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ2lmcmFtZVtzcmNdJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgewoJCQkJc3RhcnRFbWJlZGRlZElmcmFtZSggeyB0YXJnZXQ6IGVsIH0gKTsKCQkJfSApOwoKCQkJLy8gTGF6eSBsb2FkaW5nIGlmcmFtZXMKCQkJdG9BcnJheSggc2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ2lmcmFtZVtkYXRhLXNyY10nICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7CgkJCQlpZiggZWwuZ2V0QXR0cmlidXRlKCAnc3JjJyApICE9PSBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXNyYycgKSApIHsKCQkJCQllbC5yZW1vdmVFdmVudExpc3RlbmVyKCAnbG9hZCcsIHN0YXJ0RW1iZWRkZWRJZnJhbWUgKTsgLy8gcmVtb3ZlIGZpcnN0IHRvIGF2b2lkIGR1cGVzCgkJCQkJZWwuYWRkRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCBzdGFydEVtYmVkZGVkSWZyYW1lICk7CgkJCQkJZWwuc2V0QXR0cmlidXRlKCAnc3JjJywgZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1zcmMnICkgKTsKCQkJCX0KCQkJfSApOwoJCX0KCgl9CgoJLyoqCgkgKiAiU3RhcnRzIiB0aGUgY29udGVudCBvZiBhbiBlbWJlZGRlZCBpZnJhbWUgdXNpbmcgdGhlCgkgKiBwb3N0bWVzc2FnZSBBUEkuCgkgKi8KCWZ1bmN0aW9uIHN0YXJ0RW1iZWRkZWRJZnJhbWUoIGV2ZW50ICkgewoKCQl2YXIgaWZyYW1lID0gZXZlbnQudGFyZ2V0OwoKCQkvLyBZb3VUdWJlIHBvc3RNZXNzYWdlIEFQSQoJCWlmKCAveW91dHViZVwuY29tXC9lbWJlZFwvLy50ZXN0KCBpZnJhbWUuZ2V0QXR0cmlidXRlKCAnc3JjJyApICkgJiYgaWZyYW1lLmhhc0F0dHJpYnV0ZSggJ2RhdGEtYXV0b3BsYXknICkgKSB7CgkJCWlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCAneyJldmVudCI6ImNvbW1hbmQiLCJmdW5jIjoicGxheVZpZGVvIiwiYXJncyI6IiJ9JywgJyonICk7CgkJfQoJCS8vIFZpbWVvIHBvc3RNZXNzYWdlIEFQSQoJCWVsc2UgaWYoIC9wbGF5ZXJcLnZpbWVvXC5jb21cLy8udGVzdCggaWZyYW1lLmdldEF0dHJpYnV0ZSggJ3NyYycgKSApICYmIGlmcmFtZS5oYXNBdHRyaWJ1dGUoICdkYXRhLWF1dG9wbGF5JyApICkgewoJCQlpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSggJ3sibWV0aG9kIjoicGxheSJ9JywgJyonICk7CgkJfQoJCS8vIEdlbmVyaWMgcG9zdE1lc3NhZ2UgQVBJCgkJZWxzZSB7CgkJCWlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCAnc2xpZGU6c3RhcnQnLCAnKicgKTsKCQl9CgoJfQoKCS8qKgoJICogU3RvcCBwbGF5YmFjayBvZiBhbnkgZW1iZWRkZWQgY29udGVudCBpbnNpZGUgb2YKCSAqIHRoZSB0YXJnZXRlZCBzbGlkZS4KCSAqLwoJZnVuY3Rpb24gc3RvcEVtYmVkZGVkQ29udGVudCggc2xpZGUgKSB7CgoJCWlmKCBzbGlkZSAmJiBzbGlkZS5wYXJlbnROb2RlICkgewoJCQkvLyBIVE1MNSBtZWRpYSBlbGVtZW50cwoJCQl0b0FycmF5KCBzbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAndmlkZW8sIGF1ZGlvJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgewoJCQkJaWYoICFlbC5oYXNBdHRyaWJ1dGUoICdkYXRhLWlnbm9yZScgKSAmJiB0eXBlb2YgZWwucGF1c2UgPT09ICdmdW5jdGlvbicgKSB7CgkJCQkJZWwucGF1c2UoKTsKCQkJCX0KCQkJfSApOwoKCQkJLy8gR2VuZXJpYyBwb3N0TWVzc2FnZSBBUEkgZm9yIG5vbi1sYXp5IGxvYWRlZCBpZnJhbWVzCgkJCXRvQXJyYXkoIHNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICdpZnJhbWUnICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7CgkJCQllbC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCAnc2xpZGU6c3RvcCcsICcqJyApOwoJCQkJZWwucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCBzdGFydEVtYmVkZGVkSWZyYW1lICk7CgkJCX0pOwoKCQkJLy8gWW91VHViZSBwb3N0TWVzc2FnZSBBUEkKCQkJdG9BcnJheSggc2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ2lmcmFtZVtzcmMqPSJ5b3V0dWJlLmNvbS9lbWJlZC8iXScgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsKCQkJCWlmKCAhZWwuaGFzQXR0cmlidXRlKCAnZGF0YS1pZ25vcmUnICkgJiYgdHlwZW9mIGVsLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UgPT09ICdmdW5jdGlvbicgKSB7CgkJCQkJZWwuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSggJ3siZXZlbnQiOiJjb21tYW5kIiwiZnVuYyI6InBhdXNlVmlkZW8iLCJhcmdzIjoiIn0nLCAnKicgKTsKCQkJCX0KCQkJfSk7CgoJCQkvLyBWaW1lbyBwb3N0TWVzc2FnZSBBUEkKCQkJdG9BcnJheSggc2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ2lmcmFtZVtzcmMqPSJwbGF5ZXIudmltZW8uY29tLyJdJyApICkuZm9yRWFjaCggZnVuY3Rpb24oIGVsICkgewoJCQkJaWYoICFlbC5oYXNBdHRyaWJ1dGUoICdkYXRhLWlnbm9yZScgKSAmJiB0eXBlb2YgZWwuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJyApIHsKCQkJCQllbC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCAneyJtZXRob2QiOiJwYXVzZSJ9JywgJyonICk7CgkJCQl9CgkJCX0pOwoKCQkJLy8gTGF6eSBsb2FkaW5nIGlmcmFtZXMKCQkJdG9BcnJheSggc2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ2lmcmFtZVtkYXRhLXNyY10nICkgKS5mb3JFYWNoKCBmdW5jdGlvbiggZWwgKSB7CgkJCQkvLyBPbmx5IHJlbW92aW5nIHRoZSBzcmMgZG9lc24ndCBhY3R1YWxseSB1bmxvYWQgdGhlIGZyYW1lCgkJCQkvLyBpbiBhbGwgYnJvd3NlcnMgKEZpcmVmb3gpIHNvIHdlIHNldCBpdCB0byBibGFuayBmaXJzdAoJCQkJZWwuc2V0QXR0cmlidXRlKCAnc3JjJywgJ2Fib3V0OmJsYW5rJyApOwoJCQkJZWwucmVtb3ZlQXR0cmlidXRlKCAnc3JjJyApOwoJCQl9ICk7CgkJfQoKCX0KCgkvKioKCSAqIFJldHVybnMgdGhlIG51bWJlciBvZiBwYXN0IHNsaWRlcy4gVGhpcyBjYW4gYmUgdXNlZCBhcyBhIGdsb2JhbAoJICogZmxhdHRlbmVkIGluZGV4IGZvciBzbGlkZXMuCgkgKi8KCWZ1bmN0aW9uIGdldFNsaWRlUGFzdENvdW50KCkgewoKCQl2YXIgaG9yaXpvbnRhbFNsaWRlcyA9IHRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIEhPUklaT05UQUxfU0xJREVTX1NFTEVDVE9SICkgKTsKCgkJLy8gVGhlIG51bWJlciBvZiBwYXN0IHNsaWRlcwoJCXZhciBwYXN0Q291bnQgPSAwOwoKCQkvLyBTdGVwIHRocm91Z2ggYWxsIHNsaWRlcyBhbmQgY291bnQgdGhlIHBhc3Qgb25lcwoJCW1haW5Mb29wOiBmb3IoIHZhciBpID0gMDsgaSA8IGhvcml6b250YWxTbGlkZXMubGVuZ3RoOyBpKysgKSB7CgoJCQl2YXIgaG9yaXpvbnRhbFNsaWRlID0gaG9yaXpvbnRhbFNsaWRlc1tpXTsKCQkJdmFyIHZlcnRpY2FsU2xpZGVzID0gdG9BcnJheSggaG9yaXpvbnRhbFNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICdzZWN0aW9uJyApICk7CgoJCQlmb3IoIHZhciBqID0gMDsgaiA8IHZlcnRpY2FsU2xpZGVzLmxlbmd0aDsgaisrICkgewoKCQkJCS8vIFN0b3AgYXMgc29vbiBhcyB3ZSBhcnJpdmUgYXQgdGhlIHByZXNlbnQKCQkJCWlmKCB2ZXJ0aWNhbFNsaWRlc1tqXS5jbGFzc0xpc3QuY29udGFpbnMoICdwcmVzZW50JyApICkgewoJCQkJCWJyZWFrIG1haW5Mb29wOwoJCQkJfQoKCQkJCXBhc3RDb3VudCsrOwoKCQkJfQoKCQkJLy8gU3RvcCBhcyBzb29uIGFzIHdlIGFycml2ZSBhdCB0aGUgcHJlc2VudAoJCQlpZiggaG9yaXpvbnRhbFNsaWRlLmNsYXNzTGlzdC5jb250YWlucyggJ3ByZXNlbnQnICkgKSB7CgkJCQlicmVhazsKCQkJfQoKCQkJLy8gRG9uJ3QgY291bnQgdGhlIHdyYXBwaW5nIHNlY3Rpb24gZm9yIHZlcnRpY2FsIHNsaWRlcwoJCQlpZiggaG9yaXpvbnRhbFNsaWRlLmNsYXNzTGlzdC5jb250YWlucyggJ3N0YWNrJyApID09PSBmYWxzZSApIHsKCQkJCXBhc3RDb3VudCsrOwoJCQl9CgoJCX0KCgkJcmV0dXJuIHBhc3RDb3VudDsKCgl9CgoJLyoqCgkgKiBSZXR1cm5zIGEgdmFsdWUgcmFuZ2luZyBmcm9tIDAtMSB0aGF0IHJlcHJlc2VudHMKCSAqIGhvdyBmYXIgaW50byB0aGUgcHJlc2VudGF0aW9uIHdlIGhhdmUgbmF2aWdhdGVkLgoJICovCglmdW5jdGlvbiBnZXRQcm9ncmVzcygpIHsKCgkJLy8gVGhlIG51bWJlciBvZiBwYXN0IGFuZCB0b3RhbCBzbGlkZXMKCQl2YXIgdG90YWxDb3VudCA9IGdldFRvdGFsU2xpZGVzKCk7CgkJdmFyIHBhc3RDb3VudCA9IGdldFNsaWRlUGFzdENvdW50KCk7CgoJCWlmKCBjdXJyZW50U2xpZGUgKSB7CgoJCQl2YXIgYWxsRnJhZ21lbnRzID0gY3VycmVudFNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICcuZnJhZ21lbnQnICk7CgoJCQkvLyBJZiB0aGVyZSBhcmUgZnJhZ21lbnRzIGluIHRoZSBjdXJyZW50IHNsaWRlIHRob3NlIHNob3VsZCBiZQoJCQkvLyBhY2NvdW50ZWQgZm9yIGluIHRoZSBwcm9ncmVzcy4KCQkJaWYoIGFsbEZyYWdtZW50cy5sZW5ndGggPiAwICkgewoJCQkJdmFyIHZpc2libGVGcmFnbWVudHMgPSBjdXJyZW50U2xpZGUucXVlcnlTZWxlY3RvckFsbCggJy5mcmFnbWVudC52aXNpYmxlJyApOwoKCQkJCS8vIFRoaXMgdmFsdWUgcmVwcmVzZW50cyBob3cgYmlnIGEgcG9ydGlvbiBvZiB0aGUgc2xpZGUgcHJvZ3Jlc3MKCQkJCS8vIHRoYXQgaXMgbWFkZSB1cCBieSBpdHMgZnJhZ21lbnRzICgwLTEpCgkJCQl2YXIgZnJhZ21lbnRXZWlnaHQgPSAwLjk7CgoJCQkJLy8gQWRkIGZyYWdtZW50IHByb2dyZXNzIHRvIHRoZSBwYXN0IHNsaWRlIGNvdW50CgkJCQlwYXN0Q291bnQgKz0gKCB2aXNpYmxlRnJhZ21lbnRzLmxlbmd0aCAvIGFsbEZyYWdtZW50cy5sZW5ndGggKSAqIGZyYWdtZW50V2VpZ2h0OwoJCQl9CgoJCX0KCgkJcmV0dXJuIHBhc3RDb3VudCAvICggdG90YWxDb3VudCAtIDEgKTsKCgl9CgoJLyoqCgkgKiBDaGVja3MgaWYgdGhpcyBwcmVzZW50YXRpb24gaXMgcnVubmluZyBpbnNpZGUgb2YgdGhlCgkgKiBzcGVha2VyIG5vdGVzIHdpbmRvdy4KCSAqLwoJZnVuY3Rpb24gaXNTcGVha2VyTm90ZXMoKSB7CgoJCXJldHVybiAhIXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2goIC9yZWNlaXZlci9naSApOwoKCX0KCgkvKioKCSAqIFJlYWRzIHRoZSBjdXJyZW50IFVSTCAoaGFzaCkgYW5kIG5hdmlnYXRlcyBhY2NvcmRpbmdseS4KCSAqLwoJZnVuY3Rpb24gcmVhZFVSTCgpIHsKCgkJdmFyIGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaDsKCgkJLy8gQXR0ZW1wdCB0byBwYXJzZSB0aGUgaGFzaCBhcyBlaXRoZXIgYW4gaW5kZXggb3IgbmFtZQoJCXZhciBiaXRzID0gaGFzaC5zbGljZSggMiApLnNwbGl0KCAnLycgKSwKCQkJbmFtZSA9IGhhc2gucmVwbGFjZSggLyN8XC8vZ2ksICcnICk7CgoJCS8vIElmIHRoZSBmaXJzdCBiaXQgaXMgaW52YWxpZCBhbmQgdGhlcmUgaXMgYSBuYW1lIHdlIGNhbgoJCS8vIGFzc3VtZSB0aGF0IHRoaXMgaXMgYSBuYW1lZCBsaW5rCgkJaWYoIGlzTmFOKCBwYXJzZUludCggYml0c1swXSwgMTAgKSApICYmIG5hbWUubGVuZ3RoICkgewoJCQl2YXIgZWxlbWVudDsKCgkJCS8vIEVuc3VyZSB0aGUgbmFtZWQgbGluayBpcyBhIHZhbGlkIEhUTUwgSUQgYXR0cmlidXRlCgkJCWlmKCAvXlthLXpBLVpdW1x3Oi4tXSokLy50ZXN0KCBuYW1lICkgKSB7CgkJCQkvLyBGaW5kIHRoZSBzbGlkZSB3aXRoIHRoZSBzcGVjaWZpZWQgSUQKCQkJCWVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggbmFtZSApOwoJCQl9CgoJCQlpZiggZWxlbWVudCApIHsKCQkJCS8vIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBuYW1lZCBzbGlkZSBhbmQgbmF2aWdhdGUgdG8gaXQKCQkJCXZhciBpbmRpY2VzID0gUmV2ZWFsLmdldEluZGljZXMoIGVsZW1lbnQgKTsKCQkJCXNsaWRlKCBpbmRpY2VzLmgsIGluZGljZXMudiApOwoJCQl9CgkJCS8vIElmIHRoZSBzbGlkZSBkb2Vzbid0IGV4aXN0LCBuYXZpZ2F0ZSB0byB0aGUgY3VycmVudCBzbGlkZQoJCQllbHNlIHsKCQkJCXNsaWRlKCBpbmRleGggfHwgMCwgaW5kZXh2IHx8IDAgKTsKCQkJfQoJCX0KCQllbHNlIHsKCQkJLy8gUmVhZCB0aGUgaW5kZXggY29tcG9uZW50cyBvZiB0aGUgaGFzaAoJCQl2YXIgaCA9IHBhcnNlSW50KCBiaXRzWzBdLCAxMCApIHx8IDAsCgkJCQl2ID0gcGFyc2VJbnQoIGJpdHNbMV0sIDEwICkgfHwgMDsKCgkJCWlmKCBoICE9PSBpbmRleGggfHwgdiAhPT0gaW5kZXh2ICkgewoJCQkJc2xpZGUoIGgsIHYgKTsKCQkJfQoJCX0KCgl9CgoJLyoqCgkgKiBVcGRhdGVzIHRoZSBwYWdlIFVSTCAoaGFzaCkgdG8gcmVmbGVjdCB0aGUgY3VycmVudAoJICogc3RhdGUuCgkgKgoJICogQHBhcmFtIHtOdW1iZXJ9IGRlbGF5IFRoZSB0aW1lIGluIG1zIHRvIHdhaXQgYmVmb3JlCgkgKiB3cml0aW5nIHRoZSBoYXNoCgkgKi8KCWZ1bmN0aW9uIHdyaXRlVVJMKCBkZWxheSApIHsKCgkJaWYoIGNvbmZpZy5oaXN0b3J5ICkgewoKCQkJLy8gTWFrZSBzdXJlIHRoZXJlJ3MgbmV2ZXIgbW9yZSB0aGFuIG9uZSB0aW1lb3V0IHJ1bm5pbmcKCQkJY2xlYXJUaW1lb3V0KCB3cml0ZVVSTFRpbWVvdXQgKTsKCgkJCS8vIElmIGEgZGVsYXkgaXMgc3BlY2lmaWVkLCB0aW1lb3V0IHRoaXMgY2FsbAoJCQlpZiggdHlwZW9mIGRlbGF5ID09PSAnbnVtYmVyJyApIHsKCQkJCXdyaXRlVVJMVGltZW91dCA9IHNldFRpbWVvdXQoIHdyaXRlVVJMLCBkZWxheSApOwoJCQl9CgkJCWVsc2UgaWYoIGN1cnJlbnRTbGlkZSApIHsKCQkJCXZhciB1cmwgPSAnLyc7CgoJCQkJLy8gQXR0ZW1wdCB0byBjcmVhdGUgYSBuYW1lZCBsaW5rIGJhc2VkIG9uIHRoZSBzbGlkZSdzIElECgkJCQl2YXIgaWQgPSBjdXJyZW50U2xpZGUuZ2V0QXR0cmlidXRlKCAnaWQnICk7CgkJCQlpZiggaWQgKSB7CgkJCQkJaWQgPSBpZC5yZXBsYWNlKCAvW15hLXpBLVowLTlcLVxfXDpcLl0vZywgJycgKTsKCQkJCX0KCgkJCQkvLyBJZiB0aGUgY3VycmVudCBzbGlkZSBoYXMgYW4gSUQsIHVzZSB0aGF0IGFzIGEgbmFtZWQgbGluawoJCQkJaWYoIHR5cGVvZiBpZCA9PT0gJ3N0cmluZycgJiYgaWQubGVuZ3RoICkgewoJCQkJCXVybCA9ICcvJyArIGlkOwoJCQkJfQoJCQkJLy8gT3RoZXJ3aXNlIHVzZSB0aGUgL2gvdiBpbmRleAoJCQkJZWxzZSB7CgkJCQkJaWYoIGluZGV4aCA+IDAgfHwgaW5kZXh2ID4gMCApIHVybCArPSBpbmRleGg7CgkJCQkJaWYoIGluZGV4diA+IDAgKSB1cmwgKz0gJy8nICsgaW5kZXh2OwoJCQkJfQoKCQkJCXdpbmRvdy5sb2NhdGlvbi5oYXNoID0gdXJsOwoJCQl9CgkJfQoKCX0KCgkvKioKCSAqIFJldHJpZXZlcyB0aGUgaC92IGxvY2F0aW9uIG9mIHRoZSBjdXJyZW50LCBvciBzcGVjaWZpZWQsCgkgKiBzbGlkZS4KCSAqCgkgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBzbGlkZSBJZiBzcGVjaWZpZWQsIHRoZSByZXR1cm5lZAoJICogaW5kZXggd2lsbCBiZSBmb3IgdGhpcyBzbGlkZSByYXRoZXIgdGhhbiB0aGUgY3VycmVudGx5CgkgKiBhY3RpdmUgb25lCgkgKgoJICogQHJldHVybiB7T2JqZWN0fSB7IGg6IDxpbnQ+LCB2OiA8aW50PiwgZjogPGludD4gfQoJICovCglmdW5jdGlvbiBnZXRJbmRpY2VzKCBzbGlkZSApIHsKCgkJLy8gQnkgZGVmYXVsdCwgcmV0dXJuIHRoZSBjdXJyZW50IGluZGljZXMKCQl2YXIgaCA9IGluZGV4aCwKCQkJdiA9IGluZGV4diwKCQkJZjsKCgkJLy8gSWYgYSBzbGlkZSBpcyBzcGVjaWZpZWQsIHJldHVybiB0aGUgaW5kaWNlcyBvZiB0aGF0IHNsaWRlCgkJaWYoIHNsaWRlICkgewoJCQl2YXIgaXNWZXJ0aWNhbCA9IGlzVmVydGljYWxTbGlkZSggc2xpZGUgKTsKCQkJdmFyIHNsaWRlaCA9IGlzVmVydGljYWwgPyBzbGlkZS5wYXJlbnROb2RlIDogc2xpZGU7CgoJCQkvLyBTZWxlY3QgYWxsIGhvcml6b250YWwgc2xpZGVzCgkJCXZhciBob3Jpem9udGFsU2xpZGVzID0gdG9BcnJheSggZG9tLndyYXBwZXIucXVlcnlTZWxlY3RvckFsbCggSE9SSVpPTlRBTF9TTElERVNfU0VMRUNUT1IgKSApOwoKCQkJLy8gTm93IHRoYXQgd2Uga25vdyB3aGljaCB0aGUgaG9yaXpvbnRhbCBzbGlkZSBpcywgZ2V0IGl0cyBpbmRleAoJCQloID0gTWF0aC5tYXgoIGhvcml6b250YWxTbGlkZXMuaW5kZXhPZiggc2xpZGVoICksIDAgKTsKCgkJCS8vIEFzc3VtZSB3ZSdyZSBub3QgdmVydGljYWwKCQkJdiA9IHVuZGVmaW5lZDsKCgkJCS8vIElmIHRoaXMgaXMgYSB2ZXJ0aWNhbCBzbGlkZSwgZ3JhYiB0aGUgdmVydGljYWwgaW5kZXgKCQkJaWYoIGlzVmVydGljYWwgKSB7CgkJCQl2ID0gTWF0aC5tYXgoIHRvQXJyYXkoIHNsaWRlLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCggJ3NlY3Rpb24nICkgKS5pbmRleE9mKCBzbGlkZSApLCAwICk7CgkJCX0KCQl9CgoJCWlmKCAhc2xpZGUgJiYgY3VycmVudFNsaWRlICkgewoJCQl2YXIgaGFzRnJhZ21lbnRzID0gY3VycmVudFNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICcuZnJhZ21lbnQnICkubGVuZ3RoID4gMDsKCQkJaWYoIGhhc0ZyYWdtZW50cyApIHsKCQkJCXZhciBjdXJyZW50RnJhZ21lbnQgPSBjdXJyZW50U2xpZGUucXVlcnlTZWxlY3RvciggJy5jdXJyZW50LWZyYWdtZW50JyApOwoJCQkJaWYoIGN1cnJlbnRGcmFnbWVudCAmJiBjdXJyZW50RnJhZ21lbnQuaGFzQXR0cmlidXRlKCAnZGF0YS1mcmFnbWVudC1pbmRleCcgKSApIHsKCQkJCQlmID0gcGFyc2VJbnQoIGN1cnJlbnRGcmFnbWVudC5nZXRBdHRyaWJ1dGUoICdkYXRhLWZyYWdtZW50LWluZGV4JyApLCAxMCApOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJZiA9IGN1cnJlbnRTbGlkZS5xdWVyeVNlbGVjdG9yQWxsKCAnLmZyYWdtZW50LnZpc2libGUnICkubGVuZ3RoIC0gMTsKCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuIHsgaDogaCwgdjogdiwgZjogZiB9OwoKCX0KCgkvKioKCSAqIFJldHJpZXZlcyB0aGUgdG90YWwgbnVtYmVyIG9mIHNsaWRlcyBpbiB0aGlzIHByZXNlbnRhdGlvbi4KCSAqLwoJZnVuY3Rpb24gZ2V0VG90YWxTbGlkZXMoKSB7CgoJCXJldHVybiBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBTTElERVNfU0VMRUNUT1IgKyAnOm5vdCguc3RhY2spJyApLmxlbmd0aDsKCgl9CgoJLyoqCgkgKiBSZXR1cm5zIHRoZSBzbGlkZSBlbGVtZW50IG1hdGNoaW5nIHRoZSBzcGVjaWZpZWQgaW5kZXguCgkgKi8KCWZ1bmN0aW9uIGdldFNsaWRlKCB4LCB5ICkgewoKCQl2YXIgaG9yaXpvbnRhbFNsaWRlID0gZG9tLndyYXBwZXIucXVlcnlTZWxlY3RvckFsbCggSE9SSVpPTlRBTF9TTElERVNfU0VMRUNUT1IgKVsgeCBdOwoJCXZhciB2ZXJ0aWNhbFNsaWRlcyA9IGhvcml6b250YWxTbGlkZSAmJiBob3Jpem9udGFsU2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ3NlY3Rpb24nICk7CgoJCWlmKCB2ZXJ0aWNhbFNsaWRlcyAmJiB2ZXJ0aWNhbFNsaWRlcy5sZW5ndGggJiYgdHlwZW9mIHkgPT09ICdudW1iZXInICkgewoJCQlyZXR1cm4gdmVydGljYWxTbGlkZXMgPyB2ZXJ0aWNhbFNsaWRlc1sgeSBdIDogdW5kZWZpbmVkOwoJCX0KCgkJcmV0dXJuIGhvcml6b250YWxTbGlkZTsKCgl9CgoJLyoqCgkgKiBSZXR1cm5zIHRoZSBiYWNrZ3JvdW5kIGVsZW1lbnQgZm9yIHRoZSBnaXZlbiBzbGlkZS4KCSAqIEFsbCBzbGlkZXMsIGV2ZW4gdGhlIG9uZXMgd2l0aCBubyBiYWNrZ3JvdW5kIHByb3BlcnRpZXMKCSAqIGRlZmluZWQsIGhhdmUgYSBiYWNrZ3JvdW5kIGVsZW1lbnQgc28gYXMgbG9uZyBhcyB0aGUKCSAqIGluZGV4IGlzIHZhbGlkIGFuIGVsZW1lbnQgd2lsbCBiZSByZXR1cm5lZC4KCSAqLwoJZnVuY3Rpb24gZ2V0U2xpZGVCYWNrZ3JvdW5kKCB4LCB5ICkgewoKCQkvLyBXaGVuIHByaW50aW5nIHRvIFBERiB0aGUgc2xpZGUgYmFja2dyb3VuZHMgYXJlIG5lc3RlZAoJCS8vIGluc2lkZSBvZiB0aGUgc2xpZGVzCgkJaWYoIGlzUHJpbnRpbmdQREYoKSApIHsKCQkJdmFyIHNsaWRlID0gZ2V0U2xpZGUoIHgsIHkgKTsKCQkJaWYoIHNsaWRlICkgewoJCQkJdmFyIGJhY2tncm91bmQgPSBzbGlkZS5xdWVyeVNlbGVjdG9yKCAnLnNsaWRlLWJhY2tncm91bmQnICk7CgkJCQlpZiggYmFja2dyb3VuZCAmJiBiYWNrZ3JvdW5kLnBhcmVudE5vZGUgPT09IHNsaWRlICkgewoJCQkJCXJldHVybiBiYWNrZ3JvdW5kOwoJCQkJfQoJCQl9CgoJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCX0KCgkJdmFyIGhvcml6b250YWxCYWNrZ3JvdW5kID0gZG9tLndyYXBwZXIucXVlcnlTZWxlY3RvckFsbCggJy5iYWNrZ3JvdW5kcz4uc2xpZGUtYmFja2dyb3VuZCcgKVsgeCBdOwoJCXZhciB2ZXJ0aWNhbEJhY2tncm91bmRzID0gaG9yaXpvbnRhbEJhY2tncm91bmQgJiYgaG9yaXpvbnRhbEJhY2tncm91bmQucXVlcnlTZWxlY3RvckFsbCggJy5zbGlkZS1iYWNrZ3JvdW5kJyApOwoKCQlpZiggdmVydGljYWxCYWNrZ3JvdW5kcyAmJiB2ZXJ0aWNhbEJhY2tncm91bmRzLmxlbmd0aCAmJiB0eXBlb2YgeSA9PT0gJ251bWJlcicgKSB7CgkJCXJldHVybiB2ZXJ0aWNhbEJhY2tncm91bmRzID8gdmVydGljYWxCYWNrZ3JvdW5kc1sgeSBdIDogdW5kZWZpbmVkOwoJCX0KCgkJcmV0dXJuIGhvcml6b250YWxCYWNrZ3JvdW5kOwoKCX0KCgkvKioKCSAqIFJldHJpZXZlcyB0aGUgc3BlYWtlciBub3RlcyBmcm9tIGEgc2xpZGUuIE5vdGVzIGNhbiBiZQoJICogZGVmaW5lZCBpbiB0d28gd2F5czoKCSAqIDEuIEFzIGEgZGF0YS1ub3RlcyBhdHRyaWJ1dGUgb24gdGhlIHNsaWRlIDxzZWN0aW9uPgoJICogMi4gQXMgYW4gPGFzaWRlIGNsYXNzPSJub3RlcyI+IGluc2lkZSBvZiB0aGUgc2xpZGUKCSAqLwoJZnVuY3Rpb24gZ2V0U2xpZGVOb3Rlcyggc2xpZGUgKSB7CgoJCS8vIERlZmF1bHQgdG8gdGhlIGN1cnJlbnQgc2xpZGUKCQlzbGlkZSA9IHNsaWRlIHx8IGN1cnJlbnRTbGlkZTsKCgkJLy8gTm90ZXMgY2FuIGJlIHNwZWNpZmllZCB2aWEgdGhlIGRhdGEtbm90ZXMgYXR0cmlidXRlLi4uCgkJaWYoIHNsaWRlLmhhc0F0dHJpYnV0ZSggJ2RhdGEtbm90ZXMnICkgKSB7CgkJCXJldHVybiBzbGlkZS5nZXRBdHRyaWJ1dGUoICdkYXRhLW5vdGVzJyApOwoJCX0KCgkJLy8gLi4uIG9yIHVzaW5nIGFuIDxhc2lkZSBjbGFzcz0ibm90ZXMiPiBlbGVtZW50CgkJdmFyIG5vdGVzRWxlbWVudCA9IHNsaWRlLnF1ZXJ5U2VsZWN0b3IoICdhc2lkZS5ub3RlcycgKTsKCQlpZiggbm90ZXNFbGVtZW50ICkgewoJCQlyZXR1cm4gbm90ZXNFbGVtZW50LmlubmVySFRNTDsKCQl9CgoJCXJldHVybiBudWxsOwoKCX0KCgkvKioKCSAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJlc2VudGF0aW9uIGFzCgkgKiBhbiBvYmplY3QuIFRoaXMgc3RhdGUgY2FuIHRoZW4gYmUgcmVzdG9yZWQgYXQgYW55CgkgKiB0aW1lLgoJICovCglmdW5jdGlvbiBnZXRTdGF0ZSgpIHsKCgkJdmFyIGluZGljZXMgPSBnZXRJbmRpY2VzKCk7CgoJCXJldHVybiB7CgkJCWluZGV4aDogaW5kaWNlcy5oLAoJCQlpbmRleHY6IGluZGljZXMudiwKCQkJaW5kZXhmOiBpbmRpY2VzLmYsCgkJCXBhdXNlZDogaXNQYXVzZWQoKSwKCQkJb3ZlcnZpZXc6IGlzT3ZlcnZpZXcoKQoJCX07CgoJfQoKCS8qKgoJICogUmVzdG9yZXMgdGhlIHByZXNlbnRhdGlvbiB0byB0aGUgZ2l2ZW4gc3RhdGUuCgkgKgoJICogQHBhcmFtIHtPYmplY3R9IHN0YXRlIEFzIGdlbmVyYXRlZCBieSBnZXRTdGF0ZSgpCgkgKi8KCWZ1bmN0aW9uIHNldFN0YXRlKCBzdGF0ZSApIHsKCgkJaWYoIHR5cGVvZiBzdGF0ZSA9PT0gJ29iamVjdCcgKSB7CgkJCXNsaWRlKCBkZXNlcmlhbGl6ZSggc3RhdGUuaW5kZXhoICksIGRlc2VyaWFsaXplKCBzdGF0ZS5pbmRleHYgKSwgZGVzZXJpYWxpemUoIHN0YXRlLmluZGV4ZiApICk7CgoJCQl2YXIgcGF1c2VkRmxhZyA9IGRlc2VyaWFsaXplKCBzdGF0ZS5wYXVzZWQgKSwKCQkJCW92ZXJ2aWV3RmxhZyA9IGRlc2VyaWFsaXplKCBzdGF0ZS5vdmVydmlldyApOwoKCQkJaWYoIHR5cGVvZiBwYXVzZWRGbGFnID09PSAnYm9vbGVhbicgJiYgcGF1c2VkRmxhZyAhPT0gaXNQYXVzZWQoKSApIHsKCQkJCXRvZ2dsZVBhdXNlKCBwYXVzZWRGbGFnICk7CgkJCX0KCgkJCWlmKCB0eXBlb2Ygb3ZlcnZpZXdGbGFnID09PSAnYm9vbGVhbicgJiYgb3ZlcnZpZXdGbGFnICE9PSBpc092ZXJ2aWV3KCkgKSB7CgkJCQl0b2dnbGVPdmVydmlldyggb3ZlcnZpZXdGbGFnICk7CgkJCX0KCQl9CgoJfQoKCS8qKgoJICogUmV0dXJuIGEgc29ydGVkIGZyYWdtZW50cyBsaXN0LCBvcmRlcmVkIGJ5IGFuIGluY3JlYXNpbmcKCSAqICJkYXRhLWZyYWdtZW50LWluZGV4IiBhdHRyaWJ1dGUuCgkgKgoJICogRnJhZ21lbnRzIHdpbGwgYmUgcmV2ZWFsZWQgaW4gdGhlIG9yZGVyIHRoYXQgdGhleSBhcmUgcmV0dXJuZWQgYnkKCSAqIHRoaXMgZnVuY3Rpb24sIHNvIHlvdSBjYW4gdXNlIHRoZSBpbmRleCBhdHRyaWJ1dGVzIHRvIGNvbnRyb2wgdGhlCgkgKiBvcmRlciBvZiBmcmFnbWVudCBhcHBlYXJhbmNlLgoJICoKCSAqIFRvIG1haW50YWluIGEgc2Vuc2libGUgZGVmYXVsdCBmcmFnbWVudCBvcmRlciwgZnJhZ21lbnRzIGFyZSBwcmVzdW1lZAoJICogdG8gYmUgcGFzc2VkIGluIGRvY3VtZW50IG9yZGVyLiBUaGlzIGZ1bmN0aW9uIGFkZHMgYSAiZnJhZ21lbnQtaW5kZXgiCgkgKiBhdHRyaWJ1dGUgdG8gZWFjaCBub2RlIGlmIHN1Y2ggYW4gYXR0cmlidXRlIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsCgkgKiBhbmQgc2V0cyB0aGF0IGF0dHJpYnV0ZSB0byBhbiBpbnRlZ2VyIHZhbHVlIHdoaWNoIGlzIHRoZSBwb3NpdGlvbiBvZgoJICogdGhlIGZyYWdtZW50IHdpdGhpbiB0aGUgZnJhZ21lbnRzIGxpc3QuCgkgKi8KCWZ1bmN0aW9uIHNvcnRGcmFnbWVudHMoIGZyYWdtZW50cyApIHsKCgkJZnJhZ21lbnRzID0gdG9BcnJheSggZnJhZ21lbnRzICk7CgoJCXZhciBvcmRlcmVkID0gW10sCgkJCXVub3JkZXJlZCA9IFtdLAoJCQlzb3J0ZWQgPSBbXTsKCgkJLy8gR3JvdXAgb3JkZXJlZCBhbmQgdW5vcmRlcmVkIGVsZW1lbnRzCgkJZnJhZ21lbnRzLmZvckVhY2goIGZ1bmN0aW9uKCBmcmFnbWVudCwgaSApIHsKCQkJaWYoIGZyYWdtZW50Lmhhc0F0dHJpYnV0ZSggJ2RhdGEtZnJhZ21lbnQtaW5kZXgnICkgKSB7CgkJCQl2YXIgaW5kZXggPSBwYXJzZUludCggZnJhZ21lbnQuZ2V0QXR0cmlidXRlKCAnZGF0YS1mcmFnbWVudC1pbmRleCcgKSwgMTAgKTsKCgkJCQlpZiggIW9yZGVyZWRbaW5kZXhdICkgewoJCQkJCW9yZGVyZWRbaW5kZXhdID0gW107CgkJCQl9CgoJCQkJb3JkZXJlZFtpbmRleF0ucHVzaCggZnJhZ21lbnQgKTsKCQkJfQoJCQllbHNlIHsKCQkJCXVub3JkZXJlZC5wdXNoKCBbIGZyYWdtZW50IF0gKTsKCQkJfQoJCX0gKTsKCgkJLy8gQXBwZW5kIGZyYWdtZW50cyB3aXRob3V0IGV4cGxpY2l0IGluZGljZXMgaW4gdGhlaXIKCQkvLyBET00gb3JkZXIKCQlvcmRlcmVkID0gb3JkZXJlZC5jb25jYXQoIHVub3JkZXJlZCApOwoKCQkvLyBNYW51YWxseSBjb3VudCB0aGUgaW5kZXggdXAgcGVyIGdyb3VwIHRvIGVuc3VyZSB0aGVyZQoJCS8vIGFyZSBubyBnYXBzCgkJdmFyIGluZGV4ID0gMDsKCgkJLy8gUHVzaCBhbGwgZnJhZ21lbnRzIGluIHRoZWlyIHNvcnRlZCBvcmRlciB0byBhbiBhcnJheSwKCQkvLyB0aGlzIGZsYXR0ZW5zIHRoZSBncm91cHMKCQlvcmRlcmVkLmZvckVhY2goIGZ1bmN0aW9uKCBncm91cCApIHsKCQkJZ3JvdXAuZm9yRWFjaCggZnVuY3Rpb24oIGZyYWdtZW50ICkgewoJCQkJc29ydGVkLnB1c2goIGZyYWdtZW50ICk7CgkJCQlmcmFnbWVudC5zZXRBdHRyaWJ1dGUoICdkYXRhLWZyYWdtZW50LWluZGV4JywgaW5kZXggKTsKCQkJfSApOwoKCQkJaW5kZXggKys7CgkJfSApOwoKCQlyZXR1cm4gc29ydGVkOwoKCX0KCgkvKioKCSAqIE5hdmlnYXRlIHRvIHRoZSBzcGVjaWZpZWQgc2xpZGUgZnJhZ21lbnQuCgkgKgoJICogQHBhcmFtIHtOdW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZnJhZ21lbnQgdGhhdAoJICogc2hvdWxkIGJlIHNob3duLCAtMSBtZWFucyBhbGwgYXJlIGludmlzaWJsZQoJICogQHBhcmFtIHtOdW1iZXJ9IG9mZnNldCBJbnRlZ2VyIG9mZnNldCB0byBhcHBseSB0byB0aGUKCSAqIGZyYWdtZW50IGluZGV4CgkgKgoJICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSBpZiBhIGNoYW5nZSB3YXMgbWFkZSBpbiBhbnkKCSAqIGZyYWdtZW50cyB2aXNpYmlsaXR5IGFzIHBhcnQgb2YgdGhpcyBjYWxsCgkgKi8KCWZ1bmN0aW9uIG5hdmlnYXRlRnJhZ21lbnQoIGluZGV4LCBvZmZzZXQgKSB7CgoJCWlmKCBjdXJyZW50U2xpZGUgJiYgY29uZmlnLmZyYWdtZW50cyApIHsKCgkJCXZhciBmcmFnbWVudHMgPSBzb3J0RnJhZ21lbnRzKCBjdXJyZW50U2xpZGUucXVlcnlTZWxlY3RvckFsbCggJy5mcmFnbWVudCcgKSApOwoJCQlpZiggZnJhZ21lbnRzLmxlbmd0aCApIHsKCgkJCQkvLyBJZiBubyBpbmRleCBpcyBzcGVjaWZpZWQsIGZpbmQgdGhlIGN1cnJlbnQKCQkJCWlmKCB0eXBlb2YgaW5kZXggIT09ICdudW1iZXInICkgewoJCQkJCXZhciBsYXN0VmlzaWJsZUZyYWdtZW50ID0gc29ydEZyYWdtZW50cyggY3VycmVudFNsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICcuZnJhZ21lbnQudmlzaWJsZScgKSApLnBvcCgpOwoKCQkJCQlpZiggbGFzdFZpc2libGVGcmFnbWVudCApIHsKCQkJCQkJaW5kZXggPSBwYXJzZUludCggbGFzdFZpc2libGVGcmFnbWVudC5nZXRBdHRyaWJ1dGUoICdkYXRhLWZyYWdtZW50LWluZGV4JyApIHx8IDAsIDEwICk7CgkJCQkJfQoJCQkJCWVsc2UgewoJCQkJCQlpbmRleCA9IC0xOwoJCQkJCX0KCQkJCX0KCgkJCQkvLyBJZiBhbiBvZmZzZXQgaXMgc3BlY2lmaWVkLCBhcHBseSBpdCB0byB0aGUgaW5kZXgKCQkJCWlmKCB0eXBlb2Ygb2Zmc2V0ID09PSAnbnVtYmVyJyApIHsKCQkJCQlpbmRleCArPSBvZmZzZXQ7CgkJCQl9CgoJCQkJdmFyIGZyYWdtZW50c1Nob3duID0gW10sCgkJCQkJZnJhZ21lbnRzSGlkZGVuID0gW107CgoJCQkJdG9BcnJheSggZnJhZ21lbnRzICkuZm9yRWFjaCggZnVuY3Rpb24oIGVsZW1lbnQsIGkgKSB7CgoJCQkJCWlmKCBlbGVtZW50Lmhhc0F0dHJpYnV0ZSggJ2RhdGEtZnJhZ21lbnQtaW5kZXgnICkgKSB7CgkJCQkJCWkgPSBwYXJzZUludCggZWxlbWVudC5nZXRBdHRyaWJ1dGUoICdkYXRhLWZyYWdtZW50LWluZGV4JyApLCAxMCApOwoJCQkJCX0KCgkJCQkJLy8gVmlzaWJsZSBmcmFnbWVudHMKCQkJCQlpZiggaSA8PSBpbmRleCApIHsKCQkJCQkJaWYoICFlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyggJ3Zpc2libGUnICkgKSBmcmFnbWVudHNTaG93bi5wdXNoKCBlbGVtZW50ICk7CgkJCQkJCWVsZW1lbnQuY2xhc3NMaXN0LmFkZCggJ3Zpc2libGUnICk7CgkJCQkJCWVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSggJ2N1cnJlbnQtZnJhZ21lbnQnICk7CgoJCQkJCQkvLyBBbm5vdW5jZSB0aGUgZnJhZ21lbnRzIG9uZSBieSBvbmUgdG8gdGhlIFNjcmVlbiBSZWFkZXIKCQkJCQkJZG9tLnN0YXR1c0Rpdi50ZXh0Q29udGVudCA9IGVsZW1lbnQudGV4dENvbnRlbnQ7CgoJCQkJCQlpZiggaSA9PT0gaW5kZXggKSB7CgkJCQkJCQllbGVtZW50LmNsYXNzTGlzdC5hZGQoICdjdXJyZW50LWZyYWdtZW50JyApOwoJCQkJCQl9CgkJCQkJfQoJCQkJCS8vIEhpZGRlbiBmcmFnbWVudHMKCQkJCQllbHNlIHsKCQkJCQkJaWYoIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCAndmlzaWJsZScgKSApIGZyYWdtZW50c0hpZGRlbi5wdXNoKCBlbGVtZW50ICk7CgkJCQkJCWVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSggJ3Zpc2libGUnICk7CgkJCQkJCWVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSggJ2N1cnJlbnQtZnJhZ21lbnQnICk7CgkJCQkJfQoKCgkJCQl9ICk7CgoJCQkJaWYoIGZyYWdtZW50c0hpZGRlbi5sZW5ndGggKSB7CgkJCQkJZGlzcGF0Y2hFdmVudCggJ2ZyYWdtZW50aGlkZGVuJywgeyBmcmFnbWVudDogZnJhZ21lbnRzSGlkZGVuWzBdLCBmcmFnbWVudHM6IGZyYWdtZW50c0hpZGRlbiB9ICk7CgkJCQl9CgoJCQkJaWYoIGZyYWdtZW50c1Nob3duLmxlbmd0aCApIHsKCQkJCQlkaXNwYXRjaEV2ZW50KCAnZnJhZ21lbnRzaG93bicsIHsgZnJhZ21lbnQ6IGZyYWdtZW50c1Nob3duWzBdLCBmcmFnbWVudHM6IGZyYWdtZW50c1Nob3duIH0gKTsKCQkJCX0KCgkJCQl1cGRhdGVDb250cm9scygpOwoJCQkJdXBkYXRlUHJvZ3Jlc3MoKTsKCgkJCQlyZXR1cm4gISEoIGZyYWdtZW50c1Nob3duLmxlbmd0aCB8fCBmcmFnbWVudHNIaWRkZW4ubGVuZ3RoICk7CgoJCQl9CgoJCX0KCgkJcmV0dXJuIGZhbHNlOwoKCX0KCgkvKioKCSAqIE5hdmlnYXRlIHRvIHRoZSBuZXh0IHNsaWRlIGZyYWdtZW50LgoJICoKCSAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgaWYgdGhlcmUgd2FzIGEgbmV4dCBmcmFnbWVudCwKCSAqIGZhbHNlIG90aGVyd2lzZQoJICovCglmdW5jdGlvbiBuZXh0RnJhZ21lbnQoKSB7CgoJCXJldHVybiBuYXZpZ2F0ZUZyYWdtZW50KCBudWxsLCAxICk7CgoJfQoKCS8qKgoJICogTmF2aWdhdGUgdG8gdGhlIHByZXZpb3VzIHNsaWRlIGZyYWdtZW50LgoJICoKCSAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgaWYgdGhlcmUgd2FzIGEgcHJldmlvdXMgZnJhZ21lbnQsCgkgKiBmYWxzZSBvdGhlcndpc2UKCSAqLwoJZnVuY3Rpb24gcHJldmlvdXNGcmFnbWVudCgpIHsKCgkJcmV0dXJuIG5hdmlnYXRlRnJhZ21lbnQoIG51bGwsIC0xICk7CgoJfQoKCS8qKgoJICogQ3VlcyBhIG5ldyBhdXRvbWF0ZWQgc2xpZGUgaWYgZW5hYmxlZCBpbiB0aGUgY29uZmlnLgoJICovCglmdW5jdGlvbiBjdWVBdXRvU2xpZGUoKSB7CgoJCWNhbmNlbEF1dG9TbGlkZSgpOwoKCQlpZiggY3VycmVudFNsaWRlICkgewoKCQkJdmFyIGN1cnJlbnRGcmFnbWVudCA9IGN1cnJlbnRTbGlkZS5xdWVyeVNlbGVjdG9yKCAnLmN1cnJlbnQtZnJhZ21lbnQnICk7CgoJCQl2YXIgZnJhZ21lbnRBdXRvU2xpZGUgPSBjdXJyZW50RnJhZ21lbnQgPyBjdXJyZW50RnJhZ21lbnQuZ2V0QXR0cmlidXRlKCAnZGF0YS1hdXRvc2xpZGUnICkgOiBudWxsOwoJCQl2YXIgcGFyZW50QXV0b1NsaWRlID0gY3VycmVudFNsaWRlLnBhcmVudE5vZGUgPyBjdXJyZW50U2xpZGUucGFyZW50Tm9kZS5nZXRBdHRyaWJ1dGUoICdkYXRhLWF1dG9zbGlkZScgKSA6IG51bGw7CgkJCXZhciBzbGlkZUF1dG9TbGlkZSA9IGN1cnJlbnRTbGlkZS5nZXRBdHRyaWJ1dGUoICdkYXRhLWF1dG9zbGlkZScgKTsKCgkJCS8vIFBpY2sgdmFsdWUgaW4gdGhlIGZvbGxvd2luZyBwcmlvcml0eSBvcmRlcjoKCQkJLy8gMS4gQ3VycmVudCBmcmFnbWVudCdzIGRhdGEtYXV0b3NsaWRlCgkJCS8vIDIuIEN1cnJlbnQgc2xpZGUncyBkYXRhLWF1dG9zbGlkZQoJCQkvLyAzLiBQYXJlbnQgc2xpZGUncyBkYXRhLWF1dG9zbGlkZQoJCQkvLyA0LiBHbG9iYWwgYXV0b1NsaWRlIHNldHRpbmcKCQkJaWYoIGZyYWdtZW50QXV0b1NsaWRlICkgewoJCQkJYXV0b1NsaWRlID0gcGFyc2VJbnQoIGZyYWdtZW50QXV0b1NsaWRlLCAxMCApOwoJCQl9CgkJCWVsc2UgaWYoIHNsaWRlQXV0b1NsaWRlICkgewoJCQkJYXV0b1NsaWRlID0gcGFyc2VJbnQoIHNsaWRlQXV0b1NsaWRlLCAxMCApOwoJCQl9CgkJCWVsc2UgaWYoIHBhcmVudEF1dG9TbGlkZSApIHsKCQkJCWF1dG9TbGlkZSA9IHBhcnNlSW50KCBwYXJlbnRBdXRvU2xpZGUsIDEwICk7CgkJCX0KCQkJZWxzZSB7CgkJCQlhdXRvU2xpZGUgPSBjb25maWcuYXV0b1NsaWRlOwoJCQl9CgoJCQkvLyBJZiB0aGVyZSBhcmUgbWVkaWEgZWxlbWVudHMgd2l0aCBkYXRhLWF1dG9wbGF5LAoJCQkvLyBhdXRvbWF0aWNhbGx5IHNldCB0aGUgYXV0b1NsaWRlIGR1cmF0aW9uIHRvIHRoZQoJCQkvLyBsZW5ndGggb2YgdGhhdCBtZWRpYS4gTm90IGFwcGxpY2FibGUgaWYgdGhlIHNsaWRlCgkJCS8vIGlzIGRpdmlkZWQgdXAgaW50byBmcmFnbWVudHMuCgkJCWlmKCBjdXJyZW50U2xpZGUucXVlcnlTZWxlY3RvckFsbCggJy5mcmFnbWVudCcgKS5sZW5ndGggPT09IDAgKSB7CgkJCQl0b0FycmF5KCBjdXJyZW50U2xpZGUucXVlcnlTZWxlY3RvckFsbCggJ3ZpZGVvLCBhdWRpbycgKSApLmZvckVhY2goIGZ1bmN0aW9uKCBlbCApIHsKCQkJCQlpZiggZWwuaGFzQXR0cmlidXRlKCAnZGF0YS1hdXRvcGxheScgKSApIHsKCQkJCQkJaWYoIGF1dG9TbGlkZSAmJiBlbC5kdXJhdGlvbiAqIDEwMDAgPiBhdXRvU2xpZGUgKSB7CgkJCQkJCQlhdXRvU2xpZGUgPSAoIGVsLmR1cmF0aW9uICogMTAwMCApICsgMTAwMDsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gKTsKCQkJfQoKCQkJLy8gQ3VlIHRoZSBuZXh0IGF1dG8tc2xpZGUgaWY6CgkJCS8vIC0gVGhlcmUgaXMgYW4gYXV0b1NsaWRlIHZhbHVlCgkJCS8vIC0gQXV0by1zbGlkaW5nIGlzbid0IHBhdXNlZCBieSB0aGUgdXNlcgoJCQkvLyAtIFRoZSBwcmVzZW50YXRpb24gaXNuJ3QgcGF1c2VkCgkJCS8vIC0gVGhlIG92ZXJ2aWV3IGlzbid0IGFjdGl2ZQoJCQkvLyAtIFRoZSBwcmVzZW50YXRpb24gaXNuJ3Qgb3ZlcgoJCQlpZiggYXV0b1NsaWRlICYmICFhdXRvU2xpZGVQYXVzZWQgJiYgIWlzUGF1c2VkKCkgJiYgIWlzT3ZlcnZpZXcoKSAmJiAoICFSZXZlYWwuaXNMYXN0U2xpZGUoKSB8fCBhdmFpbGFibGVGcmFnbWVudHMoKS5uZXh0IHx8IGNvbmZpZy5sb29wID09PSB0cnVlICkgKSB7CgkJCQlhdXRvU2xpZGVUaW1lb3V0ID0gc2V0VGltZW91dCggbmF2aWdhdGVOZXh0LCBhdXRvU2xpZGUgKTsKCQkJCWF1dG9TbGlkZVN0YXJ0VGltZSA9IERhdGUubm93KCk7CgkJCX0KCgkJCWlmKCBhdXRvU2xpZGVQbGF5ZXIgKSB7CgkJCQlhdXRvU2xpZGVQbGF5ZXIuc2V0UGxheWluZyggYXV0b1NsaWRlVGltZW91dCAhPT0gLTEgKTsKCQkJfQoKCQl9CgoJfQoKCS8qKgoJICogQ2FuY2VscyBhbnkgb25nb2luZyByZXF1ZXN0IHRvIGF1dG8tc2xpZGUuCgkgKi8KCWZ1bmN0aW9uIGNhbmNlbEF1dG9TbGlkZSgpIHsKCgkJY2xlYXJUaW1lb3V0KCBhdXRvU2xpZGVUaW1lb3V0ICk7CgkJYXV0b1NsaWRlVGltZW91dCA9IC0xOwoKCX0KCglmdW5jdGlvbiBwYXVzZUF1dG9TbGlkZSgpIHsKCgkJaWYoIGF1dG9TbGlkZSAmJiAhYXV0b1NsaWRlUGF1c2VkICkgewoJCQlhdXRvU2xpZGVQYXVzZWQgPSB0cnVlOwoJCQlkaXNwYXRjaEV2ZW50KCAnYXV0b3NsaWRlcGF1c2VkJyApOwoJCQljbGVhclRpbWVvdXQoIGF1dG9TbGlkZVRpbWVvdXQgKTsKCgkJCWlmKCBhdXRvU2xpZGVQbGF5ZXIgKSB7CgkJCQlhdXRvU2xpZGVQbGF5ZXIuc2V0UGxheWluZyggZmFsc2UgKTsKCQkJfQoJCX0KCgl9CgoJZnVuY3Rpb24gcmVzdW1lQXV0b1NsaWRlKCkgewoKCQlpZiggYXV0b1NsaWRlICYmIGF1dG9TbGlkZVBhdXNlZCApIHsKCQkJYXV0b1NsaWRlUGF1c2VkID0gZmFsc2U7CgkJCWRpc3BhdGNoRXZlbnQoICdhdXRvc2xpZGVyZXN1bWVkJyApOwoJCQljdWVBdXRvU2xpZGUoKTsKCQl9CgoJfQoKCWZ1bmN0aW9uIG5hdmlnYXRlTGVmdCgpIHsKCgkJLy8gUmV2ZXJzZSBmb3IgUlRMCgkJaWYoIGNvbmZpZy5ydGwgKSB7CgkJCWlmKCAoIGlzT3ZlcnZpZXcoKSB8fCBuZXh0RnJhZ21lbnQoKSA9PT0gZmFsc2UgKSAmJiBhdmFpbGFibGVSb3V0ZXMoKS5sZWZ0ICkgewoJCQkJc2xpZGUoIGluZGV4aCArIDEgKTsKCQkJfQoJCX0KCQkvLyBOb3JtYWwgbmF2aWdhdGlvbgoJCWVsc2UgaWYoICggaXNPdmVydmlldygpIHx8IHByZXZpb3VzRnJhZ21lbnQoKSA9PT0gZmFsc2UgKSAmJiBhdmFpbGFibGVSb3V0ZXMoKS5sZWZ0ICkgewoJCQlzbGlkZSggaW5kZXhoIC0gMSApOwoJCX0KCgl9CgoJZnVuY3Rpb24gbmF2aWdhdGVSaWdodCgpIHsKCgkJLy8gUmV2ZXJzZSBmb3IgUlRMCgkJaWYoIGNvbmZpZy5ydGwgKSB7CgkJCWlmKCAoIGlzT3ZlcnZpZXcoKSB8fCBwcmV2aW91c0ZyYWdtZW50KCkgPT09IGZhbHNlICkgJiYgYXZhaWxhYmxlUm91dGVzKCkucmlnaHQgKSB7CgkJCQlzbGlkZSggaW5kZXhoIC0gMSApOwoJCQl9CgkJfQoJCS8vIE5vcm1hbCBuYXZpZ2F0aW9uCgkJZWxzZSBpZiggKCBpc092ZXJ2aWV3KCkgfHwgbmV4dEZyYWdtZW50KCkgPT09IGZhbHNlICkgJiYgYXZhaWxhYmxlUm91dGVzKCkucmlnaHQgKSB7CgkJCXNsaWRlKCBpbmRleGggKyAxICk7CgkJfQoKCX0KCglmdW5jdGlvbiBuYXZpZ2F0ZVVwKCkgewoKCQkvLyBQcmlvcml0aXplIGhpZGluZyBmcmFnbWVudHMKCQlpZiggKCBpc092ZXJ2aWV3KCkgfHwgcHJldmlvdXNGcmFnbWVudCgpID09PSBmYWxzZSApICYmIGF2YWlsYWJsZVJvdXRlcygpLnVwICkgewoJCQlzbGlkZSggaW5kZXhoLCBpbmRleHYgLSAxICk7CgkJfQoKCX0KCglmdW5jdGlvbiBuYXZpZ2F0ZURvd24oKSB7CgoJCS8vIFByaW9yaXRpemUgcmV2ZWFsaW5nIGZyYWdtZW50cwoJCWlmKCAoIGlzT3ZlcnZpZXcoKSB8fCBuZXh0RnJhZ21lbnQoKSA9PT0gZmFsc2UgKSAmJiBhdmFpbGFibGVSb3V0ZXMoKS5kb3duICkgewoJCQlzbGlkZSggaW5kZXhoLCBpbmRleHYgKyAxICk7CgkJfQoKCX0KCgkvKioKCSAqIE5hdmlnYXRlcyBiYWNrd2FyZHMsIHByaW9yaXRpemVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CgkgKiAxKSBQcmV2aW91cyBmcmFnbWVudAoJICogMikgUHJldmlvdXMgdmVydGljYWwgc2xpZGUKCSAqIDMpIFByZXZpb3VzIGhvcml6b250YWwgc2xpZGUKCSAqLwoJZnVuY3Rpb24gbmF2aWdhdGVQcmV2KCkgewoKCQkvLyBQcmlvcml0aXplIHJldmVhbGluZyBmcmFnbWVudHMKCQlpZiggcHJldmlvdXNGcmFnbWVudCgpID09PSBmYWxzZSApIHsKCQkJaWYoIGF2YWlsYWJsZVJvdXRlcygpLnVwICkgewoJCQkJbmF2aWdhdGVVcCgpOwoJCQl9CgkJCWVsc2UgewoJCQkJLy8gRmV0Y2ggdGhlIHByZXZpb3VzIGhvcml6b250YWwgc2xpZGUsIGlmIHRoZXJlIGlzIG9uZQoJCQkJdmFyIHByZXZpb3VzU2xpZGU7CgoJCQkJaWYoIGNvbmZpZy5ydGwgKSB7CgkJCQkJcHJldmlvdXNTbGlkZSA9IHRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIEhPUklaT05UQUxfU0xJREVTX1NFTEVDVE9SICsgJy5mdXR1cmUnICkgKS5wb3AoKTsKCQkJCX0KCQkJCWVsc2UgewoJCQkJCXByZXZpb3VzU2xpZGUgPSB0b0FycmF5KCBkb20ud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCBIT1JJWk9OVEFMX1NMSURFU19TRUxFQ1RPUiArICcucGFzdCcgKSApLnBvcCgpOwoJCQkJfQoKCQkJCWlmKCBwcmV2aW91c1NsaWRlICkgewoJCQkJCXZhciB2ID0gKCBwcmV2aW91c1NsaWRlLnF1ZXJ5U2VsZWN0b3JBbGwoICdzZWN0aW9uJyApLmxlbmd0aCAtIDEgKSB8fCB1bmRlZmluZWQ7CgkJCQkJdmFyIGggPSBpbmRleGggLSAxOwoJCQkJCXNsaWRlKCBoLCB2ICk7CgkJCQl9CgkJCX0KCQl9CgoJfQoKCS8qKgoJICogVGhlIHJldmVyc2Ugb2YgI25hdmlnYXRlUHJldigpLgoJICovCglmdW5jdGlvbiBuYXZpZ2F0ZU5leHQoKSB7CgoJCS8vIFByaW9yaXRpemUgcmV2ZWFsaW5nIGZyYWdtZW50cwoJCWlmKCBuZXh0RnJhZ21lbnQoKSA9PT0gZmFsc2UgKSB7CgkJCWlmKCBhdmFpbGFibGVSb3V0ZXMoKS5kb3duICkgewoJCQkJbmF2aWdhdGVEb3duKCk7CgkJCX0KCQkJZWxzZSBpZiggY29uZmlnLnJ0bCApIHsKCQkJCW5hdmlnYXRlTGVmdCgpOwoJCQl9CgkJCWVsc2UgewoJCQkJbmF2aWdhdGVSaWdodCgpOwoJCQl9CgkJfQoKCQkvLyBJZiBhdXRvLXNsaWRpbmcgaXMgZW5hYmxlZCB3ZSBuZWVkIHRvIGN1ZSB1cAoJCS8vIGFub3RoZXIgdGltZW91dAoJCWN1ZUF1dG9TbGlkZSgpOwoKCX0KCgkvKioKCSAqIENoZWNrcyBpZiB0aGUgdGFyZ2V0IGVsZW1lbnQgcHJldmVudHMgdGhlIHRyaWdnZXJpbmcgb2YKCSAqIHN3aXBlIG5hdmlnYXRpb24uCgkgKi8KCWZ1bmN0aW9uIGlzU3dpcGVQcmV2ZW50ZWQoIHRhcmdldCApIHsKCgkJd2hpbGUoIHRhcmdldCAmJiB0eXBlb2YgdGFyZ2V0Lmhhc0F0dHJpYnV0ZSA9PT0gJ2Z1bmN0aW9uJyApIHsKCQkJaWYoIHRhcmdldC5oYXNBdHRyaWJ1dGUoICdkYXRhLXByZXZlbnQtc3dpcGUnICkgKSByZXR1cm4gdHJ1ZTsKCQkJdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7CgkJfQoKCQlyZXR1cm4gZmFsc2U7CgoJfQoKCgkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVkVOVFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgoJLyoqCgkgKiBDYWxsZWQgYnkgYWxsIGV2ZW50IGhhbmRsZXJzIHRoYXQgYXJlIGJhc2VkIG9uIHVzZXIKCSAqIGlucHV0LgoJICovCglmdW5jdGlvbiBvblVzZXJJbnB1dCggZXZlbnQgKSB7CgoJCWlmKCBjb25maWcuYXV0b1NsaWRlU3RvcHBhYmxlICkgewoJCQlwYXVzZUF1dG9TbGlkZSgpOwoJCX0KCgl9CgoJLyoqCgkgKiBIYW5kbGVyIGZvciB0aGUgZG9jdW1lbnQgbGV2ZWwgJ2tleXByZXNzJyBldmVudC4KCSAqLwoJZnVuY3Rpb24gb25Eb2N1bWVudEtleVByZXNzKCBldmVudCApIHsKCgkJLy8gQ2hlY2sgaWYgdGhlIHByZXNzZWQga2V5IGlzIHF1ZXN0aW9uIG1hcmsKCQlpZiggZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQuY2hhckNvZGUgPT09IDYzICkgewoJCQlpZiggZG9tLm92ZXJsYXkgKSB7CgkJCQljbG9zZU92ZXJsYXkoKTsKCQkJfQoJCQllbHNlIHsKCQkJCXNob3dIZWxwKCB0cnVlICk7CgkJCX0KCQl9CgoJfQoKCS8qKgoJICogSGFuZGxlciBmb3IgdGhlIGRvY3VtZW50IGxldmVsICdrZXlkb3duJyBldmVudC4KCSAqLwoJZnVuY3Rpb24gb25Eb2N1bWVudEtleURvd24oIGV2ZW50ICkgewoKCQkvLyBJZiB0aGVyZSdzIGEgY29uZGl0aW9uIHNwZWNpZmllZCBhbmQgaXQgcmV0dXJucyBmYWxzZSwKCQkvLyBpZ25vcmUgdGhpcyBldmVudAoJCWlmKCB0eXBlb2YgY29uZmlnLmtleWJvYXJkQ29uZGl0aW9uID09PSAnZnVuY3Rpb24nICYmIGNvbmZpZy5rZXlib2FyZENvbmRpdGlvbigpID09PSBmYWxzZSApIHsKCQkJcmV0dXJuIHRydWU7CgkJfQoKCQkvLyBSZW1lbWJlciBpZiBhdXRvLXNsaWRpbmcgd2FzIHBhdXNlZCBzbyB3ZSBjYW4gdG9nZ2xlIGl0CgkJdmFyIGF1dG9TbGlkZVdhc1BhdXNlZCA9IGF1dG9TbGlkZVBhdXNlZDsKCgkJb25Vc2VySW5wdXQoIGV2ZW50ICk7CgoJCS8vIENoZWNrIGlmIHRoZXJlJ3MgYSBmb2N1c2VkIGVsZW1lbnQgdGhhdCBjb3VsZCBiZSB1c2luZwoJCS8vIHRoZSBrZXlib2FyZAoJCXZhciBhY3RpdmVFbGVtZW50SXNDRSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5jb250ZW50RWRpdGFibGUgIT09ICdpbmhlcml0JzsKCQl2YXIgYWN0aXZlRWxlbWVudElzSW5wdXQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQudGFnTmFtZSAmJiAvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KCBkb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUgKTsKCgkJLy8gRGlzcmVnYXJkIHRoZSBldmVudCBpZiB0aGVyZSdzIGEgZm9jdXNlZCBlbGVtZW50IG9yIGEKCQkvLyBrZXlib2FyZCBtb2RpZmllciBrZXkgaXMgcHJlc2VudAoJCWlmKCBhY3RpdmVFbGVtZW50SXNDRSB8fCBhY3RpdmVFbGVtZW50SXNJbnB1dCB8fCAoZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5Q29kZSAhPT0gMzIpIHx8IGV2ZW50LmFsdEtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkgKSByZXR1cm47CgoJCS8vIFdoaWxlIHBhdXNlZCBvbmx5IGFsbG93IHJlc3VtZSBrZXlib2FyZCBldmVudHM7ICdiJywgJy4nJwoJCXZhciByZXN1bWVLZXlDb2RlcyA9IFs2NiwxOTAsMTkxXTsKCQl2YXIga2V5OwoKCQkvLyBDdXN0b20ga2V5IGJpbmRpbmdzIGZvciB0b2dnbGVQYXVzZSBzaG91bGQgYmUgYWJsZSB0byByZXN1bWUKCQlpZiggdHlwZW9mIGNvbmZpZy5rZXlib2FyZCA9PT0gJ29iamVjdCcgKSB7CgkJCWZvcigga2V5IGluIGNvbmZpZy5rZXlib2FyZCApIHsKCQkJCWlmKCBjb25maWcua2V5Ym9hcmRba2V5XSA9PT0gJ3RvZ2dsZVBhdXNlJyApIHsKCQkJCQlyZXN1bWVLZXlDb2Rlcy5wdXNoKCBwYXJzZUludCgga2V5LCAxMCApICk7CgkJCQl9CgkJCX0KCQl9CgoJCWlmKCBpc1BhdXNlZCgpICYmIHJlc3VtZUtleUNvZGVzLmluZGV4T2YoIGV2ZW50LmtleUNvZGUgKSA9PT0gLTEgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXZhciB0cmlnZ2VyZWQgPSBmYWxzZTsKCgkJLy8gMS4gVXNlciBkZWZpbmVkIGtleSBiaW5kaW5ncwoJCWlmKCB0eXBlb2YgY29uZmlnLmtleWJvYXJkID09PSAnb2JqZWN0JyApIHsKCgkJCWZvcigga2V5IGluIGNvbmZpZy5rZXlib2FyZCApIHsKCgkJCQkvLyBDaGVjayBpZiB0aGlzIGJpbmRpbmcgbWF0Y2hlcyB0aGUgcHJlc3NlZCBrZXkKCQkJCWlmKCBwYXJzZUludCgga2V5LCAxMCApID09PSBldmVudC5rZXlDb2RlICkgewoKCQkJCQl2YXIgdmFsdWUgPSBjb25maWcua2V5Ym9hcmRbIGtleSBdOwoKCQkJCQkvLyBDYWxsYmFjayBmdW5jdGlvbgoJCQkJCWlmKCB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgKSB7CgkJCQkJCXZhbHVlLmFwcGx5KCBudWxsLCBbIGV2ZW50IF0gKTsKCQkJCQl9CgkJCQkJLy8gU3RyaW5nIHNob3J0Y3V0cyB0byByZXZlYWwuanMgQVBJCgkJCQkJZWxzZSBpZiggdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgUmV2ZWFsWyB2YWx1ZSBdID09PSAnZnVuY3Rpb24nICkgewoJCQkJCQlSZXZlYWxbIHZhbHVlIF0uY2FsbCgpOwoJCQkJCX0KCgkJCQkJdHJpZ2dlcmVkID0gdHJ1ZTsKCgkJCQl9CgoJCQl9CgoJCX0KCgkJLy8gMi4gU3lzdGVtIGRlZmluZWQga2V5IGJpbmRpbmdzCgkJaWYoIHRyaWdnZXJlZCA9PT0gZmFsc2UgKSB7CgoJCQkvLyBBc3N1bWUgdHJ1ZSBhbmQgdHJ5IHRvIHByb3ZlIGZhbHNlCgkJCXRyaWdnZXJlZCA9IHRydWU7CgoJCQlzd2l0Y2goIGV2ZW50LmtleUNvZGUgKSB7CgkJCQkvLyBwLCBwYWdlIHVwCgkJCQljYXNlIDgwOiBjYXNlIDMzOiBuYXZpZ2F0ZVByZXYoKTsgYnJlYWs7CgkJCQkvLyBuLCBwYWdlIGRvd24KCQkJCWNhc2UgNzg6IGNhc2UgMzQ6IG5hdmlnYXRlTmV4dCgpOyBicmVhazsKCQkJCS8vIGgsIGxlZnQKCQkJCWNhc2UgNzI6IGNhc2UgMzc6IG5hdmlnYXRlTGVmdCgpOyBicmVhazsKCQkJCS8vIGwsIHJpZ2h0CgkJCQljYXNlIDc2OiBjYXNlIDM5OiBuYXZpZ2F0ZVJpZ2h0KCk7IGJyZWFrOwoJCQkJLy8gaywgdXAKCQkJCWNhc2UgNzU6IGNhc2UgMzg6IG5hdmlnYXRlVXAoKTsgYnJlYWs7CgkJCQkvLyBqLCBkb3duCgkJCQljYXNlIDc0OiBjYXNlIDQwOiBuYXZpZ2F0ZURvd24oKTsgYnJlYWs7CgkJCQkvLyBob21lCgkJCQljYXNlIDM2OiBzbGlkZSggMCApOyBicmVhazsKCQkJCS8vIGVuZAoJCQkJY2FzZSAzNTogc2xpZGUoIE51bWJlci5NQVhfVkFMVUUgKTsgYnJlYWs7CgkJCQkvLyBzcGFjZQoJCQkJY2FzZSAzMjogaXNPdmVydmlldygpID8gZGVhY3RpdmF0ZU92ZXJ2aWV3KCkgOiBldmVudC5zaGlmdEtleSA/IG5hdmlnYXRlUHJldigpIDogbmF2aWdhdGVOZXh0KCk7IGJyZWFrOwoJCQkJLy8gcmV0dXJuCgkJCQljYXNlIDEzOiBpc092ZXJ2aWV3KCkgPyBkZWFjdGl2YXRlT3ZlcnZpZXcoKSA6IHRyaWdnZXJlZCA9IGZhbHNlOyBicmVhazsKCQkJCS8vIHR3by1zcG90LCBzZW1pY29sb24sIGIsIHBlcmlvZCwgTG9naXRlY2ggcHJlc2VudGVyIHRvb2xzICJibGFjayBzY3JlZW4iIGJ1dHRvbgoJCQkJY2FzZSA1ODogY2FzZSA1OTogY2FzZSA2NjogY2FzZSAxOTA6IGNhc2UgMTkxOiB0b2dnbGVQYXVzZSgpOyBicmVhazsKCQkJCS8vIGYKCQkJCWNhc2UgNzA6IGVudGVyRnVsbHNjcmVlbigpOyBicmVhazsKCQkJCS8vIGEKCQkJCWNhc2UgNjU6IGlmICggY29uZmlnLmF1dG9TbGlkZVN0b3BwYWJsZSApIHRvZ2dsZUF1dG9TbGlkZSggYXV0b1NsaWRlV2FzUGF1c2VkICk7IGJyZWFrOwoJCQkJZGVmYXVsdDoKCQkJCQl0cmlnZ2VyZWQgPSBmYWxzZTsKCQkJfQoKCQl9CgoJCS8vIElmIHRoZSBpbnB1dCByZXN1bHRlZCBpbiBhIHRyaWdnZXJlZCBhY3Rpb24gd2Ugc2hvdWxkIHByZXZlbnQKCQkvLyB0aGUgYnJvd3NlcnMgZGVmYXVsdCBiZWhhdmlvcgoJCWlmKCB0cmlnZ2VyZWQgKSB7CgkJCWV2ZW50LnByZXZlbnREZWZhdWx0ICYmIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJfQoJCS8vIEVTQyBvciBPIGtleQoJCWVsc2UgaWYgKCAoIGV2ZW50LmtleUNvZGUgPT09IDI3IHx8IGV2ZW50LmtleUNvZGUgPT09IDc5ICkgJiYgZmVhdHVyZXMudHJhbnNmb3JtczNkICkgewoJCQlpZiggZG9tLm92ZXJsYXkgKSB7CgkJCQljbG9zZU92ZXJsYXkoKTsKCQkJfQoJCQllbHNlIHsKCQkJCXRvZ2dsZU92ZXJ2aWV3KCk7CgkJCX0KCgkJCWV2ZW50LnByZXZlbnREZWZhdWx0ICYmIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJfQoKCQkvLyBJZiBhdXRvLXNsaWRpbmcgaXMgZW5hYmxlZCB3ZSBuZWVkIHRvIGN1ZSB1cAoJCS8vIGFub3RoZXIgdGltZW91dAoJCWN1ZUF1dG9TbGlkZSgpOwoKCX0KCgkvKioKCSAqIEhhbmRsZXIgZm9yIHRoZSAndG91Y2hzdGFydCcgZXZlbnQsIGVuYWJsZXMgc3VwcG9ydCBmb3IKCSAqIHN3aXBlIGFuZCBwaW5jaCBnZXN0dXJlcy4KCSAqLwoJZnVuY3Rpb24gb25Ub3VjaFN0YXJ0KCBldmVudCApIHsKCgkJaWYoIGlzU3dpcGVQcmV2ZW50ZWQoIGV2ZW50LnRhcmdldCApICkgcmV0dXJuIHRydWU7CgoJCXRvdWNoLnN0YXJ0WCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDsKCQl0b3VjaC5zdGFydFkgPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFk7CgkJdG91Y2guc3RhcnRDb3VudCA9IGV2ZW50LnRvdWNoZXMubGVuZ3RoOwoKCQkvLyBJZiB0aGVyZSdzIHR3byB0b3VjaGVzIHdlIG5lZWQgdG8gbWVtb3JpemUgdGhlIGRpc3RhbmNlCgkJLy8gYmV0d2VlbiB0aG9zZSB0d28gcG9pbnRzIHRvIGRldGVjdCBwaW5jaGluZwoJCWlmKCBldmVudC50b3VjaGVzLmxlbmd0aCA9PT0gMiAmJiBjb25maWcub3ZlcnZpZXcgKSB7CgkJCXRvdWNoLnN0YXJ0U3BhbiA9IGRpc3RhbmNlQmV0d2VlbiggewoJCQkJeDogZXZlbnQudG91Y2hlc1sxXS5jbGllbnRYLAoJCQkJeTogZXZlbnQudG91Y2hlc1sxXS5jbGllbnRZCgkJCX0sIHsKCQkJCXg6IHRvdWNoLnN0YXJ0WCwKCQkJCXk6IHRvdWNoLnN0YXJ0WQoJCQl9ICk7CgkJfQoKCX0KCgkvKioKCSAqIEhhbmRsZXIgZm9yIHRoZSAndG91Y2htb3ZlJyBldmVudC4KCSAqLwoJZnVuY3Rpb24gb25Ub3VjaE1vdmUoIGV2ZW50ICkgewoKCQlpZiggaXNTd2lwZVByZXZlbnRlZCggZXZlbnQudGFyZ2V0ICkgKSByZXR1cm4gdHJ1ZTsKCgkJLy8gRWFjaCB0b3VjaCBzaG91bGQgb25seSB0cmlnZ2VyIG9uZSBhY3Rpb24KCQlpZiggIXRvdWNoLmNhcHR1cmVkICkgewoJCQlvblVzZXJJbnB1dCggZXZlbnQgKTsKCgkJCXZhciBjdXJyZW50WCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDsKCQkJdmFyIGN1cnJlbnRZID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRZOwoKCQkJLy8gSWYgdGhlIHRvdWNoIHN0YXJ0ZWQgd2l0aCB0d28gcG9pbnRzIGFuZCBzdGlsbCBoYXMKCQkJLy8gdHdvIGFjdGl2ZSB0b3VjaGVzOyB0ZXN0IGZvciB0aGUgcGluY2ggZ2VzdHVyZQoJCQlpZiggZXZlbnQudG91Y2hlcy5sZW5ndGggPT09IDIgJiYgdG91Y2guc3RhcnRDb3VudCA9PT0gMiAmJiBjb25maWcub3ZlcnZpZXcgKSB7CgoJCQkJLy8gVGhlIGN1cnJlbnQgZGlzdGFuY2UgaW4gcGl4ZWxzIGJldHdlZW4gdGhlIHR3byB0b3VjaCBwb2ludHMKCQkJCXZhciBjdXJyZW50U3BhbiA9IGRpc3RhbmNlQmV0d2VlbiggewoJCQkJCXg6IGV2ZW50LnRvdWNoZXNbMV0uY2xpZW50WCwKCQkJCQl5OiBldmVudC50b3VjaGVzWzFdLmNsaWVudFkKCQkJCX0sIHsKCQkJCQl4OiB0b3VjaC5zdGFydFgsCgkJCQkJeTogdG91Y2guc3RhcnRZCgkJCQl9ICk7CgoJCQkJLy8gSWYgdGhlIHNwYW4gaXMgbGFyZ2VyIHRoYW4gdGhlIGRlc2lyZSBhbW91bnQgd2UndmUgZ290CgkJCQkvLyBvdXJzZWx2ZXMgYSBwaW5jaAoJCQkJaWYoIE1hdGguYWJzKCB0b3VjaC5zdGFydFNwYW4gLSBjdXJyZW50U3BhbiApID4gdG91Y2gudGhyZXNob2xkICkgewoJCQkJCXRvdWNoLmNhcHR1cmVkID0gdHJ1ZTsKCgkJCQkJaWYoIGN1cnJlbnRTcGFuIDwgdG91Y2guc3RhcnRTcGFuICkgewoJCQkJCQlhY3RpdmF0ZU92ZXJ2aWV3KCk7CgkJCQkJfQoJCQkJCWVsc2UgewoJCQkJCQlkZWFjdGl2YXRlT3ZlcnZpZXcoKTsKCQkJCQl9CgkJCQl9CgoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCgkJCX0KCQkJLy8gVGhlcmUgd2FzIG9ubHkgb25lIHRvdWNoIHBvaW50LCBsb29rIGZvciBhIHN3aXBlCgkJCWVsc2UgaWYoIGV2ZW50LnRvdWNoZXMubGVuZ3RoID09PSAxICYmIHRvdWNoLnN0YXJ0Q291bnQgIT09IDIgKSB7CgoJCQkJdmFyIGRlbHRhWCA9IGN1cnJlbnRYIC0gdG91Y2guc3RhcnRYLAoJCQkJCWRlbHRhWSA9IGN1cnJlbnRZIC0gdG91Y2guc3RhcnRZOwoKCQkJCWlmKCBkZWx0YVggPiB0b3VjaC50aHJlc2hvbGQgJiYgTWF0aC5hYnMoIGRlbHRhWCApID4gTWF0aC5hYnMoIGRlbHRhWSApICkgewoJCQkJCXRvdWNoLmNhcHR1cmVkID0gdHJ1ZTsKCQkJCQluYXZpZ2F0ZUxlZnQoKTsKCQkJCX0KCQkJCWVsc2UgaWYoIGRlbHRhWCA8IC10b3VjaC50aHJlc2hvbGQgJiYgTWF0aC5hYnMoIGRlbHRhWCApID4gTWF0aC5hYnMoIGRlbHRhWSApICkgewoJCQkJCXRvdWNoLmNhcHR1cmVkID0gdHJ1ZTsKCQkJCQluYXZpZ2F0ZVJpZ2h0KCk7CgkJCQl9CgkJCQllbHNlIGlmKCBkZWx0YVkgPiB0b3VjaC50aHJlc2hvbGQgKSB7CgkJCQkJdG91Y2guY2FwdHVyZWQgPSB0cnVlOwoJCQkJCW5hdmlnYXRlVXAoKTsKCQkJCX0KCQkJCWVsc2UgaWYoIGRlbHRhWSA8IC10b3VjaC50aHJlc2hvbGQgKSB7CgkJCQkJdG91Y2guY2FwdHVyZWQgPSB0cnVlOwoJCQkJCW5hdmlnYXRlRG93bigpOwoJCQkJfQoKCQkJCS8vIElmIHdlJ3JlIGVtYmVkZGVkLCBvbmx5IGJsb2NrIHRvdWNoIGV2ZW50cyBpZiB0aGV5IGhhdmUKCQkJCS8vIHRyaWdnZXJlZCBhbiBhY3Rpb24KCQkJCWlmKCBjb25maWcuZW1iZWRkZWQgKSB7CgkJCQkJaWYoIHRvdWNoLmNhcHR1cmVkIHx8IGlzVmVydGljYWxTbGlkZSggY3VycmVudFNsaWRlICkgKSB7CgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJfQoJCQkJfQoJCQkJLy8gTm90IGVtYmVkZGVkPyBCbG9jayB0aGVtIGFsbCB0byBhdm9pZCBuZWVkbGVzcyB0b3NzaW5nCgkJCQkvLyBhcm91bmQgb2YgdGhlIHZpZXdwb3J0IGluIGlPUwoJCQkJZWxzZSB7CgkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCX0KCgkJCX0KCQl9CgkJLy8gVGhlcmUncyBhIGJ1ZyB3aXRoIHN3aXBpbmcgb24gc29tZSBBbmRyb2lkIGRldmljZXMgdW5sZXNzCgkJLy8gdGhlIGRlZmF1bHQgYWN0aW9uIGlzIGFsd2F5cyBwcmV2ZW50ZWQKCQllbHNlIGlmKCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCAvYW5kcm9pZC9naSApICkgewoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCX0KCgl9CgoJLyoqCgkgKiBIYW5kbGVyIGZvciB0aGUgJ3RvdWNoZW5kJyBldmVudC4KCSAqLwoJZnVuY3Rpb24gb25Ub3VjaEVuZCggZXZlbnQgKSB7CgoJCXRvdWNoLmNhcHR1cmVkID0gZmFsc2U7CgoJfQoKCS8qKgoJICogQ29udmVydCBwb2ludGVyIGRvd24gdG8gdG91Y2ggc3RhcnQuCgkgKi8KCWZ1bmN0aW9uIG9uUG9pbnRlckRvd24oIGV2ZW50ICkgewoKCQlpZiggZXZlbnQucG9pbnRlclR5cGUgPT09IGV2ZW50Lk1TUE9JTlRFUl9UWVBFX1RPVUNIIHx8IGV2ZW50LnBvaW50ZXJUeXBlID09PSAidG91Y2giICkgewoJCQlldmVudC50b3VjaGVzID0gW3sgY2xpZW50WDogZXZlbnQuY2xpZW50WCwgY2xpZW50WTogZXZlbnQuY2xpZW50WSB9XTsKCQkJb25Ub3VjaFN0YXJ0KCBldmVudCApOwoJCX0KCgl9CgoJLyoqCgkgKiBDb252ZXJ0IHBvaW50ZXIgbW92ZSB0byB0b3VjaCBtb3ZlLgoJICovCglmdW5jdGlvbiBvblBvaW50ZXJNb3ZlKCBldmVudCApIHsKCgkJaWYoIGV2ZW50LnBvaW50ZXJUeXBlID09PSBldmVudC5NU1BPSU5URVJfVFlQRV9UT1VDSCB8fCBldmVudC5wb2ludGVyVHlwZSA9PT0gInRvdWNoIiApICB7CgkJCWV2ZW50LnRvdWNoZXMgPSBbeyBjbGllbnRYOiBldmVudC5jbGllbnRYLCBjbGllbnRZOiBldmVudC5jbGllbnRZIH1dOwoJCQlvblRvdWNoTW92ZSggZXZlbnQgKTsKCQl9CgoJfQoKCS8qKgoJICogQ29udmVydCBwb2ludGVyIHVwIHRvIHRvdWNoIGVuZC4KCSAqLwoJZnVuY3Rpb24gb25Qb2ludGVyVXAoIGV2ZW50ICkgewoKCQlpZiggZXZlbnQucG9pbnRlclR5cGUgPT09IGV2ZW50Lk1TUE9JTlRFUl9UWVBFX1RPVUNIIHx8IGV2ZW50LnBvaW50ZXJUeXBlID09PSAidG91Y2giICkgIHsKCQkJZXZlbnQudG91Y2hlcyA9IFt7IGNsaWVudFg6IGV2ZW50LmNsaWVudFgsIGNsaWVudFk6IGV2ZW50LmNsaWVudFkgfV07CgkJCW9uVG91Y2hFbmQoIGV2ZW50ICk7CgkJfQoKCX0KCgkvKioKCSAqIEhhbmRsZXMgbW91c2Ugd2hlZWwgc2Nyb2xsaW5nLCB0aHJvdHRsZWQgdG8gYXZvaWQgc2tpcHBpbmcKCSAqIG11bHRpcGxlIHNsaWRlcy4KCSAqLwoJZnVuY3Rpb24gb25Eb2N1bWVudE1vdXNlU2Nyb2xsKCBldmVudCApIHsKCgkJaWYoIERhdGUubm93KCkgLSBsYXN0TW91c2VXaGVlbFN0ZXAgPiA2MDAgKSB7CgoJCQlsYXN0TW91c2VXaGVlbFN0ZXAgPSBEYXRlLm5vdygpOwoKCQkJdmFyIGRlbHRhID0gZXZlbnQuZGV0YWlsIHx8IC1ldmVudC53aGVlbERlbHRhOwoJCQlpZiggZGVsdGEgPiAwICkgewoJCQkJbmF2aWdhdGVOZXh0KCk7CgkJCX0KCQkJZWxzZSB7CgkJCQluYXZpZ2F0ZVByZXYoKTsKCQkJfQoKCQl9CgoJfQoKCS8qKgoJICogQ2xpY2tpbmcgb24gdGhlIHByb2dyZXNzIGJhciByZXN1bHRzIGluIGEgbmF2aWdhdGlvbiB0byB0aGUKCSAqIGNsb3Nlc3QgYXBwcm94aW1hdGUgaG9yaXpvbnRhbCBzbGlkZSB1c2luZyB0aGlzIGVxdWF0aW9uOgoJICoKCSAqICggY2xpY2tYIC8gcHJlc2VudGF0aW9uV2lkdGggKSAqIG51bWJlck9mU2xpZGVzCgkgKi8KCWZ1bmN0aW9uIG9uUHJvZ3Jlc3NDbGlja2VkKCBldmVudCApIHsKCgkJb25Vc2VySW5wdXQoIGV2ZW50ICk7CgoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgoJCXZhciBzbGlkZXNUb3RhbCA9IHRvQXJyYXkoIGRvbS53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoIEhPUklaT05UQUxfU0xJREVTX1NFTEVDVE9SICkgKS5sZW5ndGg7CgkJdmFyIHNsaWRlSW5kZXggPSBNYXRoLmZsb29yKCAoIGV2ZW50LmNsaWVudFggLyBkb20ud3JhcHBlci5vZmZzZXRXaWR0aCApICogc2xpZGVzVG90YWwgKTsKCgkJaWYoIGNvbmZpZy5ydGwgKSB7CgkJCXNsaWRlSW5kZXggPSBzbGlkZXNUb3RhbCAtIHNsaWRlSW5kZXg7CgkJfQoKCQlzbGlkZSggc2xpZGVJbmRleCApOwoKCX0KCgkvKioKCSAqIEV2ZW50IGhhbmRsZXIgZm9yIG5hdmlnYXRpb24gY29udHJvbCBidXR0b25zLgoJICovCglmdW5jdGlvbiBvbk5hdmlnYXRlTGVmdENsaWNrZWQoIGV2ZW50ICkgeyBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBvblVzZXJJbnB1dCgpOyBuYXZpZ2F0ZUxlZnQoKTsgfQoJZnVuY3Rpb24gb25OYXZpZ2F0ZVJpZ2h0Q2xpY2tlZCggZXZlbnQgKSB7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IG9uVXNlcklucHV0KCk7IG5hdmlnYXRlUmlnaHQoKTsgfQoJZnVuY3Rpb24gb25OYXZpZ2F0ZVVwQ2xpY2tlZCggZXZlbnQgKSB7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IG9uVXNlcklucHV0KCk7IG5hdmlnYXRlVXAoKTsgfQoJZnVuY3Rpb24gb25OYXZpZ2F0ZURvd25DbGlja2VkKCBldmVudCApIHsgZXZlbnQucHJldmVudERlZmF1bHQoKTsgb25Vc2VySW5wdXQoKTsgbmF2aWdhdGVEb3duKCk7IH0KCWZ1bmN0aW9uIG9uTmF2aWdhdGVQcmV2Q2xpY2tlZCggZXZlbnQgKSB7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IG9uVXNlcklucHV0KCk7IG5hdmlnYXRlUHJldigpOyB9CglmdW5jdGlvbiBvbk5hdmlnYXRlTmV4dENsaWNrZWQoIGV2ZW50ICkgeyBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBvblVzZXJJbnB1dCgpOyBuYXZpZ2F0ZU5leHQoKTsgfQoKCS8qKgoJICogSGFuZGxlciBmb3IgdGhlIHdpbmRvdyBsZXZlbCAnaGFzaGNoYW5nZScgZXZlbnQuCgkgKi8KCWZ1bmN0aW9uIG9uV2luZG93SGFzaENoYW5nZSggZXZlbnQgKSB7CgoJCXJlYWRVUkwoKTsKCgl9CgoJLyoqCgkgKiBIYW5kbGVyIGZvciB0aGUgd2luZG93IGxldmVsICdyZXNpemUnIGV2ZW50LgoJICovCglmdW5jdGlvbiBvbldpbmRvd1Jlc2l6ZSggZXZlbnQgKSB7CgoJCWxheW91dCgpOwoKCX0KCgkvKioKCSAqIEhhbmRsZSBmb3IgdGhlIHdpbmRvdyBsZXZlbCAndmlzaWJpbGl0eWNoYW5nZScgZXZlbnQuCgkgKi8KCWZ1bmN0aW9uIG9uUGFnZVZpc2liaWxpdHlDaGFuZ2UoIGV2ZW50ICkgewoKCQl2YXIgaXNIaWRkZW4gPSAgZG9jdW1lbnQud2Via2l0SGlkZGVuIHx8CgkJCQkJCWRvY3VtZW50Lm1zSGlkZGVuIHx8CgkJCQkJCWRvY3VtZW50LmhpZGRlbjsKCgkJLy8gSWYsIGFmdGVyIGNsaWNraW5nIGEgbGluayBvciBzaW1pbGFyIGFuZCB3ZSdyZSBjb21pbmcgYmFjaywKCQkvLyBmb2N1cyB0aGUgZG9jdW1lbnQuYm9keSB0byBlbnN1cmUgd2UgY2FuIHVzZSBrZXlib2FyZCBzaG9ydGN1dHMKCQlpZiggaXNIaWRkZW4gPT09IGZhbHNlICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IGRvY3VtZW50LmJvZHkgKSB7CgkJCS8vIE5vdCBhbGwgZWxlbWVudHMgc3VwcG9ydCAuYmx1cigpIC0gU1ZHcyBhbW9uZyB0aGVtLgoJCQlpZiggdHlwZW9mIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1ciA9PT0gJ2Z1bmN0aW9uJyApIHsKCQkJCWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpOwoJCQl9CgkJCWRvY3VtZW50LmJvZHkuZm9jdXMoKTsKCQl9CgoJfQoKCS8qKgoJICogSW52b2tlZCB3aGVuIGEgc2xpZGUgaXMgYW5kIHdlJ3JlIGluIHRoZSBvdmVydmlldy4KCSAqLwoJZnVuY3Rpb24gb25PdmVydmlld1NsaWRlQ2xpY2tlZCggZXZlbnQgKSB7CgoJCS8vIFRPRE8gVGhlcmUncyBhIGJ1ZyBoZXJlIHdoZXJlIHRoZSBldmVudCBsaXN0ZW5lcnMgYXJlIG5vdAoJCS8vIHJlbW92ZWQgYWZ0ZXIgZGVhY3RpdmF0aW5nIHRoZSBvdmVydmlldy4KCQlpZiggZXZlbnRzQXJlQm91bmQgJiYgaXNPdmVydmlldygpICkgewoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKCQkJdmFyIGVsZW1lbnQgPSBldmVudC50YXJnZXQ7CgoJCQl3aGlsZSggZWxlbWVudCAmJiAhZWxlbWVudC5ub2RlTmFtZS5tYXRjaCggL3NlY3Rpb24vZ2kgKSApIHsKCQkJCWVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7CgkJCX0KCgkJCWlmKCBlbGVtZW50ICYmICFlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyggJ2Rpc2FibGVkJyApICkgewoKCQkJCWRlYWN0aXZhdGVPdmVydmlldygpOwoKCQkJCWlmKCBlbGVtZW50Lm5vZGVOYW1lLm1hdGNoKCAvc2VjdGlvbi9naSApICkgewoJCQkJCXZhciBoID0gcGFyc2VJbnQoIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCAnZGF0YS1pbmRleC1oJyApLCAxMCApLAoJCQkJCQl2ID0gcGFyc2VJbnQoIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCAnZGF0YS1pbmRleC12JyApLCAxMCApOwoKCQkJCQlzbGlkZSggaCwgdiApOwoJCQkJfQoKCQkJfQoJCX0KCgl9CgoJLyoqCgkgKiBIYW5kbGVzIGNsaWNrcyBvbiBsaW5rcyB0aGF0IGFyZSBzZXQgdG8gcHJldmlldyBpbiB0aGUKCSAqIGlmcmFtZSBvdmVybGF5LgoJICovCglmdW5jdGlvbiBvblByZXZpZXdMaW5rQ2xpY2tlZCggZXZlbnQgKSB7CgoJCWlmKCBldmVudC5jdXJyZW50VGFyZ2V0ICYmIGV2ZW50LmN1cnJlbnRUYXJnZXQuaGFzQXR0cmlidXRlKCAnaHJlZicgKSApIHsKCQkJdmFyIHVybCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQuZ2V0QXR0cmlidXRlKCAnaHJlZicgKTsKCQkJaWYoIHVybCApIHsKCQkJCXNob3dQcmV2aWV3KCB1cmwgKTsKCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCX0KCQl9CgoJfQoKCS8qKgoJICogSGFuZGxlcyBjbGljayBvbiB0aGUgYXV0by1zbGlkaW5nIGNvbnRyb2xzIGVsZW1lbnQuCgkgKi8KCWZ1bmN0aW9uIG9uQXV0b1NsaWRlUGxheWVyQ2xpY2soIGV2ZW50ICkgewoKCQkvLyBSZXBsYXkKCQlpZiggUmV2ZWFsLmlzTGFzdFNsaWRlKCkgJiYgY29uZmlnLmxvb3AgPT09IGZhbHNlICkgewoJCQlzbGlkZSggMCwgMCApOwoJCQlyZXN1bWVBdXRvU2xpZGUoKTsKCQl9CgkJLy8gUmVzdW1lCgkJZWxzZSBpZiggYXV0b1NsaWRlUGF1c2VkICkgewoJCQlyZXN1bWVBdXRvU2xpZGUoKTsKCQl9CgkJLy8gUGF1c2UKCQllbHNlIHsKCQkJcGF1c2VBdXRvU2xpZGUoKTsKCQl9CgoJfQoKCgkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUExBWUJBQ0sgQ09NUE9ORU5UIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCgoKCS8qKgoJICogQ29uc3RydWN0b3IgZm9yIHRoZSBwbGF5YmFjayBjb21wb25lbnQsIHdoaWNoIGRpc3BsYXlzCgkgKiBwbGF5L3BhdXNlL3Byb2dyZXNzIGNvbnRyb2xzLgoJICoKCSAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGNvbnRhaW5lciBUaGUgY29tcG9uZW50IHdpbGwgYXBwZW5kCgkgKiBpdHNlbGYgdG8gdGhpcwoJICogQHBhcmFtIHtGdW5jdGlvbn0gcHJvZ3Jlc3NDaGVjayBBIG1ldGhvZCB3aGljaCB3aWxsIGJlCgkgKiBjYWxsZWQgZnJlcXVlbnRseSB0byBnZXQgdGhlIGN1cnJlbnQgcHJvZ3Jlc3Mgb24gYSByYW5nZQoJICogb2YgMC0xCgkgKi8KCWZ1bmN0aW9uIFBsYXliYWNrKCBjb250YWluZXIsIHByb2dyZXNzQ2hlY2sgKSB7CgoJCS8vIENvc21ldGljcwoJCXRoaXMuZGlhbWV0ZXIgPSA1MDsKCQl0aGlzLnRoaWNrbmVzcyA9IDM7CgoJCS8vIEZsYWdzIGlmIHdlIGFyZSBjdXJyZW50bHkgcGxheWluZwoJCXRoaXMucGxheWluZyA9IGZhbHNlOwoKCQkvLyBDdXJyZW50IHByb2dyZXNzIG9uIGEgMC0xIHJhbmdlCgkJdGhpcy5wcm9ncmVzcyA9IDA7CgoJCS8vIFVzZWQgdG8gbG9vcCB0aGUgYW5pbWF0aW9uIHNtb290aGx5CgkJdGhpcy5wcm9ncmVzc09mZnNldCA9IDE7CgoJCXRoaXMuY29udGFpbmVyID0gY29udGFpbmVyOwoJCXRoaXMucHJvZ3Jlc3NDaGVjayA9IHByb2dyZXNzQ2hlY2s7CgoJCXRoaXMuY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2NhbnZhcycgKTsKCQl0aGlzLmNhbnZhcy5jbGFzc05hbWUgPSAncGxheWJhY2snOwoJCXRoaXMuY2FudmFzLndpZHRoID0gdGhpcy5kaWFtZXRlcjsKCQl0aGlzLmNhbnZhcy5oZWlnaHQgPSB0aGlzLmRpYW1ldGVyOwoJCXRoaXMuY29udGV4dCA9IHRoaXMuY2FudmFzLmdldENvbnRleHQoICcyZCcgKTsKCgkJdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQoIHRoaXMuY2FudmFzICk7CgoJCXRoaXMucmVuZGVyKCk7CgoJfQoKCVBsYXliYWNrLnByb3RvdHlwZS5zZXRQbGF5aW5nID0gZnVuY3Rpb24oIHZhbHVlICkgewoKCQl2YXIgd2FzUGxheWluZyA9IHRoaXMucGxheWluZzsKCgkJdGhpcy5wbGF5aW5nID0gdmFsdWU7CgoJCS8vIFN0YXJ0IHJlcGFpbnRpbmcgaWYgd2Ugd2VyZW4ndCBhbHJlYWR5CgkJaWYoICF3YXNQbGF5aW5nICYmIHRoaXMucGxheWluZyApIHsKCQkJdGhpcy5hbmltYXRlKCk7CgkJfQoJCWVsc2UgewoJCQl0aGlzLnJlbmRlcigpOwoJCX0KCgl9OwoKCVBsYXliYWNrLnByb3RvdHlwZS5hbmltYXRlID0gZnVuY3Rpb24oKSB7CgoJCXZhciBwcm9ncmVzc0JlZm9yZSA9IHRoaXMucHJvZ3Jlc3M7CgoJCXRoaXMucHJvZ3Jlc3MgPSB0aGlzLnByb2dyZXNzQ2hlY2soKTsKCgkJLy8gV2hlbiB3ZSBsb29wLCBvZmZzZXQgdGhlIHByb2dyZXNzIHNvIHRoYXQgaXQgZWFzZXMKCQkvLyBzbW9vdGhseSByYXRoZXIgdGhhbiBpbW1lZGlhdGVseSByZXNldHRpbmcKCQlpZiggcHJvZ3Jlc3NCZWZvcmUgPiAwLjggJiYgdGhpcy5wcm9ncmVzcyA8IDAuMiApIHsKCQkJdGhpcy5wcm9ncmVzc09mZnNldCA9IHRoaXMucHJvZ3Jlc3M7CgkJfQoKCQl0aGlzLnJlbmRlcigpOwoKCQlpZiggdGhpcy5wbGF5aW5nICkgewoJCQlmZWF0dXJlcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVNZXRob2QuY2FsbCggd2luZG93LCB0aGlzLmFuaW1hdGUuYmluZCggdGhpcyApICk7CgkJfQoKCX07CgoJLyoqCgkgKiBSZW5kZXJzIHRoZSBjdXJyZW50IHByb2dyZXNzIGFuZCBwbGF5YmFjayBzdGF0ZS4KCSAqLwoJUGxheWJhY2sucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uKCkgewoKCQl2YXIgcHJvZ3Jlc3MgPSB0aGlzLnBsYXlpbmcgPyB0aGlzLnByb2dyZXNzIDogMCwKCQkJcmFkaXVzID0gKCB0aGlzLmRpYW1ldGVyIC8gMiApIC0gdGhpcy50aGlja25lc3MsCgkJCXggPSB0aGlzLmRpYW1ldGVyIC8gMiwKCQkJeSA9IHRoaXMuZGlhbWV0ZXIgLyAyLAoJCQlpY29uU2l6ZSA9IDE0OwoKCQkvLyBFYXNlIHRvd2FyZHMgMQoJCXRoaXMucHJvZ3Jlc3NPZmZzZXQgKz0gKCAxIC0gdGhpcy5wcm9ncmVzc09mZnNldCApICogMC4xOwoKCQl2YXIgZW5kQW5nbGUgPSAoIC0gTWF0aC5QSSAvIDIgKSArICggcHJvZ3Jlc3MgKiAoIE1hdGguUEkgKiAyICkgKTsKCQl2YXIgc3RhcnRBbmdsZSA9ICggLSBNYXRoLlBJIC8gMiApICsgKCB0aGlzLnByb2dyZXNzT2Zmc2V0ICogKCBNYXRoLlBJICogMiApICk7CgoJCXRoaXMuY29udGV4dC5zYXZlKCk7CgkJdGhpcy5jb250ZXh0LmNsZWFyUmVjdCggMCwgMCwgdGhpcy5kaWFtZXRlciwgdGhpcy5kaWFtZXRlciApOwoKCQkvLyBTb2xpZCBiYWNrZ3JvdW5kIGNvbG9yCgkJdGhpcy5jb250ZXh0LmJlZ2luUGF0aCgpOwoJCXRoaXMuY29udGV4dC5hcmMoIHgsIHksIHJhZGl1cyArIDIsIDAsIE1hdGguUEkgKiAyLCBmYWxzZSApOwoJCXRoaXMuY29udGV4dC5maWxsU3R5bGUgPSAncmdiYSggMCwgMCwgMCwgMC40ICknOwoJCXRoaXMuY29udGV4dC5maWxsKCk7CgoJCS8vIERyYXcgcHJvZ3Jlc3MgdHJhY2sKCQl0aGlzLmNvbnRleHQuYmVnaW5QYXRoKCk7CgkJdGhpcy5jb250ZXh0LmFyYyggeCwgeSwgcmFkaXVzLCAwLCBNYXRoLlBJICogMiwgZmFsc2UgKTsKCQl0aGlzLmNvbnRleHQubGluZVdpZHRoID0gdGhpcy50aGlja25lc3M7CgkJdGhpcy5jb250ZXh0LnN0cm9rZVN0eWxlID0gJyM2NjYnOwoJCXRoaXMuY29udGV4dC5zdHJva2UoKTsKCgkJaWYoIHRoaXMucGxheWluZyApIHsKCQkJLy8gRHJhdyBwcm9ncmVzcyBvbiB0b3Agb2YgdHJhY2sKCQkJdGhpcy5jb250ZXh0LmJlZ2luUGF0aCgpOwoJCQl0aGlzLmNvbnRleHQuYXJjKCB4LCB5LCByYWRpdXMsIHN0YXJ0QW5nbGUsIGVuZEFuZ2xlLCBmYWxzZSApOwoJCQl0aGlzLmNvbnRleHQubGluZVdpZHRoID0gdGhpcy50aGlja25lc3M7CgkJCXRoaXMuY29udGV4dC5zdHJva2VTdHlsZSA9ICcjZmZmJzsKCQkJdGhpcy5jb250ZXh0LnN0cm9rZSgpOwoJCX0KCgkJdGhpcy5jb250ZXh0LnRyYW5zbGF0ZSggeCAtICggaWNvblNpemUgLyAyICksIHkgLSAoIGljb25TaXplIC8gMiApICk7CgoJCS8vIERyYXcgcGxheS9wYXVzZSBpY29ucwoJCWlmKCB0aGlzLnBsYXlpbmcgKSB7CgkJCXRoaXMuY29udGV4dC5maWxsU3R5bGUgPSAnI2ZmZic7CgkJCXRoaXMuY29udGV4dC5maWxsUmVjdCggMCwgMCwgaWNvblNpemUgLyAyIC0gMiwgaWNvblNpemUgKTsKCQkJdGhpcy5jb250ZXh0LmZpbGxSZWN0KCBpY29uU2l6ZSAvIDIgKyAyLCAwLCBpY29uU2l6ZSAvIDIgLSAyLCBpY29uU2l6ZSApOwoJCX0KCQllbHNlIHsKCQkJdGhpcy5jb250ZXh0LmJlZ2luUGF0aCgpOwoJCQl0aGlzLmNvbnRleHQudHJhbnNsYXRlKCAyLCAwICk7CgkJCXRoaXMuY29udGV4dC5tb3ZlVG8oIDAsIDAgKTsKCQkJdGhpcy5jb250ZXh0LmxpbmVUbyggaWNvblNpemUgLSAyLCBpY29uU2l6ZSAvIDIgKTsKCQkJdGhpcy5jb250ZXh0LmxpbmVUbyggMCwgaWNvblNpemUgKTsKCQkJdGhpcy5jb250ZXh0LmZpbGxTdHlsZSA9ICcjZmZmJzsKCQkJdGhpcy5jb250ZXh0LmZpbGwoKTsKCQl9CgoJCXRoaXMuY29udGV4dC5yZXN0b3JlKCk7CgoJfTsKCglQbGF5YmFjay5wcm90b3R5cGUub24gPSBmdW5jdGlvbiggdHlwZSwgbGlzdGVuZXIgKSB7CgkJdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lciggdHlwZSwgbGlzdGVuZXIsIGZhbHNlICk7Cgl9OwoKCVBsYXliYWNrLnByb3RvdHlwZS5vZmYgPSBmdW5jdGlvbiggdHlwZSwgbGlzdGVuZXIgKSB7CgkJdGhpcy5jYW52YXMucmVtb3ZlRXZlbnRMaXN0ZW5lciggdHlwZSwgbGlzdGVuZXIsIGZhbHNlICk7Cgl9OwoKCVBsYXliYWNrLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgoJCXRoaXMucGxheWluZyA9IGZhbHNlOwoKCQlpZiggdGhpcy5jYW52YXMucGFyZW50Tm9kZSApIHsKCQkJdGhpcy5jb250YWluZXIucmVtb3ZlQ2hpbGQoIHRoaXMuY2FudmFzICk7CgkJfQoKCX07CgoKCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQVBJIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KCgoJUmV2ZWFsID0gewoJCWluaXRpYWxpemU6IGluaXRpYWxpemUsCgkJY29uZmlndXJlOiBjb25maWd1cmUsCgkJc3luYzogc3luYywKCgkJLy8gTmF2aWdhdGlvbiBtZXRob2RzCgkJc2xpZGU6IHNsaWRlLAoJCWxlZnQ6IG5hdmlnYXRlTGVmdCwKCQlyaWdodDogbmF2aWdhdGVSaWdodCwKCQl1cDogbmF2aWdhdGVVcCwKCQlkb3duOiBuYXZpZ2F0ZURvd24sCgkJcHJldjogbmF2aWdhdGVQcmV2LAoJCW5leHQ6IG5hdmlnYXRlTmV4dCwKCgkJLy8gRnJhZ21lbnQgbWV0aG9kcwoJCW5hdmlnYXRlRnJhZ21lbnQ6IG5hdmlnYXRlRnJhZ21lbnQsCgkJcHJldkZyYWdtZW50OiBwcmV2aW91c0ZyYWdtZW50LAoJCW5leHRGcmFnbWVudDogbmV4dEZyYWdtZW50LAoKCQkvLyBEZXByZWNhdGVkIGFsaWFzZXMKCQluYXZpZ2F0ZVRvOiBzbGlkZSwKCQluYXZpZ2F0ZUxlZnQ6IG5hdmlnYXRlTGVmdCwKCQluYXZpZ2F0ZVJpZ2h0OiBuYXZpZ2F0ZVJpZ2h0LAoJCW5hdmlnYXRlVXA6IG5hdmlnYXRlVXAsCgkJbmF2aWdhdGVEb3duOiBuYXZpZ2F0ZURvd24sCgkJbmF2aWdhdGVQcmV2OiBuYXZpZ2F0ZVByZXYsCgkJbmF2aWdhdGVOZXh0OiBuYXZpZ2F0ZU5leHQsCgoJCS8vIEZvcmNlcyBhbiB1cGRhdGUgaW4gc2xpZGUgbGF5b3V0CgkJbGF5b3V0OiBsYXlvdXQsCgoJCS8vIFJldHVybnMgYW4gb2JqZWN0IHdpdGggdGhlIGF2YWlsYWJsZSByb3V0ZXMgYXMgYm9vbGVhbnMgKGxlZnQvcmlnaHQvdG9wL2JvdHRvbSkKCQlhdmFpbGFibGVSb3V0ZXM6IGF2YWlsYWJsZVJvdXRlcywKCgkJLy8gUmV0dXJucyBhbiBvYmplY3Qgd2l0aCB0aGUgYXZhaWxhYmxlIGZyYWdtZW50cyBhcyBib29sZWFucyAocHJldi9uZXh0KQoJCWF2YWlsYWJsZUZyYWdtZW50czogYXZhaWxhYmxlRnJhZ21lbnRzLAoKCQkvLyBUb2dnbGVzIHRoZSBvdmVydmlldyBtb2RlIG9uL29mZgoJCXRvZ2dsZU92ZXJ2aWV3OiB0b2dnbGVPdmVydmlldywKCgkJLy8gVG9nZ2xlcyB0aGUgImJsYWNrIHNjcmVlbiIgbW9kZSBvbi9vZmYKCQl0b2dnbGVQYXVzZTogdG9nZ2xlUGF1c2UsCgoJCS8vIFRvZ2dsZXMgdGhlIGF1dG8gc2xpZGUgbW9kZSBvbi9vZmYKCQl0b2dnbGVBdXRvU2xpZGU6IHRvZ2dsZUF1dG9TbGlkZSwKCgkJLy8gU3RhdGUgY2hlY2tzCgkJaXNPdmVydmlldzogaXNPdmVydmlldywKCQlpc1BhdXNlZDogaXNQYXVzZWQsCgkJaXNBdXRvU2xpZGluZzogaXNBdXRvU2xpZGluZywKCgkJLy8gQWRkcyBvciByZW1vdmVzIGFsbCBpbnRlcm5hbCBldmVudCBsaXN0ZW5lcnMgKHN1Y2ggYXMga2V5Ym9hcmQpCgkJYWRkRXZlbnRMaXN0ZW5lcnM6IGFkZEV2ZW50TGlzdGVuZXJzLAoJCXJlbW92ZUV2ZW50TGlzdGVuZXJzOiByZW1vdmVFdmVudExpc3RlbmVycywKCgkJLy8gRmFjaWxpdHkgZm9yIHBlcnNpc3RpbmcgYW5kIHJlc3RvcmluZyB0aGUgcHJlc2VudGF0aW9uIHN0YXRlCgkJZ2V0U3RhdGU6IGdldFN0YXRlLAoJCXNldFN0YXRlOiBzZXRTdGF0ZSwKCgkJLy8gUHJlc2VudGF0aW9uIHByb2dyZXNzIG9uIHJhbmdlIG9mIDAtMQoJCWdldFByb2dyZXNzOiBnZXRQcm9ncmVzcywKCgkJLy8gUmV0dXJucyB0aGUgaW5kaWNlcyBvZiB0aGUgY3VycmVudCwgb3Igc3BlY2lmaWVkLCBzbGlkZQoJCWdldEluZGljZXM6IGdldEluZGljZXMsCgoJCWdldFRvdGFsU2xpZGVzOiBnZXRUb3RhbFNsaWRlcywKCgkJLy8gUmV0dXJucyB0aGUgc2xpZGUgZWxlbWVudCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4CgkJZ2V0U2xpZGU6IGdldFNsaWRlLAoKCQkvLyBSZXR1cm5zIHRoZSBzbGlkZSBiYWNrZ3JvdW5kIGVsZW1lbnQgYXQgdGhlIHNwZWNpZmllZCBpbmRleAoJCWdldFNsaWRlQmFja2dyb3VuZDogZ2V0U2xpZGVCYWNrZ3JvdW5kLAoKCQkvLyBSZXR1cm5zIHRoZSBzcGVha2VyIG5vdGVzIHN0cmluZyBmb3IgYSBzbGlkZSwgb3IgbnVsbAoJCWdldFNsaWRlTm90ZXM6IGdldFNsaWRlTm90ZXMsCgoJCS8vIFJldHVybnMgdGhlIHByZXZpb3VzIHNsaWRlIGVsZW1lbnQsIG1heSBiZSBudWxsCgkJZ2V0UHJldmlvdXNTbGlkZTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiBwcmV2aW91c1NsaWRlOwoJCX0sCgoJCS8vIFJldHVybnMgdGhlIGN1cnJlbnQgc2xpZGUgZWxlbWVudAoJCWdldEN1cnJlbnRTbGlkZTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiBjdXJyZW50U2xpZGU7CgkJfSwKCgkJLy8gUmV0dXJucyB0aGUgY3VycmVudCBzY2FsZSBvZiB0aGUgcHJlc2VudGF0aW9uIGNvbnRlbnQKCQlnZXRTY2FsZTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiBzY2FsZTsKCQl9LAoKCQkvLyBSZXR1cm5zIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gb2JqZWN0CgkJZ2V0Q29uZmlnOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIGNvbmZpZzsKCQl9LAoKCQkvLyBIZWxwZXIgbWV0aG9kLCByZXRyaWV2ZXMgcXVlcnkgc3RyaW5nIGFzIGEga2V5L3ZhbHVlIGhhc2gKCQlnZXRRdWVyeUhhc2g6IGZ1bmN0aW9uKCkgewoJCQl2YXIgcXVlcnkgPSB7fTsKCgkJCWxvY2F0aW9uLnNlYXJjaC5yZXBsYWNlKCAvW0EtWjAtOV0rPz0oW1x3XC4lLV0qKS9naSwgZnVuY3Rpb24oYSkgewoJCQkJcXVlcnlbIGEuc3BsaXQoICc9JyApLnNoaWZ0KCkgXSA9IGEuc3BsaXQoICc9JyApLnBvcCgpOwoJCQl9ICk7CgoJCQkvLyBCYXNpYyBkZXNlcmlhbGl6YXRpb24KCQkJZm9yKCB2YXIgaSBpbiBxdWVyeSApIHsKCQkJCXZhciB2YWx1ZSA9IHF1ZXJ5WyBpIF07CgoJCQkJcXVlcnlbIGkgXSA9IGRlc2VyaWFsaXplKCB1bmVzY2FwZSggdmFsdWUgKSApOwoJCQl9CgoJCQlyZXR1cm4gcXVlcnk7CgkJfSwKCgkJLy8gUmV0dXJucyB0cnVlIGlmIHdlJ3JlIGN1cnJlbnRseSBvbiB0aGUgZmlyc3Qgc2xpZGUKCQlpc0ZpcnN0U2xpZGU6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gKCBpbmRleGggPT09IDAgJiYgaW5kZXh2ID09PSAwICk7CgkJfSwKCgkJLy8gUmV0dXJucyB0cnVlIGlmIHdlJ3JlIGN1cnJlbnRseSBvbiB0aGUgbGFzdCBzbGlkZQoJCWlzTGFzdFNsaWRlOiBmdW5jdGlvbigpIHsKCQkJaWYoIGN1cnJlbnRTbGlkZSApIHsKCQkJCS8vIERvZXMgdGhpcyBzbGlkZSBoYXMgbmV4dCBhIHNpYmxpbmc/CgkJCQlpZiggY3VycmVudFNsaWRlLm5leHRFbGVtZW50U2libGluZyApIHJldHVybiBmYWxzZTsKCgkJCQkvLyBJZiBpdCdzIHZlcnRpY2FsLCBkb2VzIGl0cyBwYXJlbnQgaGF2ZSBhIG5leHQgc2libGluZz8KCQkJCWlmKCBpc1ZlcnRpY2FsU2xpZGUoIGN1cnJlbnRTbGlkZSApICYmIGN1cnJlbnRTbGlkZS5wYXJlbnROb2RlLm5leHRFbGVtZW50U2libGluZyApIHJldHVybiBmYWxzZTsKCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoKCQkJcmV0dXJuIGZhbHNlOwoJCX0sCgoJCS8vIENoZWNrcyBpZiByZXZlYWwuanMgaGFzIGJlZW4gbG9hZGVkIGFuZCBpcyByZWFkeSBmb3IgdXNlCgkJaXNSZWFkeTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiBsb2FkZWQ7CgkJfSwKCgkJLy8gRm9yd2FyZCBldmVudCBiaW5kaW5nIHRvIHRoZSByZXZlYWwgRE9NIGVsZW1lbnQKCQlhZGRFdmVudExpc3RlbmVyOiBmdW5jdGlvbiggdHlwZSwgbGlzdGVuZXIsIHVzZUNhcHR1cmUgKSB7CgkJCWlmKCAnYWRkRXZlbnRMaXN0ZW5lcicgaW4gd2luZG93ICkgewoJCQkJKCBkb20ud3JhcHBlciB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCAnLnJldmVhbCcgKSApLmFkZEV2ZW50TGlzdGVuZXIoIHR5cGUsIGxpc3RlbmVyLCB1c2VDYXB0dXJlICk7CgkJCX0KCQl9LAoJCXJlbW92ZUV2ZW50TGlzdGVuZXI6IGZ1bmN0aW9uKCB0eXBlLCBsaXN0ZW5lciwgdXNlQ2FwdHVyZSApIHsKCQkJaWYoICdhZGRFdmVudExpc3RlbmVyJyBpbiB3aW5kb3cgKSB7CgkJCQkoIGRvbS53cmFwcGVyIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoICcucmV2ZWFsJyApICkucmVtb3ZlRXZlbnRMaXN0ZW5lciggdHlwZSwgbGlzdGVuZXIsIHVzZUNhcHR1cmUgKTsKCQkJfQoJCX0sCgoJCS8vIFByb2dyYW1hdGljYWxseSB0cmlnZ2VycyBhIGtleWJvYXJkIGV2ZW50CgkJdHJpZ2dlcktleTogZnVuY3Rpb24oIGtleUNvZGUgKSB7CgkJCW9uRG9jdW1lbnRLZXlEb3duKCB7IGtleUNvZGU6IGtleUNvZGUgfSApOwoJCX0KCX07CgoJcmV0dXJuIFJldmVhbDsKCn0pKTsK"></script>
<script>
// Full list of configuration options available at:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
// Vertical centering of slides
center: false,
// Transition style
transition: 'none', // none/fade/slide/convex/concave/zoom
// Transition style for full page slide backgrounds
backgroundTransition: 'default', // none/fade/slide/convex/concave/zoom
// Optional reveal.js plugins
dependencies: []
});
</script>
<!-- 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>
<script>
(function() {
if (window.jQuery) {
Reveal.addEventListener( 'slidechanged', function(event) {
window.jQuery(event.previousSlide).trigger('hidden');
window.jQuery(event.currentSlide).trigger('shown');
});
}
})();
</script>
</body>
</html>