-
Notifications
You must be signed in to change notification settings - Fork 1
/
PowerUp.b64
11814 lines (11814 loc) · 750 KB
/
PowerUp.b64
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
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-----BEGIN CERTIFICATE-----
PCMNCiAgICBQb3dlclVwIGFpbXMgdG8gYmUgYSBjbGVhcmluZ2hvdXNlIG9mIGNv
bW1vbiBXaW5kb3dzIHByaXZpbGVnZSBlc2NhbGF0aW9uDQogICAgdmVjdG9ycyB0
aGF0IHJlbHkgb24gbWlzY29uZmlndXJhdGlvbnMuIFNlZSBSRUFETUUubWQgZm9y
IG1vcmUgaW5mb3JtYXRpb24uDQoNCiAgICBBdXRob3I6IEBoYXJtajB5DQogICAg
TGljZW5zZTogQlNEIDMtQ2xhdXNlDQogICAgUmVxdWlyZWQgRGVwZW5kZW5jaWVz
OiBOb25lDQogICAgT3B0aW9uYWwgRGVwZW5kZW5jaWVzOiBOb25lDQojPg0KDQoj
UmVxdWlyZXMgLVZlcnNpb24gMg0KDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojDQojIFBTUmVmbGVj
dCBjb2RlIGZvciBXaW5kb3dzIEFQSSBhY2Nlc3MNCiMgQXV0aG9yOiBAbWF0dGlm
ZXN0YXRpb24NCiMgICBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20v
bWF0dGlmZXN0YXRpb24vUFNSZWZsZWN0L21hc3Rlci9QU1JlZmxlY3QucHNtMQ0K
Iw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCg0KZnVuY3Rpb24gTmV3LUluTWVtb3J5TW9kdWxlDQp7DQo8
Iw0KLlNZTk9QU0lTDQoNCkNyZWF0ZXMgYW4gaW4tbWVtb3J5IGFzc2VtYmx5IGFu
ZCBtb2R1bGUNCg0KQXV0aG9yOiBNYXR0aGV3IEdyYWViZXIgKEBtYXR0aWZlc3Rh
dGlvbikNCkxpY2Vuc2U6IEJTRCAzLUNsYXVzZQ0KUmVxdWlyZWQgRGVwZW5kZW5j
aWVzOiBOb25lDQpPcHRpb25hbCBEZXBlbmRlbmNpZXM6IE5vbmUNCg0KLkRFU0NS
SVBUSU9ODQoNCldoZW4gZGVmaW5pbmcgY3VzdG9tIGVudW1zLCBzdHJ1Y3RzLCBh
bmQgdW5tYW5hZ2VkIGZ1bmN0aW9ucywgaXQgaXMNCm5lY2Vzc2FyeSB0byBhc3Nv
Y2lhdGUgdG8gYW4gYXNzZW1ibHkgbW9kdWxlLiBUaGlzIGhlbHBlciBmdW5jdGlv
bg0KY3JlYXRlcyBhbiBpbi1tZW1vcnkgbW9kdWxlIHRoYXQgY2FuIGJlIHBhc3Nl
ZCB0byB0aGUgJ2VudW0nLA0KJ3N0cnVjdCcsIGFuZCBBZGQtV2luMzJUeXBlIGZ1
bmN0aW9ucy4NCg0KLlBBUkFNRVRFUiBNb2R1bGVOYW1lDQoNClNwZWNpZmllcyB0
aGUgZGVzaXJlZCBuYW1lIGZvciB0aGUgaW4tbWVtb3J5IGFzc2VtYmx5IGFuZCBt
b2R1bGUuIElmDQpNb2R1bGVOYW1lIGlzIG5vdCBwcm92aWRlZCwgaXQgd2lsbCBk
ZWZhdWx0IHRvIGEgR1VJRC4NCg0KLkVYQU1QTEUNCg0KJE1vZHVsZSA9IE5ldy1J
bk1lbW9yeU1vZHVsZSAtTW9kdWxlTmFtZSBXaW4zMg0KIz4NCg0KICAgIFBhcmFt
DQogICAgKA0KICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9uID0gMCldDQogICAg
ICAgIFtWYWxpZGF0ZU5vdE51bGxPckVtcHR5KCldDQogICAgICAgIFtTdHJpbmdd
DQogICAgICAgICRNb2R1bGVOYW1lID0gW0d1aWRdOjpOZXdHdWlkKCkuVG9TdHJp
bmcoKQ0KICAgICkNCg0KICAgICRTdHJpbmcgPSAnbmlhbW9EcHBBLm1ldHN5UycN
CiAgICAkY2xhc3NyZXYgPSAoW3JlZ2V4XTo6TWF0Y2hlcygkU3RyaW5nLCcuJywn
UmlnaHRUb0xlZnQnKSB8IEZvckVhY2ggeyRfLnZhbHVlfSkgLWpvaW4gJycNCiAg
ICAkQXBwRG9tYWluID0gW1JlZmxlY3Rpb24uQXNzZW1ibHldLkFzc2VtYmx5Lkdl
dFR5cGUoIiRjbGFzc3JldiIpLkdldFByb3BlcnR5KCdDdXJyZW50RG9tYWluJyku
R2V0VmFsdWUoJG51bGwsIEAoKSkNCiAgICAkTG9hZGVkQXNzZW1ibGllcyA9ICRB
cHBEb21haW4uR2V0QXNzZW1ibGllcygpDQoNCiAgICBmb3JlYWNoICgkQXNzZW1i
bHkgaW4gJExvYWRlZEFzc2VtYmxpZXMpIHsNCiAgICAgICAgaWYgKCRBc3NlbWJs
eS5GdWxsTmFtZSAtYW5kICgkQXNzZW1ibHkuRnVsbE5hbWUuU3BsaXQoJywnKVsw
XSAtZXEgJE1vZHVsZU5hbWUpKSB7DQogICAgICAgICAgICByZXR1cm4gJEFzc2Vt
Ymx5DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAkRHluQXNzZW1ibHkgPSBOZXct
T2JqZWN0IFJlZmxlY3Rpb24uQXNzZW1ibHlOYW1lKCRNb2R1bGVOYW1lKQ0KICAg
ICREb21haW4gPSAkQXBwRG9tYWluDQogICAgJEFzc2VtYmx5QnVpbGRlciA9ICRE
b21haW4uRGVmaW5lRHluYW1pY0Fzc2VtYmx5KCREeW5Bc3NlbWJseSwgJ1J1bicp
DQogICAgJE1vZHVsZUJ1aWxkZXIgPSAkQXNzZW1ibHlCdWlsZGVyLkRlZmluZUR5
bmFtaWNNb2R1bGUoJE1vZHVsZU5hbWUsICRGYWxzZSkNCg0KICAgIHJldHVybiAk
TW9kdWxlQnVpbGRlcg0KfQ0KDQoNCiMgQSBoZWxwZXIgZnVuY3Rpb24gdXNlZCB0
byByZWR1Y2UgdHlwaW5nIHdoaWxlIGRlZmluaW5nIGZ1bmN0aW9uDQojIHByb3Rv
dHlwZXMgZm9yIEFkZC1XaW4zMlR5cGUuDQpmdW5jdGlvbiBmdW5jDQp7DQogICAg
UGFyYW0NCiAgICAoDQogICAgICAgIFtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBN
YW5kYXRvcnk9JFRydWUpXQ0KICAgICAgICBbU3RyaW5nXQ0KICAgICAgICAkRGxs
TmFtZSwNCg0KICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0
b3J5PSRUcnVlKV0NCiAgICAgICAgW3N0cmluZ10NCiAgICAgICAgJEZ1bmN0aW9u
TmFtZSwNCg0KICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0
b3J5PSRUcnVlKV0NCiAgICAgICAgW1R5cGVdDQogICAgICAgICRSZXR1cm5UeXBl
LA0KDQogICAgICAgIFtQYXJhbWV0ZXIoUG9zaXRpb24gPSAzKV0NCiAgICAgICAg
W1R5cGVbXV0NCiAgICAgICAgJFBhcmFtZXRlclR5cGVzLA0KDQogICAgICAgIFtQ
YXJhbWV0ZXIoUG9zaXRpb24gPSA0KV0NCiAgICAgICAgW1J1bnRpbWUuSW50ZXJv
cFNlcnZpY2VzLkNhbGxpbmdDb252ZW50aW9uXQ0KICAgICAgICAkTmF0aXZlQ2Fs
bGluZ0NvbnZlbnRpb24sDQoNCiAgICAgICAgW1BhcmFtZXRlcihQb3NpdGlvbiA9
IDUpXQ0KICAgICAgICBbUnVudGltZS5JbnRlcm9wU2VydmljZXMuQ2hhclNldF0N
CiAgICAgICAgJENoYXJzZXQsDQoNCiAgICAgICAgW1N0cmluZ10NCiAgICAgICAg
JEVudHJ5UG9pbnQsDQoNCiAgICAgICAgW1N3aXRjaF0NCiAgICAgICAgJFNldExh
c3RFcnJvcg0KICAgICkNCg0KICAgICRQcm9wZXJ0aWVzID0gQHsNCiAgICAgICAg
RGxsTmFtZSA9ICREbGxOYW1lDQogICAgICAgIEZ1bmN0aW9uTmFtZSA9ICRGdW5j
dGlvbk5hbWUNCiAgICAgICAgUmV0dXJuVHlwZSA9ICRSZXR1cm5UeXBlDQogICAg
fQ0KDQogICAgaWYgKCRQYXJhbWV0ZXJUeXBlcykgeyAkUHJvcGVydGllc1snUGFy
YW1ldGVyVHlwZXMnXSA9ICRQYXJhbWV0ZXJUeXBlcyB9DQogICAgaWYgKCROYXRp
dmVDYWxsaW5nQ29udmVudGlvbikgeyAkUHJvcGVydGllc1snTmF0aXZlQ2FsbGlu
Z0NvbnZlbnRpb24nXSA9ICROYXRpdmVDYWxsaW5nQ29udmVudGlvbiB9DQogICAg
aWYgKCRDaGFyc2V0KSB7ICRQcm9wZXJ0aWVzWydDaGFyc2V0J10gPSAkQ2hhcnNl
dCB9DQogICAgaWYgKCRTZXRMYXN0RXJyb3IpIHsgJFByb3BlcnRpZXNbJ1NldExh
c3RFcnJvciddID0gJFNldExhc3RFcnJvciB9DQogICAgaWYgKCRFbnRyeVBvaW50
KSB7ICRQcm9wZXJ0aWVzWydFbnRyeVBvaW50J10gPSAkRW50cnlQb2ludCB9DQoN
CiAgICBOZXctT2JqZWN0IFBTT2JqZWN0IC1Qcm9wZXJ0eSAkUHJvcGVydGllcw0K
fQ0KDQoNCmZ1bmN0aW9uIEFkZC1XaW4zMlR5cGUNCnsNCjwjDQouU1lOT1BTSVMN
Cg0KQ3JlYXRlcyBhIC5ORVQgdHlwZSBmb3IgYW4gdW5tYW5hZ2VkIFdpbjMyIGZ1
bmN0aW9uLg0KDQpBdXRob3I6IE1hdHRoZXcgR3JhZWJlciAoQG1hdHRpZmVzdGF0
aW9uKQ0KTGljZW5zZTogQlNEIDMtQ2xhdXNlDQpSZXF1aXJlZCBEZXBlbmRlbmNp
ZXM6IE5vbmUNCk9wdGlvbmFsIERlcGVuZGVuY2llczogZnVuYw0KDQouREVTQ1JJ
UFRJT04NCg0KQWRkLVdpbjMyVHlwZSBlbmFibGVzIHlvdSB0byBlYXNpbHkgaW50
ZXJhY3Qgd2l0aCB1bm1hbmFnZWQgKGkuZS4NCldpbjMyIHVubWFuYWdlZCkgZnVu
Y3Rpb25zIGluIFBvd2VyU2hlbGwuIEFmdGVyIHByb3ZpZGluZw0KQWRkLVdpbjMy
VHlwZSB3aXRoIGEgZnVuY3Rpb24gc2lnbmF0dXJlLCBhIC5ORVQgdHlwZSBpcyBj
cmVhdGVkDQp1c2luZyByZWZsZWN0aW9uIChpLmUuIGNzYy5leGUgaXMgbmV2ZXIg
Y2FsbGVkIGxpa2Ugd2l0aCBBZGQtVHlwZSkuDQoNClRoZSAnZnVuYycgaGVscGVy
IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHJlZHVjZSB0eXBpbmcgd2hlbiBkZWZp
bmluZw0KbXVsdGlwbGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuDQoNCi5QQVJBTUVU
RVIgRGxsTmFtZQ0KDQpUaGUgbmFtZSBvZiB0aGUgRExMLg0KDQouUEFSQU1FVEVS
IEZ1bmN0aW9uTmFtZQ0KDQpUaGUgbmFtZSBvZiB0aGUgdGFyZ2V0IGZ1bmN0aW9u
Lg0KDQouUEFSQU1FVEVSIEVudHJ5UG9pbnQNCg0KVGhlIERMTCBleHBvcnQgZnVu
Y3Rpb24gbmFtZS4gVGhpcyBhcmd1bWVudCBzaG91bGQgYmUgc3BlY2lmaWVkIGlm
IHRoZQ0Kc3BlY2lmaWVkIGZ1bmN0aW9uIG5hbWUgaXMgZGlmZmVyZW50IHRoYW4g
dGhlIG5hbWUgb2YgdGhlIGV4cG9ydGVkDQpmdW5jdGlvbi4NCg0KLlBBUkFNRVRF
UiBSZXR1cm5UeXBlDQoNClRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZnVuY3Rpb24u
DQoNCi5QQVJBTUVURVIgUGFyYW1ldGVyVHlwZXMNCg0KVGhlIGZ1bmN0aW9uIHBh
cmFtZXRlcnMuDQoNCi5QQVJBTUVURVIgTmF0aXZlQ2FsbGluZ0NvbnZlbnRpb24N
Cg0KU3BlY2lmaWVzIHRoZSBuYXRpdmUgY2FsbGluZyBjb252ZW50aW9uIG9mIHRo
ZSBmdW5jdGlvbi4gRGVmYXVsdHMgdG8NCnN0ZGNhbGwuDQoNCi5QQVJBTUVURVIg
Q2hhcnNldA0KDQpJZiB5b3UgbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgYW4gJ0En
IG9yICdXJyBXaW4zMiBmdW5jdGlvbiwgeW91IGNhbg0Kc3BlY2lmeSB0aGUgY2hh
cmFjdGVyIHNldC4NCg0KLlBBUkFNRVRFUiBTZXRMYXN0RXJyb3INCg0KSW5kaWNh
dGVzIHdoZXRoZXIgdGhlIGNhbGxlZSBjYWxscyB0aGUgU2V0TGFzdEVycm9yIFdp
bjMyIEFQSQ0KZnVuY3Rpb24gYmVmb3JlIHJldHVybmluZyBmcm9tIHRoZSBhdHRy
aWJ1dGVkIG1ldGhvZC4NCg0KLlBBUkFNRVRFUiBNb2R1bGUNCg0KVGhlIGluLW1l
bW9yeSBtb2R1bGUgdGhhdCB3aWxsIGhvc3QgdGhlIGZ1bmN0aW9ucy4gVXNlDQpO
ZXctSW5NZW1vcnlNb2R1bGUgdG8gZGVmaW5lIGFuIGluLW1lbW9yeSBtb2R1bGUu
DQoNCi5QQVJBTUVURVIgTmFtZXNwYWNlDQoNCkFuIG9wdGlvbmFsIG5hbWVzcGFj
ZSB0byBwcmVwZW5kIHRvIHRoZSB0eXBlLiBBZGQtV2luMzJUeXBlIGRlZmF1bHRz
DQp0byBhIG5hbWVzcGFjZSBjb25zaXN0aW5nIG9ubHkgb2YgdGhlIG5hbWUgb2Yg
dGhlIERMTC4NCg0KLkVYQU1QTEUNCg0KJE1vZCA9IE5ldy1Jbk1lbW9yeU1vZHVs
ZSAtTW9kdWxlTmFtZSBXaW4zMg0KDQokRnVuY3Rpb25EZWZpbml0aW9ucyA9IEAo
DQogIChmdW5jIGtlcm5lbDMyIEdldFByb2NBZGRyZXNzIChbSW50UHRyXSkgQChb
SW50UHRyXSwgW1N0cmluZ10pIC1DaGFyc2V0IEFuc2kgLVNldExhc3RFcnJvciks
DQogIChmdW5jIGtlcm5lbDMyIEdldE1vZHVsZUhhbmRsZSAoW0ludHB0cl0pIEAo
W1N0cmluZ10pIC1TZXRMYXN0RXJyb3IpLA0KICAoZnVuYyBudGRsbCBSdGxHZXRD
dXJyZW50UGViIChbSW50UHRyXSkgQCgpKQ0KKQ0KDQokVHlwZXMgPSAkRnVuY3Rp
b25EZWZpbml0aW9ucyB8IEFkZC1XaW4zMlR5cGUgLU1vZHVsZSAkTW9kIC1OYW1l
c3BhY2UgJ1dpbjMyJw0KJEtlcm5lbDMyID0gJFR5cGVzWydrZXJuZWwzMiddDQok
TnRkbGwgPSAkVHlwZXNbJ250ZGxsJ10NCiROdGRsbDo6UnRsR2V0Q3VycmVudFBl
YigpDQokbnRkbGxiYXNlID0gJEtlcm5lbDMyOjpHZXRNb2R1bGVIYW5kbGUoJ250
ZGxsJykNCiRLZXJuZWwzMjo6R2V0UHJvY0FkZHJlc3MoJG50ZGxsYmFzZSwgJ1J0
bEdldEN1cnJlbnRQZWInKQ0KDQouTk9URVMNCg0KSW5zcGlyZWQgYnkgTGVlIEhv
bG1lcycgSW52b2tlLVdpbmRvd3NBcGkgaHR0cDovL3Bvc2hjb2RlLm9yZy8yMTg5
DQoNCldoZW4gZGVmaW5pbmcgbXVsdGlwbGUgZnVuY3Rpb24gcHJvdG90eXBlcywg
aXQgaXMgaWRlYWwgdG8gcHJvdmlkZQ0KQWRkLVdpbjMyVHlwZSB3aXRoIGFuIGFy
cmF5IG9mIGZ1bmN0aW9uIHNpZ25hdHVyZXMuIFRoYXQgd2F5LCB0aGV5DQphcmUg
YWxsIGluY29ycG9yYXRlZCBpbnRvIHRoZSBzYW1lIGluLW1lbW9yeSBtb2R1bGUu
DQojPg0KDQogICAgW091dHB1dFR5cGUoW0hhc2h0YWJsZV0pXQ0KICAgIFBhcmFt
KA0KICAgICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeT0kVHJ1ZSwgVmFsdWVGcm9t
UGlwZWxpbmVCeVByb3BlcnR5TmFtZT0kVHJ1ZSldDQogICAgICAgIFtTdHJpbmdd
DQogICAgICAgICREbGxOYW1lLA0KDQogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0
b3J5PSRUcnVlLCBWYWx1ZUZyb21QaXBlbGluZUJ5UHJvcGVydHlOYW1lPSRUcnVl
KV0NCiAgICAgICAgW1N0cmluZ10NCiAgICAgICAgJEZ1bmN0aW9uTmFtZSwNCg0K
ICAgICAgICBbUGFyYW1ldGVyKFZhbHVlRnJvbVBpcGVsaW5lQnlQcm9wZXJ0eU5h
bWU9JFRydWUpXQ0KICAgICAgICBbU3RyaW5nXQ0KICAgICAgICAkRW50cnlQb2lu
dCwNCg0KICAgICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeT0kVHJ1ZSwgVmFsdWVG
cm9tUGlwZWxpbmVCeVByb3BlcnR5TmFtZT0kVHJ1ZSldDQogICAgICAgIFtUeXBl
XQ0KICAgICAgICAkUmV0dXJuVHlwZSwNCg0KICAgICAgICBbUGFyYW1ldGVyKFZh
bHVlRnJvbVBpcGVsaW5lQnlQcm9wZXJ0eU5hbWU9JFRydWUpXQ0KICAgICAgICBb
VHlwZVtdXQ0KICAgICAgICAkUGFyYW1ldGVyVHlwZXMsDQoNCiAgICAgICAgW1Bh
cmFtZXRlcihWYWx1ZUZyb21QaXBlbGluZUJ5UHJvcGVydHlOYW1lPSRUcnVlKV0N
CiAgICAgICAgW1J1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkNhbGxpbmdDb252ZW50
aW9uXQ0KICAgICAgICAkTmF0aXZlQ2FsbGluZ0NvbnZlbnRpb24gPSBbUnVudGlt
ZS5JbnRlcm9wU2VydmljZXMuQ2FsbGluZ0NvbnZlbnRpb25dOjpTdGRDYWxsLA0K
DQogICAgICAgIFtQYXJhbWV0ZXIoVmFsdWVGcm9tUGlwZWxpbmVCeVByb3BlcnR5
TmFtZT0kVHJ1ZSldDQogICAgICAgIFtSdW50aW1lLkludGVyb3BTZXJ2aWNlcy5D
aGFyU2V0XQ0KICAgICAgICAkQ2hhcnNldCA9IFtSdW50aW1lLkludGVyb3BTZXJ2
aWNlcy5DaGFyU2V0XTo6QXV0bywNCg0KICAgICAgICBbUGFyYW1ldGVyKFZhbHVl
RnJvbVBpcGVsaW5lQnlQcm9wZXJ0eU5hbWU9JFRydWUpXQ0KICAgICAgICBbU3dp
dGNoXQ0KICAgICAgICAkU2V0TGFzdEVycm9yLA0KDQogICAgICAgIFtQYXJhbWV0
ZXIoTWFuZGF0b3J5PSRUcnVlKV0NCiAgICAgICAgW1ZhbGlkYXRlU2NyaXB0KHso
JF8gLWlzIFtSZWZsZWN0aW9uLkVtaXQuTW9kdWxlQnVpbGRlcl0pIC1vciAoJF8g
LWlzIFtSZWZsZWN0aW9uLkFzc2VtYmx5XSl9KV0NCiAgICAgICAgJE1vZHVsZSwN
Cg0KICAgICAgICBbVmFsaWRhdGVOb3ROdWxsKCldDQogICAgICAgIFtTdHJpbmdd
DQogICAgICAgICROYW1lc3BhY2UgPSAnJw0KICAgICkNCg0KICAgIEJFR0lODQog
ICAgew0KICAgICAgICAkVHlwZUhhc2ggPSBAe30NCiAgICB9DQoNCiAgICBQUk9D
RVNTDQogICAgew0KICAgICAgICBpZiAoJE1vZHVsZSAtaXMgW1JlZmxlY3Rpb24u
QXNzZW1ibHldKQ0KICAgICAgICB7DQogICAgICAgICAgICBpZiAoJE5hbWVzcGFj
ZSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkVHlwZUhhc2hbJERs
bE5hbWVdID0gJE1vZHVsZS5HZXRUeXBlKCIkTmFtZXNwYWNlLiREbGxOYW1lIikN
CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsN
CiAgICAgICAgICAgICAgICAkVHlwZUhhc2hbJERsbE5hbWVdID0gJE1vZHVsZS5H
ZXRUeXBlKCREbGxOYW1lKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAg
ICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgIyBEZWZpbmUgb25lIHR5
cGUgZm9yIGVhY2ggRExMDQogICAgICAgICAgICBpZiAoISRUeXBlSGFzaC5Db250
YWluc0tleSgkRGxsTmFtZSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAg
ICAgaWYgKCROYW1lc3BhY2UpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAg
ICAgICAgICAgICAkVHlwZUhhc2hbJERsbE5hbWVdID0gJE1vZHVsZS5EZWZpbmVU
eXBlKCIkTmFtZXNwYWNlLiREbGxOYW1lIiwgJ1B1YmxpYyxCZWZvcmVGaWVsZElu
aXQnKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlDQog
ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkVHlwZUhhc2hb
JERsbE5hbWVdID0gJE1vZHVsZS5EZWZpbmVUeXBlKCREbGxOYW1lLCAnUHVibGlj
LEJlZm9yZUZpZWxkSW5pdCcpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgfQ0KDQogICAgICAgICAgICAkTWV0aG9kID0gJFR5cGVIYXNoWyREbGxOYW1l
XS5EZWZpbmVNZXRob2QoDQogICAgICAgICAgICAgICAgJEZ1bmN0aW9uTmFtZSwN
CiAgICAgICAgICAgICAgICAnUHVibGljLFN0YXRpYyxQaW52b2tlSW1wbCcsDQog
ICAgICAgICAgICAgICAgJFJldHVyblR5cGUsDQogICAgICAgICAgICAgICAgJFBh
cmFtZXRlclR5cGVzKQ0KDQogICAgICAgICAgICAjIE1ha2UgZWFjaCBCeVJlZiBw
YXJhbWV0ZXIgYW4gT3V0IHBhcmFtZXRlcg0KICAgICAgICAgICAgJGkgPSAxDQog
ICAgICAgICAgICBmb3JlYWNoKCRQYXJhbWV0ZXIgaW4gJFBhcmFtZXRlclR5cGVz
KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGlmICgkUGFyYW1ldGVy
LklzQnlSZWYpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg
ICBbdm9pZF0gJE1ldGhvZC5EZWZpbmVQYXJhbWV0ZXIoJGksICdPdXQnLCAkbnVs
bCkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAkaSsrDQog
ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICREbGxJbXBvcnQgPSBbUnVudGlt
ZS5JbnRlcm9wU2VydmljZXMuRGxsSW1wb3J0QXR0cmlidXRlXQ0KICAgICAgICAg
ICAgJFNldExhc3RFcnJvckZpZWxkID0gJERsbEltcG9ydC5HZXRGaWVsZCgnU2V0
TGFzdEVycm9yJykNCiAgICAgICAgICAgICRDYWxsaW5nQ29udmVudGlvbkZpZWxk
ID0gJERsbEltcG9ydC5HZXRGaWVsZCgnQ2FsbGluZ0NvbnZlbnRpb24nKQ0KICAg
ICAgICAgICAgJENoYXJzZXRGaWVsZCA9ICREbGxJbXBvcnQuR2V0RmllbGQoJ0No
YXJTZXQnKQ0KICAgICAgICAgICAgJEVudHJ5UG9pbnRGaWVsZCA9ICREbGxJbXBv
cnQuR2V0RmllbGQoJ0VudHJ5UG9pbnQnKQ0KICAgICAgICAgICAgaWYgKCRTZXRM
YXN0RXJyb3IpIHsgJFNMRVZhbHVlID0gJFRydWUgfSBlbHNlIHsgJFNMRVZhbHVl
ID0gJEZhbHNlIH0NCg0KICAgICAgICAgICAgaWYgKCRQU0JvdW5kUGFyYW1ldGVy
c1snRW50cnlQb2ludCddKSB7ICRFeHBvcnRlZEZ1bmNOYW1lID0gJEVudHJ5UG9p
bnQgfSBlbHNlIHsgJEV4cG9ydGVkRnVuY05hbWUgPSAkRnVuY3Rpb25OYW1lIH0N
Cg0KICAgICAgICAgICAgIyBFcXVpdmFsZW50IHRvIEMjIHZlcnNpb24gb2YgW0Rs
bEltcG9ydChEbGxOYW1lKV0NCiAgICAgICAgICAgICRDb25zdHJ1Y3RvciA9IFtS
dW50aW1lLkludGVyb3BTZXJ2aWNlcy5EbGxJbXBvcnRBdHRyaWJ1dGVdLkdldENv
bnN0cnVjdG9yKFtTdHJpbmddKQ0KICAgICAgICAgICAgJERsbEltcG9ydEF0dHJp
YnV0ZSA9IE5ldy1PYmplY3QgUmVmbGVjdGlvbi5FbWl0LkN1c3RvbUF0dHJpYnV0
ZUJ1aWxkZXIoJENvbnN0cnVjdG9yLA0KICAgICAgICAgICAgICAgICREbGxOYW1l
LCBbUmVmbGVjdGlvbi5Qcm9wZXJ0eUluZm9bXV0gQCgpLCBbT2JqZWN0W11dIEAo
KSwNCiAgICAgICAgICAgICAgICBbUmVmbGVjdGlvbi5GaWVsZEluZm9bXV0gQCgk
U2V0TGFzdEVycm9yRmllbGQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJENhbGxpbmdDb252ZW50aW9uRmllbGQsDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJENoYXJzZXRGaWVs
ZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
RW50cnlQb2ludEZpZWxkKSwNCiAgICAgICAgICAgICAgICBbT2JqZWN0W11dIEAo
JFNMRVZhbHVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoW1J1bnRp
bWUuSW50ZXJvcFNlcnZpY2VzLkNhbGxpbmdDb252ZW50aW9uXSAkTmF0aXZlQ2Fs
bGluZ0NvbnZlbnRpb24pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
W1J1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkNoYXJTZXRdICRDaGFyc2V0KSwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJEV4cG9ydGVkRnVuY05hbWUpKQ0K
DQogICAgICAgICAgICAkTWV0aG9kLlNldEN1c3RvbUF0dHJpYnV0ZSgkRGxsSW1w
b3J0QXR0cmlidXRlKQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgRU5EDQogICAg
ew0KICAgICAgICBpZiAoJE1vZHVsZSAtaXMgW1JlZmxlY3Rpb24uQXNzZW1ibHld
KQ0KICAgICAgICB7DQogICAgICAgICAgICByZXR1cm4gJFR5cGVIYXNoDQogICAg
ICAgIH0NCg0KICAgICAgICAkUmV0dXJuVHlwZXMgPSBAe30NCg0KICAgICAgICBm
b3JlYWNoICgkS2V5IGluICRUeXBlSGFzaC5LZXlzKQ0KICAgICAgICB7DQogICAg
ICAgICAgICAkVHlwZSA9ICRUeXBlSGFzaFskS2V5XS5DcmVhdGVUeXBlKCkNCg0K
ICAgICAgICAgICAgJFJldHVyblR5cGVzWyRLZXldID0gJFR5cGUNCiAgICAgICAg
fQ0KDQogICAgICAgIHJldHVybiAkUmV0dXJuVHlwZXMNCiAgICB9DQp9DQoNCg0K
ZnVuY3Rpb24gcHNlbnVtDQp7DQo8Iw0KLlNZTk9QU0lTDQoNCkNyZWF0ZXMgYW4g
aW4tbWVtb3J5IGVudW1lcmF0aW9uIGZvciB1c2UgaW4geW91ciBQb3dlclNoZWxs
IHNlc3Npb24uDQoNCkF1dGhvcjogTWF0dGhldyBHcmFlYmVyIChAbWF0dGlmZXN0
YXRpb24pDQpMaWNlbnNlOiBCU0QgMy1DbGF1c2UNClJlcXVpcmVkIERlcGVuZGVu
Y2llczogTm9uZQ0KT3B0aW9uYWwgRGVwZW5kZW5jaWVzOiBOb25lDQoNCi5ERVND
UklQVElPTg0KDQpUaGUgJ3BzZW51bScgZnVuY3Rpb24gZmFjaWxpdGF0ZXMgdGhl
IGNyZWF0aW9uIG9mIGVudW1zIGVudGlyZWx5IGluDQptZW1vcnkgdXNpbmcgYXMg
Y2xvc2UgdG8gYSAiQyBzdHlsZSIgYXMgUG93ZXJTaGVsbCB3aWxsIGFsbG93Lg0K
DQouUEFSQU1FVEVSIE1vZHVsZQ0KDQpUaGUgaW4tbWVtb3J5IG1vZHVsZSB0aGF0
IHdpbGwgaG9zdCB0aGUgZW51bS4gVXNlDQpOZXctSW5NZW1vcnlNb2R1bGUgdG8g
ZGVmaW5lIGFuIGluLW1lbW9yeSBtb2R1bGUuDQoNCi5QQVJBTUVURVIgRnVsbE5h
bWUNCg0KVGhlIGZ1bGx5LXF1YWxpZmllZCBuYW1lIG9mIHRoZSBlbnVtLg0KDQou
UEFSQU1FVEVSIFR5cGUNCg0KVGhlIHR5cGUgb2YgZWFjaCBlbnVtIGVsZW1lbnQu
DQoNCi5QQVJBTUVURVIgRW51bUVsZW1lbnRzDQoNCkEgaGFzaHRhYmxlIG9mIGVu
dW0gZWxlbWVudHMuDQoNCi5QQVJBTUVURVIgQml0ZmllbGQNCg0KU3BlY2lmaWVz
IHRoYXQgdGhlIGVudW0gc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYSBiaXRmaWVsZC4N
Cg0KLkVYQU1QTEUNCg0KJE1vZCA9IE5ldy1Jbk1lbW9yeU1vZHVsZSAtTW9kdWxl
TmFtZSBXaW4zMg0KDQokSW1hZ2VTdWJzeXN0ZW0gPSBwc2VudW0gJE1vZCBQRS5J
TUFHRV9TVUJTWVNURU0gVUludDE2IEB7DQogICAgVU5LTk9XTiA9ICAgICAgICAg
ICAgICAgICAgMA0KICAgIE5BVElWRSA9ICAgICAgICAgICAgICAgICAgIDEgIyBJ
bWFnZSBkb2Vzbid0IHJlcXVpcmUgYSBzdWJzeXN0ZW0uDQogICAgV0lORE9XU19H
VUkgPSAgICAgICAgICAgICAgMiAjIEltYWdlIHJ1bnMgaW4gdGhlIFdpbmRvd3Mg
R1VJIHN1YnN5c3RlbS4NCiAgICBXSU5ET1dTX0NVSSA9ICAgICAgICAgICAgICAz
ICMgSW1hZ2UgcnVucyBpbiB0aGUgV2luZG93cyBjaGFyYWN0ZXIgc3Vic3lzdGVt
Lg0KICAgIE9TMl9DVUkgPSAgICAgICAgICAgICAgICAgIDUgIyBJbWFnZSBydW5z
IGluIHRoZSBPUy8yIGNoYXJhY3RlciBzdWJzeXN0ZW0uDQogICAgUE9TSVhfQ1VJ
ID0gICAgICAgICAgICAgICAgNyAjIEltYWdlIHJ1bnMgaW4gdGhlIFBvc2l4IGNo
YXJhY3RlciBzdWJzeXN0ZW0uDQogICAgTkFUSVZFX1dJTkRPV1MgPSAgICAgICAg
ICAgOCAjIEltYWdlIGlzIGEgbmF0aXZlIFdpbjl4IGRyaXZlci4NCiAgICBXSU5E
T1dTX0NFX0dVSSA9ICAgICAgICAgICA5ICMgSW1hZ2UgcnVucyBpbiB0aGUgV2lu
ZG93cyBDRSBzdWJzeXN0ZW0uDQogICAgRUZJX0FQUExJQ0FUSU9OID0gICAgICAg
ICAgMTANCiAgICBFRklfQk9PVF9TRVJWSUNFX0RSSVZFUiA9ICAxMQ0KICAgIEVG
SV9SVU5USU1FX0RSSVZFUiA9ICAgICAgIDEyDQogICAgRUZJX1JPTSA9ICAgICAg
ICAgICAgICAgICAgMTMNCiAgICBYQk9YID0gICAgICAgICAgICAgICAgICAgICAx
NA0KICAgIFdJTkRPV1NfQk9PVF9BUFBMSUNBVElPTiA9IDE2DQp9DQoNCi5OT1RF
Uw0KDQpQb3dlclNoZWxsIHB1cmlzdHMgbWF5IGRpc2FncmVlIHdpdGggdGhlIG5h
bWluZyBvZiB0aGlzIGZ1bmN0aW9uIGJ1dA0KYWdhaW4sIHRoaXMgd2FzIGRldmVs
b3BlZCBpbiBzdWNoIGEgd2F5IHNvIGFzIHRvIGVtdWxhdGUgYSAiQyBzdHlsZSIN
CmRlZmluaXRpb24gYXMgY2xvc2VseSBhcyBwb3NzaWJsZS4gU29ycnksIEknbSBu
b3QgZ29pbmcgdG8gbmFtZSBpdA0KTmV3LUVudW0uIDpQDQojPg0KDQogICAgW091
dHB1dFR5cGUoW1R5cGVdKV0NCiAgICBQYXJhbQ0KICAgICgNCiAgICAgICAgW1Bh
cmFtZXRlcihQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeT0kVHJ1ZSldDQogICAgICAg
IFtWYWxpZGF0ZVNjcmlwdCh7KCRfIC1pcyBbUmVmbGVjdGlvbi5FbWl0Lk1vZHVs
ZUJ1aWxkZXJdKSAtb3IgKCRfIC1pcyBbUmVmbGVjdGlvbi5Bc3NlbWJseV0pfSld
DQogICAgICAgICRNb2R1bGUsDQoNCiAgICAgICAgW1BhcmFtZXRlcihQb3NpdGlv
biA9IDEsIE1hbmRhdG9yeT0kVHJ1ZSldDQogICAgICAgIFtWYWxpZGF0ZU5vdE51
bGxPckVtcHR5KCldDQogICAgICAgIFtTdHJpbmddDQogICAgICAgICRGdWxsTmFt
ZSwNCg0KICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5
PSRUcnVlKV0NCiAgICAgICAgW1R5cGVdDQogICAgICAgICRUeXBlLA0KDQogICAg
ICAgIFtQYXJhbWV0ZXIoUG9zaXRpb24gPSAzLCBNYW5kYXRvcnk9JFRydWUpXQ0K
ICAgICAgICBbVmFsaWRhdGVOb3ROdWxsT3JFbXB0eSgpXQ0KICAgICAgICBbSGFz
aHRhYmxlXQ0KICAgICAgICAkRW51bUVsZW1lbnRzLA0KDQogICAgICAgIFtTd2l0
Y2hdDQogICAgICAgICRCaXRmaWVsZA0KICAgICkNCg0KICAgIGlmICgkTW9kdWxl
IC1pcyBbUmVmbGVjdGlvbi5Bc3NlbWJseV0pDQogICAgew0KICAgICAgICByZXR1
cm4gKCRNb2R1bGUuR2V0VHlwZSgkRnVsbE5hbWUpKQ0KICAgIH0NCg0KICAgICRF
bnVtVHlwZSA9ICRUeXBlIC1hcyBbVHlwZV0NCg0KICAgICRFbnVtQnVpbGRlciA9
ICRNb2R1bGUuRGVmaW5lRW51bSgkRnVsbE5hbWUsICdQdWJsaWMnLCAkRW51bVR5
cGUpDQoNCiAgICBpZiAoJEJpdGZpZWxkKQ0KICAgIHsNCiAgICAgICAgJEZsYWdz
Q29uc3RydWN0b3IgPSBbRmxhZ3NBdHRyaWJ1dGVdLkdldENvbnN0cnVjdG9yKEAo
KSkNCiAgICAgICAgJEZsYWdzQ3VzdG9tQXR0cmlidXRlID0gTmV3LU9iamVjdCBS
ZWZsZWN0aW9uLkVtaXQuQ3VzdG9tQXR0cmlidXRlQnVpbGRlcigkRmxhZ3NDb25z
dHJ1Y3RvciwgQCgpKQ0KICAgICAgICAkRW51bUJ1aWxkZXIuU2V0Q3VzdG9tQXR0
cmlidXRlKCRGbGFnc0N1c3RvbUF0dHJpYnV0ZSkNCiAgICB9DQoNCiAgICBmb3Jl
YWNoICgkS2V5IGluICRFbnVtRWxlbWVudHMuS2V5cykNCiAgICB7DQogICAgICAg
ICMgQXBwbHkgdGhlIHNwZWNpZmllZCBlbnVtIHR5cGUgdG8gZWFjaCBlbGVtZW50
DQogICAgICAgICRudWxsID0gJEVudW1CdWlsZGVyLkRlZmluZUxpdGVyYWwoJEtl
eSwgJEVudW1FbGVtZW50c1skS2V5XSAtYXMgJEVudW1UeXBlKQ0KICAgIH0NCg0K
ICAgICRFbnVtQnVpbGRlci5DcmVhdGVUeXBlKCkNCn0NCg0KDQojIEEgaGVscGVy
IGZ1bmN0aW9uIHVzZWQgdG8gcmVkdWNlIHR5cGluZyB3aGlsZSBkZWZpbmluZyBz
dHJ1Y3QNCiMgZmllbGRzLg0KZnVuY3Rpb24gZmllbGQNCnsNCiAgICBQYXJhbQ0K
ICAgICgNCiAgICAgICAgW1BhcmFtZXRlcihQb3NpdGlvbiA9IDAsIE1hbmRhdG9y
eT0kVHJ1ZSldDQogICAgICAgIFtVSW50MTZdDQogICAgICAgICRQb3NpdGlvbiwN
Cg0KICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5PSRU
cnVlKV0NCiAgICAgICAgW1R5cGVdDQogICAgICAgICRUeXBlLA0KDQogICAgICAg
IFtQYXJhbWV0ZXIoUG9zaXRpb24gPSAyKV0NCiAgICAgICAgW1VJbnQxNl0NCiAg
ICAgICAgJE9mZnNldCwNCg0KICAgICAgICBbT2JqZWN0W11dDQogICAgICAgICRN
YXJzaGFsQXMNCiAgICApDQoNCiAgICBAew0KICAgICAgICBQb3NpdGlvbiA9ICRQ
b3NpdGlvbg0KICAgICAgICBUeXBlID0gJFR5cGUgLWFzIFtUeXBlXQ0KICAgICAg
ICBPZmZzZXQgPSAkT2Zmc2V0DQogICAgICAgIE1hcnNoYWxBcyA9ICRNYXJzaGFs
QXMNCiAgICB9DQp9DQoNCg0KZnVuY3Rpb24gc3RydWN0DQp7DQo8Iw0KLlNZTk9Q
U0lTDQoNCkNyZWF0ZXMgYW4gaW4tbWVtb3J5IHN0cnVjdCBmb3IgdXNlIGluIHlv
dXIgUG93ZXJTaGVsbCBzZXNzaW9uLg0KDQpBdXRob3I6IE1hdHRoZXcgR3JhZWJl
ciAoQG1hdHRpZmVzdGF0aW9uKQ0KTGljZW5zZTogQlNEIDMtQ2xhdXNlDQpSZXF1
aXJlZCBEZXBlbmRlbmNpZXM6IE5vbmUNCk9wdGlvbmFsIERlcGVuZGVuY2llczog
ZmllbGQNCg0KLkRFU0NSSVBUSU9ODQoNClRoZSAnc3RydWN0JyBmdW5jdGlvbiBm
YWNpbGl0YXRlcyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0cyBlbnRpcmVseSBpbg0K
bWVtb3J5IHVzaW5nIGFzIGNsb3NlIHRvIGEgIkMgc3R5bGUiIGFzIFBvd2VyU2hl
bGwgd2lsbCBhbGxvdy4gU3RydWN0DQpmaWVsZHMgYXJlIHNwZWNpZmllZCB1c2lu
ZyBhIGhhc2h0YWJsZSB3aGVyZSBlYWNoIGZpZWxkIG9mIHRoZSBzdHJ1Y3QNCmlz
IGNvbXByb3NlZCBvZiB0aGUgb3JkZXIgaW4gd2hpY2ggaXQgc2hvdWxkIGJlIGRl
ZmluZWQsIGl0cyAuTkVUDQp0eXBlLCBhbmQgb3B0aW9uYWxseSwgaXRzIG9mZnNl
dCBhbmQgc3BlY2lhbCBtYXJzaGFsaW5nIGF0dHJpYnV0ZXMuDQoNCk9uZSBvZiB0
aGUgZmVhdHVyZXMgb2YgJ3N0cnVjdCcgaXMgdGhhdCBhZnRlciB5b3VyIHN0cnVj
dCBpcyBkZWZpbmVkLA0KaXQgd2lsbCBjb21lIHdpdGggYSBidWlsdC1pbiBHZXRT
aXplIG1ldGhvZCBhcyB3ZWxsIGFzIGFuIGV4cGxpY2l0DQpjb252ZXJ0ZXIgc28g
dGhhdCB5b3UgY2FuIGVhc2lseSBjYXN0IGFuIEludFB0ciB0byB0aGUgc3RydWN0
IHdpdGhvdXQNCnJlbHlpbmcgdXBvbiBjYWxsaW5nIFNpemVPZiBhbmQvb3IgUHRy
VG9TdHJ1Y3R1cmUgaW4gdGhlIE1hcnNoYWwNCmNsYXNzLg0KDQouUEFSQU1FVEVS
IE1vZHVsZQ0KDQpUaGUgaW4tbWVtb3J5IG1vZHVsZSB0aGF0IHdpbGwgaG9zdCB0
aGUgc3RydWN0LiBVc2UNCk5ldy1Jbk1lbW9yeU1vZHVsZSB0byBkZWZpbmUgYW4g
aW4tbWVtb3J5IG1vZHVsZS4NCg0KLlBBUkFNRVRFUiBGdWxsTmFtZQ0KDQpUaGUg
ZnVsbHktcXVhbGlmaWVkIG5hbWUgb2YgdGhlIHN0cnVjdC4NCg0KLlBBUkFNRVRF
UiBTdHJ1Y3RGaWVsZHMNCg0KQSBoYXNodGFibGUgb2YgZmllbGRzLiBVc2UgdGhl
ICdmaWVsZCcgaGVscGVyIGZ1bmN0aW9uIHRvIGVhc2UNCmRlZmluaW5nIGVhY2gg
ZmllbGQuDQoNCi5QQVJBTUVURVIgUGFja2luZ1NpemUNCg0KU3BlY2lmaWVzIHRo
ZSBtZW1vcnkgYWxpZ25tZW50IG9mIGZpZWxkcy4NCg0KLlBBUkFNRVRFUiBFeHBs
aWNpdExheW91dA0KDQpJbmRpY2F0ZXMgdGhhdCBhbiBleHBsaWNpdCBvZmZzZXQg
Zm9yIGVhY2ggZmllbGQgd2lsbCBiZSBzcGVjaWZpZWQuDQoNCi5FWEFNUExFDQoN
CiRNb2QgPSBOZXctSW5NZW1vcnlNb2R1bGUgLU1vZHVsZU5hbWUgV2luMzINCg0K
JEltYWdlRG9zU2lnbmF0dXJlID0gcHNlbnVtICRNb2QgUEUuSU1BR0VfRE9TX1NJ
R05BVFVSRSBVSW50MTYgQHsNCiAgICBET1NfU0lHTkFUVVJFID0gICAgMHg1QTRE
DQogICAgT1MyX1NJR05BVFVSRSA9ICAgIDB4NDU0RQ0KICAgIE9TMl9TSUdOQVRV
UkVfTEUgPSAweDQ1NEMNCiAgICBWWERfU0lHTkFUVVJFID0gICAgMHg0NTRDDQp9
DQoNCiRJbWFnZURvc0hlYWRlciA9IHN0cnVjdCAkTW9kIFBFLklNQUdFX0RPU19I
RUFERVIgQHsNCiAgICBlX21hZ2ljID0gICAgZmllbGQgMCAkSW1hZ2VEb3NTaWdu
YXR1cmUNCiAgICBlX2NibHAgPSAgICAgZmllbGQgMSBVSW50MTYNCiAgICBlX2Nw
ID0gICAgICAgZmllbGQgMiBVSW50MTYNCiAgICBlX2NybGMgPSAgICAgZmllbGQg
MyBVSW50MTYNCiAgICBlX2NwYXJoZHIgPSAgZmllbGQgNCBVSW50MTYNCiAgICBl
X21pbmFsbG9jID0gZmllbGQgNSBVSW50MTYNCiAgICBlX21heGFsbG9jID0gZmll
bGQgNiBVSW50MTYNCiAgICBlX3NzID0gICAgICAgZmllbGQgNyBVSW50MTYNCiAg
ICBlX3NwID0gICAgICAgZmllbGQgOCBVSW50MTYNCiAgICBlX2NzdW0gPSAgICAg
ZmllbGQgOSBVSW50MTYNCiAgICBlX2lwID0gICAgICAgZmllbGQgMTAgVUludDE2
DQogICAgZV9jcyA9ICAgICAgIGZpZWxkIDExIFVJbnQxNg0KICAgIGVfbGZhcmxj
ID0gICBmaWVsZCAxMiBVSW50MTYNCiAgICBlX292bm8gPSAgICAgZmllbGQgMTMg
VUludDE2DQogICAgZV9yZXMgPSAgICAgIGZpZWxkIDE0IFVJbnQxNltdIC1NYXJz
aGFsQXMgQCgnQnlWYWxBcnJheScsIDQpDQogICAgZV9vZW1pZCA9ICAgIGZpZWxk
IDE1IFVJbnQxNg0KICAgIGVfb2VtaW5mbyA9ICBmaWVsZCAxNiBVSW50MTYNCiAg
ICBlX3JlczIgPSAgICAgZmllbGQgMTcgVUludDE2W10gLU1hcnNoYWxBcyBAKCdC
eVZhbEFycmF5JywgMTApDQogICAgZV9sZmFuZXcgPSAgIGZpZWxkIDE4IEludDMy
DQp9DQoNCiMgRXhhbXBsZSBvZiB1c2luZyBhbiBleHBsaWNpdCBsYXlvdXQgaW4g
b3JkZXIgdG8gY3JlYXRlIGEgdW5pb24uDQokVGVzdFVuaW9uID0gc3RydWN0ICRN
b2QgVGVzdFVuaW9uIEB7DQogICAgZmllbGQxID0gZmllbGQgMCBVSW50MzIgMA0K
ICAgIGZpZWxkMiA9IGZpZWxkIDEgSW50UHRyIDANCn0gLUV4cGxpY2l0TGF5b3V0
DQoNCi5OT1RFUw0KDQpQb3dlclNoZWxsIHB1cmlzdHMgbWF5IGRpc2FncmVlIHdp
dGggdGhlIG5hbWluZyBvZiB0aGlzIGZ1bmN0aW9uIGJ1dA0KYWdhaW4sIHRoaXMg
d2FzIGRldmVsb3BlZCBpbiBzdWNoIGEgd2F5IHNvIGFzIHRvIGVtdWxhdGUgYSAi
QyBzdHlsZSINCmRlZmluaXRpb24gYXMgY2xvc2VseSBhcyBwb3NzaWJsZS4gU29y
cnksIEknbSBub3QgZ29pbmcgdG8gbmFtZSBpdA0KTmV3LVN0cnVjdC4gOlANCiM+
DQoNCiAgICBbT3V0cHV0VHlwZShbVHlwZV0pXQ0KICAgIFBhcmFtDQogICAgKA0K
ICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5PSRUcnVl
KV0NCiAgICAgICAgW1ZhbGlkYXRlU2NyaXB0KHsoJF8gLWlzIFtSZWZsZWN0aW9u
LkVtaXQuTW9kdWxlQnVpbGRlcl0pIC1vciAoJF8gLWlzIFtSZWZsZWN0aW9uLkFz
c2VtYmx5XSl9KV0NCiAgICAgICAgJE1vZHVsZSwNCg0KICAgICAgICBbUGFyYW1l
dGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5PSRUcnVlKV0NCiAgICAgICAgW1Zh
bGlkYXRlTm90TnVsbE9yRW1wdHkoKV0NCiAgICAgICAgW1N0cmluZ10NCiAgICAg
ICAgJEZ1bGxOYW1lLA0KDQogICAgICAgIFtQYXJhbWV0ZXIoUG9zaXRpb24gPSAz
LCBNYW5kYXRvcnk9JFRydWUpXQ0KICAgICAgICBbVmFsaWRhdGVOb3ROdWxsT3JF
bXB0eSgpXQ0KICAgICAgICBbSGFzaHRhYmxlXQ0KICAgICAgICAkU3RydWN0Rmll
bGRzLA0KDQogICAgICAgIFtSZWZsZWN0aW9uLkVtaXQuUGFja2luZ1NpemVdDQog
ICAgICAgICRQYWNraW5nU2l6ZSA9IFtSZWZsZWN0aW9uLkVtaXQuUGFja2luZ1Np
emVdOjpVbnNwZWNpZmllZCwNCg0KICAgICAgICBbU3dpdGNoXQ0KICAgICAgICAk
RXhwbGljaXRMYXlvdXQNCiAgICApDQoNCiAgICBpZiAoJE1vZHVsZSAtaXMgW1Jl
ZmxlY3Rpb24uQXNzZW1ibHldKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICgkTW9k
dWxlLkdldFR5cGUoJEZ1bGxOYW1lKSkNCiAgICB9DQoNCiAgICBbUmVmbGVjdGlv
bi5UeXBlQXR0cmlidXRlc10gJFN0cnVjdEF0dHJpYnV0ZXMgPSAnQW5zaUNsYXNz
LA0KICAgICAgICBDbGFzcywNCiAgICAgICAgUHVibGljLA0KICAgICAgICBTZWFs
ZWQsDQogICAgICAgIEJlZm9yZUZpZWxkSW5pdCcNCg0KICAgIGlmICgkRXhwbGlj
aXRMYXlvdXQpDQogICAgew0KICAgICAgICAkU3RydWN0QXR0cmlidXRlcyA9ICRT
dHJ1Y3RBdHRyaWJ1dGVzIC1ib3IgW1JlZmxlY3Rpb24uVHlwZUF0dHJpYnV0ZXNd
OjpFeHBsaWNpdExheW91dA0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAg
ICAkU3RydWN0QXR0cmlidXRlcyA9ICRTdHJ1Y3RBdHRyaWJ1dGVzIC1ib3IgW1Jl
ZmxlY3Rpb24uVHlwZUF0dHJpYnV0ZXNdOjpTZXF1ZW50aWFsTGF5b3V0DQogICAg
fQ0KDQogICAgJFN0cnVjdEJ1aWxkZXIgPSAkTW9kdWxlLkRlZmluZVR5cGUoJEZ1
bGxOYW1lLCAkU3RydWN0QXR0cmlidXRlcywgW1ZhbHVlVHlwZV0sICRQYWNraW5n
U2l6ZSkNCiAgICAkQ29uc3RydWN0b3JJbmZvID0gW1J1bnRpbWUuSW50ZXJvcFNl
cnZpY2VzLk1hcnNoYWxBc0F0dHJpYnV0ZV0uR2V0Q29uc3RydWN0b3JzKClbMF0N
CiAgICAkU2l6ZUNvbnN0ID0gQChbUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFy
c2hhbEFzQXR0cmlidXRlXS5HZXRGaWVsZCgnU2l6ZUNvbnN0JykpDQoNCiAgICAk
RmllbGRzID0gTmV3LU9iamVjdCBIYXNodGFibGVbXSgkU3RydWN0RmllbGRzLkNv
dW50KQ0KDQogICAgIyBTb3J0IGVhY2ggZmllbGQgYWNjb3JkaW5nIHRvIHRoZSBv
cmRlcnMgc3BlY2lmaWVkDQogICAgIyBVbmZvcnR1bmF0ZWx5LCBQU3YyIGRvZXNu
J3QgaGF2ZSB0aGUgbHV4dXJ5IG9mIHRoZQ0KICAgICMgaGFzaHRhYmxlIFtPcmRl
cmVkXSBhY2NlbGVyYXRvci4NCiAgICBmb3JlYWNoICgkRmllbGQgaW4gJFN0cnVj
dEZpZWxkcy5LZXlzKQ0KICAgIHsNCiAgICAgICAgJEluZGV4ID0gJFN0cnVjdEZp
ZWxkc1skRmllbGRdWydQb3NpdGlvbiddDQogICAgICAgICRGaWVsZHNbJEluZGV4
XSA9IEB7RmllbGROYW1lID0gJEZpZWxkOyBQcm9wZXJ0aWVzID0gJFN0cnVjdEZp
ZWxkc1skRmllbGRdfQ0KICAgIH0NCg0KICAgIGZvcmVhY2ggKCRGaWVsZCBpbiAk
RmllbGRzKQ0KICAgIHsNCiAgICAgICAgJEZpZWxkTmFtZSA9ICRGaWVsZFsnRmll
bGROYW1lJ10NCiAgICAgICAgJEZpZWxkUHJvcCA9ICRGaWVsZFsnUHJvcGVydGll
cyddDQoNCiAgICAgICAgJE9mZnNldCA9ICRGaWVsZFByb3BbJ09mZnNldCddDQog
ICAgICAgICRUeXBlID0gJEZpZWxkUHJvcFsnVHlwZSddDQogICAgICAgICRNYXJz
aGFsQXMgPSAkRmllbGRQcm9wWydNYXJzaGFsQXMnXQ0KDQogICAgICAgICROZXdG
aWVsZCA9ICRTdHJ1Y3RCdWlsZGVyLkRlZmluZUZpZWxkKCRGaWVsZE5hbWUsICRU
eXBlLCAnUHVibGljJykNCg0KICAgICAgICBpZiAoJE1hcnNoYWxBcykNCiAgICAg
ICAgew0KICAgICAgICAgICAgJFVubWFuYWdlZFR5cGUgPSAkTWFyc2hhbEFzWzBd
IC1hcyAoW1J1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLlVubWFuYWdlZFR5cGVdKQ0K
ICAgICAgICAgICAgaWYgKCRNYXJzaGFsQXNbMV0pDQogICAgICAgICAgICB7DQog
ICAgICAgICAgICAgICAgJFNpemUgPSAkTWFyc2hhbEFzWzFdDQogICAgICAgICAg
ICAgICAgJEF0dHJpYkJ1aWxkZXIgPSBOZXctT2JqZWN0IFJlZmxlY3Rpb24uRW1p
dC5DdXN0b21BdHRyaWJ1dGVCdWlsZGVyKCRDb25zdHJ1Y3RvckluZm8sDQogICAg
ICAgICAgICAgICAgICAgICRVbm1hbmFnZWRUeXBlLCAkU2l6ZUNvbnN0LCBAKCRT
aXplKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAg
ICAgIHsNCiAgICAgICAgICAgICAgICAkQXR0cmliQnVpbGRlciA9IE5ldy1PYmpl
Y3QgUmVmbGVjdGlvbi5FbWl0LkN1c3RvbUF0dHJpYnV0ZUJ1aWxkZXIoJENvbnN0
cnVjdG9ySW5mbywgW09iamVjdFtdXSBAKCRVbm1hbmFnZWRUeXBlKSkNCiAgICAg
ICAgICAgIH0NCg0KICAgICAgICAgICAgJE5ld0ZpZWxkLlNldEN1c3RvbUF0dHJp
YnV0ZSgkQXR0cmliQnVpbGRlcikNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICgk
RXhwbGljaXRMYXlvdXQpIHsgJE5ld0ZpZWxkLlNldE9mZnNldCgkT2Zmc2V0KSB9
DQogICAgfQ0KDQogICAgIyBNYWtlIHRoZSBzdHJ1Y3QgYXdhcmUgb2YgaXRzIG93
biBzaXplLg0KICAgICMgTm8gbW9yZSBoYXZpbmcgdG8gY2FsbCBbUnVudGltZS5J
bnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZiENCiAgICAkU2l6ZU1ldGhv
ZCA9ICRTdHJ1Y3RCdWlsZGVyLkRlZmluZU1ldGhvZCgnR2V0U2l6ZScsDQogICAg
ICAgICdQdWJsaWMsIFN0YXRpYycsDQogICAgICAgIFtJbnRdLA0KICAgICAgICBb
VHlwZVtdXSBAKCkpDQogICAgJElMR2VuZXJhdG9yID0gJFNpemVNZXRob2QuR2V0
SUxHZW5lcmF0b3IoKQ0KICAgICMgVGhhbmtzIGZvciB0aGUgaGVscCwgSmFzb24g
U2hpcmshDQogICAgJElMR2VuZXJhdG9yLkVtaXQoW1JlZmxlY3Rpb24uRW1pdC5P
cENvZGVzXTo6TGR0b2tlbiwgJFN0cnVjdEJ1aWxkZXIpDQogICAgJElMR2VuZXJh
dG9yLkVtaXQoW1JlZmxlY3Rpb24uRW1pdC5PcENvZGVzXTo6Q2FsbCwNCiAgICAg
ICAgW1R5cGVdLkdldE1ldGhvZCgnR2V0VHlwZUZyb21IYW5kbGUnKSkNCiAgICAk
SUxHZW5lcmF0b3IuRW1pdChbUmVmbGVjdGlvbi5FbWl0Lk9wQ29kZXNdOjpDYWxs
LA0KICAgICAgICBbUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF0uR2V0
TWV0aG9kKCdTaXplT2YnLCBbVHlwZVtdXSBAKFtUeXBlXSkpKQ0KICAgICRJTEdl
bmVyYXRvci5FbWl0KFtSZWZsZWN0aW9uLkVtaXQuT3BDb2Rlc106OlJldCkNCg0K
ICAgICMgQWxsb3cgZm9yIGV4cGxpY2l0IGNhc3RpbmcgZnJvbSBhbiBJbnRQdHIN
CiAgICAjIE5vIG1vcmUgaGF2aW5nIHRvIGNhbGwgW1J1bnRpbWUuSW50ZXJvcFNl
cnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSENCiAgICAkSW1wbGljaXRD
b252ZXJ0ZXIgPSAkU3RydWN0QnVpbGRlci5EZWZpbmVNZXRob2QoJ29wX0ltcGxp
Y2l0JywNCiAgICAgICAgJ1ByaXZhdGVTY29wZSwgUHVibGljLCBTdGF0aWMsIEhp
ZGVCeVNpZywgU3BlY2lhbE5hbWUnLA0KICAgICAgICAkU3RydWN0QnVpbGRlciwN
CiAgICAgICAgW1R5cGVbXV0gQChbSW50UHRyXSkpDQogICAgJElMR2VuZXJhdG9y
MiA9ICRJbXBsaWNpdENvbnZlcnRlci5HZXRJTEdlbmVyYXRvcigpDQogICAgJElM
R2VuZXJhdG9yMi5FbWl0KFtSZWZsZWN0aW9uLkVtaXQuT3BDb2Rlc106Ok5vcCkN
CiAgICAkSUxHZW5lcmF0b3IyLkVtaXQoW1JlZmxlY3Rpb24uRW1pdC5PcENvZGVz
XTo6TGRhcmdfMCkNCiAgICAkSUxHZW5lcmF0b3IyLkVtaXQoW1JlZmxlY3Rpb24u
RW1pdC5PcENvZGVzXTo6TGR0b2tlbiwgJFN0cnVjdEJ1aWxkZXIpDQogICAgJElM
R2VuZXJhdG9yMi5FbWl0KFtSZWZsZWN0aW9uLkVtaXQuT3BDb2Rlc106OkNhbGws
DQogICAgICAgIFtUeXBlXS5HZXRNZXRob2QoJ0dldFR5cGVGcm9tSGFuZGxlJykp
DQogICAgJElMR2VuZXJhdG9yMi5FbWl0KFtSZWZsZWN0aW9uLkVtaXQuT3BDb2Rl
c106OkNhbGwsDQogICAgICAgIFtSdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJz
aGFsXS5HZXRNZXRob2QoJ1B0clRvU3RydWN0dXJlJywgW1R5cGVbXV0gQChbSW50
UHRyXSwgW1R5cGVdKSkpDQogICAgJElMR2VuZXJhdG9yMi5FbWl0KFtSZWZsZWN0
aW9uLkVtaXQuT3BDb2Rlc106OlVuYm94X0FueSwgJFN0cnVjdEJ1aWxkZXIpDQog
ICAgJElMR2VuZXJhdG9yMi5FbWl0KFtSZWZsZWN0aW9uLkVtaXQuT3BDb2Rlc106
OlJldCkNCg0KICAgICRTdHJ1Y3RCdWlsZGVyLkNyZWF0ZVR5cGUoKQ0KfQ0KDQoN
CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjDQojDQojIFBvd2VyVXAgSGVscGVycw0KIw0KIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0K
ZnVuY3Rpb24gR2V0LU1vZGlmaWFibGVQYXRoIHsNCjwjDQogICAgLlNZTk9QU0lT
DQoNCiAgICAgICAgUGFyc2VzIGEgcGFzc2VkIHN0cmluZyBjb250YWluaW5nIG11
bHRpcGxlIHBvc3NpYmxlIGZpbGUvZm9sZGVyIHBhdGhzIGFuZCByZXR1cm5zDQog
ICAgICAgIHRoZSBmaWxlIHBhdGhzIHdoZXJlIHRoZSBjdXJyZW50IHVzZXIgaGFz
IG1vZGlmaWNhdGlvbiByaWdodHMuDQoNCiAgICAgICAgQXV0aG9yOiBAaGFybWow
eQ0KICAgICAgICBMaWNlbnNlOiBCU0QgMy1DbGF1c2UNCg0KICAgIC5ERVNDUklQ
VElPTg0KDQogICAgICAgIFRha2VzIGEgY29tcGxleCBwYXRoIHNwZWNpZmljYXRp
b24gb2YgYW4gaW5pdGlhbCBmaWxlL2ZvbGRlciBwYXRoIHdpdGggcG9zc2libGUN
CiAgICAgICAgY29uZmlndXJhdGlvbiBmaWxlcywgJ3Rva2VuaXplcycgdGhlIHN0
cmluZyBpbiBhIG51bWJlciBvZiBwb3NzaWJsZSB3YXlzLCBhbmQNCiAgICAgICAg
ZW51bWVyYXRlcyB0aGUgQUNMcyBmb3IgZWFjaCBwYXRoIHRoYXQgY3VycmVudGx5
IGV4aXN0cyBvbiB0aGUgc3lzdGVtLiBBbnkgcGF0aCB0aGF0DQogICAgICAgIHRo
ZSBjdXJyZW50IHVzZXIgaGFzIG1vZGlmaWNhdGlvbiByaWdodHMgb24gaXMgcmV0
dXJuZWQgaW4gYSBjdXN0b20gb2JqZWN0IHRoYXQgY29udGFpbnMNCiAgICAgICAg
dGhlIG1vZGlmaWFibGUgcGF0aCwgYXNzb2NpYXRlZCBwZXJtaXNzaW9uIHNldCwg
YW5kIHRoZSBJZGVudGl0eVJlZmVyZW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQNCiAg
ICAgICAgcmlnaHRzLiBUaGUgU0lEIG9mIHRoZSBjdXJyZW50IHVzZXIgYW5kIGFu
eSBncm91cCBoZS9zaGUgYXJlIGEgcGFydCBvZiBhcmUgdXNlZCBhcyB0aGUNCiAg
ICAgICAgY29tcGFyaXNvbiBzZXQgYWdhaW5zdCB0aGUgcGFyc2VkIHBhdGggREFD
THMuDQoNCiAgICAuUEFSQU1FVEVSIFBhdGgNCg0KICAgICAgICBUaGUgc3RyaW5n
IHBhdGggdG8gcGFyc2UgZm9yIG1vZGlmaWFibGUgZmlsZXMuIFJlcXVpcmVkDQoN
CiAgICAuUEFSQU1FVEVSIExpdGVyYWxQYXRocw0KDQogICAgICAgIFN3aXRjaC4g
VHJlYXQgYWxsIHBhdGhzIGFzIGxpdGVyYWwgKGkuZS4gZG9uJ3QgZG8gJ3Rva2Vu
aXphdGlvbicpLg0KDQogICAgLkVYQU1QTEUNCg0KICAgICAgICBQUyBDOlw+ICci
QzpcVGVtcFxibGFoLmV4ZSIgLWYgIkM6XFRlbXBcY29uZmlnLmluaSInIHwgR2V0
LU1vZGlmaWFibGVQYXRoDQoNCiAgICAgICAgUGF0aCAgICAgICAgICAgICAgICAg
ICAgICAgUGVybWlzc2lvbnMgICAgICAgICAgICAgICAgSWRlbnRpdHlSZWZlcmVu
Y2UNCiAgICAgICAgLS0tLSAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0t
LS0gICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgQzpc
VGVtcFxibGFoLmV4ZSAgICAgICAgICAge1JlYWRBdHRyaWJ1dGVzLCBSZWFkQ28u
Li4gTlQgQVVUSE9SSVRZXEF1dGhlbnRpYy4uLg0KICAgICAgICBDOlxUZW1wXGNv
bmZpZy5pbmkgICAgICAgICB7UmVhZEF0dHJpYnV0ZXMsIFJlYWRDby4uLiBOVCBB
VVRIT1JJVFlcQXV0aGVudGljLi4uDQoNCiAgICAuRVhBTVBMRQ0KDQogICAgICAg
IFBTIEM6XD4gR2V0LUNoaWxkSXRlbSBDOlxWdWxuXCAtUmVjdXJzZSB8IEdldC1N
b2RpZmlhYmxlUGF0aA0KDQogICAgICAgIFBhdGggICAgICAgICAgICAgICAgICAg
ICAgIFBlcm1pc3Npb25zICAgICAgICAgICAgICAgIElkZW50aXR5UmVmZXJlbmNl
DQogICAgICAgIC0tLS0gICAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0t
ICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgIEM6XFZ1
bG5cYmxhaC5iYXQgICAgICAgICAgIHtSZWFkQXR0cmlidXRlcywgUmVhZENvLi4u
IE5UIEFVVEhPUklUWVxBdXRoZW50aWMuLi4NCiAgICAgICAgQzpcVnVsblxjb25m
aWcuaW5pICAgICAgICAge1JlYWRBdHRyaWJ1dGVzLCBSZWFkQ28uLi4gTlQgQVVU
SE9SSVRZXEF1dGhlbnRpYy4uLg0KICAgICAgICAuLi4NCiM+DQoNCiAgICBbQ21k
bGV0QmluZGluZygpXQ0KICAgIFBhcmFtKA0KICAgICAgICBbUGFyYW1ldGVyKE1h
bmRhdG9yeT0kVHJ1ZSwgVmFsdWVGcm9tUGlwZWxpbmU9JFRydWUsIFZhbHVlRnJv
bVBpcGVsaW5lQnlQcm9wZXJ0eU5hbWU9JFRydWUpXQ0KICAgICAgICBbQWxpYXMo
J0Z1bGxOYW1lJyldDQogICAgICAgIFtTdHJpbmdbXV0NCiAgICAgICAgJFBhdGgs
DQoNCiAgICAgICAgW1N3aXRjaF0NCiAgICAgICAgJExpdGVyYWxQYXRocw0KICAg
ICkNCg0KICAgIEJFR0lOIHsNCiAgICAgICAgIyAjIGZhbHNlIHBvc2l0aXZlcyA/
DQogICAgICAgICMgJEV4Y2x1ZGVzID0gQCgiTXNNcEVuZy5leGUiLCAiTmlzU3J2
LmV4ZSIpDQoNCiAgICAgICAgIyBmcm9tIGh0dHA6Ly9zdGFja292ZXJmbG93LmNv
bS9xdWVzdGlvbnMvMjgwMjk4NzIvcmV0cmlldmluZy1zZWN1cml0eS1kZXNjcmlw
dG9yLWFuZC1nZXR0aW5nLW51bWJlci1mb3ItZmlsZXN5c3RlbXJpZ2h0cw0KICAg
ICAgICAkQWNjZXNzTWFzayA9IEB7DQogICAgICAgICAgICBbdWludDMyXScweDgw
MDAwMDAwJyA9ICdHZW5lcmljUmVhZCcNCiAgICAgICAgICAgIFt1aW50MzJdJzB4
NDAwMDAwMDAnID0gJ0dlbmVyaWNXcml0ZScNCiAgICAgICAgICAgIFt1aW50MzJd
JzB4MjAwMDAwMDAnID0gJ0dlbmVyaWNFeGVjdXRlJw0KICAgICAgICAgICAgW3Vp
bnQzMl0nMHgxMDAwMDAwMCcgPSAnR2VuZXJpY0FsbCcNCiAgICAgICAgICAgIFt1
aW50MzJdJzB4MDIwMDAwMDAnID0gJ01heGltdW1BbGxvd2VkJw0KICAgICAgICAg
ICAgW3VpbnQzMl0nMHgwMTAwMDAwMCcgPSAnQWNjZXNzU3lzdGVtU2VjdXJpdHkn
DQogICAgICAgICAgICBbdWludDMyXScweDAwMTAwMDAwJyA9ICdTeW5jaHJvbml6
ZScNCiAgICAgICAgICAgIFt1aW50MzJdJzB4MDAwODAwMDAnID0gJ1dyaXRlT3du
ZXInDQogICAgICAgICAgICBbdWludDMyXScweDAwMDQwMDAwJyA9ICdXcml0ZURB
QycNCiAgICAgICAgICAgIFt1aW50MzJdJzB4MDAwMjAwMDAnID0gJ1JlYWRDb250
cm9sJw0KICAgICAgICAgICAgW3VpbnQzMl0nMHgwMDAxMDAwMCcgPSAnRGVsZXRl
Jw0KICAgICAgICAgICAgW3VpbnQzMl0nMHgwMDAwMDEwMCcgPSAnV3JpdGVBdHRy
aWJ1dGVzJw0KICAgICAgICAgICAgW3VpbnQzMl0nMHgwMDAwMDA4MCcgPSAnUmVh
ZEF0dHJpYnV0ZXMnDQogICAgICAgICAgICBbdWludDMyXScweDAwMDAwMDQwJyA9
ICdEZWxldGVDaGlsZCcNCiAgICAgICAgICAgIFt1aW50MzJdJzB4MDAwMDAwMjAn
ID0gJ0V4ZWN1dGUvVHJhdmVyc2UnDQogICAgICAgICAgICBbdWludDMyXScweDAw
MDAwMDEwJyA9ICdXcml0ZUV4dGVuZGVkQXR0cmlidXRlcycNCiAgICAgICAgICAg
IFt1aW50MzJdJzB4MDAwMDAwMDgnID0gJ1JlYWRFeHRlbmRlZEF0dHJpYnV0ZXMn
DQogICAgICAgICAgICBbdWludDMyXScweDAwMDAwMDA0JyA9ICdBcHBlbmREYXRh
L0FkZFN1YmRpcmVjdG9yeScNCiAgICAgICAgICAgIFt1aW50MzJdJzB4MDAwMDAw
MDInID0gJ1dyaXRlRGF0YS9BZGRGaWxlJw0KICAgICAgICAgICAgW3VpbnQzMl0n
MHgwMDAwMDAwMScgPSAnUmVhZERhdGEvTGlzdERpcmVjdG9yeScNCiAgICAgICAg
fQ0KDQogICAgICAgICRVc2VySWRlbnRpdHkgPSBbU3lzdGVtLlNlY3VyaXR5LlBy
aW5jaXBhbC5XaW5kb3dzSWRlbnRpdHldOjpHZXRDdXJyZW50KCkNCiAgICAgICAg
JEN1cnJlbnRVc2VyU2lkcyA9ICRVc2VySWRlbnRpdHkuR3JvdXBzIHwgU2VsZWN0
LU9iamVjdCAtRXhwYW5kUHJvcGVydHkgVmFsdWUNCiAgICAgICAgJEN1cnJlbnRV
c2VyU2lkcyArPSAkVXNlcklkZW50aXR5LlVzZXIuVmFsdWUNCg0KICAgICAgICAk
VHJhbnNsYXRlZElkZW50aXR5UmVmZXJlbmNlcyA9IEB7fQ0KICAgIH0NCg0KICAg
IFBST0NFU1Mgew0KDQogICAgICAgIEZvckVhY2goJFRhcmdldFBhdGggaW4gJFBh
dGgpIHsNCg0KICAgICAgICAgICAgJENhbmRpZGF0ZVBhdGhzID0gQCgpDQoNCiAg
ICAgICAgICAgICMgcG9zc2libGUgc2VwYXJhdG9yIGNoYXJhY3RlciBjb21iaW5h
dGlvbnMNCiAgICAgICAgICAgICRTZXBhcmF0aW9uQ2hhcmFjdGVyU2V0cyA9IEAo
JyInLCAiJyIsICcgJywgImAiJyIsICciICcsICInICIsICJgIicgIikNCg0KICAg
ICAgICAgICAgaWYoJFBTQm91bmRQYXJhbWV0ZXJzWydMaXRlcmFsUGF0aHMnXSkg
ew0KDQogICAgICAgICAgICAgICAgJFRlbXBQYXRoID0gJChbU3lzdGVtLkVudmly
b25tZW50XTo6RXhwYW5kRW52aXJvbm1lbnRWYXJpYWJsZXMoJFRhcmdldFBhdGgp
KQ0KDQogICAgICAgICAgICAgICAgaWYoVGVzdC1QYXRoIC1QYXRoICRUZW1wUGF0
aCAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSkgew0KICAgICAgICAgICAg
ICAgICAgICAkQ2FuZGlkYXRlUGF0aHMgKz0gUmVzb2x2ZS1QYXRoIC1QYXRoICRU
ZW1wUGF0aCB8IFNlbGVjdC1PYmplY3QgLUV4cGFuZFByb3BlcnR5IFBhdGgNCiAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAg
ICAgICAgICAgICAgICMgaWYgdGhlIHBhdGggZG9lc24ndCBleGlzdCwgY2hlY2sg
aWYgdGhlIHBhcmVudCBmb2xkZXIgYWxsb3dzIGZvciBtb2RpZmljYXRpb24NCiAg
ICAgICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICRQYXJlbnRQYXRoID0gU3BsaXQtUGF0aCAkVGVtcFBhdGggLVBhcmVudA0KICAg
ICAgICAgICAgICAgICAgICAgICAgaWYoJFBhcmVudFBhdGggLWFuZCAoVGVzdC1Q
YXRoIC1QYXRoICRQYXJlbnRQYXRoKSkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRDYW5kaWRhdGVQYXRocyArPSBSZXNvbHZlLVBhdGggLVBhdGggJFBh
cmVudFBhdGggLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfCBTZWxlY3Qt
T2JqZWN0IC1FeHBhbmRQcm9wZXJ0eSBQYXRoDQogICAgICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
ICAgY2F0Y2ggew0KICAgICAgICAgICAgICAgICAgICAgICAgIyBiZWNhdXNlIFNw
bGl0LVBhdGggZG9lc24ndCBoYW5kbGUgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29u
dGludWUgbmljZWx5DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAg
ICAgICAgICAgICBGb3JFYWNoKCRTZXBhcmF0aW9uQ2hhcmFjdGVyU2V0IGluICRT
ZXBhcmF0aW9uQ2hhcmFjdGVyU2V0cykgew0KICAgICAgICAgICAgICAgICAgICAk
VGFyZ2V0UGF0aC5TcGxpdCgkU2VwYXJhdGlvbkNoYXJhY3RlclNldCkgfCBXaGVy
ZS1PYmplY3QgeyRfIC1hbmQgKCRfLnRyaW0oKSAtbmUgJycpfSB8IEZvckVhY2gt
T2JqZWN0IHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoKCRTZXBhcmF0
aW9uQ2hhcmFjdGVyU2V0IC1ub3RtYXRjaCAnICcpKSB7DQoNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAkVGVtcFBhdGggPSAkKFtTeXN0ZW0uRW52aXJvbm1l
bnRdOjpFeHBhbmRFbnZpcm9ubWVudFZhcmlhYmxlcygkXykpLlRyaW0oKQ0KDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFRlbXBQYXRoIC1hbmQgKCRU
ZW1wUGF0aCAtbmUgJycpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmKFRlc3QtUGF0aCAtUGF0aCAkVGVtcFBhdGggLUVycm9yQWN0aW9uIFNp
bGVudGx5Q29udGludWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICMgaWYgdGhlIHBhdGggZXhpc3RzLCByZXNvbHZlIGl0IGFuZCBhZGQg
aXQgdG8gdGhlIGNhbmRpZGF0ZSBsaXN0DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAkQ2FuZGlkYXRlUGF0aHMgKz0gUmVzb2x2ZS1QYXRoIC1Q
YXRoICRUZW1wUGF0aCB8IFNlbGVjdC1PYmplY3QgLUV4cGFuZFByb3BlcnR5IFBh
dGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIyBpZiB0aGUgcGF0aCBkb2Vzbid0IGV4aXN0
LCBjaGVjayBpZiB0aGUgcGFyZW50IGZvbGRlciBhbGxvd3MgZm9yIG1vZGlmaWNh
dGlvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkUGFyZW50
UGF0aCA9IChTcGxpdC1QYXRoIC1QYXRoICRUZW1wUGF0aCAtUGFyZW50KS5Ucmlt
KCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigk
UGFyZW50UGF0aCAtYW5kICgkUGFyZW50UGF0aCAtbmUgJycpIC1hbmQgKFRlc3Qt
UGF0aCAtUGF0aCAkUGFyZW50UGF0aCApKSB7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRDYW5kaWRhdGVQYXRocyArPSBSZXNv
bHZlLVBhdGggLVBhdGggJFBhcmVudFBhdGggfCBTZWxlY3QtT2JqZWN0IC1FeHBh
bmRQcm9wZXJ0eSBQYXRoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2ggew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgdHJhcCBi
ZWNhdXNlIFNwbGl0LVBhdGggZG9lc24ndCBoYW5kbGUgLUVycm9yQWN0aW9uIFNp
bGVudGx5Q29udGludWUgbmljZWx5DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIGlmIHRoZSBzZXBhcmF0b3IgY29udGFp
bnMgYSBzcGFjZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRDYW5kaWRh
dGVQYXRocyArPSBSZXNvbHZlLVBhdGggLVBhdGggJChbU3lzdGVtLkVudmlyb25t
ZW50XTo6RXhwYW5kRW52aXJvbm1lbnRWYXJpYWJsZXMoJF8pKSAtRXJyb3JBY3Rp
b24gU2lsZW50bHlDb250aW51ZSB8IFNlbGVjdC1PYmplY3QgLUV4cGFuZFByb3Bl
cnR5IFBhdGggfCBGb3JFYWNoLU9iamVjdCB7JF8uVHJpbSgpfSB8IFdoZXJlLU9i
amVjdCB7KCRfIC1uZSAnJykgLWFuZCAoVGVzdC1QYXRoIC1QYXRoICRfKX0NCiAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg
JENhbmRpZGF0ZVBhdGhzIHwgU29ydC1PYmplY3QgLVVuaXF1ZSB8IEZvckVhY2gt
T2JqZWN0IHsNCiAgICAgICAgICAgICAgICAkQ2FuZGlkYXRlUGF0aCA9ICRfDQog
ICAgICAgICAgICAgICAgR2V0LUFjbCAtUGF0aCAkQ2FuZGlkYXRlUGF0aCB8IFNl
bGVjdC1PYmplY3QgLUV4cGFuZFByb3BlcnR5IEFjY2VzcyB8IFdoZXJlLU9iamVj
dCB7KCRfLkFjY2Vzc0NvbnRyb2xUeXBlIC1tYXRjaCAnQWxsb3cnKX0gfCBGb3JF
YWNoLU9iamVjdCB7DQoNCiAgICAgICAgICAgICAgICAgICAgJEZpbGVTeXN0ZW1S
aWdodHMgPSAkXy5GaWxlU3lzdGVtUmlnaHRzLnZhbHVlX18NCg0KICAgICAgICAg
ICAgICAgICAgICAkUGVybWlzc2lvbnMgPSAkQWNjZXNzTWFzay5LZXlzIHwgV2hl
cmUtT2JqZWN0IHsgJEZpbGVTeXN0ZW1SaWdodHMgLWJhbmQgJF8gfSB8IEZvckVh
Y2gtT2JqZWN0IHsgJGFjY2Vzc01hc2tbJF9dIH0NCg0KICAgICAgICAgICAgICAg
ICAgICAjIHRoZSBzZXQgb2YgcGVybWlzc2lvbiB0eXBlcyB0aGF0IGFsbG93IGZv
ciBtb2RpZmljYXRpb24NCiAgICAgICAgICAgICAgICAgICAgJENvbXBhcmlzb24g
PSBDb21wYXJlLU9iamVjdCAtUmVmZXJlbmNlT2JqZWN0ICRQZXJtaXNzaW9ucyAt
RGlmZmVyZW5jZU9iamVjdCBAKCdHZW5lcmljV3JpdGUnLCAnR2VuZXJpY0FsbCcs
ICdNYXhpbXVtQWxsb3dlZCcsICdXcml0ZU93bmVyJywgJ1dyaXRlREFDJywgJ1dy
aXRlRGF0YS9BZGRGaWxlJywgJ0FwcGVuZERhdGEvQWRkU3ViZGlyZWN0b3J5Jykg
LUluY2x1ZGVFcXVhbCAtRXhjbHVkZURpZmZlcmVudA0KDQogICAgICAgICAgICAg
ICAgICAgIGlmKCRDb21wYXJpc29uKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoJF8uSWRlbnRpdHlSZWZlcmVuY2UgLW5vdG1hdGNoICdeUy0xLTUuKicp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigtbm90ICgkVHJhbnNs
YXRlZElkZW50aXR5UmVmZXJlbmNlc1skXy5JZGVudGl0eVJlZmVyZW5jZV0pKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgdHJhbnNsYXRlIHRo
ZSBJZGVudGl0eVJlZmVyZW5jZSBpZiBpdCdzIGEgdXNlcm5hbWUgYW5kIG5vdCBh
IFNJRA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkSWRlbnRpdHlV
c2VyID0gTmV3LU9iamVjdCBTeXN0ZW0uU2VjdXJpdHkuUHJpbmNpcGFsLk5UQWNj
b3VudCgkXy5JZGVudGl0eVJlZmVyZW5jZSkNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJFRyYW5zbGF0ZWRJZGVudGl0eVJlZmVyZW5jZXNbJF8uSWRl
bnRpdHlSZWZlcmVuY2VdID0gJElkZW50aXR5VXNlci5UcmFuc2xhdGUoW1N5c3Rl
bS5TZWN1cml0eS5QcmluY2lwYWwuU2VjdXJpdHlJZGVudGlmaWVyXSkgfCBTZWxl
Y3QtT2JqZWN0IC1FeHBhbmRQcm9wZXJ0eSBWYWx1ZQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkSWRl
bnRpdHlTSUQgPSAkVHJhbnNsYXRlZElkZW50aXR5UmVmZXJlbmNlc1skXy5JZGVu
dGl0eVJlZmVyZW5jZV0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRJZGVudGl0eVNJRCA9ICRfLklkZW50aXR5UmVmZXJlbmNlDQogICAg
ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAg
IGlmKCRDdXJyZW50VXNlclNpZHMgLWNvbnRhaW5zICRJZGVudGl0eVNJRCkgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldy1PYmplY3QgLVR5cGVOYW1l
IFBTT2JqZWN0IC1Qcm9wZXJ0eSBAew0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBNb2RpZmlhYmxlUGF0aCA9ICRDYW5kaWRhdGVQYXRoDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIElkZW50aXR5UmVmZXJlbmNlID0gJF8u
SWRlbnRpdHlSZWZlcmVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUGVybWlzc2lvbnMgPSAkUGVybWlzc2lvbnMNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9
DQogICAgICAgIH0NCiAgICB9DQp9DQoNCg0KZnVuY3Rpb24gR2V0LUN1cnJlbnRV
c2VyVG9rZW5Hcm91cFNpZCB7DQo8Iw0KICAgIC5TWU5PUFNJUw0KDQogICAgICAg
IFJldHVybnMgYWxsIFNJRHMgdGhhdCB0aGUgY3VycmVudCB1c2VyIGlzIGEgcGFy
dCBvZiwgd2hldGhlciB0aGV5IGFyZSBkaXNhYmxlZCBvciBub3QuDQoNCiAgICAg
ICAgQXV0aG9yOiBAaGFybWoweQ0KICAgICAgICBMaWNlbnNlOiBCU0QgMy1DbGF1
c2UNCg0KICAgIC5ERVNDUklQVElPTg0KDQogICAgICAgIEZpcnN0IGdldHMgdGhl
IGN1cnJlbnQgcHJvY2VzcyBoYW5kbGUgdXNpbmcgdGhlIEdldEN1cnJlbnRQcm9j
ZXNzKCkgV2luMzIgQVBJIGNhbGwgYW5kIGZlZWRzDQogICAgICAgIHRoaXMgdG8g
T3BlblByb2Nlc3NUb2tlbigpIHRvIG9wZW4gdXAgYSBoYW5kbGUgdG8gdGhlIGN1
cnJlbnQgcHJvY2VzcyB0b2tlbi4gVGhlIEFQSSBjYWxsDQogICAgICAgIEdldFRv
a2VuSW5mb3JtYXRpb24oKSBpcyB0aGVuIHVzZWQgdG8gZW51bWVyYXRlIHRoZSBU
T0tFTl9HUk9VUFMgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MNCiAgICAgICAgdG9r
ZW4uIEVhY2ggZ3JvdXAgaXMgaXRlcmF0ZWQgdGhyb3VnaCBhbmQgdGhlIFNJRCBz
dHJ1Y3R1cmUgaXMgY29udmVydGVkIHRvIGEgcmVhZGFibGUNCiAgICAgICAgc3Ry
aW5nIHVzaW5nIENvbnZlcnRTaWRUb1N0cmluZ1NpZCgpLCBhbmQgdGhlIHVuaXF1
ZSBsaXN0IG9mIFNJRHMgdGhlIHVzZXIgaXMgYSBwYXJ0IG9mDQogICAgICAgIChk
aXNhYmxlZCBvciBub3QpIGlzIHJldHVybmVkIGFzIGEgc3RyaW5nIGFycmF5Lg0K
DQogICAgLkxJTksNCg0KICAgICAgICBodHRwczovL21zZG4ubWljcm9zb2Z0LmNv
bS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9hYTQ0NjY3MSh2PXZzLjg1
KS5hc3B4DQogICAgICAgIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVz
L2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL2FhMzc5NjI0KHY9dnMuODUpLmFzcHgN
CiAgICAgICAgaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFy
eS93aW5kb3dzL2Rlc2t0b3AvYWEzNzk1NTQodj12cy44NSkuYXNweA0KIz4NCg0K
ICAgIFtDbWRsZXRCaW5kaW5nKCldDQogICAgUGFyYW0oKQ0KDQogICAgJEN1cnJl
bnRQcm9jZXNzID0gJEtlcm5lbDMyOjpHZXRDdXJyZW50UHJvY2VzcygpDQoNCiAg
ICAkVE9LRU5fUVVFUlk9IDB4MDAwOA0KDQogICAgIyBvcGVuIHVwIGEgcHNldWRv
IGhhbmRsZSB0byB0aGUgY3VycmVudCBwcm9jZXNzLSBkb24ndCBuZWVkIHRvIHdv
cnJ5IGFib3V0IGNsb3NpbmcNCiAgICBbSW50UHRyXSRoUHJvY1Rva2VuID0gW0lu
dFB0cl06Olplcm8NCiAgICAkU3VjY2VzcyA9ICRBZHZhcGkzMjo6T3BlblByb2Nl
c3NUb2tlbigkQ3VycmVudFByb2Nlc3MsICRUT0tFTl9RVUVSWSwgW3JlZl0kaFBy
b2NUb2tlbik7JExhc3RFcnJvciA9IFtSdW50aW1lLkludGVyb3BTZXJ2aWNlcy5N
YXJzaGFsXTo6R2V0TGFzdFdpbjMyRXJyb3IoKQ0KDQogICAgaWYoJFN1Y2Nlc3Mp
IHsNCiAgICAgICAgJFRva2VuR3JvdXBzUHRyU2l6ZSA9IDANCiAgICAgICAgIyBJ
bml0aWFsIHF1ZXJ5IHRvIGRldGVybWluZSB0aGUgbmVjZXNzYXJ5IGJ1ZmZlciBz
aXplDQogICAgICAgICRTdWNjZXNzID0gJEFkdmFwaTMyOjpHZXRUb2tlbkluZm9y
bWF0aW9uKCRoUHJvY1Rva2VuLCAyLCAwLCAkVG9rZW5Hcm91cHNQdHJTaXplLCBb
cmVmXSRUb2tlbkdyb3Vwc1B0clNpemUpDQoNCiAgICAgICAgW0ludFB0cl0kVG9r
ZW5Hcm91cHNQdHIgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1h
cnNoYWxdOjpBbGxvY0hHbG9iYWwoJFRva2VuR3JvdXBzUHRyU2l6ZSkNCg0KICAg
ICAgICAjIHF1ZXJ5IHRoZSBjdXJyZW50IHByb2Nlc3MgdG9rZW4gd2l0aCB0aGUg
J1Rva2VuR3JvdXBzPTInIFRPS0VOX0lORk9STUFUSU9OX0NMQVNTIGVudW0gdG8g
cmV0cmlldmUgYSBUT0tFTl9HUk9VUFMgc3RydWN0dXJlDQogICAgICAgICRTdWNj
ZXNzID0gJEFkdmFwaTMyOjpHZXRUb2tlbkluZm9ybWF0aW9uKCRoUHJvY1Rva2Vu
LCAyLCAkVG9rZW5Hcm91cHNQdHIsICRUb2tlbkdyb3Vwc1B0clNpemUsIFtyZWZd
JFRva2VuR3JvdXBzUHRyU2l6ZSk7JExhc3RFcnJvciA9IFtSdW50aW1lLkludGVy
b3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0TGFzdFdpbjMyRXJyb3IoKQ0KDQogICAg
ICAgIGlmKCRTdWNjZXNzKSB7DQoNCiAgICAgICAgICAgICRUb2tlbkdyb3VwcyA9
ICRUb2tlbkdyb3Vwc1B0ciAtYXMgJFRPS0VOX0dST1VQUw0KDQogICAgICAgICAg
ICBGb3IgKCRpPTA7ICRpIC1sdCAkVG9rZW5Hcm91cHMuR3JvdXBDb3VudDsgJGkr
Kykgew0KICAgICAgICAgICAgICAgICMgY29udmVydCBlYWNoIHRva2VuIGdyb3Vw
IFNJRCB0byBhIGRpc3BsYXlhYmxlIHN0cmluZw0KICAgICAgICAgICAgICAgICRT
aWRTdHJpbmcgPSAnJw0KICAgICAgICAgICAgICAgICRSZXN1bHQgPSAkQWR2YXBp
MzI6OkNvbnZlcnRTaWRUb1N0cmluZ1NpZCgkVG9rZW5Hcm91cHMuR3JvdXBzWyRp
XS5TSUQsIFtyZWZdJFNpZFN0cmluZyk7JExhc3RFcnJvciA9IFtSdW50aW1lLklu
dGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0TGFzdFdpbjMyRXJyb3IoKQ0KICAg
ICAgICAgICAgICAgIGlmKCRSZXN1bHQgLWVxIDApIHsNCiAgICAgICAgICAgICAg
ICAgICAgV3JpdGUtVmVyYm9zZSAiRXJyb3I6ICQoKFtDb21wb25lbnRNb2RlbC5X
aW4zMkV4Y2VwdGlvbl0gJExhc3RFcnJvcikuTWVzc2FnZSkiDQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAg
ICAgICAkR3JvdXBTaWQgPSBOZXctT2JqZWN0IFBTT2JqZWN0DQogICAgICAgICAg
ICAgICAgICAgICRHcm91cFNpZCB8IEFkZC1NZW1iZXIgTm90ZXByb3BlcnR5ICdT
SUQnICRTaWRTdHJpbmcNCiAgICAgICAgICAgICAgICAgICAgIyBjYXN0IHRoZSBh
dHR0cmlidXRlcyBmaWVsZCBhcyBvdXIgU2lkQXR0cmlidXRlcyBlbnVtDQogICAg
ICAgICAgICAgICAgICAgICRHcm91cFNpZCB8IEFkZC1NZW1iZXIgTm90ZXByb3Bl
cnR5ICdBdHRyaWJ1dGVzJyAoJFRva2VuR3JvdXBzLkdyb3Vwc1skaV0uQXR0cmli
dXRlcyAtYXMgJFNpZEF0dHJpYnV0ZXMpDQogICAgICAgICAgICAgICAgICAgICRH
cm91cFNpZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAg
ICAgfQ0KICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgIFdyaXRlLVdhcm5pbmcg
KFtDb21wb25lbnRNb2RlbC5XaW4zMkV4Y2VwdGlvbl0gJExhc3RFcnJvcikNCiAg
ICAgICAgfQ0KICAgICAgICBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2Vz
Lk1hcnNoYWxdOjpGcmVlSEdsb2JhbCgkVG9rZW5Hcm91cHNQdHIpDQogICAgfQ0K
ICAgIGVsc2Ugew0KICAgICAgICBXcml0ZS1XYXJuaW5nIChbQ29tcG9uZW50TW9k
ZWwuV2luMzJFeGNlcHRpb25dICRMYXN0RXJyb3IpDQogICAgfQ0KfQ0KDQoNCmZ1
bmN0aW9uIEFkZC1TZXJ2aWNlRGFjbCB7DQo8Iw0KICAgIC5TWU5PUFNJUw0KDQog
ICAgICAgIEFkZHMgYSBEYWNsIGZpZWxkIHRvIGEgc2VydmljZSBvYmplY3QgcmV0
dXJuZWQgYnkgR2V0LVNlcnZpY2UuDQoNCiAgICAgICAgQXV0aG9yOiBNYXR0aGV3
IEdyYWViZXIgKEBtYXR0aWZlc3RhdGlvbikNCiAgICAgICAgTGljZW5zZTogQlNE
IDMtQ2xhdXNlDQoNCiAgICAuREVTQ1JJUFRJT04NCg0KICAgICAgICBUYWtlcyBv
bmUgb3IgbW9yZSBTZXJ2aWNlUHJvY2Vzcy5TZXJ2aWNlQ29udHJvbGxlciBvYmpl
Y3RzIG9uIHRoZSBwaXBlbGluZSBhbmQgYWRkcyBhDQogICAgICAgIERhY2wgZmll
bGQgdG8gZWFjaCBvYmplY3QuIEl0IGRvZXMgdGhpcyBieSBvcGVuaW5nIGEgaGFu
ZGxlIHdpdGggUmVhZENvbnRyb2wgZm9yIHRoZQ0KICAgICAgICBzZXJ2aWNlIHdp
dGggdXNpbmcgdGhlIEdldFNlcnZpY2VIYW5kbGUgV2luMzIgQVBJIGNhbGwgYW5k
IHRoZW4gdXNlcw0KICAgICAgICBRdWVyeVNlcnZpY2VPYmplY3RTZWN1cml0eSB0
byByZXRyaWV2ZSBhIGNvcHkgb2YgdGhlIHNlY3VyaXR5IGRlc2NyaXB0b3IgZm9y
IHRoZSBzZXJ2aWNlLg0KDQogICAgLlBBUkFNRVRFUiBOYW1lDQoNCiAgICAgICAg
QW4gYXJyYXkgb2Ygb25lIG9yIG1vcmUgc2VydmljZSBuYW1lcyB0byBhZGQgYSBz
ZXJ2aWNlIERhY2wgZm9yLiBQYXNzYWJsZSBvbiB0aGUgcGlwZWxpbmUuDQoNCiAg
ICAuRVhBTVBMRQ0KDQogICAgICAgIFBTIEM6XD4gR2V0LVNlcnZpY2UgfCBBZGQt
U2VydmljZURhY2wNCg0KICAgICAgICBBZGQgRGFjbHMgZm9yIGV2ZXJ5IHNlcnZp
Y2UgdGhlIGN1cnJlbnQgdXNlciBjYW4gcmVhZC4NCg0KICAgIC5FWEFNUExFDQoN
CiAgICAgICAgUFMgQzpcPiBHZXQtU2VydmljZSAtTmFtZSBWTVRvb2xzIHwgQWRk
LVNlcnZpY2VEYWNsDQoNCiAgICAgICAgQWRkIHRoZSBEYWNsIHRvIHRoZSBWTVRv
b2xzIHNlcnZpY2Ugb2JqZWN0Lg0KDQogICAgLk9VVFBVVFMNCg0KICAgICAgICBT
ZXJ2aWNlUHJvY2Vzcy5TZXJ2aWNlQ29udHJvbGxlcg0KDQogICAgLkxJTksNCg0K
ICAgICAgICBodHRwczovL3JvaG5zcG93ZXJzaGVsbGJsb2cud29yZHByZXNzLmNv
bS8yMDEzLzAzLzE5L3ZpZXdpbmctc2VydmljZS1hY2xzLw0KIz4NCg0KICAgIFtP
dXRwdXRUeXBlKCdTZXJ2aWNlUHJvY2Vzcy5TZXJ2aWNlQ29udHJvbGxlcicpXQ0K
ICAgIHBhcmFtICgNCiAgICAgICAgW1BhcmFtZXRlcihQb3NpdGlvbj0wLCBNYW5k
YXRvcnk9JFRydWUsIFZhbHVlRnJvbVBpcGVsaW5lPSRUcnVlLCBWYWx1ZUZyb21Q
aXBlbGluZUJ5UHJvcGVydHlOYW1lPSRUcnVlKV0NCiAgICAgICAgW0FsaWFzKCdT
ZXJ2aWNlTmFtZScpXQ0KICAgICAgICBbU3RyaW5nW11dDQogICAgICAgIFtWYWxp
ZGF0ZU5vdE51bGxPckVtcHR5KCldDQogICAgICAgICROYW1lDQogICAgKQ0KDQog
ICAgQkVHSU4gew0KICAgICAgICBmaWx0ZXIgTG9jYWw6R2V0LVNlcnZpY2VSZWFk
Q29udHJvbEhhbmRsZSB7DQogICAgICAgICAgICBbT3V0cHV0VHlwZShbSW50UHRy
XSldDQogICAgICAgICAgICBwYXJhbSAoDQogICAgICAgICAgICAgICAgW1BhcmFt
ZXRlcihNYW5kYXRvcnk9JFRydWUsIFZhbHVlRnJvbVBpcGVsaW5lPSRUcnVlKV0N
CiAgICAgICAgICAgICAgICBbVmFsaWRhdGVOb3ROdWxsT3JFbXB0eSgpXQ0KICAg
ICAgICAgICAgICAgIFtWYWxpZGF0ZVNjcmlwdCh7ICRfIC1hcyAnU2VydmljZVBy
b2Nlc3MuU2VydmljZUNvbnRyb2xsZXInIH0pXQ0KICAgICAgICAgICAgICAgICRT
ZXJ2aWNlDQogICAgICAgICAgICApDQoNCiAgICAgICAgICAgICRHZXRTZXJ2aWNl
SGFuZGxlID0gW1NlcnZpY2VQcm9jZXNzLlNlcnZpY2VDb250cm9sbGVyXS5HZXRN
ZXRob2QoJ0dldFNlcnZpY2VIYW5kbGUnLCBbUmVmbGVjdGlvbi5CaW5kaW5nRmxh
Z3NdICdJbnN0YW5jZSwgTm9uUHVibGljJykNCg0KICAgICAgICAgICAgJFJlYWRD
b250cm9sID0gMHgwMDAyMDAwMA0KDQogICAgICAgICAgICAkUmF3SGFuZGxlID0g
JEdldFNlcnZpY2VIYW5kbGUuSW52b2tlKCRTZXJ2aWNlLCBAKCRSZWFkQ29udHJv
bCkpDQoNCiAgICAgICAgICAgICRSYXdIYW5kbGUNCiAgICAgICAgfQ0KICAgIH0N
Cg0KICAgIFBST0NFU1Mgew0KICAgICAgICBGb3JFYWNoKCRTZXJ2aWNlTmFtZSBp
biAkTmFtZSkgew0KDQogICAgICAgICAgICAkSW5kaXZpZHVhbFNlcnZpY2UgPSBH
ZXQtU2VydmljZSAtTmFtZSAkU2VydmljZU5hbWUgLUVycm9yQWN0aW9uIFN0b3AN
Cg0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBXcml0ZS1WZXJi
b3NlICJBZGQtU2VydmljZURhY2wgSW5kaXZpZHVhbFNlcnZpY2UgOiAkKCRJbmRp
dmlkdWFsU2VydmljZS5OYW1lKSINCiAgICAgICAgICAgICAgICAkU2VydmljZUhh
bmRsZSA9IEdldC1TZXJ2aWNlUmVhZENvbnRyb2xIYW5kbGUgLVNlcnZpY2UgJElu
ZGl2aWR1YWxTZXJ2aWNlDQogICAgICAgICAgICB9DQogICAgICAgICAgICBjYXRj
aCB7DQogICAgICAgICAgICAgICAgJFNlcnZpY2VIYW5kbGUgPSAkTnVsbA0KICAg
ICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIkVycm9yIG9wZW5pbmcgdXAgdGhl
IHNlcnZpY2UgaGFuZGxlIHdpdGggcmVhZCBjb250cm9sIGZvciAkKCRJbmRpdmlk
dWFsU2VydmljZS5OYW1lKSA6ICRfIg0KICAgICAgICAgICAgfQ0KDQogICAgICAg
ICAgICBpZiAoJFNlcnZpY2VIYW5kbGUgLWFuZCAoJFNlcnZpY2VIYW5kbGUgLW5l
IFtJbnRQdHJdOjpaZXJvKSkgew0KICAgICAgICAgICAgICAgICRTaXplTmVlZGVk
ID0gMA0KDQogICAgICAgICAgICAgICAgJFJlc3VsdCA9ICRBZHZhcGkzMjo6UXVl
cnlTZXJ2aWNlT2JqZWN0U2VjdXJpdHkoJFNlcnZpY2VIYW5kbGUsIFtTZWN1cml0
eS5BY2Nlc3NDb250cm9sLlNlY3VyaXR5SW5mb3NdOjpEaXNjcmV0aW9uYXJ5QWNs
LCBAKCksIDAsIFtSZWZdICRTaXplTmVlZGVkKTskTGFzdEVycm9yID0gW1J1bnRp
bWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXRMYXN0V2luMzJFcnJvcigp
DQoNCiAgICAgICAgICAgICAgICAjIDEyMiA9PSBUaGUgZGF0YSBhcmVhIHBhc3Nl
ZCB0byBhIHN5c3RlbSBjYWxsIGlzIHRvbyBzbWFsbA0KICAgICAgICAgICAgICAg
IGlmICgoLW5vdCAkUmVzdWx0KSAtYW5kICgkTGFzdEVycm9yIC1lcSAxMjIpIC1h
bmQgKCRTaXplTmVlZGVkIC1ndCAwKSkgew0KICAgICAgICAgICAgICAgICAgICAk
QmluYXJ5U2VjdXJpdHlEZXNjcmlwdG9yID0gTmV3LU9iamVjdCBCeXRlW10oJFNp
emVOZWVkZWQpDQoNCiAgICAgICAgICAgICAgICAgICAgJFJlc3VsdCA9ICRBZHZh
cGkzMjo6UXVlcnlTZXJ2aWNlT2JqZWN0U2VjdXJpdHkoJFNlcnZpY2VIYW5kbGUs
IFtTZWN1cml0eS5BY2Nlc3NDb250cm9sLlNlY3VyaXR5SW5mb3NdOjpEaXNjcmV0
aW9uYXJ5QWNsLCAkQmluYXJ5U2VjdXJpdHlEZXNjcmlwdG9yLCAkQmluYXJ5U2Vj
dXJpdHlEZXNjcmlwdG9yLkNvdW50LCBbUmVmXSAkU2l6ZU5lZWRlZCk7JExhc3RF
cnJvciA9IFtSdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0TGFz
dFdpbjMyRXJyb3IoKQ0KDQogICAgICAgICAgICAgICAgICAgIGlmICgtbm90ICRS
ZXN1bHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLUVycm9yIChb
Q29tcG9uZW50TW9kZWwuV2luMzJFeGNlcHRpb25dICRMYXN0RXJyb3IpDQogICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZWxzZSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAkUmF3U2VjdXJpdHlEZXNjcmlwdG9yID0g
TmV3LU9iamVjdCBTZWN1cml0eS5BY2Nlc3NDb250cm9sLlJhd1NlY3VyaXR5RGVz
Y3JpcHRvciAtQXJndW1lbnRMaXN0ICRCaW5hcnlTZWN1cml0eURlc2NyaXB0b3Is
IDANCiAgICAgICAgICAgICAgICAgICAgICAgICREYWNsID0gJFJhd1NlY3VyaXR5
RGVzY3JpcHRvci5EaXNjcmV0aW9uYXJ5QWNsIHwgRm9yRWFjaC1PYmplY3Qgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2Jq
ZWN0ICRfIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBBY2Nlc3NSaWdo
dHMgLVZhbHVlICgkXy5BY2Nlc3NNYXNrIC1hcyAkU2VydmljZUFjY2Vzc1JpZ2h0
cykgLVBhc3NUaHJ1DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg
ICAgICAgICAgICAgICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRJbmRp
dmlkdWFsU2VydmljZSAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgRGFj
bCAtVmFsdWUgJERhY2wgLVBhc3NUaHJ1DQogICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSB7DQogICAg
ICAgICAgICAgICAgICAgIFdyaXRlLUVycm9yIChbQ29tcG9uZW50TW9kZWwuV2lu
MzJFeGNlcHRpb25dICRMYXN0RXJyb3IpDQogICAgICAgICAgICAgICAgfQ0KDQog
ICAgICAgICAgICAgICAgJE51bGwgPSAkQWR2YXBpMzI6OkNsb3NlU2VydmljZUhh
bmRsZSgkU2VydmljZUhhbmRsZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0K
ICAgIH0NCn0NCg0KDQpmdW5jdGlvbiBTZXQtU2VydmljZUJpblBhdGggew0KPCMN
CiAgICAuU1lOT1BTSVMNCg0KICAgICAgICBTZXRzIHRoZSBiaW5hcnkgcGF0aCBm
b3IgYSBzZXJ2aWNlIHRvIGEgc3BlY2lmaWVkIHZhbHVlLg0KDQogICAgICAgIEF1
dGhvcjogQGhhcm1qMHksIE1hdHRoZXcgR3JhZWJlciAoQG1hdHRpZmVzdGF0aW9u
KQ0KICAgICAgICBMaWNlbnNlOiBCU0QgMy1DbGF1c2UNCg0KICAgIC5ERVNDUklQ
VElPTg0KDQogICAgICAgIFRha2VzIGEgc2VydmljZSBOYW1lIG9yIGEgU2Vydmlj
ZVByb2Nlc3MuU2VydmljZUNvbnRyb2xsZXIgb24gdGhlIHBpcGVsaW5lIGFuZCBm
aXJzdCBvcGVucyB1cCBhDQogICAgICAgIHNlcnZpY2UgaGFuZGxlIHRvIHRoZSBz
ZXJ2aWNlIHdpdGggQ29uZmlnQ29udHJvbCBhY2Nlc3MgdXNpbmcgdGhlIEdldFNl
cnZpY2VIYW5kbGUNCiAgICAgICAgV2luMzIgQVBJIGNhbGwuIENoYW5nZVNlcnZp
Y2VDb25maWcgaXMgdGhlbiB1c2VkIHRvIHNldCB0aGUgYmluYXJ5IHBhdGggKGxw
QmluYXJ5UGF0aE5hbWUvYmluUGF0aCkNCiAgICAgICAgdG8gdGhlIHN0cmluZyB2
YWx1ZSBzcGVjaWZpZWQgYnkgYmluUGF0aCwgYW5kIHRoZSBoYW5kbGUgaXMgY2xv
c2VkIG9mZi4NCg0KICAgICAgICBUYWtlcyBvbmUgb3IgbW9yZSBTZXJ2aWNlUHJv
Y2Vzcy5TZXJ2aWNlQ29udHJvbGxlciBvYmplY3RzIG9uIHRoZSBwaXBlbGluZSBh
bmQgYWRkcyBhDQogICAgICAgIERhY2wgZmllbGQgdG8gZWFjaCBvYmplY3QuIEl0
IGRvZXMgdGhpcyBieSBvcGVuaW5nIGEgaGFuZGxlIHdpdGggUmVhZENvbnRyb2wg
Zm9yIHRoZQ0KICAgICAgICBzZXJ2aWNlIHdpdGggdXNpbmcgdGhlIEdldFNlcnZp
Y2VIYW5kbGUgV2luMzIgQVBJIGNhbGwgYW5kIHRoZW4gdXNlcw0KICAgICAgICBR
dWVyeVNlcnZpY2VPYmplY3RTZWN1cml0eSB0byByZXRyaWV2ZSBhIGNvcHkgb2Yg
dGhlIHNlY3VyaXR5IGRlc2NyaXB0b3IgZm9yIHRoZSBzZXJ2aWNlLg0KDQogICAg
LlBBUkFNRVRFUiBOYW1lDQoNCiAgICAgICAgQW4gYXJyYXkgb2Ygb25lIG9yIG1v
cmUgc2VydmljZSBuYW1lcyB0byBzZXQgdGhlIGJpbmFyeSBwYXRoIGZvci4gUmVx
dWlyZWQuDQoNCiAgICAuUEFSQU1FVEVSIGJpblBhdGgNCg0KICAgICAgICBUaGUg
bmV3IGJpbmFyeSBwYXRoIChscEJpbmFyeVBhdGhOYW1lKSB0byBzZXQgZm9yIHRo
ZSBzcGVjaWZpZWQgc2VydmljZS4gUmVxdWlyZWQuDQoNCiAgICAuT1VUUFVUUw0K
DQogICAgICAgICRUcnVlIGlmIGNvbmZpZ3VyYXRpb24gc3VjY2VlZHMsICRGYWxz
ZSBvdGhlcndpc2UuDQoNCiAgICAuRVhBTVBMRQ0KDQogICAgICAgIFBTIEM6XD4g
U2V0LVNlcnZpY2VCaW5QYXRoIC1OYW1lIFZ1bG5TdmMgLUJpblBhdGggJ25ldCB1
c2VyIGpvaG4gUGFzc3dvcmQxMjMhIC9hZGQnDQoNCiAgICAgICAgU2V0cyB0aGUg
YmluYXJ5IHBhdGggZm9yICdWdWxuU3ZjJyB0byBiZSBhIGNvbW1hbmQgdG8gYWRk
IGEgdXNlci4NCg0KICAgIC5FWEFNUExFDQoNCiAgICAgICAgUFMgQzpcPiBHZXQt
U2VydmljZSBWdWxuU3ZjIHwgU2V0LVNlcnZpY2VCaW5QYXRoIC1CaW5QYXRoICdu
ZXQgdXNlciBqb2huIFBhc3N3b3JkMTIzISAvYWRkJw0KDQogICAgICAgIFNldHMg
dGhlIGJpbmFyeSBwYXRoIGZvciAnVnVsblN2YycgdG8gYmUgYSBjb21tYW5kIHRv
IGFkZCBhIHVzZXIuDQoNCiAgICAuTElOSw0KDQogICAgICAgIGh0dHBzOi8vbXNk
bi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL21z
NjgxOTg3KHY9dnMuODUpLmFzcHgNCiM+DQoNCiAgICBwYXJhbSAoDQogICAgICAg
IFtQYXJhbWV0ZXIoUG9zaXRpb249MCwgTWFuZGF0b3J5PSRUcnVlLCBWYWx1ZUZy
b21QaXBlbGluZT0kVHJ1ZSwgVmFsdWVGcm9tUGlwZWxpbmVCeVByb3BlcnR5TmFt
ZT0kVHJ1ZSldDQogICAgICAgIFtBbGlhcygnU2VydmljZU5hbWUnKV0NCiAgICAg
ICAgW1N0cmluZ1tdXQ0KICAgICAgICBbVmFsaWRhdGVOb3ROdWxsT3JFbXB0eSgp
XQ0KICAgICAgICAkTmFtZSwNCg0KICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9u
PTEsIE1hbmRhdG9yeT0kVHJ1ZSldDQogICAgICAgIFtTdHJpbmddDQogICAgICAg
IFtWYWxpZGF0ZU5vdE51bGxPckVtcHR5KCldDQogICAgICAgICRiaW5QYXRoDQog
ICAgKQ0KDQogICAgQkVHSU4gew0KICAgICAgICBmaWx0ZXIgTG9jYWw6R2V0LVNl
cnZpY2VDb25maWdDb250cm9sSGFuZGxlIHsNCiAgICAgICAgICAgIFtPdXRwdXRU
eXBlKFtJbnRQdHJdKV0NCiAgICAgICAgICAgIHBhcmFtICgNCiAgICAgICAgICAg
ICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeT0kVHJ1ZSwgVmFsdWVGcm9tUGlwZWxp
bmU9JFRydWUpXQ0KICAgICAgICAgICAgICAgIFtTZXJ2aWNlUHJvY2Vzcy5TZXJ2
aWNlQ29udHJvbGxlcl0NCiAgICAgICAgICAgICAgICBbVmFsaWRhdGVOb3ROdWxs
T3JFbXB0eSgpXQ0KICAgICAgICAgICAgICAgICRUYXJnZXRTZXJ2aWNlDQogICAg
ICAgICAgICApDQoNCiAgICAgICAgICAgICRHZXRTZXJ2aWNlSGFuZGxlID0gW1Nl
cnZpY2VQcm9jZXNzLlNlcnZpY2VDb250cm9sbGVyXS5HZXRNZXRob2QoJ0dldFNl
cnZpY2VIYW5kbGUnLCBbUmVmbGVjdGlvbi5CaW5kaW5nRmxhZ3NdICdJbnN0YW5j
ZSwgTm9uUHVibGljJykNCg0KICAgICAgICAgICAgJENvbmZpZ0NvbnRyb2wgPSAw
eDAwMDAwMDAyDQoNCiAgICAgICAgICAgICRSYXdIYW5kbGUgPSAkR2V0U2Vydmlj
ZUhhbmRsZS5JbnZva2UoJFRhcmdldFNlcnZpY2UsIEAoJENvbmZpZ0NvbnRyb2wp
KQ0KDQogICAgICAgICAgICAkUmF3SGFuZGxlDQogICAgICAgIH0NCiAgICB9DQoN
CiAgICBQUk9DRVNTIHsNCg0KICAgICAgICBGb3JFYWNoKCRJbmRpdmlkdWFsU2Vy
dmljZSBpbiAkTmFtZSkgew0KDQogICAgICAgICAgICAkVGFyZ2V0U2VydmljZSA9
IEdldC1TZXJ2aWNlIC1OYW1lICRJbmRpdmlkdWFsU2VydmljZSAtRXJyb3JBY3Rp
b24gU3RvcA0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAkU2Vy
dmljZUhhbmRsZSA9IEdldC1TZXJ2aWNlQ29uZmlnQ29udHJvbEhhbmRsZSAtVGFy
Z2V0U2VydmljZSAkVGFyZ2V0U2VydmljZQ0KICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgY2F0Y2ggew0KICAgICAgICAgICAgICAgICRTZXJ2aWNlSGFuZGxlID0g
JE51bGwNCiAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJFcnJvciBvcGVu
aW5nIHVwIHRoZSBzZXJ2aWNlIGhhbmRsZSB3aXRoIHJlYWQgY29udHJvbCBmb3Ig
JEluZGl2aWR1YWxTZXJ2aWNlIDogJF8iDQogICAgICAgICAgICB9DQoNCiAgICAg
ICAgICAgIGlmICgkU2VydmljZUhhbmRsZSAtYW5kICgkU2VydmljZUhhbmRsZSAt
bmUgW0ludFB0cl06Olplcm8pKSB7DQoNCiAgICAgICAgICAgICAgICAkU0VSVklD
RV9OT19DSEFOR0UgPSBbVUludDMyXTo6TWF4VmFsdWUNCg0KICAgICAgICAgICAg
ICAgICRSZXN1bHQgPSAkQWR2YXBpMzI6OkNoYW5nZVNlcnZpY2VDb25maWcoJFNl
cnZpY2VIYW5kbGUsICRTRVJWSUNFX05PX0NIQU5HRSwgJFNFUlZJQ0VfTk9fQ0hB
TkdFLCAkU0VSVklDRV9OT19DSEFOR0UsICIkYmluUGF0aCIsIFtJbnRQdHJdOjpa
ZXJvLCBbSW50UHRyXTo6WmVybywgW0ludFB0cl06Olplcm8sIFtJbnRQdHJdOjpa
ZXJvLCBbSW50UHRyXTo6WmVybywgW0ludFB0cl06Olplcm8pOyRMYXN0RXJyb3Ig
PSBbUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldExhc3RXaW4z
MkVycm9yKCkNCg0KICAgICAgICAgICAgICAgIGlmICgkUmVzdWx0IC1uZSAwKSB7
DQogICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgImJpblBhdGggZm9y
ICRJbmRpdmlkdWFsU2VydmljZSBzdWNjZXNzZnVsbHkgc2V0IHRvICckYmluUGF0
aCciDQogICAgICAgICAgICAgICAgICAgICRUcnVlDQogICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBX
cml0ZS1FcnJvciAoW0NvbXBvbmVudE1vZGVsLldpbjMyRXhjZXB0aW9uXSAkTGFz
dEVycm9yKQ0KICAgICAgICAgICAgICAgICAgICAkTnVsbA0KICAgICAgICAgICAg
ICAgIH0NCg0KICAgICAgICAgICAgICAgICROdWxsID0gJEFkdmFwaTMyOjpDbG9z
ZVNlcnZpY2VIYW5kbGUoJFNlcnZpY2VIYW5kbGUpDQogICAgICAgICAgICB9DQog
ICAgICAgIH0NCiAgICB9DQp9DQoNCg0KZnVuY3Rpb24gVGVzdC1TZXJ2aWNlRGFj
bFBlcm1pc3Npb24gew0KPCMNCiAgICAuU1lOT1BTSVMNCg0KICAgICAgICBUZXN0
cyBvbmUgb3IgbW9yZSBwYXNzZWQgc2VydmljZXMgb3Igc2VydmljZSBuYW1lcyBh
Z2FpbnN0IGEgZ2l2ZW4gcGVybWlzc2lvbiBzZXQsDQogICAgICAgIHJldHVybmlu
ZyB0aGUgc2VydmljZSBvYmplY3RzIHdoZXJlIHRoZSBjdXJyZW50IHVzZXIgaGF2
ZSB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb25zLg0KDQogICAgICAgIEF1dGhvcjog
QGhhcm1qMHksIE1hdHRoZXcgR3JhZWJlciAoQG1hdHRpZmVzdGF0aW9uKQ0KICAg
ICAgICBMaWNlbnNlOiBCU0QgMy1DbGF1c2UNCg0KICAgIC5ERVNDUklQVElPTg0K
DQogICAgICAgIFRha2VzIGEgc2VydmljZSBOYW1lIG9yIGEgU2VydmljZVByb2Nl
c3MuU2VydmljZUNvbnRyb2xsZXIgb24gdGhlIHBpcGVsaW5lLCBhbmQgZmlyc3Qg
YWRkcw0KICAgICAgICBhIHNlcnZpY2UgRGFjbCB0byB0aGUgc2VydmljZSBvYmpl
Y3Qgd2l0aCBBZGQtU2VydmljZURhY2wuIEFsbCBncm91cCBTSURzIGZvciB0aGUg
Y3VycmVudA0KICAgICAgICB1c2VyIGFyZSBlbnVtZXJhdGVkIHNlcnZpY2VzIHdo
ZXJlIHRoZSB1c2VyIGhhcyBzb21lIHR5cGUgb2YgcGVybWlzc2lvbiBhcmUgZmls
dGVyZWQuIFRoZQ0KICAgICAgICBzZXJ2aWNlcyBhcmUgdGhlbiBmaWx0ZXJlZCBh
Z2FpbnN0IGEgc3BlY2lmaWVkIHNldCBvZiBwZXJtaXNzaW9ucywgYW5kIHNlcnZp
Y2VzIHdoZXJlIHRoZQ0KICAgICAgICBjdXJyZW50IHVzZXIgaGF2ZSB0aGUgc3Bl
Y2lmaWVkIHBlcm1pc3Npb25zIGFyZSByZXR1cm5lZC4NCg0KICAgIC5QQVJBTUVU
RVIgTmFtZQ0KDQogICAgICAgIEFuIGFycmF5IG9mIG9uZSBvciBtb3JlIHNlcnZp
Y2UgbmFtZXMgdG8gdGVzdCBhZ2FpbnN0IHRoZSBzcGVjaWZpZWQgcGVybWlzc2lv
biBzZXQuDQoNCiAgICAuUEFSQU1FVEVSIFBlcm1pc3Npb25zDQoNCiAgICAgICAg
QSBtYW51YWwgc2V0IG9mIHBlcm1pc3Npb24gdG8gdGVzdCBhZ2Fpbi4gT25lIG9m
OidRdWVyeUNvbmZpZycsICdDaGFuZ2VDb25maWcnLCAnUXVlcnlTdGF0dXMnLA0K
ICAgICAgICAnRW51bWVyYXRlRGVwZW5kZW50cycsICdTdGFydCcsICdTdG9wJywg
J1BhdXNlQ29udGludWUnLCAnSW50ZXJyb2dhdGUnLCBVc2VyRGVmaW5lZENvbnRy
b2wnLA0KICAgICAgICAnRGVsZXRlJywgJ1JlYWRDb250cm9sJywgJ1dyaXRlRGFj
JywgJ1dyaXRlT3duZXInLCAnU3luY2hyb25pemUnLCAnQWNjZXNzU3lzdGVtU2Vj
dXJpdHknLA0KICAgICAgICAnR2VuZXJpY0FsbCcsICdHZW5lcmljRXhlY3V0ZScs
ICdHZW5lcmljV3JpdGUnLCAnR2VuZXJpY1JlYWQnLCAnQWxsQWNjZXNzJw0KDQog
ICAgLlBBUkFNRVRFUiBQZXJtaXNzaW9uU2V0DQoNCiAgICAgICAgQSBwcmUtZGVm
aW5lZCBwZXJtaXNzaW9uIHNldCB0byB0ZXN0IGEgc3BlY2lmaWVkIHNlcnZpY2Ug
YWdhaW5zdC4gJ0NoYW5nZUNvbmZpZycsICdSZXN0YXJ0Jywgb3IgJ0FsbEFjY2Vz
cycuDQoNCiAgICAuT1VUUFVUUw0KDQogICAgICAgIFNlcnZpY2VQcm9jZXNzLlNl
cnZpY2VDb250cm9sbGVyDQoNCiAgICAuRVhBTVBMRQ0KDQogICAgICAgIFBTIEM6
XD4gR2V0LVNlcnZpY2UgfCBUZXN0LVNlcnZpY2VEYWNsUGVybWlzc2lvbg0KDQog
ICAgICAgIFJldHVybiBhbGwgc2VydmljZSBvYmplY3RzIHdoZXJlIHRoZSBjdXJy
ZW50IHVzZXIgY2FuIG1vZGlmeSB0aGUgc2VydmljZSBjb25maWd1cmF0aW9uLg0K
DQogICAgLkVYQU1QTEUNCg0KICAgICAgICBQUyBDOlw+IEdldC1TZXJ2aWNlIHwg
VGVzdC1TZXJ2aWNlRGFjbFBlcm1pc3Npb24gLVBlcm1pc3Npb25TZXQgJ1Jlc3Rh
cnQnDQoNCiAgICAgICAgUmV0dXJuIGFsbCBzZXJ2aWNlIG9iamVjdHMgdGhhdCB0
aGUgY3VycmVudCB1c2VyIGNhbiByZXN0YXJ0Lg0KDQoNCiAgICAuRVhBTVBMRQ0K
DQogICAgICAgIFBTIEM6XD4gVGVzdC1TZXJ2aWNlRGFjbFBlcm1pc3Npb24gLVBl
cm1pc3Npb25zICdTdGFydCcgLU5hbWUgJ1Z1bG5TVkMnDQoNCiAgICAgICAgUmV0
dXJuIHRoZSBWdWxuU1ZDIG9iamVjdCBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyBz
dGFydCBwZXJtaXNzaW9ucy4NCg0KICAgIC5MSU5LDQoNCiAgICAgICAgaHR0cHM6
Ly9yb2huc3Bvd2Vyc2hlbGxibG9nLndvcmRwcmVzcy5jb20vMjAxMy8wMy8xOS92
aWV3aW5nLXNlcnZpY2UtYWNscy8NCiM+DQoNCiAgICBbT3V0cHV0VHlwZSgnU2Vy
dmljZVByb2Nlc3MuU2VydmljZUNvbnRyb2xsZXInKV0NCiAgICBwYXJhbSAoDQog
ICAgICAgIFtQYXJhbWV0ZXIoUG9zaXRpb249MCwgTWFuZGF0b3J5PSRUcnVlLCBW
YWx1ZUZyb21QaXBlbGluZT0kVHJ1ZSwgVmFsdWVGcm9tUGlwZWxpbmVCeVByb3Bl
cnR5TmFtZT0kVHJ1ZSldDQogICAgICAgIFtBbGlhcygnU2VydmljZU5hbWUnKV0N
CiAgICAgICAgW1N0cmluZ1tdXQ0KICAgICAgICBbVmFsaWRhdGVOb3ROdWxsT3JF
bXB0eSgpXQ0KICAgICAgICAkTmFtZSwNCg0KICAgICAgICBbU3RyaW5nW11dDQog
ICAgICAgIFtWYWxpZGF0ZVNldCgnUXVlcnlDb25maWcnLCAnQ2hhbmdlQ29uZmln
JywgJ1F1ZXJ5U3RhdHVzJywgJ0VudW1lcmF0ZURlcGVuZGVudHMnLCAnU3RhcnQn
LCAnU3RvcCcsICdQYXVzZUNvbnRpbnVlJywgJ0ludGVycm9nYXRlJywgJ1VzZXJE
ZWZpbmVkQ29udHJvbCcsICdEZWxldGUnLCAnUmVhZENvbnRyb2wnLCAnV3JpdGVE
YWMnLCAnV3JpdGVPd25lcicsICdTeW5jaHJvbml6ZScsICdBY2Nlc3NTeXN0ZW1T
ZWN1cml0eScsICdHZW5lcmljQWxsJywgJ0dlbmVyaWNFeGVjdXRlJywgJ0dlbmVy
aWNXcml0ZScsICdHZW5lcmljUmVhZCcsICdBbGxBY2Nlc3MnKV0NCiAgICAgICAg
JFBlcm1pc3Npb25zLA0KDQogICAgICAgIFtTdHJpbmddDQogICAgICAgIFtWYWxp
ZGF0ZVNldCgnQ2hhbmdlQ29uZmlnJywgJ1Jlc3RhcnQnLCAnQWxsQWNjZXNzJyld
DQogICAgICAgICRQZXJtaXNzaW9uU2V0ID0gJ0NoYW5nZUNvbmZpZycNCiAgICAp
DQoNCiAgICBCRUdJTiB7DQogICAgICAgICRBY2Nlc3NNYXNrID0gQHsNCiAgICAg
ICAgICAgICdRdWVyeUNvbmZpZycgICAgICAgICAgID0gW3VpbnQzMl0nMHgwMDAw
MDAwMScNCiAgICAgICAgICAgICdDaGFuZ2VDb25maWcnICAgICAgICAgID0gW3Vp
bnQzMl0nMHgwMDAwMDAwMicNCiAgICAgICAgICAgICdRdWVyeVN0YXR1cycgICAg
ICAgICAgID0gW3VpbnQzMl0nMHgwMDAwMDAwNCcNCiAgICAgICAgICAgICdFbnVt
ZXJhdGVEZXBlbmRlbnRzJyAgID0gW3VpbnQzMl0nMHgwMDAwMDAwOCcNCiAgICAg
ICAgICAgICdTdGFydCcgICAgICAgICAgICAgICAgID0gW3VpbnQzMl0nMHgwMDAw
MDAxMCcNCiAgICAgICAgICAgICdTdG9wJyAgICAgICAgICAgICAgICAgID0gW3Vp
bnQzMl0nMHgwMDAwMDAyMCcNCiAgICAgICAgICAgICdQYXVzZUNvbnRpbnVlJyAg
ICAgICAgID0gW3VpbnQzMl0nMHgwMDAwMDA0MCcNCiAgICAgICAgICAgICdJbnRl
cnJvZ2F0ZScgICAgICAgICAgID0gW3VpbnQzMl0nMHgwMDAwMDA4MCcNCiAgICAg
ICAgICAgICdVc2VyRGVmaW5lZENvbnRyb2wnICAgID0gW3VpbnQzMl0nMHgwMDAw
MDEwMCcNCiAgICAgICAgICAgICdEZWxldGUnICAgICAgICAgICAgICAgID0gW3Vp
bnQzMl0nMHgwMDAxMDAwMCcNCiAgICAgICAgICAgICdSZWFkQ29udHJvbCcgICAg
ICAgICAgID0gW3VpbnQzMl0nMHgwMDAyMDAwMCcNCiAgICAgICAgICAgICdXcml0
ZURhYycgICAgICAgICAgICAgID0gW3VpbnQzMl0nMHgwMDA0MDAwMCcNCiAgICAg
ICAgICAgICdXcml0ZU93bmVyJyAgICAgICAgICAgID0gW3VpbnQzMl0nMHgwMDA4
MDAwMCcNCiAgICAgICAgICAgICdTeW5jaHJvbml6ZScgICAgICAgICAgID0gW3Vp
bnQzMl0nMHgwMDEwMDAwMCcNCiAgICAgICAgICAgICdBY2Nlc3NTeXN0ZW1TZWN1
cml0eScgID0gW3VpbnQzMl0nMHgwMTAwMDAwMCcNCiAgICAgICAgICAgICdHZW5l
cmljQWxsJyAgICAgICAgICAgID0gW3VpbnQzMl0nMHgxMDAwMDAwMCcNCiAgICAg