ids-enterprise-wc 1.15.9-patch.10 → 1.15.9-patch.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/chunks/{ids-chunk-UD2BRVFR-full.js → ids-chunk-5GV6Y3WM-full.js} +2 -2
  2. package/chunks/{ids-chunk-4MSGTAOV-full.js → ids-chunk-5XYPHVID-full.js} +1 -1
  3. package/chunks/{ids-chunk-4MSGTAOV-full.js.map → ids-chunk-5XYPHVID-full.js.map} +2 -2
  4. package/chunks/{ids-chunk-HR4HAGMR-full.js → ids-chunk-A5IOTIO6-full.js} +163 -11
  5. package/chunks/ids-chunk-A5IOTIO6-full.js.map +7 -0
  6. package/chunks/{ids-chunk-SPEJ6VZH-full.js → ids-chunk-EGZI5ZV3-full.js} +9 -2
  7. package/chunks/ids-chunk-EGZI5ZV3-full.js.map +7 -0
  8. package/chunks/{ids-chunk-7NHSNXHZ-full.js → ids-chunk-FV5W3K6S-full.js} +2 -2
  9. package/components/ids-accordion/ids-accordion.css +9 -93
  10. package/components/ids-app-menu/ids-app-menu.css +132 -23
  11. package/components/ids-button/ids-button.css +43 -392
  12. package/components/ids-calendar/ids-calendar.css +265 -190
  13. package/components/ids-checkbox/ids-checkbox.css +580 -7
  14. package/components/ids-data-grid/ids-data-grid-cell.js +1 -1
  15. package/components/ids-data-grid/ids-data-grid-column.d.ts +2 -0
  16. package/components/ids-data-grid/ids-data-grid-column.js +1 -1
  17. package/components/ids-data-grid/ids-data-grid-filters.js +2 -2
  18. package/components/ids-data-grid/ids-data-grid-row.js +2 -2
  19. package/components/ids-data-grid/ids-data-grid.css +54 -1
  20. package/components/ids-data-grid/ids-data-grid.d.ts +18 -0
  21. package/components/ids-data-grid/ids-data-grid.js +5 -5
  22. package/components/ids-menu/ids-menu.css +17 -11
  23. package/components/ids-module-nav/ids-module-nav.css +276 -29
  24. package/components/ids-pager/ids-pager.css +25 -28
  25. package/components/ids-swappable/ids-swappable.css +19 -84
  26. package/components/ids-time-picker/ids-time-picker.css +67 -49
  27. package/components/ids-trigger-field/ids-trigger-field.css +1681 -1165
  28. package/custom-elements.json +1920 -1846
  29. package/enterprise-wc.all.iife.js +166 -7
  30. package/enterprise-wc.all.iife.js.map +2 -2
  31. package/enterprise-wc.js +5 -5
  32. package/package.json +1 -1
  33. package/vscode.html-custom-data.json +1 -1
  34. package/chunks/ids-chunk-HR4HAGMR-full.js.map +0 -7
  35. package/chunks/ids-chunk-SPEJ6VZH-full.js.map +0 -7
  36. /package/chunks/{ids-chunk-UD2BRVFR-full.js.map → ids-chunk-5GV6Y3WM-full.js.map} +0 -0
  37. /package/chunks/{ids-chunk-7NHSNXHZ-full.js.map → ids-chunk-FV5W3K6S-full.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Ids Button Group Section CSS
2
+ * Ids Button Component CSS
3
3
  * (Includes standard and icon button rules)
4
4
  */
5
5
  /**
@@ -14,473 +14,124 @@
14
14
  /**
15
15
  * Provides the standard color rules for buttons that need box shadow
16
16
  */
17
- /* Ids Layout Flex Component */
18
- /* Ids Layout Flex Item Component */
19
- :host([align-self=auto]),
20
- .ids-layout-flex-item-align-self-auto {
21
- align-self: auto;
22
- }
23
-
24
- :host([align-self=baseline]),
25
- .ids-layout-flex-item-align-self-baseline {
26
- align-self: baseline;
27
- }
28
-
29
- :host([align-self=center]),
30
- .ids-layout-flex-item-align-self-center {
31
- align-self: center;
32
- }
33
-
34
- :host([align-self=stretch]),
35
- .ids-layout-flex-item-align-self-stretch {
36
- align-self: stretch;
37
- }
38
-
39
- :host([align-self=flex-start]),
40
- .ids-layout-flex-item-align-self-flex-start {
41
- align-self: flex-start;
42
- }
43
-
44
- :host([align-self=flex-end]),
45
- .ids-layout-flex-item-align-self-flex-end {
46
- align-self: flex-end;
47
- }
48
-
49
- :host([grow="0"]),
50
- .ids-layout-flex-item-grow-0 {
51
- flex-grow: 0;
52
- }
53
-
54
- :host([grow="1"]),
55
- .ids-layout-flex-item-grow-1 {
56
- flex-grow: 1;
57
- }
58
-
59
- :host([shrink="0"]),
60
- .ids-layout-flex-item-shrink-0 {
61
- flex-shrink: 0;
62
- }
63
-
64
- :host([shrink="1"]),
65
- .ids-layout-flex-item-shrink-1 {
66
- flex-shrink: 1;
67
- }
68
-
69
- :host([overflow=auto]),
70
- .ids-layout-flex-item-overflow-auto {
71
- overflow: auto;
72
- }
73
-
74
- :host([overflow=hidden]),
75
- .ids-layout-flex-item-overflow-hidden {
76
- overflow: hidden;
77
- }
78
-
79
- :host([overflow=visible]),
80
- .ids-layout-flex-item-overflow-visible {
81
- overflow: visible;
82
- }
83
-
84
- :host([overflow=scroll]),
85
- .ids-layout-flex-item-overflow-scroll {
86
- overflow: scroll;
17
+ :host([hidden]) {
18
+ display: none;
87
19
  }
88
20
 
89
21
  :host,
90
- .ids-layout-flex {
22
+ .ids-button-group {
91
23
  display: flex;
24
+ flex-direction: row;
25
+ justify-content: space-between;
26
+ width: 100%;
27
+ border-radius: 0 0 8px 8px;
28
+ max-height: 74px;
92
29
  }
93
30
 
94
- :host([display=inline-flex]),
95
- .ids-layout-flex-display-inline-flex {
96
- display: inline-flex;
97
- }
98
-
99
- :host([align-content=flex-start]),
100
- .ids-layout-flex-align-content-flex-start {
101
- align-content: flex-start;
102
- }
103
-
104
- :host([align-content=flex-end]),
105
- .ids-layout-flex-align-content-flex-end {
106
- align-content: flex-end;
107
- }
108
-
109
- :host([align-content=center]),
110
- .ids-layout-flex-align-content-center {
111
- align-content: center;
112
- }
113
-
114
- :host([align-content=space-between]),
115
- .ids-layout-flex-align-content-space-between {
116
- align-content: space-between;
117
- }
118
-
119
- :host([align-content=space-around]),
120
- .ids-layout-flex-align-content-space-around {
121
- align-content: space-around;
122
- }
123
-
124
- :host([align-content=space-evenly]),
125
- .ids-layout-flex-align-content-space-evenly {
126
- align-content: space-evenly;
127
- }
128
-
129
- :host([align-content=stretch]),
130
- .ids-layout-flex-align-content-stretch {
131
- align-content: stretch;
132
- }
133
-
134
- :host([align-content=start]),
135
- .ids-layout-flex-align-content-start {
136
- align-content: start;
137
- }
138
-
139
- :host([align-content=end]),
140
- .ids-layout-flex-align-content-end {
141
- align-content: end;
142
- }
143
-
144
- :host([align-content=baseline]),
145
- .ids-layout-flex-align-content-baseline {
146
- align-content: baseline;
147
- }
148
-
149
- :host([align-items=start]),
150
- .ids-layout-flex-align-items-start {
151
- align-items: start;
31
+ .ids-button-group {
32
+ padding: 20px;
33
+ gap: 8px;
34
+ box-sizing: border-box;
152
35
  }
153
36
 
154
- :host([align-items=end]),
155
- .ids-layout-flex-align-items-end {
156
- align-items: end;
37
+ :host(ids-button-group.lookup-group) {
38
+ padding-inline: 8px;
157
39
  }
158
40
 
159
- :host([align-items=flex-start]),
160
- .ids-layout-flex-align-items-flex-start {
161
- align-items: flex-start;
41
+ :host(ids-button-group[slot=buttons]) .ids-button-group {
42
+ padding-block: 10px;
43
+ padding-inline: 16px;
162
44
  }
163
45
 
164
- :host([align-items=flex-end]),
165
- .ids-layout-flex-align-items-flex-end {
166
- align-items: flex-end;
46
+ :host([display=inline-flex]),
47
+ .ids-button-group[display=inline-flex] {
48
+ display: inline-flex;
167
49
  }
168
50
 
169
- :host([align-items=center]),
170
- .ids-layout-flex-align-items-center {
171
- align-items: center;
51
+ .ids-button-group[divider] {
52
+ border-top: 1px solid var(--ids-color-border-weak);
172
53
  }
173
54
 
174
- :host([align-items=baseline]),
175
- .ids-layout-flex-align-items-baseline {
176
- align-items: baseline;
55
+ .ids-button-group[compact] ::slotted(ids-button-group-section) {
56
+ width: 100%;
177
57
  }
178
58
 
179
- :host([align-items=stretch]),
180
- .ids-layout-flex-align-items-stretch {
181
- align-items: stretch;
59
+ :host([slot=buttons]) .ids-button-group ::slotted(ids-button-group-section) {
60
+ margin-inline-start: auto;
182
61
  }
183
62
 
184
63
  :host([direction=row]),
185
- .ids-layout-flex-direction-row {
64
+ .ids-button-group[direction=row] {
186
65
  flex-direction: row;
187
66
  }
188
67
 
189
68
  :host([direction=row-reverse]),
190
- .ids-layout-flex-direction-row-reverse {
69
+ .ids-button-group[direction=row-reverse] {
191
70
  flex-direction: row-reverse;
192
71
  }
193
72
 
194
73
  :host([direction=column]),
195
- .ids-layout-flex-direction-column {
74
+ .ids-button-group[direction=column] {
196
75
  flex-direction: column;
197
76
  }
198
77
 
199
78
  :host([direction=column-reverse]),
200
- .ids-layout-flex-direction-column-reverse {
79
+ .ids-button-group[direction=column-reverse] {
201
80
  flex-direction: column-reverse;
202
81
  }
203
82
 
204
83
  :host([justify-content=start]),
205
- .ids-layout-flex-justify-content-start {
84
+ .ids-button-group[justify-content=start] {
206
85
  justify-content: start;
207
86
  }
208
87
 
209
88
  :host([justify-content=stretch]),
210
- .ids-layout-flex-justify-content-stretch {
89
+ .ids-button-group[justify-content=stretch] {
211
90
  justify-content: stretch;
212
91
  }
213
92
 
214
93
  :host([justify-content=end]),
215
- .ids-layout-flex-justify-content-end {
94
+ .ids-button-group[justify-content=end] {
216
95
  justify-content: end;
217
96
  }
218
97
 
219
98
  :host([justify-content=flex-start]),
220
- .ids-layout-flex-justify-content-flex-start {
99
+ .ids-button-group[justify-content=flex-start] {
221
100
  justify-content: flex-start;
222
101
  }
223
102
 
224
103
  :host([justify-content=flex-end]),
225
- .ids-layout-flex-justify-content-flex-end {
104
+ .ids-button-group[justify-content=flex-end] {
226
105
  justify-content: flex-end;
227
106
  }
228
107
 
229
108
  :host([justify-content=center]),
230
- .ids-layout-flex-justify-content-center {
109
+ .ids-button-group[justify-content=center] {
231
110
  justify-content: center;
232
111
  }
233
112
 
234
113
  :host([justify-content=left]),
235
- .ids-layout-flex-justify-content-left {
114
+ .ids-button-group[justify-content=left] {
236
115
  justify-content: left;
237
116
  }
238
117
 
239
118
  :host([justify-content=right]),
240
- .ids-layout-flex-justify-content-right {
119
+ .ids-button-group[justify-content=right] {
241
120
  justify-content: right;
242
121
  }
243
122
 
244
123
  :host([justify-content=space-between]),
245
- .ids-layout-flex-justify-content-space-between {
124
+ .ids-button-group[justify-content=space-between] {
246
125
  justify-content: space-between;
247
126
  }
248
127
 
249
128
  :host([justify-content=space-around]),
250
- .ids-layout-flex-justify-content-space-around {
129
+ .ids-button-group[justify-content=space-around] {
251
130
  justify-content: space-around;
252
131
  }
253
132
 
254
133
  :host([justify-content=space-evenly]),
255
- .ids-layout-flex-justify-content-space-evenly {
134
+ .ids-button-group[justify-content=space-evenly] {
256
135
  justify-content: space-evenly;
257
136
  }
258
-
259
- :host([wrap=nowrap]),
260
- .ids-layout-flex-wrap-nowrap {
261
- flex-wrap: nowrap;
262
- }
263
-
264
- :host([wrap=wrap]),
265
- .ids-layout-flex-wrap-wrap {
266
- flex-wrap: wrap;
267
- }
268
-
269
- :host([wrap=wrap-reverse]),
270
- .ids-layout-flex-wrap-wrap-reverse {
271
- flex-wrap: wrap-reverse;
272
- }
273
-
274
- :host([gap="0"]),
275
- .ids-layout-flex-gap-0 {
276
- gap: 0px;
277
- }
278
-
279
- :host([gap="1"]),
280
- .ids-layout-flex-gap-1 {
281
- gap: 1px;
282
- }
283
-
284
- :host([gap="2"]),
285
- .ids-layout-flex-gap-2 {
286
- gap: 2px;
287
- }
288
-
289
- :host([gap="4"]),
290
- .ids-layout-flex-gap-4 {
291
- gap: 4px;
292
- }
293
-
294
- :host([gap="8"]),
295
- .ids-layout-flex-gap-8 {
296
- gap: 8px;
297
- }
298
-
299
- :host([gap="12"]),
300
- .ids-layout-flex-gap-12 {
301
- gap: 12px;
302
- }
303
-
304
- :host([gap="16"]),
305
- .ids-layout-flex-gap-16 {
306
- gap: 16px;
307
- }
308
-
309
- :host([gap="20"]),
310
- .ids-layout-flex-gap-20 {
311
- gap: 20px;
312
- }
313
-
314
- :host([gap="24"]),
315
- .ids-layout-flex-gap-24 {
316
- gap: 24px;
317
- }
318
-
319
- :host([gap="28"]),
320
- .ids-layout-flex-gap-28 {
321
- gap: 28px;
322
- }
323
-
324
- :host([gap="32"]),
325
- .ids-layout-flex-gap-32 {
326
- gap: 32px;
327
- }
328
-
329
- :host([gap="36"]),
330
- .ids-layout-flex-gap-36 {
331
- gap: 36px;
332
- }
333
-
334
- :host([gap="40"]),
335
- .ids-layout-flex-gap-40 {
336
- gap: 40px;
337
- }
338
-
339
- :host([gap-x="0"]),
340
- .ids-layout-flex-gap-x-0 {
341
- row-gap: 0px;
342
- }
343
-
344
- :host([gap-x="1"]),
345
- .ids-layout-flex-gap-x-1 {
346
- row-gap: 1px;
347
- }
348
-
349
- :host([gap-x="2"]),
350
- .ids-layout-flex-gap-x-2 {
351
- row-gap: 2px;
352
- }
353
-
354
- :host([gap-x="4"]),
355
- .ids-layout-flex-gap-x-4 {
356
- row-gap: 4px;
357
- }
358
-
359
- :host([gap-x="8"]),
360
- .ids-layout-flex-gap-x-8 {
361
- row-gap: 8px;
362
- }
363
-
364
- :host([gap-x="12"]),
365
- .ids-layout-flex-gap-x-12 {
366
- row-gap: 12px;
367
- }
368
-
369
- :host([gap-x="16"]),
370
- .ids-layout-flex-gap-x-16 {
371
- row-gap: 16px;
372
- }
373
-
374
- :host([gap-x="20"]),
375
- .ids-layout-flex-gap-x-20 {
376
- row-gap: 20px;
377
- }
378
-
379
- :host([gap-x="24"]),
380
- .ids-layout-flex-gap-x-24 {
381
- row-gap: 24px;
382
- }
383
-
384
- :host([gap-x="28"]),
385
- .ids-layout-flex-gap-x-28 {
386
- row-gap: 28px;
387
- }
388
-
389
- :host([gap-x="32"]),
390
- .ids-layout-flex-gap-x-32 {
391
- row-gap: 32px;
392
- }
393
-
394
- :host([gap-x="36"]),
395
- .ids-layout-flex-gap-x-36 {
396
- row-gap: 36px;
397
- }
398
-
399
- :host([gap-x="40"]),
400
- .ids-layout-flex-gap-x-40 {
401
- row-gap: 40px;
402
- }
403
-
404
- :host([gap-y="0"]),
405
- .ids-layout-flex-gap-y-0 {
406
- column-gap: 0px;
407
- }
408
-
409
- :host([gap-y="1"]),
410
- .ids-layout-flex-gap-y-1 {
411
- column-gap: 1px;
412
- }
413
-
414
- :host([gap-y="2"]),
415
- .ids-layout-flex-gap-y-2 {
416
- column-gap: 2px;
417
- }
418
-
419
- :host([gap-y="4"]),
420
- .ids-layout-flex-gap-y-4 {
421
- column-gap: 4px;
422
- }
423
-
424
- :host([gap-y="8"]),
425
- .ids-layout-flex-gap-y-8 {
426
- column-gap: 8px;
427
- }
428
-
429
- :host([gap-y="12"]),
430
- .ids-layout-flex-gap-y-12 {
431
- column-gap: 12px;
432
- }
433
-
434
- :host([gap-y="16"]),
435
- .ids-layout-flex-gap-y-16 {
436
- column-gap: 16px;
437
- }
438
-
439
- :host([gap-y="20"]),
440
- .ids-layout-flex-gap-y-20 {
441
- column-gap: 20px;
442
- }
443
-
444
- :host([gap-y="24"]),
445
- .ids-layout-flex-gap-y-24 {
446
- column-gap: 24px;
447
- }
448
-
449
- :host([gap-y="28"]),
450
- .ids-layout-flex-gap-y-28 {
451
- column-gap: 28px;
452
- }
453
-
454
- :host([gap-y="32"]),
455
- .ids-layout-flex-gap-y-32 {
456
- column-gap: 32px;
457
- }
458
-
459
- :host([gap-y="36"]),
460
- .ids-layout-flex-gap-y-36 {
461
- column-gap: 36px;
462
- }
463
-
464
- :host([gap-y="40"]),
465
- .ids-layout-flex-gap-y-40 {
466
- column-gap: 40px;
467
- }
468
-
469
- :host([full-height]),
470
- .ids-layout-flex-full-height {
471
- height: 100%;
472
- }
473
-
474
- ::slotted(ids-icon),
475
- .ids-layout-flex > .ids-icon {
476
- display: inline-flex;
477
- }
478
-
479
- ::slotted(ids-button) {
480
- flex: 1;
481
- }
482
-
483
- ::slotted(ids-modal-button) {
484
- flex: 1;
485
- }
486
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtYnV0dG9uIiwic291cmNlcyI6WyJpZHMtYnV0dG9uLWdyb3VwLXNlY3Rpb24uc2NzcyIsImlkcy1idXR0b24tYmFzZS5zY3NzIiwiLi4vaWRzLWxheW91dC1mbGV4L2lkcy1sYXlvdXQtZmxleC5zY3NzIiwiLi4vaWRzLWxheW91dC1mbGV4L2lkcy1sYXlvdXQtZmxleC1pdGVtLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFpSUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBMmZBO0FBQUE7QUFBQTtBQ3ZvQkE7QUNBQTtBQU1FO0FBQUE7RUFFRSxZQUxjOzs7QUFHaEI7QUFBQTtFQUVFLFlBTGM7OztBQUdoQjtBQUFBO0VBRUUsWUFMYzs7O0FBR2hCO0FBQUE7RUFFRSxZQUxjOzs7QUFHaEI7QUFBQTtFQUVFLFlBTGM7OztBQUdoQjtBQUFBO0VBRUUsWUFMYzs7O0FBYWhCO0FBQUE7RUFFRSxXQUxhOzs7QUFHZjtBQUFBO0VBRUUsV0FMYTs7O0FBYWY7QUFBQTtFQUVFLGFBTGU7OztBQUdqQjtBQUFBO0VBRUUsYUFMZTs7O0FBYWpCO0FBQUE7RUFFRSxVQUxZOzs7QUFHZDtBQUFBO0VBRUUsVUFMWTs7O0FBR2Q7QUFBQTtFQUVFLFVBTFk7OztBQUdkO0FBQUE7RUFFRSxVQUxZOzs7QUQ5QmhCO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFPQTtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQUduQjtBQUFBO0VBRUUsZUFMaUI7OztBQWFuQjtBQUFBO0VBRUUsYUFMZTs7O0FBR2pCO0FBQUE7RUFFRSxhQUxlOzs7QUFHakI7QUFBQTtFQUVFLGFBTGU7OztBQUdqQjtBQUFBO0VBRUUsYUFMZTs7O0FBR2pCO0FBQUE7RUFFRSxhQUxlOzs7QUFHakI7QUFBQTtFQUVFLGFBTGU7OztBQUdqQjtBQUFBO0VBRUUsYUFMZTs7O0FBYWpCO0FBQUE7RUFFRSxnQkFMa0I7OztBQUdwQjtBQUFBO0VBRUUsZ0JBTGtCOzs7QUFHcEI7QUFBQTtFQUVFLGdCQUxrQjs7O0FBR3BCO0FBQUE7RUFFRSxnQkFMa0I7OztBQWFwQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQjs7O0FBR3JCO0FBQUE7RUFFRSxpQkFMbUI7OztBQUdyQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQjs7O0FBR3JCO0FBQUE7RUFFRSxpQkFMbUI7OztBQUdyQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQjs7O0FBR3JCO0FBQUE7RUFFRSxpQkFMbUI7OztBQUdyQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQjs7O0FBYXJCO0FBQUE7RUFFRSxXQUxhOzs7QUFHZjtBQUFBO0VBRUUsV0FMYTs7O0FBR2Y7QUFBQTtFQUVFLFdBTGE7OztBQWNmO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBTUY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFNRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUZGO0FBQUE7RUFFRTs7O0FBRkY7QUFBQTtFQUVFOzs7QUFGRjtBQUFBO0VBRUU7OztBQUtKO0FBQUE7RUFFRTs7O0FBSUY7QUFBQTtFQUVFOzs7QUYzRkY7RUFDRTs7O0FBR0Y7RUFDRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSWRzIEJ1dHRvbiBHcm91cCBTZWN0aW9uIENTU1xuICogKEluY2x1ZGVzIHN0YW5kYXJkIGFuZCBpY29uIGJ1dHRvbiBydWxlcylcbiAqL1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcbkB1c2UgJy4vaWRzLWJ1dHRvbi1iYXNlJyBhcyBidXR0b247XG5AdXNlICcuLi9pZHMtbGF5b3V0LWZsZXgvaWRzLWxheW91dC1mbGV4JztcblxuOjpzbG90dGVkKGlkcy1idXR0b24pIHtcbiAgZmxleDogMTtcbn1cblxuOjpzbG90dGVkKGlkcy1tb2RhbC1idXR0b24pIHtcbiAgZmxleDogMTtcbn1cbiIsIi8qKlxuICogSWRzIEJ1dHRvbiBTYXNzIG1peGlucywgdXNlZCBpbiBJZHMgQnV0dG9uIENTUyB0byBkZWZpbmUgYmFzZSBzdHlsZXMuXG4gKi9cbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi8vIE1peGluIGZvciBhIFwiYmxhbmtcIiBzaGFkb3cgKHNhbWUgYXMgdGhlIHN0YW5kYXJkIG9uZSB3aXRoIGEgY29tcGxldGVseSB0cmFuc3BhcmVudCBhbHBoYSlcbkBtaXhpbiBibGFuay1zaGFkb3coKSB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1zaGFkb3ctbm9uZSk7XG59XG5cbi8vIFVzZWQgdG8gbWFrZSB0aGUgZm9jdXMgXCJib3JkZXJcIiBhcHBlYXIgdG8gYmUgc2VwYXJhdGVkIGZyb20gdGhlIGJ1dHRvbiAocHJpbWFyeS9zZWNvbmRhcnkgdHlwZXMpLlxuQG1peGluIG91dHNldC1idXR0b24tc2hhZG93KCRiZy1jb2xvciwgJGJvcmRlci1jb2xvcikge1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDJweCAkYmctY29sb3IsIC8vIGJnIGNvbG9yXG4gICAgMCAwIDAgM3B4ICRib3JkZXItY29sb3Jcbn1cblxuLy8gVXNlZCB0byBtYWtlIHRoZSBmb2N1cyBcImJvcmRlclwiIG9uIG5vbi1zb2xpZCBidXR0b25zIChtb2RhbCBidXR0b25zLCBldGMpXG5AbWl4aW4gbW9kYWwtYnV0dG9uLXNoYWRvdygpIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWlkcy1tb2RhbC1jb2xvci1vdXRsaW5lKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbkBtaXhpbiBhbHRlcm5hdGUtYnV0dG9uLXNoYWRvdygpIHtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJveC1zaGFkb3ctaW52ZXJzZSk7XG59XG5cbi8vIFVzZWQgdG8gaW5jbHVkZSBhIGJhc2ljIHNldCBvZiBidXR0b24gc3R5bGVzIHdpdGhpbiBlYWNoIGluZGl2aWR1YWwgYnV0dG9uIHByb3RvdHlwZS5cbkBtaXhpbiBpZHMtYmFzZS1idXR0b24tc3R5bGVzKCkge1xuICBAaW5jbHVkZSBibGFuay1zaGFkb3coKTtcblxuICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1zbSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOb3RoaW5nIGluc2lkZSB0aGUgYnV0dG9uIGl0c2VsZiBzaG91bGQgYWNjZXB0IG1vdXNlIGV2ZW50c1xuICAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQmFzZSBCdXR0b24gc3R5bGVzIChkZWZhdWx0L3RlcnRpYXJ5KVxuXG4gICYge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgIC8vIEFuaW1hdGUgQkcvVGV4dC9Cb3JkZXIgY29sb3IgY2hhbmdlcyBvbiBhbGwgc3R5bGVzXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSxcbiAgICAgIGJvcmRlci1jb2xvciB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpLFxuICAgICAgY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSxcbiAgICAgIG9wYWNpdHkgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgLy8gRGlzYWJsZSBzdGFuZGFyZCBmb2N1cyBzdGF0ZSBpbiBDaHJvbWVcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIH1cblxuICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFN0YW5kYXJkIGVsZW1lbnQgdHlwZXMgaW5zaWRlIHRoZSBidXR0b25cbiAgc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAgICYuYXVkaWJsZSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMuYXVkaWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5jb2xvci12YXJpYW50LW1vZHVsZS1uYXYpOm5vdCguaWRzLWljb24tYnV0dG9uKTpub3QoLmFsaWduLWljb24tZW5kKTpub3QoLmNvbXBhY3QpIDo6c2xvdHRlZChpZHMtaWNvbjpub3QoW2ljb249J2dlbmFpJ10pKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGModmFyKC0taWRzLXNwYWNlLTJ4cykgKyAzcHgpO1xuICB9XG5cbiAgLmlkcy1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBBbGlnbm1lbnQgY2hhbmdlc1xuXG4gICYuYWxpZ24taWNvbi1lbmQge1xuICAgIDo6c2xvdHRlZChpZHMtaWNvbikge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG5cbiAgJi5jb250ZW50LWFsaWduLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG5cbiAgJi5jb250ZW50LWFsaWduLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIH1cblxuICAmLm5vLW1hcmdpbnMge1xuICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LXh4czpub3QoLmJ0bi1zZWNvbmRhcnkpOm5vdCgubm8tbWFyZ2lucykge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogM3B4O1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICB3aWR0aDogMjJweDtcbiAgfVxuXG4gIDo6c2xvdHRlZChzcGFuKSB7XG4gICAgLy8gaW1wb3J0YW50IGR1ZSB0byByZXNldCBpbiBlbnRlcnByaXNlXG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGVzIHN0YW5kYXJkaXplZCBwYWRkaW5nIHJ1bGVzIGZvciBjZXJ0YWluIGJ1dHRvbiB0eXBlc1xuICovXG5AbWl4aW4gaWRzLXN0YW5kYXJkLWJ1dHRvbi1wYWRkaW5nKCkge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWJ1dHRvbi1wYWRkaW5nLWlubGluZSk7XG59XG5cbkBtaXhpbiBpZHMtaW5saW5lLWJ1dHRvbi1wYWRkaW5nKCkge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTEyKTtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgc3RhbmRhcmQgY29sb3IgcnVsZXMgZm9yIGFsbCByZWd1bGFyIGJ1dHRvbnNcbiAqL1xuQG1peGluIGlkcy1zdGFuZGFyZC1idXR0b24tY29sb3JzKCkge1xuICAmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXdlaWdodDogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1mb250LXdlaWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJ1dHRvbi1yYWRpdXMpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIERlZmF1bHQvVGVydGlhcnkgQnV0dG9uXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgfVxuXG4gICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMsXG4gICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cy13aXRoaW4ge1xuICAgICY6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLXRleHQtaG92ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LW9wYWNpdHktZGlzYWJsZWQpO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkKTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LXByZXNzZWQpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBUZXJ0aWFyeSBEZXN0cnVjdGl2ZSBCdXR0b25cbiAgJi5idG4tdGVydGlhcnktZGVzdHJ1Y3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQcmltYXJ5IEJ1dHRvblxuXG4gICYuYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLXByZXNzZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLXByZXNzZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci10ZXh0LXByZXNzZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUHJpbWFyeSBEZXN0cnVjdGl2ZSBCdXR0b25cblxuICAmLmJ0bi1wcmltYXJ5LWRlc3RydWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLXRleHQtaG92ZXIpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgb3BhY2l0eTogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1vcGFjaXR5LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFByaW1hcnkgR2VuZXJhdGl2ZSBBSSBCdXR0b25cbiAgQGtleWZyYW1lcyBkb3QtZmxhc2hpbmcge1xuICAgIDAlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtcHJpbWFyeS1zdGVwLTEpO1xuICAgIH1cblxuICAgIDUwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1wcmltYXJ5LXN0ZXAtMik7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSB7XG4gICAgMCUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1zZWNvbmRhcnktc3RlcC0xKTtcbiAgICB9XG5cbiAgICA1MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3Qtc2Vjb25kYXJ5LXN0ZXAtMilcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGRvdC1mbGFzaGluZy1jb2xvcnMtdGVydGlhcnkge1xuICAgIDAlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtdGVydGlhcnktc3RlcC0xKTtcbiAgICB9XG5cbiAgICA1MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtdGVydGlhcnktc3RlcC0yKVxuICAgIH1cbiAgfVxuXG4gIC5sb2FkaW5nLWRvdHMtc3RhcnQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDdweCAhaW1wb3J0YW50O1xuICAgIGdhcDogMnB4O1xuICB9XG5cbiAgLmxvYWRpbmctZG90cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDJweDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogN3B4O1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogM3B4O1xuXG4gICAgLmRvdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtZGVmYXVsdCk7XG4gICAgICBjb2xvcjogIHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtZGVmYXVsdCk7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tcHJpbWFyeS1nZW5lcmF0aXZlLWFpIHtcbiAgICAtLWlkcy1idXR0b24tYWktc3BhcmtsZS1pY29uLWNvbG9yLWZpbGw6IHZhcigtLWlkcy1idXR0b24tYWktcHJpbWFyeS1zcGFya2xlLWljb24tY29sb3ItZmlsbCk7XG5cbiAgICBiYWNrZ3JvdW5kOiBib3JkZXItYm94IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMzRweDtcbiAgICBtaW4taGVpZ2h0OiAzNHB4O1xuXG4gICAgJi5jb21wYWN0IHtcbiAgICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWJ1dHRvbi1jb21wYWN0LXdpZHRoKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1idXR0b24tY29tcGFjdC13aWR0aCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBib3JkZXItYm94IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5nZW4tYWktYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IGJvcmRlci1ib3ggdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZSk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci10ZXh0LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZDogYm9yZGVyLWJveCB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgIH1cblxuICAgICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyLFxuICAgICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itd2hpdGUtMTAwKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLXNpemUpO1xuICAgICAgbWluLXdpZHRoOiAzNHB4O1xuICAgIH1cblxuICAgIC5sb2FkaW5nLWRvdHMge1xuICAgICAgLmRvdDpudGgtY2hpbGQoMSkge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZyAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmcgMXMgaW5maW5pdGUgbGluZWFyIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgfVxuXG4gICAgICAuZG90Om50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbjogZG90LWZsYXNoaW5nIDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlY29uZGFyeSBHZW5lcmF0aXZlIEJ1dHRvblxuICAmLmJ0bi1zZWNvbmRhcnktZ2VuZXJhdGl2ZS1haSB7XG4gICAgLS1pZHMtYnV0dG9uLWFpLXNwYXJrbGUtaWNvbi1jb2xvci1maWxsOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNlY29uZGFyeS1zcGFya2xlLWljb24tY29sb3ItZmlsbCk7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNlY29uZGFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItZGVmYXVsdCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWFjdGl2ZSk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1hY3RpdmUpO1xuICAgIH1cblxuICAgIDo6c2xvdHRlZChpZHMtaWNvbltpY29uPVwiZ2VuYWlcIl0pIHtcbiAgICAgIC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXByaW1hcnk6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItaWNvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICAgIC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXNlY29uZGFyeTogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgfVxuXG4gICAgJi5nZW4tYWktYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmcgZG90cyBhbmltYXRpb25cbiAgICAubG9hZGluZy1kb3RzIHtcbiAgICAgIC5kb3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWxvYWRpbmctZG90LXNlY29uZGFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWxvYWRpbmctZG90LXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSAxcyBpbmZpbml0ZSBsaW5lYXIgYWx0ZXJuYXRlO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBUZXJ0aWFyeSBHZW5lcmF0aXZlIEJ1dHRvblxuICAmLmJ0bi10ZXJ0aWFyeS1nZW5lcmF0aXZlLWFpIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktYWktc2hhZG93LWZvY3VzOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LXNoYWRvdy1mb2N1cyk7XG4gICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItYWN0aW9uLXN0cm9uZ2VyKTtcbiAgICAtLWlkcy1idXR0b24tYWktc3BhcmtsZS1pY29uLWNvbG9yLWZpbGw6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktc3BhcmtsZS1pY29uLWNvbG9yLWZpbGwpO1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXRlcnRpYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgfVxuXG4gICAgOjpzbG90dGVkKGlkcy1pY29uW2ljb249XCJnZW5haVwiXSkge1xuICAgICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tcHJpbWFyeTogdmFyKC0taWRzLWJ1dHRvbi1haS10ZXJ0aWFyeS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tc2Vjb25kYXJ5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLXRlcnRpYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5nZW4tYWktYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktYWktY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmcgZG90cyBhbmltYXRpb25cbiAgICAubG9hZGluZy1kb3RzIHtcbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXRlcnRpYXJ5IDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cblxuICAgICAgLmRvdDpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZy1jb2xvcnMtdGVydGlhcnkgMXMgaW5maW5pdGUgbGluZWFyIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgfVxuXG4gICAgICAuZG90Om50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbjogZG90LWZsYXNoaW5nLWNvbG9ycy10ZXJ0aWFyeSAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTZWNvbmRhcnkgQnV0dG9uXG4gICYuYnRuLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtaG92ZXIpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgb3BhY2l0eTogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci10ZXh0LXByZXNzZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gTGlnaHQgTW9kZSBBbHRlcm5hdGVcblxuICAvLyBEb24ndCBhcHBseSB0aGVzZSBydWxlcyB0byBcImFsdGVybmF0ZS1mb3JtYXR0ZXJcIi1zdHlsZSBidXR0b25zXG4gIC8vIFRoZXNlIGFwcGVhciBpbiBoZWFkZXJcbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyAwLjMpO1xuICAgIH1cblxuICAgICYuaWRzLXRyaWdnZXItYnV0dG9uOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXNlYXJjaC1maWVsZC1oZWFkZXItY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgYXBwZWFyIGluIGFwcCBtZW51XG4gICYuY29sb3ItdmFyaWFudC1hcHAtbWVudSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyAwLjE1KTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGVzZSBhcHBlYXIgaW4gcGxhY2VzIHdpdGggZGFyayBiYWNrZ3JvdW5kIGxpa2UgYXBwIG1lbnUgYW5kIG1hc3RoZWFkLCBnZW5lcmFsbHkgZGVmYXVsdC90ZXJ0aWFyeSBidXR0b25zXG4gICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUsXG4gICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1hbHRlcm5hdGUtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBvcGFjaXR5OiAwLjg7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci10ZXh0LWhvdmVyKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIG9wYWNpdHk6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZWQgb24gRWRpdG9yIGFuZCBMaXN0IEJ1aWxkZXIgXCJkYXJrZXJcIiB0b29sYmFyc1xuICAmLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlLWZvcm1hdHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBoZWlnaHQ6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLXNpemUpO1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItc2l6ZSk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgJi5pZHMtbWVudS1idXR0b24uY29tcGFjdCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcblxuICAgICAgJi5zcXVhcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbZWRpdG9yLWFjdGlvbj0nc291cmNlbW9kZSddLFxuICAgICZbZWRpdG9yLWFjdGlvbj0nZWRpdG9ybW9kZSddIHtcbiAgICAgIC0taWRzLWJ1dHRvbi1pY29uLXdpZHRoOiA1NHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZWQgaW4gVGFiIE1vZHVsZSBWYXJpYW50XG4gICYuY29sb3ItdmFyaWFudC1tb2R1bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1tb2R1bGUtY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICY6bm90KC5zcXVhcmUpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1idXR0b24tbW9kdWxlLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1tb2R1bGUtY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1tb2R1bGUtY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIHN0YW5kYXJkIGNvbG9yIHJ1bGVzIGZvciBidXR0b25zIHRoYXQgbmVlZCBib3ggc2hhZG93XG4gKi9cbkBtaXhpbiBpZHMtc3RhbmRhcmQtYnV0dG9uLXNoYWRvd3MoKSB7XG4gICY6bm90KC5idG4tcHJpbWFyeSk6bm90KC5idG4tc2Vjb25kYXJ5KTpub3QoLmJ0bi1wcmltYXJ5LWRlc3RydWN0aXZlKTpub3QoLmJ0bi10ZXJ0aWFyeS1kZXN0cnVjdGl2ZSk6bm90KC5idG4tcHJpbWFyeS1nZW5lcmF0aXZlLWFpKTpub3QoLmJ0bi1zZWNvbmRhcnktZ2VuZXJhdGl2ZS1haSk6bm90KC5idG4tdGVydGlhcnktZ2VuZXJhdGl2ZS1haSkge1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBEZWZhdWx0L1RlcnRpYXJ5IERlZmF1bHQvTGlnaHQgTW9kZVxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgJjpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LXNoYWRvdy1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSB7XG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJveC1zaGFkb3ctaW52ZXJzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXIge1xuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1zaGFkb3ctMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnRuLXRlcnRpYXJ5LWRlc3RydWN0aXZlIHtcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktc2hhZG93LWZvY3VzKTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gUHJpbWFyeSBEZWZhdWx0L0xpZ2h0IE1vZGVcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1zaGFkb3ctZm9jdXMpO1xuICAgIH1cblxuICAgICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUge1xuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIG91dHNldC1idXR0b24tc2hhZG93KFxuICAgICAgICAgIHZhcigtLWlkcy1jb2xvci1wcmltYXJ5LTcwKSxcbiAgICAgICAgICB2YXIoLS1pZHMtY29sb3ItdGV4dC1vbi1wcmltYXJ5KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnRuLXByaW1hcnktZGVzdHJ1Y3RpdmUge1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBQcmltYXJ5IERlc3RydWN0aXZlIERlZmF1bHQvTGlnaHQgTW9kZVxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgb3V0c2V0LWJ1dHRvbi1zaGFkb3coXG4gICAgICAgIHZhcigtLWlkcy1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpLFxuICAgICAgICB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2Vjb25kYXJ5IERlZmF1bHQvTGlnaHQgTW9kZVxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktc2hhZG93LWZvY3VzKTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1wcmltYXJ5LWdlbmVyYXRpdmUtYWkge1xuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJ1dHRvbi1haS1zaGFkb3ctZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLXRlcnRpYXJ5LWdlbmVyYXRpdmUtYWksXG4gICYuYnRuLXNlY29uZGFyeS1nZW5lcmF0aXZlLWFpIHtcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktYWktc2hhZG93LWZvY3VzKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpZHMtbW9kYWwtYnV0dG9uLWNvbG9yLWRlZmF1bHRzKCkge1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFByaW1hcnkgQnV0dG9uXG4gICYuYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWJ1dHRvbi1wYWRkaW5nLWlubGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJ1dHRvbi1yYWRpdXMpO1xuXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBtb2RhbC1idXR0b24tc2hhZG93KCk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTZWNvbmRhcnkvVGVydGlhcnkgQnV0dG9uXG5cbiAgJi5idG4tc2Vjb25kYXJ5LFxuICAmLmJ0bi10ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1idXR0b24tcGFkZGluZy1pbmxpbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1idXR0b24tcmFkaXVzKTtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgbW9kYWwtYnV0dG9uLXNoYWRvdygpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTp2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1vcGFjaXR5LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBMYXlvdXQgRmxleCBDb21wb25lbnQgKi9cbkB1c2UgJy4vaWRzLWxheW91dC1mbGV4LWl0ZW0nIGFzICo7XG5cbjpob3N0LFxuLmlkcy1sYXlvdXQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbjpob3N0KFtkaXNwbGF5PSdpbmxpbmUtZmxleCddKSxcbi5pZHMtbGF5b3V0LWZsZXgtZGlzcGxheS1pbmxpbmUtZmxleCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4vLyBBbGlnbi1jb250ZW50XG4kYWxpZ24tY29udGVudC1saXN0OiBmbGV4LXN0YXJ0IGZsZXgtZW5kIGNlbnRlciBzcGFjZS1iZXR3ZWVuIHNwYWNlLWFyb3VuZCBzcGFjZS1ldmVubHkgc3RyZXRjaCBzdGFydCBlbmQgYmFzZWxpbmU7XG5cbkBlYWNoICRhbGlnbi1jb250ZW50IGluICRhbGlnbi1jb250ZW50LWxpc3Qge1xuICA6aG9zdChbYWxpZ24tY29udGVudD0nI3skYWxpZ24tY29udGVudH0nXSksXG4gIC5pZHMtbGF5b3V0LWZsZXgtYWxpZ24tY29udGVudC0jeyRhbGlnbi1jb250ZW50fSB7XG4gICAgYWxpZ24tY29udGVudDogJGFsaWduLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQWxpZ24taXRlbXNcbiRhbGlnbi1pdGVtcy1saXN0OiBzdGFydCBlbmQgZmxleC1zdGFydCBmbGV4LWVuZCBjZW50ZXIgYmFzZWxpbmUgc3RyZXRjaDtcblxuQGVhY2ggJGFsaWduLWl0ZW1zIGluICRhbGlnbi1pdGVtcy1saXN0IHtcbiAgOmhvc3QoW2FsaWduLWl0ZW1zPScjeyRhbGlnbi1pdGVtc30nXSksXG4gIC5pZHMtbGF5b3V0LWZsZXgtYWxpZ24taXRlbXMtI3skYWxpZ24taXRlbXN9IHtcbiAgICBhbGlnbi1pdGVtczogJGFsaWduLWl0ZW1zO1xuICB9XG59XG5cbi8vIERpcmVjdGlvblxuJGZsZXgtZGlyZWN0aW9uLWxpc3Q6IHJvdyByb3ctcmV2ZXJzZSBjb2x1bW4gY29sdW1uLXJldmVyc2U7XG5cbkBlYWNoICRmbGV4LWRpcmVjdGlvbiBpbiAkZmxleC1kaXJlY3Rpb24tbGlzdCB7XG4gIDpob3N0KFtkaXJlY3Rpb249JyN7JGZsZXgtZGlyZWN0aW9ufSddKSxcbiAgLmlkcy1sYXlvdXQtZmxleC1kaXJlY3Rpb24tI3skZmxleC1kaXJlY3Rpb259IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogJGZsZXgtZGlyZWN0aW9uO1xuICB9XG59XG5cbi8vIEp1c3RpZnktY29udGVudFxuJGp1c3RpZnktY29udGVudC1saXN0OiBzdGFydCBzdHJldGNoIGVuZCBmbGV4LXN0YXJ0IGZsZXgtZW5kIGNlbnRlciBsZWZ0IHJpZ2h0IHNwYWNlLWJldHdlZW4gc3BhY2UtYXJvdW5kIHNwYWNlLWV2ZW5seTtcblxuQGVhY2ggJGp1c3RpZnktY29udGVudCBpbiAkanVzdGlmeS1jb250ZW50LWxpc3Qge1xuICA6aG9zdChbanVzdGlmeS1jb250ZW50PScjeyRqdXN0aWZ5LWNvbnRlbnR9J10pLFxuICAuaWRzLWxheW91dC1mbGV4LWp1c3RpZnktY29udGVudC0jeyRqdXN0aWZ5LWNvbnRlbnR9IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5LWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gV3JhcFxuJGZsZXgtd3JhcC1saXN0OiBub3dyYXAgd3JhcCB3cmFwLXJldmVyc2U7XG5cbkBlYWNoICRmbGV4LXdyYXAgaW4gJGZsZXgtd3JhcC1saXN0IHtcbiAgOmhvc3QoW3dyYXA9JyN7JGZsZXgtd3JhcH0nXSksXG4gIC5pZHMtbGF5b3V0LWZsZXgtd3JhcC0jeyRmbGV4LXdyYXB9IHtcbiAgICBmbGV4LXdyYXA6ICRmbGV4LXdyYXA7XG4gIH1cbn1cblxuLy8gVW5pdHNcbiR1bml0czogMCAxIDIgNCA4IDEyIDE2IDIwIDI0IDI4IDMyIDM2IDQwO1xuXG4vLyBHYXAgZm9yIGJvdGggaG9yaXpvbnRhbCBhbmQgdmVydGljYWxcbkBlYWNoICRnYXAgaW4gJHVuaXRzIHtcbiAgOmhvc3QoW2dhcD0nI3skZ2FwfSddKSxcbiAgLmlkcy1sYXlvdXQtZmxleC1nYXAtI3skZ2FwfSB7XG4gICAgZ2FwOiAjeyRnYXB9cHg7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBnYXAgKHJvdy1nYXApXG5AZWFjaCAkZ2FwLXggaW4gJHVuaXRzIHtcbiAgOmhvc3QoW2dhcC14PScjeyRnYXAteH0nXSksXG4gIC5pZHMtbGF5b3V0LWZsZXgtZ2FwLXgtI3skZ2FwLXh9IHtcbiAgICByb3ctZ2FwOiAjeyRnYXAteH1weDtcbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBnYXAgKGNvbHVtbi1nYXApXG5AZWFjaCAkZ2FwLXkgaW4gJHVuaXRzIHtcbiAgOmhvc3QoW2dhcC15PScjeyRnYXAteX0nXSksXG4gIC5pZHMtbGF5b3V0LWZsZXgtZ2FwLXktI3skZ2FwLXl9IHtcbiAgICBjb2x1bW4tZ2FwOiAjeyRnYXAteX1weDtcbiAgfVxufVxuXG4vLyBGdWxsIEhlaWdodFxuOmhvc3QoW2Z1bGwtaGVpZ2h0XSksXG4uaWRzLWxheW91dC1mbGV4LWZ1bGwtaGVpZ2h0IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vLyBGaXggaWNvbnNcbjo6c2xvdHRlZChpZHMtaWNvbiksXG4uaWRzLWxheW91dC1mbGV4ID4gLmlkcy1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4iLCIvKiBJZHMgTGF5b3V0IEZsZXggSXRlbSBDb21wb25lbnQgKi9cblxuLy8gQWxpZ24tc2VsZlxuJGFsaWduLXNlbGYtbGlzdDogYXV0byBiYXNlbGluZSBjZW50ZXIgc3RyZXRjaCBmbGV4LXN0YXJ0IGZsZXgtZW5kO1xuXG5AZWFjaCAkYWxpZ24tc2VsZiBpbiAkYWxpZ24tc2VsZi1saXN0IHtcbiAgOmhvc3QoW2FsaWduLXNlbGY9JyN7JGFsaWduLXNlbGZ9J10pLFxuICAuaWRzLWxheW91dC1mbGV4LWl0ZW0tYWxpZ24tc2VsZi0jeyRhbGlnbi1zZWxmfSB7XG4gICAgYWxpZ24tc2VsZjogJGFsaWduLXNlbGY7XG4gIH1cbn1cblxuLy8gRmxleC1ncm93XG4kZmxleC1ncm93LWxpc3Q6IDAgMTtcblxuQGVhY2ggJGZsZXgtZ3JvdyBpbiAkZmxleC1ncm93LWxpc3Qge1xuICA6aG9zdChbZ3Jvdz0nI3skZmxleC1ncm93fSddKSxcbiAgLmlkcy1sYXlvdXQtZmxleC1pdGVtLWdyb3ctI3skZmxleC1ncm93fSB7XG4gICAgZmxleC1ncm93OiAkZmxleC1ncm93O1xuICB9XG59XG5cbi8vIEZsZXgtc2hyaW5rXG4kZmxleC1zaHJpbmstbGlzdDogMCAxO1xuXG5AZWFjaCAkZmxleC1zaHJpbmsgaW4gJGZsZXgtc2hyaW5rLWxpc3Qge1xuICA6aG9zdChbc2hyaW5rPScjeyRmbGV4LXNocmlua30nXSksXG4gIC5pZHMtbGF5b3V0LWZsZXgtaXRlbS1zaHJpbmstI3skZmxleC1zaHJpbmt9IHtcbiAgICBmbGV4LXNocmluazogJGZsZXgtc2hyaW5rO1xuICB9XG59XG5cbi8vIE92ZXJmbG93XG4kb3ZlcmZsb3ctbGlzdDogYXV0byBoaWRkZW4gdmlzaWJsZSBzY3JvbGw7XG5cbkBlYWNoICRvdmVyZmxvdyBpbiAkb3ZlcmZsb3ctbGlzdCB7XG4gIDpob3N0KFtvdmVyZmxvdz0nI3skb3ZlcmZsb3d9J10pLFxuICAuaWRzLWxheW91dC1mbGV4LWl0ZW0tb3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICBvdmVyZmxvdzogJG92ZXJmbG93O1xuICB9XG59XG4iXX0= */
137
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtYnV0dG9uIiwic291cmNlcyI6WyJpZHMtYnV0dG9uLWdyb3VwLnNjc3MiLCJpZHMtYnV0dG9uLWJhc2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQWlJQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUEyZkE7QUFBQTtBQUFBO0FEaG9CQTtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQUlBO0VBQ0U7OztBQUtGO0VBQ0U7OztBQVFGO0FBQUE7RUFFRSxnQkFMa0I7OztBQUdwQjtBQUFBO0VBRUUsZ0JBTGtCOzs7QUFHcEI7QUFBQTtFQUVFLGdCQUxrQjs7O0FBR3BCO0FBQUE7RUFFRSxnQkFMa0I7OztBQWFwQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQjs7O0FBR3JCO0FBQUE7RUFFRSxpQkFMbUI7OztBQUdyQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQjs7O0FBR3JCO0FBQUE7RUFFRSxpQkFMbUI7OztBQUdyQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQjs7O0FBR3JCO0FBQUE7RUFFRSxpQkFMbUI7OztBQUdyQjtBQUFBO0VBRUUsaUJBTG1COzs7QUFHckI7QUFBQTtFQUVFLGlCQUxtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSWRzIEJ1dHRvbiBDb21wb25lbnQgQ1NTXG4gKiAoSW5jbHVkZXMgc3RhbmRhcmQgYW5kIGljb24gYnV0dG9uIHJ1bGVzKVxuICovXG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuQHVzZSAnLi9pZHMtYnV0dG9uLWJhc2UnIGFzIGJ1dHRvbjtcblxuOmhvc3QoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QsXG4uaWRzLWJ1dHRvbi1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xuICBtYXgtaGVpZ2h0OiA3NHB4O1xufVxuXG4uaWRzLWJ1dHRvbi1ncm91cCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGdhcDogOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46aG9zdChpZHMtYnV0dG9uLWdyb3VwLmxvb2t1cC1ncm91cCkge1xuICBwYWRkaW5nLWlubGluZTogOHB4O1xufVxuXG46aG9zdChpZHMtYnV0dG9uLWdyb3VwW3Nsb3Q9J2J1dHRvbnMnXSkgLmlkcy1idXR0b24tZ3JvdXAge1xuICBwYWRkaW5nLWJsb2NrOiAxMHB4O1xuICBwYWRkaW5nLWlubGluZTogMTZweDtcbn1cblxuOmhvc3QoW2Rpc3BsYXk9J2lubGluZS1mbGV4J10pLFxuLmlkcy1idXR0b24tZ3JvdXBbZGlzcGxheT0naW5saW5lLWZsZXgnXSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4uaWRzLWJ1dHRvbi1ncm91cFtkaXZpZGVyXSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1pZHMtY29sb3ItYm9yZGVyLXdlYWspO1xufVxuXG4uaWRzLWJ1dHRvbi1ncm91cFtjb21wYWN0XSB7XG4gIDo6c2xvdHRlZChpZHMtYnV0dG9uLWdyb3VwLXNlY3Rpb24pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG46aG9zdChbc2xvdD0nYnV0dG9ucyddKSAuaWRzLWJ1dHRvbi1ncm91cCB7XG4gIDo6c2xvdHRlZChpZHMtYnV0dG9uLWdyb3VwLXNlY3Rpb24pIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICB9XG59XG5cbi8vIERpcmVjdGlvblxuJGZsZXgtZGlyZWN0aW9uLWxpc3Q6IHJvdyByb3ctcmV2ZXJzZSBjb2x1bW4gY29sdW1uLXJldmVyc2U7XG5cbkBlYWNoICRmbGV4LWRpcmVjdGlvbiBpbiAkZmxleC1kaXJlY3Rpb24tbGlzdCB7XG4gIDpob3N0KFtkaXJlY3Rpb249JyN7JGZsZXgtZGlyZWN0aW9ufSddKSxcbiAgLmlkcy1idXR0b24tZ3JvdXBbZGlyZWN0aW9uPScjeyRmbGV4LWRpcmVjdGlvbn0nXSB7XG4gICAgZmxleC1kaXJlY3Rpb246ICRmbGV4LWRpcmVjdGlvbjtcbiAgfVxufVxuXG4vLyBKdXN0aWZ5IENvbnRlbnRcbiRqdXN0aWZ5LWNvbnRlbnQtbGlzdDogc3RhcnQgc3RyZXRjaCBlbmQgZmxleC1zdGFydCBmbGV4LWVuZCBjZW50ZXIgbGVmdCByaWdodCBzcGFjZS1iZXR3ZWVuIHNwYWNlLWFyb3VuZCBzcGFjZS1ldmVubHk7XG5cbkBlYWNoICRqdXN0aWZ5LWNvbnRlbnQgaW4gJGp1c3RpZnktY29udGVudC1saXN0IHtcbiAgOmhvc3QoW2p1c3RpZnktY29udGVudD0nI3skanVzdGlmeS1jb250ZW50fSddKSxcbiAgLmlkcy1idXR0b24tZ3JvdXBbanVzdGlmeS1jb250ZW50PScjeyRqdXN0aWZ5LWNvbnRlbnR9J10ge1xuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudDtcbiAgfVxufVxuIiwiLyoqXG4gKiBJZHMgQnV0dG9uIFNhc3MgbWl4aW5zLCB1c2VkIGluIElkcyBCdXR0b24gQ1NTIHRvIGRlZmluZSBiYXNlIHN0eWxlcy5cbiAqL1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLy8gTWl4aW4gZm9yIGEgXCJibGFua1wiIHNoYWRvdyAoc2FtZSBhcyB0aGUgc3RhbmRhcmQgb25lIHdpdGggYSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGFscGhhKVxuQG1peGluIGJsYW5rLXNoYWRvdygpIHtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLXNoYWRvdy1ub25lKTtcbn1cblxuLy8gVXNlZCB0byBtYWtlIHRoZSBmb2N1cyBcImJvcmRlclwiIGFwcGVhciB0byBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgYnV0dG9uIChwcmltYXJ5L3NlY29uZGFyeSB0eXBlcykuXG5AbWl4aW4gb3V0c2V0LWJ1dHRvbi1zaGFkb3coJGJnLWNvbG9yLCAkYm9yZGVyLWNvbG9yKSB7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAwIDAgMnB4ICRiZy1jb2xvciwgLy8gYmcgY29sb3JcbiAgICAwIDAgMCAzcHggJGJvcmRlci1jb2xvclxufVxuXG4vLyBVc2VkIHRvIG1ha2UgdGhlIGZvY3VzIFwiYm9yZGVyXCIgb24gbm9uLXNvbGlkIGJ1dHRvbnMgKG1vZGFsIGJ1dHRvbnMsIGV0YylcbkBtaXhpbiBtb2RhbC1idXR0b24tc2hhZG93KCkge1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0taWRzLW1vZGFsLWNvbG9yLW91dGxpbmUpO1xuICBvdXRsaW5lLW9mZnNldDogLTFweDtcbn1cblxuQG1peGluIGFsdGVybmF0ZS1idXR0b24tc2hhZG93KCkge1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtYm94LXNoYWRvdy1pbnZlcnNlKTtcbn1cblxuLy8gVXNlZCB0byBpbmNsdWRlIGEgYmFzaWMgc2V0IG9mIGJ1dHRvbiBzdHlsZXMgd2l0aGluIGVhY2ggaW5kaXZpZHVhbCBidXR0b24gcHJvdG90eXBlLlxuQG1peGluIGlkcy1iYXNlLWJ1dHRvbi1zdHlsZXMoKSB7XG4gIEBpbmNsdWRlIGJsYW5rLXNoYWRvdygpO1xuXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1pZHMtZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLXNtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSAtIDJweCk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE5vdGhpbmcgaW5zaWRlIHRoZSBidXR0b24gaXRzZWxmIHNob3VsZCBhY2NlcHQgbW91c2UgZXZlbnRzXG4gICoge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBCYXNlIEJ1dHRvbiBzdHlsZXMgKGRlZmF1bHQvdGVydGlhcnkpXG5cbiAgJiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXG4gICAgLy8gQW5pbWF0ZSBCRy9UZXh0L0JvcmRlciBjb2xvciBjaGFuZ2VzIG9uIGFsbCBzdHlsZXNcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpLFxuICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSksXG4gICAgICBjb2xvciB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpLFxuICAgICAgb3BhY2l0eSB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICAvLyBEaXNhYmxlIHN0YW5kYXJkIGZvY3VzIHN0YXRlIGluIENocm9tZVxuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3V0bGluZS1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgfVxuXG4gICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU3RhbmRhcmQgZWxlbWVudCB0eXBlcyBpbnNpZGUgdGhlIGJ1dHRvblxuICBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXG4gICAgJi5hdWRpYmxlIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5hdWRpYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmNvbG9yLXZhcmlhbnQtbW9kdWxlLW5hdik6bm90KC5pZHMtaWNvbi1idXR0b24pOm5vdCguYWxpZ24taWNvbi1lbmQpOm5vdCguY29tcGFjdCkgOjpzbG90dGVkKGlkcy1pY29uOm5vdChbaWNvbj0nZ2VuYWknXSkpIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyh2YXIoLS1pZHMtc3BhY2UtMnhzKSArIDNweCk7XG4gIH1cblxuICAuaWRzLWljb24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEFsaWdubWVudCBjaGFuZ2VzXG5cbiAgJi5hbGlnbi1pY29uLWVuZCB7XG4gICAgOjpzbG90dGVkKGlkcy1pY29uKSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAmLmNvbnRlbnQtYWxpZ24tc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cblxuICAmLmNvbnRlbnQtYWxpZ24tZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgfVxuXG4gICYubm8tbWFyZ2lucyB7XG4gICAgbWFyZ2luLWlubGluZTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQteHhzOm5vdCguYnRuLXNlY29uZGFyeSk6bm90KC5uby1tYXJnaW5zKSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzcHg7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIHdpZHRoOiAyMnB4O1xuICB9XG5cbiAgOjpzbG90dGVkKHNwYW4pIHtcbiAgICAvLyBpbXBvcnRhbnQgZHVlIHRvIHJlc2V0IGluIGVudGVycHJpc2VcbiAgICBmb250LXdlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qKlxuICogUHJvdmlkZXMgc3RhbmRhcmRpemVkIHBhZGRpbmcgcnVsZXMgZm9yIGNlcnRhaW4gYnV0dG9uIHR5cGVzXG4gKi9cbkBtaXhpbiBpZHMtc3RhbmRhcmQtYnV0dG9uLXBhZGRpbmcoKSB7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtYnV0dG9uLXBhZGRpbmctaW5saW5lKTtcbn1cblxuQG1peGluIGlkcy1pbmxpbmUtYnV0dG9uLXBhZGRpbmcoKSB7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMTIpO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBzdGFuZGFyZCBjb2xvciBydWxlcyBmb3IgYWxsIHJlZ3VsYXIgYnV0dG9uc1xuICovXG5AbWl4aW4gaWRzLXN0YW5kYXJkLWJ1dHRvbi1jb2xvcnMoKSB7XG4gICYge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWZvbnQtd2VpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYnV0dG9uLXJhZGl1cyk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gRGVmYXVsdC9UZXJ0aWFyeSBCdXR0b25cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICB9XG5cbiAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyxcbiAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzLXdpdGhpbiB7XG4gICAgJjpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgfVxuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgIG9wYWNpdHk6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktb3BhY2l0eS1kaXNhYmxlZCk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1wcmVzc2VkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLXByZXNzZWQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLXRleHQtcHJlc3NlZCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFRlcnRpYXJ5IERlc3RydWN0aXZlIEJ1dHRvblxuICAmLmJ0bi10ZXJ0aWFyeS1kZXN0cnVjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci10ZXh0LWhvdmVyKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFByaW1hcnkgQnV0dG9uXG5cbiAgJi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICAgIG9wYWNpdHk6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1vcGFjaXR5LWRpc2FibGVkKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1ib3JkZXItcHJlc3NlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLXRleHQtcHJlc3NlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQcmltYXJ5IERlc3RydWN0aXZlIEJ1dHRvblxuXG4gICYuYnRuLXByaW1hcnktZGVzdHJ1Y3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUHJpbWFyeSBHZW5lcmF0aXZlIEFJIEJ1dHRvblxuICBAa2V5ZnJhbWVzIGRvdC1mbGFzaGluZyB7XG4gICAgMCUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1wcmltYXJ5LXN0ZXAtMSk7XG4gICAgfVxuXG4gICAgNTAlLFxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWxvYWRpbmctZG90LXByaW1hcnktc3RlcC0yKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGRvdC1mbGFzaGluZy1jb2xvcnMtc2Vjb25kYXJ5IHtcbiAgICAwJSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWxvYWRpbmctZG90LXNlY29uZGFyeS1zdGVwLTEpO1xuICAgIH1cblxuICAgIDUwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1zZWNvbmRhcnktc3RlcC0yKVxuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgZG90LWZsYXNoaW5nLWNvbG9ycy10ZXJ0aWFyeSB7XG4gICAgMCUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC10ZXJ0aWFyeS1zdGVwLTEpO1xuICAgIH1cblxuICAgIDUwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC10ZXJ0aWFyeS1zdGVwLTIpXG4gICAgfVxuICB9XG5cbiAgLmxvYWRpbmctZG90cy1zdGFydCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDNweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogN3B4ICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAycHg7XG4gIH1cblxuICAubG9hZGluZy1kb3RzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMnB4O1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA3cHg7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAzcHg7XG5cbiAgICAuZG90IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDNweDtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1kZWZhdWx0KTtcbiAgICAgIGNvbG9yOiAgdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1kZWZhdWx0KTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1wcmltYXJ5LWdlbmVyYXRpdmUtYWkge1xuICAgIC0taWRzLWJ1dHRvbi1haS1zcGFya2xlLWljb24tY29sb3ItZmlsbDogdmFyKC0taWRzLWJ1dHRvbi1haS1wcmltYXJ5LXNwYXJrbGUtaWNvbi1jb2xvci1maWxsKTtcblxuICAgIGJhY2tncm91bmQ6IGJvcmRlci1ib3ggdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAzNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDM0cHg7XG5cbiAgICAmLmNvbXBhY3Qge1xuICAgICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtYnV0dG9uLWNvbXBhY3Qtd2lkdGgpO1xuICAgICAgbWluLWhlaWdodDogdmFyKC0taWRzLWJ1dHRvbi1jb21wYWN0LXdpZHRoKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGJvcmRlci1ib3ggdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmdlbi1haS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogYm9yZGVyLWJveCB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLXRleHQtYWN0aXZlKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kOiBib3JkZXItYm94IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXIsXG4gICAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXI6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci13aGl0ZS0xMDApO1xuICAgICAgbWluLWhlaWdodDogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItc2l6ZSk7XG4gICAgICBtaW4td2lkdGg6IDM0cHg7XG4gICAgfVxuXG4gICAgLmxvYWRpbmctZG90cyB7XG4gICAgICAuZG90Om50aC1jaGlsZCgxKSB7XG4gICAgICAgIGFuaW1hdGlvbjogZG90LWZsYXNoaW5nIDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cblxuICAgICAgLmRvdDpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZyAxcyBpbmZpbml0ZSBsaW5lYXIgYWx0ZXJuYXRlO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmcgMXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU2Vjb25kYXJ5IEdlbmVyYXRpdmUgQnV0dG9uXG4gICYuYnRuLXNlY29uZGFyeS1nZW5lcmF0aXZlLWFpIHtcbiAgICAtLWlkcy1idXR0b24tYWktc3BhcmtsZS1pY29uLWNvbG9yLWZpbGw6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LXNwYXJrbGUtaWNvbi1jb2xvci1maWxsKTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNlY29uZGFyeS1jb2xvci1kZWZhdWx0KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNlY29uZGFyeS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgIH1cblxuICAgICY6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNlY29uZGFyeS1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZSk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYWN0aXZlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYm9yZGVyLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgOjpzbG90dGVkKGlkcy1pY29uW2ljb249XCJnZW5haVwiXSkge1xuICAgICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tcHJpbWFyeTogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXByaW1hcnktaG92ZXIpO1xuICAgICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tc2Vjb25kYXJ5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICB9XG5cbiAgICAmLmdlbi1haS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IHZhcigtLWlkcy1idXR0b24tYWktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgLy8gTG9hZGluZyBkb3RzIGFuaW1hdGlvblxuICAgIC5sb2FkaW5nLWRvdHMge1xuICAgICAgLmRvdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3Qtc2Vjb25kYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3Qtc2Vjb25kYXJ5KTtcbiAgICAgIH1cblxuICAgICAgLmRvdDpudGgtY2hpbGQoMSkge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZy1jb2xvcnMtc2Vjb25kYXJ5IDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cblxuICAgICAgLmRvdDpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZy1jb2xvcnMtc2Vjb25kYXJ5IDFzIGluZmluaXRlIGxpbmVhciBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgICAgIH1cblxuICAgICAgLmRvdDpudGgtY2hpbGQoMykge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZy1jb2xvcnMtc2Vjb25kYXJ5IDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFRlcnRpYXJ5IEdlbmVyYXRpdmUgQnV0dG9uXG4gICYuYnRuLXRlcnRpYXJ5LWdlbmVyYXRpdmUtYWkge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1haS1zaGFkb3ctZm9jdXM6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktc2hhZG93LWZvY3VzKTtcbiAgICAtLWlkcy1idXR0b24tYWktY29sb3ItaWNvbi1zZWNvbmRhcnktaG92ZXI6IHZhcigtLWlkcy1jb2xvci1hY3Rpb24tc3Ryb25nZXIpO1xuICAgIC0taWRzLWJ1dHRvbi1haS1zcGFya2xlLWljb24tY29sb3ItZmlsbDogdmFyKC0taWRzLWJ1dHRvbi1haS10ZXJ0aWFyeS1zcGFya2xlLWljb24tY29sb3ItZmlsbCk7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICB9XG5cbiAgICA6OnNsb3R0ZWQoaWRzLWljb25baWNvbj1cImdlbmFpXCJdKSB7XG4gICAgICAtLWlkcy1idXR0b24tYWktY29sb3ItaWNvbi1wcmltYXJ5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLXRlcnRpYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgICAtLWlkcy1idXR0b24tYWktY29sb3ItaWNvbi1zZWNvbmRhcnk6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmdlbi1haS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1haS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgICAgIG9wYWNpdHk6IHZhcigtLWlkcy1idXR0b24tYWktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgLy8gTG9hZGluZyBkb3RzIGFuaW1hdGlvblxuICAgIC5sb2FkaW5nLWRvdHMge1xuICAgICAgLmRvdDpudGgtY2hpbGQoMSkge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZy1jb2xvcnMtdGVydGlhcnkgMXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgICAgfVxuXG4gICAgICAuZG90Om50aC1jaGlsZCgyKSB7XG4gICAgICAgIGFuaW1hdGlvbjogZG90LWZsYXNoaW5nLWNvbG9ycy10ZXJ0aWFyeSAxcyBpbmZpbml0ZSBsaW5lYXIgYWx0ZXJuYXRlO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXRlcnRpYXJ5IDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlY29uZGFyeSBCdXR0b25cbiAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1mb2N1cyk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1vcGFjaXR5LWRpc2FibGVkKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1wcmVzc2VkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYm9yZGVyLXByZXNzZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtcHJlc3NlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBMaWdodCBNb2RlIEFsdGVybmF0ZVxuXG4gIC8vIERvbid0IGFwcGx5IHRoZXNlIHJ1bGVzIHRvIFwiYWx0ZXJuYXRlLWZvcm1hdHRlclwiLXN0eWxlIGJ1dHRvbnNcbiAgLy8gVGhlc2UgYXBwZWFyIGluIGhlYWRlclxuICAmLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIDAuMyk7XG4gICAgfVxuXG4gICAgJi5pZHMtdHJpZ2dlci1idXR0b246bm90KFtyZWFkb25seV0pIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtc2VhcmNoLWZpZWxkLWhlYWRlci1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGVzZSBhcHBlYXIgaW4gYXBwIG1lbnVcbiAgJi5jb2xvci12YXJpYW50LWFwcC1tZW51IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIDAuMTUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZXNlIGFwcGVhciBpbiBwbGFjZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgbGlrZSBhcHAgbWVudSBhbmQgbWFzdGhlYWQsIGdlbmVyYWxseSBkZWZhdWx0L3RlcnRpYXJ5IGJ1dHRvbnNcbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSxcbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFsdGVybmF0ZS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIG9wYWNpdHk6IDAuODtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLXRleHQtaG92ZXIpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgb3BhY2l0eTogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlZCBvbiBFZGl0b3IgYW5kIExpc3QgQnVpbGRlciBcImRhcmtlclwiIHRvb2xiYXJzXG4gICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIGhlaWdodDogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItc2l6ZSk7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1zaXplKTtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci10ZXh0LWhvdmVyKTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICAmLmlkcy1tZW51LWJ1dHRvbi5jb21wYWN0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuXG4gICAgICAmLnNxdWFyZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltlZGl0b3ItYWN0aW9uPSdzb3VyY2Vtb2RlJ10sXG4gICAgJltlZGl0b3ItYWN0aW9uPSdlZGl0b3Jtb2RlJ10ge1xuICAgICAgLS1pZHMtYnV0dG9uLWljb24td2lkdGg6IDU0cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlZCBpbiBUYWIgTW9kdWxlIFZhcmlhbnRcbiAgJi5jb2xvci12YXJpYW50LW1vZHVsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLW1vZHVsZS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXG4gICAgJjpub3QoLnNxdWFyZSkge1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJ1dHRvbi1tb2R1bGUtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLW1vZHVsZS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLW1vZHVsZS1jb2xvci10ZXh0LWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgc3RhbmRhcmQgY29sb3IgcnVsZXMgZm9yIGJ1dHRvbnMgdGhhdCBuZWVkIGJveCBzaGFkb3dcbiAqL1xuQG1peGluIGlkcy1zdGFuZGFyZC1idXR0b24tc2hhZG93cygpIHtcbiAgJjpub3QoLmJ0bi1wcmltYXJ5KTpub3QoLmJ0bi1zZWNvbmRhcnkpOm5vdCguYnRuLXByaW1hcnktZGVzdHJ1Y3RpdmUpOm5vdCguYnRuLXRlcnRpYXJ5LWRlc3RydWN0aXZlKTpub3QoLmJ0bi1wcmltYXJ5LWdlbmVyYXRpdmUtYWkpOm5vdCguYnRuLXNlY29uZGFyeS1nZW5lcmF0aXZlLWFpKTpub3QoLmJ0bi10ZXJ0aWFyeS1nZW5lcmF0aXZlLWFpKSB7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIERlZmF1bHQvVGVydGlhcnkgRGVmYXVsdC9MaWdodCBNb2RlXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICAmOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktc2hhZG93LWZvY3VzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlIHtcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtYm94LXNoYWRvdy1pbnZlcnNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlLWZvcm1hdHRlciB7XG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLXNoYWRvdy0yMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5idG4tdGVydGlhcnktZGVzdHJ1Y3RpdmUge1xuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1zaGFkb3ctZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLXByaW1hcnkge1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBQcmltYXJ5IERlZmF1bHQvTGlnaHQgTW9kZVxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LXNoYWRvdy1mb2N1cyk7XG4gICAgfVxuXG4gICAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSB7XG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgb3V0c2V0LWJ1dHRvbi1zaGFkb3coXG4gICAgICAgICAgdmFyKC0taWRzLWNvbG9yLXByaW1hcnktNzApLFxuICAgICAgICAgIHZhcigtLWlkcy1jb2xvci10ZXh0LW9uLXByaW1hcnkpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5idG4tcHJpbWFyeS1kZXN0cnVjdGl2ZSB7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIFByaW1hcnkgRGVzdHJ1Y3RpdmUgRGVmYXVsdC9MaWdodCBNb2RlXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBvdXRzZXQtYnV0dG9uLXNoYWRvdyhcbiAgICAgICAgdmFyKC0taWRzLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCksXG4gICAgICAgIHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1zZWNvbmRhcnkge1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBTZWNvbmRhcnkgRGVmYXVsdC9MaWdodCBNb2RlXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1zaGFkb3ctZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLXByaW1hcnktZ2VuZXJhdGl2ZS1haSB7XG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNoYWRvdy1mb2N1cyk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tdGVydGlhcnktZ2VuZXJhdGl2ZS1haSxcbiAgJi5idG4tc2Vjb25kYXJ5LWdlbmVyYXRpdmUtYWkge1xuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1haS1zaGFkb3ctZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGlkcy1tb2RhbC1idXR0b24tY29sb3ItZGVmYXVsdHMoKSB7XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUHJpbWFyeSBCdXR0b25cbiAgJi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtYnV0dG9uLXBhZGRpbmctaW5saW5lKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYnV0dG9uLXJhZGl1cyk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIG1vZGFsLWJ1dHRvbi1zaGFkb3coKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1vcGFjaXR5LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlY29uZGFyeS9UZXJ0aWFyeSBCdXR0b25cblxuICAmLmJ0bi1zZWNvbmRhcnksXG4gICYuYnRuLXRlcnRpYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWJ1dHRvbi1wYWRkaW5nLWlubGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJ1dHRvbi1yYWRpdXMpO1xuXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBtb2RhbC1idXR0b24tc2hhZG93KCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci10ZXh0LWhvdmVyKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OnZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxufVxuIl19 */