-
Notifications
You must be signed in to change notification settings - Fork 1
/
slides.html
739 lines (716 loc) · 366 KB
/
slides.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
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<meta name="author" content="Brad Duthie" />
<meta name="date" content="2024-02-28" />
<title>Getting started with Rmarkdown presentations</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<style type="text/css">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
// be compatible with the behavior of Pandoc < 2.8).
document.addEventListener('DOMContentLoaded', function(e) {
var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
var i, h, a;
for (i = 0; i < hs.length; i++) {
h = hs[i];
if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
a = h.attributes;
while (a.length > 0) h.removeAttribute(a[0].name);
}
});
</script>
<style type="text/css">
body
{
margin: 0 0 0 0;
padding: 0 0 0 0;
width: 100%;
height: 100%;
color: black;
background-color: white;
font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif;
font-size: 14pt;
}
div.toolbar {
position: fixed; z-index: 200;
top: auto; bottom: 0; left: 0; right: 0;
height: 1.2em; text-align: right;
padding-left: 1em;
padding-right: 1em; font-size: 60%;
color: DimGray;
background-color: rgb(240,240,240);
border-top: solid 1px rgb(180,180,180);
}
div.toolbar span.copyright {
color: DimGray;
margin-left: 0.5em;
}
div.initial_prompt {
position: absolute;
z-index: 1000;
bottom: 1.2em;
width: 100%;
background-color: rgb(200,200,200);
opacity: 0.35;
background-color: rgb(200,200,200, 0.35);
cursor: pointer;
}
div.initial_prompt p.help {
text-align: center;
}
div.initial_prompt p.close {
text-align: right;
font-style: italic;
}
div.slidy_toc {
position: absolute;
z-index: 300;
width: 60%;
max-width: 30em;
height: 30em;
overflow: auto;
top: auto;
right: auto;
left: 4em;
bottom: 4em;
padding: 1em;
background: rgb(240,240,240);
border-style: solid;
border-width: 2px;
font-size: 60%;
}
div.slidy_toc .toc_heading {
text-align: center;
width: 100%;
margin: 0;
margin-bottom: 1em;
border-bottom-style: solid;
border-bottom-color: rgb(180,180,180);
border-bottom-width: 1px;
}
div.slide {
z-index: 20;
margin: 0 0 0 0;
padding-top: 0;
padding-bottom: 0;
padding-left: 20px;
padding-right: 20px;
border-width: 0;
clear: both;
top: 0;
bottom: 0;
left: 0;
right: 0;
line-height: 120%;
background-color: transparent;
}
div.background {
display: none;
}
div.handout {
margin-left: 20px;
margin-right: 20px;
}
div.slide.titlepage {
text-align: center;
}
div.slide.titlepage h1 {
padding-top: 10%;
margin-right: 0;
}
div.slide h1 {
padding-left: 0;
padding-right: 20pt;
padding-top: 4pt;
padding-bottom: 4pt;
margin-top: 0;
margin-left: 0;
margin-right: 60pt;
margin-bottom: 0.5em;
display: block; font-size: 160%;
line-height: 1.2em;
background: transparent;
}
@media screen and (max-device-width: 1024px)
{
div.slide { font-size: 100%; }
}
@media screen and (max-device-width: 800px)
{
div.slide { font-size: 200%; }
div.slidy_toc {
top: 1em;
left: 1em;
right: auto;
width: 80%;
font-size: 180%;
}
}
div.toc-heading {
width: 100%;
border-bottom: solid 1px rgb(180,180,180);
margin-bottom: 1em;
text-align: center;
}
img {
image-rendering: optimize-quality;
}
pre {
font-size: 80%;
font-weight: bold;
line-height: 120%;
padding-top: 0.2em;
padding-bottom: 0.2em;
padding-left: 1em;
padding-right: 1em;
border-style: solid;
border-left-width: 1em;
border-top-width: thin;
border-right-width: thin;
border-bottom-width: thin;
border-color: #95ABD0;
color: #00428C;
background-color: #E4E5E7;
}
li pre { margin-left: 0; }
blockquote { font-style: italic }
img { background-color: transparent }
p.copyright { font-size: smaller }
.center { text-align: center }
.footnote { font-size: smaller; margin-left: 2em; }
a img { border-width: 0; border-style: none }
a:visited { color: navy }
a:link { color: navy }
a:hover { color: red; text-decoration: underline }
a:active { color: red; text-decoration: underline }
a {text-decoration: none}
.toolbar a:link {color: blue}
.toolbar a:visited {color: blue}
.toolbar a:active {color: red}
.toolbar a:hover {color: red}
ul { list-style-type: square; }
ul ul { list-style-type: disc; }
ul ul ul { list-style-type: circle; }
ul ul ul ul { list-style-type: disc; }
li { margin-left: 0.5em; margin-top: 0.5em; }
li li { font-size: 85%; font-style: italic }
li li li { font-size: 85%; font-style: normal }
div dt
{
margin-left: 0;
margin-top: 1em;
margin-bottom: 0.5em;
font-weight: bold;
}
div dd
{
margin-left: 2em;
margin-bottom: 0.5em;
}
p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table {
margin-left: 1em;
margin-right: 1em;
}
p.subhead { font-weight: bold; margin-top: 2em; }
.smaller { font-size: smaller }
.bigger { font-size: 130% }
td,th { padding: 0.2em }
ul {
margin: 0.5em 1.5em 0.5em 1.5em;
padding: 0;
}
ol {
margin: 0.5em 1.5em 0.5em 1.5em;
padding: 0;
}
ul { list-style-type: square; }
ul ul { list-style-type: disc; }
ul ul ul { list-style-type: circle; }
ul ul ul ul { list-style-type: disc; }
ul li { list-style: square;
margin: 0.1em 0em 0.6em 0;
padding: 0 0 0 0;
line-height: 140%;
}
ol li { margin: 0.1em 0em 0.6em 1.5em;
padding: 0 0 0 0px;
line-height: 140%;
list-style-type: decimal;
}
li ul li { font-size: 85%; font-style: italic;
list-style-type: disc;
background: transparent;
padding: 0 0 0 0;
}
li li ul li { font-size: 85%; font-style: normal;
list-style-type: circle;
background: transparent;
padding: 0 0 0 0;
}
li li li ul li {
list-style-type: disc;
background: transparent;
padding: 0 0 0 0;
}
li ol li {
list-style-type: decimal;
}
li li ol li {
list-style-type: decimal;
}
ol.outline li:hover { cursor: pointer }
ol.outline li.nofold:hover { cursor: default }
ul.outline li:hover { cursor: pointer }
ul.outline li.nofold:hover { cursor: default }
ol.outline { list-style:decimal; }
ol.outline ol { list-style-type:lower-alpha }
ol.outline li.nofold {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAIACAMzMzOvr/ywAAAAACQAJAAACD4SPoRvG614Dctb4MEMcFAA7) no-repeat 0px 0.5em;
}
ol.outline li.unfolded {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAMPD/8zMzOvr/////ywAAAAACQAJAAACEYyPoivG614LAlg7ZZbxoR8UADs=) no-repeat 0px 0.5em;
}
ol.outline li.folded {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAMPD/8zMzOvr/////ywAAAAACQAJAAACFIyPoiu2sJyCyoF7W3hxz850CFIAADs=) no-repeat 0px 0.5em;
}
ol.outline li.unfolded:hover {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAAAAAAAA/8PD/////ywAAAAACQAJAAACEYSPoivG614DIlg7ZZbxoQ8UADs=) no-repeat 0px 0.5em;
}
ol.outline li.folded:hover {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAAAAAAAA/8PD/////ywAAAAACQAJAAACFISPoiu2sZyCyoV7G3hxz850CFIAADs=) no-repeat 0px 0.5em;
}
ul.outline li.nofold {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAIACAMzMzOvr/ywAAAAACQAJAAACD4SPoRvG614Dctb4MEMcFAA7) no-repeat 0px 0.5em;
}
ul.outline li.unfolded {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAMPD/8zMzOvr/////ywAAAAACQAJAAACEYyPoivG614LAlg7ZZbxoR8UADs=) no-repeat 0px 0.5em;
}
ul.outline li.folded {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAMPD/8zMzOvr/////ywAAAAACQAJAAACFIyPoiu2sJyCyoF7W3hxz850CFIAADs=) no-repeat 0px 0.5em;
}
ul.outline li.unfolded:hover {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAAAAAAAA/8PD/////ywAAAAACQAJAAACEYSPoivG614DIlg7ZZbxoQ8UADs=) no-repeat 0px 0.5em;
}
ul.outline li.folded:hover {
padding: 0 0 0 20px;
background: transparent url(data:image/gif;base64,R0lGODdhCQAJAKEDAAAAAAAA/8PD/////ywAAAAACQAJAAACFISPoiu2sZyCyoV7G3hxz850CFIAADs=) no-repeat 0px 0.5em;
}
a.titleslide { font-weight: bold; font-style: italic }
img.hidden { display: none; visibility: hidden }
div.initial_prompt { display: none; visibility: hidden }
div.slide {
visibility: visible;
position: inherit;
}
div.handout {
border-top-style: solid;
border-top-width: thin;
border-top-color: black;
}
@media screen {
.hidden { display: none; visibility: visible }
div.slide.hidden { display: block; visibility: visible }
div.handout.hidden { display: block; visibility: visible }
div.background { display: none; visibility: hidden }
body.single_slide div.initial_prompt { display: block; visibility: visible }
body.single_slide div.background { display: block; visibility: visible }
body.single_slide div.background.hidden { display: none; visibility: hidden }
body.single_slide .invisible { visibility: hidden }
body.single_slide .hidden { display: none; visibility: hidden }
body.single_slide div.slide { position: absolute }
body.single_slide div.handout { display: none; visibility: hidden }
}
@media print {
.hidden { display: block; visibility: visible }
div.slide pre { font-size: 60%; padding-left: 0.5em; }
div.toolbar { display: none; visibility: hidden; }
div.slidy_toc { display: none; visibility: hidden; }
div.background { display: none; visibility: hidden; }
div.slide { page-break-before: always }
div.slide.first-slide { page-break-before: avoid }
}
.jslider table {
margin-left: 0em;
margin-right: 0em;
}
table.dataTable, .shiny-datatable-output div {
font-size: 14pt;
}
.dataTables_info, .dataTables_paginate {
font-size: 19px;
}
pre.sourceCode, code.sourceCode {
font-size: 80%;
}
label, button, input, select, textarea {
font-size: 14pt;
}
ul.nav, ul.nav li {
list-style-type: none;
}
</style>
<script src="data:application/javascript;base64,Lyogc2xpZHkuanMKCiAgIENvcHlyaWdodCAoYykgMjAwNS0yMDEzIFczQyAoTUlULCBFUkNJTSwgS2VpbyksIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgIFczQyBsaWFiaWxpdHksIHRyYWRlbWFyaywgZG9jdW1lbnQgdXNlIGFuZCBzb2Z0d2FyZSBsaWNlbnNpbmcKICAgcnVsZXMgYXBwbHksIHNlZToKCiAgIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvY29weXJpZ2h0LWRvY3VtZW50cwogICBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2NvcHlyaWdodC1zb2Z0d2FyZQoKICAgRGVmaW5lcyBzaW5nbGUgbmFtZSAidzNjX3NsaWR5IiBpbiBnbG9iYWwgbmFtZXNwYWNlCiAgIEFkZHMgZXZlbnQgaGFuZGxlcnMgd2l0aG91dCB0cmFtcGxpbmcgb24gYW55IG90aGVycwoqLwoKLy8gdGhlIHNsaWR5IG9iamVjdCBpbXBsZW1lbnRhdGlvbgp2YXIgdzNjX3NsaWR5ID0gewogIC8vIGNsYXNzaWZ5IHdoaWNoIGtpbmQgb2YgYnJvd3NlciB3ZSdyZSBydW5uaW5nIHVuZGVyCiAgbnNfcG9zOiAodHlwZW9mIHdpbmRvdy5wYWdlWU9mZnNldCE9J3VuZGVmaW5lZCcpLAogIGtodG1sOiAoKG5hdmlnYXRvci51c2VyQWdlbnQpLmluZGV4T2YoIktIVE1MIikgPj0gMCA/IHRydWUgOiBmYWxzZSksCiAgb3BlcmE6ICgobmF2aWdhdG9yLnVzZXJBZ2VudCkuaW5kZXhPZigiT3BlcmEiKSA+PSAwID8gdHJ1ZSA6IGZhbHNlKSwKICBpcGFkOiAoKG5hdmlnYXRvci51c2VyQWdlbnQpLmluZGV4T2YoImlQYWQiKSA+PSAwID8gdHJ1ZSA6IGZhbHNlKSwKICBpcGhvbmU6ICgobmF2aWdhdG9yLnVzZXJBZ2VudCkuaW5kZXhPZigiaVBob25lIikgPj0gMCA/IHRydWUgOiBmYWxzZSksCiAgYW5kcm9pZDogKChuYXZpZ2F0b3IudXNlckFnZW50KS5pbmRleE9mKCJBbmRyb2lkIikgPj0gMCA/IHRydWUgOiBmYWxzZSksCiAgaWU6ICh0eXBlb2YgZG9jdW1lbnQuYWxsICE9ICJ1bmRlZmluZWQiICYmICF0aGlzLm9wZXJhKSwKICBpZTY6ICghdGhpcy5uc19wb3MgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIDYiKSAhPSAtMSksCiAgaWU3OiAoIXRoaXMubnNfcG9zICYmIG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSA3IikgIT0gLTEpLAogIGllODogKCF0aGlzLm5zX3BvcyAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1TSUUgOCIpICE9IC0xKSwKICBpZTk6ICghdGhpcy5uc19wb3MgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIDkiKSAhPSAtMSksCgogIC8vIGRhdGEgZm9yIHN3aXBlIGFuZCBkb3VibGUgdGFwIGRldGVjdGlvbiBvbiB0b3VjaCBzY3JlZW5zCiAgbGFzdF90YXA6IDAsCiAgcHJldl90YXA6IDAsCiAgc3RhcnRfeDogMCwKICBzdGFydF95OiAwLAogIGRlbHRhX3g6IDAsCiAgZGVsdGFfeTogMCwKCiAgLy8gYXJlIHdlIHJ1bm5pbmcgYXMgWEhUTUw/IChkb2Vzbid0IHdvcmsgb24gT3BlcmEpCiAgaXNfeGh0bWw6IC94bWwvLnRlc3QoZG9jdW1lbnQuY29udGVudFR5cGUpLAoKICBzbGlkZV9udW1iZXI6IDAsIC8vIGludGVnZXIgc2xpZGUgY291bnQ6IDAsIDEsIDIsIC4uLgogIHNsaWRlX251bWJlcl9lbGVtZW50OiBudWxsLCAvLyBlbGVtZW50IGNvbnRhaW5pbmcgc2xpZGUgbnVtYmVyCiAgc2xpZGVzOiBbXSwgLy8gc2V0IHRvIGFycmF5IG9mIHNsaWRlIGRpdidzCiAgbm90ZXM6IFtdLCAvLyBzZXQgdG8gYXJyYXkgb2YgaGFuZG91dCBkaXYncwogIGJhY2tncm91bmRzOiBbXSwgLy8gc2V0IHRvIGFycmF5IG9mIGJhY2tncm91bmQgZGl2J3MKICBvYnNlcnZlcnM6IFtdLCAvLyBsaXN0IG9mIG9ic2VydmVyIGZ1bmN0aW9ucwogIHRvb2xiYXI6IG51bGwsIC8vIGVsZW1lbnQgY29udGFpbmluZyB0b29sYmFyCiAgdGl0bGU6IG51bGwsIC8vIGRvY3VtZW50IHRpdGxlCiAgbGFzdF9zaG93bjogbnVsbCwgLy8gbGFzdCBpbmNyZW1lbnRhbGx5IHNob3duIGl0ZW0KICBlb3M6IG51bGwsICAvLyBzcGFuIGVsZW1lbnQgZm9yIGVuZCBvZiBzbGlkZSBpbmRpY2F0b3IKICB0b2M6IG51bGwsIC8vIHRhYmxlIG9mIGNvbnRlbnRzCiAgb3V0bGluZTogbnVsbCwgLy8gb3V0bGluZSBlbGVtZW50IHdpdGggdGhlIGZvY3VzCiAgc2VsZWN0ZWRfdGV4dF9sZW46IDAsIC8vIGxlbmd0aCBvZiBkcmFnIHNlbGVjdGlvbiBvbiBkb2N1bWVudAogIHZpZXdfYWxsOiAwLCAgLy8gMSB0byB2aWV3IGFsbCBzbGlkZXMgKyBoYW5kb3V0cwogIHdhbnRfdG9vbGJhcjogdHJ1ZSwgIC8vIHVzZXIgcHJlZmVyZW5jZSB0byBzaG93L2hpZGUgdG9vbGJhcgogIG1vdXNlX2NsaWNrX2VuYWJsZWQ6IHRydWUsIC8vIGVuYWJsZXMgbGVmdCBjbGljayBmb3IgbmV4dCBzbGlkZQogIHNjcm9sbF9oYWNrOiAwLCAvLyBJRSB3b3JrIGFyb3VuZCBmb3IgcG9zaXRpb246IGZpeGVkCiAgZGlzYWJsZV9zbGlkZV9jbGljazogZmFsc2UsICAvLyB1c2VkIGJ5IGNsaWNrZWQgYW5jaG9ycwoKICBsYW5nOiAiZW4iLCAvLyB1cGRhdGVkIHRvIGxhbmd1YWdlIHNwZWNpZmllZCBieSBodG1sIGZpbGUKCiAgaGVscF9hbmNob3I6IG51bGwsIC8vIHVzZWQgZm9yIGtleWJvYXJkIGZvY3VzIGhhY2sgaW4gc2hvd1Rvb2xiYXIoKQogIGhlbHBfcGFnZTogImh0dHA6Ly93d3cudzMub3JnL1RhbGtzL1Rvb2xzL1NsaWR5Mi9oZWxwL2hlbHAuaHRtbCIsCiAgaGVscF90ZXh0OiAiTmF2aWdhdGUgd2l0aCBtb3VzZSBjbGljaywgc3BhY2UgYmFyLCBDdXJzb3IgTGVmdC9SaWdodCwgIiArCiAgICAgICAgICAgICAib3IgUGcgVXAgYW5kIFBnIERuLiBVc2UgUyBhbmQgQiB0byBjaGFuZ2UgZm9udCBzaXplLiIsCgogIHNpemVfaW5kZXg6IDAsCiAgc2l6ZV9hZGp1c3RtZW50OiAwLAogIHNpemVzOiAgbmV3IEFycmF5KCIxMHB0IiwgIjEycHQiLCAiMTRwdCIsICIxNnB0IiwgIjE4cHQiLCAiMjBwdCIsCiAgICAgICAgICAgICAgICAgICAgIjIycHQiLCAiMjRwdCIsICIyNnB0IiwgIjI4cHQiLCAiMzBwdCIsICIzMnB0IiksCgogIC8vIG5lZWRlZCBmb3IgZWZmaWNpZW50IHJlc2l6aW5nCiAgbGFzdF93aWR0aDogMCwKICBsYXN0X2hlaWdodDogMCwKCgogIC8vIE5lZWRlZCBmb3IgY3Jvc3MgYnJvd3NlciBzdXBwb3J0IGZvciByZWxhdGl2ZSB3aWR0aC9oZWlnaHQgb24KICAvLyBvYmplY3QgZWxlbWVudHMuIFRoZSB3b3JrIGFyb3VuZCBpcyB0byBzYXZlIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzCiAgLy8gYW5kIHRoZW4gdG8gcmVjb21wdXRlIGFic29sdXRlIHdpZHRoL2hlaWdodCBkaW1lbnNpb25zIG9uIHJlc2l6aW5nCiAgIG9iamVjdHM6IFtdLAoKICAvLyBhdHRhY2ggaW5pdGlhbGlhdGlvbiBldmVudCBoYW5kbGVycwogIHNldF91cDogZnVuY3Rpb24gKCkgewogICAgdmFyIGluaXQgPSBmdW5jdGlvbigpIHsgdzNjX3NsaWR5LmluaXQoKTsgfTsKICAgIGlmICh0eXBlb2Ygd2luZG93LmFkZEV2ZW50TGlzdGVuZXIgIT0gInVuZGVmaW5lZCIpCiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOwogICAgZWxzZQogICAgICB3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsIGluaXQpOwogIH0sCgogIGhpZGVfc2xpZGVzOiBmdW5jdGlvbiAoKSB7CiAgICBpZiAoZG9jdW1lbnQuYm9keSAmJiAhdzNjX3NsaWR5LmluaXRpYWxpemVkKQogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgIGVsc2UKICAgICAgc2V0VGltZW91dCh3M2Nfc2xpZHkuaGlkZV9zbGlkZXMsIDUwKTsKICB9LAoKICAvLyBoYWNrIHRvIHBlcnN1YWRlIElFIHRvIGNvbXB1dGUgY29ycmVjdCBkb2N1bWVudCBoZWlnaHQKICAvLyBhcyBuZWVkZWQgZm9yIHNpbXVsYXRpbmcgZml4ZWQgcG9zaXRpb25pbmcgb2YgdG9vbGJhcgogIGllX2hhY2s6IGZ1bmN0aW9uICgpIHsKICAgIHdpbmRvdy5yZXNpemVCeSgwLC0xKTsKICAgIHdpbmRvdy5yZXNpemVCeSgwLCAxKTsKICB9LAoKICBpbml0OiBmdW5jdGlvbiAoKSB7CiAgICAvL2FsZXJ0KCJzbGlkeSBzdGFydGluZyB0ZXN0IDEwIik7CiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7CiAgICB0aGlzLmluaXRfbG9jYWxpemF0aW9uKCk7CiAgICB0aGlzLmFkZF90b29sYmFyKCk7CiAgICB0aGlzLndyYXBfaW1wbGljaXRfc2xpZGVzKCk7CiAgICB0aGlzLmNvbGxlY3Rfc2xpZGVzKCk7CiAgICB0aGlzLmNvbGxlY3Rfbm90ZXMoKTsKICAgIHRoaXMuY29sbGVjdF9iYWNrZ3JvdW5kcygpOwogICAgdGhpcy5vYmplY3RzID0gZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0Iik7CiAgICB0aGlzLnBhdGNoX2FuY2hvcnMoKTsKICAgIHRoaXMuc2xpZGVfbnVtYmVyID0gdGhpcy5maW5kX3NsaWRlX251bWJlcihsb2NhdGlvbi5ocmVmKTsKICAgIHdpbmRvdy5vZmZzY3JlZW5idWZmZXJpbmcgPSB0cnVlOwogICAgdGhpcy5zaXplX2FkanVzdG1lbnQgPSB0aGlzLmZpbmRfc2l6ZV9hZGp1c3QoKTsKICAgIHRoaXMudGltZV9sZWZ0ID0gdGhpcy5maW5kX2R1cmF0aW9uKCk7CiAgICB0aGlzLmhpZGVfaW1hZ2VfdG9vbGJhcigpOyAgLy8gc3VwcHJlc3MgSUUgaW1hZ2UgdG9vbGJhciBwb3B1cAogICAgdGhpcy5pbml0X291dGxpbmVyKCk7ICAvLyBhY3RpdmF0ZSBmb2xkL3VuZm9sZCBzdXBwb3J0CiAgICB0aGlzLnRpdGxlID0gZG9jdW1lbnQudGl0bGU7CiAgICB0aGlzLmtleWJvYXJkbGVzcyA9ICh0aGlzLmlwYWR8fHRoaXMuaXBob25lfHx0aGlzLmFuZHJvaWQpOwoKICAgIGlmICh0aGlzLmtleWJvYXJkbGVzcykKICAgIHsKICAgICAgdzNjX3NsaWR5LnJlbW92ZV9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpCiAgICAgIHRoaXMud2FudF90b29sYmFyID0gMDsKICAgIH0KCiAgICAvLyB3b3JrIGFyb3VuZCBmb3Igb3BlcmEgYnVnCiAgICB0aGlzLmlzX3hodG1sID0gKGRvY3VtZW50LmJvZHkudGFnTmFtZSA9PSAiQk9EWSIgPyBmYWxzZSA6IHRydWUpOwoKICAgIGlmICh0aGlzLnNsaWRlcy5sZW5ndGggPiAwKQogICAgewogICAgICB2YXIgc2xpZGUgPSB0aGlzLnNsaWRlc1t0aGlzLnNsaWRlX251bWJlcl07CiAgIAogICAgICBpZiAodGhpcy5zbGlkZV9udW1iZXIgPiAwKQogICAgICB7CiAgICAgICAgdGhpcy5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoInZpc2libGUiKTsKICAgICAgICB0aGlzLmxhc3Rfc2hvd24gPSB0aGlzLnByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW0obnVsbCk7CiAgICAgICAgdGhpcy5zZXRfZW9zX3N0YXR1cyh0cnVlKTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICB0aGlzLmxhc3Rfc2hvd24gPSBudWxsOwogICAgICAgIHRoaXMuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJoaWRkZW4iKTsKICAgICAgICB0aGlzLnNldF9lb3Nfc3RhdHVzKCF0aGlzLm5leHRfaW5jcmVtZW50YWxfaXRlbSh0aGlzLmxhc3Rfc2hvd24pKTsKICAgICAgfQoKICAgICAgdGhpcy5zZXRfbG9jYXRpb24oKTsKICAgICAgdGhpcy5hZGRfY2xhc3ModGhpcy5zbGlkZXNbMF0sICJmaXJzdC1zbGlkZSIpOwogICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZShzbGlkZSk7CiAgICB9CgogICAgdGhpcy50b2MgPSB0aGlzLnRhYmxlX29mX2NvbnRlbnRzKCk7CgogICAgdGhpcy5hZGRfaW5pdGlhbF9wcm9tcHQoKTsKCiAgICAvLyBiaW5kIGV2ZW50IGhhbmRsZXJzIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBjdXN0b20gcGFnZSBzY3JpcHRzCiAgICAvLyBUYXAgZXZlbnRzIGJlaGF2ZSB0b28gd2VpcmRseSB0byBzdXBwb3J0IGNsaWNrcyByZWxpYWJseSBvbgogICAgLy8gaVBob25lIGFuZCBpUGFkLCBzbyBleGNsdWRlIHRoZXNlIGZyb20gY2xpY2sgaGFuZGxlcgoKICAgIGlmICghdGhpcy5rZXlib2FyZGxlc3MpCiAgICB7CiAgICAgIHRoaXMuYWRkX2xpc3RlbmVyKGRvY3VtZW50LmJvZHksICJjbGljayIsIHRoaXMubW91c2VfYnV0dG9uX2NsaWNrKTsKICAgICAgdGhpcy5hZGRfbGlzdGVuZXIoZG9jdW1lbnQuYm9keSwgIm1vdXNlZG93biIsIHRoaXMubW91c2VfYnV0dG9uX2Rvd24pOwogICAgfQoKICAgIHRoaXMuYWRkX2xpc3RlbmVyKGRvY3VtZW50LCAia2V5ZG93biIsIHRoaXMua2V5X2Rvd24pOwogICAgdGhpcy5hZGRfbGlzdGVuZXIoZG9jdW1lbnQsICJrZXlwcmVzcyIsIHRoaXMua2V5X3ByZXNzKTsKICAgIHRoaXMuYWRkX2xpc3RlbmVyKHdpbmRvdywgInJlc2l6ZSIsIHRoaXMucmVzaXplZCk7CiAgICB0aGlzLmFkZF9saXN0ZW5lcih3aW5kb3csICJzY3JvbGwiLCB0aGlzLnNjcm9sbGVkKTsKICAgIHRoaXMuYWRkX2xpc3RlbmVyKHdpbmRvdywgInVubG9hZCIsIHRoaXMudW5sb2FkZWQpOwoKICAgIHRoaXMuYWRkX2xpc3RlbmVyKGRvY3VtZW50LCAiZ2VzdHVyZWNoYW5nZSIsIGZ1bmN0aW9uICgpCiAgICB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKICAgIHRoaXMuYXR0YWNoX3RvdWNoX2hhbmRlcnModGhpcy5zbGlkZXMpOwoKICAgIC8vIHRoaXMgc2VlbXMgdG8gYmUgYSBkZWJ1Z2dpbmcgaGFjawogICAgLy9pZiAoIWRvY3VtZW50LmJvZHkub25jbGljaykKICAgIC8vICBkb2N1bWVudC5ib2R5Lm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7IH07CgogICAgdGhpcy5zaW5nbGVfc2xpZGVfdmlldygpOwoKICAgIC8vdGhpcy5zZXRfbG9jYXRpb24oKTsKCiAgICB0aGlzLnJlc2l6ZWQoKTsKCiAgICBpZiAodGhpcy5pZTcpCiAgICAgIHNldFRpbWVvdXQodzNjX3NsaWR5LmllX2hhY2ssIDEwMCk7CgogICAgdGhpcy5zaG93X3Rvb2xiYXIoKTsKCiAgICAvLyBmb3IgYmFjayBidXR0b24gZGV0ZWN0aW9uCiAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7IHczY19zbGlkeS5jaGVja19sb2NhdGlvbigpOyB9LCAyMDApOwogICAgdzNjX3NsaWR5LmluaXRpYWxpemVkID0gdHJ1ZTsKICB9LAoKICAvLyBjcmVhdGUgZGl2IGVsZW1lbnQgd2l0aCBsaW5rcyB0byBlYWNoIHNsaWRlCiAgdGFibGVfb2ZfY29udGVudHM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciB0b2MgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJkaXYiKTsKICAgIHRoaXMuYWRkX2NsYXNzKHRvYywgInNsaWR5X3RvYyBoaWRkZW4iKTsKICAgIC8vdG9jLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCAiMCIpOwoKICAgIHZhciBoZWFkaW5nID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiZGl2Iik7CiAgICB0aGlzLmFkZF9jbGFzcyhoZWFkaW5nLCAidG9jLWhlYWRpbmciKTsKICAgIGhlYWRpbmcuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgiVGFibGUgb2YgQ29udGVudHMiKTsKCiAgICB0b2MuYXBwZW5kQ2hpbGQoaGVhZGluZyk7CiAgICB2YXIgcHJldmlvdXMgPSBudWxsOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zbGlkZXMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIHZhciB0aXRsZSA9IHRoaXMuaGFzX2NsYXNzKHRoaXMuc2xpZGVzW2ldLCAidGl0bGUiKTsKICAgICAgdmFyIG51bSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKChpICsgMSkgKyAiLiAiKTsKCiAgICAgIHRvYy5hcHBlbmRDaGlsZChudW0pOwoKICAgICAgdmFyIGEgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJhIik7CiAgICAgIGEuc2V0QXR0cmlidXRlKCJocmVmIiwgIiMoIiArIChpKzEpICsgIikiKTsKCiAgICAgIGlmICh0aXRsZSkKICAgICAgICB0aGlzLmFkZF9jbGFzcyhhLCAidGl0bGVzbGlkZSIpOwoKICAgICAgdmFyIG5hbWUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLnNsaWRlX25hbWUoaSkpOwogICAgICBhLmFwcGVuZENoaWxkKG5hbWUpOwogICAgICBhLm9uY2xpY2sgPSB3M2Nfc2xpZHkudG9jX2NsaWNrOwogICAgICBhLm9ua2V5ZG93biA9IHczY19zbGlkeS50b2Nfa2V5X2Rvd247CiAgICAgIGEucHJldmlvdXMgPSBwcmV2aW91czsKCiAgICAgIGlmIChwcmV2aW91cykKICAgICAgICBwcmV2aW91cy5uZXh0ID0gYTsKCiAgICAgIHRvYy5hcHBlbmRDaGlsZChhKTsKCiAgICAgIGlmIChpID09IDApCiAgICAgICAgdG9jLmZpcnN0ID0gYTsKCiAgICAgIGlmIChpIDwgdGhpcy5zbGlkZXMubGVuZ3RoIC0gMSkKICAgICAgewogICAgICAgIHZhciBiciA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImJyIik7CiAgICAgICAgdG9jLmFwcGVuZENoaWxkKGJyKTsKICAgICAgfQoKICAgICAgcHJldmlvdXMgPSBhOwogICAgfQoKICAgIHRvYy5mb2N1cyA9IGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKHRoaXMuZmlyc3QpCiAgICAgICAgdGhpcy5maXJzdC5mb2N1cygpOwogICAgfQoKICAgIHRvYy5vbm1vdXNldXAgPSB3M2Nfc2xpZHkubW91c2VfYnV0dG9uX3VwOwoKICAgIHRvYy5vbmNsaWNrID0gZnVuY3Rpb24gKGUpIHsKICAgICAgZXx8KGU9d2luZG93LmV2ZW50KTsKCiAgICAgIGlmICh3M2Nfc2xpZHkuc2VsZWN0ZWRfdGV4dF9sZW4gPD0gMCkKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfdGFibGVfb2ZfY29udGVudHModHJ1ZSk7CgogICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihlKTsKICAgIAogICAgICBpZiAoZS5jYW5jZWwgIT0gdW5kZWZpbmVkKQogICAgICAgIGUuY2FuY2VsID0gdHJ1ZTsKICAgICAgCiAgICAgIGlmIChlLnJldHVyblZhbHVlICE9IHVuZGVmaW5lZCkKICAgICAgICBlLnJldHVyblZhbHVlID0gZmFsc2U7CiAgICAgIAogICAgICByZXR1cm4gZmFsc2U7CiAgICB9OwoKICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRvYywgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTsKICAgIHJldHVybiB0b2M7CiAgfSwKCiAgaXNfc2hvd25fdG9jOiBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gIXczY19zbGlkeS5oYXNfY2xhc3ModzNjX3NsaWR5LnRvYywgImhpZGRlbiIpOwogIH0sCgogIHNob3dfdGFibGVfb2ZfY29udGVudHM6IGZ1bmN0aW9uICgpIHsKICAgIHczY19zbGlkeS5yZW1vdmVfY2xhc3ModzNjX3NsaWR5LnRvYywgImhpZGRlbiIpOwogICAgdmFyIHRvYyA9IHczY19zbGlkeS50b2M7CiAgICB0b2MuZm9jdXMoKTsKCiAgICBpZiAodzNjX3NsaWR5LmllNyAmJiB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID09IDApCiAgICAgIHNldFRpbWVvdXQodzNjX3NsaWR5LmllX2hhY2ssIDEwMCk7CiAgfSwKCiAgaGlkZV90YWJsZV9vZl9jb250ZW50czogZnVuY3Rpb24gKGZvY3VzKSB7CiAgICB3M2Nfc2xpZHkuYWRkX2NsYXNzKHczY19zbGlkeS50b2MsICJoaWRkZW4iKTsKCiAgICBpZiAoZm9jdXMgJiYgIXczY19zbGlkeS5vcGVyYSAmJgogICAgICAgICF3M2Nfc2xpZHkuaGFzX2NsYXNzKHczY19zbGlkeS50b2MsICJoaWRkZW4iKSkKICAgICAgdzNjX3NsaWR5LnNldF9mb2N1cygpOwogIH0sCgogIHRvZ2dsZV90YWJsZV9vZl9jb250ZW50czogZnVuY3Rpb24gKCkgewogICAgaWYgKHczY19zbGlkeS5pc19zaG93bl90b2MoKSkKICAgICAgdzNjX3NsaWR5LmhpZGVfdGFibGVfb2ZfY29udGVudHModHJ1ZSk7CiAgICBlbHNlCiAgICAgIHczY19zbGlkeS5zaG93X3RhYmxlX29mX2NvbnRlbnRzKCk7CiAgfSwKCiAgLy8gY2FsbGVkIG9uIGNsaWNraW5nIHRvYyBlbnRyeQogIHRvY19jbGljazogZnVuY3Rpb24gKGUpIHsKICAgIGlmICghZSkKICAgICAgZSA9IHdpbmRvdy5ldmVudDsKCiAgICB2YXIgdGFyZ2V0ID0gdzNjX3NsaWR5LmdldF90YXJnZXQoZSk7CgogICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZVR5cGUgPT0gMSkKICAgIHsKICAgICAgdmFyIHVyaSA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoImhyZWYiKTsKCiAgICAgIGlmICh1cmkpCiAgICAgIHsKICAgICAgICAvL2FsZXJ0KCJnb2luZyB0byAiICsgdXJpKTsKICAgICAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgIHczY19zbGlkeS5oaWRlX3NsaWRlKHNsaWRlKTsKICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID0gdzNjX3NsaWR5LmZpbmRfc2xpZGVfbnVtYmVyKHVyaSk7CiAgICAgICAgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgIHczY19zbGlkeS5sYXN0X3Nob3duID0gbnVsbDsKICAgICAgICB3M2Nfc2xpZHkuc2V0X2xvY2F0aW9uKCk7CiAgICAgICAgdzNjX3NsaWR5LnNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbCgiaGlkZGVuIik7CiAgICAgICAgdzNjX3NsaWR5LnNldF9lb3Nfc3RhdHVzKCF3M2Nfc2xpZHkubmV4dF9pbmNyZW1lbnRhbF9pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKSk7CiAgICAgICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgICAgIC8vdGFyZ2V0LmZvY3VzKCk7CgogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgIGlmICghdzNjX3NsaWR5Lm9wZXJhKQogICAgICAgICAgICB3M2Nfc2xpZHkuc2V0X2ZvY3VzKCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChlKQogICAgICAgIHsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICB3M2Nfc2xpZHkuaGlkZV90YWJsZV9vZl9jb250ZW50cyh0cnVlKTsKICAgIGlmICh3M2Nfc2xpZHkuaWU3KSB3M2Nfc2xpZHkuaWVfaGFjaygpOwogICAgdzNjX3NsaWR5LnN0b3BfcHJvcGFnYXRpb24oZSk7CiAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChlKTsKICB9LAoKICAvLyBjYWxsZWQgb25rZXlkb3duIGZvciB0b2MgZW50cnkKICB0b2Nfa2V5X2Rvd246IGZ1bmN0aW9uIChldmVudCkgewogICAgdmFyIGtleTsKCiAgICBpZiAoIWV2ZW50KQogICAgICB2YXIgZXZlbnQgPSB3aW5kb3cuZXZlbnQ7CgogICAgLy8ga2x1ZGdlIGFyb3VuZCBOUy9JRSBkaWZmZXJlbmNlcyAKICAgIGlmICh3aW5kb3cuZXZlbnQpCiAgICAgIGtleSA9IHdpbmRvdy5ldmVudC5rZXlDb2RlOwogICAgZWxzZSBpZiAoZXZlbnQud2hpY2gpCiAgICAgIGtleSA9IGV2ZW50LndoaWNoOwogICAgZWxzZQogICAgICByZXR1cm4gdHJ1ZTsgLy8gWWlrZXMhIHVua25vd24gYnJvd3NlcgoKICAgIC8vIGlnbm9yZSBldmVudCBpZiBrZXkgdmFsdWUgaXMgemVybwogICAgLy8gYXMgZm9yIGFsdCBvbiBPcGVyYSBhbmQgS29ucXVlcm9yCiAgICBpZiAoIWtleSkKICAgICAgcmV0dXJuIHRydWU7CgogICAgLy8gY2hlY2sgZm9yIGNvbmN1cnJlbnQgY29udHJvbC9jb21tYW5kL2FsdCBrZXkKICAgIC8vIGJ1dCBhcmUgdGhlc2Ugb25seSBwcmVzZW50IG9uIG1vdXNlIGV2ZW50cz8KCiAgICBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5hbHRLZXkpCiAgICAgIHJldHVybiB0cnVlOwoKICAgIGlmIChrZXkgPT0gMTMpCiAgICB7CiAgICAgIHZhciB1cmkgPSB0aGlzLmdldEF0dHJpYnV0ZSgiaHJlZiIpOwoKICAgICAgaWYgKHVyaSkKICAgICAgewogICAgICAgIC8vYWxlcnQoImdvaW5nIHRvICIgKyB1cmkpOwogICAgICAgdmFyIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICB3M2Nfc2xpZHkuaGlkZV9zbGlkZShzbGlkZSk7CiAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IHczY19zbGlkeS5maW5kX3NsaWRlX251bWJlcih1cmkpOwogICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IG51bGw7CiAgICAgICAgdzNjX3NsaWR5LnNldF9sb2NhdGlvbigpOwogICAgICAgIHczY19zbGlkeS5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoImhpZGRlbiIpOwogICAgICAgIHczY19zbGlkeS5zZXRfZW9zX3N0YXR1cyghdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbSh3M2Nfc2xpZHkubGFzdF9zaG93bikpOwogICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgICAvL3RhcmdldC5mb2N1cygpOwoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICBpZiAoIXczY19zbGlkeS5vcGVyYSkKICAgICAgICAgICAgdzNjX3NsaWR5LnNldF9mb2N1cygpOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoZSkKICAgICAgICB7CiAgICAgICAgfQogICAgICB9CgogICAgICB3M2Nfc2xpZHkuaGlkZV90YWJsZV9vZl9jb250ZW50cyh0cnVlKTsKCiAgICAgIGlmIChzZWxmLmllNykKICAgICAgIHczY19zbGlkeS5pZV9oYWNrKCk7CgogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CgogICAgaWYgKGtleSA9PSA0MCAmJiB0aGlzLm5leHQpCiAgICB7CiAgICAgIHRoaXMubmV4dC5mb2N1cygpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CgogICAgaWYgKGtleSA9PSAzOCAmJiB0aGlzLnByZXZpb3VzKQogICAgewogICAgICB0aGlzLnByZXZpb3VzLmZvY3VzKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KCiAgICByZXR1cm4gdHJ1ZTsKICB9LAoKICB0b3VjaHN0YXJ0OiBmdW5jdGlvbiAoZSkKICB7CiAgICAvLyBhIGRvdWJsZSB0b3VjaCBvZnRlbiBzdGFydHMgd2l0aCBhCiAgICAvLyBzaW5nbGUgdG91Y2ggZHVlIHRvIGZpbmdlcnMgdG91Y2hpbmcKICAgIC8vIGRvd24gYXQgc2xpZ2h0bHkgZGlmZmVyZW50IHRpbWVzCiAgICAvLyB0aHVzIGF2b2lkIGNhbGxpbmcgcHJldmVudERlZmF1bHQgaGVyZQogICAgdGhpcy5wcmV2X3RhcCA9IHRoaXMubGFzdF90YXA7CiAgICB0aGlzLmxhc3RfdGFwID0gKG5ldyBEYXRlKS5nZXRUaW1lKCk7CgogICAgdmFyIHRhcF9kZWxheSA9IHRoaXMubGFzdF90YXAgLSB0aGlzLnByZXZfdGFwOwoKICAgIGlmICh0YXBfZGVsYXkgPD0gMjAwKQogICAgewogICAgICAvLyBkb3VibGUgdGFwCiAgICB9CgogICAgdmFyIHRvdWNoID0gZS50b3VjaGVzWzBdOwoKICAgIHRoaXMucGFnZVggPSB0b3VjaC5wYWdlWDsKICAgIHRoaXMucGFnZVkgPSB0b3VjaC5wYWdlWTsKICAgIHRoaXMuc2NyZWVuWCA9IHRvdWNoLnNjcmVlblg7CiAgICB0aGlzLnNjcmVlblkgPSB0b3VjaC5zY3JlZW5ZOwogICAgdGhpcy5jbGllbnRYID0gdG91Y2guY2xpZW50WDsKICAgIHRoaXMuY2xpZW50WSA9IHRvdWNoLmNsaWVudFk7CgogICAgdGhpcy5kZWx0YV94ID0gdGhpcy5kZWx0YV95ID0gMDsKICB9LAoKICB0b3VjaG1vdmU6IGZ1bmN0aW9uIChlKQogIHsKICAgIC8vIG92ZXJyaWRlIG5hdGl2ZSBnZXN0dXJlcyBmb3Igc2luZ2xlIHRvdWNoCiAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA+IDEpCiAgICAgIHJldHVybjsKCiAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB2YXIgdG91Y2ggPSBlLnRvdWNoZXNbMF07CiAgICB0aGlzLmRlbHRhX3ggPSB0b3VjaC5wYWdlWCAtIHRoaXMucGFnZVg7CiAgICB0aGlzLmRlbHRhX3kgPSB0b3VjaC5wYWdlWSAtIHRoaXMucGFnZVk7CiAgfSwKCiAgdG91Y2hlbmQ6IGZ1bmN0aW9uIChlKQogIHsKICAgIC8vIGRlZmF1bHQgYmVoYXZpb3IgZm9yIG11bHRpLXRvdWNoCiAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA+IDEpCiAgICAgIHJldHVybjsKCiAgICB2YXIgZGVsYXkgPSAobmV3IERhdGUpLmdldFRpbWUoKSAtIHRoaXMubGFzdF90YXA7CiAgICB2YXIgZHggPSB0aGlzLmRlbHRhX3g7CiAgICB2YXIgZHkgPSB0aGlzLmRlbHRhX3k7CiAgICB2YXIgYWJzX2R4ID0gTWF0aC5hYnMoZHgpOwogICAgdmFyIGFic19keSA9IE1hdGguYWJzKGR5KTsKCiAgICBpZiAoZGVsYXkgPCA1MDAgJiYgKGFic19keCA+IDEwMCB8fCBhYnNfZHkgPiAxMDApKQogICAgewogICAgICBpZiAoYWJzX2R4ID4gMC41ICogYWJzX2R5KQogICAgICB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICBpZiAoZHggPCAwKQogICAgICAgICAgdzNjX3NsaWR5Lm5leHRfc2xpZGUodHJ1ZSk7CiAgICAgICAgZWxzZQogICAgICAgICAgdzNjX3NsaWR5LnByZXZpb3VzX3NsaWRlKHRydWUpOwogICAgICB9CiAgICAgIGVsc2UgaWYgKGFic19keSA+IDIgKiBhYnNfZHgpCiAgICAgIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdzNjX3NsaWR5LnRvZ2dsZV90YWJsZV9vZl9jb250ZW50cygpOwogICAgICB9CiAgICB9CiAgfSwKCiAgLy8gIyMjIE9CU09MRVRFICMjIwogIGJlZm9yZV9wcmludDogZnVuY3Rpb24gKCkgewogICAgdGhpcy5zaG93X2FsbF9zbGlkZXMoKTsKICAgIHRoaXMuaGlkZV90b29sYmFyKCk7CiAgICBhbGVydCgiYmVmb3JlIHByaW50Iik7CiAgfSwKCiAgLy8gIyMjIE9CU09MRVRFICMjIwogIGFmdGVyX3ByaW50OiBmdW5jdGlvbiAoKSB7CiAgICBpZiAoIXRoaXMudmlld19hbGwpCiAgICB7CiAgICAgIHRoaXMuc2luZ2xlX3NsaWRlX3ZpZXcoKTsKICAgICAgdGhpcy5zaG93X3Rvb2xiYXIoKTsKICAgIH0KICAgIGFsZXJ0KCJhZnRlciBwcmludCIpOwogIH0sCgogIC8vICMjIyBPQlNPTEVURSAjIyMKICBwcmludF9zbGlkZXM6IGZ1bmN0aW9uICgpIHsKICAgIHRoaXMuYmVmb3JlX3ByaW50KCk7CiAgICB3aW5kb3cucHJpbnQoKTsKICAgIHRoaXMuYWZ0ZXJfcHJpbnQoKTsKICB9LAoKICAvLyAjIyMgT0JTT0xFVEUgPz8gIyMjCiAgdG9nZ2xlX3ZpZXc6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh0aGlzLnZpZXdfYWxsKQogICAgewogICAgICB0aGlzLnNpbmdsZV9zbGlkZV92aWV3KCk7CiAgICAgIHRoaXMuc2hvd190b29sYmFyKCk7CiAgICAgIHRoaXMudmlld19hbGwgPSAwOwogICAgfQogICAgZWxzZQogICAgewogICAgICB0aGlzLnNob3dfYWxsX3NsaWRlcygpOwogICAgICB0aGlzLmhpZGVfdG9vbGJhcigpOwogICAgICB0aGlzLnZpZXdfYWxsID0gMTsKICAgIH0KICB9LAoKICAvLyBwcmVwYXJlIGZvciBwcmludGluZyAgIyMjIE9CU09MRVRFICMjIwogIHNob3dfYWxsX3NsaWRlczogZnVuY3Rpb24gKCkgewogICAgdGhpcy5yZW1vdmVfY2xhc3MoZG9jdW1lbnQuYm9keSwgInNpbmdsZV9zbGlkZSIpOwogICAgdGhpcy5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoInZpc2libGUiKTsKICB9LAoKICAvLyByZXN0b3JlIGFmdGVyIHByaW50aW5nICAjIyMgT0JTT0xFVEUgIyMjCiAgc2luZ2xlX3NsaWRlX3ZpZXc6IGZ1bmN0aW9uICgpIHsKICAgIHRoaXMuYWRkX2NsYXNzKGRvY3VtZW50LmJvZHksICJzaW5nbGVfc2xpZGUiKTsKICAgIHRoaXMuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJ2aXNpYmxlIik7CiAgICB0aGlzLmxhc3Rfc2hvd24gPSB0aGlzLnByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW0obnVsbCk7CiAgfSwKCiAgLy8gc3VwcHJlc3MgSUUncyBpbWFnZSB0b29sYmFyIHBvcCB1cAogIGhpZGVfaW1hZ2VfdG9vbGJhcjogZnVuY3Rpb24gKCkgewogICAgaWYgKCF0aGlzLm5zX3BvcykKICAgIHsKICAgICAgdmFyIGltYWdlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJTUciKTsKCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzLmxlbmd0aDsgKytpKQogICAgICAgIGltYWdlc1tpXS5zZXRBdHRyaWJ1dGUoImdhbGxlcnlpbWciLCAibm8iKTsKICAgIH0KICB9LAoKICB1bmxvYWRlZDogZnVuY3Rpb24gKGUpIHsKICAgIC8vYWxlcnQoInVubG9hZGVkIik7CiAgfSwKCiAgLy8gU2FmYXJpIGFuZCBLb25xdWVyb3IgZG9uJ3QgeWV0IHN1cHBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSgpCiAgLy8gYW5kIHRoZXkgYWx3YXlzIHJlbG9hZCBwYWdlIHdoZW4gbG9jYXRpb24uaHJlZiBpcyB1cGRhdGVkCiAgaXNfS0hUTUw6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBhZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7CiAgICByZXR1cm4gKGFnZW50LmluZGV4T2YoIktIVE1MIikgPj0gMCA/IHRydWUgOiBmYWxzZSk7CiAgfSwKCiAgLy8gZmluZCBzbGlkZSBuYW1lIGZyb20gZmlyc3QgaDEgZWxlbWVudAogIC8vIGRlZmF1bHQgdG8gZG9jdW1lbnQgdGl0bGUgKyBzbGlkZSBudW1iZXIKICBzbGlkZV9uYW1lOiBmdW5jdGlvbiAoaW5kZXgpIHsKICAgIHZhciBuYW1lID0gbnVsbDsKICAgIHZhciBzbGlkZSA9IHRoaXMuc2xpZGVzW2luZGV4XTsKCiAgICB2YXIgaGVhZGluZyA9IHRoaXMuZmluZF9oZWFkaW5nKHNsaWRlKTsKCiAgICBpZiAoaGVhZGluZykKICAgICAgbmFtZSA9IHRoaXMuZXh0cmFjdF90ZXh0KGhlYWRpbmcpOwoKICAgIGlmICghbmFtZSkKICAgICAgbmFtZSA9IHRoaXMudGl0bGUgKyAiKCIgKyAoaW5kZXggKyAxKSArICIpIjsKCiAgICBuYW1lLnJlcGxhY2UoL1wmL2csICImYW1wOyIpOwogICAgbmFtZS5yZXBsYWNlKC9cPC9nLCAiJmx0OyIpOwogICAgbmFtZS5yZXBsYWNlKC9cPi9nLCAiJmd0OyIpOwoKICAgIHJldHVybiBuYW1lOwogIH0sCgogIC8vIGZpbmQgZmlyc3QgaDEgZWxlbWVudCBpbiBET00gdHJlZQogIGZpbmRfaGVhZGluZzogZnVuY3Rpb24gKG5vZGUpIHsKICAgIGlmICghbm9kZSB8fCBub2RlLm5vZGVUeXBlICE9IDEpCiAgICAgIHJldHVybiBudWxsOwoKICAgIGlmIChub2RlLm5vZGVOYW1lID09ICJIMSIgfHwgbm9kZS5ub2RlTmFtZSA9PSAiaDEiKQogICAgICByZXR1cm4gbm9kZTsKCiAgICB2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7CgogICAgd2hpbGUgKGNoaWxkKQogICAgewogICAgICBub2RlID0gdGhpcy5maW5kX2hlYWRpbmcoY2hpbGQpOwoKICAgICAgaWYgKG5vZGUpCiAgICAgICAgcmV0dXJuIG5vZGU7CgogICAgICBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nOwogICAgfQoKICAgIHJldHVybiBudWxsOwogIH0sCgogIC8vIHJlY3Vyc2l2ZWx5IGV4dHJhY3QgdGV4dCBmcm9tIERPTSB0cmVlCiAgZXh0cmFjdF90ZXh0OiBmdW5jdGlvbiAobm9kZSkgewogICAgaWYgKCFub2RlKQogICAgICByZXR1cm4gIiI7CgogICAgLy8gdGV4dCBub2RlcwogICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMykKICAgICAgcmV0dXJuIG5vZGUubm9kZVZhbHVlOwoKICAgIC8vIGVsZW1lbnRzCiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAxKQogICAgewogICAgICBub2RlID0gbm9kZS5maXJzdENoaWxkOwogICAgICB2YXIgdGV4dCA9ICIiOwoKICAgICAgd2hpbGUgKG5vZGUpCiAgICAgIHsKICAgICAgICB0ZXh0ID0gdGV4dCArIHRoaXMuZXh0cmFjdF90ZXh0KG5vZGUpOwogICAgICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nOwogICAgICB9CgogICAgICByZXR1cm4gdGV4dDsKICAgIH0KCiAgICByZXR1cm4gIiI7CiAgfSwKCiAgLy8gZmluZCBjb3B5cmlnaHQgdGV4dCBmcm9tIG1ldGEgZWxlbWVudAogIGZpbmRfY29weXJpZ2h0OiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgbmFtZSwgY29udGVudDsKICAgIHZhciBtZXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1ldGEubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIG5hbWUgPSBtZXRhW2ldLmdldEF0dHJpYnV0ZSgibmFtZSIpOwogICAgICBjb250ZW50ID0gbWV0YVtpXS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKTsKCiAgICAgIGlmIChuYW1lID09ICJjb3B5cmlnaHQiKQogICAgICAgIHJldHVybiBjb250ZW50OwogICAgfQoKICAgIHJldHVybiBudWxsOwogIH0sCgogIGZpbmRfc2l6ZV9hZGp1c3Q6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBuYW1lLCBjb250ZW50LCBvZmZzZXQ7CiAgICB2YXIgbWV0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJtZXRhIik7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXRhLmxlbmd0aDsgKytpKQogICAgewogICAgICBuYW1lID0gbWV0YVtpXS5nZXRBdHRyaWJ1dGUoIm5hbWUiKTsKICAgICAgY29udGVudCA9IG1ldGFbaV0uZ2V0QXR0cmlidXRlKCJjb250ZW50Iik7CgogICAgICBpZiAobmFtZSA9PSAiZm9udC1zaXplLWFkanVzdG1lbnQiKQogICAgICAgIHJldHVybiAxICogY29udGVudDsKICAgIH0KCiAgICByZXR1cm4gMTsKICB9LAoKICAvLyA8bWV0YSBuYW1lPSJkdXJhdGlvbiIgY29udGVudD0iMjAiIC8+ICBmb3IgMjAgbWludXRlcwogIGZpbmRfZHVyYXRpb246IGZ1bmN0aW9uICgpIHsKICAgIHZhciBuYW1lLCBjb250ZW50LCBvZmZzZXQ7CiAgICB2YXIgbWV0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJtZXRhIik7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXRhLmxlbmd0aDsgKytpKQogICAgewogICAgICBuYW1lID0gbWV0YVtpXS5nZXRBdHRyaWJ1dGUoIm5hbWUiKTsKICAgICAgY29udGVudCA9IG1ldGFbaV0uZ2V0QXR0cmlidXRlKCJjb250ZW50Iik7CgogICAgICBpZiAobmFtZSA9PSAiZHVyYXRpb24iKQogICAgICAgIHJldHVybiA2MDAwMCAqIGNvbnRlbnQ7CiAgICB9CgogICAgcmV0dXJuIG51bGw7CiAgfSwKCiAgcmVwbGFjZV9ieV9ub25fYnJlYWtpbmdfc3BhY2U6IGZ1bmN0aW9uIChzdHIpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKQogICAgICBzdHJbaV0gPSAxNjA7CiAgfSwKCiAgLy8gIyMjIENIRUNLIE1FICMjIyBpcyB1c2Ugb2YgImxpIiBva2F5IGZvciB0ZXh0L2h0bWw/CiAgLy8gZm9yIFhIVE1MIGRvIHdlIGFsc28gbmVlZCB0byBzcGVjaWZ5IG5hbWVzcGFjZT8KICBpbml0X291dGxpbmVyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgaXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGkiKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKQogICAgewogICAgICB2YXIgdGFyZ2V0ID0gaXRlbXNbaV07CgogICAgICBpZiAoIXRoaXMuaGFzX2NsYXNzKHRhcmdldC5wYXJlbnROb2RlLCAib3V0bGluZSIpKQogICAgICAgIGNvbnRpbnVlOwoKICAgICAgdGFyZ2V0Lm9uY2xpY2sgPSB0aGlzLm91dGxpbmVfY2xpY2s7Ci8qICMjIyBtb3JlIHdvcmsgbmVlZGVkIGZvciBJRTYKICAgICAgaWYgKCF0aGlzLm5zX3BvcykKICAgICAgewogICAgICAgIHRhcmdldC5vbm1vdXNlb3ZlciA9IHRoaXMuaG92ZXJfb3V0bGluZTsKICAgICAgICB0YXJnZXQub25tb3VzZW91dCA9IHRoaXMudW5ob3Zlcl9vdXRsaW5lOwogICAgICB9CiovCiAgICAgIGlmICh0aGlzLmZvbGRhYmxlKHRhcmdldCkpCiAgICAgIHsKICAgICAgICB0YXJnZXQuZm9sZGFibGUgPSB0cnVlOwogICAgICAgIHRhcmdldC5vbmZvY3VzID0gZnVuY3Rpb24gKCkge3czY19zbGlkeS5vdXRsaW5lID0gdGhpczt9OwogICAgICAgIHRhcmdldC5vbmJsdXIgPSBmdW5jdGlvbiAoKSB7dzNjX3NsaWR5Lm91dGxpbmUgPSBudWxsO307CgogICAgICAgIGlmICghdGFyZ2V0LmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSkKICAgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsKCiAgICAgICAgaWYgKHRoaXMuaGFzX2NsYXNzKHRhcmdldCwgImV4cGFuZCIpKQogICAgICAgICAgdGhpcy51bmZvbGQodGFyZ2V0KTsKICAgICAgICBlbHNlCiAgICAgICAgICB0aGlzLmZvbGQodGFyZ2V0KTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICB0aGlzLmFkZF9jbGFzcyh0YXJnZXQsICJub2ZvbGQiKTsKICAgICAgICB0YXJnZXQudmlzaWJsZSA9IHRydWU7CiAgICAgICAgdGFyZ2V0LmZvbGRhYmxlID0gZmFsc2U7CiAgICAgIH0KICAgIH0KICB9LAoKICBmb2xkYWJsZTogZnVuY3Rpb24gKGl0ZW0pIHsKICAgIGlmICghaXRlbSB8fCBpdGVtLm5vZGVUeXBlICE9IDEpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICB2YXIgbm9kZSA9IGl0ZW0uZmlyc3RDaGlsZDsKCiAgICB3aGlsZSAobm9kZSkKICAgIHsKICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSAmJiB0aGlzLmlzX2Jsb2NrKG5vZGUpKQogICAgICAgIHJldHVybiB0cnVlOwoKICAgICAgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmc7CiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwogIH0sCgogIC8vICMjIyBDSEVDSyBNRSAjIyMgc3dpdGNoIHRvIGFkZC9yZW1vdmUgImhpZGRlbiIgY2xhc3MKICBmb2xkOiBmdW5jdGlvbiAoaXRlbSkgewogICAgaWYgKGl0ZW0pCiAgICB7CiAgICAgIHRoaXMucmVtb3ZlX2NsYXNzKGl0ZW0sICJ1bmZvbGRlZCIpOwogICAgICB0aGlzLmFkZF9jbGFzcyhpdGVtLCAiZm9sZGVkIik7CiAgICB9CgogICAgdmFyIG5vZGUgPSBpdGVtID8gaXRlbS5maXJzdENoaWxkIDogbnVsbDsKCiAgICB3aGlsZSAobm9kZSkKICAgIHsKICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSAmJiB0aGlzLmlzX2Jsb2NrKG5vZGUpKSAvLyBlbGVtZW50CiAgICAgIHsKICAgICAgICAgdzNjX3NsaWR5LmFkZF9jbGFzcyhub2RlLCAiaGlkZGVuIik7CiAgICAgIH0KCiAgICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nOwogICAgfQoKICAgIGl0ZW0udmlzaWJsZSA9IGZhbHNlOwogIH0sCgogIC8vICMjIyBDSEVDSyBNRSAjIyMgc3dpdGNoIHRvIGFkZC9yZW1vdmUgImhpZGRlbiIgY2xhc3MKICB1bmZvbGQ6IGZ1bmN0aW9uIChpdGVtKSB7CiAgICBpZiAoaXRlbSkKICAgIHsKICAgICAgdGhpcy5hZGRfY2xhc3MoaXRlbSwgInVuZm9sZGVkIik7CiAgICAgIHRoaXMucmVtb3ZlX2NsYXNzKGl0ZW0sICJmb2xkZWQiKTsKICAgIH0KCiAgICB2YXIgbm9kZSA9IGl0ZW0gPyBpdGVtLmZpcnN0Q2hpbGQgOiBudWxsOwoKICAgIHdoaWxlIChub2RlKQogICAgewogICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAxICYmIHRoaXMuaXNfYmxvY2sobm9kZSkpIC8vIGVsZW1lbnQKICAgICAgewogICAgICAgIHczY19zbGlkeS5yZW1vdmVfY2xhc3Mobm9kZSwgImhpZGRlbiIpOwogICAgICB9CgogICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZzsKICAgIH0KCiAgICBpdGVtLnZpc2libGUgPSB0cnVlOwogIH0sCgogIG91dGxpbmVfY2xpY2s6IGZ1bmN0aW9uIChlKSB7CiAgICBpZiAoIWUpCiAgICAgIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgdmFyIHJpZ2h0Y2xpY2sgPSBmYWxzZTsKICAgIHZhciB0YXJnZXQgPSB3M2Nfc2xpZHkuZ2V0X3RhcmdldChlKTsKCiAgICB3aGlsZSAodGFyZ2V0ICYmIHRhcmdldC52aXNpYmxlID09IHVuZGVmaW5lZCkKICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7CgogICAgaWYgKCF0YXJnZXQpCiAgICAgIHJldHVybiB0cnVlOwoKICAgIGlmIChlLndoaWNoKQogICAgICByaWdodGNsaWNrID0gKGUud2hpY2ggPT0gMyk7CiAgICBlbHNlIGlmIChlLmJ1dHRvbikKICAgICAgcmlnaHRjbGljayA9IChlLmJ1dHRvbiA9PSAyKTsKCiAgICBpZiAoIXJpZ2h0Y2xpY2sgJiYgdGFyZ2V0LnZpc2libGUgIT0gdW5kZWZpbmVkKQogICAgewogICAgICBpZiAodGFyZ2V0LmZvbGRhYmxlKQogICAgICB7CiAgICAgICAgaWYgKHRhcmdldC52aXNpYmxlKQogICAgICAgICAgdzNjX3NsaWR5LmZvbGQodGFyZ2V0KTsKICAgICAgICBlbHNlCiAgICAgICAgICB3M2Nfc2xpZHkudW5mb2xkKHRhcmdldCk7CiAgICAgIH0KCiAgICAgIHczY19zbGlkeS5zdG9wX3Byb3BhZ2F0aW9uKGUpOwogICAgICBlLmNhbmNlbCA9IHRydWU7CiAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKICAgIH0KCiAgICByZXR1cm4gZmFsc2U7CiAgfSwKCiAgYWRkX2luaXRpYWxfcHJvbXB0OiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgcHJvbXB0ID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiZGl2Iik7CiAgICBwcm9tcHQuc2V0QXR0cmlidXRlKCJjbGFzcyIsICJpbml0aWFsX3Byb21wdCIpOwoKICAgIHZhciBwMSA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoInAiKTsKICAgIHByb21wdC5hcHBlbmRDaGlsZChwMSk7CiAgICBwMS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgImhlbHAiKTsKCiAgICBpZiAodGhpcy5rZXlib2FyZGxlc3MpCiAgICAgIHAxLmlubmVySFRNTCA9ICJzd2lwZSBsZWZ0IHRvIG1vdmUgdG8gbmV4dCBzbGlkZSI7CiAgICBlbHNlCiAgICAgIHAxLmlubmVySFRNTCA9ICJTcGFjZSwgUmlnaHQgQXJyb3cgb3Igc3dpcGUgbGVmdCB0byBtb3ZlIHRvICIgKwogICAgICAgICAgICAgICAgICAgICAibmV4dCBzbGlkZSwgY2xpY2sgaGVscCBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzIjsKCiAgICB0aGlzLmFkZF9saXN0ZW5lcihwcm9tcHQsICJjbGljayIsIGZ1bmN0aW9uIChlKSB7CiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocHJvbXB0KTsKICAgICAgdzNjX3NsaWR5LnN0b3BfcHJvcGFnYXRpb24oZSk7CiAgICAKICAgICAgaWYgKGUuY2FuY2VsICE9IHVuZGVmaW5lZCkKICAgICAgICBlLmNhbmNlbCA9IHRydWU7CiAgICAgIAogICAgICBpZiAoZS5yZXR1cm5WYWx1ZSAhPSB1bmRlZmluZWQpCiAgICAgICAgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlOwogICAgICAKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CgogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwcm9tcHQpOwogICAgdGhpcy5pbml0aWFsX3Byb21wdCA9IHByb21wdDsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwcm9tcHQpO30sIDUwMDApOwogIH0sCgogIGFkZF90b29sYmFyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgY291bnRlciwgcGFnZTsKCiAgICAgdGhpcy50b29sYmFyID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiZGl2Iik7CiAgICAgdGhpcy50b29sYmFyLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCAidG9vbGJhciIpOwoKICAgICAvLyBhIHJlYXNvbmFibHkgYmVoYXZlZCBicm93c2VyCiAgICAgaWYgKHRoaXMubnNfcG9zIHx8ICF0aGlzLmllNikKICAgICB7CiAgICAgICB2YXIgcmlnaHQgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJkaXYiKTsKICAgICAgIHJpZ2h0LnNldEF0dHJpYnV0ZSgic3R5bGUiLCAiZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodCIpOwoKICAgICAgIGNvdW50ZXIgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIikKICAgICAgIGNvdW50ZXIuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgic2xpZGUiKSArICIgbi9tIjsKICAgICAgIHJpZ2h0LmFwcGVuZENoaWxkKGNvdW50ZXIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKHJpZ2h0KTsKCiAgICAgICB2YXIgbGVmdCA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImRpdiIpOwogICAgICAgbGVmdC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgInRleHQtYWxpZ246IGxlZnQiKTsKCiAgICAgICAvLyBnbG9iYWwgZW5kIG9mIHNsaWRlIGluZGljYXRvcgogICAgICAgdGhpcy5lb3MgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIik7CiAgICAgICB0aGlzLmVvcy5pbm5lckhUTUwgPSAiKiAiOwogICAgICAgbGVmdC5hcHBlbmRDaGlsZCh0aGlzLmVvcyk7CgogICAgICAgdmFyIGhlbHAgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJhIik7CiAgICAgICBoZWxwLnNldEF0dHJpYnV0ZSgiaHJlZiIsIHRoaXMuaGVscF9wYWdlKTsKICAgICAgIGhlbHAuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIHRoaXMubG9jYWxpemUodGhpcy5oZWxwX3RleHQpKTsKICAgICAgIGhlbHAuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgiaGVscD8iKTsKICAgICAgIGxlZnQuYXBwZW5kQ2hpbGQoaGVscCk7CiAgICAgICBoZWxwLnN0eWxlLmRpc3BsYXk9Im5vbmUiOyAKICAgICAgIHRoaXMuaGVscF9hbmNob3IgPSBoZWxwOyAgLy8gc2F2ZSBmb3IgZm9jdXMgaGFjawoKICAgICAgIHZhciBnYXAxID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKTsKICAgICAgIGxlZnQuYXBwZW5kQ2hpbGQoZ2FwMSk7CgogICAgICAgdmFyIGNvbnRlbnRzID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiYSIpOwogICAgICAgY29udGVudHMuc2V0QXR0cmlidXRlKCJocmVmIiwgImphdmFzY3JpcHQ6dzNjX3NsaWR5LnRvZ2dsZV90YWJsZV9vZl9jb250ZW50cygpIik7CiAgICAgICBjb250ZW50cy5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgdGhpcy5sb2NhbGl6ZSgidGFibGUgb2YgY29udGVudHMiKSk7CiAgICAgICBjb250ZW50cy5pbm5lckhUTUwgPSB0aGlzLmxvY2FsaXplKCJDb250ZW50cyIpOwogICAgICAgbGVmdC5hcHBlbmRDaGlsZChjb250ZW50cyk7CgogICAgICAgdmFyIGdhcDIgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpOwogICAgICAgbGVmdC5hcHBlbmRDaGlsZChnYXAyKTsKCiAgICAgICB2YXIgY29weXJpZ2h0ID0gdGhpcy5maW5kX2NvcHlyaWdodCgpOwoKICAgICAgIGlmIChjb3B5cmlnaHQpCiAgICAgICB7CiAgICAgICAgIHZhciBzcGFuID0gdGhpcy5jcmVhdGVfZWxlbWVudCgic3BhbiIpOwogICAgICAgICBzcGFuLmNsYXNzTmFtZSA9ICJjb3B5cmlnaHQiOwogICAgICAgICBzcGFuLmlubmVySFRNTCA9IGNvcHlyaWdodDsKICAgICAgICAgbGVmdC5hcHBlbmRDaGlsZChzcGFuKTsKICAgICAgIH0KCiAgICAgICB0aGlzLnRvb2xiYXIuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsICIwIik7CiAgICAgICB0aGlzLnRvb2xiYXIuYXBwZW5kQ2hpbGQobGVmdCk7CiAgICAgfQogICAgIGVsc2UgLy8gSUU2IHNvIG5lZWQgdG8gd29yayBhcm91bmQgaXRzIHBvb3IgQ1NTIHN1cHBvcnQKICAgICB7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUucG9zaXRpb24gPSAodGhpcy5pZTcgPyAiZml4ZWQiIDogImFic29sdXRlIik7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUuekluZGV4ID0gIjIwMCI7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUud2lkdGggPSAiOTkuOSUiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLmhlaWdodCA9ICIxLjJlbSI7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUudG9wID0gImF1dG8iOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLmJvdHRvbSA9ICIwIjsKICAgICAgIHRoaXMudG9vbGJhci5zdHlsZS5sZWZ0ID0gIjAiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLnJpZ2h0ID0gIjAiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLnRleHRBbGlnbiA9ICJsZWZ0IjsKICAgICAgIHRoaXMudG9vbGJhci5zdHlsZS5mb250U2l6ZSA9ICI2MCUiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLmNvbG9yID0gInJlZCI7CiAgICAgICB0aGlzLnRvb2xiYXIuYm9yZGVyV2lkdGggPSAwOwogICAgICAgdGhpcy50b29sYmFyLmNsYXNzTmFtZSA9ICJ0b29sYmFyIjsKICAgICAgIHRoaXMudG9vbGJhci5zdHlsZS5iYWNrZ3JvdW5kID0gInJnYigyNDAsMjQwLDI0MCkiOwoKICAgICAgIC8vIHdvdWxkIGxpa2UgdG8gaGF2ZSBoZWxwIHRleHQgbGVmdCBhbGlnbmVkCiAgICAgICAvLyBhbmQgcGFnZSBjb3VudGVyIHJpZ2h0IGFsaWduZWQsIGZsb2F0aW5nCiAgICAgICAvLyBkaXYncyBkb24ndCB3b3JrLCBzbyBpbnN0ZWFkIHVzZSBuZXN0ZWQKICAgICAgIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZCBkaXYncy4KCiAgICAgICB2YXIgc3AgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIik7CiAgICAgICBzcC5pbm5lckhUTUwgPSAiJm5ic3A7Jm5ic3A7KiZuYnNwOyI7CiAgICAgICB0aGlzLnRvb2xiYXIuYXBwZW5kQ2hpbGQoc3ApOwogICAgICAgdGhpcy5lb3MgPSBzcDsgIC8vIGVuZCBvZiBzbGlkZSBpbmRpY2F0b3IKCiAgICAgICB2YXIgaGVscCA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImEiKTsKICAgICAgIGhlbHAuc2V0QXR0cmlidXRlKCJocmVmIiwgdGhpcy5oZWxwX3BhZ2UpOwogICAgICAgaGVscC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgdGhpcy5sb2NhbGl6ZSh0aGlzLmhlbHBfdGV4dCkpOwogICAgICAgaGVscC5pbm5lckhUTUwgPSB0aGlzLmxvY2FsaXplKCJoZWxwPyIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKGhlbHApOwogICAgICAgdGhpcy5oZWxwX2FuY2hvciA9IGhlbHA7ICAvLyBzYXZlIGZvciBmb2N1cyBoYWNrCgogICAgICAgdmFyIGdhcDEgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKGdhcDEpOwoKICAgICAgIHZhciBjb250ZW50cyA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImEiKTsKICAgICAgIGNvbnRlbnRzLnNldEF0dHJpYnV0ZSgiaHJlZiIsICJqYXZhc2NyaXB0OnRvZ2dsZVRhYmxlT2ZDb250ZW50cygpIik7CiAgICAgICBjb250ZW50cy5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgdGhpcy5sb2NhbGl6ZSgidGFibGUgb2YgY29udGVudHMiLmxvY2FsaXplKSk7CiAgICAgICBjb250ZW50cy5pbm5lckhUTUwgPSB0aGlzLmxvY2FsaXplKCJjb250ZW50cz8iKTsKICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmRDaGlsZChjb250ZW50cyk7CgogICAgICAgdmFyIGdhcDIgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKGdhcDIpOwoKICAgICAgIHZhciBjb3B5cmlnaHQgPSB0aGlzLmZpbmRfY29weXJpZ2h0KCk7CgogICAgICAgaWYgKGNvcHlyaWdodCkKICAgICAgIHsKICAgICAgICAgdmFyIHNwYW4gPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIik7CiAgICAgICAgIHNwYW4uaW5uZXJIVE1MID0gY29weXJpZ2h0OwogICAgICAgICBzcGFuLnN0eWxlLmNvbG9yID0gImJsYWNrIjsKICAgICAgICAgc3Bhbi5zdHlsZS5tYXJnaW5MZWZ0ID0gIjAuNWVtIjsKICAgICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKHNwYW4pOwogICAgICAgfQoKICAgICAgIGNvdW50ZXIgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJkaXYiKQogICAgICAgY291bnRlci5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICBjb3VudGVyLnN0eWxlLndpZHRoID0gImF1dG8iOyAvLyIyMCUiOwogICAgICAgY291bnRlci5zdHlsZS5oZWlnaHQgPSAiMS4yZW0iOwogICAgICAgY291bnRlci5zdHlsZS50b3AgPSAiYXV0byI7CiAgICAgICBjb3VudGVyLnN0eWxlLmJvdHRvbSA9IDA7CiAgICAgICBjb3VudGVyLnN0eWxlLnJpZ2h0ID0gIjAiOwogICAgICAgY291bnRlci5zdHlsZS50ZXh0QWxpZ24gPSAicmlnaHQiOwogICAgICAgY291bnRlci5zdHlsZS5jb2xvciA9ICJyZWQiOwogICAgICAgY291bnRlci5zdHlsZS5iYWNrZ3JvdW5kID0gInJnYigyNDAsMjQwLDI0MCkiOwoKICAgICAgIGNvdW50ZXIuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgic2xpZGUiKSArICIgbi9tIjsKICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmRDaGlsZChjb3VudGVyKTsKICAgICB9CgogICAgIC8vIGVuc3VyZSB0aGF0IGNsaWNrIGlzbid0IHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBwYWdlCiAgICAgdGhpcy50b29sYmFyLm9uY2xpY2sgPQogICAgICAgICBmdW5jdGlvbiAoZSkgewogICAgICAgICAgIGlmICghZSkKICAgICAgICAgICAgIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgICAgICAgIHZhciB0YXJnZXQgPSBlLnRhcmdldDsKCiAgICAgICAgICAgaWYgKCF0YXJnZXQgJiYgZS5zcmNFbGVtZW50KQogICAgICAgICAgICAgdGFyZ2V0ID0gZS5zcmNFbGVtZW50OwoKICAgICAgICAgICAvLyB3b3JrIGFyb3VuZCBTYWZhcmkgYnVnCiAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZVR5cGUgPT0gMykKICAgICAgICAgICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlOwoKICAgICAgICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihlKTsKCiAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPSAiYSIpCiAgICAgICAgICAgICB3M2Nfc2xpZHkubW91c2VfYnV0dG9uX2NsaWNrKGUpOwogICAgICAgICB9OwoKICAgICB0aGlzLnNsaWRlX251bWJlcl9lbGVtZW50ID0gY291bnRlcjsKICAgICB0aGlzLnNldF9lb3Nfc3RhdHVzKGZhbHNlKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudG9vbGJhcik7CiAgfSwKCiAgLy8gd3lzaXd5ZyBlZGl0b3JzIG1ha2UgaXQgaGFyZCB0byB1c2UgZGl2IGVsZW1lbnRzCiAgLy8gZS5nLiBhbWF5YSBsb3NlcyB0aGUgZGl2IHdoZW4geW91IGNvcHkgYW5kIHBhc3RlCiAgLy8gdGhpcyBmdW5jdGlvbiB3cmFwcyBkaXYgZWxlbWVudHMgYXJvdW5kIGltcGxpY2l0CiAgLy8gc2xpZGVzIHdoaWNoIHN0YXJ0IHdpdGggYW4gaDEgZWxlbWVudCBhbmQgY29udGludWUKICAvLyB1cCB0byB0aGUgbmV4dCBoZWFkaW5nIG9yIGRpdiBlbGVtZW50CiAgd3JhcF9pbXBsaWNpdF9zbGlkZXM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBpLCBoZWFkaW5nLCBub2RlLCBuZXh0LCBkaXY7CiAgICB2YXIgaGVhZGluZ3MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaDEiKTsKCiAgICBpZiAoIWhlYWRpbmdzKQogICAgICByZXR1cm47CgogICAgZm9yIChpID0gMDsgaSA8IGhlYWRpbmdzLmxlbmd0aDsgKytpKQogICAgewogICAgICBoZWFkaW5nID0gaGVhZGluZ3NbaV07CgogICAgICBpZiAoaGVhZGluZy5wYXJlbnROb2RlICE9IGRvY3VtZW50LmJvZHkpCiAgICAgICAgY29udGludWU7CgogICAgICBub2RlID0gaGVhZGluZy5uZXh0U2libGluZzsKCiAgICAgIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICB0aGlzLmFkZF9jbGFzcyhkaXYsICJzbGlkZSIpOwogICAgICBkb2N1bWVudC5ib2R5LnJlcGxhY2VDaGlsZChkaXYsIGhlYWRpbmcpOwogICAgICBkaXYuYXBwZW5kQ2hpbGQoaGVhZGluZyk7CgogICAgICB3aGlsZSAobm9kZSkKICAgICAgewogICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IDEpIC8vIGFuIGVsZW1lbnQKICAgICAgICB7CiAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT0gIkgxIiB8fCBub2RlLm5vZGVOYW1lID09ICJoMSIpCiAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT0gIkRJViIgfHwgbm9kZS5ub2RlTmFtZSA9PSAiZGl2IikKICAgICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhpcy5oYXNfY2xhc3Mobm9kZSwgInNsaWRlIikpCiAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgIGlmICh0aGlzLmhhc19jbGFzcyhub2RlLCAiaGFuZG91dCIpKQogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBuZXh0ID0gbm9kZS5uZXh0U2libGluZzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChub2RlKTsKICAgICAgICBkaXYuYXBwZW5kQ2hpbGQobm9kZSk7CiAgICAgICAgbm9kZSA9IG5leHQ7CiAgICAgIH0gCiAgICB9CiAgfSwKCiAgYXR0YWNoX3RvdWNoX2hhbmRlcnM6IGZ1bmN0aW9uKHNsaWRlcykKICB7CiAgICB2YXIgaSwgc2xpZGU7CgogICAgZm9yIChpID0gMDsgaSA8IHNsaWRlcy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgc2xpZGUgPSBzbGlkZXNbaV07CiAgICAgIHRoaXMuYWRkX2xpc3RlbmVyKHNsaWRlLCAidG91Y2hzdGFydCIsIHRoaXMudG91Y2hzdGFydCk7CiAgICAgIHRoaXMuYWRkX2xpc3RlbmVyKHNsaWRlLCAidG91Y2htb3ZlIiwgdGhpcy50b3VjaG1vdmUpOwogICAgICB0aGlzLmFkZF9saXN0ZW5lcihzbGlkZSwgInRvdWNoZW5kIiwgdGhpcy50b3VjaGVuZCk7CiAgICB9CiAgfSwKCi8vIHJldHVybiBuZXcgYXJyYXkgb2YgYWxsIHNsaWRlcwogIGNvbGxlY3Rfc2xpZGVzOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgc2xpZGVzID0gbmV3IEFycmF5KCk7CiAgICB2YXIgZGl2cyA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGl2cy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgZGl2ID0gZGl2cy5pdGVtKGkpOwoKICAgICAgaWYgKHRoaXMuaGFzX2NsYXNzKGRpdiwgInNsaWRlIikpCiAgICAgIHsKICAgICAgICAvLyBhZGQgc2xpZGUgdG8gY29sbGVjdGlvbgogICAgICAgIHNsaWRlc1tzbGlkZXMubGVuZ3RoXSA9IGRpdjsKCiAgICAgICAgLy8gaGlkZSBlYWNoIHNsaWRlIGFzIGl0IGlzIGZvdW5kCiAgICAgICAgdGhpcy5hZGRfY2xhc3MoZGl2LCAiaGlkZGVuIik7CgogICAgICAgIC8vIGFkZCBkdW1teSA8YnIvPiBhdCBlbmQgZm9yIHNjcm9sbGluZyBoYWNrCiAgICAgICAgdmFyIG5vZGUxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKTsKICAgICAgICBkaXYuYXBwZW5kQ2hpbGQobm9kZTEpOwogICAgICAgIHZhciBub2RlMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIik7CiAgICAgICAgZGl2LmFwcGVuZENoaWxkKG5vZGUyKTsKICAgICAgfQogICAgICBlbHNlIGlmICh0aGlzLmhhc19jbGFzcyhkaXYsICJiYWNrZ3JvdW5kIikpCiAgICAgIHsgIC8vIHdvcmsgYXJvdW5kIGZvciBGaXJlZm94IFNWRyByZWxvYWQgYnVnCiAgICAgICAgLy8gd2hpY2ggb3RoZXJ3aXNlIHJlcGxhY2VzIDFzdCBTVkcgZ3JhcGhpYyB3aXRoIDJuZAogICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKICAgICAgfQogICAgfQoKICAgIHRoaXMuc2xpZGVzID0gc2xpZGVzOwogIH0sCgogIC8vIHJldHVybiBuZXcgYXJyYXkgb2YgYWxsIDxkaXYgY2xhc3M9ImhhbmRvdXQiPgogIGNvbGxlY3Rfbm90ZXM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBub3RlcyA9IG5ldyBBcnJheSgpOwogICAgdmFyIGRpdnMgPSBkb2N1bWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRpdnMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIGRpdiA9IGRpdnMuaXRlbShpKTsKCiAgICAgIGlmICh0aGlzLmhhc19jbGFzcyhkaXYsICJoYW5kb3V0IikpCiAgICAgIHsKICAgICAgICAvLyBhZGQgbm90ZSB0byBjb2xsZWN0aW9uCiAgICAgICAgbm90ZXNbbm90ZXMubGVuZ3RoXSA9IGRpdjsKCiAgICAgICAgLy8gYW5kIGhpZGUgaXQKICAgICAgICB0aGlzLmFkZF9jbGFzcyhkaXYsICJoaWRkZW4iKTsKICAgICAgfQogICAgfQoKICAgIHRoaXMubm90ZXMgPSBub3RlczsKICB9LAoKICAvLyByZXR1cm4gbmV3IGFycmF5IG9mIGFsbCA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kIj4KICAvLyBpbmNsdWRpbmcgbmFtZWQgYmFja2dyb3VuZHMgZS5nLiBjbGFzcz0iYmFja2dyb3VuZCB0aXRsZXBhZ2UiCiAgY29sbGVjdF9iYWNrZ3JvdW5kczogZnVuY3Rpb24gKCkgewogICAgdmFyIGJhY2tncm91bmRzID0gbmV3IEFycmF5KCk7CiAgICB2YXIgZGl2cyA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGl2cy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgZGl2ID0gZGl2cy5pdGVtKGkpOwoKICAgICAgaWYgKHRoaXMuaGFzX2NsYXNzKGRpdiwgImJhY2tncm91bmQiKSkKICAgICAgewogICAgICAgIC8vIGFkZCBiYWNrZ3JvdW5kIHRvIGNvbGxlY3Rpb24KICAgICAgICBiYWNrZ3JvdW5kc1tiYWNrZ3JvdW5kcy5sZW5ndGhdID0gZGl2OwoKICAgICAgICAvLyBhbmQgaGlkZSBpdAogICAgICAgIHRoaXMuYWRkX2NsYXNzKGRpdiwgImhpZGRlbiIpOwogICAgICB9CiAgICB9CgogICAgdGhpcy5iYWNrZ3JvdW5kcyA9IGJhY2tncm91bmRzOwogIH0sCgogIC8vIHNldCBjbGljayBoYW5kbGVycyBvbiBhbGwgYW5jaG9ycwogIHBhdGNoX2FuY2hvcnM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBzZWxmID0gdzNjX3NsaWR5OwogICAgdmFyIGhhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgLy8gY29tcGFyZSB0aGlzLmhyZWYgd2l0aCBsb2NhdGlvbi5ocmVmCiAgICAgIC8vIGZvciBsaW5rIHRvIGFub3RoZXIgc2xpZGUgaW4gdGhpcyBkb2MKCiAgICAgIGlmIChzZWxmLnBhZ2VfYWRkcmVzcyh0aGlzLmhyZWYpID09IHNlbGYucGFnZV9hZGRyZXNzKGxvY2F0aW9uLmhyZWYpKQogICAgICB7CiAgICAgICAgLy8geWVzLCBzbyBmaW5kIG5ldyBzbGlkZSBudW1iZXIKICAgICAgICB2YXIgbmV3c2xpZGVudW0gPSBzZWxmLmZpbmRfc2xpZGVfbnVtYmVyKHRoaXMuaHJlZik7CgogICAgICAgIGlmIChuZXdzbGlkZW51bSAhPSBzZWxmLnNsaWRlX251bWJlcikKICAgICAgICB7CiAgICAgICAgICB2YXIgc2xpZGUgPSBzZWxmLnNsaWRlc1tzZWxmLnNsaWRlX251bWJlcl07CiAgICAgICAgICBzZWxmLmhpZGVfc2xpZGUoc2xpZGUpOwogICAgICAgICAgc2VsZi5zbGlkZV9udW1iZXIgPSBuZXdzbGlkZW51bTsKICAgICAgICAgIHNsaWRlID0gc2VsZi5zbGlkZXNbc2VsZi5zbGlkZV9udW1iZXJdOwogICAgICAgICAgc2VsZi5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgICAgIHNlbGYuc2V0X2xvY2F0aW9uKCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UKICAgICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihldmVudCk7CgovLyAgICAgIGVsc2UgaWYgKHRoaXMudGFyZ2V0ID09IG51bGwpCi8vICAgICAgICBsb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmOwoKICAgICAgdGhpcy5ibHVyKCk7CiAgICAgIHNlbGYuZGlzYWJsZV9zbGlkZV9jbGljayA9IHRydWU7CiAgICB9OwoKICAgIHZhciBhbmNob3JzID0gZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jaG9ycy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgaWYgKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKQogICAgICAgIGFuY2hvcnNbaV0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBoYW5kbGVyLCBmYWxzZSk7CiAgICAgIGVsc2UKICAgICAgICBhbmNob3JzW2ldLmF0dGFjaEV2ZW50KCJvbmNsaWNrIiwgaGFuZGxlcik7CiAgICB9CiAgfSwKCiAgLy8gIyMjIENIRUNLIE1FICMjIyBzZWUgd2hpY2ggZnVuY3Rpb25zIGFyZSBpbnZva2VkIHZpYSBzZXRUaW1lb3V0CiAgLy8gZWl0aGVyIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgZm9yIHVzZSBvZiB3M2Nfc2xpZHkgdnMgdGhpcwogIHNob3dfc2xpZGVfbnVtYmVyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgdGltZXIgPSB3M2Nfc2xpZHkuZ2V0X3RpbWVyKCk7CiAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyX2VsZW1lbnQuaW5uZXJIVE1MID0gdGltZXIgKyB3M2Nfc2xpZHkubG9jYWxpemUoInNsaWRlIikgKyAiICIgKwogICAgICAgICAgICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyICsgMSkgKyAiLyIgKyB3M2Nfc2xpZHkuc2xpZGVzLmxlbmd0aDsKICB9LAoKICAvLyBldmVyeSAyMDBtUyBjaGVjayBpZiB0aGUgbG9jYXRpb24gaGFzIGJlZW4gY2hhbmdlZCBhcyBhCiAgLy8gcmVzdWx0IG9mIHRoZSB1c2VyIGFjdGl2YXRpbmcgdGhlIEJhY2sgYnV0dG9uL21lbnUgaXRlbQogIC8vIGRvZXNuJ3Qgd29yayBmb3IgT3BlcmEgPCA5LjUKICBjaGVja19sb2NhdGlvbjogZnVuY3Rpb24gKCkgewogICAgdmFyIGhhc2ggPSBsb2NhdGlvbi5oYXNoOwoKICAgIGlmICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID4gMCAmJiAoaGFzaCA9PSAiIiB8fCBoYXNoID09ICIjIikpCiAgICAgIHczY19zbGlkeS5nb3RvX3NsaWRlKDApOwogICAgZWxzZSBpZiAoaGFzaC5sZW5ndGggPiAyICYmIGhhc2ggIT0gIiMoIisodzNjX3NsaWR5LnNsaWRlX251bWJlcisxKSsiKSIpCiAgICB7CiAgICAgIHZhciBudW0gPSBwYXJzZUludChsb2NhdGlvbi5oYXNoLnN1YnN0cigyKSk7CgogICAgICBpZiAoIWlzTmFOKG51bSkpCiAgICAgICAgdzNjX3NsaWR5LmdvdG9fc2xpZGUobnVtLTEpOwogICAgfQoKICAgIGlmICh3M2Nfc2xpZHkudGltZV9sZWZ0ICYmIHczY19zbGlkeS5zbGlkZV9udW1iZXIgPiAwKQogICAgewogICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZV9udW1iZXIoKTsKCiAgICAgIGlmICh3M2Nfc2xpZHkudGltZV9sZWZ0ID4gMCkKICAgICAgICB3M2Nfc2xpZHkudGltZV9sZWZ0IC09IDIwMDsKICAgIH0gCiAgfSwKCiAgZ2V0X3RpbWVyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgdGltZXIgPSAiIjsKICAgIGlmICh3M2Nfc2xpZHkudGltZV9sZWZ0KQogICAgewogICAgICB2YXIgbWlucywgc2VjczsKICAgICAgc2VjcyA9IE1hdGguZmxvb3IodzNjX3NsaWR5LnRpbWVfbGVmdC8xMDAwKTsKICAgICAgbWlucyA9IE1hdGguZmxvb3Ioc2VjcyAvIDYwKTsKICAgICAgc2VjcyA9IHNlY3MgJSA2MDsKICAgICAgdGltZXIgPSAobWlucyA/IG1pbnMrIm0iIDogIiIpICsgc2VjcyArICJzICI7CiAgICB9CgogICAgcmV0dXJuIHRpbWVyOwogIH0sCgogIC8vIHRoaXMgZG9lc24ndCBwdXNoIGxvY2F0aW9uIG9udG8gaGlzdG9yeSBzdGFjayBmb3IgSUUKICAvLyBmb3Igd2hpY2ggYSBoaWRkZW4gaWZyYW1lIGhhY2sgaXMgbmVlZGVkOiBsb2FkIHBhZ2UgaW50bwogIC8vIHRoZSBpZnJhbWUgd2l0aCBzY3JpcHQgdGhhdCBzZXQncyBwYXJlbnQncyBsb2NhdGlvbi5oYXNoCiAgLy8gYnV0IHRoYXQgd29uJ3Qgd29yayBmb3Igc3RhbmRhbG9uZSB1c2UgdW5sZXNzIHdlIGNhbgogIC8vIGNyZWF0ZSB0aGUgcGFnZSBkeW5hbWljYWxseSB2aWEgYSBqYXZhc2NyaXB0OiBVUkwKICAvLyAjIyMgdXNlIGhpc3RvcnkucHVzaFN0YXRlIGlmIGF2YWlsYWJsZQogIHNldF9sb2NhdGlvbjogZnVuY3Rpb24gKCkgewogICAgIHZhciB1cmkgPSB3M2Nfc2xpZHkucGFnZV9hZGRyZXNzKGxvY2F0aW9uLmhyZWYpOwogICAgIHZhciBoYXNoID0gIiMoIiArICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyKzEpICsgIikiOwoKICAgICBpZiAodzNjX3NsaWR5LnNsaWRlX251bWJlciA+PSAwKQogICAgICAgdXJpID0gdXJpICsgaGFzaDsKCiAgICAgaWYgKHR5cGVvZihoaXN0b3J5LnB1c2hTdGF0ZSkgIT0gInVuZGVmaW5lZCIgJiYgbG9jYXRpb24ucHJvdG9jb2wgIT09ICJmaWxlOiIpCiAgICAgewogICAgICAgZG9jdW1lbnQudGl0bGUgPSB3M2Nfc2xpZHkudGl0bGUgKyAiICgiICsgKHczY19zbGlkeS5zbGlkZV9udW1iZXIrMSkgKyAiKSI7CiAgICAgICBoaXN0b3J5LnB1c2hTdGF0ZSgwLCBkb2N1bWVudC50aXRsZSwgaGFzaCk7CiAgICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZV9udW1iZXIoKTsKICAgICAgIHczY19zbGlkeS5ub3RpZnlfb2JzZXJ2ZXJzKCk7CiAgICAgICByZXR1cm47CiAgICAgfQoKICAgICBpZiAodzNjX3NsaWR5LmllICYmICh3M2Nfc2xpZHkuaWU2IHx8IHczY19zbGlkeS5pZTcpKQogICAgICAgdzNjX3NsaWR5LnB1c2hfaGFzaChoYXNoKTsKCiAgICAgaWYgKHVyaSAhPSBsb2NhdGlvbi5ocmVmKSAvLyAmJiAha2h0bWwKICAgICAgICBsb2NhdGlvbi5ocmVmID0gdXJpOwoKICAgICBpZiAodGhpcy5raHRtbCkKICAgICAgICBoYXNoID0gIigiICsgKHczY19zbGlkeS5zbGlkZV9udW1iZXIrMSkgKyAiKSI7CgogICAgIGlmICghdGhpcy5pZSAmJiBsb2NhdGlvbi5oYXNoICE9IGhhc2ggJiYgbG9jYXRpb24uaGFzaCAhPSAiIikKICAgICAgIGxvY2F0aW9uLmhhc2ggPSBoYXNoOwoKICAgICBkb2N1bWVudC50aXRsZSA9IHczY19zbGlkeS50aXRsZSArICIgKCIgKyAodzNjX3NsaWR5LnNsaWRlX251bWJlcisxKSArICIpIjsKICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZV9udW1iZXIoKTsKICAgICB3M2Nfc2xpZHkubm90aWZ5X29ic2VydmVycygpOwogIH0sCgogIG5vdGlmeV9vYnNlcnZlcnM6IGZ1bmN0aW9uICgpCiAgewogICAgdmFyIHNsaWRlID0gdGhpcy5zbGlkZXNbdGhpcy5zbGlkZV9udW1iZXJdOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5vYnNlcnZlcnMubGVuZ3RoOyArK2kpCiAgICAgIHRoaXMub2JzZXJ2ZXJzW2ldKHRoaXMuc2xpZGVfbnVtYmVyKzEsIHRoaXMuZmluZF9oZWFkaW5nKHNsaWRlKS5pbm5lclRleHQsIGxvY2F0aW9uLmhyZWYpOwogIH0sCgogIGFkZF9vYnNlcnZlcjogZnVuY3Rpb24gKG9ic2VydmVyKQogIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5vYnNlcnZlcnMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIGlmIChvYnNlcnZlciA9PSB0aGlzLm9ic2VydmVyc1tpXSkKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdGhpcy5vYnNlcnZlcnMucHVzaChvYnNlcnZlcik7CiAgfSwKCiAgcmVtb3ZlX29ic2VydmVyOiBmdW5jdGlvbiAobykKICB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub2JzZXJ2ZXJzLmxlbmd0aDsgKytpKQogICAgewogICAgICBpZiAob2JzZXJ2ZXIgPT0gdGhpcy5vYnNlcnZlcnNbaV0pCiAgICAgIHsKICAgICAgICB0aGlzLm9ic2VydmVycy5zcGxpY2UoaSwxKTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH0sCgogIHBhZ2VfYWRkcmVzczogZnVuY3Rpb24gKHVyaSkgewogICAgdmFyIGkgPSB1cmkuaW5kZXhPZigiIyIpOwoKICAgIGlmIChpIDwgMCkKICAgICAgaSA9IHVyaS5pbmRleE9mKCIlMjMiKTsKCiAgICAvLyBjaGVjayBpZiBhbmNob3IgaXMgZW50aXJlIHBhZ2UKCiAgICBpZiAoaSA8IDApCiAgICAgIHJldHVybiB1cmk7ICAvLyB5ZXMKCiAgICByZXR1cm4gdXJpLnN1YnN0cigwLCBpKTsKICB9LAoKICAvLyBvbmx5IHVzZWQgZm9yIElFNiBhbmQgSUU3CiAgb25fZnJhbWVfbG9hZGVkOiBmdW5jdGlvbiAoaGFzaCkgewogICAgbG9jYXRpb24uaGFzaCA9IGhhc2g7CiAgICB2YXIgdXJpID0gdzNjX3NsaWR5LnBhZ2VfYWRkcmVzcyhsb2NhdGlvbi5ocmVmKTsKICAgIGxvY2F0aW9uLmhyZWYgPSB1cmkgKyBoYXNoOwogIH0sCgogIC8vIGhpc3RvcnkgaGFjayB3aXRoIHRoYW5rcyB0byBCZXJ0cmFuZCBMZSBSb3kKICBwdXNoX2hhc2g6IGZ1bmN0aW9uIChoYXNoKSB7CiAgICBpZiAoaGFzaCA9PSAiIikgaGFzaCA9ICIjKDEpIjsKICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoOwoKICAgIHZhciBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGlzdG9yeUZyYW1lIikuY29udGVudFdpbmRvdy5kb2N1bWVudDsKICAgIGRvYy5vcGVuKCJqYXZhc2NyaXB0Oic8aHRtbD48L2h0bWw+JyIpOwogICAgZG9jLndyaXRlKCI8aHRtbD48aGVhZD48c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj53aW5kb3cucGFyZW50LnczY19zbGlkeS5vbl9mcmFtZV9sb2FkZWQoJyIrCiAgICAgIChoYXNoKSArICInKTs8L3NjcmlwdD48L2hlYWQ+PGJvZHk+aGVsbG8gbXVtPC9ib2R5PjwvaHRtbD4iKTsKICAgICAgZG9jLmNsb3NlKCk7CiAgfSwKCiAgLy8gZmluZCBjdXJyZW50IHNsaWRlIGJhc2VkIHVwb24gbG9jYXRpb24KICAvLyBmaXJzdCBmaW5kIHRhcmdldCBhbmNob3IgYW5kIHRoZW4gbG9vawogIC8vIGZvciBhc3NvY2lhdGVkIGRpdiBlbGVtZW50IGVuY2xvc2luZyBpdAogIC8vIGZpbmFsbHkgbWFwIHRoYXQgdG8gc2xpZGUgbnVtYmVyCiAgZmluZF9zbGlkZV9udW1iZXI6IGZ1bmN0aW9uICh1cmkpIHsKICAgIC8vIGZpcnN0IGdldCBhbmNob3IgZnJvbSBwYWdlIGxvY2F0aW9uCgogICAgdmFyIGkgPSB1cmkuaW5kZXhPZigiIyIpOwoKICAgIC8vIGNoZWNrIGlmIGFuY2hvciBpcyBlbnRpcmUgcGFnZQogICAgaWYgKGkgPCAwKQogICAgICByZXR1cm4gMDsgIC8vIHllcwoKICAgIHZhciBhbmNob3IgPSB1bmVzY2FwZSh1cmkuc3Vic3RyKGkrMSkpOwoKICAgIC8vIG5vdyB1c2UgYW5jaG9yIGFzIFhNTCBJRCB0byBmaW5kIHRhcmdldAogICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFuY2hvcik7CgogICAgaWYgKCF0YXJnZXQpCiAgICB7CiAgICAgIC8vIGRvZXMgYW5jaG9yIGxvb2sgbGlrZSAiKDIpIiBmb3Igc2xpZGUgMiA/PwogICAgICAvLyB3aGVyZSBmaXJzdCBzbGlkZSBpcyAoMSkKICAgICAgdmFyIHJlID0gL1woKFxkKStcKS87CgogICAgICBpZiAoYW5jaG9yLm1hdGNoKHJlKSkKICAgICAgewogICAgICAgIHZhciBudW0gPSBwYXJzZUludChhbmNob3Iuc3Vic3RyaW5nKDEsIGFuY2hvci5sZW5ndGgtMSkpOwoKICAgICAgICBpZiAobnVtID4gdGhpcy5zbGlkZXMubGVuZ3RoKQogICAgICAgICAgbnVtID0gMTsKCiAgICAgICAgaWYgKC0tbnVtIDwgMCkKICAgICAgICAgIG51bSA9IDA7CgogICAgICAgIHJldHVybiBudW07CiAgICAgIH0KCiAgICAgIC8vIGFjY2VwdCBbMl0gZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CiAgICAgIHJlID0gL1xbKFxkKStcXS87CgogICAgICBpZiAoYW5jaG9yLm1hdGNoKHJlKSkKICAgICAgewogICAgICAgICB2YXIgbnVtID0gcGFyc2VJbnQoYW5jaG9yLnN1YnN0cmluZygxLCBhbmNob3IubGVuZ3RoLTEpKTsKCiAgICAgICAgIGlmIChudW0gPiB0aGlzLnNsaWRlcy5sZW5ndGgpCiAgICAgICAgICAgIG51bSA9IDE7CgogICAgICAgICBpZiAoLS1udW0gPCAwKQogICAgICAgICAgICBudW0gPSAwOwoKICAgICAgICAgcmV0dXJuIG51bTsKICAgICAgfQoKICAgICAgLy8gb2ggZGVhciB1bmtub3duIGFuY2hvcgogICAgICByZXR1cm4gMDsKICAgIH0KCiAgICAvLyBzZWFyY2ggZm9yIGVuY2xvc2luZyBzbGlkZQoKICAgIHdoaWxlICh0cnVlKQogICAgewogICAgICAvLyBicm93c2VyIGNvZXJjZXMgaHRtbCBlbGVtZW50cyB0byB1cHBlcmNhc2UhCiAgICAgIGlmICh0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAiZGl2IiAmJgogICAgICAgICAgICB0aGlzLmhhc19jbGFzcyh0YXJnZXQsICJzbGlkZSIpKQogICAgICB7CiAgICAgICAgLy8gZm91bmQgdGhlIHNsaWRlIGVsZW1lbnQKICAgICAgICBicmVhazsKICAgICAgfQoKICAgICAgLy8gb3RoZXJ3aXNlIHRyeSBwYXJlbnQgZWxlbWVudCBpZiBhbnkKCiAgICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlOwoKICAgICAgaWYgKCF0YXJnZXQpCiAgICAgIHsKICAgICAgICByZXR1cm4gMDsgICAvLyBubyBsdWNrIQogICAgICB9CiAgICB9OwoKICAgIGZvciAoaSA9IDA7IGkgPCBzbGlkZXMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIGlmIChzbGlkZXNbaV0gPT0gdGFyZ2V0KQogICAgICAgIHJldHVybiBpOyAgLy8gc3VjY2VzcwogICAgfQoKICAgIC8vIG9oIGRlYXIgc3RpbGwgbm8gbHVjawogICAgcmV0dXJuIDA7CiAgfSwKCiAgcHJldmlvdXNfc2xpZGU6IGZ1bmN0aW9uIChpbmNyZW1lbnRhbCkgewogICAgaWYgKCF3M2Nfc2xpZHkudmlld19hbGwpCiAgICB7CiAgICAgIHZhciBzbGlkZTsKCiAgICAgIGlmICgoaW5jcmVtZW50YWwgfHwgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9PSAwKSAmJiB3M2Nfc2xpZHkubGFzdF9zaG93biAhPSBudWxsKQogICAgICB7CiAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSB3M2Nfc2xpZHkuaGlkZV9wcmV2aW91c19pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKTsKICAgICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXMoZmFsc2UpOwogICAgICB9CiAgICAgIGVsc2UgaWYgKHczY19zbGlkeS5zbGlkZV9udW1iZXIgPiAwKQogICAgICB7CiAgICAgICAgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgIHczY19zbGlkeS5oaWRlX3NsaWRlKHNsaWRlKTsKCiAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IHczY19zbGlkeS5zbGlkZV9udW1iZXIgLSAxOwogICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICB3M2Nfc2xpZHkuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJ2aXNpYmxlIik7CiAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSB3M2Nfc2xpZHkucHJldmlvdXNfaW5jcmVtZW50YWxfaXRlbShudWxsKTsKICAgICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXModHJ1ZSk7CiAgICAgICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgICB9CgogICAgICB3M2Nfc2xpZHkuc2V0X2xvY2F0aW9uKCk7CgogICAgICBpZiAoIXczY19zbGlkeS5uc19wb3MpCiAgICAgICAgdzNjX3NsaWR5LnJlZnJlc2hfdG9vbGJhcigyMDApOwogICAgfQogIH0sCgogIG5leHRfc2xpZGU6IGZ1bmN0aW9uIChpbmNyZW1lbnRhbCkgewogICAgaWYgKCF3M2Nfc2xpZHkudmlld19hbGwpCiAgICB7CiAgICAgIHZhciBzbGlkZSwgbGFzdCA9IHczY19zbGlkeS5sYXN0X3Nob3duOwoKICAgICAgaWYgKGluY3JlbWVudGFsIHx8IHczY19zbGlkeS5zbGlkZV9udW1iZXIgPT0gdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxKQogICAgICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IHczY19zbGlkeS5yZXZlYWxfbmV4dF9pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKTsKCiAgICAgIGlmICgoIWluY3JlbWVudGFsIHx8IHczY19zbGlkeS5sYXN0X3Nob3duID09IG51bGwpICYmCiAgICAgICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyIDwgdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxKQogICAgICB7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwoKICAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IHczY19zbGlkeS5zbGlkZV9udW1iZXIgKyAxOwogICAgICAgICBzbGlkZSA9IHczY19zbGlkeS5zbGlkZXNbdzNjX3NsaWR5LnNsaWRlX251bWJlcl07CiAgICAgICAgIHczY19zbGlkeS5sYXN0X3Nob3duID0gbnVsbDsKICAgICAgICAgdzNjX3NsaWR5LnNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbCgiaGlkZGVuIik7CiAgICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgfQogICAgICBlbHNlIGlmICghdzNjX3NsaWR5Lmxhc3Rfc2hvd24pCiAgICAgIHsKICAgICAgICAgaWYgKGxhc3QgJiYgaW5jcmVtZW50YWwpCiAgICAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSBsYXN0OwogICAgICB9CgogICAgICB3M2Nfc2xpZHkuc2V0X2xvY2F0aW9uKCk7CgogICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXMoIXczY19zbGlkeS5uZXh0X2luY3JlbWVudGFsX2l0ZW0odzNjX3NsaWR5Lmxhc3Rfc2hvd24pKTsKCiAgICAgIGlmICghdzNjX3NsaWR5Lm5zX3BvcykKICAgICAgICAgdzNjX3NsaWR5LnJlZnJlc2hfdG9vbGJhcigyMDApOwogICAgIH0KICB9LAoKICAvLyB0byBmaXJzdCBzbGlkZSB3aXRoIG5vdGhpbmcgcmV2ZWFsZWQKICAvLyBpLmUuIHN0YXRlIGF0IHN0YXJ0IG9mIHByZXNlbnRhdGlvbgogIGZpcnN0X3NsaWRlOiBmdW5jdGlvbiAoKSB7CiAgICAgaWYgKCF3M2Nfc2xpZHkudmlld19hbGwpCiAgICAgewogICAgICAgdmFyIHNsaWRlOwoKICAgICAgIGlmICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyICE9IDApCiAgICAgICB7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwoKICAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IDA7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSBudWxsOwogICAgICAgICB3M2Nfc2xpZHkuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJoaWRkZW4iKTsKICAgICAgICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgICAgfQoKICAgICAgIHczY19zbGlkeS5zZXRfZW9zX3N0YXR1cygKICAgICAgICAgIXczY19zbGlkeS5uZXh0X2luY3JlbWVudGFsX2l0ZW0odzNjX3NsaWR5Lmxhc3Rfc2hvd24pKTsKICAgICAgIHczY19zbGlkeS5zZXRfbG9jYXRpb24oKTsKICAgICB9CiAgfSwKCiAgLy8gZ290byBsYXN0IHNsaWRlIHdpdGggZXZlcnl0aGluZyByZXZlYWxlZAogIC8vIGkuZS4gc3RhdGUgYXQgZW5kIG9mIHByZXNlbnRhdGlvbgogIGxhc3Rfc2xpZGU6IGZ1bmN0aW9uICgpIHsKICAgIGlmICghdzNjX3NsaWR5LnZpZXdfYWxsKQogICAgewogICAgICB2YXIgc2xpZGU7CgogICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IG51bGw7IC8vcmV2ZWFsTmV4dEl0ZW0obGFzdFNob3duKTsKCiAgICAgIGlmICh3M2Nfc2xpZHkubGFzdF9zaG93biA9PSBudWxsICYmCiAgICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyIDwgdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxKQogICAgICB7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID0gdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxOwogICAgICAgICBzbGlkZSA9IHczY19zbGlkeS5zbGlkZXNbdzNjX3NsaWR5LnNsaWRlX251bWJlcl07CiAgICAgICAgIHczY19zbGlkeS5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoInZpc2libGUiKTsKICAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSB3M2Nfc2xpZHkucHJldmlvdXNfaW5jcmVtZW50YWxfaXRlbShudWxsKTsKCiAgICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICAgdzNjX3NsaWR5LnNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbCgidmlzaWJsZSIpOwogICAgICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IHczY19zbGlkeS5wcmV2aW91c19pbmNyZW1lbnRhbF9pdGVtKG51bGwpOwogICAgICB9CgogICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXModHJ1ZSk7CiAgICAgIHczY19zbGlkeS5zZXRfbG9jYXRpb24oKTsKICAgIH0KICB9LAoKCiAgLy8gIyMjIGNoZWNrIHRoaXMgYW5kIGNvbnNpZGVyIGFkZC9yZW1vdmUgY2xhc3MKICBzZXRfZW9zX3N0YXR1czogZnVuY3Rpb24gKHN0YXRlKSB7CiAgICBpZiAodGhpcy5lb3MpCiAgICAgIHRoaXMuZW9zLnN0eWxlLmNvbG9yID0gKHN0YXRlID8gInJnYigyNDAsMjQwLDI0MCkiIDogInJlZCIpOwogIH0sCgogIC8vIGZpcnN0IHNsaWRlIGlzIDAKICBnb3RvX3NsaWRlOiBmdW5jdGlvbiAobnVtKSB7CiAgICAvL2FsZXJ0KCJnb2luZyB0byBzbGlkZSAiICsgKG51bSsxKSk7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IG51bTsKICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgIHczY19zbGlkeS5sYXN0X3Nob3duID0gbnVsbDsKICAgIHczY19zbGlkeS5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoImhpZGRlbiIpOwogICAgdzNjX3NsaWR5LnNldF9lb3Nfc3RhdHVzKCF3M2Nfc2xpZHkubmV4dF9pbmNyZW1lbnRhbF9pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKSk7CiAgICBkb2N1bWVudC50aXRsZSA9IHczY19zbGlkeS50aXRsZSArICIgKCIgKyAodzNjX3NsaWR5LnNsaWRlX251bWJlcisxKSArICIpIjsKICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgIHczY19zbGlkeS5zaG93X3NsaWRlX251bWJlcigpOwogIH0sCgoKICBzaG93X3NsaWRlOiBmdW5jdGlvbiAoc2xpZGUpIHsKICAgIHRoaXMuc3luY19iYWNrZ3JvdW5kKHNsaWRlKTsKICAgIHRoaXMucmVtb3ZlX2NsYXNzKHNsaWRlLCAiaGlkZGVuIik7CgogICAgLy8gd29yayBhcm91bmQgSUU5IG9iamVjdCByZW5kZXJpbmcgYnVnCiAgICBzZXRUaW1lb3V0KCJ3aW5kb3cuc2Nyb2xsVG8oMCwwKTsiLCAxKTsKICB9LAoKICBoaWRlX3NsaWRlOiBmdW5jdGlvbiAoc2xpZGUpIHsKICAgIHRoaXMuYWRkX2NsYXNzKHNsaWRlLCAiaGlkZGVuIik7CiAgfSwKCiAgc2V0X2ZvY3VzOiBmdW5jdGlvbiAoZWxlbWVudCkKICB7CiAgICBpZiAoZWxlbWVudCkKICAgICAgZWxlbWVudC5mb2N1cygpOwogICAgZWxzZQogICAgewogICAgICB3M2Nfc2xpZHkuaGVscF9hbmNob3IuZm9jdXMoKTsKCiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgdzNjX3NsaWR5LmhlbHBfYW5jaG9yLmJsdXIoKTsKICAgICAgfSwgMSk7CiAgICB9CiAgfSwKCiAgLy8gc2hvdyBqdXN0IHRoZSBiYWNrZ3JvdW5kcyBwZXJ0aW5lbnQgdG8gdGhpcyBzbGlkZQogIC8vIHdoZW4gc2xpZGUgYmFja2dyb3VuZC1jb2xvciBpcyB0cmFuc3BhcmVudAogIC8vIHRoaXMgc2hvdWxkIG5vdyB3b3JrIHdpdGggcmdiYSBjb2xvciB2YWx1ZXMKICBzeW5jX2JhY2tncm91bmQ6IGZ1bmN0aW9uIChzbGlkZSkgewogICAgdmFyIGJhY2tncm91bmQ7CiAgICB2YXIgYmdDb2xvcjsKCiAgICBpZiAoc2xpZGUuY3VycmVudFN0eWxlKQogICAgICBiZ0NvbG9yID0gc2xpZGUuY3VycmVudFN0eWxlWyJiYWNrZ3JvdW5kQ29sb3IiXTsKICAgIGVsc2UgaWYgKGRvY3VtZW50LmRlZmF1bHRWaWV3KQogICAgewogICAgICB2YXIgc3R5bGVzID0gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShzbGlkZSxudWxsKTsKCiAgICAgIGlmIChzdHlsZXMpCiAgICAgICAgYmdDb2xvciA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7CiAgICAgIGVsc2UgLy8gYnJva2VuIGltcGxlbWVudGF0aW9uIHByb2JhYmx5IGR1ZSBTYWZhcmkgb3IgS29ucXVlcm9yCiAgICAgIHsKICAgICAgICAvL2FsZXJ0KCJkZWZlY3RpdmUgaW1wbGVtZW50YXRpb24gb2YgZ2V0Q29tcHV0ZWRTdHlsZSgpIik7CiAgICAgICAgYmdDb2xvciA9ICJ0cmFuc3BhcmVudCI7CiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgICAgYmdDb2xvciA9PSAidHJhbnNwYXJlbnQiOwoKICAgIGlmIChiZ0NvbG9yID09ICJ0cmFuc3BhcmVudCIgfHwKICAgICAgICBiZ0NvbG9yLmluZGV4T2YoInJnYmEiKSA+PSAwIHx8CiAgICAgICAgYmdDb2xvci5pbmRleE9mKCJvcGFjaXR5IikgPj0gMCkKICAgIHsKICAgICAgdmFyIHNsaWRlQ2xhc3MgPSB0aGlzLmdldF9jbGFzc19saXN0KHNsaWRlKTsKCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5iYWNrZ3JvdW5kcy5sZW5ndGg7IGkrKykKICAgICAgewogICAgICAgIGJhY2tncm91bmQgPSB0aGlzLmJhY2tncm91bmRzW2ldOwoKICAgICAgICB2YXIgYmdDbGFzcyA9IHRoaXMuZ2V0X2NsYXNzX2xpc3QoYmFja2dyb3VuZCk7CgogICAgICAgIGlmICh0aGlzLm1hdGNoaW5nX2JhY2tncm91bmQoc2xpZGVDbGFzcywgYmdDbGFzcykpCiAgICAgICAgICB0aGlzLnJlbW92ZV9jbGFzcyhiYWNrZ3JvdW5kLCAiaGlkZGVuIik7CiAgICAgICAgZWxzZQogICAgICAgICAgdGhpcy5hZGRfY2xhc3MoYmFja2dyb3VuZCwgImhpZGRlbiIpOwogICAgICB9CiAgICB9CiAgICBlbHNlIC8vIGZvcmNpYmx5IGhpZGUgYWxsIGJhY2tncm91bmRzCiAgICAgIHRoaXMuaGlkZV9iYWNrZ3JvdW5kcygpOwogIH0sCgogIGhpZGVfYmFja2dyb3VuZHM6IGZ1bmN0aW9uICgpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5iYWNrZ3JvdW5kcy5sZW5ndGg7IGkrKykKICAgIHsKICAgICAgYmFja2dyb3VuZCA9IHRoaXMuYmFja2dyb3VuZHNbaV07CiAgICAgIHRoaXMuYWRkX2NsYXNzKGJhY2tncm91bmQsICJoaWRkZW4iKTsKICAgIH0KICB9LAoKICAvLyBjb21wYXJlIGNsYXNzZXMgZm9yIHNsaWRlIGFuZCBiYWNrZ3JvdW5kCiAgbWF0Y2hpbmdfYmFja2dyb3VuZDogZnVuY3Rpb24gKHNsaWRlQ2xhc3MsIGJnQ2xhc3MpIHsKICAgIHZhciBpLCBjb3VudCwgcGF0dGVybiwgcmVzdWx0OwoKICAgIC8vIGRlZmluZSBwYXR0ZXJuIGFzIHJlZ3VsYXIgZXhwcmVzc2lvbgogICAgcGF0dGVybiA9IC9cdysvZzsKCiAgICAvLyBjaGVjayBiYWNrZ3JvdW5kIGNsYXNzIG5hbWVzCiAgICByZXN1bHQgPSBiZ0NsYXNzLm1hdGNoKHBhdHRlcm4pOwoKICAgIGZvciAoaSA9IGNvdW50ID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7IGkrKykKICAgIHsKICAgICAgaWYgKHJlc3VsdFtpXSA9PSAiaGlkZGVuIikKICAgICAgICBjb250aW51ZTsKCiAgICAgIGlmIChyZXN1bHRbaV0gPT0gImJhY2tncm91bmQiKQoJY29udGludWU7CgogICAgICArK2NvdW50OwogICAgfQoKICAgIGlmIChjb3VudCA9PSAwKSAgLy8gZGVmYXVsdCBtYXRjaAogICAgICByZXR1cm4gdHJ1ZTsKCiAgICAvLyBjaGVjayBmb3IgbWF0Y2hlcyBhbmQgcGxhY2UgcmVzdWx0IGluIGFycmF5CiAgICByZXN1bHQgPSBzbGlkZUNsYXNzLm1hdGNoKHBhdHRlcm4pOwoKICAgIC8vIG5vdyBjaGVjayBpZiBkZXNpcmVkIG5hbWUgaXMgcHJlc2VudCBmb3IgYmFja2dyb3VuZAogICAgZm9yIChpID0gY291bnQgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKQogICAgewogICAgICBpZiAocmVzdWx0W2ldID09ICJoaWRkZW4iKQogICAgICAgIGNvbnRpbnVlOwoKICAgICAgaWYgKHRoaXMuaGFzX3Rva2VuKGJnQ2xhc3MsIHJlc3VsdFtpXSkpCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwogIH0sCgogIHJlc2l6ZWQ6IGZ1bmN0aW9uICgpIHsKICAgICB2YXIgd2lkdGggPSAwOwoKICAgICBpZiAoIHR5cGVvZiggd2luZG93LmlubmVyV2lkdGggKSA9PSAnbnVtYmVyJyApCiAgICAgICB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoOyAgLy8gTm9uIElFIGJyb3dzZXIKICAgICBlbHNlIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKQogICAgICAgd2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ICAvLyBJRTYKICAgICBlbHNlIGlmIChkb2N1bWVudC5ib2R5ICYmIGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpCiAgICAgICB3aWR0aCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg7IC8vIElFNAoKICAgICB2YXIgaGVpZ2h0ID0gMDsKCiAgICAgaWYgKCB0eXBlb2YoIHdpbmRvdy5pbm5lckhlaWdodCApID09ICdudW1iZXInICkKICAgICAgIGhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDsgIC8vIE5vbiBJRSBicm93c2VyCiAgICAgZWxzZSBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpCiAgICAgICBoZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OyAgLy8gSUU2CiAgICAgZWxzZSBpZiAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCkKICAgICAgIGhlaWdodCA9IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OyAvLyBJRTQKCiAgICAgaWYgKGhlaWdodCAmJiAod2lkdGgvaGVpZ2h0ID4gMS4wNSoxMDI0Lzc2OCkpCiAgICAgewogICAgICAgd2lkdGggPSBoZWlnaHQgKiAxMDI0LjAvNzY4OwogICAgIH0KCiAgICAgLy8gSUUgZmlyZXMgb25yZXNpemUgZXZlbiB3aGVuIG9ubHkgZm9udCBzaXplIGlzIGNoYW5nZWQhCiAgICAgLy8gc28gd2UgZG8gYSBjaGVjayB0byBhdm9pZCBibG9ja2luZyA8IGFuZCA+IGFjdGlvbnMKICAgICBpZiAod2lkdGggIT0gdzNjX3NsaWR5Lmxhc3Rfd2lkdGggfHwgaGVpZ2h0ICE9IHczY19zbGlkeS5sYXN0X2hlaWdodCkKICAgICB7CiAgICAgICBpZiAod2lkdGggPj0gMTEwMCkKICAgICAgICAgdzNjX3NsaWR5LnNpemVfaW5kZXggPSA1OyAgICAvLyA0CiAgICAgICBlbHNlIGlmICh3aWR0aCA+PSAxMDAwKQogICAgICAgICB3M2Nfc2xpZHkuc2l6ZV9pbmRleCA9IDQ7ICAgIC8vIDMKICAgICAgIGVsc2UgaWYgKHdpZHRoID49IDgwMCkKICAgICAgICAgdzNjX3NsaWR5LnNpemVfaW5kZXggPSAzOyAgICAvLyAyCiAgICAgICBlbHNlIGlmICh3aWR0aCA+PSA2MDApCiAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ID0gMjsgICAgLy8gMQogICAgICAgZWxzZSBpZiAod2lkdGgpCiAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ID0gMDsKCiAgICAgICAvLyBhZGQgaW4gZm9udCBzaXplIGFkanVzdG1lbnQgZnJvbSBtZXRhIGVsZW1lbnQgZS5nLgogICAgICAgLy8gPG1ldGEgbmFtZT0iZm9udC1zaXplLWFkanVzdG1lbnQiIGNvbnRlbnQ9Ii0yIiAvPgogICAgICAgLy8gdXNlZnVsIHdoZW4gc2xpZGVzIGhhdmUgdG9vIG11Y2ggY29udGVudCA7LSkKCiAgICAgICBpZiAoMCA8PSB3M2Nfc2xpZHkuc2l6ZV9pbmRleCArIHczY19zbGlkeS5zaXplX2FkanVzdG1lbnQgJiYKICAgICAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ICsgdzNjX3NsaWR5LnNpemVfYWRqdXN0bWVudCA8IHczY19zbGlkeS5zaXplcy5sZW5ndGgpCiAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ID0gdzNjX3NsaWR5LnNpemVfaW5kZXggKyB3M2Nfc2xpZHkuc2l6ZV9hZGp1c3RtZW50OwoKICAgICAgIC8vIGVuYWJsZXMgY3Jvc3MgYnJvd3NlciB1c2Ugb2YgcmVsYXRpdmUgd2lkdGgvaGVpZ2h0CiAgICAgICAvLyBvbiBvYmplY3QgZWxlbWVudHMgZm9yIHVzZSB3aXRoIFNWRyBhbmQgRmxhc2ggbWVkaWEKICAgICAgIHczY19zbGlkeS5hZGp1c3Rfb2JqZWN0X2RpbWVuc2lvbnMod2lkdGgsIGhlaWdodCk7CgogICAgICAgaWYgKGRvY3VtZW50LmJvZHkuc3R5bGUuZm9udFNpemUgIT0gdzNjX3NsaWR5LnNpemVzW3czY19zbGlkeS5zaXplX2luZGV4XSkKICAgICAgIHsKICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5mb250U2l6ZSA9IHczY19zbGlkeS5zaXplc1t3M2Nfc2xpZHkuc2l6ZV9pbmRleF07CiAgICAgICB9CgogICAgICAgdzNjX3NsaWR5Lmxhc3Rfd2lkdGggPSB3aWR0aDsKICAgICAgIHczY19zbGlkeS5sYXN0X2hlaWdodCA9IGhlaWdodDsKCiAgICAgICAvLyBmb3JjZSByZWZsb3cgdG8gd29yayBhcm91bmQgTW96aWxsYSBidWcKICAgICAgIGlmICh3M2Nfc2xpZHkubnNfcG9zKQogICAgICAgewogICAgICAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgICB3M2Nfc2xpZHkuaGlkZV9zbGlkZShzbGlkZSk7CiAgICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgIH0KCiAgICAgICAvLyBmb3JjZSBjb3JyZWN0IHBvc2l0aW9uaW5nIG9mIHRvb2xiYXIKICAgICAgIHczY19zbGlkeS5yZWZyZXNoX3Rvb2xiYXIoMjAwKTsKICAgICB9CiAgfSwKCiAgc2Nyb2xsZWQ6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3M2Nfc2xpZHkudG9vbGJhciAmJiAhdzNjX3NsaWR5Lm5zX3BvcyAmJiAhdzNjX3NsaWR5LmllNykKICAgIHsKICAgICAgdzNjX3NsaWR5LmhhY2tfb2Zmc2V0ID0gdzNjX3NsaWR5LnNjcm9sbF94X29mZnNldCgpOwogICAgICAvLyBoaWRlIHRvb2xiYXIKICAgICAgdzNjX3NsaWR5LnRvb2xiYXIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKCiAgICAgIC8vIG1ha2UgaXQgcmVhcHBlYXIgbGF0ZXIKICAgICAgaWYgKHczY19zbGlkeS5zY3JvbGxoYWNrID09IDAgJiYgIXczY19zbGlkeS52aWV3X2FsbCkKICAgICAgewogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge3czY19zbGlkeS5zaG93X3Rvb2xiYXIoKTsgfSwgMTAwMCk7CiAgICAgICAgdzNjX3NsaWR5LnNjcm9sbGhhY2sgPSAxOwogICAgICB9CiAgICB9CiAgfSwKCiAgaGlkZV90b29sYmFyOiBmdW5jdGlvbiAoKSB7CiAgICB3M2Nfc2xpZHkuYWRkX2NsYXNzKHczY19zbGlkeS50b29sYmFyLCAiaGlkZGVuIik7CiAgICB3aW5kb3cuZm9jdXMoKTsKICB9LAoKICAvLyB1c2VkIHRvIGVuc3VyZSBJRSByZWZyZXNoZXMgdG9vbGJhciBpbiBjb3JyZWN0IHBvc2l0aW9uCiAgcmVmcmVzaF90b29sYmFyOiBmdW5jdGlvbiAoaW50ZXJ2YWwpIHsKICAgIGlmICghdzNjX3NsaWR5Lm5zX3BvcyAmJiAhdzNjX3NsaWR5LmllNykKICAgIHsKICAgICAgdzNjX3NsaWR5LmhpZGVfdG9vbGJhcigpOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHt3M2Nfc2xpZHkuc2hvd190b29sYmFyKCk7fSwgaW50ZXJ2YWwpOwogICAgfQogIH0sCgogIC8vIHJlc3RvcmVzIHRvb2xiYXIgYWZ0ZXIgc2hvcnQgZGVsYXkKICBzaG93X3Rvb2xiYXI6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3M2Nfc2xpZHkud2FudF90b29sYmFyKQogICAgewogICAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKCiAgICAgIGlmICghdzNjX3NsaWR5Lm5zX3BvcykKICAgICAgewogICAgICAgIC8vIGFkanVzdCBwb3NpdGlvbiB0byBhbGxvdyBmb3Igc2Nyb2xsaW5nCiAgICAgICAgdmFyIHhvZmZzZXQgPSB3M2Nfc2xpZHkuc2Nyb2xsX3hfb2Zmc2V0KCk7CiAgICAgICAgdzNjX3NsaWR5LnRvb2xiYXIuc3R5bGUubGVmdCA9IHhvZmZzZXQ7CiAgICAgICAgdzNjX3NsaWR5LnRvb2xiYXIuc3R5bGUucmlnaHQgPSB4b2Zmc2V0OwoKICAgICAgICAvLyBkZXRlcm1pbmUgdmVydGljYWwgc2Nyb2xsIG9mZnNldAogICAgICAgIC8vdmFyIHlvZmZzZXQgPSBzY3JvbGxZT2Zmc2V0KCk7CgogICAgICAgIC8vIGJvdHRvbSBpcyBkb2MgaGVpZ2h0IC0gd2luZG93IGhlaWdodCAtIHNjcm9sbCBvZmZzZXQKICAgICAgICAvL3ZhciBib3R0b20gPSBkb2N1bWVudEhlaWdodCgpIC0gbGFzdEhlaWdodCAtIHlvZmZzZXQKCiAgICAgICAgLy9pZiAoeW9mZnNldCA+IDAgfHwgZG9jdW1lbnRIZWlnaHQoKSA+IGxhc3RIZWlnaHQpCiAgICAgICAgLy8gICBib3R0b20gKz0gMTY7ICAvLyBhbGxvdyBmb3IgaGVpZ2h0IG9mIHNjcm9sbGJhcgoKICAgICAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5ib3R0b20gPSAwOyAvL2JvdHRvbTsKICAgICAgfQoKICAgICAgdzNjX3NsaWR5LnJlbW92ZV9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpOwogICAgfQoKICAgIHczY19zbGlkeS5zY3JvbGxoYWNrID0gMDsKCgogICAgLy8gc2V0IHRoZSBrZXlib2FyZCBmb2N1cyB0byB0aGUgaGVscCBsaW5rIG9uIHRoZQogICAgLy8gdG9vbGJhciB0byBlbnN1cmUgdGhhdCBkb2N1bWVudCBoYXMgdGhlIGZvY3VzCiAgICAvLyBJRSBkb2Vzbid0IGFsd2F5cyB3b3JrIHdpdGggd2luZG93LmZvY3VzKCkKICAgIC8vIGFuZCB0aGlzIGhhY2sgaGFzIGJlbmVmaXQgb2YgRW50ZXIgZm9yIGhlbHAKCiAgICB0cnkKICAgIHsKICAgICAgaWYgKCF3M2Nfc2xpZHkub3BlcmEpCiAgICAgICAgdzNjX3NsaWR5LnNldF9mb2N1cygpOwogICAgfQogICAgY2F0Y2ggKGUpCiAgICB7CiAgICB9CiAgfSwKCi8vIGludm9rZWQgdmlhIEYga2V5CiAgdG9nZ2xlX3Rvb2xiYXI6IGZ1bmN0aW9uICgpIHsKICAgIGlmICghdzNjX3NsaWR5LnZpZXdfYWxsKQogICAgewogICAgICBpZiAodzNjX3NsaWR5Lmhhc19jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpKQogICAgICB7CiAgICAgICAgdzNjX3NsaWR5LnJlbW92ZV9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpCiAgICAgICAgdzNjX3NsaWR5LndhbnRfdG9vbGJhciA9IDE7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgdzNjX3NsaWR5LmFkZF9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpCiAgICAgICAgdzNjX3NsaWR5LndhbnRfdG9vbGJhciA9IDA7CiAgICAgIH0KICAgIH0KICB9LAoKICBzY3JvbGxfeF9vZmZzZXQ6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3aW5kb3cucGFnZVhPZmZzZXQpCiAgICAgIHJldHVybiBzZWxmLnBhZ2VYT2Zmc2V0OwoKICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgCiAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCkKICAgICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0OwoKICAgIGlmIChkb2N1bWVudC5ib2R5KQogICAgICByZXR1cm4gZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0OwoKICAgIHJldHVybiAwOwogIH0sCgogIHNjcm9sbF95X29mZnNldDogZnVuY3Rpb24gKCkgewogICAgaWYgKHdpbmRvdy5wYWdlWU9mZnNldCkKICAgICAgcmV0dXJuIHNlbGYucGFnZVlPZmZzZXQ7CgogICAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAKICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3ApCiAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wOwoKICAgIGlmIChkb2N1bWVudC5ib2R5KQogICAgICByZXR1cm4gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CgogICAgcmV0dXJuIDA7CiAgfSwKCiAgLy8gbG9va2luZyBmb3IgYSB3YXkgdG8gZGV0ZXJtaW5lIGhlaWdodCBvZiBzbGlkZSBjb250ZW50CiAgLy8gdGhlIHNsaWRlIGl0c2VsZiBpcyBzZXQgdG8gdGhlIGhlaWdodCBvZiB0aGUgd2luZG93CiAgb3B0aW1pemVfZm9udF9zaXplOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwoKICAgIC8vdmFyIGRoID0gZG9jdW1lbnRIZWlnaHQoKTsgLy9nZXREb2NIZWlnaHQoZG9jdW1lbnQpOwogICAgdmFyIGRoID0gc2xpZGUuc2Nyb2xsSGVpZ2h0OwogICAgdmFyIHdoID0gZ2V0V2luZG93SGVpZ2h0KCk7CiAgICB2YXIgdSA9IDEwMCAqIGRoIC8gd2g7CgogICAgYWxlcnQoIndpbmRvdyB1dGlsaXphdGlvbiA9ICIgKyB1ICsgIiUgKGRvYyAiCiAgICAgICsgZGggKyAiIHdpbiAiICsgd2ggKyAiKSIpOwogIH0sCgogIC8vIGZyb20gZG9jdW1lbnQgb2JqZWN0CiAgZ2V0X2RvY19oZWlnaHQ6IGZ1bmN0aW9uIChkb2MpIHsKICAgIGlmICghZG9jKQogICAgICBkb2MgPSBkb2N1bWVudDsKCiAgICBpZiAoZG9jICYmIGRvYy5ib2R5ICYmIGRvYy5ib2R5Lm9mZnNldEhlaWdodCkKICAgICAgcmV0dXJuIGRvYy5ib2R5Lm9mZnNldEhlaWdodDsgIC8vIG5zL2dlY2tvIHN5bnRheAoKICAgIGlmIChkb2MgJiYgZG9jLmJvZHkgJiYgZG9jLmJvZHkuc2Nyb2xsSGVpZ2h0KQogICAgICByZXR1cm4gZG9jLmJvZHkuc2Nyb2xsSGVpZ2h0OwoKICAgIGFsZXJ0KCJjb3VsZG4ndCBkZXRlcm1pbmUgZG9jdW1lbnQgaGVpZ2h0Iik7CiAgfSwKCiAgZ2V0X3dpbmRvd19oZWlnaHQ6IGZ1bmN0aW9uICgpIHsKICAgIGlmICggdHlwZW9mKCB3aW5kb3cuaW5uZXJIZWlnaHQgKSA9PSAnbnVtYmVyJyApCiAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQ7ICAvLyBOb24gSUUgYnJvd3NlcgoKICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkKICAgICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7ICAvLyBJRTYKCiAgICBpZiAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCkKICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OyAvLyBJRTQKICB9LAoKICBkb2N1bWVudF9oZWlnaHQ6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBzaCwgb2g7CgogICAgc2ggPSBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodDsKICAgIG9oID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CgogICAgaWYgKHNoICYmIG9oKQogICAgewogICAgICByZXR1cm4gKHNoID4gb2ggPyBzaCA6IG9oKTsKICAgIH0KCiAgICAvLyBubyBpZGVhIQogICAgcmV0dXJuIDA7CiAgfSwKCiAgc21hbGxlcjogZnVuY3Rpb24gKCkgewogICAgaWYgKHczY19zbGlkeS5zaXplX2luZGV4ID4gMCkKICAgIHsKICAgICAgLS13M2Nfc2xpZHkuc2l6ZV9pbmRleDsKICAgIH0KCiAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgZG9jdW1lbnQuYm9keS5zdHlsZS5mb250U2l6ZSA9IHczY19zbGlkeS5zaXplc1t3M2Nfc2xpZHkuc2l6ZV9pbmRleF07CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7dzNjX3NsaWR5LnNob3dfdG9vbGJhcigpOyB9LCA1MCk7CiAgfSwKCiAgYmlnZ2VyOiBmdW5jdGlvbiAoKSB7CiAgICBpZiAodzNjX3NsaWR5LnNpemVfaW5kZXggPCB3M2Nfc2xpZHkuc2l6ZXMubGVuZ3RoIC0gMSkKICAgIHsKICAgICAgKyt3M2Nfc2xpZHkuc2l6ZV9pbmRleDsKICAgIH0KCiAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgZG9jdW1lbnQuYm9keS5zdHlsZS5mb250U2l6ZSA9IHczY19zbGlkeS5zaXplc1t3M2Nfc2xpZHkuc2l6ZV9pbmRleF07CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7dzNjX3NsaWR5LnNob3dfdG9vbGJhcigpOyB9LCA1MCk7CiAgfSwKCiAgLy8gZW5hYmxlcyBjcm9zcyBicm93c2VyIHVzZSBvZiByZWxhdGl2ZSB3aWR0aC9oZWlnaHQKICAvLyBvbiBvYmplY3QgZWxlbWVudHMgZm9yIHVzZSB3aXRoIFNWRyBhbmQgRmxhc2ggbWVkaWEKICAvLyB3aXRoIHRoYW5rcyB0byBJdmFuIEhlcm1hbiBmb3IgdGhlIHN1Z2dlc3Rpb24KICBhZGp1c3Rfb2JqZWN0X2RpbWVuc2lvbnM6IGZ1bmN0aW9uICh3aWR0aCwgaGVpZ2h0KSB7CiAgICBmb3IoIHZhciBpID0gMDsgaSA8IHczY19zbGlkeS5vYmplY3RzLmxlbmd0aDsgaSsrICkKICAgIHsKICAgICAgdmFyIG9iaiA9IHRoaXMub2JqZWN0c1tpXTsKICAgICAgdmFyIG1pbWVUeXBlID0gb2JqLmdldEF0dHJpYnV0ZSgidHlwZSIpOwoKICAgICAgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9zdmcreG1sIiB8fCBtaW1lVHlwZSA9PSAiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giKQogICAgICB7CiAgICAgICAgaWYgKCAhb2JqLmluaXRpYWxXaWR0aCApIAogICAgICAgICAgb2JqLmluaXRpYWxXaWR0aCA9IG9iai5nZXRBdHRyaWJ1dGUoIndpZHRoIik7CgogICAgICAgIGlmICggIW9iai5pbml0aWFsSGVpZ2h0ICkgCiAgICAgICAgICBvYmouaW5pdGlhbEhlaWdodCA9IG9iai5nZXRBdHRyaWJ1dGUoImhlaWdodCIpOwoKICAgICAgICBpZiAoIG9iai5pbml0aWFsV2lkdGggJiYgb2JqLmluaXRpYWxXaWR0aC5jaGFyQXQob2JqLmluaXRpYWxXaWR0aC5sZW5ndGgtMSkgPT0gIiUiICkKICAgICAgICB7CiAgICAgICAgICB2YXIgdyA9IHBhcnNlSW50KG9iai5pbml0aWFsV2lkdGguc2xpY2UoMCwgb2JqLmluaXRpYWxXaWR0aC5sZW5ndGgtMSkpOwogICAgICAgICAgdmFyIG5ld1cgPSB3aWR0aCAqICh3LzEwMC4wKTsKICAgICAgICAgIG9iai5zZXRBdHRyaWJ1dGUoIndpZHRoIixuZXdXKTsKICAgICAgICB9CgogICAgICAgIGlmICggb2JqLmluaXRpYWxIZWlnaHQgJiYKICAgICAgICAgICAgIG9iai5pbml0aWFsSGVpZ2h0LmNoYXJBdChvYmouaW5pdGlhbEhlaWdodC5sZW5ndGgtMSkgPT0gIiUiICkKICAgICAgICB7CiAgICAgICAgICB2YXIgaCA9IHBhcnNlSW50KG9iai5pbml0aWFsSGVpZ2h0LnNsaWNlKDAsIG9iai5pbml0aWFsSGVpZ2h0Lmxlbmd0aC0xKSk7CiAgICAgICAgICB2YXIgbmV3SCA9IGhlaWdodCAqIChoLzEwMC4wKTsKICAgICAgICAgIG9iai5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIG5ld0gpOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCgogIC8vIG5lZWRlZCBmb3IgT3BlcmEgdG8gaW5oaWJpdCBkZWZhdWx0IGJlaGF2aW9yCiAgLy8gc2luY2UgT3BlcmEgZGVsaXZlcnMga2V5UHJlc3MgZXZlbiBpZiBrZXlEb3duCiAgLy8gd2FzIGNhbmNlbGxlZAogIGtleV9wcmVzczogZnVuY3Rpb24gKGV2ZW50KSB7CiAgICBpZiAoIWV2ZW50KQogICAgICBldmVudCA9IHdpbmRvdy5ldmVudDsKCiAgICBpZiAoIXczY19zbGlkeS5rZXlfd2FudGVkKQogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CgogICAgcmV0dXJuIHRydWU7CiAgfSwKCiAgLy8gIFNlZSBlLmcuIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvanMvZXZlbnRzL2tleXMuaHRtbCBmb3Iga2V5Y29kZXMKICBrZXlfZG93bjogZnVuY3Rpb24gKGV2ZW50KSB7CiAgICB2YXIga2V5LCB0YXJnZXQsIHRhZzsKCiAgICB3M2Nfc2xpZHkua2V5X3dhbnRlZCA9IHRydWU7CgogICAgaWYgKCFldmVudCkKICAgICAgZXZlbnQgPSB3aW5kb3cuZXZlbnQ7CgogICAgLy8ga2x1ZGdlIGFyb3VuZCBOUy9JRSBkaWZmZXJlbmNlcyAKICAgIGlmICh3aW5kb3cuZXZlbnQpCiAgICB7CiAgICAgIGtleSA9IHdpbmRvdy5ldmVudC5rZXlDb2RlOwogICAgICB0YXJnZXQgPSB3aW5kb3cuZXZlbnQuc3JjRWxlbWVudDsKICAgIH0KICAgIGVsc2UgaWYgKGV2ZW50LndoaWNoKQogICAgewogICAgICBrZXkgPSBldmVudC53aGljaDsKICAgICAgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0OwogICAgfQogICAgZWxzZQogICAgICByZXR1cm4gdHJ1ZTsgLy8gWWlrZXMhIHVua25vd24gYnJvd3NlcgoKICAgIC8vIGlnbm9yZSBldmVudCBpZiBrZXkgdmFsdWUgaXMgemVybwogICAgLy8gYXMgZm9yIGFsdCBvbiBPcGVyYSBhbmQgS29ucXVlcm9yCiAgICBpZiAoIWtleSkKICAgICAgIHJldHVybiB0cnVlOwoKICAgIC8vIGF2b2lkIGludGVyZmVyaW5nIHdpdGgga2V5c3Ryb2tlCiAgICAvLyBiZWhhdmlvciBmb3Igbm9uLXNsaWR5IGNocm9tZSBlbGVtZW50cwogICAgaWYgKCF3M2Nfc2xpZHkuc2xpZHlfY2hyb21lKHRhcmdldCkgJiYKICAgICAgICB3M2Nfc2xpZHkuc3BlY2lhbF9lbGVtZW50KHRhcmdldCkpCiAgICAgIHJldHVybiB0cnVlOwoKICAgIC8vIGNoZWNrIGZvciBjb25jdXJyZW50IGNvbnRyb2wvY29tbWFuZC9hbHQga2V5CiAgICAvLyBidXQgYXJlIHRoZXNlIG9ubHkgcHJlc2VudCBvbiBtb3VzZSBldmVudHM/CgogICAgaWYgKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXkpCiAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAvLyBkaXNtaXNzIHRhYmxlIG9mIGNvbnRlbnRzIGlmIHZpc2libGUKICAgIGlmICh3M2Nfc2xpZHkuaXNfc2hvd25fdG9jKCkgJiYga2V5ICE9IDkgJiYga2V5ICE9IDE2ICYmIGtleSAhPSAzOCAmJiBrZXkgIT0gNDApCiAgICB7CiAgICAgIHczY19zbGlkeS5oaWRlX3RhYmxlX29mX2NvbnRlbnRzKHRydWUpOwoKICAgICAgaWYgKGtleSA9PSAyNyB8fCBrZXkgPT0gODQgfHwga2V5ID09IDY3KQogICAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KCiAgICBpZiAoa2V5ID09IDM0KSAvLyBQYWdlIERvd24KICAgIHsKICAgICAgaWYgKHczY19zbGlkeS52aWV3X2FsbCkKICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAgIHczY19zbGlkeS5uZXh0X3NsaWRlKGZhbHNlKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDMzKSAvLyBQYWdlIFVwCiAgICB7CiAgICAgIGlmICh3M2Nfc2xpZHkudmlld19hbGwpCiAgICAgICAgcmV0dXJuIHRydWU7CgogICAgICB3M2Nfc2xpZHkucHJldmlvdXNfc2xpZGUoZmFsc2UpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMzIpIC8vIHNwYWNlIGJhcgogICAgewogICAgICB3M2Nfc2xpZHkubmV4dF9zbGlkZSh0cnVlKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDM3KSAvLyBMZWZ0IGFycm93CiAgICB7CiAgICAgIHczY19zbGlkeS5wcmV2aW91c19zbGlkZSghZXZlbnQuc2hpZnRLZXkpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMzYpIC8vIEhvbWUKICAgIHsKICAgICAgdzNjX3NsaWR5LmZpcnN0X3NsaWRlKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSAzNSkgLy8gRW5kCiAgICB7CiAgICAgIHczY19zbGlkeS5sYXN0X3NsaWRlKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSAzOSkgLy8gUmlnaHQgYXJyb3cKICAgIHsKICAgICAgdzNjX3NsaWR5Lm5leHRfc2xpZGUoIWV2ZW50LnNoaWZ0S2V5KTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDEzKSAvLyBFbnRlcgogICAgewogICAgICBpZiAodzNjX3NsaWR5Lm91dGxpbmUpCiAgICAgIHsKICAgICAgICBpZiAodzNjX3NsaWR5Lm91dGxpbmUudmlzaWJsZSkKICAgICAgICAgIHczY19zbGlkeS5mb2xkKHczY19zbGlkeS5vdXRsaW5lKTsKICAgICAgICBlbHNlCiAgICAgICAgICB3M2Nfc2xpZHkudW5mb2xkKHczY19zbGlkeS5vdXRsaW5lKTsKICAgICAgICAgIAogICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgICB9CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMTg4KSAgLy8gPCBmb3Igc21hbGxlciBmb250cwogICAgewogICAgICB3M2Nfc2xpZHkuc21hbGxlcigpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMTkwKSAgLy8gPiBmb3IgbGFyZ2VyIGZvbnRzCiAgICB7CiAgICAgIHczY19zbGlkeS5iaWdnZXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDE4OSB8fCBrZXkgPT0gMTA5KSAgLy8gLSBmb3Igc21hbGxlciBmb250cwogICAgewogICAgICB3M2Nfc2xpZHkuc21hbGxlcigpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMTg3IHx8IGtleSA9PSAxOTEgfHwga2V5ID09IDEwNykgIC8vID0gKyAgZm9yIGxhcmdlciBmb250cwogICAgewogICAgICB3M2Nfc2xpZHkuYmlnZ2VyKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA4MykgIC8vIFMgZm9yIHNtYWxsZXIgZm9udHMKICAgIHsKICAgICAgdzNjX3NsaWR5LnNtYWxsZXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDY2KSAgLy8gQiBmb3IgbGFyZ2VyIGZvbnRzCiAgICB7CiAgICAgIHczY19zbGlkeS5iaWdnZXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDkwKSAgLy8gWiBmb3IgbGFzdCBzbGlkZQogICAgewogICAgICB3M2Nfc2xpZHkubGFzdF9zbGlkZSgpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gNzApICAvLyBGIGZvciB0b2dnbGUgdG9vbGJhcgogICAgewogICAgICB3M2Nfc2xpZHkudG9nZ2xlX3Rvb2xiYXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDY1KSAgLy8gQSBmb3IgdG9nZ2xlIHZpZXcgc2luZ2xlL2FsbCBzbGlkZXMKICAgIHsKICAgICAgdzNjX3NsaWR5LnRvZ2dsZV92aWV3KCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA3NSkgIC8vIHRvZ2dsZSBhY3Rpb24gb2YgbGVmdCBjbGljayBmb3IgbmV4dCBwYWdlCiAgICB7CiAgICAgIHczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkID0gIXczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkOwogICAgICB2YXIgYWxlcnRfbXNnID0gKHczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkID8KICAgICAgICAgICAgICAgICJlbmFibGVkIiA6ICJkaXNhYmxlZCIpICsgICIgbW91c2UgY2xpY2sgYWR2YW5jZSI7CgogICAgICBhbGVydCh3M2Nfc2xpZHkubG9jYWxpemUoYWxlcnRfbXNnKSk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA4NCB8fCBrZXkgPT0gNjcpICAvLyBUIG9yIEMgZm9yIHRhYmxlIG9mIGNvbnRlbnRzCiAgICB7CiAgICAgIGlmICh3M2Nfc2xpZHkudG9jKQogICAgICAgIHczY19zbGlkeS50b2dnbGVfdGFibGVfb2ZfY29udGVudHMoKTsKCiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA3MikgLy8gSCBmb3IgaGVscAogICAgewogICAgICB3aW5kb3cubG9jYXRpb24gPSB3M2Nfc2xpZHkuaGVscF9wYWdlOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICAvL2Vsc2UgYWxlcnQoImtleSBjb2RlIGlzICIrIGtleSk7CgogICAgcmV0dXJuIHRydWU7CiAgfSwKCiAgLy8gc2FmZSBmb3IgYm90aCB0ZXh0L2h0bWwgYW5kIGFwcGxpY2F0aW9uL3hodG1sK3htbAogIGNyZWF0ZV9lbGVtZW50OiBmdW5jdGlvbiAobmFtZSkgewogICAgaWYgKHRoaXMueGh0bWwgJiYgKHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMgIT0gJ3VuZGVmaW5lZCcpKQogICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwgbmFtZSkKCiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lKTsKICB9LAoKICBnZXRfZWxlbWVudF9zdHlsZTogZnVuY3Rpb24gKGVsZW0sIElFU3R5bGVQcm9wLCBDU1NTdHlsZVByb3ApIHsKICAgIGlmIChlbGVtLmN1cnJlbnRTdHlsZSkKICAgIHsKICAgICAgcmV0dXJuIGVsZW0uY3VycmVudFN0eWxlW0lFU3R5bGVQcm9wXTsKICAgIH0KICAgIGVsc2UgaWYgKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKQogICAgewogICAgICB2YXIgY29tcFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbSwgIiIpOwogICAgICByZXR1cm4gY29tcFN0eWxlLmdldFByb3BlcnR5VmFsdWUoQ1NTU3R5bGVQcm9wKTsKICAgIH0KICAgIHJldHVybiAiIjsKICB9LAoKICAvLyB0aGUgc3RyaW5nIHN0ciBpcyBhIHdoaXRlc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgdG9rZW5zCiAgLy8gdGVzdCBpZiBzdHIgY29udGFpbnMgYSBwYXJ0aWN1bGFyIHRva2VuLCBlLmcuICJzbGlkZSIKICBoYXNfdG9rZW46IGZ1bmN0aW9uIChzdHIsIHRva2VuKSB7CiAgICBpZiAoc3RyKQogICAgewogICAgICAvLyBkZWZpbmUgcGF0dGVybiBhcyByZWd1bGFyIGV4cHJlc3Npb24KICAgICAgdmFyIHBhdHRlcm4gPSAvXHcrL2c7CgogICAgICAvLyBjaGVjayBmb3IgbWF0Y2hlcwogICAgICAvLyBwbGFjZSByZXN1bHQgaW4gYXJyYXkKICAgICAgdmFyIHJlc3VsdCA9IHN0ci5tYXRjaChwYXR0ZXJuKTsKCiAgICAgIC8vIG5vdyBjaGVjayBpZiBkZXNpcmVkIHRva2VuIGlzIHByZXNlbnQKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspCiAgICAgIHsKICAgICAgICBpZiAocmVzdWx0W2ldID09IHRva2VuKQogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gZmFsc2U7CiAgfSwKCiAgZ2V0X2NsYXNzX2xpc3Q6IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICBpZiAodHlwZW9mIGVsZW1lbnQuY2xhc3NOYW1lICE9ICd1bmRlZmluZWQnKQogICAgICByZXR1cm4gZWxlbWVudC5jbGFzc05hbWU7CgogICAgcmV0dXJuIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpOwogIH0sCgogIGhhc19jbGFzczogZnVuY3Rpb24gKGVsZW1lbnQsIG5hbWUpIHsKICAgIGlmIChlbGVtZW50Lm5vZGVUeXBlICE9IDEpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICB2YXIgcmVnZXhwID0gbmV3IFJlZ0V4cCgiKF58ICkiICsgbmFtZSArICJcVyoiKTsKCiAgICBpZiAodHlwZW9mIGVsZW1lbnQuY2xhc3NOYW1lICE9ICd1bmRlZmluZWQnKQogICAgICByZXR1cm4gcmVnZXhwLnRlc3QoZWxlbWVudC5jbGFzc05hbWUpOwoKICAgIHJldHVybiByZWdleHAudGVzdChlbGVtZW50LmdldEF0dHJpYnV0ZSgiY2xhc3MiKSk7CiAgfSwKCiAgcmVtb3ZlX2NsYXNzOiBmdW5jdGlvbiAoZWxlbWVudCwgbmFtZSkgewogICAgdmFyIHJlZ2V4cCA9IG5ldyBSZWdFeHAoIihefCApIiArIG5hbWUgKyAiXFcqIik7CiAgICB2YXIgY2xzdmFsID0gIiI7CgogICAgaWYgKHR5cGVvZiBlbGVtZW50LmNsYXNzTmFtZSAhPSAndW5kZWZpbmVkJykKICAgIHsKICAgICAgY2xzdmFsID0gZWxlbWVudC5jbGFzc05hbWU7CgogICAgICBpZiAoY2xzdmFsKQogICAgICB7CiAgICAgICAgY2xzdmFsID0gY2xzdmFsLnJlcGxhY2UocmVnZXhwLCAiIik7CiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSBjbHN2YWw7CiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgY2xzdmFsID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoImNsYXNzIik7CgogICAgICBpZiAoY2xzdmFsKQogICAgICB7CiAgICAgICAgY2xzdmFsID0gY2xzdmFsLnJlcGxhY2UocmVnZXhwLCAiIik7CiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgY2xzdmFsKTsKICAgICAgfQogICAgfQogIH0sCgogIGFkZF9jbGFzczogZnVuY3Rpb24gKGVsZW1lbnQsIG5hbWUpIHsKICAgIGlmICghdGhpcy5oYXNfY2xhc3MoZWxlbWVudCwgbmFtZSkpCiAgICB7CiAgICAgIGlmICh0eXBlb2YgZWxlbWVudC5jbGFzc05hbWUgIT0gJ3VuZGVmaW5lZCcpCiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgKz0gIiAiICsgbmFtZTsKICAgICAgZWxzZQogICAgICB7CiAgICAgICAgdmFyIGNsc3ZhbCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpOwogICAgICAgIGNsc3ZhbCA9IGNsc3ZhbCA/IGNsc3ZhbCArICIgIiArIG5hbWUgOiBuYW1lOwogICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsIGNsc3ZhbCk7CiAgICAgIH0KICAgIH0KICB9LAoKICAvLyBIVE1MIGVsZW1lbnRzIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBjbGFzcz0iaW5jcmVtZW50YWwiCiAgLy8gbm90ZSB0aGF0IHlvdSBjYW4gYWxzbyBwdXQgdGhlIGNsYXNzIG9uIGNvbnRhaW5lcnMgbGlrZQogIC8vIHVwLCBvbCwgZGwsIGFuZCBkaXYgdG8gbWFrZSB0aGVpciBjb250ZW50cyBhcHBlYXIKICAvLyBpbmNyZW1lbnRhbGx5LiBVcHBlciBjYXNlIGlzIHVzZWQgc2luY2UgdGhpcyBpcyB3aGF0CiAgLy8gYnJvd3NlcnMgcmVwb3J0IGZvciBIVE1MIG5vZGUgbmFtZXMgKHRleHQvaHRtbCkuCiAgaW5jcmVtZW50YWxfZWxlbWVudHM6IG51bGwsCiAgb2theV9mb3JfaW5jcmVtZW50YWw6IGZ1bmN0aW9uIChuYW1lKSB7CiAgICBpZiAoIXRoaXMuaW5jcmVtZW50YWxfZWxlbWVudHMpCiAgICB7CiAgICAgIHZhciBpbmNsaXN0ID0gbmV3IEFycmF5KCk7CiAgICAgIGluY2xpc3RbInAiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbInByZSJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsibGkiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImJsb2NrcXVvdGUiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImR0Il0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJkZCJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsiaDIiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImgzIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJoNCJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsiaDUiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImg2Il0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJzcGFuIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJhZGRyZXNzIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJ0YWJsZSJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsidHIiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbInRoIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJ0ZCJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsiaW1nIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJvYmplY3QiXSA9IHRydWU7CiAgICAgIHRoaXMuaW5jcmVtZW50YWxfZWxlbWVudHMgPSBpbmNsaXN0OwogICAgfQogICAgcmV0dXJuIHRoaXMuaW5jcmVtZW50YWxfZWxlbWVudHNbbmFtZS50b0xvd2VyQ2FzZSgpXTsKICB9LAoKICBuZXh0X2luY3JlbWVudGFsX2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICB2YXIgYnIgPSB0aGlzLmlzX3hodG1sID8gImJyIiA6ICJCUiI7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwoKICAgIGZvciAoOzspCiAgICB7CiAgICAgIG5vZGUgPSB3M2Nfc2xpZHkubmV4dF9ub2RlKHNsaWRlLCBub2RlKTsKCiAgICAgIGlmIChub2RlID09IG51bGwgfHwgbm9kZS5wYXJlbnROb2RlID09IG51bGwpCiAgICAgICAgYnJlYWs7CgogICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAxKSAgLy8gRUxFTUVOVAogICAgICB7CiAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT0gYnIpCiAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgaWYgKHczY19zbGlkeS5oYXNfY2xhc3Mobm9kZSwgImluY3JlbWVudGFsIikKICAgICAgICAgICAgICYmIHczY19zbGlkeS5va2F5X2Zvcl9pbmNyZW1lbnRhbChub2RlLm5vZGVOYW1lKSkKICAgICAgICAgIHJldHVybiBub2RlOwoKICAgICAgICBpZiAodzNjX3NsaWR5Lmhhc19jbGFzcyhub2RlLnBhcmVudE5vZGUsICJpbmNyZW1lbnRhbCIpCiAgICAgICAgICAgICAmJiAhdzNjX3NsaWR5Lmhhc19jbGFzcyhub2RlLCAibm9uLWluY3JlbWVudGFsIikpCiAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBub2RlOwogIH0sCgogIHByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICB2YXIgYnIgPSB0aGlzLmlzX3hodG1sID8gImJyIiA6ICJCUiI7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwoKICAgIGZvciAoOzspCiAgICB7CiAgICAgIG5vZGUgPSB3M2Nfc2xpZHkucHJldmlvdXNfbm9kZShzbGlkZSwgbm9kZSk7CgogICAgICBpZiAobm9kZSA9PSBudWxsIHx8IG5vZGUucGFyZW50Tm9kZSA9PSBudWxsKQogICAgICAgIGJyZWFrOwoKICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSkKICAgICAgewogICAgICAgIGlmIChub2RlLm5vZGVOYW1lID09IGJyKQogICAgICAgICAgY29udGludWU7CgogICAgICAgIGlmICh3M2Nfc2xpZHkuaGFzX2NsYXNzKG5vZGUsICJpbmNyZW1lbnRhbCIpCiAgICAgICAgICAgICAmJiB3M2Nfc2xpZHkub2theV9mb3JfaW5jcmVtZW50YWwobm9kZS5ub2RlTmFtZSkpCiAgICAgICAgICByZXR1cm4gbm9kZTsKCiAgICAgICAgaWYgKHczY19zbGlkeS5oYXNfY2xhc3Mobm9kZS5wYXJlbnROb2RlLCAiaW5jcmVtZW50YWwiKQogICAgICAgICAgICAgJiYgIXczY19zbGlkeS5oYXNfY2xhc3Mobm9kZSwgIm5vbi1pbmNyZW1lbnRhbCIpKQogICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gbm9kZTsKICB9LAoKICAvLyBzZXQgdmlzaWJpbGl0eSBmb3IgYWxsIGVsZW1lbnRzIG9uIGN1cnJlbnQgc2xpZGUgd2l0aAogIC8vIGEgcGFyZW50IGVsZW1lbnQgd2l0aCBhdHRyaWJ1dGUgY2xhc3M9ImluY3JlbWVudGFsIgogIHNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICB2YXIgbm9kZSA9IHRoaXMubmV4dF9pbmNyZW1lbnRhbF9pdGVtKG51bGwpOwoKICAgIGlmICh2YWx1ZSA9PSAiaGlkZGVuIikKICAgIHsKICAgICAgd2hpbGUgKG5vZGUpCiAgICAgIHsKICAgICAgICB3M2Nfc2xpZHkuYWRkX2NsYXNzKG5vZGUsICJpbnZpc2libGUiKTsKICAgICAgICBub2RlID0gdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbShub2RlKTsKICAgICAgfQogICAgfQogICAgZWxzZSAvLyB2YWx1ZSA9PSAidmlzaWJsZSIKICAgIHsKICAgICAgd2hpbGUgKG5vZGUpCiAgICAgIHsKICAgICAgICB3M2Nfc2xpZHkucmVtb3ZlX2NsYXNzKG5vZGUsICJpbnZpc2libGUiKTsKICAgICAgICBub2RlID0gdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbShub2RlKTsKICAgICAgfQogICAgfQogIH0sCgogIC8vIHJldmVhbCB0aGUgbmV4dCBoaWRkZW4gaXRlbSBvbiB0aGUgc2xpZGUKICAvLyBub2RlIGlzIG51bGwgb3IgdGhlIG5vZGUgdGhhdCB3YXMgbGFzdCByZXZlYWxlZAogIHJldmVhbF9uZXh0X2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICBub2RlID0gdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbShub2RlKTsKCiAgICBpZiAobm9kZSAmJiBub2RlLm5vZGVUeXBlID09IDEpICAvLyBhbiBlbGVtZW50CiAgICAgIHczY19zbGlkeS5yZW1vdmVfY2xhc3Mobm9kZSwgImludmlzaWJsZSIpOwoKICAgIHJldHVybiBub2RlOwogIH0sCgogIC8vIGV4YWN0IGludmVyc2Ugb2YgcmV2ZWFsTmV4dEl0ZW0obm9kZSkKICBoaWRlX3ByZXZpb3VzX2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICBpZiAobm9kZSAmJiBub2RlLm5vZGVUeXBlID09IDEpICAvLyBhbiBlbGVtZW50CiAgICAgIHczY19zbGlkeS5hZGRfY2xhc3Mobm9kZSwgImludmlzaWJsZSIpOwoKICAgIHJldHVybiB0aGlzLnByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW0obm9kZSk7CiAgfSwKCiAgLy8gbGVmdCB0byByaWdodCB0cmF2ZXJzYWwgb2Ygcm9vdCdzIGNvbnRlbnQKICBuZXh0X25vZGU6IGZ1bmN0aW9uIChyb290LCBub2RlKSB7CiAgICBpZiAobm9kZSA9PSBudWxsKQogICAgICByZXR1cm4gcm9vdC5maXJzdENoaWxkOwoKICAgIGlmIChub2RlLmZpcnN0Q2hpbGQpCiAgICAgIHJldHVybiBub2RlLmZpcnN0Q2hpbGQ7CgogICAgaWYgKG5vZGUubmV4dFNpYmxpbmcpCiAgICAgIHJldHVybiBub2RlLm5leHRTaWJsaW5nOwoKICAgIGZvciAoOzspCiAgICB7CiAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7CgogICAgICBpZiAoIW5vZGUgfHwgbm9kZSA9PSByb290KQogICAgICAgIGJyZWFrOwoKICAgICAgaWYgKG5vZGUgJiYgbm9kZS5uZXh0U2libGluZykKICAgICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZzsKICAgIH0KCiAgICByZXR1cm4gbnVsbDsKICB9LAoKICAvLyByaWdodCB0byBsZWZ0IHRyYXZlcnNhbCBvZiByb290J3MgY29udGVudAogIHByZXZpb3VzX25vZGU6IGZ1bmN0aW9uIChyb290LCBub2RlKSB7CiAgICBpZiAobm9kZSA9PSBudWxsKQogICAgewogICAgICBub2RlID0gcm9vdC5sYXN0Q2hpbGQ7CgogICAgICBpZiAobm9kZSkKICAgICAgewogICAgICAgIHdoaWxlIChub2RlLmxhc3RDaGlsZCkKICAgICAgICAgIG5vZGUgPSBub2RlLmxhc3RDaGlsZDsKICAgICAgfQoKICAgICAgcmV0dXJuIG5vZGU7CiAgICB9CgogICAgaWYgKG5vZGUucHJldmlvdXNTaWJsaW5nKQogICAgewogICAgICBub2RlID0gbm9kZS5wcmV2aW91c1NpYmxpbmc7CgogICAgICB3aGlsZSAobm9kZS5sYXN0Q2hpbGQpCiAgICAgICAgbm9kZSA9IG5vZGUubGFzdENoaWxkOwoKICAgICAgcmV0dXJuIG5vZGU7CiAgICB9CgogICAgaWYgKG5vZGUucGFyZW50Tm9kZSAhPSByb290KQogICAgICByZXR1cm4gbm9kZS5wYXJlbnROb2RlOwoKICAgIHJldHVybiBudWxsOwogIH0sCgogIHByZXZpb3VzX3NpYmxpbmdfZWxlbWVudDogZnVuY3Rpb24gKGVsKSB7CiAgICBlbCA9IGVsLnByZXZpb3VzU2libGluZzsKCiAgICB3aGlsZSAoZWwgJiYgZWwubm9kZVR5cGUgIT0gMSkKICAgICAgZWwgPSBlbC5wcmV2aW91c1NpYmxpbmc7CgogICAgcmV0dXJuIGVsOwogIH0sCgogIG5leHRfc2libGluZ19lbGVtZW50OiBmdW5jdGlvbiAoZWwpIHsKICAgIGVsID0gZWwubmV4dFNpYmxpbmc7CgogICAgd2hpbGUgKGVsICYmIGVsLm5vZGVUeXBlICE9IDEpCiAgICAgIGVsID0gZWwubmV4dFNpYmxpbmc7CgogICAgcmV0dXJuIGVsOwogIH0sCgogIGZpcnN0X2NoaWxkX2VsZW1lbnQ6IGZ1bmN0aW9uIChlbCkgewogICAgdmFyIG5vZGU7CgogICAgZm9yIChub2RlID0gZWwuZmlyc3RDaGlsZDsgbm9kZTsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpCiAgICB7CiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IDEpCiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgcmV0dXJuIG5vZGU7CiAgfSwKCiAgZmlyc3RfdGFnOiBmdW5jdGlvbiAoZWxlbWVudCwgdGFnKSB7CiAgICB2YXIgbm9kZTsKCiAgICBpZiAoIXRoaXMuaXNfeGh0bWwpCiAgICAgIHRhZyA9IHRhZy50b1VwcGVyQ2FzZSgpOwoKICAgIGZvciAobm9kZSA9IGVsZW1lbnQuZmlyc3RDaGlsZDsgbm9kZTsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpCiAgICB7CiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IDEgJiYgbm9kZS5ub2RlTmFtZSA9PSB0YWcpCiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgcmV0dXJuIG5vZGU7CiAgfSwKCiAgaGlkZV9zZWxlY3Rpb246IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSAvLyBGaXJlZm94LCBDaHJvbWl1bSwgU2FmYXJpLCBPcGVyYQogICAgewogICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOwoKICAgICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50ID4gMCkKICAgICAgewogICAgICAgIHZhciByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApOwogICAgICAgIHJhbmdlLmNvbGxhcHNlIChmYWxzZSk7CiAgICAgIH0KICAgIH0KICAgIGVsc2UgLy8gSW50ZXJuZXQgRXhwbG9yZXIKICAgIHsKICAgICAgdmFyIHRleHRSYW5nZSA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSAoKTsKICAgICAgdGV4dFJhbmdlLmNvbGxhcHNlIChmYWxzZSk7CiAgICB9CiAgfSwKCiAgZ2V0X3NlbGVjdGVkX3RleHQ6IGZ1bmN0aW9uICgpIHsKICAgIHRyeQogICAgewogICAgICBpZiAod2luZG93LmdldFNlbGVjdGlvbikKICAgICAgICByZXR1cm4gd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CgogICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKQogICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOwoKICAgICAgaWYgKGRvY3VtZW50LnNlbGVjdGlvbikKICAgICAgICByZXR1cm4gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCkudGV4dDsKICAgIH0KICAgIGNhdGNoIChlKQogICAgewogICAgfQoKICAgIHJldHVybiAiIjsKICB9LAoKICAvLyBtYWtlIG5vdGUgb2YgbGVuZ3RoIG9mIHNlbGVjdGVkIHRleHQKICAvLyBhcyB0aGlzIGV2YWx1YXRlcyB0byB6ZXJvIGluIGNsaWNrIGV2ZW50CiAgbW91c2VfYnV0dG9uX3VwOiBmdW5jdGlvbiAoZSkgewogICAgdzNjX3NsaWR5LnNlbGVjdGVkX3RleHRfbGVuID0gdzNjX3NsaWR5LmdldF9zZWxlY3RlZF90ZXh0KCkubGVuZ3RoOwogIH0sCgogIG1vdXNlX2J1dHRvbl9kb3duOiBmdW5jdGlvbiAoZSkgewogICAgdzNjX3NsaWR5LnNlbGVjdGVkX3RleHRfbGVuID0gdzNjX3NsaWR5LmdldF9zZWxlY3RlZF90ZXh0KCkubGVuZ3RoOwogICAgdzNjX3NsaWR5Lm1vdXNlX3ggPSBlLmNsaWVudFg7CiAgICB3M2Nfc2xpZHkubW91c2VfeSA9IGUuY2xpZW50WTsKICB9LAoKICAvLyByaWdodCBtb3VzZSBidXR0b24gY2xpY2sgaXMgcmVzZXJ2ZWQgZm9yIGNvbnRleHQgbWVudXMKICAvLyBpdCBpcyBtb3JlIHJlbGlhYmxlIHRvIGRldGVjdCByaWdodGNsaWNrIHRoYW4gbGVmdGNsaWNrCiAgbW91c2VfYnV0dG9uX2NsaWNrOiBmdW5jdGlvbiAoZSkgewogICAgaWYgKCFlKQogICAgICB2YXIgZSA9IHdpbmRvdy5ldmVudDsKCiAgICBpZiAoTWF0aC5hYnMoZS5jbGllbnRYIC13M2Nfc2xpZHkubW91c2VfeCkgKwogICAgICAgIE1hdGguYWJzKGUuY2xpZW50WSAtdzNjX3NsaWR5Lm1vdXNlX3kpID4gMTApCiAgICAgIHJldHVybiB0cnVlOwoKICAgIGlmICh3M2Nfc2xpZHkuc2VsZWN0ZWRfdGV4dF9sZW4gPiAwKQogICAgICByZXR1cm4gdHJ1ZTsKCiAgICB2YXIgcmlnaHRjbGljayA9IGZhbHNlOwogICAgdmFyIGxlZnRjbGljayA9IGZhbHNlOwogICAgdmFyIG1pZGRsZWNsaWNrID0gZmFsc2U7CiAgICB2YXIgdGFyZ2V0OwoKICAgIGlmICghZSkKICAgICAgdmFyIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgaWYgKGUudGFyZ2V0KQogICAgICB0YXJnZXQgPSBlLnRhcmdldDsKICAgIGVsc2UgaWYgKGUuc3JjRWxlbWVudCkKICAgICAgdGFyZ2V0ID0gZS5zcmNFbGVtZW50OwoKICAgIC8vIHdvcmsgYXJvdW5kIFNhZmFyaSBidWcKICAgIGlmICh0YXJnZXQubm9kZVR5cGUgPT0gMykKICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7CgogICAgaWYgKGUud2hpY2gpIC8vIGFsbCBicm93c2VycyBleGNlcHQgSUUKICAgIHsKICAgICAgbGVmdGNsaWNrID0gKGUud2hpY2ggPT0gMSk7CiAgICAgIG1pZGRsZWNsaWNrID0gKGUud2hpY2ggPT0gMik7CiAgICAgIHJpZ2h0Y2xpY2sgPSAoZS53aGljaCA9PSAzKTsKICAgIH0KICAgIGVsc2UgaWYgKGUuYnV0dG9uKQogICAgewogICAgICAvLyBLb25xdWVyb3IgZ2l2ZXMgMSBmb3IgbGVmdCwgNCBmb3IgbWlkZGxlCiAgICAgIC8vIElFNiBnaXZlcyAwIGZvciBsZWZ0IGFuZCBub3QgMSBhcyBJIGV4cGVjdGVkCgogICAgICBpZiAoZS5idXR0b24gPT0gNCkKICAgICAgICBtaWRkbGVjbGljayA9IHRydWU7CgogICAgICAvLyBhbGwgYnJvd3NlcnMgYWdyZWUgb24gMiBmb3IgcmlnaHQgYnV0dG9uCiAgICAgIHJpZ2h0Y2xpY2sgPSAoZS5idXR0b24gPT0gMik7CiAgICB9CiAgICBlbHNlCiAgICAgIGxlZnRjbGljayA9IHRydWU7CgogICAgaWYgKHczY19zbGlkeS5zZWxlY3RlZF90ZXh0X2xlbiA+IDApCiAgICB7CiAgICAgIHczY19zbGlkeS5zdG9wX3Byb3BhZ2F0aW9uKGUpOwogICAgICBlLmNhbmNlbCA9IHRydWU7CiAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8vIGRpc21pc3MgdGFibGUgb2YgY29udGVudHMKICAgIHczY19zbGlkeS5oaWRlX3RhYmxlX29mX2NvbnRlbnRzKGZhbHNlKTsKCiAgICAvLyBjaGVjayBpZiB0YXJnZXQgaXMgc29tZXRoaW5nIHRoYXQgcHJvYmFibHkgd2FudCdzIGNsaWNrcwogICAgLy8gZS5nLiBhLCBlbWJlZCwgb2JqZWN0LCBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgb3B0aW9uCiAgICB2YXIgdGFnID0gdGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CgogICAgaWYgKHczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkICYmIGxlZnRjbGljayAmJgogICAgICAgICF3M2Nfc2xpZHkuc3BlY2lhbF9lbGVtZW50KHRhcmdldCkgJiYKICAgICAgICAhdGFyZ2V0Lm9uY2xpY2spCiAgICB7CiAgICAgIHczY19zbGlkeS5uZXh0X3NsaWRlKHRydWUpOwogICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihlKTsKICAgICAgZS5jYW5jZWwgPSB0cnVlOwogICAgICBlLnJldHVyblZhbHVlID0gZmFsc2U7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICByZXR1cm4gdHJ1ZTsKICB9LAoKICBzcGVjaWFsX2VsZW1lbnQ6IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICBpZiAodGhpcy5oYXNfY2xhc3MoZWxlbWVudCwgIm5vbi1pbnRlcmFjdGl2ZSIpKQogICAgICByZXR1cm4gZmFsc2U7CgogICAgdmFyIHRhZyA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKCiAgICByZXR1cm4gZWxlbWVudC5vbmtleWRvd24gfHwKICAgICAgZWxlbWVudC5vbmNsaWNrIHx8CiAgICAgIHRhZyA9PSAiYSIgfHwKICAgICAgdGFnID09ICJlbWJlZCIgfHwKICAgICAgdGFnID09ICJvYmplY3QiIHx8CiAgICAgIHRhZyA9PSAidmlkZW8iIHx8CiAgICAgIHRhZyA9PSAiYXVkaW8iIHx8CiAgICAgIHRhZyA9PSAic3ZnIiB8fAogICAgICB0YWcgPT0gImNhbnZhcyIgfHwKICAgICAgdGFnID09ICJpbnB1dCIgfHwKICAgICAgdGFnID09ICJ0ZXh0YXJlYSIgfHwKICAgICAgdGFnID09ICJzZWxlY3QiIHx8CiAgICAgIHRhZyA9PSAib3B0aW9uIjsKICB9LAoKICBzbGlkeV9jaHJvbWU6IGZ1bmN0aW9uIChlbCkgewogICAgd2hpbGUgKGVsKQogICAgewogICAgICBpZiAoZWwgPT0gdzNjX3NsaWR5LnRvYyB8fAogICAgICAgICAgZWwgPT0gdzNjX3NsaWR5LnRvb2xiYXIgfHwKICAgICAgICAgIHczY19zbGlkeS5oYXNfY2xhc3MoZWwsICJvdXRsaW5lIikpCiAgICAgICAgcmV0dXJuIHRydWU7CgogICAgICBlbCA9IGVsLnBhcmVudE5vZGU7CiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwogIH0sCgogIGdldF9rZXk6IGZ1bmN0aW9uIChlKQogIHsKICAgIHZhciBrZXk7CgogICAgLy8ga2x1ZGdlIGFyb3VuZCBOUy9JRSBkaWZmZXJlbmNlcyAKICAgIGlmICh0eXBlb2Ygd2luZG93LmV2ZW50ICE9ICJ1bmRlZmluZWQiKQogICAgICBrZXkgPSB3aW5kb3cuZXZlbnQua2V5Q29kZTsKICAgIGVsc2UgaWYgKGUud2hpY2gpCiAgICAgIGtleSA9IGUud2hpY2g7CgogICAgcmV0dXJuIGtleTsKICB9LAoKICBnZXRfdGFyZ2V0OiBmdW5jdGlvbiAoZSkgewogICAgdmFyIHRhcmdldDsKCiAgICBpZiAoIWUpCiAgICAgIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgaWYgKGUudGFyZ2V0KQogICAgICB0YXJnZXQgPSBlLnRhcmdldDsKICAgIGVsc2UgaWYgKGUuc3JjRWxlbWVudCkKICAgICAgdGFyZ2V0ID0gZS5zcmNFbGVtZW50OwoKICAgIGlmICh0YXJnZXQubm9kZVR5cGUgIT0gMSkKICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7CgogICAgcmV0dXJuIHRhcmdldDsKICB9LAoKICAvLyBkb2VzIGRpc3BsYXkgcHJvcGVydHkgcHJvdmlkZSBjb3JyZWN0IGRlZmF1bHRzPwogIGlzX2Jsb2NrOiBmdW5jdGlvbiAoZWxlbSkgewogICAgdmFyIHRhZyA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKCiAgICByZXR1cm4gdGFnID09ICJvbCIgfHwgdGFnID09ICJ1bCIgfHwgdGFnID09ICJwIiB8fCB0YWcgPT0gImRsIiB8fAogICAgICAgICAgIHRhZyA9PSAibGkiIHx8IHRhZyA9PSAidGFibGUiIHx8IHRhZyA9PSAicHJlIiB8fAogICAgICAgICAgIHRhZyA9PSAiaDEiIHx8IHRhZyA9PSAiaDIiIHx8IHRhZyA9PSAiaDMiIHx8CiAgICAgICAgICAgdGFnID09ICJoNCIgfHwgdGFnID09ICJoNSIgfHwgdGFnID09ICJoNiIgfHwKICAgICAgICAgICB0YWcgPT0gImJsb2NrcXVvdGUiIHx8IHRhZyA9PSAiYWRkcmVzcyI7IAogIH0sCgogIGFkZF9saXN0ZW5lcjogZnVuY3Rpb24gKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyKSB7CiAgICBpZiAod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpCiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgZmFsc2UpOwogICAgZWxzZQogICAgICBlbGVtZW50LmF0dGFjaEV2ZW50KCJvbiIrZXZlbnQsIGhhbmRsZXIpOwogIH0sCgogIC8vIHVzZWQgdG8gcHJldmVudCBldmVudCBwcm9wYWdhdGlvbiBmcm9tIGZpZWxkIGNvbnRyb2xzCiAgc3RvcF9wcm9wYWdhdGlvbjogZnVuY3Rpb24gKGV2ZW50KSB7CiAgICBldmVudCA9IGV2ZW50ID8gZXZlbnQgOiB3aW5kb3cuZXZlbnQ7CiAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlOyAgLy8gZm9yIElFCgogICAgaWYgKGV2ZW50LnN0b3BQcm9wYWdhdGlvbikKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CgogICAgcmV0dXJuIHRydWU7CiAgfSwKCiAgY2FuY2VsOiBmdW5jdGlvbiAoZXZlbnQpIHsKICAgIGlmIChldmVudCkKICAgIHsKICAgICAgIGV2ZW50LmNhbmNlbCA9IHRydWU7CiAgICAgICBldmVudC5yZXR1cm5WYWx1ZSA9IGZhbHNlOwoKICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KQogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICB9CgogICAgdzNjX3NsaWR5LmtleV93YW50ZWQgPSBmYWxzZTsKICAgIHJldHVybiBmYWxzZTsKICB9LAoKLy8gZm9yIGVhY2ggbGFuZ3VhZ2UgZGVmaW5lIGFuIGFzc29jaWF0aXZlIGFycmF5Ci8vIGFuZCBhbHNvIHRoZSBoZWxwIHRleHQgd2hpY2ggaXMgbG9uZ2VyCgogIHN0cmluZ3NfZXM6IHsKICAgICJzbGlkZSI6InDDoWcuIiwKICAgICJoZWxwPyI6IkF5dWRhIiwKICAgICJjb250ZW50cz8iOiLDjW5kaWNlIiwKICAgICJ0YWJsZSBvZiBjb250ZW50cyI6InRhYmxhIGRlIGNvbnRlbmlkb3MiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoiVGFibGEgZGUgQ29udGVuaWRvcyIsCiAgICAicmVzdGFydCBwcmVzZW50YXRpb24iOiJSZWluaWNpYXIgcHJlc2VudGFjacOzbiIsCiAgICAicmVzdGFydD8iOiJJbmljaW8iCiAgfSwKICBoZWxwX2VzOgogICAgIlV0aWxpY2UgZWwgcmF0w7NuLCBiYXJyYSBlc3BhY2lhZG9yYSwgdGVjbGFzIEl6ZGEvRGNoYSwgIiArCiAgICAibyBSZSBww6FnIHkgQXYgcMOhZy4gVXNlIFMgeSBCIHBhcmEgY2FtYmlhciBlbCB0YW1hw7FvIGRlIGZ1ZW50ZS4iLAoKICBzdHJpbmdzX2NhOiB7CiAgICAic2xpZGUiOiJww6BnLi4iLAogICAgImhlbHA/IjoiQWp1ZGEiLAogICAgImNvbnRlbnRzPyI6IsONbmRleCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJ0YXVsYSBkZSBjb250aW5ndXRzIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IlRhdWxhIGRlIENvbnRpbmd1dHMiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiUmVpbmljaWFyIHByZXNlbnRhY2nDsyIsCiAgICAicmVzdGFydD8iOiJJbmljaSIKICB9LAogIGhlbHBfY2E6CiAgICAiVXRpbGl0emkgZWwgcmF0b2zDrSwgYmFycmEgZXNwYWlhZG9yYSwgdGVjbGVzIEVzcS4vRHRhLiAiICsKICAgICJvIFJlIHDDoGcgeSBBdiBww6BnLiBVc2kgUyBpIEIgcGVyIGNhbnZpYXIgZ3JhbmTDoHJpYSBkZSBmb250LiIsCgogIHN0cmluZ3NfY3M6IHsKICAgICJzbGlkZSI6InNuw61tZWsiLAogICAgImhlbHA/IjoibsOhcG92xJtkYSIsCiAgICAiY29udGVudHM/Ijoib2JzYWgiLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoib2JzYWggcHJlemVudGFjZSIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiJPYnNhaCBwcmV6ZW50YWNlIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6Inpub3Z1IHNwdXN0aXQgcHJlemVudGFjaSIsCiAgICAicmVzdGFydD8iOiJyZXN0YXJ0IgogIH0sCiAgaGVscF9jczoKICAgICJQcmV6ZW50YWNpIG3Fr8W+ZXRlIHByb2Now6F6ZXQgcG9tb2PDrSBrbGlrbnV0w60gbXnFoWksIG1lemVybsOta3UsICIgKwogICAgIsWhaXBlayB2bGV2byBhIHZwcmF2byBuZWJvIGtsw6F2ZXMgUGFnZVVwIGEgUGFnZURvd24uIFDDrXNtbyBzZSAiICsKICAgICJkw6EgenbEm3TFoWl0IGEgem1lbsWhaXQgcG9tb2PDrSBrbMOhdmVzIEIgYSBTLiIsCgogIHN0cmluZ3Nfbmw6IHsKICAgICJzbGlkZSI6InBhZ2luYSIsCiAgICAiaGVscD8iOiJIZWxwPyIsCiAgICAiY29udGVudHM/IjoiSW5ob3VkPyIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJpbmhvdWRzb3BnYXZlIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IkluaG91ZHNvcGdhdmUiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiaGVyc3RhcnQgcHJlc2VudGF0aWUiLAogICAgInJlc3RhcnQ/IjoiSGVyc3RhcnQ/IgogIH0sCiAgaGVscF9ubDoKICAgICAiTmF2aWdlZXIgZC5tLnYuIGhldCBtdWlzLCBzcGF0aWViYXIsIExpbmtzL1JlY2h0cyB0b2V0c2VuLCAiICsKICAgICAib2YgUGdVcCBlbiBQZ0RuLiBHZWJydWlrIFMgZW4gQiBvbSBkZSBrYXJha3Rlcmdyb290dGUgdGUgdmVyYW5kZXJlbi4iLAoKICBzdHJpbmdzX2RlOiB7CiAgICAic2xpZGUiOiJTZWl0ZSIsCiAgICAiaGVscD8iOiJIaWxmZSIsCiAgICAiY29udGVudHM/Ijoiw5xiZXJzaWNodCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJJbmhhbHRzdmVyemVpY2huaXMiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoiSW5oYWx0c3ZlcnplaWNobmlzIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6IlByw6RzZW50YXRpb24gbmV1IHN0YXJ0ZW4iLAogICAgInJlc3RhcnQ/IjoiTmV1c3RhcnQiCiAgfSwKICBoZWxwX2RlOgogICAgIkJlbnV0emVuIFNpZSBkaWUgTWF1cywgTGVlcnNjaGxhZywgZGllIEN1cnNvcnRhc3RlbiBsaW5rcy9yZWNodHMgb2RlciAiICsKICAgICJQYWdlIHVwL1BhZ2UgRG93biB6dW0gV2VjaHNlbG4gZGVyIFNlaXRlbiB1bmQgUyB1bmQgQiBmw7xyIGRpZSBTY2hyaWZ0Z3LDtnNzZS4iLAoKICBzdHJpbmdzX3BsOiB7CiAgICAic2xpZGUiOiJzbGFqZCIsCiAgICAiaGVscD8iOiJwb21vYz8iLAogICAgImNvbnRlbnRzPyI6InNwaXMgdHJlxZtjaT8iLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoic3BpcyB0cmXFm2NpIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IlNwaXMgVHJlxZtjaSIsCiAgICAicmVzdGFydCBwcmVzZW50YXRpb24iOiJSZXN0YXJ0dWogcHJlemVudGFjasSZIiwKICAgICJyZXN0YXJ0PyI6InJlc3RhcnQ/IgogIH0sCiAgaGVscF9wbDoKICAgICJabWllbmlhaiBzbGFqZHkga2xpa2FqxIVjIG15c3rEhSwgbmFjaXNrYWrEhWMgc3BhY2rEmSwgc3RyemHFgmtpIGxld28vcHJhd28iICsKICAgICJsdWIgUGdVcCAvIFBnRG4uIFXFvHlqIGtsYXdpc3p5IFMgaSBCLCBhYnkgem1pZW5pxIcgcm96bWlhciBjemN6aW9ua2kuIiwKCiAgc3RyaW5nc19mcjogewogICAgInNsaWRlIjoicGFnZSIsCiAgICAiaGVscD8iOiJBaWRlIiwKICAgICJjb250ZW50cz8iOiJJbmRleCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJ0YWJsZSBkZXMgbWF0acOocmVzIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IlRhYmxlIGRlcyBtYXRpw6hyZXMiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiUmVjb21tZW5jZXIgbCdleHBvc8OpIiwKICAgICJyZXN0YXJ0PyI6IkTDqWJ1dCIKICB9LAogIGhlbHBfZnI6CiAgICAiTmF2aWd1ZXogYXZlYyBsYSBzb3VyaXMsIGxhIGJhcnJlIGQnZXNwYWNlLCBsZXMgZmzDqGNoZXMgIiArCiAgICAiZ2F1Y2hlL2Ryb2l0ZSBvdSBsZXMgdG91Y2hlcyBQZyBVcCwgUGcgRG4uIFV0aWxpc2V6ICIgKwogICAgImxlcyB0b3VjaGVzIFMgZXQgQiBwb3VyIG1vZGlmaWVyIGxhIHRhaWxsZSBkZSBsYSBwb2xpY2UuIiwKCiAgc3RyaW5nc19odTogewogICAgInNsaWRlIjoib2xkYWwiLAogICAgImhlbHA/Ijoic2Vnw610c8OpZyIsCiAgICAiY29udGVudHM/IjoidGFydGFsb20iLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoidGFydGFsb21qZWd5esOpayIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiJUYXJ0YWxvbWplZ3l6w6lrIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6ImJlbXV0YXTDsyDDumpyYWluZMOtdMOhc2EiLAogICAgInJlc3RhcnQ/Ijoiw7pqcmFpbmTDrXTDoXMiCiAgfSwKICBoZWxwX2h1OgogICAgIkF6IG9sZGFsYWsga8O2enRpIGzDqXBrZWTDqXNoZXoga2F0dGludHNvbiBheiBlZ8OpcnJlbCwgdmFneSAiICsKICAgICJoYXN6bsOhbGphIGEgc3rDs2vDtnosIGEgYmFsLCB2YWd5IGEgam9iYiBuecOtbCwgaWxsZXR2ZSBhIFBhZ2UgRG93biwgIiArCiAgICAiUGFnZSBVcCBiaWxsZW50ecWxa2V0LiBBeiBTIMOpcyBhIEIgYmlsbGVudHnFsWtrZWwgdsOhbHRvenRhdGhhdGphICIgKwogICAgImEgc3rDtnZlZyBtw6lyZXTDqXQuIiwKCiAgc3RyaW5nc19pdDogewogICAgInNsaWRlIjoicGFnLiIsCiAgICAiaGVscD8iOiJBaXV0byIsCiAgICAiY29udGVudHM/IjoiSW5kaWNlIiwKICAgICJ0YWJsZSBvZiBjb250ZW50cyI6ImluZGljZSIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiJJbmRpY2UiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiUmljb21pbmNpYXJlIGxhIHByZXNlbnRhemlvbmUiLAogICAgInJlc3RhcnQ/IjoiSW5pemlvIgogIH0sCiAgaGVscF9pdDoKICAgICJOYXZpZ2FyZSBjb24gbW91c2UsIGJhcnJhIHNwYXppbywgZnJlY2NlIHNpbmlzdHJhL2Rlc3RyYSBvICIgKwogICAgIlBnVXAgZSBQZ0RuLiBVc2FyZSBTIGUgQiBwZXIgY2FtYmlhcmUgbGEgZGltZW5zaW9uZSBkZWkgY2FyYXR0ZXJpLiIsCgogIHN0cmluZ3NfZWw6IHsKICAgICJzbGlkZSI6Is+DzrXOu86vzrTOsSIsCiAgICAiaGVscD8iOiLOss6/zq7OuM61zrnOsTsiLAogICAgImNvbnRlbnRzPyI6Is+AzrXPgc65zrXPh8+MzrzOtc69zrE7IiwKICAgICJ0YWJsZSBvZiBjb250ZW50cyI6Is+Azq/Ovc6xzrrOsc+CIM+AzrXPgc65zrXPh86/zrzOrc69z4nOvSIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiLOoM6vzr3Osc66zrHPgiDOoM61z4HOuc61z4fOv868zq3Ovc+Jzr0iLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoizrXPgM6xzr3Otc66zrrOr869zrfPg863IM+AzrHPgc6/z4XPg86vzrHPg863z4IiLAogICAgInJlc3RhcnQ/IjoizrXPgM6xzr3Otc66zrrOr869zrfPg863OyIKICB9LAogIGhlbHBfZWw6CiAgICAizqDOu86/zrfOs863zrjOtc6vz4TOtSDOvM61IM+Ezr8gzrrOu86vzrogz4TOv8+FIM+Azr/Ovc+EzrnOus65zr/PjSwgz4TOvyBzcGFjZSwgz4TOsSDOss6tzrvOtyDOsc+BzrnPg8+EzrXPgc6sL860zrXOvs65zqwsICIgKwogICAgIs6uIFBhZ2UgVXAgzrrOsc65IFBhZ2UgRG93bi4gzqfPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDPhM6xIM+AzrvOrs66z4TPgc6xIFMgzrrOsc65IEIgzrPOuc6xIM69zrEgzrHOu867zqzOvs61z4TOtSAiICsKICAgICLPhM6/IM68zq3Os861zrjOv8+CIM+EzrfPgiDOs8+BzrHOvM68zrHPhM6/z4POtc65z4HOrM+CLiIsCgogIHN0cmluZ3NfamE6IHsKICAgICJzbGlkZSI6IuOCueODqeOCpOODiSIsCiAgICAiaGVscD8iOiLjg5jjg6vjg5ciLAogICAgImNvbnRlbnRzPyI6IuebruasoSIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiLnm67mrKHjgpLooajnpLoiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoi55uu5qyhIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6IuacgOWIneOBi+OCieWGjeeUnyIsCiAgICAicmVzdGFydD8iOiLmnIDliJ3jgYvjgokiCiAgfSwKICBoZWxwX2phOgogICAgICLjg57jgqbjgrnlt6bjgq/jg6rjg4Pjgq8g44O7IOOCueODmuODvOOCuSDjg7sg5bem5Y+z44Kt44O8ICIgKwogICAgICLjgb7jgZ/jga8gUGFnZSBVcCDjg7sgUGFnZSBEb3du44Gn5pON5L2c77yMIFMg44O7IELjgafjg5Xjgqnjg7Pjg4jjgrXjgqTjgrrlpInmm7QiLAoKICBzdHJpbmdzX3poOiB7CiAgICAic2xpZGUiOiLlubvnga/niYciLAogICAgImhlbHA/Ijoi5biu5YqpPyIsCiAgICAiY29udGVudHM/Ijoi5YaF5a65PyIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiLnm67lvZUiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoi55uu5b2VIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6IumHjeaWsOWQr+WKqOWxleekuiIsCiAgICAicmVzdGFydD8iOiLph43mlrDlkK/liqg/IgogIH0sCiAgaGVscF96aDoKICAgICLnlKjpvKDmoIfngrnlh7ssIOepuuagvOadoSwg5bem5Y+z566t5aS0LCBQZyBVcCDlkowgUGcgRG4g5a+86IiqLiAiICsKICAgICLnlKggUywgQiDmlLnlj5jlrZfkvZPlpKflsI8uIiwKCiAgc3RyaW5nc19ydTogewogICAgInNsaWRlIjoi0YHQu9Cw0LnQtCIsCiAgICAiaGVscD8iOiLQv9C+0LzQvtGJ0Yw/IiwKICAgICJjb250ZW50cz8iOiLRgdC+0LTQtdGA0LbQsNC90LjQtT8iLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoi0L7Qs9C70LDQstC70LXQvdC40LUiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoi0J7Qs9C70LDQstC70LXQvdC40LUiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoi0L/QtdGA0LXQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L/RgNC10LfQtdC90YLQsNGG0LjRjiIsCiAgICAicmVzdGFydD8iOiLQv9C10YDQtdC30LDQv9GD0YHQuj8iCiAgfSwKICBoZWxwX3J1OgogICAgItCf0LXRgNC10LzQtdGJ0LDQudGC0LXRgdGMINC60LvQuNC60LDRjyDQvNGL0YjQutC+0LksINC40YHQv9C+0LvRjNC30YPRjyDQutC70LDQstC40YjRgyDQv9GA0L7QsdC10LssINGB0YLRgNC10LvQutC4IiArCiAgICAi0LLQu9C10LLQvi/QstC/0YDQsNCy0L4g0LjQu9C4IFBnIFVwINC4IFBnIERuLiDQmtC70LDQstC40YjQuCBTINC4IEIg0LzQtdC90Y/RjtGCINGA0LDQt9C80LXRgCDRiNGA0LjRhNGC0LAuIiwKCiAgc3RyaW5nc19zdjogewogICAgInNsaWRlIjoic2lkYSIsCiAgICAiaGVscD8iOiJoasOkbHAiLAogICAgImNvbnRlbnRzPyI6ImlubmVow6VsbCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJpbm5laMOlbGxzZsO2cnRlY2tuaW5nIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IklubmVow6VsbHNmw7ZydGVja25pbmciLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoidmlzYSBwcmVzZW50YXRpb25lbiBmcsOlbiBiw7ZyamFuIiwKICAgICJyZXN0YXJ0PyI6ImLDtnJqYSBvbSIKICB9LAogIGhlbHBfc3Y6CiAgICAiQmzDpGRkcmEgbWVkIGV0dCBrbGljayBtZWQgdsOkbnN0cmEgbXVza25hcHBlbiwgbWVsbGFuc2xhZ3N0YW5nZW50ZW4sICIgKwogICAgInbDpG5zdGVyLSBvY2ggaMO2Z2VycGlsdGFuZ2VudGVybmEgZWxsZXIgdGFuZ2VudGVybmEgUGcgVXAsIFBnIERuLiAiICsKICAgICJBbnbDpG5kIHRhbmdlbnRlcm5hIFMgb2NoIEIgZsO2ciBhdHQgw6RuZHJhIHRleHRlbnMgc3Rvcmxlay4iLAoKICBzdHJpbmdzOiB7IH0sCgogIGxvY2FsaXplOiBmdW5jdGlvbiAoc3JjKSB7CiAgICBpZiAoc3JjID09ICIiKQogICAgICByZXR1cm4gc3JjOwoKICAgICAvLyB0cnkgZnVsbCBsYW5ndWFnZSBjb2RlLCBlLmcuIGVuLVVTCiAgICAgdmFyIHMsIGxvb2t1cCA9IHczY19zbGlkeS5zdHJpbmdzW3czY19zbGlkeS5sYW5nXTsKCiAgICAgaWYgKGxvb2t1cCkKICAgICB7CiAgICAgICBzID0gbG9va3VwW3NyY107CgogICAgICAgaWYgKHMpCiAgICAgICAgcmV0dXJuIHM7CiAgICAgfQoKICAgICAvLyBzdHJpcCBjb3VudHJ5IGNvZGUgc3VmZml4LCBlLmcuCiAgICAgLy8gdHJ5IGVuIGlmIHVuZGVmaW5lZCBmb3IgZW4tVVMKICAgICB2YXIgbGcgPSB3M2Nfc2xpZHkubGFuZy5zcGxpdCgiLSIpOwoKICAgICBpZiAobGcubGVuZ3RoID4gMSkKICAgICB7CiAgICAgICBsb29rdXAgPSB3M2Nfc2xpZHkuc3RyaW5nc1tsZ1swXV07CgogICAgICAgaWYgKGxvb2t1cCkKICAgICAgIHsKICAgICAgICAgcyA9IGxvb2t1cFtzcmNdOwoKICAgICAgICAgaWYgKHMpCiAgICAgICAgICByZXR1cm4gczsKICAgICAgIH0KICAgICB9CgogICAgIC8vIG90aGVyd2lzZSBzdHJpbmcgYXMgaXMKICAgICByZXR1cm4gc3JjOwogIH0sCgogIGluaXRfbG9jYWxpemF0aW9uOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgaTE4biA9IHczY19zbGlkeTsKICAgIHZhciBoZWxwX3RleHQgPSB3M2Nfc2xpZHkuaGVscF90ZXh0OwoKICAgIC8vIGVhY2ggc3VjaCBsYW5ndWFnZSBhcnJheSBpcyBkZWNsYXJlZCBpbiB0aGUgbG9jYWxpemUgYXJyYXkKICAgIC8vIHRoaXMgaXMgdXNlZCBhcyBpbiAgdzNjX3NsaWR5LmxvY2FsaXplKCJmb28iKTsKICAgIHRoaXMuc3RyaW5ncyA9IHsKICAgICAgImVzIjp0aGlzLnN0cmluZ3NfZXMsCiAgICAgICJjYSI6dGhpcy5zdHJpbmdzX2NhLAogICAgICAiY3MiOnRoaXMuc3RyaW5nc19jcywKICAgICAgIm5sIjp0aGlzLnN0cmluZ3NfbmwsCiAgICAgICJkZSI6dGhpcy5zdHJpbmdzX2RlLAogICAgICAicGwiOnRoaXMuc3RyaW5nc19wbCwKICAgICAgImZyIjp0aGlzLnN0cmluZ3NfZnIsCiAgICAgICJodSI6dGhpcy5zdHJpbmdzX2h1LAogICAgICAiaXQiOnRoaXMuc3RyaW5nc19pdCwKICAgICAgImVsIjp0aGlzLnN0cmluZ3NfZWwsCiAgICAgICJqcCI6dGhpcy5zdHJpbmdzX2phLAogICAgICAiemgiOnRoaXMuc3RyaW5nc196aCwKICAgICAgInJ1Ijp0aGlzLnN0cmluZ3NfcnUsCiAgICAgICJzdiI6dGhpcy5zdHJpbmdzX3N2CiAgICB9LAoKICAgIGkxOG4uc3RyaW5nc19lc1toZWxwX3RleHRdID0gaTE4bi5oZWxwX2VzOwogICAgaTE4bi5zdHJpbmdzX2NhW2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfY2E7CiAgICBpMThuLnN0cmluZ3NfY3NbaGVscF90ZXh0XSA9IGkxOG4uaGVscF9jczsKICAgIGkxOG4uc3RyaW5nc19ubFtoZWxwX3RleHRdID0gaTE4bi5oZWxwX25sOwogICAgaTE4bi5zdHJpbmdzX2RlW2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfZGU7CiAgICBpMThuLnN0cmluZ3NfcGxbaGVscF90ZXh0XSA9IGkxOG4uaGVscF9wbDsKICAgIGkxOG4uc3RyaW5nc19mcltoZWxwX3RleHRdID0gaTE4bi5oZWxwX2ZyOwogICAgaTE4bi5zdHJpbmdzX2h1W2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfaHU7CiAgICBpMThuLnN0cmluZ3NfaXRbaGVscF90ZXh0XSA9IGkxOG4uaGVscF9pdDsKICAgIGkxOG4uc3RyaW5nc19lbFtoZWxwX3RleHRdID0gaTE4bi5oZWxwX2VsOwogICAgaTE4bi5zdHJpbmdzX2phW2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfamE7CiAgICBpMThuLnN0cmluZ3NfemhbaGVscF90ZXh0XSA9IGkxOG4uaGVscF96aDsKICAgIGkxOG4uc3RyaW5nc19ydVtoZWxwX3RleHRdID0gaTE4bi5oZWxwX3J1OwogICAgaTE4bi5zdHJpbmdzX3N2W2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfc3Y7CgogICAgdzNjX3NsaWR5LmxhbmcgPSBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuZ2V0QXR0cmlidXRlKCJsYW5nIik7CgogICAgaWYgKCF3M2Nfc2xpZHkubGFuZykKICAgICAgdzNjX3NsaWR5LmxhbmcgPSBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpOwoKICAgIGlmICghdzNjX3NsaWR5LmxhbmcpCiAgICAgIHczY19zbGlkeS5sYW5nID0gImVuIjsKICB9Cn07CgovLyBoYWNrIGZvciBiYWNrIGJ1dHRvbiBiZWhhdmlvcgppZiAodzNjX3NsaWR5LmllNiB8fCB3M2Nfc2xpZHkuaWU3KQp7CiAgZG9jdW1lbnQud3JpdGUoIjxpZnJhbWUgaWQ9J2hpc3RvcnlGcmFtZScgIiArCiAgInNyYz0namF2YXNjcmlwdDpcIjxodG1sIisiPjwvIisiaHRtbD5cIicgIiArCiAgImhlaWdodD0nMScgd2lkdGg9JzEnICIgKwogICJzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7bGVmdDotODAwcHgnPjwvaWZyYW1lPiIpOwp9CgovLyBhdHRhY2ggZXZlbnQgbGlzdGVuZXJzIGZvciBpbml0aWFsaXphdGlvbgp3M2Nfc2xpZHkuc2V0X3VwKCk7CgovLyBoaWRlIHRoZSBzbGlkZXMgYXMgc29vbiBhcyBib2R5IGVsZW1lbnQgaXMgYXZhaWxhYmxlCi8vIHRvIHJlZHVjZSBhbm5veWluZyBzY3JlZW4gbWVzcyBiZWZvcmUgdGhlIG9ubG9hZCBldmVudApzZXRUaW1lb3V0KHczY19zbGlkeS5oaWRlX3NsaWRlcywgNTApOwoK"></script>
<script>(function() {
if (!window.w3c_slidy) return;
if (!window.Shiny) return;
if (!window.$) return;
// whenever a slide changes, tell shiny to recalculate what is displayed
window.w3c_slidy.add_observer(function (slide_num) {
// slide_num starts at position 1
$(w3c_slidy.slides[slide_num - 1]).trigger("shown");
});
})()
</script>
</head>
<body>
<div class="slide titlepage">
<h1 class="title">Getting started with Rmarkdown presentations</h1>
<p class="author">
Brad Duthie
</p>
<p class="date">28 FEB 2024</p>
</div>
<div id="before-starting-to-code" class="title-slide slide section level1">
<h1>Before starting to code</h1>
</div>
<div id="when-and-how-to-start-making-rmarkdown-slides" class="slide section level2">
<h1>When and how to start making Rmarkdown slides</h1>
<ul>
<li>Start for an informal presentation
<ul>
<li>Will not need to do anything fancy</li>
<li>Minor errors not a big deal</li>
<li>Can get started quickly</li>
</ul></li>
<li>Build confidence and learn new style tricks over time
<ul>
<li>Add <a href="https://github.com/StirlingCodingClub/css">cascading
style sheets (CSS)</a> for HTML</li>
<li>Integrate LaTeX for PDF slides</li>
</ul></li>
<li>Avoid anxiety of having presentation limited by technical skill</li>
</ul>
</div>
<div id="four-types-of-outputs-using-knit" class="slide section level2">
<h1>Four types of outputs using knit</h1>
<ol style="list-style-type: decimal">
<li>HTML (ioslides): Not very elegant, but can use columns and shiny
easily</li>
<li>HTML (slidy): Nicer looking, but columns are tricky and not for
shiny</li>
<li>PDF (LaTeX): Nice looking, but no shiny and might need to know
LaTeX</li>
<li>PPTX (Powerpoint): Probably looks okay for some things, but never
works for me in LibreOffice</li>
</ol>
<p><strong>Need to install <a href="https://cran.r-project.org/web/packages/rmarkdown/index.html">rmarkdown</a>
and <a href="https://cran.r-project.org/web/packages/knitr/index.html">knitr</a>
packages</strong></p>
</div>
<div id="the-long-term-goal-is-to-do-what-you-cannot-easily-in-powerpoint" class="slide section level2">
<h1>The long-term goal is to do what you cannot (easily) in
PowerPoint</h1>
<ul>
<li>Quickly and easily produce a consistent slide layout</li>
<li>Integrate R analysis and plots <strong>directly</strong> into a
presentation</li>
<li>Make interactive slides using <a href="https://shiny.rstudio.com/">Rshiny</a></li>
<li>Use <a href="https://stirlingcodingclub.github.io/version_control/vc_notes.html">version
control</a> when writing and maintaining slides</li>
<li>Ultimately produce slides more quickly through text and reuse of old
code</li>
</ul>
</div>
<div id="some-tricks-to-get-started-with-the-code" class="title-slide slide section level1">
<h1>Some tricks to get started with the code</h1>
</div>
<div id="select-a-new-rmarkdown-presentation" class="slide section level2">
<h1>Select a new Rmarkdown presentation</h1>
<ul>
<li>The output format is completely unimportant</li>
<li>You can get rid of everything but the first lines</li>
</ul>
<pre><code>---
title: "Untitled"
author: "Brad Duthie"
date: "28/02/2024"
output: ioslides_presentation
---</code></pre>
<ul>
<li>The YAML specifies some meta-data
<ul>
<li>‘Yet Another Markup Language’</li>
<li>Can add to it (e.g., reference styles, format options, etc.)</li>
<li>Everything below the YAML is meant to introduce you to Rmarkdown
slides</li>
</ul></li>
</ul>
</div>
<div id="getting-started-is-really-easy" class="slide section level2">
<h1>Getting started is really easy</h1>
<p>The syntax can be used for any type of slide (HTML, PDF, PPTX)</p>
<pre><code># This makes a title slide
## This is a normal slide
- Bullet 1 on normal slide
- Bullet 2 on normal slide
## Links are easy
- Link to [UoS website](https://www.stir.ac.uk/)
</code></pre>
<p>Simple text slides are especially easy to write quickly</p>
</div>
<div id="adding-images-to-an-rmarkdown-slide" class="slide section level2">
<h1>Adding images to an Rmarkdown slide</h1>
<p>Images can be added with a single line of code:</p>
<pre><code>![Optional figure legend](logo.png){width=20%}</code></pre>
<div class="figure">
<img src="data:image/png;base64,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" style="width:20.0%" alt />
<p class="caption">Optional figure legend</p>
</div>
<p>Could have also used the below</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">include_graphics</span>(<span class="st">"logo.png"</span>, </span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a> <span class="at">fig.cap =</span> <span class="st">"Optional figure legend"</span>);</span></code></pre></div>
</div>
<div id="running-code-in-an-rmarkdown-slide" class="slide section level2">
<h1>Running code in an Rmarkdown slide</h1>
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="co"># The code below is actually being run</span></span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a>dat <span class="ot"><-</span> <span class="fu">rnorm</span>(<span class="at">n =</span> <span class="dv">1000</span>, <span class="at">mean =</span> <span class="dv">10</span>, <span class="at">sd =</span> <span class="dv">2</span>);</span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a><span class="co"># We can plot a histogram of it below</span></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a><span class="fu">hist</span>(dat, <span class="at">main =</span> <span class="st">""</span>,<span class="at">col =</span> <span class="st">"grey"</span>);</span></code></pre></div>
<p><img src="data:image/png;base64,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" width="384" /></p>
</div>
<div id="separating-a-slide-into-columns-gets-tricky" class="slide section level2 smaller columns-2">
<h1 class="smaller columns-2">Separating a slide into columns gets
tricky</h1>
<p>Dividing an entire slide into two columns can be done using a bit of
code at the end of the title.</p>
<pre><code>## Slide title {.columns-2}</code></pre>
<p>This applies to the whole slide though, even if you only want columns
for a portion of the slide.</p>
<p><img src="data:image/png;base64,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" style="width:50.0%" /></p>
<p>It also only works for ioslides presentations.</p>
</div>
<div id="separating-a-slide-into-columns-gets-tricky-1" class="slide section level2 smaller columns-2">
<h1 class="smaller columns-2">Separating a slide into columns gets
tricky</h1>
<ul>
<li>Work-arounds to force breaks between columns and make everything
look better</li>
<li>Figuring out the columns even just for ioslides is not much fun</li>
<li>At this point you might need to settle on an output type (ioslides,
slidy, PDF)</li>
</ul>
<p><img src="data:image/png;base64,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" style="width:50.0%" /></p>
</div>
<div id="separating-a-slide-into-columns-gets-tricky-2" class="slide section level2 smaller">
<h1 class="smaller">Separating a slide into columns gets tricky</h1>
<p>Using LaTeX can be powerful inside Rmarkdown, but takes time to
learn, and only works for PDFs.</p>
<pre><code>\begin{columns}
\begin{column}{0.5\textwidth}
'''{r, out.width = "100%", echo = FALSE}
library("knitr")
include_graphics("logo.png");
'''
\end{column}
\begin{column}{0.5\textwidth}
\begin{itemize}
\setlength\itemsep{1.0em}
\item Using LaTeX can make things look nice
\item Only possible for PDFs
\item Need to know yet more code
\end{itemize}
\end{column}
\end{columns}</code></pre>
</div>
<div id="separating-a-slide-into-columns-gets-tricky-3" class="slide section level2 smaller columns-2">
<h1 class="smaller columns-2">Separating a slide into columns gets
tricky</h1>
</div>
<div id="maths-can-be-expressed-especially-well-in-pdf" class="slide section level2">
<h1>Maths can be expressed especially well in PDF</h1>
<pre><code>$$e^{i\pi} + 1 = 0$$</code></pre>
<p><span class="math display">\[e^{i\pi} + 1 = 0\]</span></p>
<pre><code>$$P(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{1}{2}
\left(\frac{x - \mu}{\sigma} \right)^{2}}$$</code></pre>
<p><span class="math display">\[P(x) =
\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{1}{2} \left(\frac{x - \mu}{\sigma}
\right)^{2}}\]</span></p>
</div>
<div id="maths-can-be-expressed-especially-well-in-pdf-1" class="slide section level2">
<h1>Maths can be expressed especially well in PDF</h1>
<pre><code>$$E[X] = \int_{x}xf(x)dx$$</code></pre>
<p><span class="math display">\[E[X] = \int_{x}xf(x)dx\]</span></p>
<p><a href="https://www.codecogs.com/latex/eqneditor.php">Equation
editors</a> can convert to LaTeX</p>
</div>
<div id="you-will-probably-have-to-make-compromises" class="slide section level2">
<h1>You will probably have to make compromises</h1>
<p>If all else fails, you can just make a picture of what you want and
insert it as an image</p>
</div>
<div id="this-is-a-new-slide" class="slide section level2">
<h1>This is a new slide</h1>
<ul>
<li>Bullet point 1</li>
<li>Bullet point 2</li>
</ul>
</div>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>