tango-app-ui-analyse-traffic 3.4.0-beta.69 → 3.4.0-beta.70
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.
- package/esm2022/lib/components/traffic-analysis/traffic-analysis.component.mjs +41 -16
- package/fesm2022/tango-app-ui-analyse-traffic.mjs +39 -14
- package/fesm2022/tango-app-ui-analyse-traffic.mjs.map +1 -1
- package/lib/components/traffic-analysis/traffic-analysis.component.d.ts +5 -2
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import * as am5xy from "@amcharts/amcharts5/xy";
|
|
|
4
4
|
import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
|
|
5
5
|
import am5themes_Responsive from "@amcharts/amcharts5/themes/Responsive";
|
|
6
6
|
import * as am5percent from "@amcharts/amcharts5/percent";
|
|
7
|
-
import { Subject, takeUntil } from
|
|
7
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
8
8
|
import { debounceTime } from 'rxjs/operators';
|
|
9
9
|
import * as mapboxgl from 'mapbox-gl';
|
|
10
10
|
import { VideoUrlComponent } from "../video-url/video-url.component";
|
|
@@ -93,6 +93,8 @@ export class TrafficAnalysisComponent {
|
|
|
93
93
|
clientData;
|
|
94
94
|
nob;
|
|
95
95
|
forecast;
|
|
96
|
+
maxFootfall;
|
|
97
|
+
minFootfall;
|
|
96
98
|
handleClickOutside(event) {
|
|
97
99
|
const clickedInside = event.target.closest('.tooltip-popup, .label');
|
|
98
100
|
if (!clickedInside) {
|
|
@@ -2061,9 +2063,10 @@ line-height: 13px;">
|
|
|
2061
2063
|
};
|
|
2062
2064
|
// Example usage
|
|
2063
2065
|
const processTypeTitle = capitalizeTitle(this.objData.processType);
|
|
2064
|
-
this.createColumnSeries('Footfall', 'footfall', xAxis, yAxis, false, am5.color(0x67b7dc));
|
|
2065
|
-
this.createColumnSeries('Bounced', 'bounced', xAxis, yAxis, true, am5.color(
|
|
2066
|
-
this.createColumnSeries('Engagers', 'engagers', xAxis, yAxis, true, am5.color(
|
|
2066
|
+
// this.createColumnSeries('Footfall', 'footfall', xAxis, yAxis, false, am5.color(0x67b7dc));
|
|
2067
|
+
this.createColumnSeries('Bounced', 'bounced', xAxis, yAxis, true, am5.color(0x67b7dc));
|
|
2068
|
+
this.createColumnSeries('Engagers', 'engagers', xAxis, yAxis, true, am5.color(0x6794dc));
|
|
2069
|
+
// 6771dc
|
|
2067
2070
|
// this.createColumnSeries('Missed Opportunity', 'missedopportunities', xAxis, yAxis, true, am5.color(0x6794dc));
|
|
2068
2071
|
// this.createColumnSeries('Potential Buyer', 'potential', xAxis, yAxis, true, am5.color(0xdc69cf));
|
|
2069
2072
|
// this.createColumnSeries('Conversion', 'conversion', xAxis, yAxis, true, am5.color(0x6771dc));
|
|
@@ -2222,7 +2225,7 @@ line-height: 13px;">
|
|
|
2222
2225
|
categoryXField: 'storeName',
|
|
2223
2226
|
tooltip: am5.Tooltip.new(this.rootTrends, {
|
|
2224
2227
|
pointerOrientation: "horizontal",
|
|
2225
|
-
labelText: "{name}: {valueY}",
|
|
2228
|
+
labelText: "Total Footfall: {footfall}\n{name}: {valueY} ",
|
|
2226
2229
|
background: am5.Rectangle.new(this.rootTrends, {
|
|
2227
2230
|
fill: am5.color(0x00FF00) // Set the desired tooltip background color
|
|
2228
2231
|
})
|
|
@@ -3229,11 +3232,15 @@ line-height: 13px;">
|
|
|
3229
3232
|
width: am5.percent(100),
|
|
3230
3233
|
height: am5.percent(100),
|
|
3231
3234
|
});
|
|
3232
|
-
// Set column color based on value
|
|
3233
3235
|
this.heatMapSeries.columns.template.adapters.add("fill", (fill, target) => {
|
|
3234
3236
|
const dataItem = target.dataItem?.dataContext;
|
|
3235
|
-
return dataItem && dataItem.value !== undefined ? this.
|
|
3237
|
+
return dataItem && dataItem.value !== undefined ? this.getRangeColorDynamic(dataItem.value) : fill;
|
|
3236
3238
|
});
|
|
3239
|
+
// Set column color based on value
|
|
3240
|
+
// this.heatMapSeries.columns.template.adapters.add("fill", (fill, target) => {
|
|
3241
|
+
// const dataItem = target.dataItem?.dataContext as { value: number };
|
|
3242
|
+
// return dataItem && dataItem.value !== undefined ? this.getRangeColor1(dataItem.value) : fill;
|
|
3243
|
+
// });
|
|
3237
3244
|
// Add bullet for value labels
|
|
3238
3245
|
this.heatMapSeries.bullets.push(() => {
|
|
3239
3246
|
return am5.Bullet.new(this.heatMapRoot, {
|
|
@@ -3265,6 +3272,9 @@ line-height: 13px;">
|
|
|
3265
3272
|
}
|
|
3266
3273
|
// Set data to the series
|
|
3267
3274
|
this.heatMapSeries.data.setAll(heatMapData);
|
|
3275
|
+
const visibleValues = this.heatMapSeries.data.values.map((d) => d.value);
|
|
3276
|
+
this.maxFootfall = Math.max(...visibleValues);
|
|
3277
|
+
this.minFootfall = Math.min(...visibleValues);
|
|
3268
3278
|
// Extract unique weekdays and hours, sorted
|
|
3269
3279
|
const weekdays = Array.from(new Set(heatMapData.map(row => row.weekday)));
|
|
3270
3280
|
const hours = Array.from(new Set(heatMapData.map(row => row.hour)))
|
|
@@ -3278,6 +3288,18 @@ line-height: 13px;">
|
|
|
3278
3288
|
this.heatMapRoot = this.heatMapRoot;
|
|
3279
3289
|
}, 0);
|
|
3280
3290
|
}
|
|
3291
|
+
getRangeColorDynamic(footfallCount) {
|
|
3292
|
+
let minFootfall = this.minFootfall ?? 0;
|
|
3293
|
+
let maxFootfall = this.maxFootfall ?? 1;
|
|
3294
|
+
if (maxFootfall === minFootfall)
|
|
3295
|
+
return am5.color(0x008edf); // Prevent division by zero
|
|
3296
|
+
const normalizedValue = (footfallCount - minFootfall) / (maxFootfall - minFootfall);
|
|
3297
|
+
const clampedValue = Math.min(Math.max(normalizedValue, 0), 0.5);
|
|
3298
|
+
const adjustedValue = Math.pow(clampedValue, 0.5); // Increase power to darken faster
|
|
3299
|
+
const baseColor = am5.color(0x008edf); // Starting color (light blue)
|
|
3300
|
+
const adjustedColor = am5.Color.lighten(baseColor, 1 - adjustedValue);
|
|
3301
|
+
return adjustedColor;
|
|
3302
|
+
}
|
|
3281
3303
|
getRangeColor1(footfallCount) {
|
|
3282
3304
|
let maxFootfall;
|
|
3283
3305
|
const minFootfall = 0; // minimum expected footfall
|
|
@@ -3318,8 +3340,10 @@ line-height: 13px;">
|
|
|
3318
3340
|
}));
|
|
3319
3341
|
let data = this.getDensityDwellData.dwellTimeSplit?.map((item) => ({
|
|
3320
3342
|
year: (item.dwell_time) + " Mins",
|
|
3321
|
-
maleCount: Number(item.
|
|
3322
|
-
|
|
3343
|
+
maleCount: Number(item.maleCount_value),
|
|
3344
|
+
maleCustom: Number(item.maleCount),
|
|
3345
|
+
femaleCount: Number(item.femaleCount_value),
|
|
3346
|
+
femaleCustom: Number(item.femaleCount)
|
|
3323
3347
|
}));
|
|
3324
3348
|
// Create axes
|
|
3325
3349
|
let xRenderer = am5xy.AxisRendererX.new(this.dwellRoot, {
|
|
@@ -3364,23 +3388,24 @@ line-height: 13px;">
|
|
|
3364
3388
|
categoryXField: "year",
|
|
3365
3389
|
}));
|
|
3366
3390
|
series.columns.template.setAll({
|
|
3367
|
-
tooltipText:
|
|
3391
|
+
tooltipText: `[bold]{name}[/]\n{categoryX},\nFootfall %: {customValue}%`,
|
|
3368
3392
|
tooltipY: am5.percent(10),
|
|
3369
3393
|
});
|
|
3370
3394
|
if (data?.length) {
|
|
3371
|
-
|
|
3395
|
+
const enhancedData = data.map((d) => ({
|
|
3396
|
+
...d,
|
|
3397
|
+
customValue: d[fieldName === "maleCount" ? "maleCustom" : "femaleCustom"]
|
|
3398
|
+
}));
|
|
3399
|
+
series.data.setAll(enhancedData);
|
|
3372
3400
|
}
|
|
3373
|
-
series.appear();
|
|
3374
|
-
// Bullet labels with condition to hide 0% values
|
|
3375
3401
|
series.bullets.push(() => {
|
|
3376
3402
|
let label = am5.Label.new(this.dwellRoot, {
|
|
3377
|
-
text: "{valueY}
|
|
3403
|
+
text: "{valueY}",
|
|
3378
3404
|
fill: this.dwellRoot.interfaceColors.get("alternativeText"),
|
|
3379
3405
|
centerY: am5.p50,
|
|
3380
3406
|
centerX: am5.p50,
|
|
3381
3407
|
populateText: true,
|
|
3382
3408
|
});
|
|
3383
|
-
// Hide label if value is 0
|
|
3384
3409
|
label.adapters.add("visible", (visible, target) => {
|
|
3385
3410
|
const value = target.dataItem?.dataContext?.[fieldName];
|
|
3386
3411
|
return value !== 0;
|
|
@@ -3614,4 +3639,4 @@ function getDaysBetweenDates(fromDate, toDate) {
|
|
|
3614
3639
|
const differenceInDays = Math.floor(differenceInMs / millisecondsPerDay);
|
|
3615
3640
|
return differenceInDays;
|
|
3616
3641
|
}
|
|
3617
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQU1ULFNBQVMsRUFFVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sa0JBQWtCLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxvQkFBb0IsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFFdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxLQUFLLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyx3QkFB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QUF4Qix3QkFBd0IsK1RDbkNyQyxzOXZTQWs0RkE7OzRGRC8xRmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQjtzVkFpRWhDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFnRFAsT0FBTztzQkFBekMsU0FBUzt1QkFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQTh3REosZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFpQzNCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFrOEQ1QyxTQUFTLG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsTUFBYztJQUMzRCwyQ0FBMkM7SUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0IsMkNBQTJDO0lBQzNDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFdkQsK0RBQStEO0lBQy9ELE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0lBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztJQUV6RSxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE5nWm9uZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0XHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0ICogYXMgYW01IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1XCI7XHJcbmltcG9ydCAqIGFzIGFtNXh5IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3h5XCI7XHJcbmltcG9ydCBhbTV0aGVtZXNfQW5pbWF0ZWQgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvdGhlbWVzL0FuaW1hdGVkXCI7XHJcbmltcG9ydCBhbTV0aGVtZXNfUmVzcG9uc2l2ZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS90aGVtZXMvUmVzcG9uc2l2ZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTVwZXJjZW50IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3BlcmNlbnRcIjtcclxuaW1wb3J0IHsgVHJhZmZpY1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhZmZpYy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYlRvb2x0aXAgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEV4Y2VsU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9leGNlbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCAqIGFzIG1hcGJveGdsIGZyb20gJ21hcGJveC1nbCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IFZpZGVvVXJsQ29tcG9uZW50IH0gZnJvbSBcIi4uL3ZpZGVvLXVybC92aWRlby11cmwuY29tcG9uZW50XCI7XHJcbmltcG9ydCAqIGFzIGJvb3RzdHJhcCBmcm9tIFwiYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwibGliLXRyYWZmaWMtYW5hbHlzaXNcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3RyYWZmaWMtYW5hbHlzaXMuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3RyYWZmaWMtYW5hbHlzaXMuY29tcG9uZW50LnNjc3NcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYWZmaWNBbmFseXNpc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIGxpbmVyb290OiBhbTUuUm9vdDtcclxuICBwcml2YXRlIGJvdW5jZWRsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBwb3RlbnRpYWxCdXllcnNsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBlbmdhZ2Vyc2xpbmVyb290OiBhbTUuUm9vdDtcclxuICBzb3J0ZWRDb2x1bW46IGFueTtcclxuICBzb3J0RGlyZWN0aW9uOiBhbnk7XHJcbiAgcHJpdmF0ZSBjaGFydDogYW55O1xyXG4gIHByaXZhdGUgdG9vbHRpcEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGdldENhcmREYXRhOiBhbnkgPSBbXTtcclxuICBoZWF0TWFwRGF0YTogYW55ID0gW107XHJcbiAgZ2V0Q2FyZEdyYXBoRGF0YTogYW55O1xyXG4gIGdldFN1bW1hcnlUYWJsZURhdGE6IGFueTtcclxuICBpdGVtc1BlclBhZ2UgPSAxMDtcclxuICBjdXJyZW50UGFnZSA9IDE7XHJcbiAgdG90YWxJdGVtcyA9IDE7XHJcbiAgcGFnaW5hdGlvblNpemVzOmFueVtdID0gW107XHJcbiAgcGFnZVNpemUgPSAxMDtcclxuICBvZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgbGltaXQ6IG51bWJlciA9IDEwO1xyXG4gIGdldFJlY2FwVmlkZW9EYXRhOiBhbnk7XHJcbiAgdGFibGVvYmo6IGFueTtcclxuICBoZWF0TWFwcm9vdDogYW01LlJvb3Q7XHJcbiAgdmFsdWVUeXBlPVwiYWN0dWFsXCJcclxuICBkYXRlVHlwZT1cIndlZWtseVwiO1xyXG4gIHBvaW50czphbnkgPSBbXTtcclxuICBoZWFkZXJEYXRhOiBhbnk7XHJcbiAgdHlwZVZhbHVlOiBhbnkgPSdzdW0nO1xyXG4gIHZhbHVlQ29udmVyc2lvblJhdGU6IGFueTtcclxuICBjb252ZXJzaW9uVmFsdWU6IGFueT0nJztcclxuICBzZWFyY2hWYWx1ZTogYW55O1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPXRydWU7XHJcbiAgbm9EYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBjYXJkbG9hZGluZzogYm9vbGVhbiA9dHJ1ZTtcclxuICBjYXJkTm9kYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBoZWF0bG9hZGluZyA9IHRydWVcclxuICBoZWF0bm9EYXRhID0gZmFsc2VcclxuICBzdG9yZUlkYXJyYXk6IGFueSA9W107XHJcbiAgZ2V0UmVjYXBEYXRhOiBhbnk9W107XHJcbiAgZm9ybTogYW55O1xyXG4gIGRhdGVMZW5ndGg6IG51bWJlcjtcclxuICBwZXJmb3JtYW5jZW5vRGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgcGVyZm9ybWFuY2VMb2FkaW5nOiBib29sZWFuID10cnVlO1xyXG4gIHpvbmVEd2VsbFRpbWVTcGxpdERhdGE6IGFueT1bXTtcclxuICBzdG9yZU9wZXJhdGlvbkRhdGE6IGFueT1bXTtcclxuICBmb290ZmFsbE5hbWU6IHN0cmluZz0nQWN0dWFsIEZvb3RmYWxsJztcclxuICBib3VuY2VMYWJlbDogYW55O1xyXG4gIGZvb3RmYWxsTGFiZWw6IGFueTtcclxuICBjb2xWYWx1ZTogYW55O1xyXG4gIHJlY2FwbGFvZGluZzogYm9vbGVhbjtcclxuICByZWNhcG5vRGF0YTogYm9vbGVhbjtcclxuICByZWNhcHNHcm91cGVkOiBhbnlbXT1bXTtcclxuICBpc0F2ZXJhZ2U6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVG9nZ2xlIHN0YXRlIGZvciB0aGUgc3dpdGNoXHJcbiAgaXNEaXNhYmxlZDogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgem9uZUxvYWRpbmcgPSB0cnVlO1xyXG4gem9uZU5vRGF0YSA9IGZhbHNlO1xyXG4gIGNsaWVudERhdGE6IGFueTtcclxuICBub2I6IGJvb2xlYW47XHJcbiAgZm9yZWNhc3Q6YW55O1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVDbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcudG9vbHRpcC1wb3B1cCwgLmxhYmVsJyk7XHJcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuICAgICAgdGhpcy5hY3RpdmVUb29sdGlwID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgYWN0aXZlVG9vbHRpcDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGF1TG9jYXRpb25zOiBhbnlbXSA9IFtdO1xyXG4gIG1hcE9wdGlvbnM6IGdvb2dsZS5tYXBzLk1hcE9wdGlvbnMgPSB7XHJcbiAgICBtYXBJZDogXCJERU1PX01BUF9JRFwiLFxyXG4gICAgY2VudGVyOiB7IGxhdDogMCwgbG5nOiAwIH0sICAvLyBJbml0aWFsIGNlbnRlclxyXG4gICAgem9vbTogMSxcclxuICB9O1xyXG5cclxuICBwZXJmb3JtYW5jZURhdGE6YW55ID0gW107XHJcbiAgbXBhbG9hZGluZyA9dHJ1ZTtcclxuICBtYXBub0RhdGE9IGZhbHNlO1xyXG4gIGZvb3RmYWxsZGF0YXNldHMgPSBbXHJcbiAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2JvdW5jZWQnLCBsYWJlbDogJ0JvdW5jZWQgRm9vdGZhbGwnIH0sXHJcbiAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiAnRW5nYWdlcnMnIH0sXHJcbiAgICB7IHZhbHVlOiAnbWlzc2VkT3Bwb3J0dW5pdHknLCBsYWJlbDogJ01pc3NlZCBPcHBvcnR1bml0eScgfSxcclxuICAgIHsgdmFsdWU6ICdwb3RlbnRpYWxCdXllcicsIGxhYmVsOiAnUG90ZW50aWFsIEJ1eWVyJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogJ0NvbnZlcnNpb24nIH1cclxuICBdO1xyXG4gIGJvdW5jZWRhdGFzZXRzID0gW1xyXG4gICAgeyB2YWx1ZTogJ2Zvb3RmYWxsJywgbGFiZWw6ICdGb290ZmFsbCcgfSxcclxuICAgIHsgdmFsdWU6ICdib3VuY2VkJywgbGFiZWw6ICdCb3VuY2VkIEZvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2VuZ2FnZXInLCBsYWJlbDogJ0VuZ2FnZXJzJyB9LFxyXG4gICAgeyB2YWx1ZTogJ21pc3NlZE9wcG9ydHVuaXR5JywgbGFiZWw6ICdNaXNzZWQgT3Bwb3J0dW5pdHknIH0sXHJcbiAgICB7IHZhbHVlOiAncG90ZW50aWFsQnV5ZXInLCBsYWJlbDogJ1BvdGVudGlhbCBCdXllcicgfSxcclxuICAgIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6ICdDb252ZXJzaW9uJyB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIscHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgZXhjZWxTZXJ2aWNlOiBFeGNlbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRyYWZmaWNTZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLCBwcml2YXRlIGZiOkZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcclxuICApIHtcclxuIFxyXG4gICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICBzZWxlY3RWYWx1ZTogbmV3IEZvcm1Db250cm9sKCcnKSAvLyBJbml0aWFsaXplIGFzIEZvcm1Db250cm9sXHJcbiAgICAgICAgIH0pO1xyXG4gIH1cclxuICBAVmlld0NoaWxkKFwidFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9vbHRpcDogTmdiVG9vbHRpcDtcclxuICB0b29sdGlwVmFsdWU6IHN0cmluZztcclxuICBib3VuY2VWYWx1ZTE6YW55O1xyXG4gIGNsaWVudEFQSURhdGE6YW55O1xyXG4gIHVzZXJzOmFueTtcclxuICAgc3ViMjpTdWJzY3JpcHRpb24gfCB1bmRlZmluZWRcclxuICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgIHByb2Nlc3NUeXBlPVwibWlzc2Vkb3Bwb3J0dW5pdGllc1wiXHJcbiAgIHRyZW5kdHlwZVZhbHVlOiBhbnkgPSdhdmVyYWdlJztcclxuICAgbm9ybWFsaXplOmFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIChtYXBib3hnbCBhcyBhbnkpLmFjY2Vzc1Rva2VuID0gJ3BrLmV5SjFJam9pWW1Gc1lXcHBkR0Z1WjI4aUxDSmhJam9pWTIwd1oyeGllbTU1TURGeFlUSjNiMjF6YjNGak5IZHdheUo5Lm5uSUl6dDdPZVlsWUh1ZkdFOGxGV1EnO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgdGhpcy5saW1pdD0xMDtcclxuICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIik7XHJcbiAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgXHJcbiAgICAvLyBjb25zdCBjbGllbnREYXRhOmFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJjbGllbnQtZGV0YWlsc1wiKSB8fCBcInt9XCIpO1xyXG4gICAgLy8gdGhpcy5jbGllbnREYXRhID0gY2xpZW50RGF0YVxyXG4gICAgLy8gY29uc3QgY2xpZW50QVBJRGF0YTphbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2xpZW50QVBJLWRldGFpbHNcIikgfHwgXCJ7fVwiKTtcclxuICAgIC8vIHRoaXMuY2xpZW50QVBJRGF0YSA9IGNsaWVudEFQSURhdGFcclxuICAgICAgXHJcbi8vICBjb25zb2xlLmxvZyggdGhpcy5jbGllbnREYXRhLHRoaXMuY2xpZW50QVBJRGF0YSx0aGlzLm5vYilcclxuXHJcbiAgICB0aGlzLmdzPy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLGRlYm91bmNlVGltZSgzMDApLClcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlPScnO1xyXG4gICAgICAgICAgdGhpcy5kYXRlTGVuZ3RoID0gZ2V0RGF5c0JldHdlZW5EYXRlcyhkYXRhPy5kYXRlLnN0YXJ0RGF0ZSwgZGF0YT8uZGF0ZS5lbmREYXRlKTtcclxuICAgICAgICAgIGlmICh0aGlzLmRhdGVMZW5ndGggPiAyOClcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwibW9udGhseVwiO1xyXG4gICAgICAgICAgZWxzZSBpZiAodGhpcy5kYXRlTGVuZ3RoID4gNSlcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwid2Vla2x5XCI7XHJcbiAgICAgICAgICBlbHNlIGlmKHRoaXMuZGF0ZUxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwid2Vla2x5XCI7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlVHlwZT1cImFjdHVhbFwiO1xyXG4gICAgICAgICAgdGhpcy50eXBlVmFsdWU9XCJzdW1cIlxyXG4gICAgICAgICAgdGhpcy5pc0F2ZXJhZ2UgPSBmYWxzZVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5zdWIyID0gIHRoaXMuc2VydmljZT8uZ2V0QnJhbmREZXRhaWxzKHRoaXMudXNlcnM/LmNsaWVudElkID8gdGhpcy51c2Vycz8uY2xpZW50SWQ6ZGF0YT8uY2xpZW50KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlczphbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbGllbnREYXRhID1yZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemUgPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5pc05vcm1hbGl6ZWQ7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZUlkYXJyYXkgPSB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0b3JlSWRhcnJheSlcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlb2JqID0ge1xyXG4gICAgICAgICAgICAgICAgZnJvbURhdGU6IGRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICAgICAgICAgICAgdG9EYXRlOiBkYXRhPy5kYXRlLmVuZERhdGUsXHJcbiAgICAgICAgICAgICAgICBzdG9yZUlkOiBkYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICAgICAgICAgICAgY2xpZW50SWQ6IGRhdGE/LmNsaWVudCA/IGRhdGE/LmNsaWVudCA6JycsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVR5cGU6IHRoaXMudmFsdWVUeXBlLFxyXG4gICAgICAgICAgICAgICAgbm9iOnRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncy5pc05PQixcclxuICAgICAgICAgICAgICAgIGRhdGVUeXBlOiB0aGlzLmRhdGVUeXBlLFxyXG4gICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlPy50b2dnbGVub2IodGhpcy5jbGllbnREYXRhLmZlYXR1cmVDb25maWdzLmlzTk9CKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZT8udG9nZ2xlQXZlcmFnZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gdGhpcy5ub2JcclxuICAgICAgICAgICAgICA/IFwiTm9CIERlcml2ZWRcIlxyXG4gICAgICAgICAgICAgIDogdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlnc1xyXG4gICAgICAgICAgICAgICAgICA/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJ1xyXG4gICAgICAgICAgICAgID8gXCJlbmdhZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgOiBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRGdW5uYWwoKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtYW5jZSgpO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMubm9ybWFsaXplID09PSB0cnVlKXsgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuem9uZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuem9uZU5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlT3BlcmF0aW9uRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRab25lKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRab25lVmFsdWUoKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmdldEludGlhbCgpO1xyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgdGhpcy5ub2IgPSAhIXRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTk9CO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgLy8gdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLm5vYiA/ICdOb0IgRGVyaXZlZCcgOiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSdcImVuZ2FnZXJzLWNvbnZlcnNpb25cIicgPyAnY29udmVyc2lvbic6ICdmb290ZmFsbCcgO1xyXG4gICAgICAgICAgICAgIC8vIHRoaXMuY29udmVyc2lvblZhbHVlID0gdGhpcy5ub2IgPyAnTm9CIERlcml2ZWQnIDogJ2Zvb3RmYWxsJztcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgdGhpcy5vYmpEYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMucHJvY2Vzc1R5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckJ5OiB0aGlzLnRyZW5kdHlwZVZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW1pdDogMzEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVUeXBlOiB0aGlzLnZhbHVlVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbm9iOnRoaXMubm9iLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5ub3JtYWxpemUgPT09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjYXBWaWRlb0RhdGEgPVtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFJlY2FwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmVuZHR5cGVWYWx1ZSA9ICdhY3R1YWwnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vcm1hbGl6ZSh0aGlzLm5vcm1hbGl6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZW5kdHlwZVZhbHVlID0gJ2F2ZXJhZ2UnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgQVBJIGFmdGVyIG9iakRhdGEgaXMgZnVsbHkgcHJlcGFyZWRcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUxlbmd0aCA9IGdldERheXNCZXR3ZWVuRGF0ZXMoZGF0YT8uZGF0ZS5zdGFydERhdGUsIGRhdGE/LmRhdGUuZW5kRGF0ZSk7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsVmFsdWUgPSB0aGlzLmdldEluaXRpYWxWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0Q29udHJvbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RDb250cm9sLnNldFZhbHVlKGluaXRpYWxWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnRzPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkVGFiID0gXCJ0cmFmZmljXCJcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsZWN0ZWRUYWJzKCd0cmFmZmljJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0c0NhcmQgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiB0aGlzLmZvb3RmYWxsVmFsdWUsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogXCJkZW1vZ3JhcGhpY1wiLCBsYWJlbDogXCJEZW1vZ3JhcGhpYyBBbmFseXNpc1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiBcImJ1eWVyXCIsIGxhYmVsOiBcIkJ1eWVyIEFuYWx5c2lzXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhZmZpY0RhdGEgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiA3LCBsYWJlbDogXCJMYXN0IDcgRGF5c1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAzMCwgbGFiZWw6IFwiTGFzdCAzMCBEYXlzXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxEYXRlID10aGlzLnRyYWZmaWNEYXRhWzBdLnZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1R5cGU6ICdmb290ZmFsbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkRGF0YTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVR5cGUgOnRoaXMudmFsdWVUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9iOnRoaXMubm9iLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1OScpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdGb290ZmFsbCBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIC8vIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiY2xpZW50QVBJLWRldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5jbGllbnREYXRhPy5jbGllbnRBcGkpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zdWIyPy51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN1YjI/LnVuc3Vic2NyaWJlKClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIC8vIE9ubHkgcHJvY2VzcyB0aGUgbGF0ZXN0IGRhdGEgYWZ0ZXIgZGVib3VuY2UgdGltZVxyXG4gICAgIFxyXG4gICAgICAgXHJcbiAgICAgICAgLy8gdGhpcy5pbml0TWFwKCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwVmFsdWUgPSBcIkRlZmF1bHQgVG9vbHRpcCBUZXh0XCI7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEgJiYgdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgPT09IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG59XHJcblxyXG4gICAgICB9KTtcclxuICAgICBcclxuICAgIHRoaXMuZm9vdGZhbGxWYWx1ZTEgPSB0aGlzLmZvb3RmYWxsZGF0YXNldHNbMF0udmFsdWU7XHJcbiAgICB0aGlzLmJvdW5jZVZhbHVlMSA9IHRoaXMuYm91bmNlZGF0YXNldHNbMV0udmFsdWU7XHJcbiAgICB0aGlzLmZvb3RmYWxsTGFiZWwgPSB0aGlzLmZvb3RmYWxsZGF0YXNldHNbMF0ubGFiZWw7XHJcbiAgICB0aGlzLmJvdW5jZUxhYmVsID0gdGhpcy5ib3VuY2VkYXRhc2V0c1sxXS5sYWJlbDtcclxuICAgXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAvLyBJbml0aWFsaXplIHRvb2x0aXBzIGFmdGVyIHRoZSB2aWV3IGlzIGluaXRpYWxpemVkXHJcbiAgICBjb25zdCB0b29sdGlwVHJpZ2dlckxpc3QgPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIl0nKSk7XHJcbiAgICB0b29sdGlwVHJpZ2dlckxpc3QuZm9yRWFjaChmdW5jdGlvbiAodG9vbHRpcFRyaWdnZXJFbCkge1xyXG4gICAgICBuZXcgYm9vdHN0cmFwLlRvb2x0aXAodG9vbHRpcFRyaWdnZXJFbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0RmlsdGVyZWRCb3VuY2VEYXRhc2V0cygpIHtcclxuICAgIHJldHVybiB0aGlzLmJvdW5jZWRhdGFzZXRzLmZpbHRlcihkYXRhc2V0ID0+IGRhdGFzZXQudmFsdWUgIT09IHRoaXMuZm9vdGZhbGxWYWx1ZTEpO1xyXG4gIH1cclxuICBcclxuICAvLyBGaWx0ZXIgdGhlIGZvb3RmYWxsIG9wdGlvbnMgd2hlbiB0aGUgYm91bmNlVmFsdWUgY2hhbmdlc1xyXG4gIGdldEZpbHRlcmVkRm9vdGZhbGxEYXRhc2V0cygpIHtcclxuICAgIHJldHVybiB0aGlzLmZvb3RmYWxsZGF0YXNldHMuZmlsdGVyKGRhdGFzZXQgPT4gZGF0YXNldC52YWx1ZSAhPT0gdGhpcy5ib3VuY2VWYWx1ZTEpO1xyXG4gIH1cclxuICBmb290ZmFsbFZhbHVlMT0nZm9vdGZhbGwnXHJcbiAgb25WYWx1ZUNoYW5nZShldnQ6IGFueSkge1xyXG4gICAgdGhpcy5mb290ZmFsbFZhbHVlMSA9IGV2dC50YXJnZXQudmFsdWU7XHJcbmlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2Zvb3RmYWxsJylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSAnRm9vdGZhbGwnXHJcbmVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnYm91bmNlZCcpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gJ0JvdW5jZWQgRm9vdGZhbGwnXHJcbmVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnZW5nYWdlcicpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gJ0VuZ2FnZXJzJ1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ21pc3NlZE9wcG9ydHVuaXR5JylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSAnTWlzc2VkIE9wcG9ydHVuaXR5J1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ3BvdGVudGlhbEJ1eWVyJylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSAnUG90ZW50aWFsIEJ1eWVyJ1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2NvbnZlcnNpb24nKVxyXG4gIHRoaXMuZm9vdGZhbGxMYWJlbCA9ICdjb252ZXJzaW9uJ1xyXG4gICAgaWYodGhpcy5mb290ZmFsbFZhbHVlMSAhPT0gdGhpcy5ib3VuY2VWYWx1ZTEpXHJcbiAgICAgIHRoaXMucGVyZm9ybWFuY2UoKTtcclxuICAgIGVsc2UgXHJcbiAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoJ1NhbWUgdmFsdWUgbm90IGZpbHRlcmVkJylcclxuICB9XHJcbiAgb25Cb3VuY2VDaGFuZ2UoZXZ0OiBhbnkpIHtcclxuICAgIHRoaXMuYm91bmNlVmFsdWUxID0gZXZ0LnRhcmdldC52YWx1ZTtcclxuICAgIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2Zvb3RmYWxsJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdGb290ZmFsbCdcclxuICAgIGVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnYm91bmNlZCcpXHJcbiAgICAgIHRoaXMuYm91bmNlTGFiZWwgPSAnQm91bmNlZCBGb290ZmFsbCdcclxuICAgIGVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnZW5nYWdlcicpXHJcbiAgICAgIHRoaXMuYm91bmNlTGFiZWwgPSAnRW5nYWdlcnMnXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ21pc3NlZE9wcG9ydHVuaXR5JylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdNaXNzZWQgT3Bwb3J0dW5pdHknXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ3BvdGVudGlhbEJ1eWVyJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdQb3RlbnRpYWwgQnV5ZXInXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2NvbnZlcnNpb24nKVxyXG4gICAgICB0aGlzLmJvdW5jZUxhYmVsID0gJ2NvbnZlcnNpb24nXHJcbiAgICBpZih0aGlzLmZvb3RmYWxsVmFsdWUxICE9PSB0aGlzLmJvdW5jZVZhbHVlMSlcclxuICAgIHRoaXMucGVyZm9ybWFuY2UoKTtcclxuICBlbHNlIFxyXG4gIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdCgnU2FtZSB2YWx1ZSBub3QgZmlsdGVyZWQnKVxyXG4gIH1cclxuICBjb252ZXJ0UGVyY2VudFRvUGl4ZWxzKHBlcmNlbnQ6IHN0cmluZywgbWF4UGVyY2VudDogbnVtYmVyLCBiYXNlRGltZW5zaW9uOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgLy8gUmVtb3ZlIHRoZSAnJScgc2lnbiBhbmQgcGFyc2UgdGhlIHZhbHVlXHJcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQocGVyY2VudC5yZXBsYWNlKCclJywgJycpKTtcclxuICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiAwO1xyXG4gIFxyXG4gICAgLy8gQ2FsY3VsYXRlIHBpeGVsIHZhbHVlIGJhc2VkIG9uIHRoZSBtYXhpbXVtIHBlcmNlbnRhZ2UgYW5kIGJhc2UgZGltZW5zaW9uXHJcbiAgICByZXR1cm4gKHZhbHVlIC8gbWF4UGVyY2VudCkgKiBiYXNlRGltZW5zaW9uO1xyXG4gIH1cclxuICBcclxuXHJcbiAgZ2V0TWF4UGVyY2VudGFnZShkYXRhOiBhbnlbXSwgZmllbGQ6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAvLyBFeHRyYWN0IGFuZCByZXR1cm4gdGhlIG1heGltdW0gcGVyY2VudGFnZSB2YWx1ZSBmcm9tIHRoZSBmaWVsZFxyXG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLmRhdGEubWFwKGl0ZW0gPT4gcGFyc2VGbG9hdChpdGVtW2ZpZWxkXSkgfHwgMCkpO1xyXG4gIH1cclxuICBcclxuICAvLyBub3JtYWxpemVEYXRhKGRhdGE6IGFueVtdKTogYW55W10ge1xyXG4gIC8vICAgY29uc3QgbWF4VG9wUGVyY2VudCA9IE1hdGgubWF4KC4uLmRhdGEubWFwKGl0ZW0gPT4gcGFyc2VGbG9hdChpdGVtLnRvcC5yZXBsYWNlKCclJywgJycpKSkpO1xyXG4gIC8vICAgY29uc3QgbWF4TGVmdFBlcmNlbnQgPSBNYXRoLm1heCguLi5kYXRhLm1hcChpdGVtID0+IHBhcnNlRmxvYXQoaXRlbS5sZWZ0LnJlcGxhY2UoJyUnLCAnJykpKSk7XHJcbiAgXHJcbiAgLy8gICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG4gIC8vICAgICAuLi5pdGVtLFxyXG4gIC8vICAgICB0b3A6IHRoaXMuc2NhbGVQZXJjZW50KGl0ZW0udG9wLCBtYXhUb3BQZXJjZW50KSArICclJyxcclxuICAvLyAgICAgbGVmdDogdGhpcy5zY2FsZVBlcmNlbnQoaXRlbS5sZWZ0LCBtYXhMZWZ0UGVyY2VudCkgKyAnJSdcclxuICAvLyAgIH0pKTtcclxuICAvLyB9XHJcbiAgXHJcbiAgc2NhbGVQZXJjZW50KHBlcmNlbnQ6IHN0cmluZywgbWF4UGVyY2VudDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBlcmNlbnRWYWx1ZSA9IHBhcnNlRmxvYXQocGVyY2VudC5yZXBsYWNlKCclJywgJycpKTtcclxuICAgIHJldHVybiAoKHBlcmNlbnRWYWx1ZSAvIG1heFBlcmNlbnQpICogMTAwKS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuLy8gVG9nZ2xlIHRoZSB0b29sdGlwIGRpc3BsYXlcclxudG9nZ2xlVG9vbHRpcChwb2ludE5hbWU6IHN0cmluZykge1xyXG4gIHRoaXMuYWN0aXZlVG9vbHRpcCA9IHRoaXMuYWN0aXZlVG9vbHRpcCA9PT0gcG9pbnROYW1lID8gbnVsbCA6IHBvaW50TmFtZTtcclxufVxyXG5cclxucGVyZm9ybWFuY2UoKXtcclxuICB0aGlzLnBlcmZvcm1hbmNlTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5wZXJmb3JtYW5jZW5vRGF0YSA9IGZhbHNlO1xyXG4gIGxldCBvYmogPSB7XHJcbiAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIG5vcm1hbGl6ZTogdGhpcy5ub3JtYWxpemUsXHJcbiAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICBwcm9jZXNzdHlwZTE6IHRoaXMuZm9vdGZhbGxWYWx1ZTEsXHJcbiAgIHByb2Nlc3N0eXBlMiA6IHRoaXMuYm91bmNlVmFsdWUxXHJcbiAgfTtcclxuICB0aGlzLnNlcnZpY2UucGVyZm9ybWFuY2VNYXRyaXgob2JqKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICA/LnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZURhdGEgPSByZXM/LmRhdGE/LnBlcmZvcm1hbmNlRGF0YVxyXG4gICAgICAgIC8vIHRoaXMucGVyZm9ybWFuY2VEYXRhID0gdGhpcy5ub3JtYWxpemVEYXRhKHRoaXMucGVyZm9ybWFuY2VEYXRhKTtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgbWF4aW11bSBwZXJjZW50YWdlc1xyXG4gICAgICAgIC8vIGNvbnN0IG1heFRvcCA9IE1hdGgubWF4KC4uLnRoaXMucGVyZm9ybWFuY2VEYXRhLm1hcCgoaXRlbTphbnkpID0+IHBhcnNlRmxvYXQoaXRlbS50b3AucmVwbGFjZSgnJScsICcnKSkpKTtcclxuICAgICAgICAvLyBjb25zdCBtYXhMZWZ0ID0gTWF0aC5tYXgoLi4udGhpcy5wZXJmb3JtYW5jZURhdGEubWFwKChpdGVtOmFueSkgPT4gcGFyc2VGbG9hdChpdGVtLmxlZnQucmVwbGFjZSgnJScsICcnKSkpKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBDb252ZXJ0IHBlcmZvcm1hbmNlIGRhdGEgdG8gcGl4ZWwgdmFsdWVzXHJcbiAgICAgICAgdGhpcy5wb2ludHMgPSB0aGlzLnBlcmZvcm1hbmNlRGF0YS5tYXAoKGRhdGE6IGFueSkgPT4gKHtcclxuICAgICAgICAgIG5hbWU6IGRhdGEuc3RvcmVOYW1lLFxyXG4gICAgICAgICAgc3RvcmVJZDogZGF0YS5zdG9yZUlkLFxyXG4gICAgICAgICAgYXZnRm9vdGZhbGw6IGRhdGEuYXZnLFxyXG4gICAgICAgICAgb3BlblRpbWU6IGRhdGEuYXZnT3BlblRpbWUsXHJcbiAgICAgICAgICBjbG9zZVRpbWU6IGRhdGEuYXZnQ2xvc2VUaW1lLFxyXG4gICAgICAgICAgdG9wOiBkYXRhLnRvcCwgLy8gQXNzdW1pbmcgNTAwcHggYXMgdGhlIGJhc2UgaGVpZ2h0XHJcbiAgICAgICAgICBsZWZ0OiBkYXRhLmxlZnQgIC8vIEFzc3VtaW5nIDEwMDBweCBhcyB0aGUgYmFzZSB3aWR0aFxyXG4gICAgICAgIH0pKTsgXHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlbm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlbm9EYXRhID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcFRleHQoKTogc3RyaW5nIHtcclxuICAgIC8vIExvZ2ljIHRvIGRldGVybWluZSB0aGUgdG9vbHRpcCB0ZXh0XHJcbiAgICByZXR1cm4gXCJEeW5hbWljIFRvb2x0aXAgVGV4dCBcIiArIG5ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGdW5uYWwoKXtcclxuICAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlPSB0aGlzLnZhbHVlVHlwZSxcclxuICAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZTtcclxuICAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG4gICAgIGlmKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnZm9vdGZhbGwnKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9ICdmb290ZmFsbC1jb3VudCc7XHJcbiAgICAgfSBpZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdlbmdhZ2Vycycpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2VuZ2FnZXJzLWNvdW50JztcclxuICAgICB9aWYgKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnUG90ZW50aWFsIEJ1eWVycycpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2JpbGxhYmxlLWNvdW50JztcclxuICAgICB9IGlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnbm9iJztcclxuICAgICB9XHJcbiAgICAgXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0OyBcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0Qnk7XHJcbiAgICB0aGlzLmhlYXRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlO1xyXG4gICBkZWxldGUgdGhpcy50YWJsZW9iai5kYXRlVHlwZVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRGdW5uZWxDYXJkcyh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLmdldENhcmREYXRhID0gcmVzPy5kYXRhPy5jYXJkO1xyXG4gICAgICAgICAgICB0aGlzLmhlYXRNYXBEYXRhID0gcmVzPy5kYXRhPy5mdW5uZWxDaGFydDtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5oZWF0TWFwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgIHRoaXMuaGVhdE1hcERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5oZWF0bG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLmhlYXRub0RhdGEgPSB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldENhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuaGVhdE1hcERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBnZXRGb290ZmFsbENhcmREYXRhOmFueT1bXTtcclxuICBnZXRDb252ZXJzaW9uQ2FyZERhdGE6YW55PVtdO1xyXG4gIGdldEJvdW5jZWRDYXJkRGF0YTphbnkgPVtdO1xyXG4gIGdldEVuZ2FnZXJzQ2FyZERhdGE6YW55PVtdO1xyXG4gIGdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhOmFueSA9W107XHJcbiAgZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhOmFueSA9W107XHJcbiAgZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YTphbnk9W107XHJcbmdldEludGlhbCgpe1xyXG4gIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbiAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4gICh0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9IHRoaXMudmFsdWVUeXBlKSxcclxuICAodGhpcy50YWJsZW9iai5mcm9tRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUpO1xyXG50aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG50aGlzLmdldEZvb3RmYWxsQ2FyZCgpO1xyXG50aGlzLmdldENvbnZlcnNpb25DYXJkKCk7XHJcbnRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxudGhpcy5nZXRFbmdhZ2Vyc0NhcmQoKTtcclxudGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkKCk7XHJcbnRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbnRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzKCk7XHJcbn1cclxuZm9vdGZhbGxsb2FkaW5nID10cnVlO1xyXG5mb290ZmFsbE5vZGF0YSA9ZmFsc2U7XHJcbiAgZ2V0Rm9vdGZhbGxDYXJkKCl7XHJcbiAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPWZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRGb290ZGZhbGxDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICBpZih0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGE/LmRhdGE/LmZvb3RmYWxsPy5kYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxsaW5lQ2hhcnRzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbE5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRGb290ZmFsbENhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsTm9kYXRhID10cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YSA9W107XHJcbiAgICAgICAgdGhpcy5mb290ZmFsbGxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIFxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29udmVyc2lvbkNhcmQoKXtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgICAuZ2V0Q29udmVyc2lvbkNhcmRMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgICBpZiAodGhpcy5ub2IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2I/Lm5vYjtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ05vQiBEZXJpdmVkJztcclxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzPy5yYXRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSAnZW5nYWdlcnMnO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGw/LnJhdGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdmb290ZmFsbCc7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfSxcclxuICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhID1bXTtcclxuICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgfSwgXHJcbiAgICAgICAgIH0pXHJcbiAgICAgfVxyXG4gICAgIGJvdW5jZWROb2RhdGEgPWZhbHNlO1xyXG4gICAgIGdldEJvdW5jZWRDYXJkKCl7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldEJvdW5jZWRDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5nZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLmJvdW5jZWRsaW5lQ2hhcnRzKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID1mYWxzZTtcclxuICAgICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEJvdW5jZWRDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJvdW5jZWROb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmJvdW5jZWROb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSwgXHJcbiAgICAgICAgfSkgXHJcbiAgICB9XHJcbiAgICBlbmdhZ2Vyc05vZGF0YSA9ZmFsc2U7XHJcbiAgICBnZXRFbmdhZ2Vyc0NhcmQoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0RW5nYWdlcnNDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMuZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLmVuZ2FnZXJzbGluZUNoYXJ0cygpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5lbmdhZ2Vyc05vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBnZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldE1pc3NlZE9wcG9ydHVuaXR5Q2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eURhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eURhdGEgPVtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhID1bXTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSwgXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBwb3RlbnRpYWxOb2RhdGEgPWZhbHNlO1xyXG4gICAgZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZCgpe1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRQb3RlbnRpYWxCdXllcnNDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICBpZih0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbGxpbmVDaGFydHMoKTtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbE5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMucG90ZW50aWFsTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbE5vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5wb3RlbnRpYWxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGdldFBvdGVudGlhbEJ1eWVycygpe1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0UG90ZW50aWFsQnV5ZXJzRGlzdHJpYnV0aW9uQ2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNEYXRhID0gcmVzPy5kYXRhPy5jYXJkO1xyXG4gICAgICAgICAgfSAgZWxzZSB7IFxyXG4gICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0RhdGEgPVtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YSA9W107XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbiAgZ2V0UmVjYXAoKSB7XHJcbiAgICB0aGlzLnJlY2FwbGFvZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMucmVjYXBub0RhdGEgPWZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlOyBkZWxldGUgdGhpcy50YWJsZW9iai5mcm9tRGF0ZTtcclxuICAgICBkZWxldGUgdGhpcy50YWJsZW9iai50b0RhdGU7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZTsgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouc2VhcmNoOyBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnRCeTsgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydDtcclxuICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubm9ybWFsaXplO1xyXG4gICAgIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGUgPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0UmVjYXBWaWRlbyh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwVmlkZW9EYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwRGF0YSA9IHJlcz8uZGF0YT8ucmVjYXBWaWRlb0RhdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBSZWNhcHMoKTtcclxuICAgICAgICAgICAgaWYoIXRoaXMuZ2V0UmVjYXBEYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJlY2Fwbm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWNhcG5vRGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7ICAgIFxyXG4gICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwVmlkZW9EYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLnJlY2FwbGFvZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBncm91cFJlY2FwcygpIHtcclxuICAgIHRoaXMucmVjYXBzR3JvdXBlZCA9IFtdO1xyXG4gICAgbGV0IGdyb3VwU2l6ZSA9IHRoaXMuZ2V0UmVjYXBEYXRhLmxlbmd0aCA9PT0gMSA/IDEgOiAyO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGg7IGkgKz0gZ3JvdXBTaXplKSB7XHJcbiAgICAgIHRoaXMucmVjYXBzR3JvdXBlZC5wdXNoKHRoaXMuZ2V0UmVjYXBEYXRhLnNsaWNlKGksIGkgKyBncm91cFNpemUpKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29sVmFsdWUgPSB0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGggPT09IDEgPyAnY29sLW1kLTEyJyA6ICdjb2wtbWQtNic7XHJcbiAgfVxyXG4gIHZpZGVvQ2xpY2sob2JqOmFueSl7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVmlkZW9VcmxDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibGdcIixcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudmlkZW9VcmwgPSBvYmo7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5kYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGVcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQ6IGFueSkgPT4ge30pO1xyXG4gIH1cclxuICBwcmV2aW91c1ZhbHVlOiBhbnkgPSBudWxsO1xyXG4gIGNoYW5nZVZhbHVlKG1ldGhvZDogYW55KSB7XHJcbiAgICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IG1ldGhvZDtcclxuICAgICAgaWYgKHRoaXMucHJldmlvdXNWYWx1ZSA9PT0gJ3BvdGVudGlhbEJ1eWVycycpIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdQb3RlbnRpYWwgQnV5ZXJzJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9IG1ldGhvZDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICAvLyBVcGRhdGUgY29udmVyc2lvbiByYXRlcyBiYXNlZCBvbiB0aGUgc2VsZWN0ZWQgbWV0aG9kXHJcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzVmFsdWUgPT09ICdmb290ZmFsbCcpIHtcclxuICAgICAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwucmF0ZTtcclxuICAgICAgICB0aGlzLnRhYmxlb2JqLm5vYiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub2JqRGF0YS5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5ub2IgPSBmYWxzZVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJldmlvdXNWYWx1ZSA9PT0gJ2VuZ2FnZXJzJykge1xyXG4gICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5yYXRlO1xyXG4gICAgICAgIHRoaXMudGFibGVvYmoubm9iID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9ZmFsc2VcclxuICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9ZmFsc2VcclxuICAgICAgICB0aGlzLm5vYiA9IGZhbHNlXHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcmV2aW91c1ZhbHVlID09PSAncG90ZW50aWFsQnV5ZXJzJykge1xyXG4gICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMucmF0ZTtcclxuICAgICAgICB0aGlzLnRhYmxlb2JqLm5vYiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub2JqRGF0YS5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5ub2IgPSBmYWxzZVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJldmlvdXNWYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJykge1xyXG4gICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2Iubm9iO1xyXG4gICAgICAgIHRoaXMudGFibGVvYmoubm9iID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm9iakRhdGEubm9iID10cnVlXHJcbiAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPXRydWVcclxuICAgICAgICB0aGlzLm5vYiA9IHRydWVcclxuICAgICAgfSBcclxuICAgICAgLy8gdGhpcy5zZXJ2aWNlLnRvZ2dsZW5vYih0aGlzLnRhYmxlb2JqLm5vYik7XHJcbiAgICAgIHRoaXMuZ2V0RnVubmFsKCk7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgICAgdGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG4gICAgIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcInRyYWZmaWNcIlxyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdUcmFmZmljIEFuYWx5c2lzJztcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKTtcclxuICAgIH1cclxuICAgXHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gXHJcblxyXG4gIGdldFRhYmxlKCkge1xyXG4gICAgdGhpcy5saW1pdCA9MTA7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IHRoaXMub2Zmc2V0ID0gdGhpcy5jdXJyZW50UGFnZSAtMTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5ub3JtYWxpemVkRGF0YTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlO1xyXG4gICAgKHRoaXMudGFibGVvYmoubGltaXQgPSB0aGlzLmxpbWl0KTtcclxuICAgICh0aGlzLnRhYmxlb2JqLnNlYXJjaCA9IHRoaXMuc2VhcmNoVmFsdWUpLCBcclxuICAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgaWYocmVzPy5kYXRhLnN1bW1hcnlEYXRhLmxlbmd0aCA9PT0wKXtcclxuICAgICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPSByZXM/LmRhdGEuc3VtbWFyeURhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBzZWFyY2hEYXRhKCkge1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMudGFibGVvYmoub2Zmc2V0ID0gdGhpcy5vZmZzZXQgLTE7XHJcbiAgICB0aGlzLmxpbWl0PTEwO1xyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IDEwKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbdGhpcy50b3RhbEl0ZW1zXTsgLy8gSnVzdCBvbmUgb3B0aW9uIGlmIGxlc3MgdGhhbiAxMFxyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzWzBdO1xyXG4gIH1cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgdGhpcy50YWJsZW9iai5vZmZzZXQgPSB0aGlzLm9mZnNldCAtMTtcclxuICAgICh0aGlzLnRhYmxlb2JqLmxpbWl0ID0gdGhpcy5saW1pdCksXHJcbiAgICAodGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlKSwgXHJcbiAgICAgKHRoaXMudGFibGVvYmoudmFsdWVUeXBlID0gdGhpcy50eXBlVmFsdWUpO1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgLmdldFN1bW1hcnlUYWJsZUxpc3QodGhpcy50YWJsZW9iailcclxuICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgaWYocmVzPy5kYXRhLnN1bW1hcnlEYXRhLmxlbmd0aCA9PT0wKXtcclxuICAgICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPSByZXM/LmRhdGEuc3VtbWFyeURhdGE7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXMuZGF0YT8udG90YWxDb3VudDtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgdGhpcy50YWJsZW9iai5vZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgICh0aGlzLnRhYmxlb2JqLmxpbWl0ID0gdGhpcy5saW1pdCksXHJcbiAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICBpZihyZXM/LmRhdGEuc3VtbWFyeURhdGEubGVuZ3RoID09PTApe1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9IHJlcz8uZGF0YS5zdW1tYXJ5RGF0YTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7YGBcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9W11cclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZVR5cGUodHlwZTphbnkpe1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gZmFsc2U7XHJcbiAgICAgdGhpcy50eXBlVmFsdWUgPXR5cGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9dHlwZTtcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5saW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMubGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmJvdW5jZWRsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMuYm91bmNlZGxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMucG90ZW50aWFsQnV5ZXJzbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmVuZ2FnZXJzbGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmVuZ2FnZXJzbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmhlYXRNYXByb290KSB7XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH0gaWYgKHRoaXMucm9vdFRyZW5kcykge1xyXG4gICAgICAgIHRoaXMucm9vdFRyZW5kcy5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZHdlbGxSb290KSB7XHJcbiAgICAgICAgdGhpcy5kd2VsbFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvLyBjYXJkIGxpbmUgQ2hhcnRzIFN0YXJ0XHJcblxyXG4gIGZvb3RmYWxsbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiRm9vdGZhbGxcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3Q6IGFueTtcclxuICAgIHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJGb290ZmFsbFwiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICAgLy8gRW5zdXJlIHRoYXQgZGF0YSBoYXMgYXQgbGVhc3QgMiBwb2ludHMgZm9yIGxpbmUgY2hhcnRcclxuICAgICBpZiAoZGF0YS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29uc3QgZHVwbGljYXRlUG9pbnQgPSB7IC4uLmRhdGFbMF0gfTsgLy8gQ2xvbmUgdGhlIGV4aXN0aW5nIHBvaW50XHJcbiAgICAgIGR1cGxpY2F0ZVBvaW50LmRhdGUgKz0gMTsgLy8gQWRkIGEgc21hbGwgb2Zmc2V0IHRvIHRoZSBkYXRlXHJcbiAgICAgIGRhdGEucHVzaChkdXBsaWNhdGVQb2ludCk7IC8vIEFkZCB0aGUgZHVwbGljYXRlIHBvaW50IHRvIGRhdGFcclxuICAgIH1cclxuICAgIGxldCBjdXJzb3IgPSBjaGFydC5zZXQoXHJcbiAgICAgIFwiY3Vyc29yXCIsXHJcbiAgICAgIGFtNXh5LlhZQ3Vyc29yLm5ldyhyb290LCB7XHJcbiAgICAgICAgYmVoYXZpb3I6IFwibm9uZVwiLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICBsZXQgeEF4aXMgPSBjaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5EYXRlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIG1heERldmlhdGlvbjogMC41LFxyXG4gICAgICAgIGJhc2VJbnRlcnZhbDogeyB0aW1lVW5pdDogXCJkYXlcIiwgY291bnQ6IDEgfSxcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcocm9vdCwgeyB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5saW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuICBib3VuY2VkbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiQm91bmNlZFJhdGVcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYm91bmNlZGxpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5ib3VuY2VkbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICBsZXQgcm9vdDogYW55O1xyXG4gICAgcm9vdCA9IGFtNS5Sb290Lm5ldyhcIkJvdW5jZWRSYXRlXCIpO1xyXG4gICAgcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpLFxyXG4gICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcocm9vdCksXHJcbiAgICBdKTtcclxuICAgIGxldCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgIHBhblk6IHRydWUsXHJcbiAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICBwaW5jaFpvb21YOiB0cnVlLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgZGF0YVxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldEJvdW5jZWRDYXJkRGF0YT8uZGF0YT8uYm91bmNlZD8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICBsZXQgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG4gICAgICBcImN1cnNvclwiLFxyXG4gICAgICBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICAgIGJlaGF2aW9yOiBcIm5vbmVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgbGV0IHhBeGlzID0gY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMixcclxuICAgICAgICBiYXNlSW50ZXJ2YWw6IHsgdGltZVVuaXQ6IFwiZGF5XCIsIGNvdW50OiAxIH0sXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHsgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IHBhbjogXCJ6b29tXCIgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICBsZXQgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBuYW1lOiBcIlNlcmllc1wiLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICB2YWx1ZVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMGEzZmYpLCAvLyBTZXQgdGhlIGxpbmUgY29sb3IgaGVyZSAocmVkIGluIHRoaXMgY2FzZSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgbGV0IGJ1bGxldENpcmNsZSA9IGFtNS5DaXJjbGUubmV3KHJvb3QsIHtcclxuICAgICAgICByYWRpdXM6IDAsXHJcbiAgICAgICAgZmlsbDogc2VyaWVzLmdldChcImZpbGxcIilcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgc3ByaXRlOiBidWxsZXRDaXJjbGVcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuc2V0KFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgYW01LlRvb2x0aXAubmV3KHJvb3QsIHtcclxuICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICBnZXRGaWxsRnJvbVNwcml0ZTogZmFsc2UsIC8vIFByZXZlbnRzIHRoZSB0b29sdGlwIGZyb20gaW5oZXJpdGluZyBjb2xvciBmcm9tIHRoZSBzcHJpdGVcclxuICAgICAgICBiYWNrZ3JvdW5kOiBhbTUuUmVjdGFuZ2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhkYWYxZmYpLCAvLyBTZXQgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvciBoZXJlIChibHVlIGluIHRoaXMgY2FzZSlcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmJvdW5jZWRsaW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuXHJcbiAgcG90ZW50aWFsbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiUG90ZW50aWFsQnV5ZXJzXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBvdGVudGlhbEJ1eWVyc2xpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIGxldCByb290OiBhbnk7XHJcbiAgICByb290ID0gYW01LlJvb3QubmV3KFwiUG90ZW50aWFsQnV5ZXJzXCIpO1xyXG4gICAgcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpLFxyXG4gICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcocm9vdCksXHJcbiAgICBdKTtcclxuICAgIGxldCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgIHBhblk6IHRydWUsXHJcbiAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICBwaW5jaFpvb21YOiB0cnVlLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgZGF0YVxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LmRhdGEubWFwKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0uZGF0ZSkuZ2V0VGltZSgpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgbGV0IGN1cnNvciA9IGNoYXJ0LnNldChcclxuICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgYW01eHkuWFlDdXJzb3IubmV3KHJvb3QsIHtcclxuICAgICAgICBiZWhhdmlvcjogXCJub25lXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgY3Vyc29yLmxpbmVZLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgIGxldCB4QXhpcyA9IGNoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkRhdGVBeGlzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjIsXHJcbiAgICAgICAgYmFzZUludGVydmFsOiB7IHRpbWVVbml0OiBcImRheVwiLCBjb3VudDogMSB9LFxyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyhyb290LCB7IG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICBsZXQgeUF4aXMgPSBjaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcocm9vdCwgeyBwYW46IFwiem9vbVwiIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuXHJcbiAgZW5nYWdlcnNsaW5lQ2hhcnRzKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJlbmdhZ2Vyc1wiKTtcclxuICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5lbmdhZ2Vyc2xpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5lbmdhZ2Vyc2xpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3Q6IGFueTtcclxuICAgIHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJlbmdhZ2Vyc1wiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICBsZXQgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG4gICAgICBcImN1cnNvclwiLFxyXG4gICAgICBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICAgIGJlaGF2aW9yOiBcIm5vbmVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgbGV0IHhBeGlzID0gY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMixcclxuICAgICAgICBiYXNlSW50ZXJ2YWw6IHsgdGltZVVuaXQ6IFwiZGF5XCIsIGNvdW50OiAxIH0sXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHsgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IHBhbjogXCJ6b29tXCIgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICBsZXQgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBuYW1lOiBcIlNlcmllc1wiLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICB2YWx1ZVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMGEzZmYpLCAvLyBTZXQgdGhlIGxpbmUgY29sb3IgaGVyZSAocmVkIGluIHRoaXMgY2FzZSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgbGV0IGJ1bGxldENpcmNsZSA9IGFtNS5DaXJjbGUubmV3KHJvb3QsIHtcclxuICAgICAgICByYWRpdXM6IDAsXHJcbiAgICAgICAgZmlsbDogc2VyaWVzLmdldChcImZpbGxcIilcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgc3ByaXRlOiBidWxsZXRDaXJjbGVcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuc2V0KFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgYW01LlRvb2x0aXAubmV3KHJvb3QsIHtcclxuICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICBnZXRGaWxsRnJvbVNwcml0ZTogZmFsc2UsIC8vIFByZXZlbnRzIHRoZSB0b29sdGlwIGZyb20gaW5oZXJpdGluZyBjb2xvciBmcm9tIHRoZSBzcHJpdGVcclxuICAgICAgICBiYWNrZ3JvdW5kOiBhbTUuUmVjdGFuZ2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhkYWYxZmYpLCAvLyBTZXQgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvciBoZXJlIChibHVlIGluIHRoaXMgY2FzZSlcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmVuZ2FnZXJzbGluZXJvb3QgPSByb290O1xyXG4gIH0sMClcclxuICB9XHJcbiAgLy8gY2FyZCBsaW5lIENoYXJ0cyBFbmRcclxuXHJcbiAgaGVhdE1hcCgpIHtcclxuICAgIHRoaXMuaGVhdGxvYWRpbmcgPSBmYWxzZVxyXG4gICAgdGhpcy5oZWF0bm9EYXRhID0gZmFsc2VcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY2hhcnRkaXZcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaGVhdE1hcHJvb3QpIHtcclxuICAgICAgICB0aGlzLmhlYXRNYXByb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJjaGFydGRpdlwiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpXSk7XHJcblxyXG4gICAgbGV0IGNoYXJ0ID0gcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01cGVyY2VudC5TbGljZWRDaGFydC5uZXcocm9vdCwge1xyXG4gICAgICAgIGxheW91dDogcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmhlYXRNYXBEYXRhO1xyXG4gIFxyXG4gICAgZGF0YS5zb3J0KChhOmFueSwgYjphbnkpID0+IGIudmFsdWUgLSBhLnZhbHVlKTtcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgYW01cGVyY2VudC5GdW5uZWxTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBhbGlnbkxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgYm90dG9tUmF0aW86IDEsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgIHNlcmllcy5hcHBlYXIoKTtcclxuICAgIC8vIFVwZGF0ZSB0aGUgbGFiZWwgdGVtcGxhdGUgdG8gaW5jbHVkZSB0aGUgcGVyY2VudGFnZVxyXG4gICAgc2VyaWVzLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgIHRleHQ6IFwie2NhdGVnb3J5fSAoe2NvdW50fSUpXFxuXFxue3ZhbHVlfVwiLFxyXG4gICAgICBmb250U2l6ZTpcIjEzcHhcIixcclxuICAgICAgZm9udFdlaWdodDpcIjQwMFwiLFxyXG4gICAgICB0ZXh0QWxpZ246XCJjZW50ZXJcIlxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmhlYXRNYXByb290ID0gcm9vdDtcclxuICAgIGNoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdHlwZTogYW55ID0gXCJ3ZWVrbHlcIjtcclxuICBzZWxlY3RQbGFuKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICB9XHJcblxyXG4gIC8vIFRvZ2dsZSBmdW5jdGlvbiBmb3IgdGhlIHN3aXRjaFxyXG4gIHRvZ2dsZUF2ZXJhZ2UoZXZ0OmFueSkge1xyXG4gICAgLy8gdGhpcy50YWJsZW9iai5ub2IgPXRydWU7XHJcbiAgICB0aGlzLmlzQXZlcmFnZSA9IGV2dC50YXJnZXQuY2hlY2tlZDtcclxuICAgIHRoaXMuc2VydmljZS50b2dnbGVBdmVyYWdlKHRoaXMuaXNBdmVyYWdlKTtcclxuICAgIHRoaXMuc2VydmljZT8udG9nZ2xlbm9iKHRoaXMudGFibGVvYmoubm9iKTtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgaWYodGhpcy5pc0F2ZXJhZ2UgPT09IHRydWUpe1xyXG4gICAgdGhpcy52YWx1ZVR5cGUgPSAnYXZlcmFnZSc7XHJcbiAgICAgdGhpcy5mb290ZmFsbE5hbWUgPSAnQXZnLiBGb290ZmFsbCdcclxuICAgdGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gICB0aGlzLm9iakRhdGEudmFsdWVUeXBlID10aGlzLnZhbHVlVHlwZTtcclxuICAgdGhpcy5vYmpEYXRhVHJhZmZpYy52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gIC8vICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICcnO1xyXG4gICB0aGlzLnR5cGVWYWx1ZT0nYXZlcmFnZSc7XHJcbiAgLy8gIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZERhdGE/LmNvbnZlcnNpb24/LnJhdGU7XHJcbiAgfSAgZWxzZSB7XHJcbiAgICAgdGhpcy5mb290ZmFsbE5hbWUgPSAnQWN0dWFsIEZvb3RmYWxsJ1xyXG4gICAgIHRoaXMudmFsdWVUeXBlPSdhY3R1YWwnO1xyXG4gICAgdGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSdhY3R1YWwnO1xyXG4gICAgdGhpcy5vYmpEYXRhLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICB0aGlzLnR5cGVWYWx1ZT0nc3VtJztcclxuXHJcbiAgICAvLyB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENhcmREYXRhPy5jb252ZXJzaW9uPy5yYXRlO1xyXG4gIH1cclxuICBpZih0aGlzLnRhYmxlb2JqLm5vYil7XHJcbiAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLm5vYjtcclxuICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9J05vQiBEZXJpdmVkJ1xyXG59IGVsc2UgaWYgKHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJykge1xyXG4gIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycz8ucmF0ZTtcclxuICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdlbmdhZ2Vycyc7XHJcbn0gZWxzZSB7XHJcbiAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsPy5yYXRlO1xyXG4gIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ2Zvb3RmYWxsJztcclxufVxyXG4gIHRoaXMucHJldmlvdXNWYWx1ZSA9ICdmb290ZmFsbCc7IFxyXG4gIHRoaXMudGFibGVvYmoubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuXHJcbiAgICB0aGlzLmdldEZ1bm5hbCgpO1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICBpZih0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDU5Jyl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImZvb3RmYWxsXCJcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWJzKCdmb290ZmFsbCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwidHJhZmZpY1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1RyYWZmaWMgQW5hbHlzaXMnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcblxyXG4gIGNhbWVyYVZpZXcoKXtcclxuICAgIHRoaXMuc3RvcmVJZGFycmF5ID0gdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKVxyXG4gICAgbGV0IGRhdGE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcIlwiKTtcclxuICAgIGRhdGEuc3RvcmUgPSB0aGlzLnN0b3JlSWRhcnJheVswXTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGRhdGEpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS9zdG9yZXMvY2FtZXJhc1wiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXX0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGV4cG9ydFhMU1goKSB7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IDA7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmxpbWl0ID0gMTAwMDA7XHJcbiAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gdHJ1ZTtcclxuICAgIHRoaXMudGFibGVvYmoubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdEV4cG9ydCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy5leGNlbFNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJUcmFmZmljIFN1bW1hcnkgVGFibGUgXCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge30sXHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFibGVvYmoubGltaXQgPSB0aGlzLmxpbWl0O1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uU29ydChjb2x1bW46IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc29ydGVkQ29sdW1uID09PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gdGhpcy5zb3J0RGlyZWN0aW9uID09PSAxID8gLTEgOiAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0ZWRDb2x1bW4gPSBjb2x1bW47XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5zb3J0QnkgPSB0aGlzLnNvcnREaXJlY3Rpb24sIC8vWzEtPmFzYywgLTEtPkRFc2NdXHJcbiAgICB0aGlzLnRhYmxlb2JqLnNvcnQgPSB0aGlzLnNvcnRlZENvbHVtbiwgLy8gQ29sdW1uIE5hbWVcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldE1hcCgpIHtcclxuICAgIHRoaXMubXBhbG9hZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMubWFwbm9EYXRhPSBmYWxzZTtcclxuICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICBzdG9yZURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLmdlTWFwcyhvYmopPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCl7XHJcbiAgICAgICAgICAvLyBpZiAocmVzICYmIHJlcy5kYXRhICYmIHJlcy5kYXRhLnN0b3JlRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID0gcmVzLmRhdGEuc3RvcmVEYXRhO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSBtYXBPcHRpb25zIGNlbnRlciBpZiBuZWVkZWRcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXVMb2NhdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZpcnN0TG9jYXRpb24gPSB0aGlzLmF1TG9jYXRpb25zWzBdO1xyXG4gICAgICAgICAgICAgIGlmIChmaXJzdExvY2F0aW9uICYmIHR5cGVvZiBmaXJzdExvY2F0aW9uLmxhdCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGZpcnN0TG9jYXRpb24ubG5nID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBPcHRpb25zID0ge1xyXG4gICAgICAgICAgICAgICAgICAuLi50aGlzLm1hcE9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICAgIGNlbnRlcjogeyBsYXQ6IGZpcnN0TG9jYXRpb24ubGF0LCBsbmc6IGZpcnN0TG9jYXRpb24ubG5nIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIHRoaXMuZ2V0RGF0YSgpOyB9LDEwMClcclxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7fVxyXG4gICAgICAgICAgICB9IGVsc2Uge31cclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2UgaWYocmVzID09PSBudWxsKXtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hdUxvY2F0aW9ucyA9W107XHJcbiAgICAgICAgICB0aGlzLm1wYWxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBtYXA6IG1hcGJveGdsLk1hcDtcclxuICBwcml2YXRlIGNoZWNrTWFwQ29udGFpbmVySW50ZXJ2YWw6IGFueTtcclxuICBnZXREYXRhKCkge1xyXG4gICAgdGhpcy5jaGVja01hcENvbnRhaW5lckludGVydmFsID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjbWFwJyk7XHJcbiAgICAgIGlmIChtYXBDb250YWluZXIpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuY2hlY2tNYXBDb250YWluZXJJbnRlcnZhbCk7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplTWFwKG1hcENvbnRhaW5lcik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrTWFwQ29udGFpbmVySW50ZXJ2YWwpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU1hcChtYXBDb250YWluZXIpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxMDApO1xyXG5cclxuICB9XHJcbiAgaW5pdGlhbGl6ZU1hcChtYXBDb250YWluZXI6IEhUTUxFbGVtZW50KXtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4geyAgXHJcbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXAnKTtcclxuICAgICAgaWYgKCFtYXBDb250YWluZXIpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIC8vIENoZWNrIHRoYXQgbG9jYXRpb25zIGV4aXN0IGJlZm9yZSBwcm9jZWVkaW5nXHJcbiAgICBpZiAodGhpcy5hdUxvY2F0aW9ucz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IGdlb2pzb24gPSB7XHJcbiAgICAgICd0eXBlJzogJ0ZlYXR1cmVDb2xsZWN0aW9uJyxcclxuICAgICAgJ2ZlYXR1cmVzJzogdGhpcy5hdUxvY2F0aW9ucy5tYXAoKHN0b3JlLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAndHlwZSc6ICdGZWF0dXJlJyxcclxuICAgICAgICAncHJvcGVydGllcyc6IHtcclxuICAgICAgICAgICdzdG9yZU5hbWUnOiBzdG9yZS5zdG9yZU5hbWUsICAgICAgICAgLy8gU3RvcmUgbmFtZVxyXG4gICAgICAgICAgJ2ltYWdlSWQnOiAxMDExICsgaW5kZXgsICAgICAgICAgICAgICAvLyBEeW5hbWljIGltYWdlIElEXHJcbiAgICAgICAgICAnaWNvblNpemUnOiBbNjAsIDYwXSwgICAgICAgICAgICAgICAgIC8vIEFkanVzdCBpY29uIHNpemUgYXMgbmVlZGVkXHJcbiAgICAgICAgICAnZm9vdGZhbGwnOiBzdG9yZS5hdmdGb290ZmFsbCwgICAgICAgIC8vIEZvb3RmYWxsIGRhdGFcclxuICAgICAgICAgICdvcGVuVGltZSc6IHN0b3JlLm9wZW5UaW1lLCAgICAgICAgICAgLy8gT3BlbiB0aW1lXHJcbiAgICAgICAgICAnY2xvc2VUaW1lJzogc3RvcmUuY2xvc2VUaW1lLCAgICAgICAgIC8vIENsb3NlIHRpbWVcclxuICAgICAgICB9LFxyXG4gICAgICAgICdnZW9tZXRyeSc6IHtcclxuICAgICAgICAgICd0eXBlJzogJ1BvaW50JyxcclxuICAgICAgICAgICdjb29yZGluYXRlcyc6IFtzdG9yZS5sbmcsIHN0b3JlLmxhdF0gIC8vIENvb3JkaW5hdGVzIGZyb20gc3RvcmUgZGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpXHJcbiAgICB9O1xyXG4gIFxyXG4gICAgLy8gRHluYW1pY2FsbHkgc2V0IG1hcCBjZW50ZXIgYmFzZWQgb24gdGhlIGZpcnN0IGxvY2F0aW9uXHJcbiAgICBjb25zdCBmaXJzdExvY2F0aW9uID0gdGhpcy5hdUxvY2F0aW9uc1swXTtcclxuIFxyXG4gICAgdGhpcy5tYXAgPSBuZXcgbWFwYm94Z2wuTWFwKHtcclxuICAgICAgY29udGFpbmVyOiAnbWFwJyxcclxuICAgICAgc3R5bGU6ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3N0cmVldHMtdjEyJyxcclxuICAgICAgY2VudGVyOiBbZmlyc3RMb2NhdGlvbi5sbmcsIGZpcnN0TG9jYXRpb24ubGF0XSwgLy8gQ2VudGVyIG1hcCBvbiB0aGUgZmlyc3QgbG9jYXRpb25cclxuICAgICAgem9vbTogMTAsIC8vIEFkanVzdCB0aGlzIHZhbHVlICgxID0gd29ybGQgdmlldywgMjAgPSBidWlsZGluZyB2aWV3KVxyXG4gICAgICBtYXhab29tOiAyMCwgLy8gT3B0aW9uYWw6IExpbWl0IG1heCB6b29tIGxldmVsXHJcbiAgICAgIG1pblpvb206IDEgICAvLyBPcHRpb25hbDogTGltaXQgbWluIHpvb20gbGV2ZWxcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gQWRkIG1hcmtlcnMgdG8gdGhlIG1hcFxyXG4gICAgZ2VvanNvbi5mZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlLCBmZWF0dXJlSW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcclxuICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmF1TG9jYXRpb25zW2ZlYXR1cmVJbmRleF07XHJcbiAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gcHJvcGVydGllcy5pY29uU2l6ZVswXTtcclxuICAgICAgY29uc3QgaGVpZ2h0ID0gcHJvcGVydGllcy5pY29uU2l6ZVsxXTtcclxuICAgICAgZWwuY2xhc3NOYW1lID0gJ21hcmtlcic7XHJcbiAgICAgIGVsLmlubmVySFRNTCA9IGBcclxuICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1pY29uXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgd2lkdGg6ICR7d2lkdGh9cHg7IGhlaWdodDogJHtoZWlnaHR9cHg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBjb2xvcjogdmFyKC0tR3JheS03MDAsICMzNDQwNTQpO1xyXG50ZXh0LWFsaWduOiBjZW50ZXI7XHJcbmZvbnQtZmFtaWx5OiBJbnRlcjtcclxuZm9udC1zaXplOiA5LjAwN3B4O1xyXG5mb250LXN0eWxlOiBub3JtYWw7XHJcbmZvbnQtd2VpZ2h0OiA2MDA7XHJcbmxpbmUtaGVpZ2h0OiAxM3B4O1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZXItY29udGVudFwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJtYi0xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEuMzM2NTQgMy4zNjM3TDEuMjk2NTggMy40MjYxMUMwLjg3NzY5OCA0LjE2NzAxIDEuMzI0OTMgNS4xMDMzNSAyLjEyOTMxIDUuMjEwNzZDMi4yMDIxOCA1LjIxOTY3IDIuMjY5OTkgNS4yMjQzOCAyLjMzNjI1IDUuMjI0MzhDMi43NzAyMSA1LjIyNDM4IDMuMTUzOSA1LjAzODIxIDMuNDIxMzIgNC43NDc5M0wzLjgzNjY2IDQuMjk3MUw0LjI1MDU5IDQuNzQ5MjNDNC41MTQ3NiA1LjAzNzc4IDQuODk3NTggNS4yMjQzOCA1LjMzNDQ4IDUuMjI0MzhDNS43Njk0MSA1LjIyNDM4IDYuMTU0NDMgNS4wMzc1MiA2LjQxODM3IDQuNzQ5MjNMNi44MzM1OSA0LjI5NTY4TDcuMjQ4ODIgNC43NDkyM0M3LjUxMjc1IDUuMDM3NTIgNy44OTc3NyA1LjIyNDM4IDguMzMyNzEgNS4yMjQzOEM4Ljc2NzY0IDUuMjI0MzggOS4xNTI2NiA1LjAzNzUyIDkuNDE2NiA0Ljc0OTIzTDkuODMxODIgNC4yOTU2OEwxMC4yNDcgNC43NDkyM0MxMC41MTEgNS4wMzc1MiAxMC44OTYgNS4yMjQzOCAxMS4zMzA5IDUuMjI0MzhDMTEuMzk1IDUuMjI0MzggMTEuNDY0OSA1LjIxOTY2IDExLjUzNzIgNS4yMTA4M0MxMi4zNTkzIDUuMDk4NzUgMTIuODA4IDQuMTEyMjUgMTIuMzI4NiAzLjM2NDA4QzEyLjMyODYgMy4zNjQwMyAxMi4zMjg1IDMuMzYzOTkgMTIuMzI4NSAzLjM2Mzk1TDExLjAwODggMS4zMDYyMUwxMS4wMDgxIDEuMzA1MTFDMTAuOTk2NyAxLjI4NzIyIDEwLjk2ODYgMS4yNjgwNCAxMC45MzMyIDEuMjY4MDRIMi43Mjk0MkMyLjY5NDAzIDEuMjY4MDQgMi42NjU4OSAxLjI4NzIyIDIuNjU0NDggMS4zMDUxMUwyLjY1NDAxIDEuMzA1ODRMMS4zMzY1NCAzLjM2MzdaTTExLjA3MzEgNy4wNjY2N1Y5LjQxNzUzVjkuOTgwNDlIMTAuNTEwMUgzLjE1MjQ4SDIuNTg5NTJWOS40MTc1M1Y3LjA2NzAyQzIuNTA2NzggNy4wNzMxOCAyLjQyMzA4IDcuMDc2MzQgMi4zMzg1NSA3LjA3NjM0QzIuMzA2NzkgNy4wNzYzNCAyLjI3NTI1IDcuMDc1ODcgMi4yNDM5MiA3LjA3NDk1VjkuNDE3NTNWMTAuODY5NkMyLjI0MzkyIDExLjM1MjYgMi42NDQ2NyAxMS43NTg3IDMuMTUyNDggMTEuNzU4N0gxMC41MTAxQzExLjAxNzkgMTEuNzU4NyAxMS40MTg3IDExLjM1MjYgMTEuNDE4NyAxMC44Njk2VjkuNDE3NTNWNy4wNzUwOUMxMS4zODg4IDcuMDc1OTEgMTEuMzU4NyA3LjA3NjM0IDExLjMyODYgNy4wNzYzNEMxMS4yNDI4IDcuMDc2MzQgMTEuMTU3NSA3LjA3MzA4IDExLjA3MzEgNy4wNjY2N1pcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMS4xMjU5MlwiLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1sYWJlbFwiIHN0eWxlPVwiZm9udC1zaXplOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICR7cHJvcGVydGllcy5zdG9yZU5hbWV9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgO1xyXG4gICAgICAvLyBlbC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKGh0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC8ke3Byb3BlcnRpZXMuaW1hZ2VJZH0vJHt3aWR0aH0vJHtoZWlnaHR9KWA7XHJcbiAgICAgIGVsLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9ICcxMDAlJztcclxuICBcclxuICAgICAgLy8gQ3JlYXRlIGEgcG9wdXAgaW5zdGFuY2Ugd2l0aCB0aGUgZmVhdHVyZSBwcm9wZXJ0aWVzXHJcbiAgICAgIGNvbnN0IHBvcHVwID0gbmV3IG1hcGJveGdsLlBvcHVwKHsgb2Zmc2V0OiAyNSB9KSAgXHJcbiAgICAgIC8vIFVzZSB0aGUgY29vcmRpbmF0ZXMgZnJvbSB0aGUgZmVhdHVyZVxyXG4gICAgICBjb25zdCBjb29yZGluYXRlczogW251bWJlciwgbnVtYmVyXSA9IGdlb21ldHJ5LmNvb3JkaW5hdGVzIGFzIFtudW1iZXIsIG51bWJlcl07XHJcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWRqdXN0TGF5b3V0KHN0b3JlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIEFkZCBtYXJrZXJzIHRvIHRoZSBtYXBcclxuICAgICAgbmV3IG1hcGJveGdsLk1hcmtlcihlbClcclxuICAgICAgICAuc2V0TG5nTGF0KGNvb3JkaW5hdGVzKVxyXG4gICAgICAgIC5zZXRQb3B1cChwb3B1cCkgIC8vIEF0dGFjaCB0aGUgcG9wdXAgdG8gdGhlIG1hcmtlclxyXG4gICAgICAgIC5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICB9KTtcclxuICAgIFxyXG4gIH0sMTAwKVxyXG4gIH1cclxuICBhZGp1c3RMYXlvdXQoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBkYXRhdmFsdWU6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICApO1xyXG4gICAgY29uc3QgbWF0Y2hlZFN0b3JlcyA9IGRhdGF2YWx1ZS5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkICYmIHN0b3JlLnN0b3JlSWQgPT09IGRhdGEuc3RvcmVJZCk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGEuc3RvcmVJZDtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YXZhbHVlKSk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGRhdGF2YWx1ZSlcclxuICAgIHRoaXMuZ3MubWFuYWdlUmVmcmVzaFRyaWdnZXIubmV4dCh0cnVlKTtcclxuICAgXHJcbiAgfVxyXG4gIGV4cG9yZVZpZXcoKXtcclxudGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYWZmaWMvZXhwbG9yZSddKVxyXG4gIH1cclxuICBkYXRlVmFsdWUodHlwZTphbnkpe1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLmRhdGVUeXBlID0gdHlwZTtcclxuICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSAgPSB0aGlzLnZhbHVlVHlwZVxyXG4gICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFpvbmUoKXtcclxuICAgIHRoaXMuem9uZUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy56b25lTm9EYXRhID0gZmFsc2U7XHJcbiAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZGFycmF5XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZS56b25lRHdlbGxUaW1lKG9iaik/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKXtcclxuICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID0gcmVzLmRhdGEuem9uZUR3ZWxsVGltZVNwbGl0RGF0YTtcclxuICAgICAgICAgICAgdGhpcy56b25lTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID1bXTtcclxuICAgICAgICAgICAgdGhpcy56b25lTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuem9uZUR3ZWxsVGltZVNwbGl0RGF0YT1bXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KVxyXG4gICAgXHJcbiAgfVxyXG4gIGdldFpvbmVWYWx1ZSgpe1xyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2Uuc3RvcmVPcGVyYXRpb24ob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlT3BlcmF0aW9uRGF0YSA9IHJlcy5kYXRhLnN0b3JlT3BlcmF0aW9uRGF0YVswXTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZU9wZXJhdGlvbkRhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcmVPcGVyYXRpb25EYXRhPVtdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pXHJcbiAgICBcclxuICB9XHJcbiAgb25EYXRlQ2hhbmdlKGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnRzID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvb3RmYWxsRGF0ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gdGhpcy5nZXREd2VsbCgpO1xyXG4gdGhpcy50cmFmZmljRHdlbGwoKTtcclxuICB9XHJcbiAgc3RvcmVWaWV3KGRhdGE6YW55KXtcclxuICAgIGNvbnN0IGRhdGF2YWx1ZTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICBjb25zdCBtYXRjaGVkU3RvcmVzID0gZGF0YXZhbHVlLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQgJiYgc3RvcmUuc3RvcmVJZCA9PT0gZGF0YSk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGE7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGF2YWx1ZSkpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dChkYXRhdmFsdWUpXHJcbiAgICB0aGlzLmdzLm1hbmFnZVJlZnJlc2hUcmlnZ2VyLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIGdvVG9ab25lKCl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3pvbmVzL3YxXCJdKTsgXHJcblxyXG4gIH1cclxuXHJcbiAgY3VycmVudEluZGV4OiBudW1iZXIgPSAwO1xyXG4gIGludGVydmFsSWQ6IGFueTtcclxuXHJcblxyXG4gIHByZXZTbGlkZSgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5jdXJyZW50SW5kZXgtLTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRTbGlkZSgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA8IHRoaXMucmVjYXBzR3JvdXBlZC5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4Kys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnJlY2Fwc0dyb3VwZWQubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIG5vYlVwbG9hZCgpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmFmZmljL25vYlwiXSk7IFxyXG4gIH1cclxuICBnb1RvTG9zcygpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS9zZXR0aW5ncy9icmFuZC1kZXRhaWxcIl0pOyBcclxuICB9XHJcblxyXG4vLyBmb290ZmFsbCB0cmVuZCBwYXJ0c1xyXG5cclxuZ2V0RGF0ZVZhbHVlczogYW55O1xyXG5jaGFydFRyZW5kczogYW55O1xyXG5yb290VHJlbmRzOiBhbnk7XHJcbnlBeGlzOiBhbnk7XHJcbnhBeGlzOiBhbnk7IFxyXG5sZWdlbmQ6IGFueTtcclxuQFZpZXdDaGlsZCgndG9vbHRpcENvbnRhaW5lcicpIHRvb2x0aXBDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG50b29sdGlwRGF0YTogYW55O1xyXG5nZXRGb290ZmFsbFRyZW5kRGF0YTphbnk9W107XHJcbm9iakRhdGE6YW55O1xyXG5kYXRhc2V0cyA9IFtcclxuICB7IHZhbHVlOiAnbWlzc2Vkb3Bwb3J0dW5pdGllcycsIGxhYmVsOiAnTWlzc2VkIE9wcG9ydHVuaXR5JyB9LFxyXG4gIHsgdmFsdWU6ICdwb3RlbnRpYWxCdXllcicsIGxhYmVsOiAnUG90ZW50aWFsIEJ1eWVyJyB9LFxyXG4gIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6ICdDb252ZXJzaW9uJyB9LFxyXG4gIHsgdmFsdWU6ICcnLCBsYWJlbDogJ05vIEZpbHRlcicgfVxyXG5dO1xyXG5cclxuaXRlbXNQZXJQYWdlVHJlbmRzID0gMTA7XHJcbmN1cnJlbnRQYWdlVHJlbmRzID0gMTtcclxudG90YWxJdGVtc1RyZW5kcyA9IDE7XHJcbnBhZ2luYXRpb25TaXplc1RyZW5kczogbnVtYmVyW10gPSBbXTtcclxucGFnZVNpemVUcmVuZHMgPSAzMTtcclxub2Zmc2V0VHJlbmRzIDogbnVtYmVyID0gMDtcclxubGltaXRUcmVuZHMgOiBudW1iZXIgPSAzMTtcclxuc2VsZWN0VmFsdWU9IG5ldyBGb3JtQ29udHJvbChcImRhdGFzZXQxXCIpO1xyXG5sb2FkaW5nVHJlbmRzID10cnVlO1xyXG5ub0RhdGFUcmVuZHMgPWZhbHNlO1xyXG4gIGdldEluaXRpYWxWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgLy8gRm9yIGV4YW1wbGUsIHNlbGVjdGluZyB0aGUgc2Vjb25kIGl0ZW0gaW4gdGhlIGRhdGFzZXRcclxuICAgIHJldHVybiB0aGlzLmRhdGFzZXRzWzBdLnZhbHVlOyAvLyBDaGFuZ2UgYXMgbmVlZGVkXHJcbiAgfVxyXG4gIG9uVmFsdWVDaGFuZ2V0cmVuZChzZWxlY3RlZElkOiBhbnkpIHtcclxuICAgIHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9IHNlbGVjdGVkSWQsXHJcbiAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICB9XHJcbiAgZ2V0IHNlbGVjdENvbnRyb2woKTogRm9ybUNvbnRyb2wge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRoaXMudG9vbHRpcENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgd2FzIG91dHNpZGUgdGhlIHRvb2x0aXBcclxuICAgIGlmICh0b29sdGlwRWxlbWVudCAmJiAhdG9vbHRpcEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmIHRoaXMudG9vbHRpcFZpc2libGUpIHtcclxuICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93ID1mYWxzZTtcclxuICB9XHJcbmZvb3RmYWxsVHJlbmQoKXsgXHJcbiAgdGhpcy5vZmZzZXRUcmVuZHMgPTA7XHJcbiAgdGhpcy5saW1pdFRyZW5kcyA9MzE7XHJcbiAgdGhpcy5sb2FkaW5nVHJlbmRzID10cnVlO1xyXG4gIHRoaXMubm9EYXRhVHJlbmRzID1mYWxzZTtcclxuICB0aGlzLnNlcnZpY2VcclxuICAuZ2V0Zm9vdGZhbGxUcmVuZCh0aGlzLm9iakRhdGEpXHJcbiAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gID8uc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhID0gcmVzPy5kYXRhPy5mb290ZmFsbFRyZW5kRGF0YTtcclxuICAgICAgICB0aGlzLmdldERhdGVWYWx1ZXMgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJlbmRzID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZVRyZW5kcygpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKSAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhVHJlbmRzID1mYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhVHJlbmRzID10cnVlO1xyXG4gICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPVtdO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuc2V0UGFnaW5hdGlvblNpemVUcmVuZHMoKSB7XHJcbiAgaWYgKHRoaXMudG90YWxJdGVtc1RyZW5kcyA+IDMxICkge1xyXG4gICAgaWYodGhpcy5vYmpEYXRhLmZvcmVjYXN0ICYmIHRoaXMudG90YWxJdGVtc1RyZW5kcyA+IDMxKXtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHMgPSBbNjBdO1xyXG4gICAgfSBlbHNlIHsgIFxyXG4gICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHMgPSBbMzFdO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25TaXplc1RyZW5kcyA9IFt0aGlzLnRvdGFsSXRlbXNUcmVuZHNdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgbGVzcyB0aGFuIDEwXHJcbiAgfVxyXG4gIHRoaXMucGFnZVNpemVUcmVuZHMgPSB0aGlzLnBhZ2luYXRpb25TaXplc1RyZW5kc1swXTtcclxufVxyXG5vblBhZ2VDaGFuZ2VUcmVuZHMocGFnZU9mZnNldFRyZW5kczogbnVtYmVyKSB7XHJcbiAgdGhpcy5vZmZzZXRUcmVuZHMgPSBOdW1iZXIocGFnZU9mZnNldFRyZW5kcyk7XHJcbiAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJlbmRzIC0xO1xyXG4gIHRoaXMub2JqRGF0YS5saW1pdCA9IHRoaXMubGltaXRUcmVuZHM7XHJcbiAgdGhpcy5zZXJ2aWNlXHJcbiAgLmdldGZvb3RmYWxsVHJlbmQodGhpcy5vYmpEYXRhKVxyXG4gIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICA/LnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHJlcz8uZGF0YS5mb290ZmFsbFRyZW5kRGF0YTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmdldERhdGVWYWx1ZXMgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJlbmRzID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVDaGFydCgpIC8vIENhbGwgd2l0aCBhIGRlbGF5IHRvIGVuc3VyZSB0aGUgZWxlbWVudCBpcyBpbiB0aGUgRE9NXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IFxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhID10cnVlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuXHJcbm9uUGFnZVNpemVDaGFuZ2VUcmVuZHMocGFnZVNpemVUcmVuZHM6IG51bWJlcikge1xyXG4gIHRoaXMucGFnZVNpemVUcmVuZHMgPSBOdW1iZXIocGFnZVNpemVUcmVuZHMpO1xyXG4gIHRoaXMubGltaXRUcmVuZHMgPSBOdW1iZXIocGFnZVNpemVUcmVuZHMpO1xyXG4gIHRoaXMuY3VycmVudFBhZ2VUcmVuZHMgPSAxO1xyXG4gIHRoaXMub2Zmc2V0VHJlbmRzID0gMDtcclxuICB0aGlzLm9iakRhdGEub2Zmc2V0ID0gdGhpcy5vZmZzZXRUcmVuZHM7XHJcbiAgdGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdFRyZW5kcztcclxuICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxufVxyXG4gY3JlYXRlQ2hhcnQoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgdGhpcy5ub0RhdGFUcmVuZHMgPWZhbHNlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJGb290ZmFsbHRyZW5kXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnJvb3RUcmVuZHMpIHtcclxuICAgICAgICB0aGlzLnJvb3RUcmVuZHMuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB0aGlzLnJvb3RUcmVuZHMgID0gYW01LlJvb3QubmV3KCdGb290ZmFsbHRyZW5kJyk7XHJcbiAgICB0aGlzLnJvb3RUcmVuZHMuc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMucm9vdFRyZW5kcyldKTtcclxuXHJcbiAgICB0aGlzLmNoYXJ0VHJlbmRzID0gdGhpcy5yb290VHJlbmRzLmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICB3aGVlbFg6ICdwYW5YJyxcclxuICAgICAgICB3aGVlbFk6ICd6b29tWCcsXHJcbiAgICAgICAgbGF5b3V0OiB0aGlzLnJvb3RUcmVuZHMudmVydGljYWxMYXlvdXRcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcy5zZXQoXCJzY3JvbGxiYXJYXCIsIGFtNS5TY3JvbGxiYXIubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCJcclxuICAgIH0pKTtcclxuICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgbWluR3JpZERpc3RhbmNlOiAyMCxcclxuICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICByb3RhdGlvbjogLTQ1LFxyXG4gICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgcGFkZGluZ1JpZ2h0OiA1LFxyXG4gICAgfSk7XHJcbiAgICAvLyB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgLy8gICBsb2NhdGlvbjogMSxcclxuICAgIC8vIH0pO1xyXG4gICAgY29uc3QgeEF4aXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgY2F0ZWdvcnlGaWVsZDogJ3N0b3JlTmFtZScsXHJcbiAgICAgICAgcmVuZGVyZXI6eFJlbmRlcmVyLFxyXG4gICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHsgbGFiZWxUZXh0OiBcIntmdWxsU3RvcmVOYW1lfVwifSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgIC8vIFBhcnNlIHN0b3JlTmFtZSBhcyBhIERhdGUgYW5kIGNvbXBhcmVcclxuICAgICAgY29uc3QgZGF0ZUEgPSBuZXcgRGF0ZShhLnN0b3JlTmFtZSk7XHJcbiAgICAgIGNvbnN0IGRhdGVCID0gbmV3IERhdGUoYi5zdG9yZU5hbWUpO1xyXG4gICAgICBcclxuICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXIgKG9sZGVzdCB0byBuZXdlc3QpXHJcbiAgICAgIHJldHVybiBkYXRlQS5nZXRUaW1lKCkgLSBkYXRlQi5nZXRUaW1lKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPSB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhPy5tYXAoXHJcbiAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgZnVsbFN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIEZ1bGwgc3RvcmUgbmFtZVxyXG4gICAgICAgIHN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIGl0ZW0uc3RvcmVOYW1lLmxlbmd0aCA+IDIwID8gaXRlbS5zdG9yZU5hbWUuc2xpY2UoMCwgMjApICsgJy4uLicgOiBTaG9ydGVuZWQgZm9yIHhBeGlzXHJcbiAgICAgICAgZm9vdGZhbGw6IE51bWJlcihpdGVtLmZvb3RmYWxsX2NvdW50KSxcclxuICAgICAgICBjb252ZXJzaW9uOiBOdW1iZXIoaXRlbS5jb252ZXJzaW9uX2NvdW50KSxcclxuICAgICAgICBib3VuY2VkOiBOdW1iZXIoaXRlbS5ib3VuY2VkX2NvdW50KSxcclxuICAgICAgICBlbmdhZ2VyczogTnVtYmVyKGl0ZW0uZW5nYWdlcnNfY291bnQpLFxyXG4gICAgICAgIG1pc3NlZG9wcG9ydHVuaXRpZXM6IE51bWJlcihpdGVtLm1pc3NlZE9wcG9ydHVuaXR5X2NvdW50KSxcclxuICAgICAgICBwb3RlbnRpYWw6IE51bWJlcihpdGVtLnBvdGVudGlhbEJ1eWVyc19jb3VudCksXHJcbiAgICAgICAgYm91bmNlZF9jb3VudDppdGVtLmJvdW5jZWRfY291bnQsXHJcbiAgICAgICAgYXZnRHdlbGxUaW1lOml0ZW0uYXZnRHdlbGxUaW1lLFxyXG4gICAgICAgIGRvd25fdGltZTppdGVtLmRvd25fdGltZSxcclxuICAgICAgICBlbmdhZ2Vyc19jb3VudDppdGVtLmVuZ2FnZXJzX2NvdW50LFxyXG4gICAgICAgIGZvb3RmYWxsX2NvdW50Oml0ZW0uZm9vdGZhbGxfY291bnQsXHJcbiAgICAgICAgbWlzc2VkT3Bwb3J0dW5pdHlfY291bnQ6aXRlbS5taXNzZWRPcHBvcnR1bml0eV9jb3VudCxcclxuICAgICAgICBmb290ZmFsbF9jb3VudF9hdmc6aXRlbS5mb290ZmFsbF9jb3VudF9hdmcsXHJcbiAgICAgICAgYm91bmNlZF9mb290ZmFsbF9jb3VudF9hdmc6aXRlbS5ib3VuY2VkX2Zvb3RmYWxsX2NvdW50X2F2ZyxcclxuICAgICAgICBtaXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmc6aXRlbS5taXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmcsXHJcbiAgICAgICAgZW5nYWdlcnNfY291bnRfYXZnOml0ZW0uZW5nYWdlcnNfY291bnRfYXZnLFxyXG4gICAgICAgIGNvbnZlcnNpb25SYXRlOiBpdGVtLmNvbnZlcnNpb25SYXRlLFxyXG4gICAgICAgIGZvcmVjYXN0OiBpdGVtLmZvcmVjYXN0LFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgXHJcbiAgICB4QXhpcy5kYXRhPy5zZXRBbGwodGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSk7IFxyXG4gICAgY29uc3QgeUF4aXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgbWluOjAsXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMucm9vdFRyZW5kcywge30pXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgLy8geUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIC8vIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIC8vIFNldCB0aGUgdGl0bGUgb2YgdGhlIHktYXhpc1xyXG4gICAgeUF4aXMuY2hpbGRyZW4udW5zaGlmdChhbTUuTGFiZWwubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICByb3RhdGlvbjogLTkwLFxyXG4gICAgICAvLyB0ZXh0OiAnRm9vdGZhbGwnLCAvL2NhcGl0YWxpemVGaXJzdExldHRlcih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpLCAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXJcclxuICAgICAgeTogYW01LnA1MCxcclxuICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLCAvLyBTZXQgZm9udCBmYW1pbHlcclxuICAgICAgZm9udFNpemU6IFwiMTRweFwiLCAgICAvLyBTZXQgZm9udCBzaXplXHJcbiAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCkgLy8gU2V0IHRleHQgY29sb3IgKG9wdGlvbmFsKVxyXG4gICAgfSkpO1xyXG5pZih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPT09J3BvdGVudGlhbEJ1eWVyJylcclxuICB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPSdwb3RlbnRpYWwnXHJcbi8vIGlmKHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9PT0nbWlzc2Vkb3Bwb3J0dW5pdGllcycpXHJcbi8vICAgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlID0nTWlzc2VkIE9wcG9ydHVuaXR5J1xyXG5jb25zdCBjYXBpdGFsaXplVGl0bGUgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4gdGV4dFxyXG4gICAgLnNwbGl0KCcgJylcclxuICAgIC5tYXAod29yZCA9PiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgLmpvaW4oJyAnKTtcclxufTtcclxuXHJcbi8vIEV4YW1wbGUgdXNhZ2VcclxuY29uc3QgcHJvY2Vzc1R5cGVUaXRsZSA9IGNhcGl0YWxpemVUaXRsZSh0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpO1xyXG4gICAgdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ0Zvb3RmYWxsJywgJ2Zvb3RmYWxsJywgeEF4aXMsIHlBeGlzLCBmYWxzZSwgYW01LmNvbG9yKDB4NjdiN2RjKSk7XHJcbiAgICB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnQm91bmNlZCcsICdib3VuY2VkJywgeEF4aXMsIHlBeGlzLCB0cnVlLCBhbTUuY29sb3IoMHg2Nzk0ZGMgKSk7XHJcbiAgICB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnRW5nYWdlcnMnLCAnZW5nYWdlcnMnLCB4QXhpcywgeUF4aXMsIHRydWUsIGFtNS5jb2xvcigweDY3NzFkYyAgKSk7XHJcbiAgICAvLyB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnTWlzc2VkIE9wcG9ydHVuaXR5JywgJ21pc3NlZG9wcG9ydHVuaXRpZXMnLCB4QXhpcywgeUF4aXMsIHRydWUsIGFtNS5jb2xvcigweDY3OTRkYykpO1xyXG4gICAgLy8gdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ1BvdGVudGlhbCBCdXllcicsICdwb3RlbnRpYWwnLCB4QXhpcywgeUF4aXMsIHRydWUsIGFtNS5jb2xvcigweGRjNjljZikpO1xyXG4gICAgLy8gdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ0NvbnZlcnNpb24nLCAnY29udmVyc2lvbicsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4Njc3MWRjKSk7XHJcbiAgICBpZih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgIT09JycgKXtcclxuICAgICAgY29uc3QgbXlDb2xvciA9IGFtNS5jb2xvcigweDAwRkYwMCk7XHJcbiAgICB0aGlzLmNyZWF0ZUxpbmVTZXJpZXMocHJvY2Vzc1R5cGVUaXRsZSwgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlLCB4QXhpcywgeUF4aXMsIG15Q29sb3IpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGVnZW5kID0gdGhpcy5jaGFydFRyZW5kcy5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTUuTGVnZW5kLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgIHg6IGFtNS5wNTBcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgbGVnZW5kLmRhdGEuc2V0QWxsKHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLnZhbHVlcyk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcy5zZXQoJ2N1cnNvcicsIGFtNXh5LlhZQ3Vyc29yLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgYmVoYXZpb3I6ICdub25lJ1xyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLmVhY2goKHNlcmllczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZXJpZXMuY29sdW1ucykge1xyXG4gICAgICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldChcImludGVyYWN0aXZlXCIsIHRydWUpO1xyXG4gICAgICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmV2ZW50cy5vbihcImNsaWNrXCIsIChldjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhID0gZXYudGFyZ2V0LmRhdGFJdGVtLmRhdGFDb250ZXh0O1xyXG4gICAgICAgICAgY29uc3QgeyBjbGllbnRYLCBjbGllbnRZIH0gPSBldi5vcmlnaW5hbEV2ZW50O1xyXG4gICAgICAgICAgdGhpcy5zaG93VG9vbHRpcChkYXRhLCBjbGllbnRYLCBjbGllbnRZKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNoYXJ0VHJlbmRzLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sMTAwKVxyXG4gIH1cclxuXHJcbiAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICBzaG93VG9vbHRpcChkYXRhOiBhbnksIHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnRvb2x0aXBEYXRhID0gZGF0YTtcclxuICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gIFxyXG4gICAgLy8gU2V0IHRvb2x0aXAgY29udGVudCBhbmQgbWFrZSBpdCB2aXNpYmxlIHRvIGNhbGN1bGF0ZSBkaW1lbnNpb25zXHJcbiAgICB0b29sdGlwRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJzsgLy8gTWFrZSBpdCBpbnZpc2libGUgYnV0IHN0aWxsIHByZXNlbnQgaW4gdGhlIERPTVxyXG4gIFxyXG4gICAgLy8gRm9yY2UgYSByZWZsb3cgdG8gZW5zdXJlIGRpbWVuc2lvbnMgYXJlIHVwLXRvLWRhdGVcclxuICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgIFxyXG4gICAgLy8gV2FpdCBmb3IgdGhlIG5leHQgZXZlbnQgbG9vcCB0byBnZXQgYWNjdXJhdGUgZGltZW5zaW9uc1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRvb2x0aXBXaWR0aCA9IHRvb2x0aXBFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICBjb25zdCB0b29sdGlwSGVpZ2h0ID0gdG9vbHRpcEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICBjb25zdCBzY3JlZW5IZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgXHJcbiAgICAgIC8vIENhbGN1bGF0ZSBpZiB0aGVyZSBpcyBlbm91Z2ggc3BhY2Ugb24gdGhlIHJpZ2h0IHNpZGUsIG90aGVyd2lzZSBwbGFjZSBpdCBvbiB0aGUgbGVmdFxyXG4gICAgICBpZiAoeCArIHRvb2x0aXBXaWR0aCA+IHNjcmVlbldpZHRoKSB7XHJcbiAgICAgICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUubGVmdCA9IGAke3ggLSB0b29sdGlwV2lkdGh9cHhgO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLmxlZnQgPSBgJHt4fXB4YDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICAvLyBDYWxjdWxhdGUgaWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGF0IHRoZSBib3R0b20sIG90aGVyd2lzZSBwbGFjZSBpdCBhdCB0aGUgdG9wXHJcbiAgICAgIGlmICh5ICsgdG9vbHRpcEhlaWdodCA+IHNjcmVlbkhlaWdodCkge1xyXG4gICAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnRvcCA9IGAke3kgLSB0b29sdGlwSGVpZ2h0fXB4YDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0b29sdGlwRWxlbWVudC5zdHlsZS50b3AgPSBgJHt5fXB4YDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICB0b29sdGlwRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnOyAvLyBNYWtlIGl0IHZpc2libGUgYWdhaW5cclxuICAgICAgdGhpcy50b29sdGlwVmlzaWJsZSA9IHRydWU7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcbiAgc2VsZWN0UGxhblRyZW5kcyh0eXBlOiBhbnkpIHtcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLm9iakRhdGEuZGF0ZVR5cGUgPXR5cGU7XHJcbiAgICBpZih0eXBlID09PSdtb250aGx5JyAmJiB0aGlzLnN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxKVxyXG4gICAgdGhpcy5vYmpEYXRhLmxpbWl0PSA2MDtcclxuICBlbHNlIFxyXG4gIHRoaXMub2JqRGF0YS5saW1pdD0gMzE7XHJcbiAgICB0aGlzLm9iakRhdGEub2Zmc2V0PSAwO1xyXG4gICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAvLyB0aGlzLnVwZGF0ZUNoYXJ0RGF0YSgpO1xyXG4gIH1cclxuICBoaWRlVG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICB9XHJcblxyXG4gIGNyZWF0ZUNvbHVtblNlcmllcyhcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gICAgeEF4aXM6IGFtNXh5LkNhdGVnb3J5QXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgc3RhY2tlZDogYm9vbGVhbixcclxuICAgIGNvbG9yOiBhbTUuQ29sb3JcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlcmllcyA9IHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgY2F0ZWdvcnlYRmllbGQ6ICdzdG9yZU5hbWUnLFxyXG4gICAgICAgIHN0YWNrZWQ6IHN0YWNrZWQsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIGR5bmFtaWNDb2x1bW46IHtcclxuICAgICAgICAgIGZpbGxPcGFjaXR5OiBpdGVtLmNvbHVtblNldHRpbmdzPy5maWxsT3BhY2l0eSA/PyAwLjgsXHJcbiAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IEFycmF5LmlzQXJyYXkoaXRlbS5jb2x1bW5TZXR0aW5ncz8uc3Ryb2tlRGFzaGFycmF5KVxyXG4gICAgICAgICAgICA/IGl0ZW0uY29sdW1uU2V0dGluZ3Muc3Ryb2tlRGFzaGFycmF5XHJcbiAgICAgICAgICAgIDogaXRlbS5jb2x1bW5TZXR0aW5ncz8uc3Ryb2tlRGFzaGFycmF5ID8gaXRlbS5jb2x1bW5TZXR0aW5ncy5zdHJva2VEYXNoYXJyYXkuc3BsaXQoJywnKS5tYXAoTnVtYmVyKSA6IFs1LCA1XSxcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBpdGVtLmNvbHVtblNldHRpbmdzPy5zdHJva2VXaWR0aCA/PyAzXHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBTZXQgZGF0YSBmb3Igc2VyaWVzXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSk7XHJcbiAgXHJcbiAgICAvLyBBZGFwdGVycyB0byBhcHBseSBjdXN0b20gY29sdW1uIHNldHRpbmdzXHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJmaWxsT3BhY2l0eVwiLCAoZmlsbE9wYWNpdHk6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0NvbHVtbikgeyBcclxuICAgICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0NvbHVtbi5maWxsT3BhY2l0eSA/PyBmaWxsT3BhY2l0eTsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpbGxPcGFjaXR5OyAvLyBEZWZhdWx0IG9wYWNpdHlcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlRGFzaGFycmF5XCIsIChzdHJva2VEYXNoYXJyYXk6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0NvbHVtbikgeyBcclxuICAgICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0NvbHVtbi5zdHJva2VEYXNoYXJyYXkgPz8gc3Ryb2tlRGFzaGFycmF5OyBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3Ryb2tlRGFzaGFycmF5OyAvLyBEZWZhdWx0IGRhc2ggYXJyYXlcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlV2lkdGhcIiwgKHN0cm9rZVdpZHRoOiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNDb2x1bW4pIHsgXHJcbiAgICAgICAgcmV0dXJuIGRhdGFJdGVtLmR5bmFtaWNDb2x1bW4uc3Ryb2tlV2lkdGggPz8gc3Ryb2tlV2lkdGg7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBzdHJva2VXaWR0aDsgLy8gRGVmYXVsdCBzdHJva2Ugd2lkdGhcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gU2V0IGRlZmF1bHQgY29sb3IgYW5kIHN0cm9rZSBmb3IgdGhlIGNvbHVtbnNcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIGZpbGw6IGNvbG9yLCAvLyBTZXQgZmlsbCBjb2xvclxyXG4gICAgICBzdHJva2U6IGNvbG9yIC8vIFNldCBzdHJva2UgY29sb3JcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gQWRkIGxhYmVscyB0byB0aGUgY29sdW1uc1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaCgoKSA9PiB7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBzcHJpdGU6IGFtNS5MYWJlbC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgICB0ZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgICBmaWxsOiB0aGlzLnJvb3RUcmVuZHMuaW50ZXJmYWNlQ29sb3JzLmdldChcImFsdGVybmF0aXZlVGV4dFwiKSxcclxuICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgZm9udFNpemU6IDEyICAvLyBSZWR1Y2UgZm9udCBzaXplXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuIFxyXG4gICAgc2VyaWVzLmFwcGVhcigpO1xyXG4gIH1cclxuICBcclxuICBcclxuXHJcblxyXG5cclxuICBjcmVhdGVMaW5lU2VyaWVzKFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICB4QXhpczogYW01eHkuQ2F0ZWdvcnlBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICBjb2xvcjogYW01LkNvbG9yXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAobmFtZSA9PT0gJ01pc3NlZG9wcG9ydHVuaXRpZXMnKSB7XHJcbiAgICAgIG5hbWUgPSAnTWlzc2VkIE9wcG9ydHVuaXR5JztcclxuICAgIH1cclxuICAgIGlmIChuYW1lID09PSAnUG90ZW50aWFsJykge1xyXG4gICAgICBuYW1lID0gJ1BvdGVudGlhbCBCdXllcic7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBjb25zdCBzZXJpZXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBuYW1lOiBuYW1lLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IGZpZWxkTmFtZSxcclxuICAgICAgICBjYXRlZ29yeVhGaWVsZDogJ3N0b3JlTmFtZScsXHJcbiAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgICAgcG9pbnRlck9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIixcclxuICAgICAgICAgIGxhYmVsVGV4dDogXCJ7bmFtZX06IHt2YWx1ZVl9XCIsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBhbTUuUmVjdGFuZ2xlLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDBGRjAwKSAvLyBTZXQgdGhlIGRlc2lyZWQgdG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIFxyXG4gICAgLy8gQXBwbHkgZGVmYXVsdCBzdHJva2Ugc2V0dGluZ3MgZm9yIHRoZSBsaW5lIHNlcmllc1xyXG4gICAgc2VyaWVzLnN0cm9rZXMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgc3Ryb2tlV2lkdGg6IDIsXHJcbiAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBGRjAwKSwgLy8gRGVmYXVsdCBzdHJva2UgY29sb3JcclxuICAgICAgdGVtcGxhdGVGaWVsZDogXCJzdHJva2VTZXR0aW5nc1wiLCAvLyBSZWZlciB0byBzdHJva2VTZXR0aW5ncyBmb3IgZHluYW1pYyB1cGRhdGVzXHJcbiAgICAgIGZvbnRTaXplOiAxMiAvLyBSZWR1Y2UgZm9udCBzaXplIGZvciBsYWJlbHNcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gTWFwIGR5bmFtaWMgc2V0dGluZ3MgZm9yIGZvcmVjYXN0PXRydWUgaXRlbXNcclxuICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPSB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICBkeW5hbWljTGluZToge1xyXG4gICAgICAgICAgc3Ryb2tlOiBpdGVtLnN0cm9rZVNldHRpbmdzPy5zdHJva2UgPz8gYW01LmNvbG9yKDB4MDBGRjAwKSwgLy8gRGVmYXVsdCB0byBncmVlbiBpZiBub3Qgc3BlY2lmaWVkXHJcbiAgICAgICAgICBzdHJva2VXaWR0aDogaXRlbS5zdHJva2VTZXR0aW5ncz8uc3Ryb2tlV2lkdGggPz8gNSxcclxuICAgICAgICAgIHN0cm9rZURhc2hhcnJheTogQXJyYXkuaXNBcnJheShpdGVtLnN0cm9rZVNldHRpbmdzPy5zdHJva2VEYXNoYXJyYXkpXHJcbiAgICAgICAgICAgID8gaXRlbS5zdHJva2VTZXR0aW5ncy5zdHJva2VEYXNoYXJyYXlcclxuICAgICAgICAgICAgOiBpdGVtLnN0cm9rZVNldHRpbmdzPy5zdHJva2VEYXNoYXJyYXlcclxuICAgICAgICAgICAgPyBpdGVtLnN0cm9rZVNldHRpbmdzLnN0cm9rZURhc2hhcnJheS5zcGxpdCgnLCcpLm1hcChOdW1iZXIpXHJcbiAgICAgICAgICAgIDogWzUsIDVdIC8vIERlZmF1bHQgZGFzaCBhcnJheVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gU2V0IGRhdGEgZm9yIHNlcmllc1xyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEpO1xyXG4gIFxyXG4gIC8vIEFkYXB0ZXIgdG8gYXBwbHkgY3VzdG9tIHN0cm9rZSBzZXR0aW5ncyBiYXNlZCBvbiBmb3JlY2FzdFxyXG4gIHNlcmllcy5zdHJva2VzLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcInN0cm9rZVwiLCAoc3Ryb2tlOiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55O1xyXG4gICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0xpbmUpIHtcclxuICAgICAgcmV0dXJuIGRhdGFJdGVtLmR5bmFtaWNMaW5lLnN0cm9rZSA/PyBzdHJva2U7IC8vIEFwcGx5IGR5bmFtaWMgc3Ryb2tlIGlmIGZvcmVjYXN0IGlzIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBzdHJva2U7IC8vIERlZmF1bHQgc3Ryb2tlXHJcbiAgfSk7XHJcblxyXG4gIHNlcmllcy5zdHJva2VzLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcInN0cm9rZVdpZHRoXCIsIChzdHJva2VXaWR0aDogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNMaW5lKSB7XHJcbiAgICAgIHJldHVybiBkYXRhSXRlbS5keW5hbWljTGluZS5zdHJva2VXaWR0aCA/PyBzdHJva2VXaWR0aDsgLy8gQXBwbHkgZHluYW1pYyBzdHJva2Ugd2lkdGhcclxuICAgIH1cclxuICAgIHJldHVybiBzdHJva2VXaWR0aDsgLy8gRGVmYXVsdCBzdHJva2Ugd2lkdGhcclxuICB9KTtcclxuXHJcbiAgc2VyaWVzLnN0cm9rZXMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlRGFzaGFycmF5XCIsIChzdHJva2VEYXNoYXJyYXk6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICBpZiAoZGF0YUl0ZW0/LmZvcmVjYXN0ICYmIGRhdGFJdGVtPy5keW5hbWljTGluZSkge1xyXG4gICAgICAvLyBFbnN1cmUgdGhlIGRhc2ggYXJyYXkgaXMgYSB2YWxpZCBhcnJheSBvZiBudW1iZXJzIGZvciBwcm9wZXIgcmVuZGVyaW5nXHJcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGRhdGFJdGVtLmR5bmFtaWNMaW5lLnN0cm9rZURhc2hhcnJheSlcclxuICAgICAgICA/IGRhdGFJdGVtLmR5bmFtaWNMaW5lLnN0cm9rZURhc2hhcnJheSAvLyBVc2UgaWYgYWxyZWFkeSBpbiBhcnJheSBmb3JtYXRcclxuICAgICAgICA6IGRhdGFJdGVtLmR5bmFtaWNMaW5lLnN0cm9rZURhc2hhcnJheVxyXG4gICAgICAgID8gZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlRGFzaGFycmF5LnNwbGl0KCcsJykubWFwKE51bWJlcikgLy8gQ29udmVydCBzdHJpbmcgdG8gYXJyYXlcclxuICAgICAgICA6IFs1LCA1XTsgLy8gRGVmYXVsdCBkYXNoIGFycmF5XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3Ryb2tlRGFzaGFycmF5OyAvLyBEZWZhdWx0IHN0cm9rZSBkYXNoIGFycmF5IGlmIG5vIGN1c3RvbSBzZXR0aW5nXHJcbiAgfSk7XHJcblxyXG4gIFxyXG4gICAgLy8gQWRkIGJ1bGxldHMgKG1hcmtlcnMpIHRvIHRoZSBsaW5lIHNlcmllc1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaCgoKSA9PiB7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBzcHJpdGU6IGFtNS5DaXJjbGUubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXHJcbiAgICAgICAgICBzdHJva2U6IGFtNS5jb2xvcigweDAwRkYwMCksXHJcbiAgICAgICAgICByYWRpdXM6IDMsIC8vIEluY3JlYXNlIHJhZGl1cyBmb3IgdmlzaWJpbGl0eVxyXG4gICAgICAgICAgZmlsbDogdGhpcy5yb290VHJlbmRzLmludGVyZmFjZUNvbG9ycy5nZXQoXCJiYWNrZ3JvdW5kXCIpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICBcclxuICAgIC8vIFRyaWdnZXIgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHNlcmllc1xyXG4gICAgc2VyaWVzLmFwcGVhcigpO1xyXG4gIFxyXG4gICAgLy8gTG9nIHRoZSBzZXJpZXMgZGF0YSBmb3IgZGVidWdnaW5nXHJcbiAgfVxyXG4gIFxyXG4gIHNob3c6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIHByb2R1Y3R0cmFpbERyb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuc2hvdyA9dHJ1ZTtcclxuICB9XHJcbiAgY2hhbmdlU3RhdHVzKHR5cGU6YW55KXtcclxudGhpcy50cmVuZHR5cGVWYWx1ZSA9IHR5cGU7XHJcbnRoaXMub2JqRGF0YS5maWx0ZXJCeSA9dHlwZTtcclxudGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbnRoaXMuc2hvdyA9ZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vIHRyYWZmaWMgb3ZlcmFsbCBjYXJkIGFuZCBjaGFydHNcclxuXHJcbiAgcHJpdmF0ZSByb290ITogYW01LlJvb3Q7XHJcbiAgLy8gcHJpdmF0ZSBjaGFydDogYW01eHkuWFlDaGFydDtcclxuICBwcml2YXRlIHNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIHByaXZhdGUgcm9vdDI6IGFtNS5Sb290O1xyXG4gIHByaXZhdGUgY2hhcnQyOiBhbTV4eS5YWUNoYXJ0O1xyXG4gIHByaXZhdGUgc2VyaWVzMjogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIGRldGFpbGVkUm9vdDogYW01LlJvb3Q7XHJcbiAgZGV0YWlsZWRDaGFydDogYW01eHkuWFlDaGFydDtcclxuICBkZXRhaWxlZFNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIGRheWpzID1kYXlqc1xyXG4gIGhlYXRNYXBSb290OiBhbTUuUm9vdDtcclxuICBoZWF0TWFwQ2hhcnQ6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgaGVhdE1hcFNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIGR3ZWxsUm9vdDogYW01LlJvb3Q7XHJcbiAgZHdlbGxDaGFydDogYW01eHkuWFlDaGFydDtcclxuICBkd2VsbFNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIGRlbW9HcmFwaGljc0RhdGE6IGFueTtcclxuICBkZW1vR3JhcGhpY3Nyb290OiBhbnk7XHJcbiAgYnV5ZXJzcm9vdDphbnk7XHJcblxyXG4gIGRhdGE6IGFueTtcclxuICBjdXJyZW50RGF0YTogYW55O1xyXG4gIGN1cnJlbnREYXRhMjogYW55O1xyXG4gIGRldGFpbGVkQ2hhcnRzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGF0ZTogYW55O1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgZm9vdGZhbGxWYWx1ZTogc3RyaW5nID0gXCJ0cmFmZmljXCI7XHJcbiAgZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZTogYW55O1xyXG4gIGJ1eWVyc0NoYXJ0SW5zdGFuY2U6YW55O1xyXG4gIHNlbGVjdGVkVGFiOiBhbnkgPSBcInRyYWZmaWNcIjtcclxuICBnZXRPdmVyYWxsQ2FyZERhdGE6IGFueSA9IFtdO1xyXG4gIC8vIG9iakRhdGE6IGFueTtcclxuICBnZXRPdmVyYWxsSG91cmx5RGF0YTogYW55O1xyXG4gIGdldE92ZXJhbGxDaGFydERhdGE6IGFueT1bXTtcclxuICBnZXRTaW5nbGVDaGFydERhdGE6IGFueTtcclxuICBidXllcnNEYXRhOiBhbnk7XHJcbiAgZ2V0RGVuc2l0eUR3ZWxsRGF0YTogYW55O1xyXG4gIHRyYWZmaWNEYXRhOmFueT0gW107XHJcbiAgZm9vdGZhbGxEYXRlOiBhbnk7XHJcbiAgc2VsY3RlZFZhbHVlOmFueSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICBjaGFydE5vRGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgY2hhcnRsb2FkaW5nOiBib29sZWFuID10cnVlO1xyXG4gIHRvdGFsQ291bnQ6IGFueTtcclxuICBkZW1vR3JhcGhpY3NTZXJpZXM6IGFueTtcclxuXHJcbiAgaXRlbXNQZXJQYWdlVHJhZmZpY0NhcmQgPSAxMDtcclxuICBjdXJyZW50UGFnZVRyYWZmaWNDYXJkID0gMTtcclxuICB0b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPSAxO1xyXG4gIHBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkOiBudW1iZXJbXSA9IFtdO1xyXG4gIHBhZ2VTaXplVHJhZmZpY0NhcmQ6YW55PTIwO1xyXG4gIG9mZnNldFRyYWZmaWNDYXJkOiBudW1iZXIgPSAwO1xyXG4gIGxpbWl0VHJhZmZpY0NhcmQ6IG51bWJlciA9IDIwO1xyXG4gIGRlbW9Ob0RhdGEgPWZhbHNlO1xyXG4gIGRlbW9sb2FkaW5nID1mYWxzZTtcclxuICBidXllcnNOb0RhdGEgPWZhbHNlO1xyXG4gIGJ1eWVyc2xvYWRpbmcgPWZhbHNlO1xyXG4gIGRhdGFzZXRzQ2FyZDphbnkgPVtdO1xyXG5cclxuICBzZWxlY3RlZFRhYnModHlwZTogYW55KSB7XHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnRzID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gdHlwZTtcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gICBcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuc3RvcmVJZCA9IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKTtcclxuICAgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gJ3RyYWZmaWMnKXtcclxuICAgdGhpcy5nZXREd2VsbCgpOyB0aGlzLnRyYWZmaWNEd2VsbCgpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgIH0gZWxzZXtcclxuICAgIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiZm9vdGZhbGxcIil7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiZm9vdGZhbGxcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdGb290ZmFsbCBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImNvbnZlcnNpb25cIil7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiY29udmVyc2lvblwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0NvbnZlcnNpb24gQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJlbmdhZ2Vyc1wiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJlbmdhZ2Vyc1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0VuZ2FnZXJzIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiYm91bmNlZFwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJib3VuY2VkXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nQm91bmNlZCBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcInBvdGVudGlhbEJ1eWVyc1wiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJwb3RlbnRpYWxCdXllcnNcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdQb3RlbnRpYWwgQnV5ZXIgQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJtaXNzZWRPcHBvcnR1bml0eVwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJtaXNzZWRPcHBvcnR1bml0eVwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J01pc3NlZCBPcHBvcnR1bml0eSBBbmFseXNpcydcclxuICAgIH0gXHJcbiAgICBpZih0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gdHJ1ZSAmJiB0aGlzLnNlbGVjdGVkVGFiID09PSBcImNvbnZlcnNpb25cIil7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImNvbnZlcnNpb25cIlxyXG4gICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJjb252ZXJzaW9uXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nQ29udmVyc2lvbiBBbmFseXNpcydcclxuICAgICAgdGhpcy5kYXRhc2V0c0NhcmQgPSBbXHJcbiAgICAgICAgeyB2YWx1ZTogdGhpcy5zZWxlY3RlZFRhYiwgbGFiZWw6IHRoaXMuc2VsY3RlZFZhbHVlIH0sXHJcbiAgICAgIF07XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPTIwLFxyXG4gICAgICB0aGlzLm92ZXJhbGxDYXJkKCk7XHJcbiAgICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgdGhpcy5kYXRhc2V0c0NhcmQgPSBbXHJcbiAgICAgIHsgdmFsdWU6IHRoaXMuc2VsZWN0ZWRUYWIsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICB7IHZhbHVlOiBcImRlbW9ncmFwaGljXCIsIGxhYmVsOiBcIkRlbW9ncmFwaGljIEFuYWx5c2lzXCIgfSxcclxuICAgICAgeyB2YWx1ZTogXCJidXllclwiLCBsYWJlbDogXCJCdXllciBBbmFseXNpc1wiIH0sXHJcbiAgICBdO1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9MjAsXHJcbiAgICB0aGlzLm92ZXJhbGxDYXJkKCk7XHJcbiAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICB9XHJcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIH1cclxuICBnZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGE6YW55ID1bXTtcclxuICB0cmFmZmljRHdlbGwoKXtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGU7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGFcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRUcmFmZmljRGVuc2l0eUR3ZWxsKHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnRyYWZmaWNIZWF0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSBpZighcmVzIHx8IHJlcy5jb2RlID09PSAyMDQpe1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pOyBcclxuICB9XHJcbiAgY2hhcnREd2VsbE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICBjaGFydER3ZWxsbG9hZGluZyA9IHRydWU7XHJcbiAgIGdldER3ZWxsKCl7XHJcbiAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0RHdlbGxsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldDtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZSA9TnVtYmVyKHRoaXMuZm9vdGZhbGxEYXRlKTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldERlbnNpdHlEd2VsbCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICBpZih0aGlzLmdldERlbnNpdHlEd2VsbERhdGE/LmR3ZWxsVGltZVNwbGl0Py5sZW5ndGggPjApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXREd2VsbENoYXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZighcmVzIHx8IHJlcy5jb2RlID09PSAyMDQpe1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydER3ZWxsbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YSA9W107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhID1bXTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpbml0Q2hhcnQoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRlc3RHcmFwaGljc1wiKTtcclxuICAgICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnJvb3QpIHtcclxuICAgICAgICAgIHRoaXMucm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucm9vdCA9IGFtNS5Sb290Lm5ldyhcInRlc3RHcmFwaGljc1wiKTtcclxuICBcclxuICAgICAgICAvLyBTZXQgdGhlbWVzXHJcbiAgICAgICAgLy8gdGhpcy5yb290LnNldFRoZW1lcyhbYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLnJvb3QpXSk7XHJcbiAgICAgICAgLy8gY29uc3QgdG90YWxDb3VudCA9IHRoaXMudG90YWxDb3VudDtcclxuICAgICAgICAvLyBjb25zdCBkeW5hbWljV2lkdGggPSBNYXRoLm1heCg4MDAsIHRvdGFsQ291bnQgKiA1MCk7IC8vIE1pbmltdW0gODAwcHggb3IgNTBweCBwZXIgaXRlbVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGR5bmFtaWNXaWR0aCx0aGlzLnRvdGFsQ291bnQpXHJcbiAgICAgICAgLy8gQ3JlYXRlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5jaGFydCA9IHRoaXMucm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgIHBhZGRpbmdSaWdodDogMSxcclxuICAgICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksIC8vIExldCB0aGUgY2hhcnQgdGFrZSBmdWxsIHdpZHRoXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gdGhpcy5jaGFydC5wbG90Q29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgICAgLy8gICBtaW5XaWR0aDogZHluYW1pY1dpZHRoLCAvLyBTZXQgZHluYW1pYyBtaW4gd2lkdGggZm9yIHNjcm9sbGluZ1xyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIEFkZCBjdXJzb3JcclxuICAgICAgICBsZXQgY3Vyc29yID0gdGhpcy5jaGFydC5zZXQoXCJjdXJzb3JcIiwgYW01eHkuWFlDdXJzb3IubmV3KHRoaXMucm9vdCwge30pKTtcclxuICAgICAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4UmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICByb3RhdGlvbjogLTQ1LFxyXG4gICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgIGNlbnRlclg6IGFtNS5wMTAwLFxyXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiA1LFxyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBBZGQgc2Nyb2xsYmFyXHJcbiAgICAgICAgdGhpcy5jaGFydC5zZXQoXHJcbiAgICAgICAgICBcInNjcm9sbGJhclhcIixcclxuICAgICAgICAgIGFtNS5TY3JvbGxiYXIubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IHhBeGlzID0gdGhpcy5jaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwic3RvcmVOYW1lXCIsXHJcbiAgICAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgICAgIC8vIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtsYWJlbFRleHQ6IFwie2Z1bGxTdG9yZU5hbWV9XCJ9KSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICBcclxuICAgICAgICBsZXQgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjEsXHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgbGV0IHlBeGlzID0gdGhpcy5jaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICAgIHJlbmRlcmVyOiB5UmVuZGVyZXIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmdldE92ZXJhbGxDaGFydERhdGE/LnN0b3JlRGF0YT8ubWFwKFxyXG4gICAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgZnVsbFN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIEZ1bGwgc3RvcmUgbmFtZVxyXG4gICAgICBzdG9yZU5hbWU6ICBpdGVtLnN0b3JlTmFtZSwgLy8gaXRlbS5zdG9yZU5hbWUubGVuZ3RoID4gMjAgPyBpdGVtLnN0b3JlTmFtZS5zbGljZSgwLCAyMCkgKyAnLi4uJyA6IFNob3J0ZW5lZCBmb3IgeEF4aXNcclxuICAgICAgdmFsdWU6IE51bWJlcihpdGVtLmNvdW50KSxcclxuICAgICAgc3RvcmVJZDogaXRlbS5zdG9yZUlkXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICAgIHRoaXMuc2VyaWVzID0gdGhpcy5jaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICAgIG5hbWU6IFwiU2VyaWVzIDFcIixcclxuICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcInN0b3JlTmFtZVwiLFxyXG4gICAgICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICAgICAgbGFiZWxUZXh0OiBgJHt0aGlzLmNhcGl0YWxpemVUaXRsZSh0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlKX0sIHtmdWxsU3RvcmVOYW1lfToge3ZhbHVlWX1gLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5ldmVudHMub24oXCJjbGlja1wiLCAoZXY6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YUl0ZW0gPSBldi50YXJnZXQuZGF0YUl0ZW0uZGF0YUNvbnRleHQ7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUJhckNsaWNrKGRhdGFJdGVtKTtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5zZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAvLyBTZXQgd2lkdGggZm9yIGNoYXJ0IGNvbnRhaW5lciB0byBlbmFibGUgc2Nyb2xsaW5nXHJcbiAgICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gICAgLy8gY29uc3QgaXRlbVdpZHRoID0gNTA7IC8vIFdpZHRoIG9mIGVhY2ggaXRlbSwgYWRqdXN0IGFzIG5lZWRlZFxyXG4gICAgLy8gY29uc3QgbWluV2lkdGggPSB0b3RhbENvdW50ICogaXRlbVdpZHRoOyAvLyBDYWxjdWxhdGUgdG90YWwgd2lkdGhcclxuICAgIC8vIGNoYXJ0RGl2LnN0eWxlLndpZHRoID0gYCR7TWF0aC5tYXgobWluV2lkdGgsIDEwMjQpfXB4YDsgLy8gTWluaW11bSB3aWR0aCBvZiA4MDBweFxyXG4gICAgICAgIC8vIE1ha2Ugc3R1ZmYgYW5pbWF0ZSBvbiBsb2FkXHJcbiAgICAgICAgdGhpcy5zZXJpZXMuYXBwZWFyKDEwMDApO1xyXG4gICAgICAgIHRoaXMuY2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgY2FwaXRhbGl6ZVRpdGxlKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgIHJldHVybiB0ZXh0XHJcbiAgICAgICAgLnRvTG93ZXJDYXNlKCkgLy8gRW5zdXJlIHRoZSBzdHJpbmcgaXMgaW4gbG93ZXJjYXNlIGZpcnN0XHJcbiAgICAgICAgLnNwbGl0KCcgJykgICAgLy8gU3BsaXQgdGhlIHN0cmluZyBpbnRvIHdvcmRzXHJcbiAgICAgICAgLm1hcCh3b3JkID0+IHdvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpKSAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCB3b3JkXHJcbiAgICAgICAgLmpvaW4oJyAnKTsgICAgLy8gSm9pbiB0aGUgd29yZHMgYmFjayB0b2dldGhlclxyXG4gICAgfVxyXG4gICAgZ2V0UmFuZ2VDb2xvcihyYXRlOiBudW1iZXIpOiBhbTUuQ29sb3Ige1xyXG4gICAgICBsZXQgY29sb3I6IGFtNS5Db2xvcjtcclxuICAgICAgaWYgKHJhdGUgPj0gMCAmJiByYXRlIDw9IDEwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhFQUY4RkYpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAxMCAmJiByYXRlIDw9IDIwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhDQ0U5RkUpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAyMCAmJiByYXRlIDw9IDMwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhCMEQ2RkMpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAzMCAmJiByYXRlIDw9IDQwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5NEMyRkEpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiA0MCAmJiByYXRlIDw9IDU1KSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg3OEE5RjgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiA1NSAmJiByYXRlIDw9IDc1KSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5OUQyRkQpOyAgXHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDc1ICYmIHJhdGUgPD0gOTApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDY2QkNGRCk7ICAgIFxyXG4gICAgICB9ICBlbHNlIGlmIChyYXRlID4gOTAgJiYgcmF0ZSA8PSAxMDApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDM0NjBGMyk7ICBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweEZGRik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbG9yO1xyXG4gICAgfVxyXG4gICAgaW5pdEhlYXRDaGFydCgpIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaGVhdG1hcGNoYXJ0XCIpO1xyXG4gICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdDIpIHtcclxuICAgICAgICAgIHRoaXMucm9vdDIuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDcmVhdGUgcm9vdCBlbGVtZW50XHJcbiAgICAgICAgdGhpcy5yb290MiA9IGFtNS5Sb290Lm5ldyhcImhlYXRtYXBjaGFydFwiKTtcclxuICBcclxuICAgICAgICB0aGlzLnJvb3QyLmNvbnRhaW5lci5zZXRBbGwoe1xyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICAgIHRoaXMucm9vdDIuc2V0VGhlbWVzKFtcclxuICAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgXSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5jaGFydDIgPSB0aGlzLnJvb3QyLmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHdoZWVsWTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICBsYXlvdXQ6IHRoaXMucm9vdDIudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGF4ZXMgYW5kIHRoZWlyIHJlbmRlcmVyc1xyXG4gICAgICAgIGNvbnN0IHlSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMjAsXHJcbiAgICAgICAgICBpbnZlcnNlZDogdHJ1ZSxcclxuICAgICAgICAgIG9wcG9zaXRlOiB0cnVlLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB5UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICBcclxuICAgICAgICBjb25zdCB5QXhpcyA9IHRoaXMuY2hhcnQyLnlBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJ0aW1lXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgICAgIG9wcG9zaXRlOiB0cnVlLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICBcclxuICAgICAgICBjb25zdCB4QXhpcyA9IHRoaXMuY2hhcnQyLnhBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJ3ZWVrZGF5XCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICAgIHRoaXMuc2VyaWVzMiA9IHRoaXMuY2hhcnQyLnNlcmllcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgIGNhbGN1bGF0ZUFnZ3JlZ2F0ZXM6IHRydWUsXHJcbiAgICAgICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4ZmZmZmZmKSxcclxuICAgICAgICAgICAgY2x1c3RlcmVkOiBmYWxzZSxcclxuICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICAgICAgY2F0ZWdvcnlZRmllbGQ6IFwidGltZVwiLFxyXG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiBcInJhdGVcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlcmllczIuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgdG9vbHRpcFRleHQ6IFwie3JhdGV9JVwiLFxyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBoZWlnaHQ6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhmZmZmZmYpLCAvLyBEZWZhdWx0IGNvbG9yIGZvciBjb2x1bW5zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gQXBwbHkgcmFuZ2UtYmFzZWQgY29sb3IgcnVsZXMgZm9yIGVhY2ggZGF0YSBpdGVtXHJcbiAgICAgICAgdGhpcy5zZXJpZXMyLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbFwiLCAoZmlsbCwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgQ2hhcnREYXRhSXRlbTsgLy8gQ2FzdCBkYXRhQ29udGV4dCB0byBDaGFydERhdGFJdGVtXHJcbiAgICAgICAgICBpZiAoZGF0YUl0ZW0gJiYgZGF0YUl0ZW0ucmF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJhbmdlQ29sb3IoZGF0YUl0ZW0ucmF0ZSk7IC8vIEdldCBjb2xvciBiYXNlZCBvbiByYXRlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gZmlsbDtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnNlcmllczIuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgICAgdGV4dDogXCJ7cmF0ZS5mb3JtYXROdW1iZXIoJyMuIycpfSVcIixcclxuICAgICAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHgwMDAwMDApLFxyXG4gICAgICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgZm9udFNpemU6IDEyLCAvLyBSZWR1Y2UgZm9udCBzaXplXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgLy8gU2V0IGRhdGFcclxuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRPdmVyYWxsSG91cmx5RGF0YT8ubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgd2Vla2RheTogXCJIb3VybHkgRGF0YVwiLFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICB0aGlzLnNlcmllczIuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQXV0by1wb3B1bGF0ZSBYIGFuZCBZIGF4aXMgY2F0ZWdvcnkgZGF0YVxyXG4gICAgICAgIGNvbnN0IHRpbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGFtNS5hcnJheS5lYWNoKGRhdGEsIGZ1bmN0aW9uIChyb3c6IGFueSkge1xyXG4gICAgICAgICAgaWYgKHRpbWVzLmluZGV4T2Yocm93LnRpbWUpID09PSAtMSkge1xyXG4gICAgICAgICAgICB0aW1lcy5wdXNoKHJvdy50aW1lKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChbeyB3ZWVrZGF5OiBcIkhvdXJseSBEYXRhXCIgfV0pOyAvLyBTZXQgc2luZ2xlIGNhdGVnb3J5IGZvciB4LWF4aXNcclxuICAgICAgICB5QXhpcy5kYXRhLnNldEFsbChcclxuICAgICAgICAgIHRpbWVzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyB0aW1lOiBpdGVtIH07XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5jaGFydDIuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgb25EYXRhc2V0Q2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgICAvLyBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IGV2ZW50O1xyXG4gICAgICBpZiAodGhpcy5mb290ZmFsbFZhbHVlID09PSBcImZvb3RmYWxsXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJjb252ZXJzaW9uXCJcclxuICAgICAgICB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcImVuZ2FnZXJzXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJib3VuY2VkXCJcclxuICAgICAgICB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcInBvdGVudGlhbEJ1eWVyXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJtaXNzZWRPcHBvcnR1bml0eVwiKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vdmVyYWxsSG91cmx5Q2hhcnQoKTtcclxuICAgICAgICB0aGlzLm92ZXJhbGxDaGFydCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJkZW1vZ3JhcGhpY1wiKSB7XHJcbiAgICAgICAgLy8gRGlzcG9zZSBvZiBhbnkgcHJldmlvdXMgY2hhcnRzIHRvIGF2b2lkIGR1cGxpY2F0ZXNcclxuICAgICAgICBpZiAodGhpcy5kZW1vR3JhcGhpY3Nyb290KSB7XHJcbiAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldERlbW9HcmFwaGljcygpO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIGlmICh0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiYnV5ZXJcIikge1xyXG4gICAgICAgIC8vIERpc3Bvc2Ugb2YgYW55IHByZXZpb3VzIGNoYXJ0cyB0byBhdm9pZCBkdXBsaWNhdGVzXHJcbiAgICAgICAgaWYgKHRoaXMuYnV5ZXJzcm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5idXllcnNyb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRCdXllcnMoKTtcclxuICAgICAgfSBcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgIGJhY2tUb0Zvb3RmYWxsKCkge1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9MjAsXHJcbiAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5zdG9yZUlkID0gdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgIH1cclxuIFxyXG4gICBnZXREZW1vR3JhcGhpY3MoKXtcclxuICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdDtcclxuICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQ7XHJcbiAgICAgdGhpcy5kZW1vTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLmRlbW9sb2FkaW5nID0gdHJ1ZTtcclxuICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAuZ2V0RGVtb0dyYXBoaWNzQ2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzRGF0YSA9IHJlcz8uZGF0YS5kZW1vZ3JhcGhpY0RhdGE7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgdGhpcy5kZW1vR3JhcGhpY3NDaGFydCgpO1xyXG4gICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgICAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgICB0aGlzLmRlbW9Ob0RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRlbW9sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgdGhpcy5kZW1vTm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgIHRoaXMuZGVtb2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgfVxyXG4gICAgICAgfSxcclxuICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICB9LFxyXG4gICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgIH0pO1xyXG4gICAgIFxyXG4gICB9XHJcbiAgIGRlbW9HcmFwaGljc0NoYXJ0KCk6IHZvaWQge1xyXG4gICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgIHRoaXMuZGVtb05vRGF0YSA9ZmFsc2U7XHJcbiAgICAgdGhpcy5kZW1vbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgY29uc3QgZGVtb0dyYXBoaWNzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZW1vR3JhcGhpY3NcIik7XHJcbiAgICAgICBpZiAoIWRlbW9HcmFwaGljc0Rpdikge1xyXG4gICAgICAgICByZXR1cm47XHJcbiAgICAgICB9XHJcbiAgICAgICAvLyBEaXNwb3NlIG9mIHByZXZpb3VzIGNoYXJ0IGlmIGl0IGV4aXN0c1xyXG4gICAgICAgaWYgKHRoaXMuZGVtb0dyYXBoaWNzcm9vdCkge1xyXG4gICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgfVxyXG4gXHJcbiAgICAgICAvLyBDcmVhdGUgYSBuZXcgY2hhcnRcclxuICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdCA9IGFtNS5Sb290Lm5ldyhkZW1vR3JhcGhpY3NEaXYpO1xyXG4gICAgICAgdGhpcy5kZW1vR3JhcGhpY3Nyb290LnNldFRoZW1lcyhbXHJcbiAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290KSxcclxuICAgICAgIF0pO1xyXG4gXHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICAgICBsYXlvdXQ6IHRoaXMuZGVtb0dyYXBoaWNzcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICAgICB9KVxyXG4gICAgICAgICApO1xyXG4gXHJcbiAgICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgIGNlbGxTdGFydExvY2F0aW9uOiAwLjEsXHJcbiAgICAgICAgIGNlbGxFbmRMb2NhdGlvbjogMC45LFxyXG4gICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgfSk7XHJcbiBcclxuICAgICAgIGxldCB4QXhpcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS54QXhlcy5wdXNoKFxyXG4gICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiYWdlXCIsXHJcbiAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7fSksXHJcbiAgICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gICAgICAgdGhpcy5kZW1vR3JhcGhpY3NEYXRhID0gdGhpcy5kZW1vR3JhcGhpY3NEYXRhPy5tYXAoXHJcbiAgICAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgYWdlOiBpdGVtLmFnZSxcclxuICAgICAgICAgICBjb3VudDogTnVtYmVyKGl0ZW0uY291bnQpLFxyXG4gICAgICAgICAgIG1hbGVDb3VudDogTnVtYmVyKGl0ZW0ubWFsZUNvdW50KSxcclxuICAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpLFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgICAgeEF4aXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuIFxyXG4gICAgICAgbGV0IHlBeGlzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnlBeGVzLnB1c2goXHJcbiAgICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgIH0pLFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuICAgICAgLy8gQWRkIGxlZ2VuZFxyXG4gICAgIGxldCBsZWdlbmQgPSB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICB4OiBhbTUucDEwMCwgICAgLy8gQWxpZ24gdG8gMTAwJSB3aWR0aCAocmlnaHQgc2lkZSlcclxuICAgICAgICAgeTogYW01LnAwLCAgICAgIC8vIEFsaWduIHRvIHRoZSB0b3BcclxuICAgICAgICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICAgICAgIGNlbnRlclk6IGFtNS5wMCwgICAgLy8gQWxpZ24gdGhlIHRvcCBvZiB0aGUgbGVnZW5kIHRvIHRoZSB0b3Agb2YgdGhlIGNoYXJ0XHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiBcclxuICAgICAvLyBDcmVhdGUgdGhlIHNlcmllcyBhbmQgYWRkIGVhY2ggdG8gdGhlIGxlZ2VuZFxyXG4gICAgIGNvbnN0IG1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJNYWxlXCIsIFwibWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcyk7XHJcbiAgICAgY29uc3QgZmVtYWxlU2VyaWVzID0gdGhpcy5tYWtlU2VyaWVzKFwiRmVtYWxlXCIsIFwiZmVtYWxlQ291bnRcIiwgeEF4aXMsIHlBeGlzKTtcclxuIFxyXG4gICAgIGxlZ2VuZC5kYXRhLnNldEFsbChbbWFsZVNlcmllcywgZmVtYWxlU2VyaWVzXSk7XHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiBcclxuICAgICB9LFxyXG4gICAgICAgICAgICAwKTtcclxuIFxyXG4gICB9XHJcbiAgIG1ha2VTZXJpZXMoXHJcbiAgICAgbmFtZTogYW55LFxyXG4gICAgIGZpZWxkTmFtZTogYW55LFxyXG4gICAgIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj5cclxuICAgKSB7XHJcbiAgICAgbGV0IHNlcmllcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIixcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuICAgXHJcbiAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfSwge2NhdGVnb3J5WH06IHt2YWx1ZVl9XCIsXHJcbiAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgICAgdG9vbHRpcFk6IDAsXHJcbiAgICAgICBzdHJva2VPcGFjaXR5OiAwLFxyXG4gICAgIH0pO1xyXG4gICBcclxuICAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuICAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgIFxyXG4gICAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyB0byBhZGQgaXQgdG8gdGhlIGxlZ2VuZFxyXG4gICB9XHJcbiAgIGdldEJ1eWVycygpe1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0O1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldDtcclxuICAgICB0aGlzLmJ1eWVyc2xvYWRpbmcgPSB0cnVlO1xyXG4gICAgIHRoaXMuYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAuZ2V0QnV5ZXJzQ2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHJlcz8uZGF0YS5idXllckRhdGE7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuZ2V0QnV5ZXJzQ2hhcnQoKTsgLy8gQ2FsbCB3aXRoIGEgZGVsYXkgdG8gZW5zdXJlIHRoZSBlbGVtZW50IGlzIGluIHRoZSBET01cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgdGhpcy5idXllcnNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgdGhpcy5idXllcnNOb0RhdGEgPXRydWU7XHJcbiAgICAgICAgIH1cclxuICAgICAgIH0sXHJcbiAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgfSxcclxuICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICB9KTtcclxuICAgfVxyXG4gICBnZXRCdXllcnNDaGFydCgpOiB2b2lkIHtcclxuICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICB0aGlzLmJ1eWVyc05vRGF0YSA9ZmFsc2U7XHJcbiAgICAgdGhpcy5idXllcnNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgY29uc3QgYnV5ZXJzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJidXllcnNDaGFydHNcIik7XHJcbiAgICAgaWYgKCFidXllcnNEaXYpIHtcclxuICAgICAgIHJldHVybjtcclxuICAgICB9XHJcbiBcclxuICAgICAvLyBEaXNwb3NlIG9mIHByZXZpb3VzIGNoYXJ0IGlmIGl0IGV4aXN0c1xyXG4gICAgIGlmICh0aGlzLmJ1eWVyc3Jvb3QpIHtcclxuICAgICAgIHRoaXMuYnV5ZXJzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgfVxyXG4gXHJcbiAgICAgLy8gQ3JlYXRlIGEgbmV3IGNoYXJ0XHJcbiAgICAgdGhpcy5idXllcnNyb290ID0gYW01LlJvb3QubmV3KGJ1eWVyc0Rpdik7XHJcbiAgICAgdGhpcy5idXllcnNyb290LnNldFRoZW1lcyhbXHJcbiAgICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuYnV5ZXJzcm9vdCksXHJcbiAgICAgXSk7XHJcbiBcclxuICAgICB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgdGhpcy5idXllcnNyb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgIGxheW91dDogdGhpcy5idXllcnNyb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIFxyXG4gICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgIGNlbGxTdGFydExvY2F0aW9uOiAwLjEsXHJcbiAgICAgICBjZWxsRW5kTG9jYXRpb246IDAuOSxcclxuICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgfSk7XHJcbiBcclxuICAgICBsZXQgeEF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueEF4ZXMucHVzaChcclxuICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiYWdlXCIsXHJcbiAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHt9KSxcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuICAgICB0aGlzLmJ1eWVyc0RhdGEgPSB0aGlzLmJ1eWVyc0RhdGE/Lm1hcChcclxuICAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgIGFnZTogaXRlbS5hZ2UsXHJcbiAgICAgICAgIHNpbmdsZUNvdW50OiBOdW1iZXIoaXRlbS5zaW5nbGVDb3VudCksXHJcbiAgICAgICAgIGdyb3VwQ291bnQ6IE51bWJlcihpdGVtLmdyb3VwQ291bnQpLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgIHhBeGlzLmRhdGEuc2V0QWxsKHRoaXMuYnV5ZXJzRGF0YSk7XHJcbiBcclxuICAgICBsZXQgeUF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueUF4ZXMucHVzaChcclxuICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjEsXHJcbiAgICAgICAgIH0pLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICAgIGxldCBsZWdlbmQgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgICB4OiBhbTUucDEwMCwgICAgLy8gQWxpZ24gdG8gMTAwJSB3aWR0aCAocmlnaHQgc2lkZSlcclxuICAgICB5OiBhbTUucDAsICAgICAgLy8gQWxpZ24gdG8gdGhlIHRvcFxyXG4gICAgIGNlbnRlclg6IGFtNS5wMTAwLCAgLy8gQWxpZ24gdGhlIGNlbnRlciBvZiB0aGUgbGVnZW5kIHRvIGl0cyByaWdodFxyXG4gICAgIGNlbnRlclk6IGFtNS5wMCwgICAgLy8gQWxpZ24gdGhlIHRvcCBvZiB0aGUgbGVnZW5kIHRvIHRoZSB0b3Agb2YgdGhlIGNoYXJ0XHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiAgICAgXHJcbiAgIGNvbnN0IHNpbmdsZUNvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJTaW5nbGVcIiwgXCJzaW5nbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gICBjb25zdCBncm91cENvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJHcm91cFwiLCBcImdyb3VwQ291bnRcIiwgeEF4aXMsIHlBeGlzKTtcclxuICAgICBsZWdlbmQuZGF0YS5zZXRBbGwoW3NpbmdsZUNvdW50LCBncm91cENvdW50XSk7XHJcbiAgICAgdGhpcy5idXllcnNDaGFydEluc3RhbmNlLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICB9LDApO1xyXG4gfVxyXG4gZ2V0QnV5ZXJTZXJpZXMoXHJcbiAgIG5hbWU6IHN0cmluZyxcclxuICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+XHJcbiApIHtcclxuICAgbGV0IHNlcmllcyA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIiwgIC8vIEFzc3VtaW5nIFwiYWdlXCIgaXMgdGhlIGNhdGVnb3J5IGZpZWxkXHJcbiAgICAgfSlcclxuICAgKTtcclxuIFxyXG4gICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfToge3ZhbHVlWX1cIixcclxuICAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgIHRvb2x0aXBZOiAwLFxyXG4gICAgIHN0cm9rZU9wYWNpdHk6IDAsXHJcbiAgIH0pO1xyXG4gXHJcbiAgIHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmJ1eWVyc0RhdGEpOyAgLy8gQXNzdW1pbmcgeW91IGhhdmUgYnV5ZXJzRGF0YVxyXG4gXHJcbiAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyBmb3IgbGVnZW5kXHJcbiBcclxuIH1cclxuIG9iakRhdGFUcmFmZmljOmFueT17fTtcclxuICAgIG92ZXJhbGxDYXJkKCkge1xyXG4gICAgICAodGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IDEwKSwgKHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gMCk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2U7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRPdmVyYWxsQ2FyZHModGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0T3ZlcmFsbENhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBvdmVyYWxsSG91cmx5Q2hhcnQoKSB7XHJcbiAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAodGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IDEwKSwgKHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gMCk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXRcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0T3ZlcmFsbEhvdXJseUNoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhID0gcmVzPy5kYXRhPy5ob3VybHlEYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdEhlYXRDaGFydCgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG92ZXJhbGxDaGFydCgpIHtcclxuICAgICAgdGhpcy5vZmZzZXRUcmFmZmljQ2FyZCA9MDtcclxuICAgICAgdGhpcy5saW1pdFRyYWZmaWNDYXJkID0yMDtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAgICh0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0gMjApLCAodGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQgPSAwKTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGE7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnJldmVudWU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldE92ZXJhbGxDaGFydCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRPdmVyYWxsQ2hhcnREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtc1RyYWZmaWNDYXJkID0gcmVzLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdENoYXJ0KCk7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZCgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHNldFBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkKCkge1xyXG4gICAgICBpZiAodGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPiAyMCkge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQgPSBbMjBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQgPSBbdGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmRdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgbGVzcyB0aGFuIDEwXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wYWdlU2l6ZVRyYWZmaWNDYXJkID0gdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZFswXTtcclxuICAgIH1cclxuICAgIG9uUGFnZUNoYW5nZVRyYWZmaWNDYXJkKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgICB0aGlzLm9mZnNldFRyYWZmaWNDYXJkID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQgLTE7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPSB0aGlzLmxpbWl0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2U7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3ZlcmFsbENoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPSByZXMuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICBcclxuICAgIG9uUGFnZVNpemVDaGFuZ2VUcmFmZmljQ2FyZChwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMucGFnZVNpemVUcmFmZmljQ2FyZCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICAgIHRoaXMubGltaXRUcmFmZmljQ2FyZCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VUcmFmZmljQ2FyZCA9IDE7XHJcbiAgICAgIHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQgPSAwO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPSB0aGlzLmxpbWl0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhZmZpY0hlYXRDaGFydCgpIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAvLyBEaXNwb3NlIG9mIHRoZSBwcmV2aW91cyBjaGFydCBpbnN0YW5jZSBpZiBpdCBleGlzdHNcclxuICAgICAgICBpZiAodGhpcy5oZWF0TWFwUm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5oZWF0TWFwUm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY2hhcnQgcm9vdFxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3QuY29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIC8vIEFwcGx5IHRoZW1lc1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5oZWF0TWFwUm9vdCksXHJcbiAgICAgICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcodGhpcy5oZWF0TWFwUm9vdCksXHJcbiAgICAgICAgXSk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgdGhlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwQ2hhcnQgPSB0aGlzLmhlYXRNYXBSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHdoZWVsWTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICBsYXlvdXQ6IHRoaXMuaGVhdE1hcFJvb3QudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgWS1heGlzXHJcbiAgICAgICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgaW52ZXJzZWQ6IHRydWUsXHJcbiAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHlSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgeUF4aXMgPSB0aGlzLmhlYXRNYXBDaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIG1heERldmlhdGlvbjogMCxcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgWC1heGlzXHJcbiAgICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IHhBeGlzID0gdGhpcy5oZWF0TWFwQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIEFkZCBZLWF4aXMgbGFiZWxcclxuICAgICAgICB5QXhpcy5jaGlsZHJlbi51bnNoaWZ0KFxyXG4gICAgICAgICAgYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIHJvdGF0aW9uOiAtOTAsXHJcbiAgICAgICAgICAgIHRleHQ6IFwiSG91cnNcIixcclxuICAgICAgICAgICAgeTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLFxyXG4gICAgICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXHJcbiAgICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwU2VyaWVzID0gdGhpcy5oZWF0TWFwQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgICAgICAgY2FsY3VsYXRlQWdncmVnYXRlczogdHJ1ZSxcclxuICAgICAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHhmZmZmZmYpLFxyXG4gICAgICAgICAgICBjbHVzdGVyZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwid2Vla2RheVwiLFxyXG4gICAgICAgICAgICBjYXRlZ29yeVlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIENvbmZpZ3VyZSBjb2x1bW4gYXBwZWFyYW5jZVxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICB0b29sdGlwVGV4dDogXCJ7dmFsdWV9XCIsXHJcbiAgICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxyXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IDIsXHJcbiAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICAgIGhlaWdodDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIC8vIFNldCBjb2x1bW4gY29sb3IgYmFzZWQgb24gdmFsdWVcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJmaWxsXCIsIChmaWxsLCB0YXJnZXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyB7IHZhbHVlOiBudW1iZXIgfTtcclxuICAgICAgICAgIHJldHVybiBkYXRhSXRlbSAmJiBkYXRhSXRlbS52YWx1ZSAhPT0gdW5kZWZpbmVkID8gdGhpcy5nZXRSYW5nZUNvbG9yMShkYXRhSXRlbS52YWx1ZSkgOiBmaWxsO1xyXG4gICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgLy8gQWRkIGJ1bGxldCBmb3IgdmFsdWUgbGFiZWxzXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwU2VyaWVzLmJ1bGxldHMucHVzaCgoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICBzcHJpdGU6IGFtNS5MYWJlbC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICAgIHRleHQ6IFwie3ZhbHVlfVwiLFxyXG4gICAgICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgICAgICAgIHBvcHVsYXRlVGV4dDogdHJ1ZSxcclxuICAgICAgICAgICAgICBmb250U2l6ZTogMTIsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICAvLyBQcmVwYXJlIGFuZCBzb3J0IGRhdGEgZm9yIHRoZSBjaGFydFxyXG4gICAgICAgIGNvbnN0IGhlYXRNYXBEYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YSAmJiB0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YS50cmFmZmljRGVuc2l0eSkge1xyXG4gICAgICAgICAgT2JqZWN0LmtleXModGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEudHJhZmZpY0RlbnNpdHkpLmZvckVhY2goaG91ciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhLnRyYWZmaWNEZW5zaXR5W2hvdXJdLmZvckVhY2goKGRheURhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGhlYXRNYXBEYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaG91cjogZGF5RGF0YS50aW1lLFxyXG4gICAgICAgICAgICAgICAgd2Vla2RheTogZGF5RGF0YS5kYXksXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcGFyc2VJbnQoZGF5RGF0YS5mb290ZmFsbENvdW50LCAxMCksIC8vIEVuc3VyZSBpbnRlZ2VyIHBhcnNpbmdcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIlRyYWZmaWMgZGVuc2l0eSBkYXRhIGlzIHVuZGVmaW5lZCBvciBudWxsLlwiKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgICAgIC8vIFNldCBkYXRhIHRvIHRoZSBzZXJpZXNcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMuZGF0YS5zZXRBbGwoaGVhdE1hcERhdGEpO1xyXG4gICAgICAgIC8vIEV4dHJhY3QgdW5pcXVlIHdlZWtkYXlzIGFuZCBob3Vycywgc29ydGVkXHJcbiAgICAgICAgY29uc3Qgd2Vla2RheXM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbShuZXcgU2V0KGhlYXRNYXBEYXRhLm1hcChyb3cgPT4gcm93LndlZWtkYXkpKSk7XHJcbiAgICAgICAgY29uc3QgaG91cnM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbShuZXcgU2V0KGhlYXRNYXBEYXRhLm1hcChyb3cgPT4gcm93LmhvdXIpKSlcclxuICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xyXG4gICAgXHJcbiAgICAgICAgLy8gU2V0IGF4aXMgZGF0YVxyXG4gICAgICAgIHhBeGlzLmRhdGEuc2V0QWxsKFxyXG4gICAgICAgICAgd2Vla2RheXMubWFwKGl0ZW0gPT4gKHsgd2Vla2RheTogaXRlbSB9KSlcclxuICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgeUF4aXMuZGF0YS5zZXRBbGwoXHJcbiAgICAgICAgICBob3Vycy5tYXAoaXRlbSA9PiAoeyBob3VyOiBpdGVtIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBGaW5hbGl6ZSBjaGFydCBhcHBlYXJhbmNlXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwQ2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICBcclxuICAgICAgICAvLyBFbnN1cmUgdGhlIHJvb3QgaXMgYXNzaWduZWQgY29ycmVjdGx5XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwUm9vdCA9IHRoaXMuaGVhdE1hcFJvb3Q7XHJcbiAgICBcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldFJhbmdlQ29sb3IxKGZvb3RmYWxsQ291bnQ6IG51bWJlcik6IGFtNS5Db2xvciB7XHJcbiAgICAgIGxldCBtYXhGb290ZmFsbDphbnk7XHJcbiAgICAgIGNvbnN0IG1pbkZvb3RmYWxsID0gMDsgIC8vIG1pbmltdW0gZXhwZWN0ZWQgZm9vdGZhbGxcclxuICAgICAgaWYodGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2UgPTMwKVxyXG4gICAgICBtYXhGb290ZmFsbCA9IDM1MDA7XHJcbiAgICBlbHNlIFxyXG4gICAgbWF4Rm9vdGZhbGwgPSA3NTA7XHJcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IChmb290ZmFsbENvdW50IC0gbWluRm9vdGZhbGwpIC8gKG1heEZvb3RmYWxsIC0gbWluRm9vdGZhbGwpO1xyXG4gICAgICBjb25zdCBjbGFtcGVkVmFsdWUgPSBNYXRoLm1pbihNYXRoLm1heChub3JtYWxpemVkVmFsdWUsIDApLCAwLjUpO1xyXG4gICAgICBjb25zdCBhZGp1c3RlZFZhbHVlID0gTWF0aC5wb3coY2xhbXBlZFZhbHVlLCAwLjUpOyAgLy8gSW5jcmVhc2UgcG93ZXIgdG8gZGFya2VuIGZhc3RlclxyXG4gICAgICBjb25zdCBiYXNlQ29sb3IgPSBhbTUuY29sb3IoMHgwMDhlZGYpOyAgLy8gU3RhcnRpbmcgY29sb3IgKGxpZ2h0IGJsdWUpXHJcbiAgICAgIGNvbnN0IGFkanVzdGVkQ29sb3IgPSBhbTUuQ29sb3IubGlnaHRlbihiYXNlQ29sb3IsIDEgLSBhZGp1c3RlZFZhbHVlKTtcclxuICAgICAgcmV0dXJuIGFkanVzdGVkQ29sb3I7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgICBnZXREd2VsbENoYXJ0KCkge1xyXG4gICAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0RHdlbGxsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkd2VsbEJhckNoYXJ0XCIpO1xyXG4gICAgICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5kd2VsbFJvb3QpIHtcclxuICAgICAgICAgICAgdGhpcy5kd2VsbFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gQ3JlYXRlIHJvb3QgZWxlbWVudFxyXG4gICAgICAgICAgdGhpcy5kd2VsbFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJkd2VsbEJhckNoYXJ0XCIpO1xyXG4gICAgXHJcbiAgICAgICAgICAvLyBTZXQgdGhlbWVzXHJcbiAgICAgICAgICB0aGlzLmR3ZWxsUm9vdC5zZXRUaGVtZXMoW2FtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kd2VsbFJvb3QpXSk7XHJcbiAgICBcclxuICAgICAgICAgIC8vIENyZWF0ZSBjaGFydFxyXG4gICAgICAgICAgdGhpcy5kd2VsbENoYXJ0ID0gdGhpcy5kd2VsbFJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgICAgICBsYXlvdXQ6IHRoaXMuZHdlbGxSb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YS5kd2VsbFRpbWVTcGxpdD8ubWFwKFxyXG4gICAgICAgICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgIHllYXI6IChpdGVtLmR3ZWxsX3RpbWUpICsgXCIgTWluc1wiLFxyXG4gICAgICAgICAgICAgIG1hbGVDb3VudDogTnVtYmVyKGl0ZW0ubWFsZUNvdW50KSxcclxuICAgICAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICAgICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgbGV0IHhBeGlzID0gdGhpcy5kd2VsbENoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcInllYXJcIixcclxuICAgICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmR3ZWxsUm9vdCwge30pLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgICAgbG9jYXRpb246IDEsXHJcbiAgICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgICAgeEF4aXMuZGF0YT8uc2V0QWxsKGRhdGEpO1xyXG4gICAgXHJcbiAgICAgICAgICBsZXQgeUF4aXMgPSB0aGlzLmR3ZWxsQ2hhcnQueUF4ZXMucHVzaChcclxuICAgICAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgIG1pbjogMCxcclxuICAgICAgICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMSxcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgIC8vIEFkZCBsZWdlbmRcclxuICAgICAgICAgIGxldCBsZWdlbmQgPSB0aGlzLmR3ZWxsQ2hhcnQuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgICAgYW01LkxlZ2VuZC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgICAgICAgIHg6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgICAvLyBBZGQgc2VyaWVzXHJcbiAgICAgICAgICAvLyBjb25zdCBcclxuICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLm1ha2VTZXJpZXMxKFwiTWFsZVwiLCBcIm1hbGVDb3VudFwiLCB4QXhpcywgeUF4aXMsIGRhdGEsIGxlZ2VuZCk7XHJcbiAgICAgICAgICB0aGlzLm1ha2VTZXJpZXMxKFwiRmVtYWxlXCIsIFwiZmVtYWxlQ291bnRcIiwgeEF4aXMsIHlBeGlzLCBkYXRhLCBsZWdlbmQpO1xyXG4gICAgICAgICAgLy8gTWFrZSBzdHVmZiBhbmltYXRlIG9uIGxvYWRcclxuICAgICAgICAgIHRoaXMuZHdlbGxDaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICB9XHJcbiAgICAgIG1ha2VTZXJpZXMxKG5hbWU6IHN0cmluZyxmaWVsZE5hbWU6IHN0cmluZyx4QXhpczogYW01eHkuQ2F0ZWdvcnlBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4seUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LGRhdGE6IGFueSxsZWdlbmQ6IGFueVxyXG4gICAgICApIHtcclxuICAgICAgICBsZXQgc2VyaWVzID0gdGhpcy5kd2VsbENoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBuYW1lOiBuYW1lLFxyXG4gICAgICAgICAgICBzdGFja2VkOiB0cnVlLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgdmFsdWVZRmllbGQ6IGZpZWxkTmFtZSxcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwieWVhclwiLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICBcclxuICAgICAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgdG9vbHRpcFRleHQ6IFwie25hbWV9LCB7Y2F0ZWdvcnlYfToge3ZhbHVlWX0lXCIsXHJcbiAgICAgICAgICB0b29sdGlwWTogYW01LnBlcmNlbnQoMTApLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgICBpZiAoZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICBcclxuICAgICAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgICAgIFxyXG4gICAgICAgIC8vIEJ1bGxldCBsYWJlbHMgd2l0aCBjb25kaXRpb24gdG8gaGlkZSAwJSB2YWx1ZXNcclxuICAgICAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIGxldCBsYWJlbCA9IGFtNS5MYWJlbC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgdGV4dDogXCJ7dmFsdWVZfSVcIixcclxuICAgICAgICAgICAgZmlsbDogdGhpcy5kd2VsbFJvb3QuaW50ZXJmYWNlQ29sb3JzLmdldChcImFsdGVybmF0aXZlVGV4dFwiKSxcclxuICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgICAgLy8gSGlkZSBsYWJlbCBpZiB2YWx1ZSBpcyAwXHJcbiAgICAgICAgICBsYWJlbC5hZGFwdGVycy5hZGQoXCJ2aXNpYmxlXCIsICh2aXNpYmxlLCB0YXJnZXQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAodGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KT8uW2ZpZWxkTmFtZV07XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gMDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBzcHJpdGU6IGxhYmVsLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChsZWdlbmQpIHtcclxuICAgICAgICAgIGxlZ2VuZC5kYXRhLnB1c2goc2VyaWVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICBzdG9yZU5hbWU6YW55O1xyXG4gICAgICBzdG9yZUlkOmFueTtcclxuICAgICAgZm9ybWF0RGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRheWpzKGRhdGVTdHJpbmcpLmZvcm1hdCgnREQgTU1NJyk7ICAvLyBPdXRwdXQ6ICcwMSBKYW4nXHJcbiAgICAgIH1cclxuICAgICAgICBoYW5kbGVCYXJDbGljayhkYXRhSXRlbTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlTmFtZSA9IGRhdGFJdGVtLmZ1bGxTdG9yZU5hbWU7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlSWQgPSBkYXRhSXRlbS5zdG9yZUlkXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLnN0b3JlSWQgPVtkYXRhSXRlbS5zdG9yZUlkXSxcclxuICAgICAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPTMxLFxyXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRTaW5nbGVTdG9yZUNoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2luZ2xlQ2hhcnREYXRhID0gcmVzPy5kYXRhLnN0b3JlRGF0YTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmdldFNpbmdsZVN0b3JlKCksIDApOyAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldFNpbmdsZVN0b3JlKCl7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZXRhaWxlZENoYXJ0RGl2XCIpO1xyXG4gICAgICAgICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRldGFpbGVkUm9vdCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRSb290LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRSb290ID0gYW01LlJvb3QubmV3KFwiZGV0YWlsZWRDaGFydERpdlwiKTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgICAgICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuZGV0YWlsZWRSb290KSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydCA9IHRoaXMuZGV0YWlsZWRSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gQWRkIGN1cnNvclxyXG4gICAgICAgICAgICBsZXQgY3Vyc29yID0gdGhpcy5kZXRhaWxlZENoYXJ0LnNldChcclxuICAgICAgICAgICAgICBcImN1cnNvclwiLFxyXG4gICAgICAgICAgICAgIGFtNXh5LlhZQ3Vyc29yLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge30pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgICAgICAgbGV0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgICAgIHJvdGF0aW9uOiAtOTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgICAgICAgICBwYWRkaW5nUmlnaHQ6IDE1LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIC8vIEFkZCBzY3JvbGxiYXJcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0LnNldChcclxuICAgICAgICAgICAgICBcInNjcm9sbGJhclhcIixcclxuICAgICAgICAgICAgICBhbTUuU2Nyb2xsYmFyLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGxldCB4QXhpcyA9IHRoaXMuZGV0YWlsZWRDaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgIG1heERldmlhdGlvbjogMC4zLFxyXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7fSksXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgbGV0IHlSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgbGV0IHlBeGlzID0gdGhpcy5kZXRhaWxlZENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgICAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZ2V0U2luZ2xlQ2hhcnREYXRhLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgIGRhdGU6IHRoaXMuZm9ybWF0RGF0ZShpdGVtLmRhdGUpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS5jb3VudCksIC8vIFVzZSBgY291bnRgIGFzIGB2YWx1ZWBcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gUGFyc2Ugc3RvcmVOYW1lIGFzIGEgRGF0ZSBhbmQgY29tcGFyZVxyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGVBID0gbmV3IERhdGUoYS5kYXRlKTtcclxuICAgICAgICAgICAgICBjb25zdCBkYXRlQiA9IG5ldyBEYXRlKGIuZGF0ZSk7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXIgKG9sZGVzdCB0byBuZXdlc3QpXHJcbiAgICAgICAgICAgICAgcmV0dXJuIGRhdGVBLmdldFRpbWUoKSAtIGRhdGVCLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIC8vIENyZWF0ZSBzZXJpZXNcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFNlcmllcyA9IHRoaXMuZGV0YWlsZWRDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNlcmllcyAyXCIsXHJcbiAgICAgICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVlGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgICAgICAgICAgc2VxdWVuY2VkSW50ZXJwb2xhdGlvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcImRhdGVcIixcclxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoeyBzdHJva2VPcGFjaXR5OiAwIH0pO1xyXG4gICAgICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFNlcmllcy5hcHBlYXIoMTAwMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvcmVjYXN0QXBpKGV2dDphbnkpe1xyXG4gICAgICAgICAgaWYoZXZ0LnRhcmdldC5jaGVja2VkKXtcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gdHJ1ZVxyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEubm9ybWFsaXplID0gZmFsc2VcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5maWx0ZXJCeSA9ICdhdmVyYWdlJ1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gZmFsc2VcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vcm1hbGl6ZSA9IHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZFxyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEubm9iID0gZmFsc2VcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZpbHRlckJ5ID0gJ2F2ZXJhZ2UnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG4gICAgICAgIHRvZ2dsZU5vcm1hbGl6ZShldnQ6YW55KXtcclxuICAgICAgICAgIHRoaXMubm9ybWFsaXplID1ldnQudGFyZ2V0LmNoZWNrZWQ7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZSA9IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGEubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuICAgICAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuICAgICAgICAgIC8vIHRoaXMudGFibGVvYmouZm9yZWNhc3QgPSBmYWxzZVxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZvcmVjYXN0ID1mYWxzZTtcclxuICAgICAgICAgIC8vIHRoaXMub2JqRGF0YVRyYWZmaWMuZm9yZWNhc3QgPSBmYWxzZVxyXG4gICAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLm5vYlxyXG4gICAgICAgICAgICAgID8gXCJOb0IgRGVyaXZlZFwiXHJcbiAgICAgICAgICAgICAgOiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzXHJcbiAgICAgICAgICAgICAgICAgID8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nXHJcbiAgICAgICAgICAgICAgPyBcImVuZ2FnZXJzXCJcclxuICAgICAgICAgICAgICA6IFwiZm9vdGZhbGxcIjtcclxuICAgICAgICAgIHRoaXMuZ2V0RnVubmFsKCk7XHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzKCk7XHJcbiAgICAgICAgICB0aGlzLnBlcmZvcm1hbmNlKCk7XHJcbiAgICAgICAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICAgICAgICAgIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcInRyYWZmaWNcIlxyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdUcmFmZmljIEFuYWx5c2lzJztcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmKHRoaXMubm9ybWFsaXplID09PSB0cnVlKXtcclxuICAgICAgICAgIHRoaXMuem9uZUR3ZWxsVGltZVNwbGl0RGF0YSA9W107XHJcbiAgICAgICAgICAgIHRoaXMuem9uZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy56b25lTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZU9wZXJhdGlvbkRhdGEgPVtdO1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZm9yZWNhc3QgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEuZm9yZWNhc3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5zdG9yZUlkYXJyYXkubGVuZ3RoID09PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5nZXRSZWNhcFZpZGVvRGF0YSA9W11cclxuICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJlY2Fwbm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vcm1hbGl6ZSh0aGlzLm5vcm1hbGl6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Wm9uZSgpOyB0aGlzLmdldFpvbmVWYWx1ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgICAgICBpZih0aGlzLnN0b3JlSWRhcnJheS5sZW5ndGggPT09IDEpe1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VydmljZT8udG9nZ2xlbm9ybWFsaXplKHRoaXMubm9ybWFsaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmludGVyZmFjZSBEYXRhQ29udGV4dCB7XHJcbiAgY2F0ZWdvcnk6IHN0cmluZztcclxuICB2YWx1ZTogbnVtYmVyO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbn1cclxuZnVuY3Rpb24gZ2V0RGF5c0JldHdlZW5EYXRlcyhmcm9tRGF0ZTogc3RyaW5nLCB0b0RhdGU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgLy8gUGFyc2UgdGhlIGRhdGUgc3RyaW5ncyBpbnRvIERhdGUgb2JqZWN0c1xyXG4gIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoZnJvbURhdGUpO1xyXG4gIGNvbnN0IGVuZCA9IG5ldyBEYXRlKHRvRGF0ZSk7XHJcblxyXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSBpbiBtaWxsaXNlY29uZHNcclxuICBjb25zdCBkaWZmZXJlbmNlSW5NcyA9IGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCk7XHJcblxyXG4gIC8vIENvbnZlcnQgbWlsbGlzZWNvbmRzIHRvIGRheXMgKDEgZGF5ID0gODY0MDAwMDAgbWlsbGlzZWNvbmRzKVxyXG4gIGNvbnN0IG1pbGxpc2Vjb25kc1BlckRheSA9IDg2NDAwMDAwO1xyXG4gIGNvbnN0IGRpZmZlcmVuY2VJbkRheXMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2VJbk1zIC8gbWlsbGlzZWNvbmRzUGVyRGF5KTtcclxuXHJcbiAgcmV0dXJuIGRpZmZlcmVuY2VJbkRheXM7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDaGFydERhdGFJdGVtIHtcclxuICByYXRlOiBudW1iZXI7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBnZXRDYXJkKCkge1xyXG4vLyAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlPSB0aGlzLnZhbHVlVHlwZSxcclxuLy8gICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZTtcclxuLy8gICB0aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgXHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4vLyAgIHRoaXMuaGVhdGxvYWRpbmcgPSB0cnVlO1xyXG4vLyAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZGF0ZVR5cGVcclxuLy8gICB0aGlzLnNlcnZpY2VcclxuLy8gICAgIC5nZXRDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4vLyAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4vLyAgICAgPy5zdWJzY3JpYmUoe1xyXG4vLyAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuLy8gICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZERhdGEgPSByZXM/LmRhdGE/LmNhcmQ7XHJcbi8vICAgICAgICAgICAvLyB0aGlzLmhlYXRNYXBEYXRhID0gcmVzPy5kYXRhPy5mdW5uZWxDaGFydDtcclxuICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2Uge1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgICB0aGlzLmhlYXRNYXBEYXRhID1bXTtcclxuLy8gICAgICAgICB0aGlzLmhlYXRsb2FkaW5nID0gZmFsc2VcclxuLy8gICAgICAgICB0aGlzLmhlYXRub0RhdGEgPSB0cnVlXHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbi8vICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5oZWF0TWFwRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbi8vICAgICAgIH0sXHJcbi8vICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuLy8gICAgIH0pO1xyXG4vLyB9XHJcblxyXG4vLyBnZXRDYXJkR3JhcGgoKSB7XHJcbi8vICAgdGhpcy5jYXJkbG9hZGluZyA9dHJ1ZTtcclxuLy8gICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnByb2Nlc3NUeXBlO1xyXG4vLyAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGUgPSB0aGlzLmRhdGVUeXBlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbi8vICAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgIHRoaXMuc2VydmljZVxyXG4vLyAgICAgLmdldENhcmRHcmFwaExpc3QodGhpcy50YWJsZW9iailcclxuLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuLy8gICAgID8uc3Vic2NyaWJlKHtcclxuLy8gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbi8vICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbi8vICAgICAgICAgICB0aGlzLmdldENhcmRHcmFwaERhdGEgPSByZXM/LmRhdGE7XHJcbi8vICAgICAgICAgICBpZih0aGlzLm5vYil7XHJcbi8vICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ubm9iLm5vYjtcclxuLy8gICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0nTm9CIERlcml2ZWQnXHJcbi8vICAgICAgICAgICB9ZWxzZSB7IFxyXG4vLyAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwucmF0ZTtcclxuLy8gICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9J2Zvb3RmYWxsJ1xyXG4vLyAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkbG9hZGluZyA9ZmFsc2U7XHJcbi8vICAgICAgICAgICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlOyAgICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT1bXTtcclxuLy8gICAgICAgICAgIHRoaXMuY2FyZGxvYWRpbmcgPWZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkTm9kYXRhID10cnVlO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgICAgfSxcclxuLy8gICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4vLyAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbi8vICAgICB9KTtcclxuLy8gfVxyXG4iLCI8c2NyaXB0PlxyXG4gICAgKGc9Pnt2YXIgaCxhLGsscD1cIlRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSVwiLGM9XCJnb29nbGVcIixsPVwiaW1wb3J0TGlicmFyeVwiLHE9XCJfX2liX19cIixtPWRvY3VtZW50LGI9d2luZG93O2I9YltjXXx8KGJbY109e30pO3ZhciBkPWIubWFwc3x8KGIubWFwcz17fSkscj1uZXcgU2V0LGU9bmV3IFVSTFNlYXJjaFBhcmFtcyx1PSgpPT5ofHwoaD1uZXcgUHJvbWlzZShhc3luYyhmLG4pPT57YXdhaXQgKGE9bS5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpKTtlLnNldChcImxpYnJhcmllc1wiLFsuLi5yXStcIlwiKTtmb3IoayBpbiBnKWUuc2V0KGsucmVwbGFjZSgvW0EtWl0vZyx0PT5cIl9cIit0WzBdLnRvTG93ZXJDYXNlKCkpLGdba10pO2Uuc2V0KFwiY2FsbGJhY2tcIixjK1wiLm1hcHMuXCIrcSk7YS5zcmM9YGh0dHBzOi8vbWFwcy4ke2N9YXBpcy5jb20vbWFwcy9hcGkvanM/YCtlO2RbcV09ZjthLm9uZXJyb3I9KCk9Pmg9bihFcnJvcihwK1wiIGNvdWxkIG5vdCBsb2FkLlwiKSk7YS5ub25jZT1tLnF1ZXJ5U2VsZWN0b3IoXCJzY3JpcHRbbm9uY2VdXCIpPy5ub25jZXx8XCJcIjttLmhlYWQuYXBwZW5kKGEpfSkpO2RbbF0/Y29uc29sZS53YXJuKHArXCIgb25seSBsb2FkcyBvbmNlLiBJZ25vcmluZzpcIixnKTpkW2xdPShmLC4uLm4pPT5yLmFkZChmKSYmdSgpLnRoZW4oKCk9PmRbbF0oZiwuLi5uKSl9KSh7XHJcbiAgICAgIHY6IFwid2Vla2x5XCIsXHJcbiAgICAgIGtleTogXCJBSXphU3lEbE9lemd3UU8wSnZpRDBhaXpyQ3VOMUZZOXRjV2ZSM29cIlxyXG4gICAgfSk7XHJcbiAgPC9zY3JpcHQ+XHJcbiAgPGxpbmsgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuMTUuMC9tYXBib3gtZ2wuY3NzJyByZWw9J3N0eWxlc2hlZXQnIC8+XHJcbiAgPHNjcmlwdCBzcmM9J2h0dHBzOi8vYXBpLm1hcGJveC5jb20vbWFwYm94LWdsLWpzL3YyLjE1LjAvbWFwYm94LWdsLmpzJz48L3NjcmlwdD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgfHwgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZFwiIGNsYXNzPVwiY29sLW1kLTEyIHRleHQtZW5kXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBteS0yXCIgc3R5bGU9XCJmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBjdXJzb3ItcG9pbnRlclwiICB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwibm9ybWFsaXplXCIgKGNoYW5nZSk9XCJ0b2dnbGVOb3JtYWxpemUoJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwibm9ybWFsaXplLXRleHRcIj5WaWV3IE5vcm1hbGl6ZWQgRGF0YTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTcgaC0xMDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzICBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiBbbmdiVG9vbHRpcF09XCJmb290ZmFsbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRGlzcGxheSBmb290ZmFsbCBjb3VudCBvciAnLS0nIGlmIG5vdCBhdmFpbGFibGUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPnt7IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudCA/IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6ICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+e3tmb290ZmFsbE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3dpdGNoIHRvZ2dsZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiB0ZXh0LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IG10LTEgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXNBdmVyYWdlXCIgKGNoYW5nZSk9XCJ0b2dnbGVBdmVyYWdlKCRldmVudClcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0F2ZXJhZ2VcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgbXQtNVwiPkF2ZXJhZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzQXZlcmFnZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBtdC01XCI+QWN0dWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RmYWxsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkZvb3RmYWxsPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB1bmlxdWUgd2Fsay1pbnMgaW50byB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+e3tnZXRDYXJkRGF0YT8uZm9vdGZhbGw/LmNvdW50fX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEwIHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsbG9hZGluZ1wiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJsb2FkZXItaW1nXCIgc3JjPVwiYXNzZXRzL3RhbmdvL2xheW91dC9Mb2FkZXIuZ2lmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHBiLTAgcHgtMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImZvb3RpbWctbm9kYXRhMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUxXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGNvbnZlcnNpb24gZnVubmVsPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJGb290ZmFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwibXQtMSBjdXJzb3ItcG9pbnRlciBmcy01XCIgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J2RhaWx5JyA/ICd0ZXh0LXByaW1hcnknIDonJ1wiIChjbGljayk9XCJkYXRlVmFsdWUoJ2RhaWx5JylcIj4xRDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J3dlZWtseScgPyAndGV4dC1wcmltYXJ5JyA6JydcIiAgKGNsaWNrKT1cImRhdGVWYWx1ZSgnd2Vla2x5JylcIj4xVzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J21vbnRobHknID8gJ3RleHQtcHJpbWFyeScgOicnXCIgIChjbGljayk9XCJkYXRlVmFsdWUoJ21vbnRobHknKVwiPjFNPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlIG1zLTJcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cIm10LTIgbXMtMlwiPjxzcGFuIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSAhPT0wXCI+e3tnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNEYXRhID8gZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj4gPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbGVmdC01MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIiBbbmdiVG9vbHRpcF09XCJjb252ZXJzaW9uVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIiAqbmdJZj1cInZhbHVlQ29udmVyc2lvblJhdGUgPT09IDBcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIiAqbmdJZj1cInZhbHVlQ29udmVyc2lvblJhdGUgIT09IDBcIj57e3ZhbHVlQ29udmVyc2lvblJhdGUgID8gdmFsdWVDb252ZXJzaW9uUmF0ZSA6ICctLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5Db252ZXJzaW9uIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSAnZm9vdGZhbGwnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ2VuZ2FnZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdQb3RlbnRpYWwgQnV5ZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCdcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCc7IGVsc2Ugb3RoZXJWYWx1ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vQiBEZXJpdmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjb3RoZXJWYWx1ZXM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb252ZXJzaW9uVmFsdWUgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udmVyc2lvblRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5Db252ZXJzaW9uIFJhdGU8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPlRvdGFsICUgb2Yge3tjb252ZXJzaW9uVmFsdWV9fSB3aG8gc3BlbnQgbW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb24/LnZhbHVlfX0gbWlucyBpbiB0aGUgc3RvcmUuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGg0IGNsYXNzPVwidGV4dC1zdGFydFwiPnt7dmFsdWVDb252ZXJzaW9uUmF0ZX19PC9oND4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGZvb3RlciBjbGFzcz1cInRvb2x0aXAtZm9vdGVyIHRleHQtc3RhcnRcIj4gPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJ1wiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPi0tJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSAhPT0wXCIgIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb290ZXI+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMHB4IHB0LTEwIHB4LTMgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J2Zvb3RmYWxsJ1wiIHBsYWNlbWVudD1cInRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiRm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmFsdWUoJ2Zvb3RmYWxsJylcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNCAxOEg5LjVWMTkuMjVDOS41IDE5Ljk3OTMgOS4yMTAyNyAyMC42Nzg4IDguNjk0NTQgMjEuMTk0NUM4LjE3ODgyIDIxLjcxMDMgNy40NzkzNSAyMiA2Ljc1IDIyQzYuMDIwNjUgMjIgNS4zMjExOCAyMS43MTAzIDQuODA1NDYgMjEuMTk0NUM0LjI4OTczIDIwLjY3ODggNCAxOS45NzkzIDQgMTkuMjVWMThaTTggNi4xMTk5OUMxMCA2LjExOTk5IDExIDguOTk5OTkgMTEgMTFDMTEgMTIgMTAuNSAxMyAxMCAxNC41TDkuNSAxNkg0QzQgMTUgMy41IDEzLjUgMy41IDExQzMuNSA4LjQ5OTk5IDUuNDk4IDYuMTE5OTkgOCA2LjExOTk5Wk0yMC4wNTQgMTQuMDk4TDE5LjgzNyAxNS4zMjlDMTkuNzAyMyAxNi4wMzk2IDE5LjI5MzEgMTYuNjY4NiAxOC42OTggMTcuMDc5NkMxOC4xMDI5IDE3LjQ5MDcgMTcuMzY5OCAxNy42NTA4IDE2LjY1NzYgMTcuNTI1MkMxNS45NDUzIDE3LjM5OTYgMTUuMzExMSAxNi45OTg0IDE0Ljg5MjUgMTYuNDA4NkMxNC40NzM5IDE1LjgxODggMTQuMzA0NSAxNS4wODc4IDE0LjQyMSAxNC4zNzRMMTQuNjM3IDEzLjE0NEwyMC4wNTQgMTQuMDk4Wk0xOC4xNzggMS43MDQ5OUMyMC42NDIgMi4xMzg5OSAyMi4xOTYgNC44Mjk5OSAyMS43NjIgNy4yOTE5OUMyMS4zMjggOS43NTM5OSAyMC41NzUgMTEuMTQ0IDIwLjQwMiAxMi4xMjlMMTQuOTg1IDExLjE3NEwxNC43NTMgOS42MDk5OUMxNC41MjEgOC4wNDU5OSAxNC4yMDMgNi45NzM5OSAxNC4zNzYgNS45ODk5OUMxNC43MjMgNC4wMTk5OSAxNi4yMDggMS4zNTc5OSAxOC4xNzggMS43MDQ5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIkZvb3RmYWxsXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNCAxOEg5LjVWMTkuMjVDOS41IDE5Ljk3OTMgOS4yMTAyNyAyMC42Nzg4IDguNjk0NTQgMjEuMTk0NUM4LjE3ODgyIDIxLjcxMDMgNy40NzkzNSAyMiA2Ljc1IDIyQzYuMDIwNjUgMjIgNS4zMjExOCAyMS43MTAzIDQuODA1NDYgMjEuMTk0NUM0LjI4OTczIDIwLjY3ODggNCAxOS45NzkzIDQgMTkuMjVWMThaTTggNi4xMTk5OUMxMCA2LjExOTk5IDExIDguOTk5OTkgMTEgMTFDMTEgMTIgMTAuNSAxMyAxMCAxNC41TDkuNSAxNkg0QzQgMTUgMy41IDEzLjUgMy41IDExQzMuNSA4LjQ5OTk5IDUuNDk4IDYuMTE5OTkgOCA2LjExOTk5Wk0yMC4wNTQgMTQuMDk4TDE5LjgzNyAxNS4zMjlDMTkuNzAyMyAxNi4wMzk2IDE5LjI5MzEgMTYuNjY4NiAxOC42OTggMTcuMDc5NkMxOC4xMDI5IDE3LjQ5MDcgMTcuMzY5OCAxNy42NTA4IDE2LjY1NzYgMTcuNTI1MkMxNS45NDUzIDE3LjM5OTYgMTUuMzExMSAxNi45OTg0IDE0Ljg5MjUgMTYuNDA4NkMxNC40NzM5IDE1LjgxODggMTQuMzA0NSAxNS4wODc4IDE0LjQyMSAxNC4zNzRMMTQuNjM3IDEzLjE0NEwyMC4wNTQgMTQuMDk4Wk0xOC4xNzggMS43MDQ5OUMyMC42NDIgMi4xMzg5OSAyMi4xOTYgNC44Mjk5OSAyMS43NjIgNy4yOTE5OUMyMS4zMjggOS43NTM5OSAyMC41NzUgMTEuMTQ0IDIwLjQwMiAxMi4xMjlMMTQuOTg1IDExLjE3NEwxNC43NTMgOS42MDk5OUMxNC41MjEgOC4wNDU5OSAxNC4yMDMgNi45NzM5OSAxNC4zNzYgNS45ODk5OUMxNC43MjMgNC4wMTk5OSAxNi4yMDggMS4zNTc5OSAxOC4xNzggMS43MDQ5OVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiRW5nYWdlcnNcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J2VuZ2FnZXJzJ1wiIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnZW5nYWdlcnMnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcgMjFWMTlDMTcgMTcuOTM5MSAxNi41Nzg2IDE2LjkyMTcgMTUuODI4NCAxNi4xNzE2QzE1LjA3ODMgMTUuNDIxNCAxNC4wNjA5IDE1IDEzIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0yMyAyMVYxOUMyMi45OTkzIDE4LjExMzcgMjIuNzA0NCAxNy4yNTI4IDIyLjE2MTQgMTYuNTUyM0MyMS42MTg0IDE1Ljg1MTkgMjAuODU4MSAxNS4zNTE2IDIwIDE1LjEzTTE2IDMuMTNDMTYuODYwNCAzLjM1MDMgMTcuNjIzIDMuODUwNyAxOC4xNjc2IDQuNTUyMzFDMTguNzEyMiA1LjI1MzkyIDE5LjAwNzggNi4xMTY4MyAxOS4wMDc4IDcuMDA1QzE5LjAwNzggNy44OTMxNyAxOC43MTIyIDguNzU2MDggMTguMTY3NiA5LjQ1NzY5QzE3LjYyMyAxMC4xNTkzIDE2Ljg2MDQgMTAuNjU5NyAxNiAxMC44OE0xMyA3QzEzIDkuMjA5MTQgMTEuMjA5MSAxMSA5IDExQzYuNzkwODYgMTEgNSA5LjIwOTE0IDUgN0M1IDQuNzkwODYgNi43OTA4NiAzIDkgM0MxMS4yMDkxIDMgMTMgNC43OTA4NiAxMyA3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiRW5nYWdlcnNcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNyAyMVYxOUMxNyAxNy45MzkxIDE2LjU3ODYgMTYuOTIxNyAxNS44Mjg0IDE2LjE3MTZDMTUuMDc4MyAxNS40MjE0IDE0LjA2MDkgMTUgMTMgMTVINUMzLjkzOTEzIDE1IDIuOTIxNzIgMTUuNDIxNCAyLjE3MTU3IDE2LjE3MTZDMS40MjE0MyAxNi45MjE3IDEgMTcuOTM5MSAxIDE5VjIxTTIzIDIxVjE5QzIyLjk5OTMgMTguMTEzNyAyMi43MDQ0IDE3LjI1MjggMjIuMTYxNCAxNi41NTIzQzIxLjYxODQgMTUuODUxOSAyMC44NTgxIDE1LjM1MTYgMjAgMTUuMTNNMTYgMy4xM0MxNi44NjA0IDMuMzUwMyAxNy42MjMgMy44NTA3IDE4LjE2NzYgNC41NTIzMUMxOC43MTIyIDUuMjUzOTIgMTkuMDA3OCA2LjExNjgzIDE5LjAwNzggNy4wMDVDMTkuMDA3OCA3Ljg5MzE3IDE4LjcxMjIgOC43NTYwOCAxOC4xNjc2IDkuNDU3NjlDMTcuNjIzIDEwLjE1OTMgMTYuODYwNCAxMC42NTk3IDE2IDEwLjg4TTEzIDdDMTMgOS4yMDkxNCAxMS4yMDkxIDExIDkgMTFDNi43OTA4NiAxMSA1IDkuMjA5MTQgNSA3QzUgNC43OTA4NiA2Ljc5MDg2IDMgOSAzQzExLjIwOTEgMyAxMyA0Ljc5MDg2IDEzIDdaXCIgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiUG90ZW50aWFsIEJ1eWVyc1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSAhPT0nUG90ZW50aWFsIEJ1eWVycydcIiAoY2xpY2spPVwiY2hhbmdlVmFsdWUoJ3BvdGVudGlhbEJ1eWVycycpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMC4wMDM5IDE4LjAwMkg0LjAwMzkxQzMuNDAzOTEgMTguMDAyIDMuMDAzOTEgMTcuNjAyIDMuMDAzOTEgMTcuMDAyVjcuMDAxOTVDMy4wMDM5MSA2LjQwMTk1IDMuNDAzOTEgNi4wMDE5NSA0LjAwMzkxIDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVYxNy4wMDJDMjEuMDAzOSAxNy42MDIgMjAuNjAzOSAxOC4wMDIgMjAuMDAzOSAxOC4wMDJaTTEyLjAwMzkgOC4wMDE5NUMxMC4zMDM5IDguMDAxOTUgOS4wMDM5MSA5LjgwMTk1IDkuMDAzOTEgMTIuMDAyQzkuMDAzOTEgMTQuMjAyIDEwLjMwMzkgMTYuMDAyIDEyLjAwMzkgMTYuMDAyQzEzLjcwMzkgMTYuMDAyIDE1LjAwMzkgMTQuMjAyIDE1LjAwMzkgMTIuMDAyQzE1LjAwMzkgOS44MDE5NSAxMy43MDM5IDguMDAxOTUgMTIuMDAzOSA4LjAwMTk1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjAwMzkgNi4wMDE5NUgyMC4wMDM5QzIwLjYwMzkgNi4wMDE5NSAyMS4wMDM5IDYuNDAxOTUgMjEuMDAzOSA3LjAwMTk1VjkuMDAxOTVDMTkuMzAzOSA5LjAwMTk1IDE4LjAwMzkgNy43MDE5NSAxOC4wMDM5IDYuMDAxOTVaTTYuMDAzOTEgNi4wMDE5NUg0LjAwMzkxQzMuNDAzOTEgNi4wMDE5NSAzLjAwMzkxIDYuNDAxOTUgMy4wMDM5MSA3LjAwMTk1VjkuMDAxOTVDNC43MDM5MSA5LjAwMTk1IDYuMDAzOTEgNy43MDE5NSA2LjAwMzkxIDYuMDAxOTVaTTIxLjAwMzkgMTcuMDAyVjE1LjAwMkMxOS4zMDM5IDE1LjAwMiAxOC4wMDM5IDE2LjMwMiAxOC4wMDM5IDE4LjAwMkgyMC4wMDM5QzIwLjYwMzkgMTguMDAyIDIxLjAwMzkgMTcuNjAyIDIxLjAwMzkgMTcuMDAyWk0zLjAwMzkxIDE1LjAwMlYxNy4wMDJDMy4wMDM5MSAxNy42MDIgMy40MDM5MSAxOC4wMDIgNC4wMDM5MSAxOC4wMDJINi4wMDM5MUM2LjAwMzkxIDE2LjMwMiA0LjcwMzkxIDE1LjAwMiAzLjAwMzkxIDE1LjAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIlBvdGVudGlhbCBCdXllcnNcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC4zXCIgZD1cIk0yMC4wMDM5IDE4LjAwMkg0LjAwMzkxQzMuNDAzOTEgMTguMDAyIDMuMDAzOTEgMTcuNjAyIDMuMDAzOTEgMTcuMDAyVjcuMDAxOTVDMy4wMDM5MSA2LjQwMTk1IDMuNDAzOTEgNi4wMDE5NSA0LjAwMzkxIDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVYxNy4wMDJDMjEuMDAzOSAxNy42MDIgMjAuNjAzOSAxOC4wMDIgMjAuMDAzOSAxOC4wMDJaTTEyLjAwMzkgOC4wMDE5NUMxMC4zMDM5IDguMDAxOTUgOS4wMDM5MSA5LjgwMTk1IDkuMDAzOTEgMTIuMDAyQzkuMDAzOTEgMTQuMjAyIDEwLjMwMzkgMTYuMDAyIDEyLjAwMzkgMTYuMDAyQzEzLjcwMzkgMTYuMDAyIDE1LjAwMzkgMTQuMjAyIDE1LjAwMzkgMTIuMDAyQzE1LjAwMzkgOS44MDE5NSAxMy43MDM5IDguMDAxOTUgMTIuMDAzOSA4LjAwMTk1WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xOC4wMDM5IDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVY5LjAwMTk1QzE5LjMwMzkgOS4wMDE5NSAxOC4wMDM5IDcuNzAxOTUgMTguMDAzOSA2LjAwMTk1Wk02LjAwMzkxIDYuMDAxOTVINC4wMDM5MUMzLjQwMzkxIDYuMDAxOTUgMy4wMDM5MSA2LjQwMTk1IDMuMDAzOTEgNy4wMDE5NVY5LjAwMTk1QzQuNzAzOTEgOS4wMDE5NSA2LjAwMzkxIDcuNzAxOTUgNi4wMDM5MSA2LjAwMTk1Wk0yMS4wMDM5IDE3LjAwMlYxNS4wMDJDMTkuMzAzOSAxNS4wMDIgMTguMDAzOSAxNi4zMDIgMTguMDAzOSAxOC4wMDJIMjAuMDAzOUMyMC42MDM5IDE4LjAwMiAyMS4wMDM5IDE3LjYwMiAyMS4wMDM5IDE3LjAwMlpNMy4wMDM5MSAxNS4wMDJWMTcuMDAyQzMuMDAzOTEgMTcuNjAyIDMuNDAzOTEgMTguMDAyIDQuMDAzOTEgMTguMDAySDYuMDAzOTFDNi4wMDM5MSAxNi4zMDIgNC43MDM5MSAxNS4wMDIgMy4wMDM5MSAxNS4wMDJaXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiTm9CIERlcml2ZWRcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J05vQiBEZXJpdmVkJ1wiIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnTm9CIERlcml2ZWQnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguMDAzOSAyMS42MDA1QzE2LjMwMzkgMjEuNjAwNSAxNS4wMDM5IDIwLjMwMDUgMTUuMDAzOSAxOC42MDA1VjIuNTAwNUMxNS4wMDM5IDIuMjAwNSAxNC42MDM5IDIuMDAwNDUgMTQuMzAzOSAyLjIwMDQ1TDEzLjAwMzkgMy42MDA0OEwxMS43MDM5IDIuMzAwNDlDMTEuMzAzOSAxLjkwMDQ5IDEwLjcwMzkgMS45MDA0OSAxMC4zMDM5IDIuMzAwNDlMOS4wMDM5MSAzLjYwMDQ4TDcuNzAzOTIgMi4zMDA0OUM3LjMwMzkyIDEuOTAwNDkgNi43MDM5IDEuOTAwNDkgNi4zMDM5IDIuMzAwNDlMNS4wMDM5MSAzLjYwMDQ4TDMuNzAzOTIgMi4zMDA0OUMzLjUwMzkyIDIuMTAwNDkgMy4wMDM5MSAyLjIwMDUgMy4wMDM5MSAzLjUwMDVWMTguNjAwNUMzLjAwMzkxIDIwLjMwMDUgNC4zMDM5MSAyMS42MDA1IDYuMDAzOTEgMjEuNjAwNUgxOC4wMDM5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjAwNTkgMTIuNTk3MkgxMS4wMDU5QzEwLjQwNTkgMTIuNTk3MiAxMC4wMDU5IDEyLjE5NzIgMTAuMDA1OSAxMS41OTcyQzEwLjAwNTkgMTAuOTk3MiAxMC40MDU5IDEwLjU5NzIgMTEuMDA1OSAxMC41OTcySDEyLjAwNTlDMTIuNjA1OSAxMC41OTcyIDEzLjAwNTkgMTAuOTk3MiAxMy4wMDU5IDExLjU5NzJDMTMuMDA1OSAxMi4xOTcyIDEyLjYwNTkgMTIuNTk3MiAxMi4wMDU5IDEyLjU5NzJaTTkuMDA1ODYgMTEuNTk3MkM5LjAwNTg2IDEwLjk5NzIgOC42MDU4NiAxMC41OTcyIDguMDA1ODYgMTAuNTk3Mkg2LjAwNTg2QzUuNDA1ODYgMTAuNTk3MiA1LjAwNTg2IDEwLjk5NzIgNS4wMDU4NiAxMS41OTcyQzUuMDA1ODYgMTIuMTk3MiA1LjQwNTg2IDEyLjU5NzIgNi4wMDU4NiAxMi41OTcySDguMDA1ODZDOC42MDU4NiAxMi41OTcyIDkuMDA1ODYgMTIuMTk3MiA5LjAwNTg2IDExLjU5NzJaTTkuMDA1ODYgNy41OTcxN0M5LjAwNTg2IDYuOTk3MTcgOC42MDU4NiA2LjU5NzE3IDguMDA1ODYgNi41OTcxN0g2LjAwNTg2QzUuNDA1ODYgNi41OTcxNyA1LjAwNTg2IDYuOTk3MTcgNS4wMDU4NiA3LjU5NzE3QzUuMDA1ODYgOC4xOTcxNyA1LjQwNTg2IDguNTk3MTcgNi4wMDU4NiA4LjU5NzE3SDguMDA1ODZDOC42MDU4NiA4LjU5NzE3IDkuMDA1ODYgOC4xOTcxNyA5LjAwNTg2IDcuNTk3MTdaTTEzLjAwNTkgNy41OTcxN0MxMy4wMDU5IDYuOTk3MTcgMTIuNjA1OSA2LjU5NzE3IDEyLjAwNTkgNi41OTcxN0gxMS4wMDU5QzEwLjQwNTkgNi41OTcxNyAxMC4wMDU5IDYuOTk3MTcgMTAuMDA1OSA3LjU5NzE3QzEwLjAwNTkgOC4xOTcxNyAxMC40MDU5IDguNTk3MTcgMTEuMDA1OSA4LjU5NzE3SDEyLjAwNTlDMTIuNjA1OSA4LjU5NzE3IDEzLjAwNTkgOC4xOTcxNyAxMy4wMDU5IDcuNTk3MTdaTTEzLjAwNTkgMTUuNTk3MkMxMy4wMDU5IDE0Ljk5NzIgMTIuNjA1OSAxNC41OTcyIDEyLjAwNTkgMTQuNTk3MkgxMC4wMDU5QzkuNDA1ODYgMTQuNTk3MiA5LjAwNTg2IDE0Ljk5NzIgOS4wMDU4NiAxNS41OTcyQzkuMDA1ODYgMTYuMTk3MiA5LjQwNTg2IDE2LjU5NzIgMTAuMDA1OSAxNi41OTcySDEyLjAwNTlDMTIuNjA1OSAxNi41OTcyIDEzLjAwNTkgMTYuMTk3MiAxMy4wMDU5IDE1LjU5NzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuMDAyIDE4LjU5NzFDMTUuMDAyIDIwLjI5NzEgMTYuMzAyIDIxLjU5NzEgMTguMDAyIDIxLjU5NzFDMTkuNzAyIDIxLjU5NzEgMjEuMDAyIDIwLjI5NzEgMjEuMDAyIDE4LjU5NzFWMTIuNDk3MUMyMS4wMDIgMTIuMTk3MSAyMC42MDIgMTEuOTk3MSAyMC4zMDIgMTIuMTk3MUwxOS4wMDIgMTMuNTk3MUwxNy43MDIgMTIuMjk3MUMxNy4zMDIgMTEuODk3MSAxNi43MDIgMTEuODk3MSAxNi4zMDIgMTIuMjk3MUwxNS4wMDIgMTMuNTk3MVYxOC41OTcxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiTm9CIERlcml2ZWRcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC4wMDM5IDIxLjYwMDVDMTYuMzAzOSAyMS42MDA1IDE1LjAwMzkgMjAuMzAwNSAxNS4wMDM5IDE4LjYwMDVWMi41MDA1QzE1LjAwMzkgMi4yMDA1IDE0LjYwMzkgMi4wMDA0NSAxNC4zMDM5IDIuMjAwNDVMMTMuMDAzOSAzLjYwMDQ4TDExLjcwMzkgMi4zMDA0OUMxMS4zMDM5IDEuOTAwNDkgMTAuNzAzOSAxLjkwMDQ5IDEwLjMwMzkgMi4zMDA0OUw5LjAwMzkxIDMuNjAwNDhMNy43MDM5MiAyLjMwMDQ5QzcuMzAzOTIgMS45MDA0OSA2LjcwMzkgMS45MDA0OSA2LjMwMzkgMi4zMDA0OUw1LjAwMzkxIDMuNjAwNDhMMy43MDM5MiAyLjMwMDQ5QzMuNTAzOTIgMi4xMDA0OSAzLjAwMzkxIDIuMjAwNSAzLjAwMzkxIDMuNTAwNVYxOC42MDA1QzMuMDAzOTEgMjAuMzAwNSA0LjMwMzkxIDIxLjYwMDUgNi4wMDM5MSAyMS42MDA1SDE4LjAwMzlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIuMDA1OSAxMi41OTcySDExLjAwNTlDMTAuNDA1OSAxMi41OTcyIDEwLjAwNTkgMTIuMTk3MiAxMC4wMDU5IDExLjU5NzJDMTAuMDA1OSAxMC45OTcyIDEwLjQwNTkgMTAuNTk3MiAxMS4wMDU5IDEwLjU5NzJIMTIuMDA1OUMxMi42MDU5IDEwLjU5NzIgMTMuMDA1OSAxMC45OTcyIDEzLjAwNTkgMTEuNTk3MkMxMy4wMDU5IDEyLjE5NzIgMTIuNjA1OSAxMi41OTcyIDEyLjAwNTkgMTIuNTk3MlpNOS4wMDU4NiAxMS41OTcyQzkuMDA1ODYgMTAuOTk3MiA4LjYwNTg2IDEwLjU5NzIgOC4wMDU4NiAxMC41OTcySDYuMDA1ODZDNS40MDU4NiAxMC41OTcyIDUuMDA1ODYgMTAuOTk3MiA1LjAwNTg2IDExLjU5NzJDNS4wMDU4NiAxMi4xOTcyIDUuNDA1ODYgMTIuNTk3MiA2LjAwNTg2IDEyLjU5NzJIOC4wMDU4NkM4LjYwNTg2IDEyLjU5NzIgOS4wMDU4NiAxMi4xOTcyIDkuMDA1ODYgMTEuNTk3MlpNOS4wMDU4NiA3LjU5NzE3QzkuMDA1ODYgNi45OTcxNyA4LjYwNTg2IDYuNTk3MTcgOC4wMDU4NiA2LjU5NzE3SDYuMDA1ODZDNS40MDU4NiA2LjU5NzE3IDUuMDA1ODYgNi45OTcxNyA1LjAwNTg2IDcuNTk3MTdDNS4wMDU4NiA4LjE5NzE3IDUuNDA1ODYgOC41OTcxNyA2LjAwNTg2IDguNTk3MTdIOC4wMDU4NkM4LjYwNTg2IDguNTk3MTcgOS4wMDU4NiA4LjE5NzE3IDkuMDA1ODYgNy41OTcxN1pNMTMuMDA1OSA3LjU5NzE3QzEzLjAwNTkgNi45OTcxNyAxMi42MDU5IDYuNTk3MTcgMTIuMDA1OSA2LjU5NzE3SDExLjAwNTlDMTAuNDA1OSA2LjU5NzE3IDEwLjAwNTkgNi45OTcxNyAxMC4wMDU5IDcuNTk3MTdDMTAuMDA1OSA4LjE5NzE3IDEwLjQwNTkgOC41OTcxNyAxMS4wMDU5IDguNTk3MTdIMTIuMDA1OUMxMi42MDU5IDguNTk3MTcgMTMuMDA1OSA4LjE5NzE3IDEzLjAwNTkgNy41OTcxN1pNMTMuMDA1OSAxNS41OTcyQzEzLjAwNTkgMTQuOTk3MiAxMi42MDU5IDE0LjU5NzIgMTIuMDA1OSAxNC41OTcySDEwLjAwNTlDOS40MDU4NiAxNC41OTcyIDkuMDA1ODYgMTQuOTk3MiA5LjAwNTg2IDE1LjU5NzJDOS4wMDU4NiAxNi4xOTcyIDkuNDA1ODYgMTYuNTk3MiAxMC4wMDU5IDE2LjU5NzJIMTIuMDA1OUMxMi42MDU5IDE2LjU5NzIgMTMuMDA1OSAxNi4xOTcyIDEzLjAwNTkgMTUuNTk3MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDBBM0ZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNS4wMDIgMTguNTk3MUMxNS4wMDIgMjAuMjk3MSAxNi4zMDIgMjEuNTk3MSAxOC4wMDIgMjEuNTk3MUMxOS43MDIgMjEuNTk3MSAyMS4wMDIgMjAuMjk3MSAyMS4wMDIgMTguNTk3MVYxMi40OTcxQzIxLjAwMiAxMi4xOTcxIDIwLjYwMiAxMS45OTcxIDIwLjMwMiAxMi4xOTcxTDE5LjAwMiAxMy41OTcxTDE3LjcwMiAxMi4yOTcxQzE3LjMwMiAxMS44OTcxIDE2LjcwMiAxMS44OTcxIDE2LjMwMiAxMi4yOTcxTDE1LjAwMiAxMy41OTcxVjE4LjU5NzFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMyBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgY29sLW1kLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiKGNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgIWdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c1ZhcmlhdGlvbilcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDlMNi43NSA0LjI1TDQuMjUgNi43NUwwLjUgM00xMS41IDlIOC41TTExLjUgOVY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycycgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c1ZhcmlhdGlvbilcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgY29sLW1kLTkgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdmb290ZmFsbCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdmb290ZmFsbCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPyBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgPyBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+LS0lPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhICE9PTBcIiAgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOT0IgJiYgY29udmVyc2lvblZhbHVlID09PSdOb0IgRGVyaXZlZCdcIiBjbGFzcz1cImNvbC1tZC0yIHB4LTAgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwibm9iVXBsb2FkKClcIj48c3ZnIHBsYWNlbWVudD1cInRvcFwiIG5nYlRvb2x0aXA9XCJVcGxvYWQgTm9CXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzYxNjBfNDM5NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIyOFwiIGhlaWdodD1cIjI4XCIgcng9XCI2LjIyMjIyXCIgZmlsbD1cIiNFQUY4RkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuMzg4ODlcIiB5PVwiMS4zODg4OVwiIHdpZHRoPVwiMjcuMjIyMlwiIGhlaWdodD1cIjI3LjIyMjJcIiByeD1cIjUuODMzMzNcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiMC43Nzc3NzhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF82MTYwXzQzOTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xOC41OTI5IDE3LjU5MjZMMTYuMDAwMyAxNU0xNi4wMDAzIDE1TDEzLjQwNzcgMTcuNTkyNk0xNi4wMDAzIDE1VjIwLjgzMzNNMjEuNDM4MiAxOS4xNDE3QzIyLjA3MDQgMTguNzk3IDIyLjU2OTggMTguMjUxNyAyMi44NTc2IDE3LjU5MTdDMjMuMTQ1NCAxNi45MzE3IDIzLjIwNTIgMTYuMTk0NyAyMy4wMjc2IDE1LjQ5NjlDMjIuODUgMTQuNzk5MiAyMi40NDUxIDE0LjE4MDQgMjEuODc2OCAxMy43Mzg0QzIxLjMwODUgMTMuMjk2MyAyMC42MDkyIDEzLjA1NiAxOS44ODkyIDEzLjA1NTZIMTkuMDcyNUMxOC44NzYzIDEyLjI5NjcgMTguNTEwNyAxMS41OTIzIDE4LjAwMyAxMC45OTUxQzE3LjQ5NTQgMTAuMzk3OSAxNi44NTkgOS45MjM2MiAxNi4xNDE2IDkuNjA3ODJDMTUuNDI0MyA5LjI5MjAxIDE0LjY0NDcgOS4xNDI5MyAxMy44NjE1IDkuMTcxNzlDMTMuMDc4MiA5LjIwMDY1IDEyLjMxMTcgOS40MDY2OSAxMS42MTk2IDkuNzc0NDNDMTAuOTI3NCAxMC4xNDIyIDEwLjMyNzYgMTAuNjYyIDkuODY1MzEgMTEuMjk0OUM5LjQwMjk5IDExLjkyNzggOS4wOTAxNiAxMi42NTczIDguOTUwMzUgMTMuNDI4NUM4LjgxMDU0IDE0LjE5OTcgOC44NDczOCAxNC45OTI2IDkuMDU4MSAxNS43NDc1QzkuMjY4ODEgMTYuNTAyNCA5LjY0NzkzIDE3LjE5OTcgMTAuMTY2OSAxNy43ODcxXCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuMjk4ODlcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzYxNjBfNDM5NFwiIHg9XCIwLjQ0NDQ0NFwiIHk9XCIwLjIyMjIyMlwiIHdpZHRoPVwiMzEuMTExMVwiIGhlaWdodD1cIjMxLjExMTFcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMC43Nzc3NzhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjAuNzc3Nzc4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzYxNjBfNDM5NFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzYxNjBfNDM5NFwiIHJlc3VsdD1cInNoYXBlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzYxNjBfNDM5NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTUuNTU1NlwiIGhlaWdodD1cIjE1LjU1NTZcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC4yMjI2NiA3LjIyMjIzKVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgIFtuZ2JUb29sdGlwXT1cImJvdW5jZWRUb29sdGlwXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldEJvdW5jZWRDYXJkRGF0YT8uY2FyZD8uYm91bmNlZD8ucmF0ZSA/IGdldEJvdW5jZWRDYXJkRGF0YT8uY2FyZD8uYm91bmNlZD8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkJvdW5jZWQgUmF0ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvdW5jZWRUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+Qm91bmNlZCBSYXRlPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB3YWxrLWlucyB3aG8gc3BlbnQgbGVzcyB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiQm91bmNlZFJhdGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPyBnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgIFtuZ2JUb29sdGlwXT1cImVuZ2FnZXJzVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldEVuZ2FnZXJzQ2FyZERhdGE/LmNhcmQ/LmVuZ2FnZXJzPy5yYXRlID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uY2FyZD8uZW5nYWdlcnM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5FbmdhZ2VycyBSYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW5nYWdlcnNUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+RW5nYWdlcnMgUmF0ZTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VG90YWwgd2Fsay1pbnMgd2hvIHNwZW50IG1vcmUgdGhhbiB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlfX0gbWlucyBpbnRvIHRoZSBzZWxlY3RlZCBzdG9yZXMuPC9wPiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVuZ2FnZXJzTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFlbmdhZ2Vyc05vZGF0YVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImVuZ2FnZXJzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEVuZ2FnZXJzQ2FyZERhdGE/LmRhdGE/LmVuZ2FnZXJzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNEYXRhID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwibWlzc2VkVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCIgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI21pc3NlZFRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5NaXNzZWQgT3Bwb3J0dW5pdGllczwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gPHNwYW4gKm5nSWY9XCJjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nIHx8IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdncm91cC1jb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSAnZW5nYWdlcnMtY29udmVyc2lvbicgPyAnZW5nYWdlcnMgYW5kIGNvbnZlcnNpb25zLCcgOiAncG90ZW50aWFsIGFuZCBjb252ZXJzaW9ucywnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93aW5nIHBvdGVudGlhbCBsb3NzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgaC05MHB4IG10LTMgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy5jdXJyZW5jeSA9PT0nZG9sbGFyJ1wiPjxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj48c3BhbiBjbGFzcz1cIm1lLTFcIj4kPC9zcGFuPiB7e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8udmFsdWUudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgPz8gJy0tJ319PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy5jdXJyZW5jeSA9PT0nYWVkJ1wiPiA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+2K8u2KU8L3NwYW4+IHt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA/PyAnLS0nfX08L3NwYW4+PC9kaXY+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTJcIiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8uY3VycmVuY3kgPT09J2lucidcIj4gPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlcjFcIiAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9udC1zaXplJzogKGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8udmFsdWUudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJyk/Lmxlbmd0aCA+IDYgPyAnMThweCcgOiAnMjBweCcpfVwiPjxzcGFuIGNsYXNzPVwibWUtMVwiPuKCuTwvc3Bhbj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8udmFsdWUudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgPz8gJy0tJ319PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMVwiPjxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPlBvdGVudGlhbCBMb3NzIFJldmVudWU8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgbXQtNVwiID48c3ZnIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZ29Ub0xvc3MoKVwiICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8zODg1XzI1MzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgcng9XCI4XCIgZmlsbD1cIiNFQUY4RkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzg4NV8yNTMxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNy40NTg1IDE3LjIyNTFDMjcuODEzMyAxOC44NTU2IDI3LjY3MDcgMjAuNTYxNCAyNy4wNTA1IDIyLjEwMjdMMjUuODU5MyAyMS4zODM4TDI2LjAxNyAyNi4wOTdMMzAgMjMuODgzNEwyOC43MTcgMjMuMTA4NkMzMC43MTcxIDE4LjQ4MjMgMjkuMDcyNiAxMi45MzMzIDI0Ljc3OTkgMTAuMzQwN0MyMy4zMzI4IDkuNDY2MzMgMjEuNjkxOCA5LjAwNDA2IDIwLjAyMDYgOS4wMDAwM0MxOC4zNDk0IDguOTk1OTkgMTYuNzA2NCA5LjQ1MDMzIDE1LjI1NTUgMTAuMzE3N0wxNi4yMDQ5IDEyLjA1NDRDMTcuNTkzMyAxMS4yMjQ5IDE5LjE5NTMgMTAuODcxMiAyMC43ODU4IDExLjA0M0MyMi4zNzY0IDExLjIxNDkgMjMuODc1NCAxMS45MDM2IDI1LjA3MjMgMTMuMDEyNUMyNi4yNjkyIDE0LjEyMTQgMjcuMTAzNyAxNS41OTQ2IDI3LjQ1ODUgMTcuMjI1MVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNTQwMiAyMC43NzU5QzEyLjE4NTQgMTkuMTQ1MiAxMi4zMjgyIDE3LjQzOTIgMTIuOTQ4NSAxNS44OTc4TDE0LjEzOTggMTYuNjE2N0wxMy45ODIgMTEuOTAzNUwxMCAxNC4xMTgxTDExLjI4MyAxNC44OTA5QzkuMjgxOTkgMTkuNTE4MiAxMC45MjY0IDI1LjA2NjIgMTUuMjE5MiAyNy42NTg4QzE2LjY2NjEgMjguNTMzMyAxOC4zMDcxIDI4Ljk5NTggMTkuOTc4MyAyOUMyMS42NDk1IDI5LjAwNDIgMjMuMjkyNiAyOC41NSAyNC43NDM1IDI3LjY4MjhMMjMuNzk1MSAyNS45NDYxQzIyLjQwNjcgMjYuNzc2IDIwLjgwNDUgMjcuMTMgMTkuMjEzOCAyNi45NTgzQzE3LjYyMyAyNi43ODY3IDE2LjEyMzcgMjYuMDk3OSAxNC45MjY3IDI0Ljk4OUMxMy43Mjk2IDIzLjg4IDEyLjg5NSAyMi40MDY2IDEyLjU0MDIgMjAuNzc1OVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yMS4wMzcyIDEzLjAwM0MyMS4wMzcyIDEyLjU1MTQgMjAuNjg3MSAxMi4xODUyIDIwLjI1NTIgMTIuMTg1MkMxOS44MjM0IDEyLjE4NTIgMTkuNDczMyAxMi41NTE0IDE5LjQ3MzMgMTMuMDAzVjE0LjM2NTlIMTguOTUyQzE4LjI2MDcgMTQuMzY1OSAxNy41OTc4IDE0LjY1MyAxNy4xMDkgMTUuMTY0MkMxNi42MjAxIDE1LjY3NTQgMTYuMzQ1NSAxNi4zNjg3IDE2LjM0NTUgMTcuMDkxNkMxNi4zNDU1IDE3LjgxNDYgMTYuNjIwMSAxOC41MDc5IDE3LjEwOSAxOS4wMTkxQzE3LjU5NzggMTkuNTMwMiAxOC4yNjA3IDE5LjgxNzQgMTguOTUyIDE5LjgxNzRIMTkuNDczM1YyMS45OThIMTcuMTI3NUMxNi42OTU2IDIxLjk5OCAxNi4zNDU1IDIyLjM2NDEgMTYuMzQ1NSAyMi44MTU4QzE2LjM0NTUgMjMuMjY3NCAxNi42OTU2IDIzLjYzMzUgMTcuMTI3NSAyMy42MzM1SDE5LjQ3MzNWMjQuOTk2NEMxOS40NzMzIDI1LjQ0OCAxOS44MjM0IDI1LjgxNDEgMjAuMjU1MiAyNS44MTQxQzIwLjY4NzEgMjUuODE0MSAyMS4wMzcyIDI1LjQ0OCAyMS4wMzcyIDI0Ljk5NjRWMjMuNjMzNUgyMS41NTg1QzIyLjI0OTggMjMuNjMzNSAyMi45MTI3IDIzLjM0NjMgMjMuNDAxNSAyMi44MzUxQzIzLjg5MDMgMjIuMzI0IDI0LjE2NDkgMjEuNjMwNiAyNC4xNjQ5IDIwLjkwNzdDMjQuMTY0OSAyMC4xODQ4IDIzLjg5MDMgMTkuNDkxNSAyMy40MDE1IDE4Ljk4MDNDMjIuOTEyNyAxOC40NjkxIDIyLjI0OTggMTguMTgyIDIxLjU1ODUgMTguMTgySDIxLjAzNzJWMTYuMDAxM0gyMi44NjE3QzIzLjI5MzYgMTYuMDAxMyAyMy42NDM3IDE1LjYzNTIgMjMuNjQzNyAxNS4xODM2QzIzLjY0MzcgMTQuNzMyIDIzLjI5MzYgMTQuMzY1OSAyMi44NjE3IDE0LjM2NTlIMjEuMDM3MlYxMy4wMDNaTTE4Ljk1MiAxNi4wMDEzSDE5LjQ3MzNWMTguMTgySDE4Ljk1MkMxOC42NzU1IDE4LjE4MiAxOC40MTAzIDE4LjA2NzEgMTguMjE0OCAxNy44NjI2QzE4LjAxOTMgMTcuNjU4MSAxNy45MDk0IDE3LjM4MDggMTcuOTA5NCAxNy4wOTE2QzE3LjkwOTQgMTYuODAyNSAxOC4wMTkzIDE2LjUyNTIgMTguMjE0OCAxNi4zMjA3QzE4LjQxMDMgMTYuMTE2MiAxOC42NzU1IDE2LjAwMTMgMTguOTUyIDE2LjAwMTNaTTIxLjAzNzIgMjEuOTk4VjE5LjgxNzRIMjEuNTU4NUMyMS44MzUgMTkuODE3NCAyMi4xMDAyIDE5LjkzMjMgMjIuMjk1NyAyMC4xMzY4QzIyLjQ5MTIgMjAuMzQxMiAyMi42MDExIDIwLjYxODYgMjIuNjAxMSAyMC45MDc3QzIyLjYwMTEgMjEuMTk2OSAyMi40OTEyIDIxLjQ3NDIgMjIuMjk1NyAyMS42Nzg3QzIyLjEwMDIgMjEuODgzMiAyMS44MzUgMjEuOTk4IDIxLjU1ODUgMjEuOTk4SDIxLjAzNzJaXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMzg4NV8yNTMxXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzM4ODVfMjUzMVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMzg4NV8yNTMxXCIgcmVzdWx0PVwic2hhcGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4ODVfMjUzMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIDkpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMyMTZfMTE4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uZGF0YT8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uZGF0YT8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uZGF0YT8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8uUHJldmlvdXNEYXRhID8gZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBtYi01IHB5LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTkwcHggbXQtMyBteC0zXCIgW25nYlRvb2x0aXBdPVwiZHdlbGxUb29sdGlwXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTMgZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MVwiIHZpZXdCb3g9XCIwIDAgNDAgNDFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNEQUYxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE3LjYzODIgMTIuODkyMkMxNy42MzgyIDEyLjY4MzUgMTcuNzIxMiAxMi40ODMzIDE3Ljg2ODggMTIuMzM1N0MxOC4wMTY0IDEyLjE4ODEgMTguMjE2NSAxMi4xMDUyIDE4LjQyNTMgMTIuMTA1MkgyMS41NzM0QzIxLjc4MjIgMTIuMTA1MiAyMS45ODIzIDEyLjE4ODEgMjIuMTI5OSAxMi4zMzU3QzIyLjI3NzUgMTIuNDgzMyAyMi4zNjA1IDEyLjY4MzUgMjIuMzYwNSAxMi44OTIyQzIyLjM2MDUgMTMuMTAwOSAyMi4yNzc1IDEzLjMwMTEgMjIuMTI5OSAxMy40NDg3QzIxLjk4MjMgMTMuNTk2MyAyMS43ODIyIDEzLjY3OTIgMjEuNTczNCAxMy42NzkySDIwLjc4NjRWMTQuNzI4NkwyMC43ODUzIDE0Ljc3MTZDMjIuMTE1NiAxNC45MTc0IDIzLjM3NjcgMTUuNDM5OCAyNC40MjA0IDE2LjI3NzVMMjQuNDI3NyAxNi4yNzEyTDI1LjIxNDggMTUuNDg0MkMyNS4zMTEgMTUuMzgwNiAyNS40MzMzIDE1LjMwNDggMjUuNTY5IDE1LjI2NDlDMjUuNzA0NiAxNS4yMjUxIDI1Ljg0ODUgMTUuMjIyNSAyNS45ODU1IDE1LjI1NzVDMjYuMTIyNCAxNS4yOTI1IDI2LjI0NzQgMTUuMzYzOCAyNi4zNDcyIDE1LjQ2MzlDMjYuNDQ3MSAxNS41NjQgMjYuNTE4MSAxNS42ODkyIDI2LjU1MjcgMTUuODI2M0MyNi41ODc3IDE1Ljk2MzEgMjYuNTg1MiAxNi4xMDY4IDI2LjU0NTUgMTYuMjQyM0MyNi41MDU4IDE2LjM3NzggMjYuNDMwNCAxNi41MDAyIDI2LjMyNzEgMTYuNTk2NUwyNS41NDAxIDE3LjM4MzZMMjUuNTMzOCAxNy4zOTA5QzI2LjM2NjIgMTguNDMzMSAyNi44ODc1IDE5LjY4OTEgMjcuMDM3NyAyMS4wMTQ0QzI3LjE4NzggMjIuMzM5NyAyNi45NjA3IDIzLjY4MDUgMjYuMzgyNCAyNC44ODI1QzI1LjgwNDIgMjYuMDg0NSAyNC44OTgzIDI3LjA5ODcgMjMuNzY5MSAyNy44MDg2QzIyLjYzOTkgMjguNTE4NCAyMS4zMzMyIDI4Ljg5NSAxOS45OTkzIDI4Ljg5NUMxOC42NjU1IDI4Ljg5NSAxNy4zNTg4IDI4LjUxODQgMTYuMjI5NiAyNy44MDg2QzE1LjEwMDQgMjcuMDk4NyAxNC4xOTQ1IDI2LjA4NDUgMTMuNjE2MyAyNC44ODI1QzEzLjAzOCAyMy42ODA1IDEyLjgxMDkgMjIuMzM5NyAxMi45NjEgMjEuMDE0NEMxMy4xMTEyIDE5LjY4OTEgMTMuNjMyNSAxOC40MzMxIDE0LjQ2NDkgMTcuMzkwOUwxNC40NTg2IDE3LjM4MzZMMTMuNjcxNiAxNi41OTY1QzEzLjUzMjQgMTYuNDQ3NCAxMy40NTY2IDE2LjI1IDEzLjQ2MDEgMTYuMDQ2QzEzLjQ2MzYgMTUuODQyIDEzLjU0NjIgMTUuNjQ3MyAxMy42OTA1IDE1LjUwMzFDMTMuODM0NyAxNS4zNTg4IDE0LjAyOTQgMTUuMjc2MiAxNC4yMzM0IDE1LjI3MjdDMTQuNDM3NCAxNS4yNjkyIDE0LjYzNDggMTUuMzQ1IDE0Ljc4MzkgMTUuNDg0MkwxNS41NzEgMTYuMjcxMkwxNS41NzgzIDE2LjI3NzVDMTYuNjIxNyAxNS40NCAxNy44ODI0IDE0LjkxNzYgMTkuMjEyMyAxNC43NzE2VjEzLjY3OTJIMTguNDI1M0MxOC4yMTY1IDEzLjY3OTIgMTguMDE2NCAxMy41OTYzIDE3Ljg2ODggMTMuNDQ4N0MxNy43MjEyIDEzLjMwMTEgMTcuNjM4MiAxMy4xMDA5IDE3LjYzODIgMTIuODkyMlpNMTkuOTk5MyAyNy4zMjEyQzIxLjQ2MDYgMjcuMzIxMSAyMi44NjIgMjYuNzQwNCAyMy44OTUyIDI1LjcwNzFDMjQuOTI4NCAyNC42NzM3IDI1LjUwODcgMjMuMjcyMiAyNS41MDg2IDIxLjgxMDlDMjUuNTA4NSAyMC4zNDk2IDI0LjkyNzggMTguOTQ4MiAyMy44OTQ1IDE3LjkxNUMyMi44NjExIDE2Ljg4MTkgMjEuNDU5NiAxNi4zMDE1IDE5Ljk5ODMgMTYuMzAxNkMxOC41MzcgMTYuMzAxOCAxNy4xMzU2IDE2Ljg4MjQgMTYuMTAyNSAxNy45MTU4QzE1LjA2OTMgMTguOTQ5MiAxNC40ODg5IDIwLjM1MDcgMTQuNDg5IDIxLjgxMTlDMTQuNDg5MiAyMy4yNzMyIDE1LjA2OTggMjQuNjc0NiAxNi4xMDMyIDI1LjcwNzhDMTcuMTM2NiAyNi43NDEgMTguNTM4MSAyNy4zMjEzIDE5Ljk5OTMgMjcuMzIxMlpNMjAuNDA3NiAyMC4yOTAzTDIxLjgwMzIgMTguODk0N0MyMS44NzU4IDE4LjgxOTUgMjEuOTYyNiAxOC43NTk1IDIyLjA1ODYgMTguNzE4MkMyMi4xNTQ2IDE4LjY3NjkgMjIuMjU3OSAxOC42NTUxIDIyLjM2MjQgMTguNjU0MkMyMi40NjY5IDE4LjY1MzIgMjIuNTcwNSAxOC42NzMxIDIyLjY2NzMgMTguNzEyNkMyMi43NjQgMTguNzUyMSAyMi44NTE5IDE4LjgxMDUgMjIuOTI1OSAxOC44ODQ0QzIyLjk5OTggMTguOTU4MiAyMy4wNTgzIDE5LjA0NjEgMjMuMDk3OSAxOS4xNDI4QzIzLjEzNzUgMTkuMjM5NSAyMy4xNTc1IDE5LjM0MzEgMjMuMTU2NiAxOS40NDc2QzIzLjE1NTcgMTkuNTUyMSAyMy4xMzQxIDE5LjY1NTQgMjMuMDkyOSAxOS43NTE1QzIzLjA1MTcgMTkuODQ3NSAyMi45OTE4IDE5LjkzNDQgMjIuOTE2NiAyMC4wMDdMMjEuNTIxIDIxLjQwMzdDMjEuNTgzIDIxLjYzNzEgMjEuNTkwNiAyMS44ODE1IDIxLjU0MzIgMjIuMTE4MkMyMS40OTU4IDIyLjM1NSAyMS4zOTQ4IDIyLjU3NzcgMjEuMjQ3OCAyMi43NjkyQzIxLjEwMDggMjIuOTYwNyAyMC45MTE4IDIzLjExNTkgMjAuNjk1MyAyMy4yMjI4QzIwLjQ3ODkgMjMuMzI5OCAyMC4yNDA4IDIzLjM4NTYgMTkuOTk5MyAyMy4zODZDMTkuNzc2NiAyMy4zODQxIDE5LjU1NjcgMjMuMzM0OSAxOS4zNTQ0IDIzLjI0MTZDMTkuMTUyMSAyMy4xNDgzIDE4Ljk3MTggMjMuMDEzMSAxOC44MjU3IDIyLjg0NUMxOC42Nzk1IDIyLjY3NjggMTguNTcwNyAyMi40Nzk2IDE4LjUwNjYgMjIuMjY2MkMxOC40NDI0IDIyLjA1MjggMTguNDI0MyAyMS44MjgzIDE4LjQ1MzQgMjEuNjA3NEMxOC40ODI1IDIxLjM4NjUgMTguNTU4MiAyMS4xNzQzIDE4LjY3NTUgMjAuOTg0OUMxOC43OTI4IDIwLjc5NTUgMTguOTQ5IDIwLjYzMzIgMTkuMTMzOCAyMC41MDg2QzE5LjMxODUgMjAuMzg0MSAxOS41Mjc2IDIwLjMwMDMgMTkuNzQ3MiAyMC4yNjI2QzE5Ljk2NjggMjAuMjI1IDIwLjE5MTkgMjAuMjM0NCAyMC40MDc2IDIwLjI5MDNaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGhlYWRlclwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEd2VsbFRpbWUgPT09IDBcIj4wIG1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGhlYWRlclwiICAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRHdlbGxUaW1lICE9PSAwXCI+e3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0R3ZWxsVGltZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRHdlbGxUaW1lIDonLS0nfX0gbWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnIER3ZWxsIFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2R3ZWxsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkF2ZyBEd2VsbCBUaW1lPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5BdmVyYWdlIHRpbWUgc3BlbnQgYnkgZW5nYWdlcnMgaW4gdGhlIHNlbGVjdGVkIHN0b3Jlcy48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBweS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIGgtOTBweCBtdC0zIG14LTNcIiAgW25nYlRvb2x0aXBdPVwiZG93blRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDFcIiB2aWV3Qm94PVwiMCAwIDQwIDQxXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjREFGMUZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMS45MDA0IDEyLjE2NzVDMjIuOTk1OCAxMi4xNjc1IDI0LjA0MjMgMTIuMzkxOCAyNC45OTc3IDEyLjc5ODdDMjUuOTg4OSAxMy4yMjA3IDI2Ljg4MDkgMTMuODQwMiAyNy42Mjc5IDE0LjYwODdDMjguMzczNCAxNS4zNzU2IDI4Ljk3NTYgMTYuMjkzMSAyOS4zODU3IDE3LjMxNjJDMjkuNzgxMyAxOC4yOTkgMjkuOTk5MyAxOS4zNzU2IDI5Ljk5OTMgMjAuNTAwOEMyOS45OTkzIDIxLjYyNzcgMjkuNzgxMyAyMi43MDQzIDI5LjM4NTcgMjMuNjg3MUMyOC45NzU2IDI0LjcwNjggMjguMzczNCAyNS42MjQ0IDI3LjYyNjMgMjYuMzkyOUMyNi44ODA5IDI3LjE1OTggMjUuOTg4OSAyNy43NzkzIDI0Ljk5NDUgMjguMjAxMkMyNC4wMzkxIDI4LjYwODEgMjIuOTkyNSAyOC44MzI1IDIxLjg5ODggMjguODMyNUMyMC44MDM0IDI4LjgzMjUgMTkuNzU2OCAyOC42MDgxIDE4LjgwMTQgMjguMjAxMkMxNy44MTAyIDI3Ljc3OTMgMTYuOTE4MyAyNy4xNTk4IDE2LjE3MjkgMjYuMzkyOUwxNi4xNzEyIDI2LjM5MTJDMTUuNDI0MiAyNS42MjI3IDE0LjgyMzYgMjQuNzA1MiAxNC40MTM0IDIzLjY4NzFDMTQuMjg2NSAyMy4zNzA3IDE0LjE3NzQgMjMuMDQ1OSAxNC4wODc5IDIyLjcxMjdDMTQuMjU3MiAyMi43Mjk0IDE0LjQyOTcgMjIuNzM3OCAxNC42MDM4IDIyLjczNzhDMTQuOTM0MiAyMi43Mzc4IDE1LjI1NjUgMjIuNzA3NiAxNS41NzA2IDIyLjY0OUMxNS42MjI3IDIyLjgwOTggMTUuNjc5NyAyMi45Njg4IDE1Ljc0MTUgMjMuMTI0NkMxNi4wNzg1IDIzLjk2MTcgMTYuNTczMiAyNC43MTUyIDE3LjE4ODUgMjUuMzQ4MUMxNy44MDM3IDI1Ljk4MSAxOC41Mzc4IDI2LjQ5IDE5LjM0OTkgMjYuODM2NkMyMC4xMzI4IDI3LjE2OTggMjAuOTkzOCAyNy4zNTU3IDIxLjg5ODggMjcuMzU1N0MyMi44MDM3IDI3LjM1NTcgMjMuNjYzMSAyNy4xNzE1IDI0LjQ0NzYgMjYuODM2NkMyNS4yNjE0IDI2LjQ5IDI1Ljk5MzggMjUuOTgxIDI2LjYwOTEgMjUuMzQ4MUMyNy4yMjQzIDI0LjcxNTIgMjcuNzE5MSAyMy45NjAxIDI4LjA1NiAyMy4xMjQ2QzI4LjM3OTkgMjIuMzE5MiAyOC41NjA1IDIxLjQzMzQgMjguNTYwNSAyMC41MDI1QzI4LjU2MDUgMTkuNTcxNSAyOC4zODE1IDE4LjY4NzUgMjguMDU2IDE3Ljg4MDRDMjcuNzE5MSAxNy4wNDMyIDI3LjIyNDMgMTYuMjg5OCAyNi42MDkxIDE1LjY1NjlDMjUuOTkzOCAxNS4wMjQgMjUuMjU5OCAxNC41MTQ5IDI0LjQ0NzYgMTQuMTY4NEMyMy42NjQ3IDEzLjgzNTIgMjIuODAzNyAxMy42NDkzIDIxLjg5ODggMTMuNjQ5M0MyMC45OTM4IDEzLjY0OTMgMjAuMTM0NCAxMy44MzM1IDE5LjM0OTkgMTQuMTY4NEMxOS4yNzk5IDE0LjE5ODUgMTkuMjEgMTQuMjMwMyAxOS4xNDE2IDE0LjI2MjFDMTguODc0NyAxMy44MzAxIDE4LjU1MjQgMTMuNDM4MyAxOC4xODI5IDEzLjA5ODRDMTguMzg0OCAxMi45OTEzIDE4LjU5MTUgMTIuODkyNSAxOC44MDE0IDEyLjgwMjFDMTkuNzYwMSAxMi4zOTE4IDIwLjgwNSAxMi4xNjc1IDIxLjkwMDQgMTIuMTY3NVpNMjAuOTcxIDE2LjUzOTNDMjAuOTcxIDE2LjMzNSAyMS4wNTI0IDE2LjE1MDggMjEuMTgxIDE2LjAxNjlDMjEuMzExMiAxNS44ODI5IDIxLjQ5MDIgMTUuODAwOSAyMS42ODg4IDE1LjgwMDlDMjEuODg3NCAxNS44MDA5IDIyLjA2NjQgMTUuODgyOSAyMi4xOTY2IDE2LjAxNjlDMjIuMzI2OCAxNi4xNTA4IDIyLjQwNjYgMTYuMzM1IDIyLjQwNjYgMTYuNTM5M1YyMC40MjcxTDI1LjIzMDUgMjIuMTUwMUMyNS4zOTk3IDIyLjI1MzkgMjUuNTEzNyAyMi40MTk2IDI1LjU1OTIgMjIuNjAyMUMyNS42MDQ4IDIyLjc4NDcgMjUuNTgzNyAyMi45ODU2IDI1LjQ4MjcgMjMuMTU5N1YyMy4xNjE0QzI1LjM4MTggMjMuMzM1NSAyNS4yMjA3IDIzLjQ1MjcgMjUuMDQzMyAyMy40OTk2QzI0Ljg2NTkgMjMuNTQ2NSAyNC42NzA2IDIzLjUyNDcgMjQuNTAxMyAyMy40MjA5SDI0LjQ5OTdMMjEuMzQwNSAyMS40OTM3QzIxLjIzMTQgMjEuNDMxOCAyMS4xNDE5IDIxLjM0MTMgMjEuMDc2OCAyMS4yMzQyQzIxLjAxMDEgMjEuMTIyIDIwLjk3MSAyMC45ODk3IDIwLjk3MSAyMC44NDkxVjE2LjUzOTNaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTQuMzkxMyAxMi42MDk1QzE2LjgxNjQgMTIuNjA5NSAxOC43ODI2IDE0LjYzMjEgMTguNzgyNiAxNy4xMjY5QzE4Ljc4MjYgMTkuNjIxOCAxNi44MTY0IDIxLjY0NDQgMTQuMzkxMyAyMS42NDQ0QzExLjk2NjEgMjEuNjQ0NCAxMCAxOS42MjE4IDEwIDE3LjEyNjlDMTAgMTQuNjMyMSAxMS45NjYxIDEyLjYwOTUgMTQuMzkxMyAxMi42MDk1Wk0xNC4zOTEzIDE5LjcxNzJMMTYuNzQ4IDE2LjcyMDFIMTUuMjg0OFYxNS4xMjYxSDEzLjQ5NzdWMTYuNzIwMUgxMi4wMzQ1TDE0LjM5MTMgMTkuNzE3MlpcIiBmaWxsPVwiI0YwNDQzOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0Rvd25UaW1lID09PSAwXCI+MCBtaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEb3duVGltZSAhPT0gMFwiPnt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEb3duVGltZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRG93blRpbWUgOictLSd9fSBtaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnIERvd24gVGltZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rvd25Ub29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5BdmcgRG93biBUaW1lPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QXZlcmFnZSBjYW1lcmEgJiBuZXR3b3JrIGRvd250aW1lIGZvciB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib3JkZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiIFtuZ2JUb29sdGlwXT1cInBvdGVudGlhbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmNhcmQ/LnBvdGVudGlhbEJ1eWVycz8ucmF0ZSA/IGdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5jYXJkPy5wb3RlbnRpYWxCdXllcnM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgXCI+UG90ZW50aWFsIEJ1eWVyczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3BvdGVudGlhbFRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5Qb3RlbnRpYWwgQnV5ZXJzPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5OdW1iZXIgb2YgZ3JvdXBzIGVudGVyaW5nIHRoZSBzdG9yZS48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicG90ZW50aWFsTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFwb3RlbnRpYWxOb2RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJQb3RlbnRpYWxCdXllcnNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzRGF0YSA/IGdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMTAgOEw2IDRcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC04IG10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwicG90ZW50aWFsQnV5ZXJUb29sdGlwXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj5Qb3RlbnRpYWwgQnV5ZXIgRGlzdHJpYnV0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+Q2F0ZWdvcnktd2lzZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz4gICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3BvdGVudGlhbEJ1eWVyVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPlBvdGVudGlhbCBCdXllciBEaXN0cmlidXRpb248L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPkF2ZXJhZ2UgZ3JvdXAgc2l6ZSwgYWxvbmcgd2l0aCB0aGUgY291bnQgb2YgaW5kaXZpZHVhbHMgdmVyc3VzIGdyb3VwcyBlbnRlcmluZyB0aGUgc3RvcmUuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTAgIG10LTcgbWItM1wiPjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjVcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjUgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIwLjI1IDIxVjE5QzIwLjI1IDE3LjkzOTEgMTkuODI4NiAxNi45MjE3IDE5LjA3ODQgMTYuMTcxNkMxOC4zMjgzIDE1LjQyMTQgMTcuMzEwOSAxNSAxNi4yNSAxNUg4LjI1QzcuMTg5MTMgMTUgNi4xNzE3MiAxNS40MjE0IDUuNDIxNTcgMTYuMTcxNkM0LjY3MTQzIDE2LjkyMTcgNC4yNSAxNy45MzkxIDQuMjUgMTlWMjFNMTYuMjUgN0MxNi4yNSA5LjIwOTE0IDE0LjQ1OTEgMTEgMTIuMjUgMTFDMTAuMDQwOSAxMSA4LjI1IDkuMjA5MTQgOC4yNSA3QzguMjUgNC43OTA4NiAxMC4wNDA5IDMgMTIuMjUgM0MxNC40NTkxIDMgMTYuMjUgNC43OTA4NiAxNi4yNSA3WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LmNvdW50ICE9PSAwXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXQtMiBtcy0xXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJyk6Jy0tJ319PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LmNvdW50ID09PSAwXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXQtMiBtcy0xXCI+MDwvc3Bhbj48c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIgbXMtMVwiPlNpbmdsZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG1zLTE1IG1iLTNcIj48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgd2Vlay1mb250XCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uYWdlR3JvdXAgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uYWdlR3JvdXA6Jy0tJ319IGFnZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDlMNi43NSA0LjI1TDQuMjUgNi43NUwwLjUgM00xMS41IDlIOC41TTExLjUgOVY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMyMTZfMTE4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNEYXRhID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHB4LTAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG1zLTEwIG10LTcgbWItM1wiPjxzcGFuPiA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCIgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uY291bnQgIT09MFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG1zLTEgbXQtMlwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uY291bnQgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uY291bnQgPT09MFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG1zLTEgbXQtMlwiPjA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIG1zLTFcIj5Hcm91cDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTUgbWItM1wiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB3ZWVrLWZvbnRcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LmFnZUdyb3VwID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uYWdlR3JvdXA6Jy0tJ319IGFnZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzRGF0YSA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3ZWVrLWZvbnRcIj4gdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbXQtNSBlbmQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC03IG1iLTNcIj48c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uY291bnQgIT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmNvdW50ID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNQZXJzb25zPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uY291bnQgPT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yXCI+MDwvc3Bhbj48c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIgbXMtMVwiPlBlcnNvbnM8L3NwYW4+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTNcIj48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgd2Vlay1mb250XCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmFnZUdyb3VwID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YS5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmFnZUdyb3VwOictLSd9fSBhZ2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgdGV4dC1jZW50ZXIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPjxzcGFuIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMiB3ZWVrLWZvbnRcIj4gQXZnLiBHcm91cCBzaXplPC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICBcclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBoLTEwMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dFwiPkNvbnZlcnNpb24gRnVubmVsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUb3RhbCBvcHBvcnR1bml0eSBvZiBzYWxlcyBjb252ZXJzaW9uIHZlcnN1cyB0b3RhbCB3YWxraW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDY1IDEwLjY2NjZWNy45OTk5Mk04LjAwMDY1IDUuMzMzMjVIOC4wMDczMk0xNC42NjczIDcuOTk5OTJDMTQuNjY3MyAxMS42ODE4IDExLjY4MjYgMTQuNjY2NiA4LjAwMDY1IDE0LjY2NjZDNC4zMTg3NSAxNC42NjY2IDEuMzMzOTggMTEuNjgxOCAxLjMzMzk4IDcuOTk5OTJDMS4zMzM5OCA0LjMxODAyIDQuMzE4NzUgMS4zMzMyNSA4LjAwMDY1IDEuMzMzMjVDMTEuNjgyNiAxLjMzMzI1IDE0LjY2NzMgNC4zMTgwMiAxNC42NjczIDcuOTk5OTJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj57e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWF0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaC0yNzVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhdG5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgY29udmVyc2lvbiBmdW5uZWw8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGVhdGxvYWRpbmcgJiYgIWhlYXRub0RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTNcIiBpZD1cImNoYXJ0ZGl2XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1wYWxvYWRpbmcgJiYgc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxIHx8IG1hcG5vRGF0YSAmJiBzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDEgfHwgIXN0b3JlSWRhcnJheT8ubGVuZ3RoXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBwcy03IHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dFwiID5FeHBsb3JlPC9zcGFuPiAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibXBhbG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaC0yMjVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXIgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXBub0RhdGFcIiAgY2xhc3M9XCJyb3cgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub3JtYWxpemVcIiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0xMCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXAxXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvbm90LWFwcGxpY2FibGUuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUgbXQtM1wiPkRhdGEgTm90IEZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+Tm9ybWFsaXplZCBkYXRhIGlzIG5vdCBhcHBsaWNhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub3JtYWxpemVcIiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXBcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgU3RvcmUgbWFwPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1wYWxvYWRpbmcgJiYgIW1hcG5vRGF0YSAmJiBzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBwcy03IHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dFwiID5FeHBsb3JlPC9zcGFuPiAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIG10LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtcGFsb2FkaW5nICYmICFtYXBub0RhdGFcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9yZVZpZXcoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIG1lLTggYnRuLWxpZ2h0LXByaW1hcnkxIHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cGxvcmU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1hcG5vRGF0YVwiIGNsYXNzPVwiY2FyZC1ib2R5IGNvbC1tZC0xMiBwdC0wIHBiLTUgcHMtN1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwibWFwXCIgY2xhc3M9XCJ3LTEwMFwiID48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIiBjbGFzcz1cImNhcmQgcGItMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNSBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHRcIj5SZWNhcCBWaWRlbyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIkEgcXVpY2sgcmVjYXAgb2YgdGhlIHN0b3JlIGFjdGl2aXR5IGFsb25nIHdpdGggdGhlIGF2ZyB0ZWNoIGluZnJhc3RydWN0dXJlIGRvd250aW1lIHN0YXR1c1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDMyXzgwMDM1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+RGF0ZWQ6IHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6JyBkZCBNTU0seXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgbXQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbCB0ZXh0LXN0YXJ0IGRpc2FibGVkLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE2IDE0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiR3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCIgZD1cIk05LjUxOTUzIDAuMzMzOTg0QzEwLjM5NTggMC4zMzM5ODQgMTEuMjMzMSAwLjUxMzQ3NyAxMS45OTc0IDAuODM4OTc0QzEyLjc5MDQgMS4xNzY1MyAxMy41MDM5IDEuNjcyMTQgMTQuMTAxNiAyLjI4Njk3QzE0LjY5NzkgMi45MDA0NiAxNS4xNzk3IDMuNjM0NSAxNS41MDc4IDQuNDUyOTNDMTUuODI0MiA1LjIzOTIyIDE1Ljk5ODcgNi4xMDA1MSAxNS45OTg3IDcuMDAwNjVDMTUuOTk4NyA3LjkwMjEzIDE1LjgyNDIgOC43NjM0MyAxNS41MDc4IDkuNTQ5NzFDMTUuMTc5NyAxMC4zNjU1IDE0LjY5NzkgMTEuMDk5NSAxNC4xMDAzIDExLjcxNDNDMTMuNTAzOSAxMi4zMjc4IDEyLjc5MDQgMTIuODIzNCAxMS45OTQ4IDEzLjE2MUMxMS4yMzA1IDEzLjQ4NjUgMTAuMzkzMiAxMy42NjYgOS41MTgyMyAxMy42NjZDOC42NDE5MyAxMy42NjYgNy44MDQ2OSAxMy40ODY1IDcuMDQwMzYgMTMuMTYxQzYuMjQ3NCAxMi44MjM0IDUuNTMzODUgMTIuMzI3OCA0LjkzNzUgMTEuNzE0M0w0LjkzNjIgMTEuNzEzQzQuMzM4NTQgMTEuMDk4MiAzLjg1ODA3IDEwLjM2NDEgMy41Mjk5NSA5LjU0OTcxQzMuNDI4MzkgOS4yOTY1NSAzLjM0MTE1IDkuMDM2NjggMy4yNjk1MyA4Ljc3MDEzQzMuNDA0OTUgOC43ODM1MiAzLjU0Mjk3IDguNzkwMjIgMy42ODIyOSA4Ljc5MDIyQzMuOTQ2NjEgOC43OTAyMiA0LjIwNDQzIDguNzY2MTEgNC40NTU3MyA4LjcxOTIyQzQuNDk3NCA4Ljg0NzgyIDQuNTQyOTcgOC45NzUwNyA0LjU5MjQ1IDkuMDk5NjRDNC44NjE5OCA5Ljc2OTM5IDUuMjU3ODEgMTAuMzcyMiA1Ljc1IDEwLjg3ODVDNi4yNDIxOSAxMS4zODQ4IDYuODI5NDMgMTEuNzkyIDcuNDc5MTcgMTIuMDY5M0M4LjEwNTQ3IDEyLjMzNTkgOC43OTQyNyAxMi40ODQ1IDkuNTE4MjMgMTIuNDg0NUMxMC4yNDIyIDEyLjQ4NDUgMTAuOTI5NyAxMi4zMzcyIDExLjU1NzMgMTIuMDY5M0MxMi4yMDgzIDExLjc5MiAxMi43OTQzIDExLjM4NDggMTMuMjg2NSAxMC44Nzg1QzEzLjc3ODYgMTAuMzcyMiAxNC4xNzQ1IDkuNzY4MDUgMTQuNDQ0IDkuMDk5NjRDMTQuNzAzMSA4LjQ1NTM0IDE0Ljg0NzcgNy43NDY3NSAxNC44NDc3IDcuMDAxOTlDMTQuODQ3NyA2LjI1NzIzIDE0LjcwNDQgNS41NDk5OCAxNC40NDQgNC45MDQzNEMxNC4xNzQ1IDQuMjM0NTkgMTMuNzc4NiAzLjYzMTgyIDEzLjI4NjUgMy4xMjU0OUMxMi43OTQzIDIuNjE5MTYgMTIuMjA3IDIuMjExOTYgMTEuNTU3MyAxLjkzNDY4QzEwLjkzMSAxLjY2ODEyIDEwLjI0MjIgMS41MTk0NCA5LjUxODIzIDEuNTE5NDRDOC43OTQyNyAxLjUxOTQ0IDguMTA2NzcgMS42NjY3OCA3LjQ3OTE3IDEuOTM0NjhDNy40MjMxOCAxLjk1ODc5IDcuMzY3MTkgMS45ODQyNCA3LjMxMjUgMi4wMDk2OUM3LjA5ODk2IDEuNjY0MSA2Ljg0MTE1IDEuMzUwNjYgNi41NDU1NyAxLjA3ODc0QzYuNzA3MDMgMC45OTMwMTYgNi44NzI0IDAuOTEzOTg2IDcuMDQwMzYgMC44NDE2NTNDNy44MDcyOSAwLjUxMzQ3NyA4LjY0MzIzIDAuMzMzOTg0IDkuNTE5NTMgMC4zMzM5ODRaTTguNzc2MDQgMy44MzE0MUM4Ljc3NjA0IDMuNjY3OTkgOC44NDExNSAzLjUyMDY0IDguOTQ0MDEgMy40MTM0OEM5LjA0ODE4IDMuMzA2MzIgOS4xOTE0MSAzLjI0MDY5IDkuMzUwMjYgMy4yNDA2OUM5LjUwOTExIDMuMjQwNjkgOS42NTIzNCAzLjMwNjMyIDkuNzU2NTEgMy40MTM0OEM5Ljg2MDY4IDMuNTIwNjQgOS45MjQ0OCAzLjY2Nzk5IDkuOTI0NDggMy44MzE0MVY2Ljk0MTcxTDEyLjE4MzYgOC4zMjAwNUMxMi4zMTkgOC40MDMxIDEyLjQxMDIgOC41MzU3MSAxMi40NDY2IDguNjgxNzJDMTIuNDgzMSA4LjgyNzcyIDEyLjQ2NjEgOC45ODg0NiAxMi4zODU0IDkuMTI3NzdWOS4xMjkxMUMxMi4zMDQ3IDkuMjY4NDIgMTIuMTc1OCA5LjM2MjE4IDEyLjAzMzkgOS4zOTk2OUMxMS44OTE5IDkuNDM3MTkgMTEuNzM1NyA5LjQxOTc4IDExLjYwMDMgOS4zMzY3M0gxMS41OTlMOS4wNzE2MSA3Ljc5NDk3QzguOTg0MzggNy43NDU0MSA4LjkxMjc2IDcuNjczMDggOC44NjA2OCA3LjU4NzM1QzguODA3MjkgNy40OTc2IDguNzc2MDQgNy4zOTE3OCA4Ljc3NjA0IDcuMjc5MjdWMy44MzE0MVpcIiBmaWxsPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXzJcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMy41MTMwMiAwLjY4NzYyMkM1LjQ1MzEyIDAuNjg3NjIyIDcuMDI2MDQgMi4zMDU3MyA3LjAyNjA0IDQuMzAxNThDNy4wMjYwNCA2LjI5NzQzIDUuNDUzMTIgNy45MTU1NCAzLjUxMzAyIDcuOTE1NTRDMS41NzI5MiA3LjkxNTU0IDAgNi4yOTc0MyAwIDQuMzAxNThDMCAyLjMwNTczIDEuNTcyOTIgMC42ODc2MjIgMy41MTMwMiAwLjY4NzYyMlpNMy41MTMwMiA2LjM3Mzc4TDUuMzk4NDQgMy45NzYwOEg0LjIyNzg2VjIuNzAwODhIMi43OTgxOFYzLjk3NjA4SDEuNjI3NkwzLjUxMzAyIDYuMzczNzhaXCIgZmlsbD1cIiNGMDQ0MzhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+e3tnZXRSZWNhcFZpZGVvRGF0YT8uZG93blRpbWUgPz8gJy0tJ319IE1pbnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbCBkaXNhYmxlZC1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPT09J0dPT0QnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJGcmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTEzLjQzNDkgMi41QzE0LjgyMzggMi41IDE1Ljk4NzEgMy4wMTM4OSAxNi45MjQ5IDQuMDQxNjdDMTcuODYyNyA1LjA2OTQ0IDE4LjMzMTMgNi4yOTE2NyAxOC4zMzA3IDcuNzA4MzNDMTguMzMwNyA3Ljk1ODMzIDE4LjMxNjggOC4yMDUgMTguMjg5MSA4LjQ0ODMzQzE4LjI2MTMgOC42OTE2NyAxOC4yMTI3IDguOTMxMTEgMTguMTQzMiA5LjE2NjY3SDEyLjkzNDlMMTEuNTE4MiA3LjA0MTY3QzExLjQ0ODggNi45MzA1NiAxMS4zNTE2IDYuODQwMjggMTEuMjI2NiA2Ljc3MDgzQzExLjEwMTYgNi43MDEzOSAxMC45Njk2IDYuNjY2NjcgMTAuODMwNyA2LjY2NjY3QzEwLjY1MDIgNi42NjY2NyAxMC40ODY4IDYuNzIyMjIgMTAuMzQwNyA2LjgzMzMzQzEwLjE5NDYgNi45NDQ0NCAxMC4wOTQxIDcuMDgzMzMgMTAuMDM5MSA3LjI1TDguOTE0MDYgMTAuNjI1TDguMTg0OSA5LjU0MTY3QzguMTE1NDUgOS40MzA1NiA4LjAxODIzIDkuMzQwMjggNy44OTMyMyA5LjI3MDgzQzcuNzY4MjMgOS4yMDEzOSA3LjYzNjI4IDkuMTY2NjcgNy40OTc0IDkuMTY2NjdIMS44NTE1NkMxLjc4MjEyIDguOTMwNTYgMS43MzM1MSA4LjY5MDgzIDEuNzA1NzMgOC40NDc1QzEuNjc3OTUgOC4yMDQxNyAxLjY2NDA2IDcuOTY0NzIgMS42NjQwNiA3LjcyOTE3QzEuNjY0MDYgNi4yOTg2MSAyLjEyOTM0IDUuMDY5NDQgMy4wNTk5IDQuMDQxNjdDMy45OTA0NSAzLjAxMzg5IDUuMTUwMTcgMi41IDYuNTM5MDYgMi41QzcuMjA1NzMgMi41IDcuODM0MzQgMi42MzE5NCA4LjQyNDkgMi44OTU4M0M5LjAxNTQ1IDMuMTU5NzIgOS41Mzk2MiAzLjUyNzc4IDkuOTk3NCA0QzEwLjQ0MTggMy41Mjc3OCAxMC45NTkzIDMuMTU5NzIgMTEuNTQ5OSAyLjg5NTgzQzEyLjE0MDUgMi42MzE5NCAxMi43Njg4IDIuNSAxMy40MzQ5IDIuNVpNOS45OTc0IDE3LjVDOS43NDc0IDE3LjUgOS41MDc2NyAxNy40NTQ3IDkuMjc4MjMgMTcuMzY0MkM5LjA0ODc4IDE3LjI3MzYgOC44NDQwNiAxNy4xMzgzIDguNjY0MDYgMTYuOTU4M0wzLjA4MDczIDExLjM1NDJDMi45OTc0IDExLjI3MDggMi45MjEwMSAxMS4xODc1IDIuODUxNTYgMTEuMTA0MkMyLjc4MjEyIDExLjAyMDggMi43MTI2NyAxMC45MzA2IDIuNjQzMjMgMTAuODMzM0g3LjAzOTA2TDguNDU1NzMgMTIuOTU4M0M4LjUyNTE3IDEzLjA2OTQgOC42MjI0IDEzLjE1OTcgOC43NDc0IDEzLjIyOTJDOC44NzI0IDEzLjI5ODYgOS4wMDQzNCAxMy4zMzMzIDkuMTQzMjMgMTMuMzMzM0M5LjMyMzc4IDEzLjMzMzMgOS40OTA0NSAxMy4yNzc4IDkuNjQzMjMgMTMuMTY2N0M5Ljc5NjAxIDEzLjA1NTYgOS45MDAxNyAxMi45MTY3IDkuOTU1NzMgMTIuNzVMMTEuMDgwNyA5LjM3NUwxMS43ODkxIDEwLjQ1ODNDMTEuODcyNCAxMC41Njk0IDExLjk3NjYgMTAuNjU5NyAxMi4xMDE2IDEwLjcyOTJDMTIuMjI2NiAxMC43OTg2IDEyLjM1ODUgMTAuODMzMyAxMi40OTc0IDEwLjgzMzNIMTcuMzMwN0wxNy4xMjI0IDExLjA4MzNMMTYuOTE0MSAxMS4zMzMzTDExLjMwOTkgMTYuOTU4M0MxMS4xMjkzIDE3LjEzODkgMTAuOTI4IDE3LjI3NDQgMTAuNzA1NyAxNy4zNjVDMTAuNDgzNSAxNy40NTU2IDEwLjI0NzQgMTcuNTAwNiA5Ljk5NzQgMTcuNVpcIiBmaWxsPVwiIzEyQjc2QVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPT09J0FWRVJBR0UnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiRnJhbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiIGQ9XCJNMTMuNDM0OSAyLjVDMTQuODIzOCAyLjUgMTUuOTg3MSAzLjAxMzg5IDE2LjkyNDkgNC4wNDE2N0MxNy44NjI3IDUuMDY5NDQgMTguMzMxMyA2LjI5MTY3IDE4LjMzMDcgNy43MDgzM0MxOC4zMzA3IDcuOTU4MzMgMTguMzE2OCA4LjIwNSAxOC4yODkxIDguNDQ4MzNDMTguMjYxMyA4LjY5MTY3IDE4LjIxMjcgOC45MzExMSAxOC4xNDMyIDkuMTY2NjdIMTIuOTM0OUwxMS41MTgyIDcuMDQxNjdDMTEuNDQ4OCA2LjkzMDU2IDExLjM1MTYgNi44NDAyOCAxMS4yMjY2IDYuNzcwODNDMTEuMTAxNiA2LjcwMTM5IDEwLjk2OTYgNi42NjY2NyAxMC44MzA3IDYuNjY2NjdDMTAuNjUwMiA2LjY2NjY3IDEwLjQ4NjggNi43MjIyMiAxMC4zNDA3IDYuODMzMzNDMTAuMTk0NiA2Ljk0NDQ0IDEwLjA5NDEgNy4wODMzMyAxMC4wMzkxIDcuMjVMOC45MTQwNiAxMC42MjVMOC4xODQ5IDkuNTQxNjdDOC4xMTU0NSA5LjQzMDU2IDguMDE4MjMgOS4zNDAyOCA3Ljg5MzIzIDkuMjcwODNDNy43NjgyMyA5LjIwMTM5IDcuNjM2MjggOS4xNjY2NyA3LjQ5NzQgOS4xNjY2N0gxLjg1MTU2QzEuNzgyMTIgOC45MzA1NiAxLjczMzUxIDguNjkwODMgMS43MDU3MyA4LjQ0NzVDMS42Nzc5NSA4LjIwNDE3IDEuNjY0MDYgNy45NjQ3MiAxLjY2NDA2IDcuNzI5MTdDMS42NjQwNiA2LjI5ODYxIDIuMTI5MzQgNS4wNjk0NCAzLjA1OTkgNC4wNDE2N0MzLjk5MDQ1IDMuMDEzODkgNS4xNTAxNyAyLjUgNi41MzkwNiAyLjVDNy4yMDU3MyAyLjUgNy44MzQzNCAyLjYzMTk0IDguNDI0OSAyLjg5NTgzQzkuMDE1NDUgMy4xNTk3MiA5LjUzOTYyIDMuNTI3NzggOS45OTc0IDRDMTAuNDQxOCAzLjUyNzc4IDEwLjk1OTMgMy4xNTk3MiAxMS41NDk5IDIuODk1ODNDMTIuMTQwNSAyLjYzMTk0IDEyLjc2ODggMi41IDEzLjQzNDkgMi41Wk05Ljk5NzQgMTcuNUM5Ljc0NzQgMTcuNSA5LjUwNzY3IDE3LjQ1NDcgOS4yNzgyMyAxNy4zNjQyQzkuMDQ4NzggMTcuMjczNiA4Ljg0NDA2IDE3LjEzODMgOC42NjQwNiAxNi45NTgzTDMuMDgwNzMgMTEuMzU0MkMyLjk5NzQgMTEuMjcwOCAyLjkyMTAxIDExLjE4NzUgMi44NTE1NiAxMS4xMDQyQzIuNzgyMTIgMTEuMDIwOCAyLjcxMjY3IDEwLjkzMDYgMi42NDMyMyAxMC44MzMzSDcuMDM5MDZMOC40NTU3MyAxMi45NTgzQzguNTI1MTcgMTMuMDY5NCA4LjYyMjQgMTMuMTU5NyA4Ljc0NzQgMTMuMjI5MkM4Ljg3MjQgMTMuMjk4NiA5LjAwNDM0IDEzLjMzMzMgOS4xNDMyMyAxMy4zMzMzQzkuMzIzNzggMTMuMzMzMyA5LjQ5MDQ1IDEzLjI3NzggOS42NDMyMyAxMy4xNjY3QzkuNzk2MDEgMTMuMDU1NiA5LjkwMDE3IDEyLjkxNjcgOS45NTU3MyAxMi43NUwxMS4wODA3IDkuMzc1TDExLjc4OTEgMTAuNDU4M0MxMS44NzI0IDEwLjU2OTQgMTEuOTc2NiAxMC42NTk3IDEyLjEwMTYgMTAuNzI5MkMxMi4yMjY2IDEwLjc5ODYgMTIuMzU4NSAxMC44MzMzIDEyLjQ5NzQgMTAuODMzM0gxNy4zMzA3TDE3LjEyMjQgMTEuMDgzM0wxNi45MTQxIDExLjMzMzNMMTEuMzA5OSAxNi45NTgzQzExLjEyOTMgMTcuMTM4OSAxMC45MjggMTcuMjc0NCAxMC43MDU3IDE3LjM2NUMxMC40ODM1IDE3LjQ1NTYgMTAuMjQ3NCAxNy41MDA2IDkuOTk3NCAxNy41WlwiIGZpbGw9XCIjRkFDQzE1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UmVjYXBWaWRlb0RhdGE/LmhlYWx0aCA9PT0nQkFEJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJGcmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiIGQ9XCJNMTMuNDM0OSAyLjVDMTQuODIzOCAyLjUgMTUuOTg3MSAzLjAxMzg5IDE2LjkyNDkgNC4wNDE2N0MxNy44NjI3IDUuMDY5NDQgMTguMzMxMyA2LjI5MTY3IDE4LjMzMDcgNy43MDgzM0MxOC4zMzA3IDcuOTU4MzMgMTguMzE2OCA4LjIwNSAxOC4yODkxIDguNDQ4MzNDMTguMjYxMyA4LjY5MTY3IDE4LjIxMjcgOC45MzExMSAxOC4xNDMyIDkuMTY2NjdIMTIuOTM0OUwxMS41MTgyIDcuMDQxNjdDMTEuNDQ4OCA2LjkzMDU2IDExLjM1MTYgNi44NDAyOCAxMS4yMjY2IDYuNzcwODNDMTEuMTAxNiA2LjcwMTM5IDEwLjk2OTYgNi42NjY2NyAxMC44MzA3IDYuNjY2NjdDMTAuNjUwMiA2LjY2NjY3IDEwLjQ4NjggNi43MjIyMiAxMC4zNDA3IDYuODMzMzNDMTAuMTk0NiA2Ljk0NDQ0IDEwLjA5NDEgNy4wODMzMyAxMC4wMzkxIDcuMjVMOC45MTQwNiAxMC42MjVMOC4xODQ5IDkuNTQxNjdDOC4xMTU0NSA5LjQzMDU2IDguMDE4MjMgOS4zNDAyOCA3Ljg5MzIzIDkuMjcwODNDNy43NjgyMyA5LjIwMTM5IDcuNjM2MjggOS4xNjY2NyA3LjQ5NzQgOS4xNjY2N0gxLjg1MTU2QzEuNzgyMTIgOC45MzA1NiAxLjczMzUxIDguNjkwODMgMS43MDU3MyA4LjQ0NzVDMS42Nzc5NSA4LjIwNDE3IDEuNjY0MDYgNy45NjQ3MiAxLjY2NDA2IDcuNzI5MTdDMS42NjQwNiA2LjI5ODYxIDIuMTI5MzQgNS4wNjk0NCAzLjA1OTkgNC4wNDE2N0MzLjk5MDQ1IDMuMDEzODkgNS4xNTAxNyAyLjUgNi41MzkwNiAyLjVDNy4yMDU3MyAyLjUgNy44MzQzNCAyLjYzMTk0IDguNDI0OSAyLjg5NTgzQzkuMDE1NDUgMy4xNTk3MiA5LjUzOTYyIDMuNTI3NzggOS45OTc0IDRDMTAuNDQxOCAzLjUyNzc4IDEwLjk1OTMgMy4xNTk3MiAxMS41NDk5IDIuODk1ODNDMTIuMTQwNSAyLjYzMTk0IDEyLjc2ODggMi41IDEzLjQzNDkgMi41Wk05Ljk5NzQgMTcuNUM5Ljc0NzQgMTcuNSA5LjUwNzY3IDE3LjQ1NDcgOS4yNzgyMyAxNy4zNjQyQzkuMDQ4NzggMTcuMjczNiA4Ljg0NDA2IDE3LjEzODMgOC42NjQwNiAxNi45NTgzTDMuMDgwNzMgMTEuMzU0MkMyLjk5NzQgMTEuMjcwOCAyLjkyMTAxIDExLjE4NzUgMi44NTE1NiAxMS4xMDQyQzIuNzgyMTIgMTEuMDIwOCAyLjcxMjY3IDEwLjkzMDYgMi42NDMyMyAxMC44MzMzSDcuMDM5MDZMOC40NTU3MyAxMi45NTgzQzguNTI1MTcgMTMuMDY5NCA4LjYyMjQgMTMuMTU5NyA4Ljc0NzQgMTMuMjI5MkM4Ljg3MjQgMTMuMjk4NiA5LjAwNDM0IDEzLjMzMzMgOS4xNDMyMyAxMy4zMzMzQzkuMzIzNzggMTMuMzMzMyA5LjQ5MDQ1IDEzLjI3NzggOS42NDMyMyAxMy4xNjY3QzkuNzk2MDEgMTMuMDU1NiA5LjkwMDE3IDEyLjkxNjcgOS45NTU3MyAxMi43NUwxMS4wODA3IDkuMzc1TDExLjc4OTEgMTAuNDU4M0MxMS44NzI0IDEwLjU2OTQgMTEuOTc2NiAxMC42NTk3IDEyLjEwMTYgMTAuNzI5MkMxMi4yMjY2IDEwLjc5ODYgMTIuMzU4NSAxMC44MzMzIDEyLjQ5NzQgMTAuODMzM0gxNy4zMzA3TDE3LjEyMjQgMTEuMDgzM0wxNi45MTQxIDExLjMzMzNMMTEuMzA5OSAxNi45NTgzQzExLjEyOTMgMTcuMTM4OSAxMC45MjggMTcuMjc0NCAxMC43MDU3IDE3LjM2NUMxMC40ODM1IDE3LjQ1NTYgMTAuMjQ3NCAxNy41MDA2IDkuOTk3NCAxNy41WlwiIGZpbGw9XCIjRjA0NDM4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj57e2dldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW1lcmFWaWV3KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBteC0yIGJ0bi1saWdodC1wcmltYXJ5MSByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5MaXZlIFZpZXc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2FwbGFvZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaC0yMjVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjYXBub0RhdGFcIiAgY2xhc3M9XCJyb3cgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vcm1hbGl6ZVwiIGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTEwIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXAxXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvbm90LWFwcGxpY2FibGUuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlIG10LTNcIj5EYXRhIE5vdCBGb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5Ob3JtYWxpemVkIGRhdGEgaXMgbm90IGFwcGxpY2FibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW1hcC1yZWNhcFwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgUmVjYXAgdmlkZW88L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcmVjYXBsYW9kaW5nICYmICFyZWNhcG5vRGF0YVwiIGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiByZWNhcHNHcm91cGVkOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGN1cnJlbnRJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwYWlyIG9mIGdyb3VwXCIgW25nQ2xhc3NdPVwiY29sVmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cInBhaXIudGh1bWJJbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZGVvQ2xpY2socGFpcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2UtdGh1bWIgbWItOCBkLWJsb2NrIHctMTAwIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJJbWFnZSB7eyBpICsgMSB9fVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29uZGl0aW9uYWxseSBkaXNwbGF5IFByZXZpb3VzIGJ1dHRvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXZcIiAqbmdJZj1cImN1cnJlbnRJbmRleCA+IDBcIiAoY2xpY2spPVwicHJldlNsaWRlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb25kaXRpb25hbGx5IGRpc3BsYXkgTmV4dCBidXR0b24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0XCIgKm5nSWY9XCJjdXJyZW50SW5kZXggPCByZWNhcHNHcm91cGVkLmxlbmd0aCAtIDFcIiAoY2xpY2spPVwibmV4dFNsaWRlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIERvdHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjYXBzR3JvdXBlZC5sZW5ndGggPiAxXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgcmVjYXBzR3JvdXBlZDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gY3VycmVudEluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9TbGlkZShpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHZpZGVvIGNvbnRyb2xzIGF1dG9wbGF5IGNsYXNzPVwicmVjYXAtaW1nIHAtM1wiIFtzcmNdPVwiZ2V0UmVjYXBEYXRhPy52aWRlb1VSTFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNvdXJjZSAgdHlwZT1cInZpZGVvL21wNFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNvdXJjZSBbc3JjXT1cImdldFJlY2FwRGF0YT8udmlkZW9VUkxcIiB0eXBlPVwidmlkZW8vb2dnXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC92aWRlbz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAjbWFwQ29udGFpbmVyIHN0eWxlPVwiaGVpZ2h0OjIzMHB4O1wiPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbWItM1wiPjxpbWcgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy9yZWNhcC5zdmdcIiBhbHQ9XCJcIiBjbGFzcz1cInJlY2FwLWltZ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbWItM1wiPjxpbWcgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy9yZWNhcC5zdmdcIiBhbHQ9XCJcIiBjbGFzcz1cInJlY2FwLWltZ1wiPjwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgIGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuXHJcbiAgICAgICAgPCEtLSBmb290ZmFsbCB0cmVuZCBjaGFydHMgLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsMSBtYi0yXCI+Rm9vdGZhbGwgVHJlbmQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+QmFzZWQgb24ge3tnZXREYXRlVmFsdWVzPy5mcm9tRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3tnZXREYXRlVmFsdWVzPy50b0RhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpOYXYgZ3JvdXAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtZ3JvdXAgbmF2LWdyb3VwLW91dGxpbmUgYm9yZGVyLTEgYnRuLWdyb3VwIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgcHgtNiBweS0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwidHlwZSA9PT0gJ2RhaWx5JyA/ICdhY3RpdmVQbGFuQnRuJyA6ICdpbmFjdGl2ZVBsYW5CdG4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW5UcmVuZHMoJ2RhaWx5JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNb250aCBCdXR0b24gLS0+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSBXZWVrIEJ1dHRvbiAtLT5cclxuICAgICAgICA8YnV0dG9uICBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBweC02IHB5LTNcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ0eXBlID09PSAnd2Vla2x5JyA/ICdhY3RpdmVQbGFuQnRuJyA6ICdpbmFjdGl2ZVBsYW5CdG4nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW5UcmVuZHMoJ3dlZWtseScpXCI+XHJcbiAgICAgICAgICAgIFdlZWtcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICBcclxuICAgICAgICA8IS0tIERheSBCdXR0b24sIHZpc2libGUgb25seSBpZiBkYXRlTGVuZ3RoIGlzIHZhbGlkIGFuZCB0eXBlIGlzIGVpdGhlciAnd2Vla2x5JyBvciAnZGFpbHknIC0tPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgcHgtNiBweS0zXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwidHlwZSA9PT0gJ21vbnRobHknID8gJ2FjdGl2ZVBsYW5CdG4nIDogJ2luYWN0aXZlUGxhbkJ0bidcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGxhblRyZW5kcygnbW9udGhseScpXCI+XHJcbiAgICAgICAgICAgIE1vbnRoXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok5hdiBncm91cC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMiBtdC0zIGRyb3BzZWxlY3RcIj5UcmVuZDwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0Q29udHJvbFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YXNldHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdldHJlbmQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiAoY2hhbmdlKT1cIm9uRGF0YXNldENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGRhdGFzZXQgb2YgZGF0YXNldHNcIiBbdmFsdWVdPVwiZGF0YXNldC52YWx1ZVwiPnt7IGRhdGFzZXQubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG10LTEgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJkLWZsZXggbXMtMSBkcm9wc2VsZWN0IG10LTIgY3Vyc29yLXBvaW50ZXIgdGV4dC1ub3dyYXAgZnMtNVwiPkZvcmVjYXN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjY0NV8yNzQ1OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMuMzMzOTggMS4zMzMzMUwzLjQ2MDY1IDEuOTU5OThDMy41NTE0MiAyLjQwOTk4IDMuNzU2ODMgMi44Mjg5MyA0LjA1Njk5IDMuMTc2MjhDNC4zNTcxNSAzLjUyMzYyIDQuNzQxODkgMy43ODc1OSA1LjE3Mzk4IDMuOTQyNjVMNS4zMzM5OCAzLjk5OTk4TDUuMTczOTggNC4wNTczMUM0Ljc0MTg5IDQuMjEyMzcgNC4zNTcxNSA0LjQ3NjM0IDQuMDU2OTkgNC44MjM2OEMzLjc1NjgzIDUuMTcxMDMgMy41NTE0MiA1LjU4OTk4IDMuNDYwNjUgNi4wMzk5OEwzLjMzMzk4IDYuNjY2NjVMMy4yMDczMiA2LjAzOTk4QzMuMTE2NTQgNS41ODk5OCAyLjkxMTE0IDUuMTcxMDMgMi42MTA5OCA0LjgyMzY4QzIuMzEwODIgNC40NzYzNCAxLjkyNjA3IDQuMjEyMzcgMS40OTM5OCA0LjA1NzMxTDEuMzMzOTggMy45OTk5OEwxLjQ5Mzk4IDMuOTQyNjVDMS45MjYwNyAzLjc4NzU5IDIuMzEwODIgMy41MjM2MiAyLjYxMDk4IDMuMTc2MjhDMi45MTExNCAyLjgyODkzIDMuMTE2NTQgMi40MDk5OCAzLjIwNzMyIDEuOTU5OThMMy4zMzM5OCAxLjMzMzMxWk01LjMzMzk4IDEwLjY2NjZMNS40ODczMiAxMS41MTczQzUuNTI3MTMgMTEuNzM5MiA1LjYyMjU2IDExLjk0NzQgNS43NjQ2OCAxMi4xMjI0QzUuOTA2OCAxMi4yOTc0IDYuMDkwOTggMTIuNDMzNSA2LjI5OTk4IDEyLjUxOEw2LjY2NzMyIDEyLjY2NjZMNi4yOTk5OCAxMi44MTUzQzYuMDkwOTQgMTIuODk5NyA1LjkwNjY4IDEzLjAzNTYgNS43NjQ0NSAxMy4yMTA1QzUuNjIyMjEgMTMuMzg1NCA1LjUyNjYzIDEzLjU5MzUgNS40ODY2NSAxMy44MTUzTDUuMzMzOTggMTQuNjY2Nkw1LjE4MDY1IDEzLjgxNkM1LjE0MDg0IDEzLjU5NDEgNS4wNDU0MSAxMy4zODU5IDQuOTAzMjkgMTMuMjEwOUM0Ljc2MTE3IDEzLjAzNTkgNC41NzY5OSAxMi44OTk4IDQuMzY3OTggMTIuODE1M0w0LjAwMDY1IDEyLjY2NjZMNC4zNjc5OCAxMi41MThDNC41NzcwMyAxMi40MzM2IDQuNzYxMjkgMTIuMjk3NyA0LjkwMzUyIDEyLjEyMjhDNS4wNDU3NiAxMS45NDc5IDUuMTQxMzMgMTEuNzM5OCA1LjE4MTMyIDExLjUxOEw1LjMzMzk4IDEwLjY2NjZaTTEwLjY2NzMgMS45OTk5OEwxMS4wMzggMy43NjkzMUMxMS4yMjY5IDQuNjcxMzcgMTEuNjQ2MyA1LjUwOTA4IDEyLjI1NTQgNi4yMDA3NkMxMi44NjQ1IDYuODkyNDQgMTMuNjQyNCA3LjQxNDQ4IDE0LjUxMzMgNy43MTU5OEwxNS4zMzQgNy45OTk5OEwxNC41MTMzIDguMjgzOThDMTMuNjQyNCA4LjU4NTQ4IDEyLjg2NDUgOS4xMDc1MiAxMi4yNTU0IDkuNzk5MkMxMS42NDYzIDEwLjQ5MDkgMTEuMjI2OSAxMS4zMjg2IDExLjAzOCAxMi4yMzA2TDEwLjY2NzMgMTRMMTAuMjk2NyAxMi4yMzA2QzEwLjEwNzcgMTEuMzI4NiA5LjY4ODMgMTAuNDkwOSA5LjA3OTIyIDkuNzk5MkM4LjQ3MDE1IDkuMTA3NTIgNy42OTIyMyA4LjU4NTQ4IDYuODIxMzIgOC4yODM5OEw2LjAwMDY1IDcuOTk5OThMNi44MjEzMiA3LjcxNTk4QzcuNjkyMjMgNy40MTQ0OCA4LjQ3MDE1IDYuODkyNDQgOS4wNzkyMiA2LjIwMDc2QzkuNjg4MyA1LjUwOTA4IDEwLjEwNzcgNC42NzEzNyAxMC4yOTY3IDMuNzY5MzFMMTAuNjY3MyAxLjk5OTk4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjY0NV8yNzQ1OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCAgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImZvcmVjYXN0XCIgKGNsaWNrKT1cImZvcmVjYXN0QXBpKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFvYmpEYXRhPy5mb3JlY2FzdFwiIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTFcIiAoY2xpY2spPVwicHJvZHVjdHRyYWlsRHJvcGRvd24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDEwSDE1TTIuNSA1SDE3LjVNNy41IDE1SDEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHB5LTIgdy0yMDBweCBwb3NpdGlvbi1hYnNvbHV0ZSBwcm9kdWN0ZHJvcCB0b3AtMjAgZW5kLTEgbXQtMTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdJZj1cIiFvYmpEYXRhPy5mb3JlY2FzdFwiICBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nbm9ybWFsaXplJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnbm9ybWFsaXplJylcIj5Ob3JtYWxpemVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSdub3JtYWxpemUnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxXCIgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nYWN0dWFsJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCdhY3R1YWwnKVwiPkFjdHVhbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nYWN0dWFsJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMyNyA0TDUuOTk5MzUgMTEuMzMzM0wyLjY2NjAyIDhcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID4gMVwiIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J2F2ZXJhZ2UnID8gJ2JnLWZvcmNhc3QnOicnXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCdhdmVyYWdlJylcIj5BdmVyYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4gPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nYXZlcmFnZScgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMyNyA0TDUuOTk5MzUgMTEuMzMzM0wyLjY2NjAyIDhcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0ndGFyZ2V0JyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCd0YXJnZXQnKVwiPlRhcmdldFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J3RhcmdldCcgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2xpPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J3dlZWtlbmRzJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCd3ZWVrZW5kcycpXCI+V2Vla2VuZHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSd3ZWVrZW5kcycgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nd2Vla2RheXMnID8gJ2JnLWZvcmNhc3QnOicnXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VTdGF0dXMoJ3dlZWtkYXlzJylcIj5XZWVrZGF5c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J3dlZWtkYXlzJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nVHJlbmRzXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vRGF0YVRyZW5kc1wiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGZvb3RmYWxsIHRyZW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCIgKm5nSWY9XCIhbm9EYXRhVHJlbmRzICYmICFsb2FkaW5nVHJlbmRzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHgtM1wiIGlkPVwiRm9vdGZhbGx0cmVuZFwiPjwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICN0b29sdGlwQ29udGFpbmVyIGNsYXNzPVwidG9vbHRpcC1jb250YWluZXJcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiICpuZ0lmPVwidG9vbHRpcERhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgcC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlIHRleHQtc3RhcnRcIj57e3Rvb2x0aXBEYXRhLmZ1bGxTdG9yZU5hbWV9fTwvU3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlN1bTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkF2Zzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYWJsZSBmb3IgY291bnRzIGFuZCByYXRlcyBpbiBob3Jpem9udGFsIGZvcm1hdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ob3Jpem9udGFsIHRyZW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGl0bGUgdGV4dC1zdGFydCBweC0zXCI+e3t0b29sdGlwRGF0YS5mdWxsU3RvcmVOYW1lfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGl0bGUgdGV4dC1lbmRcIj5TdW08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInRpdGxlIHRleHQtZW5kXCI+QXZnPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvdW50cyBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPlRvdGFsIEZvb3RmYWxsPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmZvb3RmYWxsX2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZm9vdGZhbGxfY291bnRfYXZnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPkJvdW5jZWQgRm9vdGZhbGw8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbHVlXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuYm91bmNlZF9jb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmJvdW5jZWRfZm9vdGZhbGxfY291bnRfYXZnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidHJlbmQtbGFiZWxcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5FbmdhZ2VyczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmVuZ2FnZXJzX2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5lbmdhZ2Vyc19jb3VudF9hdmd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEubWlzc2VkT3Bwb3J0dW5pdHlfY291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLm1pc3NlZE9wcG9ydHVuaXR5X2NvdW50X2F2Z319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+RG93biBUaW1lPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZG93bl90aW1lID8gdG9vbHRpcERhdGEuZG93bl90aW1lIDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5kb3duX3RpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSYXRlcyBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+RHdlbGwgVGltZTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWUgdGV4dC1ub3dyYXBcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmF2Z0R3ZWxsVGltZS50b0ZpeGVkKDApfX0gTWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWUgdGV4dC1ub3dyYXBcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmF2Z0R3ZWxsVGltZS50b0ZpeGVkKDApfX0gTWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidHJlbmQtbGFiZWxcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5Db252ZXJzaW9uPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuY29udmVyc2lvblJhdGUudG9GaXhlZCgwKX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmNvbnZlcnNpb25SYXRlLnRvRml4ZWQoMCl9fSU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8bGliLXBhZ2luYXRpb24gW2l0ZW1zUGVyUGFnZV09XCJwYWdlU2l6ZVRyZW5kc1wiIFtjdXJyZW50UGFnZV09XCJvZmZzZXRUcmVuZHNcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJlbmRzXCJcclxuICAgICAgICAgICAgICAgICAgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNUcmVuZHNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVUcmVuZHNcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2VUcmVuZHMoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlVHJlbmRzKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gPGxpYi10cmFmZmljLWNoYXJ0cyBjbGFzcz1cIm15LTJcIj48L2xpYi10cmFmZmljLWNoYXJ0cz4gLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjYXJkIG10LTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG15LTMgbXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwidGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1OSdcIiBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKVwiPjxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ndHJhZmZpYycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+VHJhZmZpYyAmIER3ZWxsPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZm9vdGZhbGwnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nZm9vdGZhbGwnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG1lLTZcIj5Gb290ZmFsbDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ2JvdW5jZWQnKVwiPjxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdib3VuY2VkJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPkJvdW5jZWQgRm9vdGZhbGw8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZW5nYWdlcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+RW5nYWdlcnM8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnbWlzc2VkT3Bwb3J0dW5pdHknKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG1lLTZcIj5NaXNzZWQgT3Bwb3J0dW5pdHk8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdwb3RlbnRpYWxCdXllcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+UG90ZW50aWFsIEJ1eWVyPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnY29udmVyc2lvbicpXCI+PGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2NvbnZlcnNpb24nID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+Q29udmVyc2lvbjwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnROb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIGgtMTAwXCIgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3RyYWZmaWMnXCIgY2xhc3M9XCJsZWZ0LWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdERheSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdERheSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkJ1c2llc3QgRGF5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmJ1c2llc3RUaW1lIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+QnVzaWVzdCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYXZnRHdlbGxUaW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBEd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/Lm1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkZlbWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdmb290ZmFsbCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmZvb3RmYWxsQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mb290ZmFsbENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5Gb290ZmFsbCBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNzRcIiBoZWlnaHQ9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjRcIiBkPVwiTTEgMUwxOTMgMVwiIHN0cm9rZT1cIiM5OURBRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMjFWMTlDMjAgMTcuOTM5MSAxOS41Nzg2IDE2LjkyMTcgMTguODI4NCAxNi4xNzE2QzE4LjA3ODMgMTUuNDIxNCAxNy4wNjA5IDE1IDE2IDE1SDhDNi45MzkxMyAxNSA1LjkyMTcyIDE1LjQyMTQgNS4xNzE1NyAxNi4xNzE2QzQuNDIxNDMgMTYuOTIxNyA0IDE3LjkzOTEgNCAxOVYyMU0xNiA3QzE2IDkuMjA5MTQgMTQuMjA5MSAxMSAxMiAxMUM5Ljc5MDg2IDExIDggOS4yMDkxNCA4IDdDOCA0Ljc5MDg2IDkuNzkwODYgMyAxMiAzQzE0LjIwOTEgMyAxNiA0Ljc5MDg2IDE2IDdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LnNpbmdsZUNvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uc2luZ2xlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5TaW5nbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lmdyb3VwQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cCBGb290ZmFsbDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5hZ2VHcm91cCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmFnZUdyb3VwIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8ubWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbidcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkNvbnZlcnNpb24gQ291bnQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTc0XCIgaGVpZ2h0PVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTk0IDJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC40XCIgZD1cIk0xIDFMMTkzIDFcIiBzdHJva2U9XCIjOTlEQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uY29udmVyc2lvblJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+Q29udmVyc2lvbiBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj41IC0gMTUgTWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IGZhbHNlXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+MTUgLSA2MCBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uYXZlcmFnZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmF2ZXJhZ2VSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPjEgSHIgb3IgbW9yZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudC50b0xvY2FsZVN0cmluZygpPy5sZW5ndGggPiA1ID8gJzI0cHgnIDogJzM2cHgnKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5lbmdhZ2Vyc0NvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkVuZ2FnZXJzIENvdW50PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5FbmdhZ2VycyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBkd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5IaWdoIEVuZ2FnZW1lbnQgWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5sb3dFbmdhZ2VtZW50Wm9uZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkxvdyBFbmdhZ2VtZW50IFpvbmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkJvdW5jZWQgQ291bnQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uYm91bmNlZFJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+Qm91bmNlZCBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LnBlYWtCb3VuY2VkSG91ciA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+UGVhayBCb3VuY2VkIEhvdXI8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubW9zdENvbW1vbkFnZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1vc3QgQ29tbW9uIEFnZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9udC1zaXplJzogKGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc0NvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLXRpdGxlXCI+UG90ZW50aWFsIEJ1eWVyczwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkJ1eWVycyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMjFWMTlDMjAgMTcuOTM5MSAxOS41Nzg2IDE2LjkyMTcgMTguODI4NCAxNi4xNzE2QzE4LjA3ODMgMTUuNDIxNCAxNy4wNjA5IDE1IDE2IDE1SDhDNi45MzkxMyAxNSA1LjkyMTcyIDE1LjQyMTQgNS4xNzE1NyAxNi4xNzE2QzQuNDIxNDMgMTYuOTIxNyA0IDE3LjkzOTEgNCAxOVYyMU0xNiA3QzE2IDkuMjA5MTQgMTQuMjA5MSAxMSAxMiAxMUM5Ljc5MDg2IDExIDggOS4yMDkxNCA4IDdDOCA0Ljc5MDg2IDkuNzkwODYgMyAxMiAzQzE0LjIwOTEgMyAxNiA0Ljc5MDg2IDE2IDdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5zaW5nbGVDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5zaW5nbGVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPlNpbmdsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5ncm91cENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+R3JvdXA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tb3N0Q29tbW9uQWdlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknXCIgY2xhc3M9XCJsZWZ0LWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1pc3NlZE9wcG9ydHVuaXR5Q291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5NaXNzZWQgb3Bwb3J0dW5pdHkgQ291bnQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1pc3NlZCBvcHBvcnR1bml0eSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzLnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDggPyAnMTZweCcgOiAnMThweCcpfVwiPjxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdpbnInXCI+4oK5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdkb2xsYXInXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTFcIiAqbmdJZj1cImdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5jdXJyZW5jeSA9PT0nYWVkJ1wiPtivLtilPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Qb3RlbnRpYWwgTG9zcyBSZXZlbnVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lmxvd0NvbnZlcnNpb25ab25lIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TG93IENvbnZlcnNpb24gWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkZlbWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSd0cmFmZmljJyAmJiAhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiIGNsYXNzPVwiY29sLW1kLTEwIGgtMTAwIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTMgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+VHJhZmZpYyBEZW5zaXR5IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlRyYWZmaWMgYW5hbHlzaXMgZGlzdHJpYnV0aW9uIGFjcm9zcyB0aGUgZGF5c1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuOTk4NyAxMC42NjY3VjguMDAwMDRNNy45OTg3IDUuMzMzMzdIOC4wMDUzNk0xNC42NjU0IDguMDAwMDRDMTQuNjY1NCAxMS42ODE5IDExLjY4MDYgMTQuNjY2NyA3Ljk5ODcgMTQuNjY2N0M0LjMxNjggMTQuNjY2NyAxLjMzMjAzIDExLjY4MTkgMS4zMzIwMyA4LjAwMDA0QzEuMzMyMDMgNC4zMTgxNCA0LjMxNjggMS4zMzMzNyA3Ljk5ODcgMS4zMzMzN0MxMS42ODA2IDEuMzMzMzcgMTQuNjY1NCA0LjMxODE0IDE0LjY2NTQgOC4wMDAwNFpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzM1Ml82ODhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0cmFmZmljSGVhdG1hcENoYXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj5Ed2VsbCBUaW1lIFNwbGl0IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUaW1lLWRpc3RyaWJ1dGVkIGZvb3RmYWxsIHdpdGggZGVtb2dyYXBoaWNzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03Ljk5ODcgMTAuNjY2N1Y4LjAwMDA0TTcuOTk4NyA1LjMzMzM3SDguMDA1MzZNMTQuNjY1NCA4LjAwMDA0QzE0LjY2NTQgMTEuNjgxOSAxMS42ODA2IDE0LjY2NjcgNy45OTg3IDE0LjY2NjdDNC4zMTY4IDE0LjY2NjcgMS4zMzIwMyAxMS42ODE5IDEuMzMyMDMgOC4wMDAwNEMxLjMzMjAzIDQuMzE4MTQgNC4zMTY4IDEuMzMzMzcgNy45OTg3IDEuMzMzMzdDMTEuNjgwNiAxLjMzMzM3IDE0LjY2NTQgNC4zMTgxNCAxNC42NjU0IDguMDAwMDRaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMzNTJfNjg4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gdy1hdXRvIGRyb3BzZWxlY3RcIiBpZD1cImRhdGVTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIHRyYWZmaWNEYXRhXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNoYXJ0RHdlbGxOb0RhdGEgJiYgIWNoYXJ0RHdlbGxsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImR3ZWxsQmFyQ2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnREd2VsbE5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXQtMjAgbWItNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC0yMCBjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YSAmJiAoc2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyB8fCBzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgfHwgc2VsZWN0ZWRUYWIgPT09J2VuZ2FnZXJzJyB8fCBzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgfHwgc2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgc2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5JylcIiBjbGFzcz1cImNvbC1tZC0xMCBoLTEwMCByaWdodC1iYXIgYm9yZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyB8fCBmb290ZmFsbFZhbHVlID09PSdkZW1vZ3JhcGhpYycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYnV5ZXInKSAmJiAhZGV0YWlsZWRDaGFydHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiICE9PSdwb3RlbnRpYWxCdXllcnMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXAgbXktMiBteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c0NhcmRcIiAoY2xpY2spPVwib25EYXRhc2V0Q2hhbmdlKGRhdGFzZXQudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwiZm9vdGZhbGxWYWx1ZSA9PT1kYXRhc2V0LnZhbHVlID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPnt7IGRhdGFzZXQubGFiZWwgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVGFiID09PSBkYXRhc2V0LmxhYmVsXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSB3LWF1dG8gbS0zIGRyb3BzZWxlY3RcIiBpZD1cImRhdGFzZXRTZWxlY3RcIiBbKG5nTW9kZWwpXT1cImZvb3RmYWxsVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c1wiIFt2YWx1ZV09XCJkYXRhc2V0LnZhbHVlXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZSBmdy1ib2xkIG10LTUgbWItMiBtcy0zXCIgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiPnt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyB0ZXh0LXN1YlwiPkJhc2VkIG9uIHt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2RlbW9ncmFwaGljJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGVtb05vRGF0YSAmJiAhZGVtb2xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZW1vR3JhcGhpY3NcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGVtb2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkZW1vTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkZW1vLWltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRGVtb2dyYXBoaWMgQW5hbHlzaXM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2J1eWVyJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYnV5ZXJzTm9EYXRhICYmICFidXllcnNsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiYnV5ZXJzQ2hhcnRzXCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJ1eWVyc2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJidXllcnNOb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImRlbW8taW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBCdXllciBBbmFseXNpczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSB0cnVlICYmIHNlbGVjdGVkVGFiID09PSdjb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0zIG14LTNcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmRcIiBbcGFnZVNpemVdPVwicGFnZVNpemVUcmFmZmljQ2FyZFwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZVRyYWZmaWNDYXJkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlVHJhZmZpY0NhcmQoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIodGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IHRydWUgJiYgc2VsZWN0ZWRUYWIgIT09J2NvbnZlcnNpb24nIHx8IHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSBmYWxzZSkgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGFydC1jb250YWluZXIgcHgtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwidGVzdEdyYXBoaWNzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoZWF0bWFwLWNvbnRhaW5lciBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWF0bWFwY2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIGNsYXNzPVwiY29sLW1kLTkgY2hhcnQtY29udGFpbmVyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0zIG10LTMgbWUtMCBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImhlYXRtYXBjaGFydFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJiYWNrVG9Gb290ZmFsbCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI1ODVfNzAzNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNS44MzI3IDE5SDE0LjE2Nk0xNC4xNjYgMTlMMTkuOTk5MyAyNC44MzM0TTE0LjE2NiAxOUwxOS45OTkzIDEzLjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjU4NV83MDM2XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBjdXJzb3ItcG9pbnRlciB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lXCIgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZUlkKVwiPnt7c3RvcmVOYW1lfX08L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+Rm9vdGZhbGwgVHJlbmQ8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gLSB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZXRhaWxlZENoYXJ0RGl2XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGxpYi10cmFmZmljLWNhcmQtY2hhcnRzIGNsYXNzPVwibXktMlwiPjwvbGliLXRyYWZmaWMtY2FyZC1jaGFydHM+IC0tPlxyXG4gICAgICAgIDxsaWItaW1hZ2UtZG9jICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEgJiYgKGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsRGlyZWN0b3J5IHx8IChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJylcIiBjbGFzcz1cIm15LTJcIj48L2xpYi1pbWFnZS1kb2M+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+UGVyZm9ybWFuY2UgTWF0cml4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlN0b3JlIHBlcmZvcm1hbmNlIGJhc2VkIG9uIG1ldHJpY3Mgc2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDMyXzgwMDM1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPnt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG14LTMgYWxpZ24taXRlbXMtY2VudGVyIHctNzVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0LXNtIGZvcm0tc2VsZWN0IG1lLTIgZHJvcHNlbGVjdFwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxWYWx1ZTFcIiAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRGaWx0ZXJlZEZvb3RmYWxsRGF0YXNldHMoKVwiIFtpZF09XCJvYmoubGFiZWxcIiBbdmFsdWVdPVwib2JqLnZhbHVlXCI+e3tvYmoubGFiZWx9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0yXCI+VnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdC1zbSBmb3JtLXNlbGVjdCBtcy0yIGRyb3BzZWxlY3RcIiBbKG5nTW9kZWwpXT1cImJvdW5jZVZhbHVlMVwiIChjaGFuZ2UpPVwib25Cb3VuY2VDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRGaWx0ZXJlZEJvdW5jZURhdGFzZXRzKClcIiBbaWRdPVwib2JqLmxhYmVsXCIgW3ZhbHVlXT1cIm9iai52YWx1ZVwiPnt7b2JqLmxhYmVsfX08L29wdGlvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInBlcmZvcm1hbmNlTG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwZXJmb3JtYW5jZW5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG10LTIwIG1iLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIG10LTIwIGNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyB7e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fSB2cyB7e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFwZXJmb3JtYW5jZUxvYWRpbmcgJiYgIXBlcmZvcm1hbmNlbm9EYXRhXCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWFkcmFudC1jaGFydCB6LTFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheGlzLWxhYmVsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gWCBBeGlzIExhYmVsIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LWF4aXMtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7Ym91bmNlTGFiZWwgfCB0aXRsZWNhc2V9fSAtPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFkgQXhpcyBMYWJlbCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwieS1heGlzLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fSAtPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIFRvcCBMZWZ0IFF1YWRyYW50IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwxXCI+SGlnaCA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj5Cb3VuY2U8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIExvdyA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPkJvdW5jZTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwhLS0gVG9wIFJpZ2h0IFF1YWRyYW50IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwxXCI+SGlnaCA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj5Cb3VuY2U8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIEhpZ2ggPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj5Cb3VuY2U8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tib3VuY2VMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIEJvdHRvbSBMZWZ0IFF1YWRyYW50IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwxXCI+TG93IDxzcGFuICpuZ0lmPVwiZm9vdGZhbGxMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPkJvdW5jZTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb290ZmFsbExhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Zm9vdGZhbGxMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPiwgTG93IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+Qm91bmNlPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Ym91bmNlTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBCb3R0b20gUmlnaHQgUXVhZHJhbnQgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVhZHJhbnRcIiBpZD1cInE0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbDFcIj5Mb3cgPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+Qm91bmNlPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBIaWdoIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+Qm91bmNlPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Ym91bmNlTGFiZWx8IHRpdGxlY2FzZX19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgcG9pbnRzXCIgY2xhc3M9XCJwb2ludFwiIFtuZ1N0eWxlXT1cInsndG9wJzogcG9pbnQudG9wICsgJyUnLCAnbGVmdCc6IHBvaW50LmxlZnQgKyAnJSd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgKGNsaWNrKT1cInRvZ2dsZVRvb2x0aXAocG9pbnQubmFtZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG90XCIgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ2xpY2thYmxlIGxhYmVsIHRoYXQgdG9nZ2xlcyB0aGUgdG9vbHRpcCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgei0xIG10LTRcIiAgc3R5bGU9XCJmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBwb2ludC5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEN1c3RvbSBUb29sdGlwIFBvcHVwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLXBvcHVwIHotNVwiICpuZ0lmPVwiYWN0aXZlVG9vbHRpcCA9PT0gcG9pbnQubmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LXdoaXRlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInN0b3JlVmlldyhwb2ludC5zdG9yZUlkKVwiPnt7IHBvaW50Lm5hbWUgfX08L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Bdmcge3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX06IHt7IHBvaW50LmF2Z0Zvb3RmYWxsIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTJcIj5PcGVuIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQub3BlblRpbWUgfX08L3N0cm9uZz48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNsb3NlIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQuY2xvc2VUaW1lIH19PC9zdHJvbmc+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1hcnJvd1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQWRkIG1vcmUgcG9pbnRzIGhlcmUgLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHgtNSBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5ab25lIER3ZWxsIFRpbWUgU3BsaXQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIk92ZXJhbGwgem9uZSBjb25jZW50cmF0aW9uIGFuZCBhdmVyYWdlIGR3ZWxsIHRpbWUgYWNyb3NzIHNlbGVjdGVkIHN0b3Jlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb1RvWm9uZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5HbyB0byBab25lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2Fsc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhem9uZUxvYWRpbmcgJiYgIXpvbmVOb0RhdGFcIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvem9uZS1pbWcuc3ZnXCIgYWx0PVwiU3RvcmUgTGF5b3V0XCIgY2xhc3M9XCJweC01IGltZy1zcmMgbXktMyBiYWNrZ3JvdW5kLWltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2VzL3pvbmUtaW1nMS5zdmdcIiBhbHQ9XCJTdG9yZSBMYXlvdXRcIiBjbGFzcz1cInB4LTUgaW1nLXNyYyBteS0zIGJhY2tncm91bmQtaW1hZ2VcIiAvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjZW50ZXJlZFwiPkNlbnRlcmVkPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGVudFwiICpuZ0Zvcj1cImxldCBwb2ludCBvZiB6b25lRHdlbGxUaW1lU3BsaXREYXRhXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lICE9PSdPdmVyYWxsIFN0b3JlJ1wiIGNsYXNzPVwidG9wLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC16b25lXCI+e3t6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lIDonRnJvbnQnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lIDonLS0nIH19IE1pbnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBjbGFzcz1cImNlbnRlcmVkLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA6J0Zyb250J319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPiBDb25jOiB7eyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LmNvbmNlbnRyYXRpb25SYXRlOictLScgfX0lIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lOictLScgfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgIT09J092ZXJhbGwgU3RvcmUnXCIgY2xhc3M9XCJib3R0b20tem9uZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy56b25lTmFtZSAgOiAnQmFjayd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPkR3ZWxsIHRpbWU6IHt7IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMV0/LmR3ZWxsVGltZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMl0/LmR3ZWxsVGltZTonLS0nfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi02IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vcm1hbGl6ZVwiIGNsYXNzPVwibXQtNSBjYXJkLWJvZHkgcmlnaHQtYmFyIHB5LTIwIG14LTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtem9uZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUgbXQtM1wiPkRhdGEgTm90IEZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5Ob3JtYWxpemVkIGRhdGEgaXMgbm90IGFwcGxpY2FibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub3JtYWxpemVcIiBjbGFzcz1cIm10LTUgY2FyZC1ib2R5IHJpZ2h0LWJhciBweS0yMCBteC01IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhLXpvbmVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFpvbmUgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cInB4LTUgaW1nLXNyYyBtYi0zXCIgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy96b25lLWltZy5zdmdcIiBhbHQ9XCJcIj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweC01IGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+U3RvcmUgT3BlcmF0aW9uc1xyXG4gICAgICAgICAgICAgICAgPHNwYW4gPiBcclxuICAgICAgICAgICAgICAgIDxzdmcgbmdiVG9vbHRpcD1cIkF2ZyBzdG9yZSBvcGVuICYgY2xvc2UgdGltZSBhY3Jvc3MgdGhlIHNlbGVjdGVkIHN0b3Jlc1wiIHBsYWNlbWVudD1cInRvcFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MzJfODAwMzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj57e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b24gIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+R28gdG8gVHJheDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z09wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP3N0b3JlT3BlcmF0aW9uRGF0YT8ub3ZlcmFsbD8uYXZnT3BlblRpbWU6Jy0tJyB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPjxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gT3BlbiBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC01IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIzMjZcIiBoZWlnaHQ9XCIyXCIgdmlld0JveD1cIjAgMCAzMjYgMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lIHkxPVwiMC43NVwiIHgyPVwiMzU2XCIgeTI9XCIwLjc1XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID9zdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+PHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnLiBDbG9zZSBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIiAgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uc3RvcmVOYW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBtdC0yXCI+VG9wIExhdGUgT3Blbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5hdmdTdG9yZU9wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uYXZnU3RvcmVPcGVuVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgT3BlbmluZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlcjEgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzdG9yZVZpZXcoc3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZU5hbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlT3BlcmF0aW9uRGF0YT8udG9wRWFybHlDbG9zZT8uc3RvcmVOYW1lIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgbXQtMlwiPlRvcCBFYXJseSBDbG9zZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcEVhcmx5Q2xvc2U/LmF2Z1N0b3JlQ2xvc2VUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5hdmdTdG9yZUNsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgQ2xvc2luZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjb2wtbWQtMTIgbXQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPlN1bW1hcnkgVGFibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZmlsdGVyIFN0YXJ0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWZpbHRlcnMgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBmaWx0ZXIgRW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdW0gQnV0dG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIoc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxICYmIGhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSAhPT0gaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSkgJiYgIW5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdzdW0nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYnRuLWxpZ2h0IGJ0bi1wcmltYXJ5IHRleHQtd2hpdGUnOiB0eXBlVmFsdWUgPT09ICdzdW0nfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnc3Ryb2tlJzogdHlwZVZhbHVlID09PSAnc3VtJyA/ICcjRkZGRkZGJyA6ICcjMzQ0MDU0J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuOTk5MzUgNC4xNjY3NVYxNS44MzM0TTQuMTY2MDIgMTAuMDAwMUgxNS44MzI3XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnc3VtJ31cIj5TdW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbjwhLS0gQXZlcmFnZSBCdXR0b24gLS0+XHJcbiA8c2VjdGlvbiAqbmdJZj1cIihzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDEgJiYgaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlICE9PSBoZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlKSBcclxuICYmICFub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdhdmVyYWdlJylcIlxyXG5jbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIlxyXG5bbmdDbGFzc109XCJ7J2J0bi1saWdodCBidG4tcHJpbWFyeSB0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+XHJcbjxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgW25nU3R5bGVdPVwieydzdHJva2UnOiB0eXBlVmFsdWUgPT09ICdhdmVyYWdlJyA/ICcjRkZGRkZGJyA6ICcjMTAxODI4J31cIj5cclxuICA8cGF0aCBkPVwiTTE3LjUgMTcuNUg4LjMzMzMzQzUuNTgzMzMgMTcuNSA0LjIwODMzIDE3LjUgMy4zNTQxNyAxNi42NDU4QzIuNSAxNS43OTE3IDIuNSAxNC40MTY3IDIuNSAxMS42NjY3VjIuNU01IDEwSDUuMDA3NU03LjQ5OTE3IDEwSDcuNTA1ODNNOS45OTc1IDEwSDEwLjAwNDJNMTIuNDk1OCAxMEgxMi41MDMzTTE0Ljk5NDIgMTBIMTUuMDAxN00xNy40OTI1IDEwSDE3LjVcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8cGF0aFxyXG4gICAgZD1cIk01IDUuODMzNDFDNS41NjA4MyA0Ljg5ODQxIDYuMzIyNSA0LjE2Njc1IDcuNDk0MTcgNC4xNjY3NUMxMi40NDY3IDQuMTY2NzUgOS42NjI1IDE0LjE2NjcgMTQuOTg1IDE0LjE2NjdDMTYuMTY1IDE0LjE2NjcgMTYuOTIxNyAxMy40MzAxIDE3LjUgMTIuNTAwMVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG48L3N2Zz5cclxuPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+QXZlcmFnZTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHN1bW1hcnkgdGFibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIiBjYWxzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVOYW1lJylcIj5TdG9yZSBOYW1lIDxzdmcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZU5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZUlkJylcIj5TdG9yZSBJRCA8c3ZnICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdkYXRlJylcIj5EYXRlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdmb290ZmFsbENvdW50JylcIj5Gb290ZmFsbCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYm91bmNlZENvdW50JylcIj5Cb3VuY2VkIEZvb3RmYWxsPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdib3VuY2VkQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JvdW5jZWRDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdlbmdhZ2Vyc0NvdW50JylcIj5FbmdhZ2VycyA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2VuZ2FnZXJzQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2VuZ2FnZXJzQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnbWlzc2VkT3Bwb3J0dW5pdHlDb3VudCcpXCI+TWlzc2VkIE9wcG9ydHVuaXR5PHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdtaXNzZWRPcHBvcnR1bml0eUNvdW50JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdtaXNzZWRPcHBvcnR1bml0eUNvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3BvdGVudGlhbEJ1eWVyc0NvdW50JylcIj5Qb3RlbnRpYWwgQnV5ZXJzIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAncG90ZW50aWFsQnV5ZXJzQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3BvdGVudGlhbEJ1eWVyc0NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NvbnZlcnNpb25SYXRlJylcIj5Db252ZXJzaW9uIFJhdGUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdjb252ZXJzaW9uUmF0ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY29udmVyc2lvblJhdGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnTk9CQ291bnQnKVwiPk5PQiBDb3VudCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ05PQkNvdW50JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdOT0JDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdmdEd2VsbFRpbWUnKVwiPkF2Zy5Ed2VsbCBUaW1lIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXZnRHdlbGxUaW1lJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdhdmdEd2VsbFRpbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYXZnSW5mcmFEb3dudGltZScpXCI+QXZnLkluZnJhIERvd25UaW1lIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXZnSW5mcmFEb3dudGltZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXZnSW5mcmFEb3dudGltZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdwYXNzZXJCeV9jb3VudCcpXCI+UGFzc2VyIEJ5PHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdwYXNzZXJCeV9jb3VudCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAncGFzc2VyQnlfY291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYmVsb3cxMicpXCI+QmVsb3cxMiA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JlbG93MTInICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JlbG93MTInID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnMTMtMTknKVwiPjEzLTE5IDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnMTMtMTknICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJzEzLTE5JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzIwLTMwJylcIj4yMC0zMCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzIwLTMwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICcyMC0zMCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzMxLTQwJylcIj4zMS00MCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzMxLTQwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00MCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzQxLTUwJylcIj40MS01MCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzQxLTUwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICc0MS01MCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzUxLTYwJylcIj41MS02MCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzUxLTYwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICc1MS02MCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzMxLTQ1JylcIj4zMS00NSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzMxLTQ1JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00NScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzQ2LTU5JylcIj40Ni01OSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzQ2LTU5JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICc0Ni01OScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc2MCBhYm92ZScpXCI+NjAgYWJvdmUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc2MCBhYm92ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNjAgYWJvdmUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnbWFsZScpXCI+TWFsZSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ21hbGUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ21hbGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnZmVtYWxlJylcIj5GZW1hbGUgPHN2ZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2ZlbWFsZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnZmVtYWxlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRTdW1tYXJ5VGFibGVEYXRhO2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNsaWNrKT1cInN0b3JlVmlldyhvYmopXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtY2FwaXRhbGl6ZSB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInN0b3JlVmlldyhvYmouc3RvcmVJZClcIj57e29iai5zdG9yZU5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnN0b3JlSWR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwib2JqPy5kYXRlXCI+e3tvYmo/LmRhdGUgfCBkYXRlOidNTU0gZGQsIHl5eXknfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5mb290ZmFsbENvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5ib3VuY2VkQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmVuZ2FnZXJzQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLm1pc3NlZE9wcG9ydHVuaXR5Q291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnBvdGVudGlhbEJ1eWVyc0NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5jb252ZXJzaW9uUmF0ZX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLk5PQkNvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5hdmdEd2VsbFRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmF2Z0luZnJhRG93bnRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnBhc3NlckJ5X2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5iZWxvdzEyfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29ialsnMTMtMTknXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmpbJzIwLTMwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbJzMxLTQwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbXCI0MS01MFwiXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIj57e29ialtcIjUxLTYwXCJdfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqWyczMS00NSddfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqW1wiNDYtNTlcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqW1wiNjAgYWJvdmVcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLm1hbGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmZlbWFsZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
3642
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQU1ULFNBQVMsRUFFVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sa0JBQWtCLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxvQkFBb0IsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBVSxNQUFNLE1BQU0sQ0FBQztBQUdoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFFdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxLQUFLLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyx3QkFB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QUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBOZ1pvbmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEhvc3RMaXN0ZW5lciwgQWZ0ZXJWaWV3SW5pdFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNVwiO1xyXG5pbXBvcnQgKiBhcyBhbTV4eSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS94eVwiO1xyXG5pbXBvcnQgYW01dGhlbWVzX0FuaW1hdGVkIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9BbmltYXRlZFwiO1xyXG5pbXBvcnQgYW01dGhlbWVzX1Jlc3BvbnNpdmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvdGhlbWVzL1Jlc3BvbnNpdmVcIjtcclxuaW1wb3J0ICogYXMgYW01cGVyY2VudCBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS9wZXJjZW50XCI7XHJcbmltcG9ydCB7IFRyYWZmaWNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RyYWZmaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JUb29sdGlwIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBFeGNlbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBtYXBib3hnbCBmcm9tICdtYXBib3gtZ2wnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLXNoYXJlZFwiO1xyXG5pbXBvcnQgeyBWaWRlb1VybENvbXBvbmVudCB9IGZyb20gXCIuLi92aWRlby11cmwvdmlkZW8tdXJsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgKiBhcyBib290c3RyYXAgZnJvbSBcImJvb3RzdHJhcFwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi10cmFmZmljLWFuYWx5c2lzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi90cmFmZmljLWFuYWx5c2lzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi90cmFmZmljLWFuYWx5c2lzLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFmZmljQW5hbHlzaXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJpdmF0ZSBsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBib3VuY2VkbGluZXJvb3Q6IGFtNS5Sb290O1xyXG4gIHByaXZhdGUgcG90ZW50aWFsQnV5ZXJzbGluZXJvb3Q6IGFtNS5Sb290O1xyXG4gIHByaXZhdGUgZW5nYWdlcnNsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgc29ydGVkQ29sdW1uOiBhbnk7XHJcbiAgc29ydERpcmVjdGlvbjogYW55O1xyXG4gIHByaXZhdGUgY2hhcnQ6IGFueTtcclxuICBwcml2YXRlIHRvb2x0aXBFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBnZXRDYXJkRGF0YTogYW55ID0gW107XHJcbiAgaGVhdE1hcERhdGE6IGFueSA9IFtdO1xyXG4gIGdldENhcmRHcmFwaERhdGE6IGFueTtcclxuICBnZXRTdW1tYXJ5VGFibGVEYXRhOiBhbnk7XHJcbiAgaXRlbXNQZXJQYWdlID0gMTA7XHJcbiAgY3VycmVudFBhZ2UgPSAxO1xyXG4gIHRvdGFsSXRlbXMgPSAxO1xyXG4gIHBhZ2luYXRpb25TaXplczphbnlbXSA9IFtdO1xyXG4gIHBhZ2VTaXplID0gMTA7XHJcbiAgb2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGxpbWl0OiBudW1iZXIgPSAxMDtcclxuICBnZXRSZWNhcFZpZGVvRGF0YTogYW55O1xyXG4gIHRhYmxlb2JqOiBhbnk7XHJcbiAgaGVhdE1hcHJvb3Q6IGFtNS5Sb290O1xyXG4gIHZhbHVlVHlwZT1cImFjdHVhbFwiXHJcbiAgZGF0ZVR5cGU9XCJ3ZWVrbHlcIjtcclxuICBwb2ludHM6YW55ID0gW107XHJcbiAgaGVhZGVyRGF0YTogYW55O1xyXG4gIHR5cGVWYWx1ZTogYW55ID0nc3VtJztcclxuICB2YWx1ZUNvbnZlcnNpb25SYXRlOiBhbnk7XHJcbiAgY29udmVyc2lvblZhbHVlOiBhbnk9Jyc7XHJcbiAgc2VhcmNoVmFsdWU6IGFueTtcclxuICBsb2FkaW5nOiBib29sZWFuID10cnVlO1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgY2FyZGxvYWRpbmc6IGJvb2xlYW4gPXRydWU7XHJcbiAgY2FyZE5vZGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgaGVhdGxvYWRpbmcgPSB0cnVlXHJcbiAgaGVhdG5vRGF0YSA9IGZhbHNlXHJcbiAgc3RvcmVJZGFycmF5OiBhbnkgPVtdO1xyXG4gIGdldFJlY2FwRGF0YTogYW55PVtdO1xyXG4gIGZvcm06IGFueTtcclxuICBkYXRlTGVuZ3RoOiBudW1iZXI7XHJcbiAgcGVyZm9ybWFuY2Vub0RhdGE6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIHBlcmZvcm1hbmNlTG9hZGluZzogYm9vbGVhbiA9dHJ1ZTtcclxuICB6b25lRHdlbGxUaW1lU3BsaXREYXRhOiBhbnk9W107XHJcbiAgc3RvcmVPcGVyYXRpb25EYXRhOiBhbnk9W107XHJcbiAgZm9vdGZhbGxOYW1lOiBzdHJpbmc9J0FjdHVhbCBGb290ZmFsbCc7XHJcbiAgYm91bmNlTGFiZWw6IGFueTtcclxuICBmb290ZmFsbExhYmVsOiBhbnk7XHJcbiAgY29sVmFsdWU6IGFueTtcclxuICByZWNhcGxhb2Rpbmc6IGJvb2xlYW47XHJcbiAgcmVjYXBub0RhdGE6IGJvb2xlYW47XHJcbiAgcmVjYXBzR3JvdXBlZDogYW55W109W107XHJcbiAgaXNBdmVyYWdlOiBib29sZWFuID0gZmFsc2U7IC8vIFRvZ2dsZSBzdGF0ZSBmb3IgdGhlIHN3aXRjaFxyXG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIHpvbmVMb2FkaW5nID0gdHJ1ZTtcclxuIHpvbmVOb0RhdGEgPSBmYWxzZTtcclxuICBjbGllbnREYXRhOiBhbnk7XHJcbiAgbm9iOiBib29sZWFuO1xyXG4gIGZvcmVjYXN0OiBhbnk7XHJcbiAgbWF4Rm9vdGZhbGw6IGFueTtcclxuICBtaW5Gb290ZmFsbDogYW55O1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVDbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcudG9vbHRpcC1wb3B1cCwgLmxhYmVsJyk7XHJcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuICAgICAgdGhpcy5hY3RpdmVUb29sdGlwID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgYWN0aXZlVG9vbHRpcDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGF1TG9jYXRpb25zOiBhbnlbXSA9IFtdO1xyXG4gIG1hcE9wdGlvbnM6IGdvb2dsZS5tYXBzLk1hcE9wdGlvbnMgPSB7XHJcbiAgICBtYXBJZDogXCJERU1PX01BUF9JRFwiLFxyXG4gICAgY2VudGVyOiB7IGxhdDogMCwgbG5nOiAwIH0sICAvLyBJbml0aWFsIGNlbnRlclxyXG4gICAgem9vbTogMSxcclxuICB9O1xyXG5cclxuICBwZXJmb3JtYW5jZURhdGE6YW55ID0gW107XHJcbiAgbXBhbG9hZGluZyA9dHJ1ZTtcclxuICBtYXBub0RhdGE9IGZhbHNlO1xyXG4gIGZvb3RmYWxsZGF0YXNldHMgPSBbXHJcbiAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2JvdW5jZWQnLCBsYWJlbDogJ0JvdW5jZWQgRm9vdGZhbGwnIH0sXHJcbiAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiAnRW5nYWdlcnMnIH0sXHJcbiAgICB7IHZhbHVlOiAnbWlzc2VkT3Bwb3J0dW5pdHknLCBsYWJlbDogJ01pc3NlZCBPcHBvcnR1bml0eScgfSxcclxuICAgIHsgdmFsdWU6ICdwb3RlbnRpYWxCdXllcicsIGxhYmVsOiAnUG90ZW50aWFsIEJ1eWVyJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogJ0NvbnZlcnNpb24nIH1cclxuICBdO1xyXG4gIGJvdW5jZWRhdGFzZXRzID0gW1xyXG4gICAgeyB2YWx1ZTogJ2Zvb3RmYWxsJywgbGFiZWw6ICdGb290ZmFsbCcgfSxcclxuICAgIHsgdmFsdWU6ICdib3VuY2VkJywgbGFiZWw6ICdCb3VuY2VkIEZvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2VuZ2FnZXInLCBsYWJlbDogJ0VuZ2FnZXJzJyB9LFxyXG4gICAgeyB2YWx1ZTogJ21pc3NlZE9wcG9ydHVuaXR5JywgbGFiZWw6ICdNaXNzZWQgT3Bwb3J0dW5pdHknIH0sXHJcbiAgICB7IHZhbHVlOiAncG90ZW50aWFsQnV5ZXInLCBsYWJlbDogJ1BvdGVudGlhbCBCdXllcicgfSxcclxuICAgIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6ICdDb252ZXJzaW9uJyB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIscHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgZXhjZWxTZXJ2aWNlOiBFeGNlbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRyYWZmaWNTZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLCBwcml2YXRlIGZiOkZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcclxuICApIHtcclxuIFxyXG4gICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICBzZWxlY3RWYWx1ZTogbmV3IEZvcm1Db250cm9sKCcnKSAvLyBJbml0aWFsaXplIGFzIEZvcm1Db250cm9sXHJcbiAgICAgICAgIH0pO1xyXG4gIH1cclxuICBAVmlld0NoaWxkKFwidFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9vbHRpcDogTmdiVG9vbHRpcDtcclxuICB0b29sdGlwVmFsdWU6IHN0cmluZztcclxuICBib3VuY2VWYWx1ZTE6YW55O1xyXG4gIGNsaWVudEFQSURhdGE6YW55O1xyXG4gIHVzZXJzOmFueTtcclxuICAgc3ViMjpTdWJzY3JpcHRpb24gfCB1bmRlZmluZWRcclxuICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgIHByb2Nlc3NUeXBlPVwibWlzc2Vkb3Bwb3J0dW5pdGllc1wiXHJcbiAgIHRyZW5kdHlwZVZhbHVlOiBhbnkgPSdhdmVyYWdlJztcclxuICAgbm9ybWFsaXplOmFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIChtYXBib3hnbCBhcyBhbnkpLmFjY2Vzc1Rva2VuID0gJ3BrLmV5SjFJam9pWW1Gc1lXcHBkR0Z1WjI4aUxDSmhJam9pWTIwd1oyeGllbTU1TURGeFlUSjNiMjF6YjNGak5IZHdheUo5Lm5uSUl6dDdPZVlsWUh1ZkdFOGxGV1EnO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgdGhpcy5saW1pdD0xMDtcclxuICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIik7XHJcbiAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgXHJcbiAgICAvLyBjb25zdCBjbGllbnREYXRhOmFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJjbGllbnQtZGV0YWlsc1wiKSB8fCBcInt9XCIpO1xyXG4gICAgLy8gdGhpcy5jbGllbnREYXRhID0gY2xpZW50RGF0YVxyXG4gICAgLy8gY29uc3QgY2xpZW50QVBJRGF0YTphbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2xpZW50QVBJLWRldGFpbHNcIikgfHwgXCJ7fVwiKTtcclxuICAgIC8vIHRoaXMuY2xpZW50QVBJRGF0YSA9IGNsaWVudEFQSURhdGFcclxuICAgICAgXHJcbi8vICBjb25zb2xlLmxvZyggdGhpcy5jbGllbnREYXRhLHRoaXMuY2xpZW50QVBJRGF0YSx0aGlzLm5vYilcclxuXHJcbiAgICB0aGlzLmdzPy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLGRlYm91bmNlVGltZSgzMDApLClcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlPScnO1xyXG4gICAgICAgICAgdGhpcy5kYXRlTGVuZ3RoID0gZ2V0RGF5c0JldHdlZW5EYXRlcyhkYXRhPy5kYXRlLnN0YXJ0RGF0ZSwgZGF0YT8uZGF0ZS5lbmREYXRlKTtcclxuICAgICAgICAgIGlmICh0aGlzLmRhdGVMZW5ndGggPiAyOClcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwibW9udGhseVwiO1xyXG4gICAgICAgICAgZWxzZSBpZiAodGhpcy5kYXRlTGVuZ3RoID4gNSlcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwid2Vla2x5XCI7XHJcbiAgICAgICAgICBlbHNlIGlmKHRoaXMuZGF0ZUxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwid2Vla2x5XCI7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlVHlwZT1cImFjdHVhbFwiO1xyXG4gICAgICAgICAgdGhpcy50eXBlVmFsdWU9XCJzdW1cIlxyXG4gICAgICAgICAgdGhpcy5pc0F2ZXJhZ2UgPSBmYWxzZVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5zdWIyID0gIHRoaXMuc2VydmljZT8uZ2V0QnJhbmREZXRhaWxzKHRoaXMudXNlcnM/LmNsaWVudElkID8gdGhpcy51c2Vycz8uY2xpZW50SWQ6ZGF0YT8uY2xpZW50KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlczphbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbGllbnREYXRhID1yZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemUgPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5pc05vcm1hbGl6ZWQ7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZUlkYXJyYXkgPSB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0b3JlSWRhcnJheSlcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlb2JqID0ge1xyXG4gICAgICAgICAgICAgICAgZnJvbURhdGU6IGRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICAgICAgICAgICAgdG9EYXRlOiBkYXRhPy5kYXRlLmVuZERhdGUsXHJcbiAgICAgICAgICAgICAgICBzdG9yZUlkOiBkYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICAgICAgICAgICAgY2xpZW50SWQ6IGRhdGE/LmNsaWVudCA/IGRhdGE/LmNsaWVudCA6JycsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVR5cGU6IHRoaXMudmFsdWVUeXBlLFxyXG4gICAgICAgICAgICAgICAgbm9iOnRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncy5pc05PQixcclxuICAgICAgICAgICAgICAgIGRhdGVUeXBlOiB0aGlzLmRhdGVUeXBlLFxyXG4gICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlPy50b2dnbGVub2IodGhpcy5jbGllbnREYXRhLmZlYXR1cmVDb25maWdzLmlzTk9CKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZT8udG9nZ2xlQXZlcmFnZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gdGhpcy5ub2JcclxuICAgICAgICAgICAgICA/IFwiTm9CIERlcml2ZWRcIlxyXG4gICAgICAgICAgICAgIDogdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlnc1xyXG4gICAgICAgICAgICAgICAgICA/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJ1xyXG4gICAgICAgICAgICAgID8gXCJlbmdhZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgOiBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRGdW5uYWwoKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtYW5jZSgpO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMubm9ybWFsaXplID09PSB0cnVlKXsgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuem9uZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuem9uZU5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlT3BlcmF0aW9uRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRab25lKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRab25lVmFsdWUoKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmdldEludGlhbCgpO1xyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgdGhpcy5ub2IgPSAhIXRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTk9CO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgLy8gdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLm5vYiA/ICdOb0IgRGVyaXZlZCcgOiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSdcImVuZ2FnZXJzLWNvbnZlcnNpb25cIicgPyAnY29udmVyc2lvbic6ICdmb290ZmFsbCcgO1xyXG4gICAgICAgICAgICAgIC8vIHRoaXMuY29udmVyc2lvblZhbHVlID0gdGhpcy5ub2IgPyAnTm9CIERlcml2ZWQnIDogJ2Zvb3RmYWxsJztcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgdGhpcy5vYmpEYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMucHJvY2Vzc1R5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckJ5OiB0aGlzLnRyZW5kdHlwZVZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW1pdDogMzEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVUeXBlOiB0aGlzLnZhbHVlVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbm9iOnRoaXMubm9iLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5ub3JtYWxpemUgPT09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjYXBWaWRlb0RhdGEgPVtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFJlY2FwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmVuZHR5cGVWYWx1ZSA9ICdhY3R1YWwnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vcm1hbGl6ZSh0aGlzLm5vcm1hbGl6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZW5kdHlwZVZhbHVlID0gJ2F2ZXJhZ2UnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgQVBJIGFmdGVyIG9iakRhdGEgaXMgZnVsbHkgcHJlcGFyZWRcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUxlbmd0aCA9IGdldERheXNCZXR3ZWVuRGF0ZXMoZGF0YT8uZGF0ZS5zdGFydERhdGUsIGRhdGE/LmRhdGUuZW5kRGF0ZSk7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsVmFsdWUgPSB0aGlzLmdldEluaXRpYWxWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0Q29udHJvbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RDb250cm9sLnNldFZhbHVlKGluaXRpYWxWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnRzPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkVGFiID0gXCJ0cmFmZmljXCJcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsZWN0ZWRUYWJzKCd0cmFmZmljJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0c0NhcmQgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiB0aGlzLmZvb3RmYWxsVmFsdWUsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogXCJkZW1vZ3JhcGhpY1wiLCBsYWJlbDogXCJEZW1vZ3JhcGhpYyBBbmFseXNpc1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiBcImJ1eWVyXCIsIGxhYmVsOiBcIkJ1eWVyIEFuYWx5c2lzXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhZmZpY0RhdGEgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiA3LCBsYWJlbDogXCJMYXN0IDcgRGF5c1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAzMCwgbGFiZWw6IFwiTGFzdCAzMCBEYXlzXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxEYXRlID10aGlzLnRyYWZmaWNEYXRhWzBdLnZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1R5cGU6ICdmb290ZmFsbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkRGF0YTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVR5cGUgOnRoaXMudmFsdWVUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9iOnRoaXMubm9iLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1OScpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdGb290ZmFsbCBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIC8vIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiY2xpZW50QVBJLWRldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5jbGllbnREYXRhPy5jbGllbnRBcGkpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zdWIyPy51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN1YjI/LnVuc3Vic2NyaWJlKClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIC8vIE9ubHkgcHJvY2VzcyB0aGUgbGF0ZXN0IGRhdGEgYWZ0ZXIgZGVib3VuY2UgdGltZVxyXG4gICAgIFxyXG4gICAgICAgXHJcbiAgICAgICAgLy8gdGhpcy5pbml0TWFwKCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwVmFsdWUgPSBcIkRlZmF1bHQgVG9vbHRpcCBUZXh0XCI7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEgJiYgdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgPT09IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG59XHJcblxyXG4gICAgICB9KTtcclxuICAgICBcclxuICAgIHRoaXMuZm9vdGZhbGxWYWx1ZTEgPSB0aGlzLmZvb3RmYWxsZGF0YXNldHNbMF0udmFsdWU7XHJcbiAgICB0aGlzLmJvdW5jZVZhbHVlMSA9IHRoaXMuYm91bmNlZGF0YXNldHNbMV0udmFsdWU7XHJcbiAgICB0aGlzLmZvb3RmYWxsTGFiZWwgPSB0aGlzLmZvb3RmYWxsZGF0YXNldHNbMF0ubGFiZWw7XHJcbiAgICB0aGlzLmJvdW5jZUxhYmVsID0gdGhpcy5ib3VuY2VkYXRhc2V0c1sxXS5sYWJlbDtcclxuICAgXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAvLyBJbml0aWFsaXplIHRvb2x0aXBzIGFmdGVyIHRoZSB2aWV3IGlzIGluaXRpYWxpemVkXHJcbiAgICBjb25zdCB0b29sdGlwVHJpZ2dlckxpc3QgPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIl0nKSk7XHJcbiAgICB0b29sdGlwVHJpZ2dlckxpc3QuZm9yRWFjaChmdW5jdGlvbiAodG9vbHRpcFRyaWdnZXJFbCkge1xyXG4gICAgICBuZXcgYm9vdHN0cmFwLlRvb2x0aXAodG9vbHRpcFRyaWdnZXJFbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0RmlsdGVyZWRCb3VuY2VEYXRhc2V0cygpIHtcclxuICAgIHJldHVybiB0aGlzLmJvdW5jZWRhdGFzZXRzLmZpbHRlcihkYXRhc2V0ID0+IGRhdGFzZXQudmFsdWUgIT09IHRoaXMuZm9vdGZhbGxWYWx1ZTEpO1xyXG4gIH1cclxuICBcclxuICAvLyBGaWx0ZXIgdGhlIGZvb3RmYWxsIG9wdGlvbnMgd2hlbiB0aGUgYm91bmNlVmFsdWUgY2hhbmdlc1xyXG4gIGdldEZpbHRlcmVkRm9vdGZhbGxEYXRhc2V0cygpIHtcclxuICAgIHJldHVybiB0aGlzLmZvb3RmYWxsZGF0YXNldHMuZmlsdGVyKGRhdGFzZXQgPT4gZGF0YXNldC52YWx1ZSAhPT0gdGhpcy5ib3VuY2VWYWx1ZTEpO1xyXG4gIH1cclxuICBmb290ZmFsbFZhbHVlMT0nZm9vdGZhbGwnXHJcbiAgb25WYWx1ZUNoYW5nZShldnQ6IGFueSkge1xyXG4gICAgdGhpcy5mb290ZmFsbFZhbHVlMSA9IGV2dC50YXJnZXQudmFsdWU7XHJcbmlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2Zvb3RmYWxsJylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSAnRm9vdGZhbGwnXHJcbmVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnYm91bmNlZCcpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gJ0JvdW5jZWQgRm9vdGZhbGwnXHJcbmVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnZW5nYWdlcicpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gJ0VuZ2FnZXJzJ1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ21pc3NlZE9wcG9ydHVuaXR5JylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSAnTWlzc2VkIE9wcG9ydHVuaXR5J1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ3BvdGVudGlhbEJ1eWVyJylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSAnUG90ZW50aWFsIEJ1eWVyJ1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2NvbnZlcnNpb24nKVxyXG4gIHRoaXMuZm9vdGZhbGxMYWJlbCA9ICdjb252ZXJzaW9uJ1xyXG4gICAgaWYodGhpcy5mb290ZmFsbFZhbHVlMSAhPT0gdGhpcy5ib3VuY2VWYWx1ZTEpXHJcbiAgICAgIHRoaXMucGVyZm9ybWFuY2UoKTtcclxuICAgIGVsc2UgXHJcbiAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoJ1NhbWUgdmFsdWUgbm90IGZpbHRlcmVkJylcclxuICB9XHJcbiAgb25Cb3VuY2VDaGFuZ2UoZXZ0OiBhbnkpIHtcclxuICAgIHRoaXMuYm91bmNlVmFsdWUxID0gZXZ0LnRhcmdldC52YWx1ZTtcclxuICAgIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2Zvb3RmYWxsJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdGb290ZmFsbCdcclxuICAgIGVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnYm91bmNlZCcpXHJcbiAgICAgIHRoaXMuYm91bmNlTGFiZWwgPSAnQm91bmNlZCBGb290ZmFsbCdcclxuICAgIGVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnZW5nYWdlcicpXHJcbiAgICAgIHRoaXMuYm91bmNlTGFiZWwgPSAnRW5nYWdlcnMnXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ21pc3NlZE9wcG9ydHVuaXR5JylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdNaXNzZWQgT3Bwb3J0dW5pdHknXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ3BvdGVudGlhbEJ1eWVyJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdQb3RlbnRpYWwgQnV5ZXInXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2NvbnZlcnNpb24nKVxyXG4gICAgICB0aGlzLmJvdW5jZUxhYmVsID0gJ2NvbnZlcnNpb24nXHJcbiAgICBpZih0aGlzLmZvb3RmYWxsVmFsdWUxICE9PSB0aGlzLmJvdW5jZVZhbHVlMSlcclxuICAgIHRoaXMucGVyZm9ybWFuY2UoKTtcclxuICBlbHNlIFxyXG4gIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdCgnU2FtZSB2YWx1ZSBub3QgZmlsdGVyZWQnKVxyXG4gIH1cclxuICBjb252ZXJ0UGVyY2VudFRvUGl4ZWxzKHBlcmNlbnQ6IHN0cmluZywgbWF4UGVyY2VudDogbnVtYmVyLCBiYXNlRGltZW5zaW9uOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgLy8gUmVtb3ZlIHRoZSAnJScgc2lnbiBhbmQgcGFyc2UgdGhlIHZhbHVlXHJcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQocGVyY2VudC5yZXBsYWNlKCclJywgJycpKTtcclxuICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiAwO1xyXG4gIFxyXG4gICAgLy8gQ2FsY3VsYXRlIHBpeGVsIHZhbHVlIGJhc2VkIG9uIHRoZSBtYXhpbXVtIHBlcmNlbnRhZ2UgYW5kIGJhc2UgZGltZW5zaW9uXHJcbiAgICByZXR1cm4gKHZhbHVlIC8gbWF4UGVyY2VudCkgKiBiYXNlRGltZW5zaW9uO1xyXG4gIH1cclxuICBcclxuXHJcbiAgZ2V0TWF4UGVyY2VudGFnZShkYXRhOiBhbnlbXSwgZmllbGQ6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAvLyBFeHRyYWN0IGFuZCByZXR1cm4gdGhlIG1heGltdW0gcGVyY2VudGFnZSB2YWx1ZSBmcm9tIHRoZSBmaWVsZFxyXG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLmRhdGEubWFwKGl0ZW0gPT4gcGFyc2VGbG9hdChpdGVtW2ZpZWxkXSkgfHwgMCkpO1xyXG4gIH1cclxuICBcclxuICAvLyBub3JtYWxpemVEYXRhKGRhdGE6IGFueVtdKTogYW55W10ge1xyXG4gIC8vICAgY29uc3QgbWF4VG9wUGVyY2VudCA9IE1hdGgubWF4KC4uLmRhdGEubWFwKGl0ZW0gPT4gcGFyc2VGbG9hdChpdGVtLnRvcC5yZXBsYWNlKCclJywgJycpKSkpO1xyXG4gIC8vICAgY29uc3QgbWF4TGVmdFBlcmNlbnQgPSBNYXRoLm1heCguLi5kYXRhLm1hcChpdGVtID0+IHBhcnNlRmxvYXQoaXRlbS5sZWZ0LnJlcGxhY2UoJyUnLCAnJykpKSk7XHJcbiAgXHJcbiAgLy8gICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG4gIC8vICAgICAuLi5pdGVtLFxyXG4gIC8vICAgICB0b3A6IHRoaXMuc2NhbGVQZXJjZW50KGl0ZW0udG9wLCBtYXhUb3BQZXJjZW50KSArICclJyxcclxuICAvLyAgICAgbGVmdDogdGhpcy5zY2FsZVBlcmNlbnQoaXRlbS5sZWZ0LCBtYXhMZWZ0UGVyY2VudCkgKyAnJSdcclxuICAvLyAgIH0pKTtcclxuICAvLyB9XHJcbiAgXHJcbiAgc2NhbGVQZXJjZW50KHBlcmNlbnQ6IHN0cmluZywgbWF4UGVyY2VudDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBlcmNlbnRWYWx1ZSA9IHBhcnNlRmxvYXQocGVyY2VudC5yZXBsYWNlKCclJywgJycpKTtcclxuICAgIHJldHVybiAoKHBlcmNlbnRWYWx1ZSAvIG1heFBlcmNlbnQpICogMTAwKS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuLy8gVG9nZ2xlIHRoZSB0b29sdGlwIGRpc3BsYXlcclxudG9nZ2xlVG9vbHRpcChwb2ludE5hbWU6IHN0cmluZykge1xyXG4gIHRoaXMuYWN0aXZlVG9vbHRpcCA9IHRoaXMuYWN0aXZlVG9vbHRpcCA9PT0gcG9pbnROYW1lID8gbnVsbCA6IHBvaW50TmFtZTtcclxufVxyXG5cclxucGVyZm9ybWFuY2UoKXtcclxuICB0aGlzLnBlcmZvcm1hbmNlTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5wZXJmb3JtYW5jZW5vRGF0YSA9IGZhbHNlO1xyXG4gIGxldCBvYmogPSB7XHJcbiAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIG5vcm1hbGl6ZTogdGhpcy5ub3JtYWxpemUsXHJcbiAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICBwcm9jZXNzdHlwZTE6IHRoaXMuZm9vdGZhbGxWYWx1ZTEsXHJcbiAgIHByb2Nlc3N0eXBlMiA6IHRoaXMuYm91bmNlVmFsdWUxXHJcbiAgfTtcclxuICB0aGlzLnNlcnZpY2UucGVyZm9ybWFuY2VNYXRyaXgob2JqKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICA/LnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZURhdGEgPSByZXM/LmRhdGE/LnBlcmZvcm1hbmNlRGF0YVxyXG4gICAgICAgIC8vIHRoaXMucGVyZm9ybWFuY2VEYXRhID0gdGhpcy5ub3JtYWxpemVEYXRhKHRoaXMucGVyZm9ybWFuY2VEYXRhKTtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgbWF4aW11bSBwZXJjZW50YWdlc1xyXG4gICAgICAgIC8vIGNvbnN0IG1heFRvcCA9IE1hdGgubWF4KC4uLnRoaXMucGVyZm9ybWFuY2VEYXRhLm1hcCgoaXRlbTphbnkpID0+IHBhcnNlRmxvYXQoaXRlbS50b3AucmVwbGFjZSgnJScsICcnKSkpKTtcclxuICAgICAgICAvLyBjb25zdCBtYXhMZWZ0ID0gTWF0aC5tYXgoLi4udGhpcy5wZXJmb3JtYW5jZURhdGEubWFwKChpdGVtOmFueSkgPT4gcGFyc2VGbG9hdChpdGVtLmxlZnQucmVwbGFjZSgnJScsICcnKSkpKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBDb252ZXJ0IHBlcmZvcm1hbmNlIGRhdGEgdG8gcGl4ZWwgdmFsdWVzXHJcbiAgICAgICAgdGhpcy5wb2ludHMgPSB0aGlzLnBlcmZvcm1hbmNlRGF0YS5tYXAoKGRhdGE6IGFueSkgPT4gKHtcclxuICAgICAgICAgIG5hbWU6IGRhdGEuc3RvcmVOYW1lLFxyXG4gICAgICAgICAgc3RvcmVJZDogZGF0YS5zdG9yZUlkLFxyXG4gICAgICAgICAgYXZnRm9vdGZhbGw6IGRhdGEuYXZnLFxyXG4gICAgICAgICAgb3BlblRpbWU6IGRhdGEuYXZnT3BlblRpbWUsXHJcbiAgICAgICAgICBjbG9zZVRpbWU6IGRhdGEuYXZnQ2xvc2VUaW1lLFxyXG4gICAgICAgICAgdG9wOiBkYXRhLnRvcCwgLy8gQXNzdW1pbmcgNTAwcHggYXMgdGhlIGJhc2UgaGVpZ2h0XHJcbiAgICAgICAgICBsZWZ0OiBkYXRhLmxlZnQgIC8vIEFzc3VtaW5nIDEwMDBweCBhcyB0aGUgYmFzZSB3aWR0aFxyXG4gICAgICAgIH0pKTsgXHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlbm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlbm9EYXRhID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcFRleHQoKTogc3RyaW5nIHtcclxuICAgIC8vIExvZ2ljIHRvIGRldGVybWluZSB0aGUgdG9vbHRpcCB0ZXh0XHJcbiAgICByZXR1cm4gXCJEeW5hbWljIFRvb2x0aXAgVGV4dCBcIiArIG5ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGdW5uYWwoKXtcclxuICAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlPSB0aGlzLnZhbHVlVHlwZSxcclxuICAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZTtcclxuICAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG4gICAgIGlmKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnZm9vdGZhbGwnKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9ICdmb290ZmFsbC1jb3VudCc7XHJcbiAgICAgfSBpZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdlbmdhZ2Vycycpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2VuZ2FnZXJzLWNvdW50JztcclxuICAgICB9aWYgKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnUG90ZW50aWFsIEJ1eWVycycpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2JpbGxhYmxlLWNvdW50JztcclxuICAgICB9IGlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnbm9iJztcclxuICAgICB9XHJcbiAgICAgXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0OyBcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0Qnk7XHJcbiAgICB0aGlzLmhlYXRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlO1xyXG4gICBkZWxldGUgdGhpcy50YWJsZW9iai5kYXRlVHlwZVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRGdW5uZWxDYXJkcyh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLmdldENhcmREYXRhID0gcmVzPy5kYXRhPy5jYXJkO1xyXG4gICAgICAgICAgICB0aGlzLmhlYXRNYXBEYXRhID0gcmVzPy5kYXRhPy5mdW5uZWxDaGFydDtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5oZWF0TWFwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgIHRoaXMuaGVhdE1hcERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5oZWF0bG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLmhlYXRub0RhdGEgPSB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldENhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuaGVhdE1hcERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBnZXRGb290ZmFsbENhcmREYXRhOmFueT1bXTtcclxuICBnZXRDb252ZXJzaW9uQ2FyZERhdGE6YW55PVtdO1xyXG4gIGdldEJvdW5jZWRDYXJkRGF0YTphbnkgPVtdO1xyXG4gIGdldEVuZ2FnZXJzQ2FyZERhdGE6YW55PVtdO1xyXG4gIGdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhOmFueSA9W107XHJcbiAgZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhOmFueSA9W107XHJcbiAgZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YTphbnk9W107XHJcbmdldEludGlhbCgpe1xyXG4gIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbiAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4gICh0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9IHRoaXMudmFsdWVUeXBlKSxcclxuICAodGhpcy50YWJsZW9iai5mcm9tRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUpO1xyXG50aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG50aGlzLmdldEZvb3RmYWxsQ2FyZCgpO1xyXG50aGlzLmdldENvbnZlcnNpb25DYXJkKCk7XHJcbnRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxudGhpcy5nZXRFbmdhZ2Vyc0NhcmQoKTtcclxudGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkKCk7XHJcbnRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbnRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzKCk7XHJcbn1cclxuZm9vdGZhbGxsb2FkaW5nID10cnVlO1xyXG5mb290ZmFsbE5vZGF0YSA9ZmFsc2U7XHJcbiAgZ2V0Rm9vdGZhbGxDYXJkKCl7XHJcbiAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPWZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRGb290ZGZhbGxDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICBpZih0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGE/LmRhdGE/LmZvb3RmYWxsPy5kYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxsaW5lQ2hhcnRzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbE5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRGb290ZmFsbENhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsTm9kYXRhID10cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YSA9W107XHJcbiAgICAgICAgdGhpcy5mb290ZmFsbGxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIFxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29udmVyc2lvbkNhcmQoKXtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgICAuZ2V0Q29udmVyc2lvbkNhcmRMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgICBpZiAodGhpcy5ub2IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2I/Lm5vYjtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ05vQiBEZXJpdmVkJztcclxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzPy5yYXRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSAnZW5nYWdlcnMnO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGw/LnJhdGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdmb290ZmFsbCc7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfSxcclxuICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhID1bXTtcclxuICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgfSwgXHJcbiAgICAgICAgIH0pXHJcbiAgICAgfVxyXG4gICAgIGJvdW5jZWROb2RhdGEgPWZhbHNlO1xyXG4gICAgIGdldEJvdW5jZWRDYXJkKCl7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldEJvdW5jZWRDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5nZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLmJvdW5jZWRsaW5lQ2hhcnRzKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID1mYWxzZTtcclxuICAgICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEJvdW5jZWRDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJvdW5jZWROb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmJvdW5jZWROb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSwgXHJcbiAgICAgICAgfSkgXHJcbiAgICB9XHJcbiAgICBlbmdhZ2Vyc05vZGF0YSA9ZmFsc2U7XHJcbiAgICBnZXRFbmdhZ2Vyc0NhcmQoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0RW5nYWdlcnNDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMuZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLmVuZ2FnZXJzbGluZUNoYXJ0cygpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5lbmdhZ2Vyc05vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBnZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldE1pc3NlZE9wcG9ydHVuaXR5Q2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eURhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eURhdGEgPVtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhID1bXTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSwgXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBwb3RlbnRpYWxOb2RhdGEgPWZhbHNlO1xyXG4gICAgZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZCgpe1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRQb3RlbnRpYWxCdXllcnNDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICBpZih0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbGxpbmVDaGFydHMoKTtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbE5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMucG90ZW50aWFsTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbE5vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5wb3RlbnRpYWxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGdldFBvdGVudGlhbEJ1eWVycygpe1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0UG90ZW50aWFsQnV5ZXJzRGlzdHJpYnV0aW9uQ2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNEYXRhID0gcmVzPy5kYXRhPy5jYXJkO1xyXG4gICAgICAgICAgfSAgZWxzZSB7IFxyXG4gICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0RhdGEgPVtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YSA9W107XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbiAgZ2V0UmVjYXAoKSB7XHJcbiAgICB0aGlzLnJlY2FwbGFvZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMucmVjYXBub0RhdGEgPWZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlOyBkZWxldGUgdGhpcy50YWJsZW9iai5mcm9tRGF0ZTtcclxuICAgICBkZWxldGUgdGhpcy50YWJsZW9iai50b0RhdGU7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZTsgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouc2VhcmNoOyBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnRCeTsgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydDtcclxuICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubm9ybWFsaXplO1xyXG4gICAgIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGUgPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0UmVjYXBWaWRlbyh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwVmlkZW9EYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwRGF0YSA9IHJlcz8uZGF0YT8ucmVjYXBWaWRlb0RhdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBSZWNhcHMoKTtcclxuICAgICAgICAgICAgaWYoIXRoaXMuZ2V0UmVjYXBEYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJlY2Fwbm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWNhcG5vRGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7ICAgIFxyXG4gICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwVmlkZW9EYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLnJlY2FwbGFvZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBncm91cFJlY2FwcygpIHtcclxuICAgIHRoaXMucmVjYXBzR3JvdXBlZCA9IFtdO1xyXG4gICAgbGV0IGdyb3VwU2l6ZSA9IHRoaXMuZ2V0UmVjYXBEYXRhLmxlbmd0aCA9PT0gMSA/IDEgOiAyO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGg7IGkgKz0gZ3JvdXBTaXplKSB7XHJcbiAgICAgIHRoaXMucmVjYXBzR3JvdXBlZC5wdXNoKHRoaXMuZ2V0UmVjYXBEYXRhLnNsaWNlKGksIGkgKyBncm91cFNpemUpKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29sVmFsdWUgPSB0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGggPT09IDEgPyAnY29sLW1kLTEyJyA6ICdjb2wtbWQtNic7XHJcbiAgfVxyXG4gIHZpZGVvQ2xpY2sob2JqOmFueSl7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVmlkZW9VcmxDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibGdcIixcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudmlkZW9VcmwgPSBvYmo7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5kYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGVcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQ6IGFueSkgPT4ge30pO1xyXG4gIH1cclxuICBwcmV2aW91c1ZhbHVlOiBhbnkgPSBudWxsO1xyXG4gIGNoYW5nZVZhbHVlKG1ldGhvZDogYW55KSB7XHJcbiAgICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IG1ldGhvZDtcclxuICAgICAgaWYgKHRoaXMucHJldmlvdXNWYWx1ZSA9PT0gJ3BvdGVudGlhbEJ1eWVycycpIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdQb3RlbnRpYWwgQnV5ZXJzJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9IG1ldGhvZDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICAvLyBVcGRhdGUgY29udmVyc2lvbiByYXRlcyBiYXNlZCBvbiB0aGUgc2VsZWN0ZWQgbWV0aG9kXHJcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzVmFsdWUgPT09ICdmb290ZmFsbCcpIHtcclxuICAgICAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwucmF0ZTtcclxuICAgICAgICB0aGlzLnRhYmxlb2JqLm5vYiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub2JqRGF0YS5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5ub2IgPSBmYWxzZVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJldmlvdXNWYWx1ZSA9PT0gJ2VuZ2FnZXJzJykge1xyXG4gICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5yYXRlO1xyXG4gICAgICAgIHRoaXMudGFibGVvYmoubm9iID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9ZmFsc2VcclxuICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9ZmFsc2VcclxuICAgICAgICB0aGlzLm5vYiA9IGZhbHNlXHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcmV2aW91c1ZhbHVlID09PSAncG90ZW50aWFsQnV5ZXJzJykge1xyXG4gICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMucmF0ZTtcclxuICAgICAgICB0aGlzLnRhYmxlb2JqLm5vYiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub2JqRGF0YS5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPWZhbHNlXHJcbiAgICAgICAgdGhpcy5ub2IgPSBmYWxzZVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJldmlvdXNWYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJykge1xyXG4gICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2Iubm9iO1xyXG4gICAgICAgIHRoaXMudGFibGVvYmoubm9iID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm9iakRhdGEubm9iID10cnVlXHJcbiAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPXRydWVcclxuICAgICAgICB0aGlzLm5vYiA9IHRydWVcclxuICAgICAgfSBcclxuICAgICAgLy8gdGhpcy5zZXJ2aWNlLnRvZ2dsZW5vYih0aGlzLnRhYmxlb2JqLm5vYik7XHJcbiAgICAgIHRoaXMuZ2V0RnVubmFsKCk7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgICAgdGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG4gICAgIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcInRyYWZmaWNcIlxyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdUcmFmZmljIEFuYWx5c2lzJztcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKTtcclxuICAgIH1cclxuICAgXHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gXHJcblxyXG4gIGdldFRhYmxlKCkge1xyXG4gICAgdGhpcy5saW1pdCA9MTA7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IHRoaXMub2Zmc2V0ID0gdGhpcy5jdXJyZW50UGFnZSAtMTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5ub3JtYWxpemVkRGF0YTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlO1xyXG4gICAgKHRoaXMudGFibGVvYmoubGltaXQgPSB0aGlzLmxpbWl0KTtcclxuICAgICh0aGlzLnRhYmxlb2JqLnNlYXJjaCA9IHRoaXMuc2VhcmNoVmFsdWUpLCBcclxuICAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgaWYocmVzPy5kYXRhLnN1bW1hcnlEYXRhLmxlbmd0aCA9PT0wKXtcclxuICAgICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPSByZXM/LmRhdGEuc3VtbWFyeURhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBzZWFyY2hEYXRhKCkge1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMudGFibGVvYmoub2Zmc2V0ID0gdGhpcy5vZmZzZXQgLTE7XHJcbiAgICB0aGlzLmxpbWl0PTEwO1xyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IDEwKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbdGhpcy50b3RhbEl0ZW1zXTsgLy8gSnVzdCBvbmUgb3B0aW9uIGlmIGxlc3MgdGhhbiAxMFxyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzWzBdO1xyXG4gIH1cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgdGhpcy50YWJsZW9iai5vZmZzZXQgPSB0aGlzLm9mZnNldCAtMTtcclxuICAgICh0aGlzLnRhYmxlb2JqLmxpbWl0ID0gdGhpcy5saW1pdCksXHJcbiAgICAodGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlKSwgXHJcbiAgICAgKHRoaXMudGFibGVvYmoudmFsdWVUeXBlID0gdGhpcy50eXBlVmFsdWUpO1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgLmdldFN1bW1hcnlUYWJsZUxpc3QodGhpcy50YWJsZW9iailcclxuICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgaWYocmVzPy5kYXRhLnN1bW1hcnlEYXRhLmxlbmd0aCA9PT0wKXtcclxuICAgICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPSByZXM/LmRhdGEuc3VtbWFyeURhdGE7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXMuZGF0YT8udG90YWxDb3VudDtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgdGhpcy50YWJsZW9iai5vZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgICh0aGlzLnRhYmxlb2JqLmxpbWl0ID0gdGhpcy5saW1pdCksXHJcbiAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICBpZihyZXM/LmRhdGEuc3VtbWFyeURhdGEubGVuZ3RoID09PTApe1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9IHJlcz8uZGF0YS5zdW1tYXJ5RGF0YTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7YGBcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9W11cclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZVR5cGUodHlwZTphbnkpe1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gZmFsc2U7XHJcbiAgICAgdGhpcy50eXBlVmFsdWUgPXR5cGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9dHlwZTtcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5saW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMubGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmJvdW5jZWRsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMuYm91bmNlZGxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMucG90ZW50aWFsQnV5ZXJzbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmVuZ2FnZXJzbGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmVuZ2FnZXJzbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmhlYXRNYXByb290KSB7XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH0gaWYgKHRoaXMucm9vdFRyZW5kcykge1xyXG4gICAgICAgIHRoaXMucm9vdFRyZW5kcy5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZHdlbGxSb290KSB7XHJcbiAgICAgICAgdGhpcy5kd2VsbFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvLyBjYXJkIGxpbmUgQ2hhcnRzIFN0YXJ0XHJcblxyXG4gIGZvb3RmYWxsbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiRm9vdGZhbGxcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3Q6IGFueTtcclxuICAgIHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJGb290ZmFsbFwiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICAgLy8gRW5zdXJlIHRoYXQgZGF0YSBoYXMgYXQgbGVhc3QgMiBwb2ludHMgZm9yIGxpbmUgY2hhcnRcclxuICAgICBpZiAoZGF0YS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29uc3QgZHVwbGljYXRlUG9pbnQgPSB7IC4uLmRhdGFbMF0gfTsgLy8gQ2xvbmUgdGhlIGV4aXN0aW5nIHBvaW50XHJcbiAgICAgIGR1cGxpY2F0ZVBvaW50LmRhdGUgKz0gMTsgLy8gQWRkIGEgc21hbGwgb2Zmc2V0IHRvIHRoZSBkYXRlXHJcbiAgICAgIGRhdGEucHVzaChkdXBsaWNhdGVQb2ludCk7IC8vIEFkZCB0aGUgZHVwbGljYXRlIHBvaW50IHRvIGRhdGFcclxuICAgIH1cclxuICAgIGxldCBjdXJzb3IgPSBjaGFydC5zZXQoXHJcbiAgICAgIFwiY3Vyc29yXCIsXHJcbiAgICAgIGFtNXh5LlhZQ3Vyc29yLm5ldyhyb290LCB7XHJcbiAgICAgICAgYmVoYXZpb3I6IFwibm9uZVwiLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICBsZXQgeEF4aXMgPSBjaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5EYXRlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIG1heERldmlhdGlvbjogMC41LFxyXG4gICAgICAgIGJhc2VJbnRlcnZhbDogeyB0aW1lVW5pdDogXCJkYXlcIiwgY291bnQ6IDEgfSxcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcocm9vdCwgeyB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5saW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuICBib3VuY2VkbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiQm91bmNlZFJhdGVcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYm91bmNlZGxpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5ib3VuY2VkbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICBsZXQgcm9vdDogYW55O1xyXG4gICAgcm9vdCA9IGFtNS5Sb290Lm5ldyhcIkJvdW5jZWRSYXRlXCIpO1xyXG4gICAgcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpLFxyXG4gICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcocm9vdCksXHJcbiAgICBdKTtcclxuICAgIGxldCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgIHBhblk6IHRydWUsXHJcbiAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICBwaW5jaFpvb21YOiB0cnVlLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgZGF0YVxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldEJvdW5jZWRDYXJkRGF0YT8uZGF0YT8uYm91bmNlZD8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICBsZXQgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG4gICAgICBcImN1cnNvclwiLFxyXG4gICAgICBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICAgIGJlaGF2aW9yOiBcIm5vbmVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgbGV0IHhBeGlzID0gY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMixcclxuICAgICAgICBiYXNlSW50ZXJ2YWw6IHsgdGltZVVuaXQ6IFwiZGF5XCIsIGNvdW50OiAxIH0sXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHsgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IHBhbjogXCJ6b29tXCIgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICBsZXQgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBuYW1lOiBcIlNlcmllc1wiLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICB2YWx1ZVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMGEzZmYpLCAvLyBTZXQgdGhlIGxpbmUgY29sb3IgaGVyZSAocmVkIGluIHRoaXMgY2FzZSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgbGV0IGJ1bGxldENpcmNsZSA9IGFtNS5DaXJjbGUubmV3KHJvb3QsIHtcclxuICAgICAgICByYWRpdXM6IDAsXHJcbiAgICAgICAgZmlsbDogc2VyaWVzLmdldChcImZpbGxcIilcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgc3ByaXRlOiBidWxsZXRDaXJjbGVcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuc2V0KFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgYW01LlRvb2x0aXAubmV3KHJvb3QsIHtcclxuICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICBnZXRGaWxsRnJvbVNwcml0ZTogZmFsc2UsIC8vIFByZXZlbnRzIHRoZSB0b29sdGlwIGZyb20gaW5oZXJpdGluZyBjb2xvciBmcm9tIHRoZSBzcHJpdGVcclxuICAgICAgICBiYWNrZ3JvdW5kOiBhbTUuUmVjdGFuZ2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhkYWYxZmYpLCAvLyBTZXQgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvciBoZXJlIChibHVlIGluIHRoaXMgY2FzZSlcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmJvdW5jZWRsaW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuXHJcbiAgcG90ZW50aWFsbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiUG90ZW50aWFsQnV5ZXJzXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBvdGVudGlhbEJ1eWVyc2xpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIGxldCByb290OiBhbnk7XHJcbiAgICByb290ID0gYW01LlJvb3QubmV3KFwiUG90ZW50aWFsQnV5ZXJzXCIpO1xyXG4gICAgcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpLFxyXG4gICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcocm9vdCksXHJcbiAgICBdKTtcclxuICAgIGxldCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgIHBhblk6IHRydWUsXHJcbiAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICBwaW5jaFpvb21YOiB0cnVlLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgZGF0YVxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LmRhdGEubWFwKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0uZGF0ZSkuZ2V0VGltZSgpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgbGV0IGN1cnNvciA9IGNoYXJ0LnNldChcclxuICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgYW01eHkuWFlDdXJzb3IubmV3KHJvb3QsIHtcclxuICAgICAgICBiZWhhdmlvcjogXCJub25lXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgY3Vyc29yLmxpbmVZLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgIGxldCB4QXhpcyA9IGNoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkRhdGVBeGlzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjIsXHJcbiAgICAgICAgYmFzZUludGVydmFsOiB7IHRpbWVVbml0OiBcImRheVwiLCBjb3VudDogMSB9LFxyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyhyb290LCB7IG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICBsZXQgeUF4aXMgPSBjaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcocm9vdCwgeyBwYW46IFwiem9vbVwiIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuXHJcbiAgZW5nYWdlcnNsaW5lQ2hhcnRzKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJlbmdhZ2Vyc1wiKTtcclxuICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5lbmdhZ2Vyc2xpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5lbmdhZ2Vyc2xpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3Q6IGFueTtcclxuICAgIHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJlbmdhZ2Vyc1wiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICBsZXQgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG4gICAgICBcImN1cnNvclwiLFxyXG4gICAgICBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICAgIGJlaGF2aW9yOiBcIm5vbmVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgbGV0IHhBeGlzID0gY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMixcclxuICAgICAgICBiYXNlSW50ZXJ2YWw6IHsgdGltZVVuaXQ6IFwiZGF5XCIsIGNvdW50OiAxIH0sXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHsgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IHBhbjogXCJ6b29tXCIgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICBsZXQgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBuYW1lOiBcIlNlcmllc1wiLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICB2YWx1ZVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMGEzZmYpLCAvLyBTZXQgdGhlIGxpbmUgY29sb3IgaGVyZSAocmVkIGluIHRoaXMgY2FzZSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgbGV0IGJ1bGxldENpcmNsZSA9IGFtNS5DaXJjbGUubmV3KHJvb3QsIHtcclxuICAgICAgICByYWRpdXM6IDAsXHJcbiAgICAgICAgZmlsbDogc2VyaWVzLmdldChcImZpbGxcIilcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgc3ByaXRlOiBidWxsZXRDaXJjbGVcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuc2V0KFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgYW01LlRvb2x0aXAubmV3KHJvb3QsIHtcclxuICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICBnZXRGaWxsRnJvbVNwcml0ZTogZmFsc2UsIC8vIFByZXZlbnRzIHRoZSB0b29sdGlwIGZyb20gaW5oZXJpdGluZyBjb2xvciBmcm9tIHRoZSBzcHJpdGVcclxuICAgICAgICBiYWNrZ3JvdW5kOiBhbTUuUmVjdGFuZ2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhkYWYxZmYpLCAvLyBTZXQgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvciBoZXJlIChibHVlIGluIHRoaXMgY2FzZSlcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmVuZ2FnZXJzbGluZXJvb3QgPSByb290O1xyXG4gIH0sMClcclxuICB9XHJcbiAgLy8gY2FyZCBsaW5lIENoYXJ0cyBFbmRcclxuXHJcbiAgaGVhdE1hcCgpIHtcclxuICAgIHRoaXMuaGVhdGxvYWRpbmcgPSBmYWxzZVxyXG4gICAgdGhpcy5oZWF0bm9EYXRhID0gZmFsc2VcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY2hhcnRkaXZcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaGVhdE1hcHJvb3QpIHtcclxuICAgICAgICB0aGlzLmhlYXRNYXByb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJjaGFydGRpdlwiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpXSk7XHJcblxyXG4gICAgbGV0IGNoYXJ0ID0gcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01cGVyY2VudC5TbGljZWRDaGFydC5uZXcocm9vdCwge1xyXG4gICAgICAgIGxheW91dDogcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmhlYXRNYXBEYXRhO1xyXG4gIFxyXG4gICAgZGF0YS5zb3J0KChhOmFueSwgYjphbnkpID0+IGIudmFsdWUgLSBhLnZhbHVlKTtcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgYW01cGVyY2VudC5GdW5uZWxTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBhbGlnbkxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgYm90dG9tUmF0aW86IDEsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgIHNlcmllcy5hcHBlYXIoKTtcclxuICAgIC8vIFVwZGF0ZSB0aGUgbGFiZWwgdGVtcGxhdGUgdG8gaW5jbHVkZSB0aGUgcGVyY2VudGFnZVxyXG4gICAgc2VyaWVzLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgIHRleHQ6IFwie2NhdGVnb3J5fSAoe2NvdW50fSUpXFxuXFxue3ZhbHVlfVwiLFxyXG4gICAgICBmb250U2l6ZTpcIjEzcHhcIixcclxuICAgICAgZm9udFdlaWdodDpcIjQwMFwiLFxyXG4gICAgICB0ZXh0QWxpZ246XCJjZW50ZXJcIlxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmhlYXRNYXByb290ID0gcm9vdDtcclxuICAgIGNoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdHlwZTogYW55ID0gXCJ3ZWVrbHlcIjtcclxuICBzZWxlY3RQbGFuKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICB9XHJcblxyXG4gIC8vIFRvZ2dsZSBmdW5jdGlvbiBmb3IgdGhlIHN3aXRjaFxyXG4gIHRvZ2dsZUF2ZXJhZ2UoZXZ0OmFueSkge1xyXG4gICAgLy8gdGhpcy50YWJsZW9iai5ub2IgPXRydWU7XHJcbiAgICB0aGlzLmlzQXZlcmFnZSA9IGV2dC50YXJnZXQuY2hlY2tlZDtcclxuICAgIHRoaXMuc2VydmljZS50b2dnbGVBdmVyYWdlKHRoaXMuaXNBdmVyYWdlKTtcclxuICAgIHRoaXMuc2VydmljZT8udG9nZ2xlbm9iKHRoaXMudGFibGVvYmoubm9iKTtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgaWYodGhpcy5pc0F2ZXJhZ2UgPT09IHRydWUpe1xyXG4gICAgdGhpcy52YWx1ZVR5cGUgPSAnYXZlcmFnZSc7XHJcbiAgICAgdGhpcy5mb290ZmFsbE5hbWUgPSAnQXZnLiBGb290ZmFsbCdcclxuICAgdGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gICB0aGlzLm9iakRhdGEudmFsdWVUeXBlID10aGlzLnZhbHVlVHlwZTtcclxuICAgdGhpcy5vYmpEYXRhVHJhZmZpYy52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gIC8vICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICcnO1xyXG4gICB0aGlzLnR5cGVWYWx1ZT0nYXZlcmFnZSc7XHJcbiAgLy8gIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZERhdGE/LmNvbnZlcnNpb24/LnJhdGU7XHJcbiAgfSAgZWxzZSB7XHJcbiAgICAgdGhpcy5mb290ZmFsbE5hbWUgPSAnQWN0dWFsIEZvb3RmYWxsJ1xyXG4gICAgIHRoaXMudmFsdWVUeXBlPSdhY3R1YWwnO1xyXG4gICAgdGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSdhY3R1YWwnO1xyXG4gICAgdGhpcy5vYmpEYXRhLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICB0aGlzLnR5cGVWYWx1ZT0nc3VtJztcclxuXHJcbiAgICAvLyB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENhcmREYXRhPy5jb252ZXJzaW9uPy5yYXRlO1xyXG4gIH1cclxuICBpZih0aGlzLnRhYmxlb2JqLm5vYil7XHJcbiAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLm5vYjtcclxuICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9J05vQiBEZXJpdmVkJ1xyXG59IGVsc2UgaWYgKHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJykge1xyXG4gIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycz8ucmF0ZTtcclxuICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdlbmdhZ2Vycyc7XHJcbn0gZWxzZSB7XHJcbiAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsPy5yYXRlO1xyXG4gIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ2Zvb3RmYWxsJztcclxufVxyXG4gIHRoaXMucHJldmlvdXNWYWx1ZSA9ICdmb290ZmFsbCc7IFxyXG4gIHRoaXMudGFibGVvYmoubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuXHJcbiAgICB0aGlzLmdldEZ1bm5hbCgpO1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICBpZih0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDU5Jyl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImZvb3RmYWxsXCJcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWJzKCdmb290ZmFsbCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwidHJhZmZpY1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1RyYWZmaWMgQW5hbHlzaXMnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcblxyXG4gIGNhbWVyYVZpZXcoKXtcclxuICAgIHRoaXMuc3RvcmVJZGFycmF5ID0gdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKVxyXG4gICAgbGV0IGRhdGE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcIlwiKTtcclxuICAgIGRhdGEuc3RvcmUgPSB0aGlzLnN0b3JlSWRhcnJheVswXTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGRhdGEpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS9zdG9yZXMvY2FtZXJhc1wiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXX0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGV4cG9ydFhMU1goKSB7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IDA7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmxpbWl0ID0gMTAwMDA7XHJcbiAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gdHJ1ZTtcclxuICAgIHRoaXMudGFibGVvYmoubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdEV4cG9ydCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy5leGNlbFNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJUcmFmZmljIFN1bW1hcnkgVGFibGUgXCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge30sXHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFibGVvYmoubGltaXQgPSB0aGlzLmxpbWl0O1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uU29ydChjb2x1bW46IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc29ydGVkQ29sdW1uID09PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gdGhpcy5zb3J0RGlyZWN0aW9uID09PSAxID8gLTEgOiAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0ZWRDb2x1bW4gPSBjb2x1bW47XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5zb3J0QnkgPSB0aGlzLnNvcnREaXJlY3Rpb24sIC8vWzEtPmFzYywgLTEtPkRFc2NdXHJcbiAgICB0aGlzLnRhYmxlb2JqLnNvcnQgPSB0aGlzLnNvcnRlZENvbHVtbiwgLy8gQ29sdW1uIE5hbWVcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldE1hcCgpIHtcclxuICAgIHRoaXMubXBhbG9hZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMubWFwbm9EYXRhPSBmYWxzZTtcclxuICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICBzdG9yZURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLmdlTWFwcyhvYmopPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCl7XHJcbiAgICAgICAgICAvLyBpZiAocmVzICYmIHJlcy5kYXRhICYmIHJlcy5kYXRhLnN0b3JlRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID0gcmVzLmRhdGEuc3RvcmVEYXRhO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSBtYXBPcHRpb25zIGNlbnRlciBpZiBuZWVkZWRcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXVMb2NhdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZpcnN0TG9jYXRpb24gPSB0aGlzLmF1TG9jYXRpb25zWzBdO1xyXG4gICAgICAgICAgICAgIGlmIChmaXJzdExvY2F0aW9uICYmIHR5cGVvZiBmaXJzdExvY2F0aW9uLmxhdCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGZpcnN0TG9jYXRpb24ubG5nID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBPcHRpb25zID0ge1xyXG4gICAgICAgICAgICAgICAgICAuLi50aGlzLm1hcE9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICAgIGNlbnRlcjogeyBsYXQ6IGZpcnN0TG9jYXRpb24ubGF0LCBsbmc6IGZpcnN0TG9jYXRpb24ubG5nIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIHRoaXMuZ2V0RGF0YSgpOyB9LDEwMClcclxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7fVxyXG4gICAgICAgICAgICB9IGVsc2Uge31cclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2UgaWYocmVzID09PSBudWxsKXtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hdUxvY2F0aW9ucyA9W107XHJcbiAgICAgICAgICB0aGlzLm1wYWxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBtYXA6IG1hcGJveGdsLk1hcDtcclxuICBwcml2YXRlIGNoZWNrTWFwQ29udGFpbmVySW50ZXJ2YWw6IGFueTtcclxuICBnZXREYXRhKCkge1xyXG4gICAgdGhpcy5jaGVja01hcENvbnRhaW5lckludGVydmFsID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjbWFwJyk7XHJcbiAgICAgIGlmIChtYXBDb250YWluZXIpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuY2hlY2tNYXBDb250YWluZXJJbnRlcnZhbCk7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplTWFwKG1hcENvbnRhaW5lcik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrTWFwQ29udGFpbmVySW50ZXJ2YWwpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU1hcChtYXBDb250YWluZXIpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxMDApO1xyXG5cclxuICB9XHJcbiAgaW5pdGlhbGl6ZU1hcChtYXBDb250YWluZXI6IEhUTUxFbGVtZW50KXtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4geyAgXHJcbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXAnKTtcclxuICAgICAgaWYgKCFtYXBDb250YWluZXIpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIC8vIENoZWNrIHRoYXQgbG9jYXRpb25zIGV4aXN0IGJlZm9yZSBwcm9jZWVkaW5nXHJcbiAgICBpZiAodGhpcy5hdUxvY2F0aW9ucz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IGdlb2pzb24gPSB7XHJcbiAgICAgICd0eXBlJzogJ0ZlYXR1cmVDb2xsZWN0aW9uJyxcclxuICAgICAgJ2ZlYXR1cmVzJzogdGhpcy5hdUxvY2F0aW9ucy5tYXAoKHN0b3JlLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAndHlwZSc6ICdGZWF0dXJlJyxcclxuICAgICAgICAncHJvcGVydGllcyc6IHtcclxuICAgICAgICAgICdzdG9yZU5hbWUnOiBzdG9yZS5zdG9yZU5hbWUsICAgICAgICAgLy8gU3RvcmUgbmFtZVxyXG4gICAgICAgICAgJ2ltYWdlSWQnOiAxMDExICsgaW5kZXgsICAgICAgICAgICAgICAvLyBEeW5hbWljIGltYWdlIElEXHJcbiAgICAgICAgICAnaWNvblNpemUnOiBbNjAsIDYwXSwgICAgICAgICAgICAgICAgIC8vIEFkanVzdCBpY29uIHNpemUgYXMgbmVlZGVkXHJcbiAgICAgICAgICAnZm9vdGZhbGwnOiBzdG9yZS5hdmdGb290ZmFsbCwgICAgICAgIC8vIEZvb3RmYWxsIGRhdGFcclxuICAgICAgICAgICdvcGVuVGltZSc6IHN0b3JlLm9wZW5UaW1lLCAgICAgICAgICAgLy8gT3BlbiB0aW1lXHJcbiAgICAgICAgICAnY2xvc2VUaW1lJzogc3RvcmUuY2xvc2VUaW1lLCAgICAgICAgIC8vIENsb3NlIHRpbWVcclxuICAgICAgICB9LFxyXG4gICAgICAgICdnZW9tZXRyeSc6IHtcclxuICAgICAgICAgICd0eXBlJzogJ1BvaW50JyxcclxuICAgICAgICAgICdjb29yZGluYXRlcyc6IFtzdG9yZS5sbmcsIHN0b3JlLmxhdF0gIC8vIENvb3JkaW5hdGVzIGZyb20gc3RvcmUgZGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpXHJcbiAgICB9O1xyXG4gIFxyXG4gICAgLy8gRHluYW1pY2FsbHkgc2V0IG1hcCBjZW50ZXIgYmFzZWQgb24gdGhlIGZpcnN0IGxvY2F0aW9uXHJcbiAgICBjb25zdCBmaXJzdExvY2F0aW9uID0gdGhpcy5hdUxvY2F0aW9uc1swXTtcclxuIFxyXG4gICAgdGhpcy5tYXAgPSBuZXcgbWFwYm94Z2wuTWFwKHtcclxuICAgICAgY29udGFpbmVyOiAnbWFwJyxcclxuICAgICAgc3R5bGU6ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3N0cmVldHMtdjEyJyxcclxuICAgICAgY2VudGVyOiBbZmlyc3RMb2NhdGlvbi5sbmcsIGZpcnN0TG9jYXRpb24ubGF0XSwgLy8gQ2VudGVyIG1hcCBvbiB0aGUgZmlyc3QgbG9jYXRpb25cclxuICAgICAgem9vbTogMTAsIC8vIEFkanVzdCB0aGlzIHZhbHVlICgxID0gd29ybGQgdmlldywgMjAgPSBidWlsZGluZyB2aWV3KVxyXG4gICAgICBtYXhab29tOiAyMCwgLy8gT3B0aW9uYWw6IExpbWl0IG1heCB6b29tIGxldmVsXHJcbiAgICAgIG1pblpvb206IDEgICAvLyBPcHRpb25hbDogTGltaXQgbWluIHpvb20gbGV2ZWxcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gQWRkIG1hcmtlcnMgdG8gdGhlIG1hcFxyXG4gICAgZ2VvanNvbi5mZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlLCBmZWF0dXJlSW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcclxuICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmF1TG9jYXRpb25zW2ZlYXR1cmVJbmRleF07XHJcbiAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gcHJvcGVydGllcy5pY29uU2l6ZVswXTtcclxuICAgICAgY29uc3QgaGVpZ2h0ID0gcHJvcGVydGllcy5pY29uU2l6ZVsxXTtcclxuICAgICAgZWwuY2xhc3NOYW1lID0gJ21hcmtlcic7XHJcbiAgICAgIGVsLmlubmVySFRNTCA9IGBcclxuICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1pY29uXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgd2lkdGg6ICR7d2lkdGh9cHg7IGhlaWdodDogJHtoZWlnaHR9cHg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBjb2xvcjogdmFyKC0tR3JheS03MDAsICMzNDQwNTQpO1xyXG50ZXh0LWFsaWduOiBjZW50ZXI7XHJcbmZvbnQtZmFtaWx5OiBJbnRlcjtcclxuZm9udC1zaXplOiA5LjAwN3B4O1xyXG5mb250LXN0eWxlOiBub3JtYWw7XHJcbmZvbnQtd2VpZ2h0OiA2MDA7XHJcbmxpbmUtaGVpZ2h0OiAxM3B4O1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZXItY29udGVudFwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJtYi0xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEuMzM2NTQgMy4zNjM3TDEuMjk2NTggMy40MjYxMUMwLjg3NzY5OCA0LjE2NzAxIDEuMzI0OTMgNS4xMDMzNSAyLjEyOTMxIDUuMjEwNzZDMi4yMDIxOCA1LjIxOTY3IDIuMjY5OTkgNS4yMjQzOCAyLjMzNjI1IDUuMjI0MzhDMi43NzAyMSA1LjIyNDM4IDMuMTUzOSA1LjAzODIxIDMuNDIxMzIgNC43NDc5M0wzLjgzNjY2IDQuMjk3MUw0LjI1MDU5IDQuNzQ5MjNDNC41MTQ3NiA1LjAzNzc4IDQuODk3NTggNS4yMjQzOCA1LjMzNDQ4IDUuMjI0MzhDNS43Njk0MSA1LjIyNDM4IDYuMTU0NDMgNS4wMzc1MiA2LjQxODM3IDQuNzQ5MjNMNi44MzM1OSA0LjI5NTY4TDcuMjQ4ODIgNC43NDkyM0M3LjUxMjc1IDUuMDM3NTIgNy44OTc3NyA1LjIyNDM4IDguMzMyNzEgNS4yMjQzOEM4Ljc2NzY0IDUuMjI0MzggOS4xNTI2NiA1LjAzNzUyIDkuNDE2NiA0Ljc0OTIzTDkuODMxODIgNC4yOTU2OEwxMC4yNDcgNC43NDkyM0MxMC41MTEgNS4wMzc1MiAxMC44OTYgNS4yMjQzOCAxMS4zMzA5IDUuMjI0MzhDMTEuMzk1IDUuMjI0MzggMTEuNDY0OSA1LjIxOTY2IDExLjUzNzIgNS4yMTA4M0MxMi4zNTkzIDUuMDk4NzUgMTIuODA4IDQuMTEyMjUgMTIuMzI4NiAzLjM2NDA4QzEyLjMyODYgMy4zNjQwMyAxMi4zMjg1IDMuMzYzOTkgMTIuMzI4NSAzLjM2Mzk1TDExLjAwODggMS4zMDYyMUwxMS4wMDgxIDEuMzA1MTFDMTAuOTk2NyAxLjI4NzIyIDEwLjk2ODYgMS4yNjgwNCAxMC45MzMyIDEuMjY4MDRIMi43Mjk0MkMyLjY5NDAzIDEuMjY4MDQgMi42NjU4OSAxLjI4NzIyIDIuNjU0NDggMS4zMDUxMUwyLjY1NDAxIDEuMzA1ODRMMS4zMzY1NCAzLjM2MzdaTTExLjA3MzEgNy4wNjY2N1Y5LjQxNzUzVjkuOTgwNDlIMTAuNTEwMUgzLjE1MjQ4SDIuNTg5NTJWOS40MTc1M1Y3LjA2NzAyQzIuNTA2NzggNy4wNzMxOCAyLjQyMzA4IDcuMDc2MzQgMi4zMzg1NSA3LjA3NjM0QzIuMzA2NzkgNy4wNzYzNCAyLjI3NTI1IDcuMDc1ODcgMi4yNDM5MiA3LjA3NDk1VjkuNDE3NTNWMTAuODY5NkMyLjI0MzkyIDExLjM1MjYgMi42NDQ2NyAxMS43NTg3IDMuMTUyNDggMTEuNzU4N0gxMC41MTAxQzExLjAxNzkgMTEuNzU4NyAxMS40MTg3IDExLjM1MjYgMTEuNDE4NyAxMC44Njk2VjkuNDE3NTNWNy4wNzUwOUMxMS4zODg4IDcuMDc1OTEgMTEuMzU4NyA3LjA3NjM0IDExLjMyODYgNy4wNzYzNEMxMS4yNDI4IDcuMDc2MzQgMTEuMTU3NSA3LjA3MzA4IDExLjA3MzEgNy4wNjY2N1pcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMS4xMjU5MlwiLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1sYWJlbFwiIHN0eWxlPVwiZm9udC1zaXplOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICR7cHJvcGVydGllcy5zdG9yZU5hbWV9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgO1xyXG4gICAgICAvLyBlbC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKGh0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC8ke3Byb3BlcnRpZXMuaW1hZ2VJZH0vJHt3aWR0aH0vJHtoZWlnaHR9KWA7XHJcbiAgICAgIGVsLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9ICcxMDAlJztcclxuICBcclxuICAgICAgLy8gQ3JlYXRlIGEgcG9wdXAgaW5zdGFuY2Ugd2l0aCB0aGUgZmVhdHVyZSBwcm9wZXJ0aWVzXHJcbiAgICAgIGNvbnN0IHBvcHVwID0gbmV3IG1hcGJveGdsLlBvcHVwKHsgb2Zmc2V0OiAyNSB9KSAgXHJcbiAgICAgIC8vIFVzZSB0aGUgY29vcmRpbmF0ZXMgZnJvbSB0aGUgZmVhdHVyZVxyXG4gICAgICBjb25zdCBjb29yZGluYXRlczogW251bWJlciwgbnVtYmVyXSA9IGdlb21ldHJ5LmNvb3JkaW5hdGVzIGFzIFtudW1iZXIsIG51bWJlcl07XHJcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWRqdXN0TGF5b3V0KHN0b3JlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIEFkZCBtYXJrZXJzIHRvIHRoZSBtYXBcclxuICAgICAgbmV3IG1hcGJveGdsLk1hcmtlcihlbClcclxuICAgICAgICAuc2V0TG5nTGF0KGNvb3JkaW5hdGVzKVxyXG4gICAgICAgIC5zZXRQb3B1cChwb3B1cCkgIC8vIEF0dGFjaCB0aGUgcG9wdXAgdG8gdGhlIG1hcmtlclxyXG4gICAgICAgIC5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICB9KTtcclxuICAgIFxyXG4gIH0sMTAwKVxyXG4gIH1cclxuICBhZGp1c3RMYXlvdXQoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBkYXRhdmFsdWU6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICApO1xyXG4gICAgY29uc3QgbWF0Y2hlZFN0b3JlcyA9IGRhdGF2YWx1ZS5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkICYmIHN0b3JlLnN0b3JlSWQgPT09IGRhdGEuc3RvcmVJZCk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGEuc3RvcmVJZDtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YXZhbHVlKSk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGRhdGF2YWx1ZSlcclxuICAgIHRoaXMuZ3MubWFuYWdlUmVmcmVzaFRyaWdnZXIubmV4dCh0cnVlKTtcclxuICAgXHJcbiAgfVxyXG4gIGV4cG9yZVZpZXcoKXtcclxudGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYWZmaWMvZXhwbG9yZSddKVxyXG4gIH1cclxuICBkYXRlVmFsdWUodHlwZTphbnkpe1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLmRhdGVUeXBlID0gdHlwZTtcclxuICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSAgPSB0aGlzLnZhbHVlVHlwZVxyXG4gICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFpvbmUoKXtcclxuICAgIHRoaXMuem9uZUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy56b25lTm9EYXRhID0gZmFsc2U7XHJcbiAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZGFycmF5XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZS56b25lRHdlbGxUaW1lKG9iaik/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKXtcclxuICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID0gcmVzLmRhdGEuem9uZUR3ZWxsVGltZVNwbGl0RGF0YTtcclxuICAgICAgICAgICAgdGhpcy56b25lTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID1bXTtcclxuICAgICAgICAgICAgdGhpcy56b25lTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuem9uZUR3ZWxsVGltZVNwbGl0RGF0YT1bXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KVxyXG4gICAgXHJcbiAgfVxyXG4gIGdldFpvbmVWYWx1ZSgpe1xyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2Uuc3RvcmVPcGVyYXRpb24ob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlT3BlcmF0aW9uRGF0YSA9IHJlcy5kYXRhLnN0b3JlT3BlcmF0aW9uRGF0YVswXTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZU9wZXJhdGlvbkRhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcmVPcGVyYXRpb25EYXRhPVtdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pXHJcbiAgICBcclxuICB9XHJcbiAgb25EYXRlQ2hhbmdlKGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnRzID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvb3RmYWxsRGF0ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gdGhpcy5nZXREd2VsbCgpO1xyXG4gdGhpcy50cmFmZmljRHdlbGwoKTtcclxuICB9XHJcbiAgc3RvcmVWaWV3KGRhdGE6YW55KXtcclxuICAgIGNvbnN0IGRhdGF2YWx1ZTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICBjb25zdCBtYXRjaGVkU3RvcmVzID0gZGF0YXZhbHVlLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQgJiYgc3RvcmUuc3RvcmVJZCA9PT0gZGF0YSk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGE7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGF2YWx1ZSkpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dChkYXRhdmFsdWUpXHJcbiAgICB0aGlzLmdzLm1hbmFnZVJlZnJlc2hUcmlnZ2VyLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIGdvVG9ab25lKCl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3pvbmVzL3YxXCJdKTsgXHJcblxyXG4gIH1cclxuXHJcbiAgY3VycmVudEluZGV4OiBudW1iZXIgPSAwO1xyXG4gIGludGVydmFsSWQ6IGFueTtcclxuXHJcblxyXG4gIHByZXZTbGlkZSgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5jdXJyZW50SW5kZXgtLTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRTbGlkZSgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA8IHRoaXMucmVjYXBzR3JvdXBlZC5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4Kys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnJlY2Fwc0dyb3VwZWQubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIG5vYlVwbG9hZCgpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmFmZmljL25vYlwiXSk7IFxyXG4gIH1cclxuICBnb1RvTG9zcygpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS9zZXR0aW5ncy9icmFuZC1kZXRhaWxcIl0pOyBcclxuICB9XHJcblxyXG4vLyBmb290ZmFsbCB0cmVuZCBwYXJ0c1xyXG5cclxuZ2V0RGF0ZVZhbHVlczogYW55O1xyXG5jaGFydFRyZW5kczogYW55O1xyXG5yb290VHJlbmRzOiBhbnk7XHJcbnlBeGlzOiBhbnk7XHJcbnhBeGlzOiBhbnk7IFxyXG5sZWdlbmQ6IGFueTtcclxuQFZpZXdDaGlsZCgndG9vbHRpcENvbnRhaW5lcicpIHRvb2x0aXBDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG50b29sdGlwRGF0YTogYW55O1xyXG5nZXRGb290ZmFsbFRyZW5kRGF0YTphbnk9W107XHJcbm9iakRhdGE6YW55O1xyXG5kYXRhc2V0cyA9IFtcclxuICB7IHZhbHVlOiAnbWlzc2Vkb3Bwb3J0dW5pdGllcycsIGxhYmVsOiAnTWlzc2VkIE9wcG9ydHVuaXR5JyB9LFxyXG4gIHsgdmFsdWU6ICdwb3RlbnRpYWxCdXllcicsIGxhYmVsOiAnUG90ZW50aWFsIEJ1eWVyJyB9LFxyXG4gIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6ICdDb252ZXJzaW9uJyB9LFxyXG4gIHsgdmFsdWU6ICcnLCBsYWJlbDogJ05vIEZpbHRlcicgfVxyXG5dO1xyXG5cclxuaXRlbXNQZXJQYWdlVHJlbmRzID0gMTA7XHJcbmN1cnJlbnRQYWdlVHJlbmRzID0gMTtcclxudG90YWxJdGVtc1RyZW5kcyA9IDE7XHJcbnBhZ2luYXRpb25TaXplc1RyZW5kczogbnVtYmVyW10gPSBbXTtcclxucGFnZVNpemVUcmVuZHMgPSAzMTtcclxub2Zmc2V0VHJlbmRzIDogbnVtYmVyID0gMDtcclxubGltaXRUcmVuZHMgOiBudW1iZXIgPSAzMTtcclxuc2VsZWN0VmFsdWU9IG5ldyBGb3JtQ29udHJvbChcImRhdGFzZXQxXCIpO1xyXG5sb2FkaW5nVHJlbmRzID10cnVlO1xyXG5ub0RhdGFUcmVuZHMgPWZhbHNlO1xyXG4gIGdldEluaXRpYWxWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgLy8gRm9yIGV4YW1wbGUsIHNlbGVjdGluZyB0aGUgc2Vjb25kIGl0ZW0gaW4gdGhlIGRhdGFzZXRcclxuICAgIHJldHVybiB0aGlzLmRhdGFzZXRzWzBdLnZhbHVlOyAvLyBDaGFuZ2UgYXMgbmVlZGVkXHJcbiAgfVxyXG4gIG9uVmFsdWVDaGFuZ2V0cmVuZChzZWxlY3RlZElkOiBhbnkpIHtcclxuICAgIHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9IHNlbGVjdGVkSWQsXHJcbiAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICB9XHJcbiAgZ2V0IHNlbGVjdENvbnRyb2woKTogRm9ybUNvbnRyb2wge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRoaXMudG9vbHRpcENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgd2FzIG91dHNpZGUgdGhlIHRvb2x0aXBcclxuICAgIGlmICh0b29sdGlwRWxlbWVudCAmJiAhdG9vbHRpcEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmIHRoaXMudG9vbHRpcFZpc2libGUpIHtcclxuICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93ID1mYWxzZTtcclxuICB9XHJcbmZvb3RmYWxsVHJlbmQoKXsgXHJcbiAgdGhpcy5vZmZzZXRUcmVuZHMgPTA7XHJcbiAgdGhpcy5saW1pdFRyZW5kcyA9MzE7XHJcbiAgdGhpcy5sb2FkaW5nVHJlbmRzID10cnVlO1xyXG4gIHRoaXMubm9EYXRhVHJlbmRzID1mYWxzZTtcclxuICB0aGlzLnNlcnZpY2VcclxuICAuZ2V0Zm9vdGZhbGxUcmVuZCh0aGlzLm9iakRhdGEpXHJcbiAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gID8uc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhID0gcmVzPy5kYXRhPy5mb290ZmFsbFRyZW5kRGF0YTtcclxuICAgICAgICB0aGlzLmdldERhdGVWYWx1ZXMgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJlbmRzID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZVRyZW5kcygpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKSAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhVHJlbmRzID1mYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhVHJlbmRzID10cnVlO1xyXG4gICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPVtdO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuc2V0UGFnaW5hdGlvblNpemVUcmVuZHMoKSB7XHJcbiAgaWYgKHRoaXMudG90YWxJdGVtc1RyZW5kcyA+IDMxICkge1xyXG4gICAgaWYodGhpcy5vYmpEYXRhLmZvcmVjYXN0ICYmIHRoaXMudG90YWxJdGVtc1RyZW5kcyA+IDMxKXtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHMgPSBbNjBdO1xyXG4gICAgfSBlbHNlIHsgIFxyXG4gICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHMgPSBbMzFdO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25TaXplc1RyZW5kcyA9IFt0aGlzLnRvdGFsSXRlbXNUcmVuZHNdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgbGVzcyB0aGFuIDEwXHJcbiAgfVxyXG4gIHRoaXMucGFnZVNpemVUcmVuZHMgPSB0aGlzLnBhZ2luYXRpb25TaXplc1RyZW5kc1swXTtcclxufVxyXG5vblBhZ2VDaGFuZ2VUcmVuZHMocGFnZU9mZnNldFRyZW5kczogbnVtYmVyKSB7XHJcbiAgdGhpcy5vZmZzZXRUcmVuZHMgPSBOdW1iZXIocGFnZU9mZnNldFRyZW5kcyk7XHJcbiAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJlbmRzIC0xO1xyXG4gIHRoaXMub2JqRGF0YS5saW1pdCA9IHRoaXMubGltaXRUcmVuZHM7XHJcbiAgdGhpcy5zZXJ2aWNlXHJcbiAgLmdldGZvb3RmYWxsVHJlbmQodGhpcy5vYmpEYXRhKVxyXG4gIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICA/LnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHJlcz8uZGF0YS5mb290ZmFsbFRyZW5kRGF0YTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmdldERhdGVWYWx1ZXMgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJlbmRzID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVDaGFydCgpIC8vIENhbGwgd2l0aCBhIGRlbGF5IHRvIGVuc3VyZSB0aGUgZWxlbWVudCBpcyBpbiB0aGUgRE9NXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IFxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhID10cnVlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuXHJcbm9uUGFnZVNpemVDaGFuZ2VUcmVuZHMocGFnZVNpemVUcmVuZHM6IG51bWJlcikge1xyXG4gIHRoaXMucGFnZVNpemVUcmVuZHMgPSBOdW1iZXIocGFnZVNpemVUcmVuZHMpO1xyXG4gIHRoaXMubGltaXRUcmVuZHMgPSBOdW1iZXIocGFnZVNpemVUcmVuZHMpO1xyXG4gIHRoaXMuY3VycmVudFBhZ2VUcmVuZHMgPSAxO1xyXG4gIHRoaXMub2Zmc2V0VHJlbmRzID0gMDtcclxuICB0aGlzLm9iakRhdGEub2Zmc2V0ID0gdGhpcy5vZmZzZXRUcmVuZHM7XHJcbiAgdGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdFRyZW5kcztcclxuICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxufVxyXG4gY3JlYXRlQ2hhcnQoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgdGhpcy5ub0RhdGFUcmVuZHMgPWZhbHNlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJGb290ZmFsbHRyZW5kXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnJvb3RUcmVuZHMpIHtcclxuICAgICAgICB0aGlzLnJvb3RUcmVuZHMuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB0aGlzLnJvb3RUcmVuZHMgID0gYW01LlJvb3QubmV3KCdGb290ZmFsbHRyZW5kJyk7XHJcbiAgICB0aGlzLnJvb3RUcmVuZHMuc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMucm9vdFRyZW5kcyldKTtcclxuXHJcbiAgICB0aGlzLmNoYXJ0VHJlbmRzID0gdGhpcy5yb290VHJlbmRzLmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICB3aGVlbFg6ICdwYW5YJyxcclxuICAgICAgICB3aGVlbFk6ICd6b29tWCcsXHJcbiAgICAgICAgbGF5b3V0OiB0aGlzLnJvb3RUcmVuZHMudmVydGljYWxMYXlvdXRcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcy5zZXQoXCJzY3JvbGxiYXJYXCIsIGFtNS5TY3JvbGxiYXIubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCJcclxuICAgIH0pKTtcclxuICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgbWluR3JpZERpc3RhbmNlOiAyMCxcclxuICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICByb3RhdGlvbjogLTQ1LFxyXG4gICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgcGFkZGluZ1JpZ2h0OiA1LFxyXG4gICAgfSk7XHJcbiAgICAvLyB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgLy8gICBsb2NhdGlvbjogMSxcclxuICAgIC8vIH0pO1xyXG4gICAgY29uc3QgeEF4aXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgY2F0ZWdvcnlGaWVsZDogJ3N0b3JlTmFtZScsXHJcbiAgICAgICAgcmVuZGVyZXI6eFJlbmRlcmVyLFxyXG4gICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHsgbGFiZWxUZXh0OiBcIntmdWxsU3RvcmVOYW1lfVwifSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgIC8vIFBhcnNlIHN0b3JlTmFtZSBhcyBhIERhdGUgYW5kIGNvbXBhcmVcclxuICAgICAgY29uc3QgZGF0ZUEgPSBuZXcgRGF0ZShhLnN0b3JlTmFtZSk7XHJcbiAgICAgIGNvbnN0IGRhdGVCID0gbmV3IERhdGUoYi5zdG9yZU5hbWUpO1xyXG4gICAgICBcclxuICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXIgKG9sZGVzdCB0byBuZXdlc3QpXHJcbiAgICAgIHJldHVybiBkYXRlQS5nZXRUaW1lKCkgLSBkYXRlQi5nZXRUaW1lKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPSB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhPy5tYXAoXHJcbiAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgZnVsbFN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIEZ1bGwgc3RvcmUgbmFtZVxyXG4gICAgICAgIHN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIGl0ZW0uc3RvcmVOYW1lLmxlbmd0aCA+IDIwID8gaXRlbS5zdG9yZU5hbWUuc2xpY2UoMCwgMjApICsgJy4uLicgOiBTaG9ydGVuZWQgZm9yIHhBeGlzXHJcbiAgICAgICAgZm9vdGZhbGw6IE51bWJlcihpdGVtLmZvb3RmYWxsX2NvdW50KSxcclxuICAgICAgICBjb252ZXJzaW9uOiBOdW1iZXIoaXRlbS5jb252ZXJzaW9uX2NvdW50KSxcclxuICAgICAgICBib3VuY2VkOiBOdW1iZXIoaXRlbS5ib3VuY2VkX2NvdW50KSxcclxuICAgICAgICBlbmdhZ2VyczogTnVtYmVyKGl0ZW0uZW5nYWdlcnNfY291bnQpLFxyXG4gICAgICAgIG1pc3NlZG9wcG9ydHVuaXRpZXM6IE51bWJlcihpdGVtLm1pc3NlZE9wcG9ydHVuaXR5X2NvdW50KSxcclxuICAgICAgICBwb3RlbnRpYWw6IE51bWJlcihpdGVtLnBvdGVudGlhbEJ1eWVyc19jb3VudCksXHJcbiAgICAgICAgYm91bmNlZF9jb3VudDppdGVtLmJvdW5jZWRfY291bnQsXHJcbiAgICAgICAgYXZnRHdlbGxUaW1lOml0ZW0uYXZnRHdlbGxUaW1lLFxyXG4gICAgICAgIGRvd25fdGltZTppdGVtLmRvd25fdGltZSxcclxuICAgICAgICBlbmdhZ2Vyc19jb3VudDppdGVtLmVuZ2FnZXJzX2NvdW50LFxyXG4gICAgICAgIGZvb3RmYWxsX2NvdW50Oml0ZW0uZm9vdGZhbGxfY291bnQsXHJcbiAgICAgICAgbWlzc2VkT3Bwb3J0dW5pdHlfY291bnQ6aXRlbS5taXNzZWRPcHBvcnR1bml0eV9jb3VudCxcclxuICAgICAgICBmb290ZmFsbF9jb3VudF9hdmc6aXRlbS5mb290ZmFsbF9jb3VudF9hdmcsXHJcbiAgICAgICAgYm91bmNlZF9mb290ZmFsbF9jb3VudF9hdmc6aXRlbS5ib3VuY2VkX2Zvb3RmYWxsX2NvdW50X2F2ZyxcclxuICAgICAgICBtaXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmc6aXRlbS5taXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmcsXHJcbiAgICAgICAgZW5nYWdlcnNfY291bnRfYXZnOml0ZW0uZW5nYWdlcnNfY291bnRfYXZnLFxyXG4gICAgICAgIGNvbnZlcnNpb25SYXRlOiBpdGVtLmNvbnZlcnNpb25SYXRlLFxyXG4gICAgICAgIGZvcmVjYXN0OiBpdGVtLmZvcmVjYXN0LFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgXHJcbiAgICB4QXhpcy5kYXRhPy5zZXRBbGwodGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSk7IFxyXG4gICAgY29uc3QgeUF4aXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgbWluOjAsXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMucm9vdFRyZW5kcywge30pXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgLy8geUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIC8vIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIC8vIFNldCB0aGUgdGl0bGUgb2YgdGhlIHktYXhpc1xyXG4gICAgeUF4aXMuY2hpbGRyZW4udW5zaGlmdChhbTUuTGFiZWwubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICByb3RhdGlvbjogLTkwLFxyXG4gICAgICAvLyB0ZXh0OiAnRm9vdGZhbGwnLCAvL2NhcGl0YWxpemVGaXJzdExldHRlcih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpLCAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXJcclxuICAgICAgeTogYW01LnA1MCxcclxuICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLCAvLyBTZXQgZm9udCBmYW1pbHlcclxuICAgICAgZm9udFNpemU6IFwiMTRweFwiLCAgICAvLyBTZXQgZm9udCBzaXplXHJcbiAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCkgLy8gU2V0IHRleHQgY29sb3IgKG9wdGlvbmFsKVxyXG4gICAgfSkpO1xyXG5pZih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPT09J3BvdGVudGlhbEJ1eWVyJylcclxuICB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPSdwb3RlbnRpYWwnXHJcbi8vIGlmKHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9PT0nbWlzc2Vkb3Bwb3J0dW5pdGllcycpXHJcbi8vICAgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlID0nTWlzc2VkIE9wcG9ydHVuaXR5J1xyXG5jb25zdCBjYXBpdGFsaXplVGl0bGUgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4gdGV4dFxyXG4gICAgLnNwbGl0KCcgJylcclxuICAgIC5tYXAod29yZCA9PiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgLmpvaW4oJyAnKTtcclxufTtcclxuXHJcbi8vIEV4YW1wbGUgdXNhZ2VcclxuY29uc3QgcHJvY2Vzc1R5cGVUaXRsZSA9IGNhcGl0YWxpemVUaXRsZSh0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpO1xyXG4gICAgLy8gdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ0Zvb3RmYWxsJywgJ2Zvb3RmYWxsJywgeEF4aXMsIHlBeGlzLCBmYWxzZSwgYW01LmNvbG9yKDB4NjdiN2RjKSk7XHJcbiAgICB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnQm91bmNlZCcsICdib3VuY2VkJywgeEF4aXMsIHlBeGlzLCB0cnVlLCBhbTUuY29sb3IoMHg2N2I3ZGMpKTtcclxuICAgIHRoaXMuY3JlYXRlQ29sdW1uU2VyaWVzKCdFbmdhZ2VycycsICdlbmdhZ2VycycsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4Njc5NGRjKSk7XHJcbiAgICAvLyA2NzcxZGNcclxuICAgIC8vIHRoaXMuY3JlYXRlQ29sdW1uU2VyaWVzKCdNaXNzZWQgT3Bwb3J0dW5pdHknLCAnbWlzc2Vkb3Bwb3J0dW5pdGllcycsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4Njc5NGRjKSk7XHJcbiAgICAvLyB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnUG90ZW50aWFsIEJ1eWVyJywgJ3BvdGVudGlhbCcsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4ZGM2OWNmKSk7XHJcbiAgICAvLyB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnQ29udmVyc2lvbicsICdjb252ZXJzaW9uJywgeEF4aXMsIHlBeGlzLCB0cnVlLCBhbTUuY29sb3IoMHg2NzcxZGMpKTtcclxuICAgIGlmKHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSAhPT0nJyApe1xyXG4gICAgICBjb25zdCBteUNvbG9yID0gYW01LmNvbG9yKDB4MDBGRjAwKTtcclxuICAgIHRoaXMuY3JlYXRlTGluZVNlcmllcyhwcm9jZXNzVHlwZVRpdGxlLCB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUsIHhBeGlzLCB5QXhpcywgbXlDb2xvcik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBsZWdlbmQgPSB0aGlzLmNoYXJ0VHJlbmRzLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgeDogYW01LnA1MFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICBsZWdlbmQuZGF0YS5zZXRBbGwodGhpcy5jaGFydFRyZW5kcy5zZXJpZXMudmFsdWVzKTtcclxuXHJcbiAgICB0aGlzLmNoYXJ0VHJlbmRzLnNldCgnY3Vyc29yJywgYW01eHkuWFlDdXJzb3IubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICBiZWhhdmlvcjogJ25vbmUnXHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcy5zZXJpZXMuZWFjaCgoc2VyaWVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHNlcmllcy5jb2x1bW5zKSB7XHJcbiAgICAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0KFwiaW50ZXJhY3RpdmVcIiwgdHJ1ZSk7XHJcbiAgICAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuZXZlbnRzLm9uKFwiY2xpY2tcIiwgKGV2OiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBldi50YXJnZXQuZGF0YUl0ZW0uZGF0YUNvbnRleHQ7XHJcbiAgICAgICAgICBjb25zdCB7IGNsaWVudFgsIGNsaWVudFkgfSA9IGV2Lm9yaWdpbmFsRXZlbnQ7XHJcbiAgICAgICAgICB0aGlzLnNob3dUb29sdGlwKGRhdGEsIGNsaWVudFgsIGNsaWVudFkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2hhcnRUcmVuZHMuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgfSwxMDApXHJcbiAgfVxyXG5cclxuICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xyXG4gIHNob3dUb29sdGlwKGRhdGE6IGFueSwgeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMudG9vbHRpcERhdGEgPSBkYXRhO1xyXG4gICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0aGlzLnRvb2x0aXBDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgXHJcbiAgICAvLyBTZXQgdG9vbHRpcCBjb250ZW50IGFuZCBtYWtlIGl0IHZpc2libGUgdG8gY2FsY3VsYXRlIGRpbWVuc2lvbnNcclxuICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xyXG4gICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nOyAvLyBNYWtlIGl0IGludmlzaWJsZSBidXQgc3RpbGwgcHJlc2VudCBpbiB0aGUgRE9NXHJcbiAgXHJcbiAgICAvLyBGb3JjZSBhIHJlZmxvdyB0byBlbnN1cmUgZGltZW5zaW9ucyBhcmUgdXAtdG8tZGF0ZVxyXG4gICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgXHJcbiAgICAvLyBXYWl0IGZvciB0aGUgbmV4dCBldmVudCBsb29wIHRvIGdldCBhY2N1cmF0ZSBkaW1lbnNpb25zXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbHRpcFdpZHRoID0gdG9vbHRpcEVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0b29sdGlwRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgIGNvbnN0IHNjcmVlbkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICBcclxuICAgICAgLy8gQ2FsY3VsYXRlIGlmIHRoZXJlIGlzIGVub3VnaCBzcGFjZSBvbiB0aGUgcmlnaHQgc2lkZSwgb3RoZXJ3aXNlIHBsYWNlIGl0IG9uIHRoZSBsZWZ0XHJcbiAgICAgIGlmICh4ICsgdG9vbHRpcFdpZHRoID4gc2NyZWVuV2lkdGgpIHtcclxuICAgICAgICB0b29sdGlwRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7eCAtIHRvb2x0aXBXaWR0aH1weGA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUubGVmdCA9IGAke3h9cHhgO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC8vIENhbGN1bGF0ZSBpZiB0aGVyZSBpcyBlbm91Z2ggc3BhY2UgYXQgdGhlIGJvdHRvbSwgb3RoZXJ3aXNlIHBsYWNlIGl0IGF0IHRoZSB0b3BcclxuICAgICAgaWYgKHkgKyB0b29sdGlwSGVpZ2h0ID4gc2NyZWVuSGVpZ2h0KSB7XHJcbiAgICAgICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUudG9wID0gYCR7eSAtIHRvb2x0aXBIZWlnaHR9cHhgO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnRvcCA9IGAke3l9cHhgO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7IC8vIE1ha2UgaXQgdmlzaWJsZSBhZ2FpblxyXG4gICAgICB0aGlzLnRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuICBzZWxlY3RQbGFuVHJlbmRzKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMub2JqRGF0YS5kYXRlVHlwZSA9dHlwZTtcclxuICAgIGlmKHR5cGUgPT09J21vbnRobHknICYmIHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEpXHJcbiAgICB0aGlzLm9iakRhdGEubGltaXQ9IDYwO1xyXG4gIGVsc2UgXHJcbiAgdGhpcy5vYmpEYXRhLmxpbWl0PSAzMTtcclxuICAgIHRoaXMub2JqRGF0YS5vZmZzZXQ9IDA7XHJcbiAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICAgIC8vIHRoaXMudXBkYXRlQ2hhcnREYXRhKCk7XHJcbiAgfVxyXG4gIGhpZGVUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0aGlzLnRvb2x0aXBDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0b29sdGlwRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29sdW1uU2VyaWVzKFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICB4QXhpczogYW01eHkuQ2F0ZWdvcnlBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICBzdGFja2VkOiBib29sZWFuLFxyXG4gICAgY29sb3I6IGFtNS5Db2xvclxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VyaWVzID0gdGhpcy5jaGFydFRyZW5kcy5zZXJpZXMucHVzaChcclxuICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBuYW1lOiBuYW1lLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IGZpZWxkTmFtZSxcclxuICAgICAgICBjYXRlZ29yeVhGaWVsZDogJ3N0b3JlTmFtZScsXHJcbiAgICAgICAgc3RhY2tlZDogc3RhY2tlZCxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhID0gdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgZHluYW1pY0NvbHVtbjoge1xyXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IGl0ZW0uY29sdW1uU2V0dGluZ3M/LmZpbGxPcGFjaXR5ID8/IDAuOCxcclxuICAgICAgICAgIHN0cm9rZURhc2hhcnJheTogQXJyYXkuaXNBcnJheShpdGVtLmNvbHVtblNldHRpbmdzPy5zdHJva2VEYXNoYXJyYXkpXHJcbiAgICAgICAgICAgID8gaXRlbS5jb2x1bW5TZXR0aW5ncy5zdHJva2VEYXNoYXJyYXlcclxuICAgICAgICAgICAgOiBpdGVtLmNvbHVtblNldHRpbmdzPy5zdHJva2VEYXNoYXJyYXkgPyBpdGVtLmNvbHVtblNldHRpbmdzLnN0cm9rZURhc2hhcnJheS5zcGxpdCgnLCcpLm1hcChOdW1iZXIpIDogWzUsIDVdLFxyXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IGl0ZW0uY29sdW1uU2V0dGluZ3M/LnN0cm9rZVdpZHRoID8/IDNcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICBcclxuICAgIC8vIFNldCBkYXRhIGZvciBzZXJpZXNcclxuICAgIHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhKTtcclxuICBcclxuICAgIC8vIEFkYXB0ZXJzIHRvIGFwcGx5IGN1c3RvbSBjb2x1bW4gc2V0dGluZ3NcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcImZpbGxPcGFjaXR5XCIsIChmaWxsT3BhY2l0eTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55O1xyXG4gICAgICBpZiAoZGF0YUl0ZW0/LmZvcmVjYXN0ICYmIGRhdGFJdGVtPy5keW5hbWljQ29sdW1uKSB7IFxyXG4gICAgICAgIHJldHVybiBkYXRhSXRlbS5keW5hbWljQ29sdW1uLmZpbGxPcGFjaXR5ID8/IGZpbGxPcGFjaXR5OyBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmlsbE9wYWNpdHk7IC8vIERlZmF1bHQgb3BhY2l0eVxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJzdHJva2VEYXNoYXJyYXlcIiwgKHN0cm9rZURhc2hhcnJheTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55O1xyXG4gICAgICBpZiAoZGF0YUl0ZW0/LmZvcmVjYXN0ICYmIGRhdGFJdGVtPy5keW5hbWljQ29sdW1uKSB7IFxyXG4gICAgICAgIHJldHVybiBkYXRhSXRlbS5keW5hbWljQ29sdW1uLnN0cm9rZURhc2hhcnJheSA/PyBzdHJva2VEYXNoYXJyYXk7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBzdHJva2VEYXNoYXJyYXk7IC8vIERlZmF1bHQgZGFzaCBhcnJheVxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJzdHJva2VXaWR0aFwiLCAoc3Ryb2tlV2lkdGg6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0NvbHVtbikgeyBcclxuICAgICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0NvbHVtbi5zdHJva2VXaWR0aCA/PyBzdHJva2VXaWR0aDsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN0cm9rZVdpZHRoOyAvLyBEZWZhdWx0IHN0cm9rZSB3aWR0aFxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBTZXQgZGVmYXVsdCBjb2xvciBhbmQgc3Ryb2tlIGZvciB0aGUgY29sdW1uc1xyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgZmlsbDogY29sb3IsIC8vIFNldCBmaWxsIGNvbG9yXHJcbiAgICAgIHN0cm9rZTogY29sb3IgLy8gU2V0IHN0cm9rZSBjb2xvclxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBBZGQgbGFiZWxzIHRvIHRoZSBjb2x1bW5zXHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICAgIHRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICAgIGZpbGw6IHRoaXMucm9vdFRyZW5kcy5pbnRlcmZhY2VDb2xvcnMuZ2V0KFwiYWx0ZXJuYXRpdmVUZXh0XCIpLFxyXG4gICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgICAgICBmb250U2l6ZTogMTIgIC8vIFJlZHVjZSBmb250IHNpemVcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gXHJcbiAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG5cclxuXHJcblxyXG4gIGNyZWF0ZUxpbmVTZXJpZXMoXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZyxcclxuICAgIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgIHlBeGlzOiBhbTV4eS5WYWx1ZUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgIGNvbG9yOiBhbTUuQ29sb3JcclxuICApOiB2b2lkIHtcclxuICAgIGlmIChuYW1lID09PSAnTWlzc2Vkb3Bwb3J0dW5pdGllcycpIHtcclxuICAgICAgbmFtZSA9ICdNaXNzZWQgT3Bwb3J0dW5pdHknO1xyXG4gICAgfVxyXG4gICAgaWYgKG5hbWUgPT09ICdQb3RlbnRpYWwnKSB7XHJcbiAgICAgIG5hbWUgPSAnUG90ZW50aWFsIEJ1eWVyJztcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IHNlcmllcyA9IHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgIGNhdGVnb3J5WEZpZWxkOiAnc3RvcmVOYW1lJyxcclxuICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgICBwb2ludGVyT3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgICAgbGFiZWxUZXh0OiBcIlRvdGFsIEZvb3RmYWxsOiB7Zm9vdGZhbGx9XFxue25hbWV9OiB7dmFsdWVZfSBcIixcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGFtNS5SZWN0YW5nbGUubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHgwMEZGMDApIC8vIFNldCB0aGUgZGVzaXJlZCB0b29sdGlwIGJhY2tncm91bmQgY29sb3JcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgXHJcbiAgICAvLyBBcHBseSBkZWZhdWx0IHN0cm9rZSBzZXR0aW5ncyBmb3IgdGhlIGxpbmUgc2VyaWVzXHJcbiAgICBzZXJpZXMuc3Ryb2tlcy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICBzdHJva2VXaWR0aDogMixcclxuICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMEZGMDApLCAvLyBEZWZhdWx0IHN0cm9rZSBjb2xvclxyXG4gICAgICB0ZW1wbGF0ZUZpZWxkOiBcInN0cm9rZVNldHRpbmdzXCIsIC8vIFJlZmVyIHRvIHN0cm9rZVNldHRpbmdzIGZvciBkeW5hbWljIHVwZGF0ZXNcclxuICAgICAgZm9udFNpemU6IDEyIC8vIFJlZHVjZSBmb250IHNpemUgZm9yIGxhYmVsc1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBNYXAgZHluYW1pYyBzZXR0aW5ncyBmb3IgZm9yZWNhc3Q9dHJ1ZSBpdGVtc1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIGR5bmFtaWNMaW5lOiB7XHJcbiAgICAgICAgICBzdHJva2U6IGl0ZW0uc3Ryb2tlU2V0dGluZ3M/LnN0cm9rZSA/PyBhbTUuY29sb3IoMHgwMEZGMDApLCAvLyBEZWZhdWx0IHRvIGdyZWVuIGlmIG5vdCBzcGVjaWZpZWRcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBpdGVtLnN0cm9rZVNldHRpbmdzPy5zdHJva2VXaWR0aCA/PyA1LFxyXG4gICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBBcnJheS5pc0FycmF5KGl0ZW0uc3Ryb2tlU2V0dGluZ3M/LnN0cm9rZURhc2hhcnJheSlcclxuICAgICAgICAgICAgPyBpdGVtLnN0cm9rZVNldHRpbmdzLnN0cm9rZURhc2hhcnJheVxyXG4gICAgICAgICAgICA6IGl0ZW0uc3Ryb2tlU2V0dGluZ3M/LnN0cm9rZURhc2hhcnJheVxyXG4gICAgICAgICAgICA/IGl0ZW0uc3Ryb2tlU2V0dGluZ3Muc3Ryb2tlRGFzaGFycmF5LnNwbGl0KCcsJykubWFwKE51bWJlcilcclxuICAgICAgICAgICAgOiBbNSwgNV0gLy8gRGVmYXVsdCBkYXNoIGFycmF5XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBTZXQgZGF0YSBmb3Igc2VyaWVzXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSk7XHJcbiAgXHJcbiAgLy8gQWRhcHRlciB0byBhcHBseSBjdXN0b20gc3Ryb2tlIHNldHRpbmdzIGJhc2VkIG9uIGZvcmVjYXN0XHJcbiAgc2VyaWVzLnN0cm9rZXMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlXCIsIChzdHJva2U6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICBpZiAoZGF0YUl0ZW0/LmZvcmVjYXN0ICYmIGRhdGFJdGVtPy5keW5hbWljTGluZSkge1xyXG4gICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlID8/IHN0cm9rZTsgLy8gQXBwbHkgZHluYW1pYyBzdHJva2UgaWYgZm9yZWNhc3QgaXMgdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cm9rZTsgLy8gRGVmYXVsdCBzdHJva2VcclxuICB9KTtcclxuXHJcbiAgc2VyaWVzLnN0cm9rZXMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlV2lkdGhcIiwgKHN0cm9rZVdpZHRoOiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55O1xyXG4gICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0xpbmUpIHtcclxuICAgICAgcmV0dXJuIGRhdGFJdGVtLmR5bmFtaWNMaW5lLnN0cm9rZVdpZHRoID8/IHN0cm9rZVdpZHRoOyAvLyBBcHBseSBkeW5hbWljIHN0cm9rZSB3aWR0aFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cm9rZVdpZHRoOyAvLyBEZWZhdWx0IHN0cm9rZSB3aWR0aFxyXG4gIH0pO1xyXG5cclxuICBzZXJpZXMuc3Ryb2tlcy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJzdHJva2VEYXNoYXJyYXlcIiwgKHN0cm9rZURhc2hhcnJheTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNMaW5lKSB7XHJcbiAgICAgIC8vIEVuc3VyZSB0aGUgZGFzaCBhcnJheSBpcyBhIHZhbGlkIGFycmF5IG9mIG51bWJlcnMgZm9yIHByb3BlciByZW5kZXJpbmdcclxuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlRGFzaGFycmF5KVxyXG4gICAgICAgID8gZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlRGFzaGFycmF5IC8vIFVzZSBpZiBhbHJlYWR5IGluIGFycmF5IGZvcm1hdFxyXG4gICAgICAgIDogZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlRGFzaGFycmF5XHJcbiAgICAgICAgPyBkYXRhSXRlbS5keW5hbWljTGluZS5zdHJva2VEYXNoYXJyYXkuc3BsaXQoJywnKS5tYXAoTnVtYmVyKSAvLyBDb252ZXJ0IHN0cmluZyB0byBhcnJheVxyXG4gICAgICAgIDogWzUsIDVdOyAvLyBEZWZhdWx0IGRhc2ggYXJyYXlcclxuICAgIH1cclxuICAgIHJldHVybiBzdHJva2VEYXNoYXJyYXk7IC8vIERlZmF1bHQgc3Ryb2tlIGRhc2ggYXJyYXkgaWYgbm8gY3VzdG9tIHNldHRpbmdcclxuICB9KTtcclxuXHJcbiAgXHJcbiAgICAvLyBBZGQgYnVsbGV0cyAobWFya2VycykgdG8gdGhlIGxpbmUgc2VyaWVzXHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIHNwcml0ZTogYW01LkNpcmNsZS5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgICBzdHJva2VXaWR0aDogMSxcclxuICAgICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBGRjAwKSxcclxuICAgICAgICAgIHJhZGl1czogMywgLy8gSW5jcmVhc2UgcmFkaXVzIGZvciB2aXNpYmlsaXR5XHJcbiAgICAgICAgICBmaWxsOiB0aGlzLnJvb3RUcmVuZHMuaW50ZXJmYWNlQ29sb3JzLmdldChcImJhY2tncm91bmRcIilcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gVHJpZ2dlciB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgc2VyaWVzXHJcbiAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgXHJcbiAgICAvLyBMb2cgdGhlIHNlcmllcyBkYXRhIGZvciBkZWJ1Z2dpbmdcclxuICB9XHJcbiAgXHJcbiAgc2hvdzogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgcHJvZHVjdHRyYWlsRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5zaG93ID10cnVlO1xyXG4gIH1cclxuICBjaGFuZ2VTdGF0dXModHlwZTphbnkpe1xyXG50aGlzLnRyZW5kdHlwZVZhbHVlID0gdHlwZTtcclxudGhpcy5vYmpEYXRhLmZpbHRlckJ5ID10eXBlO1xyXG50aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxudGhpcy5zaG93ID1mYWxzZTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8gdHJhZmZpYyBvdmVyYWxsIGNhcmQgYW5kIGNoYXJ0c1xyXG5cclxuICBwcml2YXRlIHJvb3QhOiBhbTUuUm9vdDtcclxuICAvLyBwcml2YXRlIGNoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIHByaXZhdGUgc2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgcHJpdmF0ZSByb290MjogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBjaGFydDI6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgcHJpdmF0ZSBzZXJpZXMyOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZGV0YWlsZWRSb290OiBhbTUuUm9vdDtcclxuICBkZXRhaWxlZENoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIGRldGFpbGVkU2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZGF5anMgPWRheWpzXHJcbiAgaGVhdE1hcFJvb3Q6IGFtNS5Sb290O1xyXG4gIGhlYXRNYXBDaGFydDogYW01eHkuWFlDaGFydDtcclxuICBoZWF0TWFwU2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZHdlbGxSb290OiBhbTUuUm9vdDtcclxuICBkd2VsbENoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIGR3ZWxsU2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZGVtb0dyYXBoaWNzRGF0YTogYW55O1xyXG4gIGRlbW9HcmFwaGljc3Jvb3Q6IGFueTtcclxuICBidXllcnNyb290OmFueTtcclxuXHJcbiAgZGF0YTogYW55O1xyXG4gIGN1cnJlbnREYXRhOiBhbnk7XHJcbiAgY3VycmVudERhdGEyOiBhbnk7XHJcbiAgZGV0YWlsZWRDaGFydHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkYXRlOiBhbnk7XHJcbiAgdmFsdWU6IGFueTtcclxuICBmb290ZmFsbFZhbHVlOiBzdHJpbmcgPSBcInRyYWZmaWNcIjtcclxuICBkZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlOiBhbnk7XHJcbiAgYnV5ZXJzQ2hhcnRJbnN0YW5jZTphbnk7XHJcbiAgc2VsZWN0ZWRUYWI6IGFueSA9IFwidHJhZmZpY1wiO1xyXG4gIGdldE92ZXJhbGxDYXJkRGF0YTogYW55ID0gW107XHJcbiAgLy8gb2JqRGF0YTogYW55O1xyXG4gIGdldE92ZXJhbGxIb3VybHlEYXRhOiBhbnk7XHJcbiAgZ2V0T3ZlcmFsbENoYXJ0RGF0YTogYW55PVtdO1xyXG4gIGdldFNpbmdsZUNoYXJ0RGF0YTogYW55O1xyXG4gIGJ1eWVyc0RhdGE6IGFueTtcclxuICBnZXREZW5zaXR5RHdlbGxEYXRhOiBhbnk7XHJcbiAgdHJhZmZpY0RhdGE6YW55PSBbXTtcclxuICBmb290ZmFsbERhdGU6IGFueTtcclxuICBzZWxjdGVkVmFsdWU6YW55ID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gIGNoYXJ0Tm9EYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBjaGFydGxvYWRpbmc6IGJvb2xlYW4gPXRydWU7XHJcbiAgdG90YWxDb3VudDogYW55O1xyXG4gIGRlbW9HcmFwaGljc1NlcmllczogYW55O1xyXG5cclxuICBpdGVtc1BlclBhZ2VUcmFmZmljQ2FyZCA9IDEwO1xyXG4gIGN1cnJlbnRQYWdlVHJhZmZpY0NhcmQgPSAxO1xyXG4gIHRvdGFsSXRlbXNUcmFmZmljQ2FyZCA9IDE7XHJcbiAgcGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQ6IG51bWJlcltdID0gW107XHJcbiAgcGFnZVNpemVUcmFmZmljQ2FyZDphbnk9MjA7XHJcbiAgb2Zmc2V0VHJhZmZpY0NhcmQ6IG51bWJlciA9IDA7XHJcbiAgbGltaXRUcmFmZmljQ2FyZDogbnVtYmVyID0gMjA7XHJcbiAgZGVtb05vRGF0YSA9ZmFsc2U7XHJcbiAgZGVtb2xvYWRpbmcgPWZhbHNlO1xyXG4gIGJ1eWVyc05vRGF0YSA9ZmFsc2U7XHJcbiAgYnV5ZXJzbG9hZGluZyA9ZmFsc2U7XHJcbiAgZGF0YXNldHNDYXJkOmFueSA9W107XHJcblxyXG4gIHNlbGVjdGVkVGFicyh0eXBlOiBhbnkpIHtcclxuICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0eXBlO1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLnZhbHVlVHlwZSA9dGhpcy52YWx1ZVR5cGU7XHJcbiAgIFxyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5zdG9yZUlkID0gdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpO1xyXG4gICBpZih0aGlzLnNlbGVjdGVkVGFiID09PSAndHJhZmZpYycpe1xyXG4gICB0aGlzLmdldER3ZWxsKCk7IHRoaXMudHJhZmZpY0R3ZWxsKCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgfSBlbHNle1xyXG4gICAgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJmb290ZmFsbFwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiY29udmVyc2lvblwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJjb252ZXJzaW9uXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nQ29udmVyc2lvbiBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImVuZ2FnZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImVuZ2FnZXJzXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRW5nYWdlcnMgQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJib3VuY2VkXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImJvdW5jZWRcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdCb3VuY2VkIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwicG90ZW50aWFsQnV5ZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInBvdGVudGlhbEJ1eWVyc1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1BvdGVudGlhbCBCdXllciBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcIm1pc3NlZE9wcG9ydHVuaXR5XCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nTWlzc2VkIE9wcG9ydHVuaXR5IEFuYWx5c2lzJ1xyXG4gICAgfSBcclxuICAgIGlmKHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiY29udmVyc2lvblwiKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiY29udmVyc2lvblwiXHJcbiAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImNvbnZlcnNpb25cIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdDb252ZXJzaW9uIEFuYWx5c2lzJ1xyXG4gICAgICB0aGlzLmRhdGFzZXRzQ2FyZCA9IFtcclxuICAgICAgICB7IHZhbHVlOiB0aGlzLnNlbGVjdGVkVGFiLCBsYWJlbDogdGhpcy5zZWxjdGVkVmFsdWUgfSxcclxuICAgICAgXTtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9MjAsXHJcbiAgICAgIHRoaXMub3ZlcmFsbENhcmQoKTtcclxuICAgICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICB0aGlzLmRhdGFzZXRzQ2FyZCA9IFtcclxuICAgICAgeyB2YWx1ZTogdGhpcy5zZWxlY3RlZFRhYiwgbGFiZWw6IHRoaXMuc2VsY3RlZFZhbHVlIH0sXHJcbiAgICAgIHsgdmFsdWU6IFwiZGVtb2dyYXBoaWNcIiwgbGFiZWw6IFwiRGVtb2dyYXBoaWMgQW5hbHlzaXNcIiB9LFxyXG4gICAgICB7IHZhbHVlOiBcImJ1eWVyXCIsIGxhYmVsOiBcIkJ1eWVyIEFuYWx5c2lzXCIgfSxcclxuICAgIF07XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0yMCxcclxuICAgIHRoaXMub3ZlcmFsbENhcmQoKTtcclxuICAgIHRoaXMub3ZlcmFsbEhvdXJseUNoYXJ0KCk7XHJcbiAgICB0aGlzLm92ZXJhbGxDaGFydCgpO1xyXG4gIH1cclxuICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YTphbnkgPVtdO1xyXG4gIHRyYWZmaWNEd2VsbCgpe1xyXG4gICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jaGFydGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub3JtYWxpemVkRGF0YVxyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2UgPU51bWJlcih0aGlzLmZvb3RmYWxsRGF0ZSk7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldFRyYWZmaWNEZW5zaXR5RHdlbGwodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudHJhZmZpY0hlYXRDaGFydCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmKCFyZXMgfHwgcmVzLmNvZGUgPT09IDIwNCl7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YSA9W107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YSA9W107XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7IFxyXG4gIH1cclxuICBjaGFydER3ZWxsTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIGNoYXJ0RHdlbGxsb2FkaW5nID0gdHJ1ZTtcclxuICAgZ2V0RHdlbGwoKXtcclxuICAgICAgdGhpcy5jaGFydER3ZWxsTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2hhcnREd2VsbGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuaG91ckZvcm1hdDtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGE7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0RGVuc2l0eUR3ZWxsKHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZHdlbGxUaW1lU3BsaXQ/Lmxlbmd0aCA+MCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldER3ZWxsQ2hhcnQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydER3ZWxsbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydER3ZWxsbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmKCFyZXMgfHwgcmVzLmNvZGUgPT09IDIwNCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydER3ZWxsTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhID1bXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB0aGlzLmdldERlbnNpdHlEd2VsbERhdGEgPVtdO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGluaXRDaGFydCgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidGVzdEdyYXBoaWNzXCIpO1xyXG4gICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yb290ID0gYW01LlJvb3QubmV3KFwidGVzdEdyYXBoaWNzXCIpO1xyXG4gIFxyXG4gICAgICAgIC8vIFNldCB0aGVtZXNcclxuICAgICAgICAvLyB0aGlzLnJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMucm9vdCldKTtcclxuICAgICAgICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gICAgICAgIC8vIGNvbnN0IGR5bmFtaWNXaWR0aCA9IE1hdGgubWF4KDgwMCwgdG90YWxDb3VudCAqIDUwKTsgLy8gTWluaW11bSA4MDBweCBvciA1MHB4IHBlciBpdGVtXHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZHluYW1pY1dpZHRoLHRoaXMudG90YWxDb3VudClcclxuICAgICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgICB0aGlzLmNoYXJ0ID0gdGhpcy5yb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICAgIHBhblg6IHRydWUsXHJcbiAgICAgICAgICAgIHBhblk6IHRydWUsXHJcbiAgICAgICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgICBwaW5jaFpvb21YOiB0cnVlLFxyXG4gICAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiAxLFxyXG4gICAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSwgLy8gTGV0IHRoZSBjaGFydCB0YWtlIGZ1bGwgd2lkdGhcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICAvLyB0aGlzLmNoYXJ0LnBsb3RDb250YWluZXIuc2V0QWxsKHtcclxuICAgICAgICAvLyAgIG1pbldpZHRoOiBkeW5hbWljV2lkdGgsIC8vIFNldCBkeW5hbWljIG1pbiB3aWR0aCBmb3Igc2Nyb2xsaW5nXHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgLy8gQWRkIGN1cnNvclxyXG4gICAgICAgIGxldCBjdXJzb3IgPSB0aGlzLmNoYXJ0LnNldChcImN1cnNvclwiLCBhbTV4eS5YWUN1cnNvci5uZXcodGhpcy5yb290LCB7fSkpO1xyXG4gICAgICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICBcclxuICAgICAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHhSZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgIHJvdGF0aW9uOiAtNDUsXHJcbiAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgY2VudGVyWDogYW01LnAxMDAsXHJcbiAgICAgICAgICBwYWRkaW5nUmlnaHQ6IDUsXHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgIGxvY2F0aW9uOiAxLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIEFkZCBzY3JvbGxiYXJcclxuICAgICAgICB0aGlzLmNoYXJ0LnNldChcclxuICAgICAgICAgIFwic2Nyb2xsYmFyWFwiLFxyXG4gICAgICAgICAgYW01LlNjcm9sbGJhci5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICAgIG9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICBsZXQgeEF4aXMgPSB0aGlzLmNoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJzdG9yZU5hbWVcIixcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICAgLy8gdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMucm9vdCwge2xhYmVsVGV4dDogXCJ7ZnVsbFN0b3JlTmFtZX1cIn0pLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gIFxyXG4gICAgICAgIGxldCB5UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICBsZXQgeUF4aXMgPSB0aGlzLmNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YT8uc3RvcmVEYXRhPy5tYXAoXHJcbiAgICAgICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICBmdWxsU3RvcmVOYW1lOiBpdGVtLnN0b3JlTmFtZSwgLy8gRnVsbCBzdG9yZSBuYW1lXHJcbiAgICAgIHN0b3JlTmFtZTogIGl0ZW0uc3RvcmVOYW1lLCAvLyBpdGVtLnN0b3JlTmFtZS5sZW5ndGggPiAyMCA/IGl0ZW0uc3RvcmVOYW1lLnNsaWNlKDAsIDIwKSArICcuLi4nIDogU2hvcnRlbmVkIGZvciB4QXhpc1xyXG4gICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0uY291bnQpLFxyXG4gICAgICBzdG9yZUlkOiBpdGVtLnN0b3JlSWRcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5zZXJpZXMgPSB0aGlzLmNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbmFtZTogXCJTZXJpZXMgMVwiLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwic3RvcmVOYW1lXCIsXHJcbiAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgICBsYWJlbFRleHQ6IGAke3RoaXMuY2FwaXRhbGl6ZVRpdGxlKHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGUpfSwge2Z1bGxTdG9yZU5hbWV9OiB7dmFsdWVZfWAsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHhBeGlzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHsgc3Ryb2tlT3BhY2l0eTogMCB9KTtcclxuICAgICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmV2ZW50cy5vbihcImNsaWNrXCIsIChldjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhSXRlbSA9IGV2LnRhcmdldC5kYXRhSXRlbS5kYXRhQ29udGV4dDtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlQmFyQ2xpY2soZGF0YUl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHRoaXMuc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHsgc3Ryb2tlT3BhY2l0eTogMCB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgIC8vIFNldCB3aWR0aCBmb3IgY2hhcnQgY29udGFpbmVyIHRvIGVuYWJsZSBzY3JvbGxpbmdcclxuICAgIC8vIGNvbnN0IHRvdGFsQ291bnQgPSB0aGlzLnRvdGFsQ291bnQ7XHJcbiAgICAvLyBjb25zdCBpdGVtV2lkdGggPSA1MDsgLy8gV2lkdGggb2YgZWFjaCBpdGVtLCBhZGp1c3QgYXMgbmVlZGVkXHJcbiAgICAvLyBjb25zdCBtaW5XaWR0aCA9IHRvdGFsQ291bnQgKiBpdGVtV2lkdGg7IC8vIENhbGN1bGF0ZSB0b3RhbCB3aWR0aFxyXG4gICAgLy8gY2hhcnREaXYuc3R5bGUud2lkdGggPSBgJHtNYXRoLm1heChtaW5XaWR0aCwgMTAyNCl9cHhgOyAvLyBNaW5pbXVtIHdpZHRoIG9mIDgwMHB4XHJcbiAgICAgICAgLy8gTWFrZSBzdHVmZiBhbmltYXRlIG9uIGxvYWRcclxuICAgICAgICB0aGlzLnNlcmllcy5hcHBlYXIoMTAwMCk7XHJcbiAgICAgICAgdGhpcy5jaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBjYXBpdGFsaXplVGl0bGUodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgcmV0dXJuIHRleHRcclxuICAgICAgICAudG9Mb3dlckNhc2UoKSAvLyBFbnN1cmUgdGhlIHN0cmluZyBpcyBpbiBsb3dlcmNhc2UgZmlyc3RcclxuICAgICAgICAuc3BsaXQoJyAnKSAgICAvLyBTcGxpdCB0aGUgc3RyaW5nIGludG8gd29yZHNcclxuICAgICAgICAubWFwKHdvcmQgPT4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkpIC8vIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiBlYWNoIHdvcmRcclxuICAgICAgICAuam9pbignICcpOyAgICAvLyBKb2luIHRoZSB3b3JkcyBiYWNrIHRvZ2V0aGVyXHJcbiAgICB9XHJcbiAgICBnZXRSYW5nZUNvbG9yKHJhdGU6IG51bWJlcik6IGFtNS5Db2xvciB7XHJcbiAgICAgIGxldCBjb2xvcjogYW01LkNvbG9yO1xyXG4gICAgICBpZiAocmF0ZSA+PSAwICYmIHJhdGUgPD0gMTApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweEVBRjhGRik7XHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDEwICYmIHJhdGUgPD0gMjApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweENDRTlGRSk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDIwICYmIHJhdGUgPD0gMzApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweEIwRDZGQyk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDMwICYmIHJhdGUgPD0gNDApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDk0QzJGQSk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDQwICYmIHJhdGUgPD0gNTUpIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDc4QTlGOCk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDU1ICYmIHJhdGUgPD0gNzUpIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDk5RDJGRCk7ICBcclxuICAgICAgfSBlbHNlIGlmIChyYXRlID4gNzUgJiYgcmF0ZSA8PSA5MCkge1xyXG4gICAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4NjZCQ0ZEKTsgICAgXHJcbiAgICAgIH0gIGVsc2UgaWYgKHJhdGUgPiA5MCAmJiByYXRlIDw9IDEwMCkge1xyXG4gICAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4MzQ2MEYzKTsgIFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4RkZGKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sb3I7XHJcbiAgICB9XHJcbiAgICBpbml0SGVhdENoYXJ0KCkge1xyXG4gICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJoZWF0bWFwY2hhcnRcIik7XHJcbiAgICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5yb290Mikge1xyXG4gICAgICAgICAgdGhpcy5yb290Mi5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIENyZWF0ZSByb290IGVsZW1lbnRcclxuICAgICAgICB0aGlzLnJvb3QyID0gYW01LlJvb3QubmV3KFwiaGVhdG1hcGNoYXJ0XCIpO1xyXG4gIFxyXG4gICAgICAgIHRoaXMucm9vdDIuY29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICAvLyBTZXQgdGhlbWVzXHJcbiAgICAgICAgdGhpcy5yb290Mi5zZXRUaGVtZXMoW1xyXG4gICAgICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLnJvb3QyKSxcclxuICAgICAgICAgIGFtNXRoZW1lc19SZXNwb25zaXZlLm5ldyh0aGlzLnJvb3QyKSxcclxuICAgICAgICBdKTtcclxuICBcclxuICAgICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgICB0aGlzLmNoYXJ0MiA9IHRoaXMucm9vdDIuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgICAgd2hlZWxYOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgd2hlZWxZOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgIGxheW91dDogdGhpcy5yb290Mi52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICBcclxuICAgICAgICAvLyBDcmVhdGUgYXhlcyBhbmQgdGhlaXIgcmVuZGVyZXJzXHJcbiAgICAgICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAyMCxcclxuICAgICAgICAgIGludmVyc2VkOiB0cnVlLFxyXG4gICAgICAgICAgb3Bwb3NpdGU6IHRydWUsXHJcbiAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHlSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gIFxyXG4gICAgICAgIGNvbnN0IHlBeGlzID0gdGhpcy5jaGFydDIueUF4ZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcInRpbWVcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICBcclxuICAgICAgICBjb25zdCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgb3Bwb3NpdGU6IHRydWUsXHJcbiAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gIFxyXG4gICAgICAgIGNvbnN0IHhBeGlzID0gdGhpcy5jaGFydDIueEF4ZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICBcclxuICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5zZXJpZXMyID0gdGhpcy5jaGFydDIuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgY2FsY3VsYXRlQWdncmVnYXRlczogdHJ1ZSxcclxuICAgICAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHhmZmZmZmYpLFxyXG4gICAgICAgICAgICBjbHVzdGVyZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwid2Vla2RheVwiLFxyXG4gICAgICAgICAgICBjYXRlZ29yeVlGaWVsZDogXCJ0aW1lXCIsXHJcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6IFwicmF0ZVwiLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc2VyaWVzMi5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICB0b29sdGlwVGV4dDogXCJ7cmF0ZX0lXCIsXHJcbiAgICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxyXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IDIsXHJcbiAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICAgIGhlaWdodDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweGZmZmZmZiksIC8vIERlZmF1bHQgY29sb3IgZm9yIGNvbHVtbnNcclxuICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBBcHBseSByYW5nZS1iYXNlZCBjb2xvciBydWxlcyBmb3IgZWFjaCBkYXRhIGl0ZW1cclxuICAgICAgICB0aGlzLnNlcmllczIuY29sdW1ucy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJmaWxsXCIsIChmaWxsLCB0YXJnZXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBDaGFydERhdGFJdGVtOyAvLyBDYXN0IGRhdGFDb250ZXh0IHRvIENoYXJ0RGF0YUl0ZW1cclxuICAgICAgICAgIGlmIChkYXRhSXRlbSAmJiBkYXRhSXRlbS5yYXRlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmFuZ2VDb2xvcihkYXRhSXRlbS5yYXRlKTsgLy8gR2V0IGNvbG9yIGJhc2VkIG9uIHJhdGVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBmaWxsO1xyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHRoaXMuc2VyaWVzMi5idWxsZXRzLnB1c2goKCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgc3ByaXRlOiBhbTUuTGFiZWwubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgICB0ZXh0OiBcIntyYXRlLmZvcm1hdE51bWJlcignIy4jJyl9JVwiLFxyXG4gICAgICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgICAgICAgIHBvcHVsYXRlVGV4dDogdHJ1ZSxcclxuICAgICAgICAgICAgICBmb250U2l6ZTogMTIsIC8vIFJlZHVjZSBmb250IHNpemVcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICAvLyBTZXQgZGF0YVxyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhPy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgICB3ZWVrZGF5OiBcIkhvdXJseSBEYXRhXCIsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHRoaXMuc2VyaWVzMi5kYXRhLnNldEFsbChkYXRhKTtcclxuICBcclxuICAgICAgICAvLyBBdXRvLXBvcHVsYXRlIFggYW5kIFkgYXhpcyBjYXRlZ29yeSBkYXRhXHJcbiAgICAgICAgY29uc3QgdGltZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgYW01LmFycmF5LmVhY2goZGF0YSwgZnVuY3Rpb24gKHJvdzogYW55KSB7XHJcbiAgICAgICAgICBpZiAodGltZXMuaW5kZXhPZihyb3cudGltZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICAgIHRpbWVzLnB1c2gocm93LnRpbWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHhBeGlzLmRhdGEuc2V0QWxsKFt7IHdlZWtkYXk6IFwiSG91cmx5IERhdGFcIiB9XSk7IC8vIFNldCBzaW5nbGUgY2F0ZWdvcnkgZm9yIHgtYXhpc1xyXG4gICAgICAgIHlBeGlzLmRhdGEuc2V0QWxsKFxyXG4gICAgICAgICAgdGltZXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHRpbWU6IGl0ZW0gfTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICBcclxuICAgICAgICB0aGlzLmNoYXJ0Mi5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBvbkRhdGFzZXRDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICB0aGlzLmRldGFpbGVkQ2hhcnRzID0gZmFsc2U7XHJcbiAgICAgIC8vIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudDtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gZXZlbnQ7XHJcbiAgICAgIGlmICh0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiZm9vdGZhbGxcIiB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcImNvbnZlcnNpb25cIlxyXG4gICAgICAgIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiZW5nYWdlcnNcIiB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcImJvdW5jZWRcIlxyXG4gICAgICAgIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwicG90ZW50aWFsQnV5ZXJcIiB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpIHtcclxuICAgICAgICBpZiAodGhpcy5yb290KSB7XHJcbiAgICAgICAgICB0aGlzLnJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb290ZmFsbFZhbHVlID09PSBcImRlbW9ncmFwaGljXCIpIHtcclxuICAgICAgICAvLyBEaXNwb3NlIG9mIGFueSBwcmV2aW91cyBjaGFydHMgdG8gYXZvaWQgZHVwbGljYXRlc1xyXG4gICAgICAgIGlmICh0aGlzLmRlbW9HcmFwaGljc3Jvb3QpIHtcclxuICAgICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0RGVtb0dyYXBoaWNzKCk7XHJcbiAgICAgIH0gXHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJidXllclwiKSB7XHJcbiAgICAgICAgLy8gRGlzcG9zZSBvZiBhbnkgcHJldmlvdXMgY2hhcnRzIHRvIGF2b2lkIGR1cGxpY2F0ZXNcclxuICAgICAgICBpZiAodGhpcy5idXllcnNyb290KSB7XHJcbiAgICAgICAgICB0aGlzLmJ1eWVyc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldEJ1eWVycygpO1xyXG4gICAgICB9IFxyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICBcclxuICAgYmFja1RvRm9vdGZhbGwoKSB7XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0yMCxcclxuICAgICB0aGlzLm9iakRhdGFUcmFmZmljLnN0b3JlSWQgPSB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgIHRoaXMub3ZlcmFsbEhvdXJseUNoYXJ0KCk7XHJcbiAgICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgfVxyXG4gXHJcbiAgIGdldERlbW9HcmFwaGljcygpe1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0O1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldDtcclxuICAgICB0aGlzLmRlbW9Ob0RhdGEgPWZhbHNlO1xyXG4gICAgIHRoaXMuZGVtb2xvYWRpbmcgPSB0cnVlO1xyXG4gICAgIHRoaXMuc2VydmljZVxyXG4gICAgIC5nZXREZW1vR3JhcGhpY3NDaGFydCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgdGhpcy5kZW1vR3JhcGhpY3NEYXRhID0gcmVzPy5kYXRhLmRlbW9ncmFwaGljRGF0YTtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0KCk7XHJcbiAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IFxyXG4gICAgICAgICAgIC8vIENhbGwgd2l0aCBhIGRlbGF5IHRvIGVuc3VyZSB0aGUgZWxlbWVudCBpcyBpbiB0aGUgRE9NXHJcbiAgICAgICAgICAgIHRoaXMuZGVtb05vRGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZGVtb2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICB0aGlzLmRlbW9Ob0RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgdGhpcy5kZW1vbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICB9XHJcbiAgICAgICB9LFxyXG4gICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgIH0sXHJcbiAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgfSk7XHJcbiAgICAgXHJcbiAgIH1cclxuICAgZGVtb0dyYXBoaWNzQ2hhcnQoKTogdm9pZCB7XHJcbiAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgdGhpcy5kZW1vTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLmRlbW9sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICBjb25zdCBkZW1vR3JhcGhpY3NEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRlbW9HcmFwaGljc1wiKTtcclxuICAgICAgIGlmICghZGVtb0dyYXBoaWNzRGl2KSB7XHJcbiAgICAgICAgIHJldHVybjtcclxuICAgICAgIH1cclxuICAgICAgIC8vIERpc3Bvc2Ugb2YgcHJldmlvdXMgY2hhcnQgaWYgaXQgZXhpc3RzXHJcbiAgICAgICBpZiAodGhpcy5kZW1vR3JhcGhpY3Nyb290KSB7XHJcbiAgICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICB9XHJcbiBcclxuICAgICAgIC8vIENyZWF0ZSBhIG5ldyBjaGFydFxyXG4gICAgICAgdGhpcy5kZW1vR3JhcGhpY3Nyb290ID0gYW01LlJvb3QubmV3KGRlbW9HcmFwaGljc0Rpdik7XHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QpLFxyXG4gICAgICAgXSk7XHJcbiBcclxuICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZSA9XHJcbiAgICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgIGxheW91dDogdGhpcy5kZW1vR3JhcGhpY3Nyb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgICAgIH0pXHJcbiAgICAgICAgICk7XHJcbiBcclxuICAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgY2VsbFN0YXJ0TG9jYXRpb246IDAuMSxcclxuICAgICAgICAgY2VsbEVuZExvY2F0aW9uOiAwLjksXHJcbiAgICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICB9KTtcclxuIFxyXG4gICAgICAgbGV0IHhBeGlzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnhBeGVzLnB1c2goXHJcbiAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJhZ2VcIixcclxuICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHt9KSxcclxuICAgICAgICAgfSlcclxuICAgICAgICk7XHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc0RhdGEgPSB0aGlzLmRlbW9HcmFwaGljc0RhdGE/Lm1hcChcclxuICAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICBhZ2U6IGl0ZW0uYWdlLFxyXG4gICAgICAgICAgIGNvdW50OiBOdW1iZXIoaXRlbS5jb3VudCksXHJcbiAgICAgICAgICAgbWFsZUNvdW50OiBOdW1iZXIoaXRlbS5tYWxlQ291bnQpLFxyXG4gICAgICAgICAgIGZlbWFsZUNvdW50OiBOdW1iZXIoaXRlbS5mZW1hbGVDb3VudCksXHJcbiAgICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gICAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHsgbG9jYXRpb246IDEgfSk7XHJcbiAgICAgICB4QXhpcy5kYXRhLnNldEFsbCh0aGlzLmRlbW9HcmFwaGljc0RhdGEpO1xyXG4gXHJcbiAgICAgICBsZXQgeUF4aXMgPSB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UueUF4ZXMucHVzaChcclxuICAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjEsXHJcbiAgICAgICAgICAgfSksXHJcbiAgICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gICAgICAvLyBBZGQgbGVnZW5kXHJcbiAgICAgbGV0IGxlZ2VuZCA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgYW01LkxlZ2VuZC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgIHg6IGFtNS5wMTAwLCAgICAvLyBBbGlnbiB0byAxMDAlIHdpZHRoIChyaWdodCBzaWRlKVxyXG4gICAgICAgICB5OiBhbTUucDAsICAgICAgLy8gQWxpZ24gdG8gdGhlIHRvcFxyXG4gICAgICAgICBjZW50ZXJYOiBhbTUucDEwMCwgIC8vIEFsaWduIHRoZSBjZW50ZXIgb2YgdGhlIGxlZ2VuZCB0byBpdHMgcmlnaHRcclxuICAgICAgICAgY2VudGVyWTogYW01LnAwLCAgICAvLyBBbGlnbiB0aGUgdG9wIG9mIHRoZSBsZWdlbmQgdG8gdGhlIHRvcCBvZiB0aGUgY2hhcnRcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuIFxyXG4gICAgIC8vIENyZWF0ZSB0aGUgc2VyaWVzIGFuZCBhZGQgZWFjaCB0byB0aGUgbGVnZW5kXHJcbiAgICAgY29uc3QgbWFsZVNlcmllcyA9IHRoaXMubWFrZVNlcmllcyhcIk1hbGVcIiwgXCJtYWxlQ291bnRcIiwgeEF4aXMsIHlBeGlzKTtcclxuICAgICBjb25zdCBmZW1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJGZW1hbGVcIiwgXCJmZW1hbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gXHJcbiAgICAgbGVnZW5kLmRhdGEuc2V0QWxsKFttYWxlU2VyaWVzLCBmZW1hbGVTZXJpZXNdKTtcclxuICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS5hcHBlYXIoMTAwMCwgMTAwKTtcclxuIFxyXG4gICAgIH0sXHJcbiAgICAgICAgICAgIDApO1xyXG4gXHJcbiAgIH1cclxuICAgbWFrZVNlcmllcyhcclxuICAgICBuYW1lOiBhbnksXHJcbiAgICAgZmllbGROYW1lOiBhbnksXHJcbiAgICAgeEF4aXM6IGFtNXh5LkNhdGVnb3J5QXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgIHlBeGlzOiBhbTV4eS5WYWx1ZUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPlxyXG4gICApIHtcclxuICAgICBsZXQgc2VyaWVzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnNlcmllcy5wdXNoKFxyXG4gICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcImFnZVwiLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICBcclxuICAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgdG9vbHRpcFRleHQ6IFwie25hbWV9LCB7Y2F0ZWdvcnlYfToge3ZhbHVlWX1cIixcclxuICAgICAgIHdpZHRoOiBhbTUucGVyY2VudCg5MCksXHJcbiAgICAgICB0b29sdGlwWTogMCxcclxuICAgICAgIHN0cm9rZU9wYWNpdHk6IDAsXHJcbiAgICAgfSk7XHJcbiAgIFxyXG4gICAgIHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmRlbW9HcmFwaGljc0RhdGEpO1xyXG4gICAgIHNlcmllcy5hcHBlYXIoKTtcclxuICAgXHJcbiAgICAgcmV0dXJuIHNlcmllczsgIC8vIFJldHVybiB0aGUgc2VyaWVzIHRvIGFkZCBpdCB0byB0aGUgbGVnZW5kXHJcbiAgIH1cclxuICAgZ2V0QnV5ZXJzKCl7XHJcbiAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQ7XHJcbiAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0O1xyXG4gICAgIHRoaXMuYnV5ZXJzbG9hZGluZyA9IHRydWU7XHJcbiAgICAgdGhpcy5idXllcnNOb0RhdGEgPWZhbHNlO1xyXG4gICAgIHRoaXMuc2VydmljZVxyXG4gICAgIC5nZXRCdXllcnNDaGFydCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgdGhpcy5idXllcnNEYXRhID0gcmVzPy5kYXRhLmJ1eWVyRGF0YTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5nZXRCdXllcnNDaGFydCgpOyAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IFxyXG4gICAgICAgICAgdGhpcy5idXllcnNOb0RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5idXllcnNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICB0aGlzLmJ1eWVyc2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICB0aGlzLmJ1eWVyc05vRGF0YSA9dHJ1ZTtcclxuICAgICAgICAgfVxyXG4gICAgICAgfSxcclxuICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICB9LFxyXG4gICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgIH0pO1xyXG4gICB9XHJcbiAgIGdldEJ1eWVyc0NoYXJ0KCk6IHZvaWQge1xyXG4gICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgIHRoaXMuYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLmJ1eWVyc2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICBjb25zdCBidXllcnNEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImJ1eWVyc0NoYXJ0c1wiKTtcclxuICAgICBpZiAoIWJ1eWVyc0Rpdikge1xyXG4gICAgICAgcmV0dXJuO1xyXG4gICAgIH1cclxuIFxyXG4gICAgIC8vIERpc3Bvc2Ugb2YgcHJldmlvdXMgY2hhcnQgaWYgaXQgZXhpc3RzXHJcbiAgICAgaWYgKHRoaXMuYnV5ZXJzcm9vdCkge1xyXG4gICAgICAgdGhpcy5idXllcnNyb290LmRpc3Bvc2UoKTtcclxuICAgICB9XHJcbiBcclxuICAgICAvLyBDcmVhdGUgYSBuZXcgY2hhcnRcclxuICAgICB0aGlzLmJ1eWVyc3Jvb3QgPSBhbTUuUm9vdC5uZXcoYnV5ZXJzRGl2KTtcclxuICAgICB0aGlzLmJ1eWVyc3Jvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5idXllcnNyb290KSxcclxuICAgICBdKTtcclxuIFxyXG4gICAgIHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZSA9XHJcbiAgICAgICB0aGlzLmJ1eWVyc3Jvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICAgbGF5b3V0OiB0aGlzLmJ1eWVyc3Jvb3QudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gXHJcbiAgICAgbGV0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgY2VsbFN0YXJ0TG9jYXRpb246IDAuMSxcclxuICAgICAgIGNlbGxFbmRMb2NhdGlvbjogMC45LFxyXG4gICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICB9KTtcclxuIFxyXG4gICAgIGxldCB4QXhpcyA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS54QXhlcy5wdXNoKFxyXG4gICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJhZ2VcIixcclxuICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuYnV5ZXJzcm9vdCwge30pLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHRoaXMuYnV5ZXJzRGF0YT8ubWFwKFxyXG4gICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgYWdlOiBpdGVtLmFnZSxcclxuICAgICAgICAgc2luZ2xlQ291bnQ6IE51bWJlcihpdGVtLnNpbmdsZUNvdW50KSxcclxuICAgICAgICAgZ3JvdXBDb3VudDogTnVtYmVyKGl0ZW0uZ3JvdXBDb3VudCksXHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHsgbG9jYXRpb246IDEgfSk7XHJcbiAgICAgeEF4aXMuZGF0YS5zZXRBbGwodGhpcy5idXllcnNEYXRhKTtcclxuIFxyXG4gICAgIGxldCB5QXhpcyA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS55QXhlcy5wdXNoKFxyXG4gICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMSxcclxuICAgICAgICAgfSksXHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiAgICAgbGV0IGxlZ2VuZCA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgYW01LkxlZ2VuZC5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgIHg6IGFtNS5wMTAwLCAgICAvLyBBbGlnbiB0byAxMDAlIHdpZHRoIChyaWdodCBzaWRlKVxyXG4gICAgIHk6IGFtNS5wMCwgICAgICAvLyBBbGlnbiB0byB0aGUgdG9wXHJcbiAgICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICAgY2VudGVyWTogYW01LnAwLCAgICAvLyBBbGlnbiB0aGUgdG9wIG9mIHRoZSBsZWdlbmQgdG8gdGhlIHRvcCBvZiB0aGUgY2hhcnRcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuICAgICBcclxuICAgY29uc3Qgc2luZ2xlQ291bnQgPSAgdGhpcy5nZXRCdXllclNlcmllcyhcIlNpbmdsZVwiLCBcInNpbmdsZUNvdW50XCIsIHhBeGlzLCB5QXhpcyk7XHJcbiAgIGNvbnN0IGdyb3VwQ291bnQgPSAgdGhpcy5nZXRCdXllclNlcmllcyhcIkdyb3VwXCIsIFwiZ3JvdXBDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gICAgIGxlZ2VuZC5kYXRhLnNldEFsbChbc2luZ2xlQ291bnQsIGdyb3VwQ291bnRdKTtcclxuICAgICB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgIH0sMCk7XHJcbiB9XHJcbiBnZXRCdXllclNlcmllcyhcclxuICAgbmFtZTogc3RyaW5nLFxyXG4gICBmaWVsZE5hbWU6IHN0cmluZyxcclxuICAgeEF4aXM6IGFtNXh5LkNhdGVnb3J5QXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj5cclxuICkge1xyXG4gICBsZXQgc2VyaWVzID0gdGhpcy5idXllcnNDaGFydEluc3RhbmNlLnNlcmllcy5wdXNoKFxyXG4gICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICBuYW1lOiBuYW1lLFxyXG4gICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgdmFsdWVZRmllbGQ6IGZpZWxkTmFtZSxcclxuICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcImFnZVwiLCAgLy8gQXNzdW1pbmcgXCJhZ2VcIiBpcyB0aGUgY2F0ZWdvcnkgZmllbGRcclxuICAgICB9KVxyXG4gICApO1xyXG4gXHJcbiAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgdG9vbHRpcFRleHQ6IFwie25hbWV9OiB7dmFsdWVZfVwiLFxyXG4gICAgIHdpZHRoOiBhbTUucGVyY2VudCg5MCksXHJcbiAgICAgdG9vbHRpcFk6IDAsXHJcbiAgICAgc3Ryb2tlT3BhY2l0eTogMCxcclxuICAgfSk7XHJcbiBcclxuICAgc2VyaWVzLmRhdGEuc2V0QWxsKHRoaXMuYnV5ZXJzRGF0YSk7ICAvLyBBc3N1bWluZyB5b3UgaGF2ZSBidXllcnNEYXRhXHJcbiBcclxuICAgcmV0dXJuIHNlcmllczsgIC8vIFJldHVybiB0aGUgc2VyaWVzIGZvciBsZWdlbmRcclxuIFxyXG4gfVxyXG4gb2JqRGF0YVRyYWZmaWM6YW55PXt9O1xyXG4gICAgb3ZlcmFsbENhcmQoKSB7XHJcbiAgICAgICh0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0gMTApLCAodGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQgPSAwKTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGE7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnJldmVudWU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldE92ZXJhbGxDYXJkcyh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRPdmVyYWxsQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICBcclxuICAgIG92ZXJhbGxIb3VybHlDaGFydCgpIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAgICh0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0gMTApLCAodGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQgPSAwKTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGE7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnJldmVudWU7XHJcbiAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuaG91ckZvcm1hdFxyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2U7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRPdmVyYWxsSG91cmx5Q2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0T3ZlcmFsbEhvdXJseURhdGEgPSByZXM/LmRhdGE/LmhvdXJseURhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbml0SGVhdENoYXJ0KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb3ZlcmFsbENoYXJ0KCkge1xyXG4gICAgICB0aGlzLm9mZnNldFRyYWZmaWNDYXJkID0wO1xyXG4gICAgICB0aGlzLmxpbWl0VHJhZmZpY0NhcmQgPTIwO1xyXG4gICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgKHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPSAyMCksICh0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldCA9IDApO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub3JtYWxpemVkRGF0YTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMucmV2ZW51ZTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuaG91ckZvcm1hdDtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0T3ZlcmFsbENoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxDaGFydERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPSByZXMuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcclxuICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgc2V0UGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQoKSB7XHJcbiAgICAgIGlmICh0aGlzLnRvdGFsSXRlbXNUcmFmZmljQ2FyZCA+IDIwKSB7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZCA9IFsyMF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZCA9IFt0aGlzLnRvdGFsSXRlbXNUcmFmZmljQ2FyZF07IC8vIEp1c3Qgb25lIG9wdGlvbiBpZiBsZXNzIHRoYW4gMTBcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBhZ2VTaXplVHJhZmZpY0NhcmQgPSB0aGlzLnBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkWzBdO1xyXG4gICAgfVxyXG4gICAgb25QYWdlQ2hhbmdlVHJhZmZpY0NhcmQocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQgPSBOdW1iZXIocGFnZU9mZnNldCk7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gdGhpcy5vZmZzZXRUcmFmZmljQ2FyZCAtMTtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IHRoaXMubGltaXRUcmFmZmljQ2FyZDtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGE7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnJldmVudWU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRPdmVyYWxsQ2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRPdmVyYWxsQ2hhcnREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXNUcmFmZmljQ2FyZCA9IHJlcy5kYXRhLnRvdGFsQ291bnRcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgb25QYWdlU2l6ZUNoYW5nZVRyYWZmaWNDYXJkKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgICAgdGhpcy5wYWdlU2l6ZVRyYWZmaWNDYXJkID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgICAgdGhpcy5saW1pdFRyYWZmaWNDYXJkID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgICAgdGhpcy5jdXJyZW50UGFnZVRyYWZmaWNDYXJkID0gMTtcclxuICAgICAgdGhpcy5vZmZzZXRUcmFmZmljQ2FyZCA9IDA7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gdGhpcy5vZmZzZXRUcmFmZmljQ2FyZDtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IHRoaXMubGltaXRUcmFmZmljQ2FyZDtcclxuICAgICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFmZmljSGVhdENoYXJ0KCkge1xyXG4gICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRyYWZmaWNIZWF0bWFwQ2hhcnRcIik7XHJcbiAgICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIC8vIERpc3Bvc2Ugb2YgdGhlIHByZXZpb3VzIGNoYXJ0IGluc3RhbmNlIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgIGlmICh0aGlzLmhlYXRNYXBSb290KSB7XHJcbiAgICAgICAgICB0aGlzLmhlYXRNYXBSb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBjaGFydCByb290XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwUm9vdCA9IGFtNS5Sb290Lm5ldyhcInRyYWZmaWNIZWF0bWFwQ2hhcnRcIik7XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwUm9vdC5jb250YWluZXIuc2V0QWxsKHtcclxuICAgICAgICAgIHdpZHRoOiBhbTUucGVyY2VudCgxMDApLFxyXG4gICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgLy8gQXBwbHkgdGhlbWVzXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwUm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmhlYXRNYXBSb290KSxcclxuICAgICAgICAgIGFtNXRoZW1lc19SZXNwb25zaXZlLm5ldyh0aGlzLmhlYXRNYXBSb290KSxcclxuICAgICAgICBdKTtcclxuICAgIFxyXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgY2hhcnRcclxuICAgICAgICB0aGlzLmhlYXRNYXBDaGFydCA9IHRoaXMuaGVhdE1hcFJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgICAgd2hlZWxYOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgd2hlZWxZOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgIGxheW91dDogdGhpcy5oZWF0TWFwUm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIENyZWF0ZSBZLWF4aXNcclxuICAgICAgICBjb25zdCB5UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgICBpbnZlcnNlZDogdHJ1ZSxcclxuICAgICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgeVJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICBcclxuICAgICAgICBjb25zdCB5QXhpcyA9IHRoaXMuaGVhdE1hcENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLFxyXG4gICAgICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImhvdXJcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIENyZWF0ZSBYLWF4aXNcclxuICAgICAgICBjb25zdCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgeEF4aXMgPSB0aGlzLmhlYXRNYXBDaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwid2Vla2RheVwiLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgLy8gQWRkIFktYXhpcyBsYWJlbFxyXG4gICAgICAgIHlBeGlzLmNoaWxkcmVuLnVuc2hpZnQoXHJcbiAgICAgICAgICBhbTUuTGFiZWwubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgICAgICAgcm90YXRpb246IC05MCxcclxuICAgICAgICAgICAgdGV4dDogXCJIb3Vyc1wiLFxyXG4gICAgICAgICAgICB5OiBhbTUucDUwLFxyXG4gICAgICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsXCIsXHJcbiAgICAgICAgICAgIGZvbnRTaXplOiBcIjE0cHhcIixcclxuICAgICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIENyZWF0ZSBzZXJpZXNcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMgPSB0aGlzLmhlYXRNYXBDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICBjYWxjdWxhdGVBZ2dyZWdhdGVzOiB0cnVlLFxyXG4gICAgICAgICAgICBzdHJva2U6IGFtNS5jb2xvcigweGZmZmZmZiksXHJcbiAgICAgICAgICAgIGNsdXN0ZXJlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJ3ZWVrZGF5XCIsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WUZpZWxkOiBcImhvdXJcIixcclxuICAgICAgICAgICAgdmFsdWVGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIENvbmZpZ3VyZSBjb2x1bW4gYXBwZWFyYW5jZVxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICB0b29sdGlwVGV4dDogXCJ7dmFsdWV9XCIsXHJcbiAgICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxyXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IDIsXHJcbiAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICAgIGhlaWdodDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbFwiLCAoZmlsbCwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgeyB2YWx1ZTogbnVtYmVyIH07XHJcbiAgICAgICAgICByZXR1cm4gZGF0YUl0ZW0gJiYgZGF0YUl0ZW0udmFsdWUgIT09IHVuZGVmaW5lZCA/IHRoaXMuZ2V0UmFuZ2VDb2xvckR5bmFtaWMoZGF0YUl0ZW0udmFsdWUpIDogZmlsbDtcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIC8vIFNldCBjb2x1bW4gY29sb3IgYmFzZWQgb24gdmFsdWVcclxuICAgICAgICAgICAgLy8gdGhpcy5oZWF0TWFwU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbFwiLCAoZmlsbCwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgICAgICAgIC8vICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIHsgdmFsdWU6IG51bWJlciB9O1xyXG4gICAgICAgICAgICAvLyAgIHJldHVybiBkYXRhSXRlbSAmJiBkYXRhSXRlbS52YWx1ZSAhPT0gdW5kZWZpbmVkID8gdGhpcy5nZXRSYW5nZUNvbG9yMShkYXRhSXRlbS52YWx1ZSkgOiBmaWxsO1xyXG4gICAgICAgICAgICAvLyB9KTtcclxuICAgICAgICBcclxuICAgIFxyXG4gICAgICAgIC8vIEFkZCBidWxsZXQgZm9yIHZhbHVlIGxhYmVsc1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcFNlcmllcy5idWxsZXRzLnB1c2goKCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgICAgICAgc3ByaXRlOiBhbTUuTGFiZWwubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgICAgICAgICB0ZXh0OiBcInt2YWx1ZX1cIixcclxuICAgICAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHgwMDAwMDApLFxyXG4gICAgICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgZm9udFNpemU6IDEyLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgLy8gUHJlcGFyZSBhbmQgc29ydCBkYXRhIGZvciB0aGUgY2hhcnRcclxuICAgICAgICBjb25zdCBoZWF0TWFwRGF0YTogYW55W10gPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEgJiYgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEudHJhZmZpY0RlbnNpdHkpIHtcclxuICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhLnRyYWZmaWNEZW5zaXR5KS5mb3JFYWNoKGhvdXIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YS50cmFmZmljRGVuc2l0eVtob3VyXS5mb3JFYWNoKChkYXlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBoZWF0TWFwRGF0YS5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGhvdXI6IGRheURhdGEudGltZSxcclxuICAgICAgICAgICAgICAgIHdlZWtkYXk6IGRheURhdGEuZGF5LFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHBhcnNlSW50KGRheURhdGEuZm9vdGZhbGxDb3VudCwgMTApLCAvLyBFbnN1cmUgaW50ZWdlciBwYXJzaW5nXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJUcmFmZmljIGRlbnNpdHkgZGF0YSBpcyB1bmRlZmluZWQgb3IgbnVsbC5cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFNldCBkYXRhIHRvIHRoZSBzZXJpZXNcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMuZGF0YS5zZXRBbGwoaGVhdE1hcERhdGEpO1xyXG5cclxuICAgICAgICBjb25zdCB2aXNpYmxlVmFsdWVzID0gdGhpcy5oZWF0TWFwU2VyaWVzLmRhdGEudmFsdWVzLm1hcCgoZDphbnkpID0+IGQudmFsdWUpO1xyXG5cclxuICAgICAgICB0aGlzLm1heEZvb3RmYWxsID0gTWF0aC5tYXgoLi4udmlzaWJsZVZhbHVlcyk7XHJcbiAgICAgICAgdGhpcy5taW5Gb290ZmFsbCA9IE1hdGgubWluKC4uLnZpc2libGVWYWx1ZXMpO1xyXG5cclxuICAgICAgICAvLyBFeHRyYWN0IHVuaXF1ZSB3ZWVrZGF5cyBhbmQgaG91cnMsIHNvcnRlZFxyXG4gICAgICAgIGNvbnN0IHdlZWtkYXlzOiBzdHJpbmdbXSA9IEFycmF5LmZyb20obmV3IFNldChoZWF0TWFwRGF0YS5tYXAocm93ID0+IHJvdy53ZWVrZGF5KSkpO1xyXG4gICAgICAgIGNvbnN0IGhvdXJzOiBzdHJpbmdbXSA9IEFycmF5LmZyb20obmV3IFNldChoZWF0TWFwRGF0YS5tYXAocm93ID0+IHJvdy5ob3VyKSkpXHJcbiAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5sb2NhbGVDb21wYXJlKGIpKTtcclxuICAgIFxyXG4gICAgICAgIC8vIFNldCBheGlzIGRhdGFcclxuICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChcclxuICAgICAgICAgIHdlZWtkYXlzLm1hcChpdGVtID0+ICh7IHdlZWtkYXk6IGl0ZW0gfSkpXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIHlBeGlzLmRhdGEuc2V0QWxsKFxyXG4gICAgICAgICAgaG91cnMubWFwKGl0ZW0gPT4gKHsgaG91cjogaXRlbSB9KSlcclxuICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgLy8gRmluYWxpemUgY2hhcnQgYXBwZWFyYW5jZVxyXG4gICAgICAgIHRoaXMuaGVhdE1hcENoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICAgXHJcbiAgICAgICAgLy8gRW5zdXJlIHRoZSByb290IGlzIGFzc2lnbmVkIGNvcnJlY3RseVxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3QgPSB0aGlzLmhlYXRNYXBSb290O1xyXG4gICAgXHJcbiAgICAgIH0sIDApO1xyXG4gIH1cclxuICBcclxuXHJcbiAgZ2V0UmFuZ2VDb2xvckR5bmFtaWMoZm9vdGZhbGxDb3VudDogbnVtYmVyKTogYW01LkNvbG9yIHtcclxuICAgIGxldCBtaW5Gb290ZmFsbCA9IHRoaXMubWluRm9vdGZhbGwgPz8gMDtcclxuICAgIGxldCBtYXhGb290ZmFsbCA9IHRoaXMubWF4Rm9vdGZhbGwgPz8gMTtcclxuICBcclxuICAgIGlmIChtYXhGb290ZmFsbCA9PT0gbWluRm9vdGZhbGwpIHJldHVybiBhbTUuY29sb3IoMHgwMDhlZGYpOyAvLyBQcmV2ZW50IGRpdmlzaW9uIGJ5IHplcm9cclxuICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IChmb290ZmFsbENvdW50IC0gbWluRm9vdGZhbGwpIC8gKG1heEZvb3RmYWxsIC0gbWluRm9vdGZhbGwpO1xyXG4gICAgY29uc3QgY2xhbXBlZFZhbHVlID0gTWF0aC5taW4oTWF0aC5tYXgobm9ybWFsaXplZFZhbHVlLCAwKSwgMC41KTtcclxuICAgIGNvbnN0IGFkanVzdGVkVmFsdWUgPSBNYXRoLnBvdyhjbGFtcGVkVmFsdWUsIDAuNSk7ICAvLyBJbmNyZWFzZSBwb3dlciB0byBkYXJrZW4gZmFzdGVyXHJcbiAgICBjb25zdCBiYXNlQ29sb3IgPSBhbTUuY29sb3IoMHgwMDhlZGYpOyAgLy8gU3RhcnRpbmcgY29sb3IgKGxpZ2h0IGJsdWUpXHJcbiAgICBjb25zdCBhZGp1c3RlZENvbG9yID0gYW01LkNvbG9yLmxpZ2h0ZW4oYmFzZUNvbG9yLCAxIC0gYWRqdXN0ZWRWYWx1ZSk7XHJcbiAgICByZXR1cm4gYWRqdXN0ZWRDb2xvcjtcclxuICB9XHJcblxyXG5cclxuICAgIGdldFJhbmdlQ29sb3IxKGZvb3RmYWxsQ291bnQ6IG51bWJlcik6IGFtNS5Db2xvciB7XHJcbiAgICAgIGxldCBtYXhGb290ZmFsbDphbnk7XHJcbiAgICAgIGNvbnN0IG1pbkZvb3RmYWxsID0gMDsgIC8vIG1pbmltdW0gZXhwZWN0ZWQgZm9vdGZhbGxcclxuICAgICAgaWYodGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2UgPTMwKVxyXG4gICAgICBtYXhGb290ZmFsbCA9IDM1MDA7XHJcbiAgICBlbHNlIFxyXG4gICAgbWF4Rm9vdGZhbGwgPSA3NTA7XHJcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IChmb290ZmFsbENvdW50IC0gbWluRm9vdGZhbGwpIC8gKG1heEZvb3RmYWxsIC0gbWluRm9vdGZhbGwpO1xyXG4gICAgICBjb25zdCBjbGFtcGVkVmFsdWUgPSBNYXRoLm1pbihNYXRoLm1heChub3JtYWxpemVkVmFsdWUsIDApLCAwLjUpO1xyXG4gICAgICBjb25zdCBhZGp1c3RlZFZhbHVlID0gTWF0aC5wb3coY2xhbXBlZFZhbHVlLCAwLjUpOyAgLy8gSW5jcmVhc2UgcG93ZXIgdG8gZGFya2VuIGZhc3RlclxyXG4gICAgICBjb25zdCBiYXNlQ29sb3IgPSBhbTUuY29sb3IoMHgwMDhlZGYpOyAgLy8gU3RhcnRpbmcgY29sb3IgKGxpZ2h0IGJsdWUpXHJcbiAgICAgIGNvbnN0IGFkanVzdGVkQ29sb3IgPSBhbTUuQ29sb3IubGlnaHRlbihiYXNlQ29sb3IsIDEgLSBhZGp1c3RlZFZhbHVlKTtcclxuICAgICAgcmV0dXJuIGFkanVzdGVkQ29sb3I7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgICBnZXREd2VsbENoYXJ0KCkge1xyXG4gICAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0RHdlbGxsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkd2VsbEJhckNoYXJ0XCIpO1xyXG4gICAgICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5kd2VsbFJvb3QpIHtcclxuICAgICAgICAgICAgdGhpcy5kd2VsbFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gQ3JlYXRlIHJvb3QgZWxlbWVudFxyXG4gICAgICAgICAgdGhpcy5kd2VsbFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJkd2VsbEJhckNoYXJ0XCIpO1xyXG4gICAgXHJcbiAgICAgICAgICAvLyBTZXQgdGhlbWVzXHJcbiAgICAgICAgICB0aGlzLmR3ZWxsUm9vdC5zZXRUaGVtZXMoW2FtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kd2VsbFJvb3QpXSk7XHJcbiAgICBcclxuICAgICAgICAgIC8vIENyZWF0ZSBjaGFydFxyXG4gICAgICAgICAgdGhpcy5kd2VsbENoYXJ0ID0gdGhpcy5kd2VsbFJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgICAgICBsYXlvdXQ6IHRoaXMuZHdlbGxSb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YS5kd2VsbFRpbWVTcGxpdD8ubWFwKFxyXG4gICAgICAgICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgIHllYXI6IChpdGVtLmR3ZWxsX3RpbWUpICsgXCIgTWluc1wiLFxyXG4gICAgICAgICAgICAgIG1hbGVDb3VudDogTnVtYmVyKGl0ZW0ubWFsZUNvdW50X3ZhbHVlKSxcclxuICAgICAgICAgICAgICBtYWxlQ3VzdG9tOiBOdW1iZXIoaXRlbS5tYWxlQ291bnQpLFxyXG4gICAgICAgICAgICAgIGZlbWFsZUNvdW50OiBOdW1iZXIoaXRlbS5mZW1hbGVDb3VudF92YWx1ZSksXHJcbiAgICAgICAgICAgICAgZmVtYWxlQ3VzdG9tOiBOdW1iZXIoaXRlbS5mZW1hbGVDb3VudClcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgICAgICAgbGV0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGxldCB4QXhpcyA9IHRoaXMuZHdlbGxDaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJ5ZWFyXCIsXHJcbiAgICAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5kd2VsbFJvb3QsIHt9KSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAxLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICAgIHhBeGlzLmRhdGE/LnNldEFsbChkYXRhKTtcclxuICAgIFxyXG4gICAgICAgICAgbGV0IHlBeGlzID0gdGhpcy5kd2VsbENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjEsXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgICAvLyBBZGQgbGVnZW5kXHJcbiAgICAgICAgICBsZXQgbGVnZW5kID0gdGhpcy5kd2VsbENoYXJ0LmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgICB4OiBhbTUucDUwLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgICAgLy8gQWRkIHNlcmllc1xyXG4gICAgICAgICAgLy8gY29uc3QgXHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5tYWtlU2VyaWVzMShcIk1hbGVcIiwgXCJtYWxlQ291bnRcIiwgeEF4aXMsIHlBeGlzLCBkYXRhLCBsZWdlbmQpO1xyXG4gICAgICAgICAgdGhpcy5tYWtlU2VyaWVzMShcIkZlbWFsZVwiLCBcImZlbWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcywgZGF0YSwgbGVnZW5kKTtcclxuICAgICAgICAgIC8vIE1ha2Ugc3R1ZmYgYW5pbWF0ZSBvbiBsb2FkXHJcbiAgICAgICAgICB0aGlzLmR3ZWxsQ2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgfVxyXG4gICAgICBtYWtlU2VyaWVzMShuYW1lOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nLCB4QXhpczogYW55LCB5QXhpczogYW55LCBkYXRhOiBhbnksIGxlZ2VuZDogYW55KSB7XHJcbiAgICAgICAgbGV0IHNlcmllcyA9IHRoaXMuZHdlbGxDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcclxuICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcInllYXJcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgXHJcbiAgICAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgIHRvb2x0aXBUZXh0OiBgW2JvbGRde25hbWV9Wy9dXFxue2NhdGVnb3J5WH0sXFxuRm9vdGZhbGwgJToge2N1c3RvbVZhbHVlfSVgLFxyXG4gICAgICAgICAgdG9vbHRpcFk6IGFtNS5wZXJjZW50KDEwKSxcclxuICAgICAgICB9KTtcclxuICAgICAgXHJcbiAgICAgICAgaWYgKGRhdGE/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgY29uc3QgZW5oYW5jZWREYXRhID0gZGF0YS5tYXAoKGQ6IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgLi4uZCxcclxuICAgICAgICAgICAgY3VzdG9tVmFsdWU6IGRbZmllbGROYW1lID09PSBcIm1hbGVDb3VudFwiID8gXCJtYWxlQ3VzdG9tXCIgOiBcImZlbWFsZUN1c3RvbVwiXVxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgc2VyaWVzLmRhdGEuc2V0QWxsKGVuaGFuY2VkRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICBcclxuICAgICAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIGxldCBsYWJlbCA9IGFtNS5MYWJlbC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgdGV4dDogXCJ7dmFsdWVZfVwiLFxyXG4gICAgICAgICAgICBmaWxsOiB0aGlzLmR3ZWxsUm9vdC5pbnRlcmZhY2VDb2xvcnMuZ2V0KFwiYWx0ZXJuYXRpdmVUZXh0XCIpLFxyXG4gICAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgXHJcbiAgICAgICAgICBsYWJlbC5hZGFwdGVycy5hZGQoXCJ2aXNpYmxlXCIsICh2aXNpYmxlLCB0YXJnZXQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAodGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnkpPy5bZmllbGROYW1lXTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSAwO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIHNwcml0ZTogbGFiZWwsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgXHJcbiAgICAgICAgaWYgKGxlZ2VuZCkge1xyXG4gICAgICAgICAgbGVnZW5kLmRhdGEucHVzaChzZXJpZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICBzdG9yZU5hbWU6YW55O1xyXG4gICAgICBzdG9yZUlkOmFueTtcclxuICAgICAgZm9ybWF0RGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRheWpzKGRhdGVTdHJpbmcpLmZvcm1hdCgnREQgTU1NJyk7ICAvLyBPdXRwdXQ6ICcwMSBKYW4nXHJcbiAgICAgIH1cclxuICAgICAgICBoYW5kbGVCYXJDbGljayhkYXRhSXRlbTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlTmFtZSA9IGRhdGFJdGVtLmZ1bGxTdG9yZU5hbWU7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlSWQgPSBkYXRhSXRlbS5zdG9yZUlkXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLnN0b3JlSWQgPVtkYXRhSXRlbS5zdG9yZUlkXSxcclxuICAgICAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPTMxLFxyXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRTaW5nbGVTdG9yZUNoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2luZ2xlQ2hhcnREYXRhID0gcmVzPy5kYXRhLnN0b3JlRGF0YTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmdldFNpbmdsZVN0b3JlKCksIDApOyAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldFNpbmdsZVN0b3JlKCl7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZXRhaWxlZENoYXJ0RGl2XCIpO1xyXG4gICAgICAgICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRldGFpbGVkUm9vdCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRSb290LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRSb290ID0gYW01LlJvb3QubmV3KFwiZGV0YWlsZWRDaGFydERpdlwiKTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgICAgICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuZGV0YWlsZWRSb290KSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydCA9IHRoaXMuZGV0YWlsZWRSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gQWRkIGN1cnNvclxyXG4gICAgICAgICAgICBsZXQgY3Vyc29yID0gdGhpcy5kZXRhaWxlZENoYXJ0LnNldChcclxuICAgICAgICAgICAgICBcImN1cnNvclwiLFxyXG4gICAgICAgICAgICAgIGFtNXh5LlhZQ3Vyc29yLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge30pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgICAgICAgbGV0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgICAgIHJvdGF0aW9uOiAtOTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgICAgICAgICBwYWRkaW5nUmlnaHQ6IDE1LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIC8vIEFkZCBzY3JvbGxiYXJcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0LnNldChcclxuICAgICAgICAgICAgICBcInNjcm9sbGJhclhcIixcclxuICAgICAgICAgICAgICBhbTUuU2Nyb2xsYmFyLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGxldCB4QXhpcyA9IHRoaXMuZGV0YWlsZWRDaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgIG1heERldmlhdGlvbjogMC4zLFxyXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7fSksXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgbGV0IHlSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgbGV0IHlBeGlzID0gdGhpcy5kZXRhaWxlZENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgICAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZ2V0U2luZ2xlQ2hhcnREYXRhLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgIGRhdGU6IHRoaXMuZm9ybWF0RGF0ZShpdGVtLmRhdGUpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS5jb3VudCksIC8vIFVzZSBgY291bnRgIGFzIGB2YWx1ZWBcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gUGFyc2Ugc3RvcmVOYW1lIGFzIGEgRGF0ZSBhbmQgY29tcGFyZVxyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGVBID0gbmV3IERhdGUoYS5kYXRlKTtcclxuICAgICAgICAgICAgICBjb25zdCBkYXRlQiA9IG5ldyBEYXRlKGIuZGF0ZSk7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXIgKG9sZGVzdCB0byBuZXdlc3QpXHJcbiAgICAgICAgICAgICAgcmV0dXJuIGRhdGVBLmdldFRpbWUoKSAtIGRhdGVCLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIC8vIENyZWF0ZSBzZXJpZXNcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFNlcmllcyA9IHRoaXMuZGV0YWlsZWRDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNlcmllcyAyXCIsXHJcbiAgICAgICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVlGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgICAgICAgICAgc2VxdWVuY2VkSW50ZXJwb2xhdGlvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcImRhdGVcIixcclxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoeyBzdHJva2VPcGFjaXR5OiAwIH0pO1xyXG4gICAgICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZFNlcmllcy5hcHBlYXIoMTAwMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvcmVjYXN0QXBpKGV2dDphbnkpe1xyXG4gICAgICAgICAgaWYoZXZ0LnRhcmdldC5jaGVja2VkKXtcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gdHJ1ZVxyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEubm9ybWFsaXplID0gZmFsc2VcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5maWx0ZXJCeSA9ICdhdmVyYWdlJ1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gZmFsc2VcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vcm1hbGl6ZSA9IHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZFxyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEubm9iID0gZmFsc2VcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZpbHRlckJ5ID0gJ2F2ZXJhZ2UnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG4gICAgICAgIHRvZ2dsZU5vcm1hbGl6ZShldnQ6YW55KXtcclxuICAgICAgICAgIHRoaXMubm9ybWFsaXplID1ldnQudGFyZ2V0LmNoZWNrZWQ7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZSA9IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGEubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuICAgICAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuICAgICAgICAgIC8vIHRoaXMudGFibGVvYmouZm9yZWNhc3QgPSBmYWxzZVxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZvcmVjYXN0ID1mYWxzZTtcclxuICAgICAgICAgIC8vIHRoaXMub2JqRGF0YVRyYWZmaWMuZm9yZWNhc3QgPSBmYWxzZVxyXG4gICAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLm5vYlxyXG4gICAgICAgICAgICAgID8gXCJOb0IgRGVyaXZlZFwiXHJcbiAgICAgICAgICAgICAgOiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzXHJcbiAgICAgICAgICAgICAgICAgID8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nXHJcbiAgICAgICAgICAgICAgPyBcImVuZ2FnZXJzXCJcclxuICAgICAgICAgICAgICA6IFwiZm9vdGZhbGxcIjtcclxuICAgICAgICAgIHRoaXMuZ2V0RnVubmFsKCk7XHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzKCk7XHJcbiAgICAgICAgICB0aGlzLnBlcmZvcm1hbmNlKCk7XHJcbiAgICAgICAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICAgICAgICAgIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcInRyYWZmaWNcIlxyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdUcmFmZmljIEFuYWx5c2lzJztcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmKHRoaXMubm9ybWFsaXplID09PSB0cnVlKXtcclxuICAgICAgICAgIHRoaXMuem9uZUR3ZWxsVGltZVNwbGl0RGF0YSA9W107XHJcbiAgICAgICAgICAgIHRoaXMuem9uZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy56b25lTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZU9wZXJhdGlvbkRhdGEgPVtdO1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZm9yZWNhc3QgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEuZm9yZWNhc3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5zdG9yZUlkYXJyYXkubGVuZ3RoID09PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5nZXRSZWNhcFZpZGVvRGF0YSA9W11cclxuICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJlY2Fwbm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vcm1hbGl6ZSh0aGlzLm5vcm1hbGl6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Wm9uZSgpOyB0aGlzLmdldFpvbmVWYWx1ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgICAgICBpZih0aGlzLnN0b3JlSWRhcnJheS5sZW5ndGggPT09IDEpe1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VydmljZT8udG9nZ2xlbm9ybWFsaXplKHRoaXMubm9ybWFsaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmludGVyZmFjZSBEYXRhQ29udGV4dCB7XHJcbiAgY2F0ZWdvcnk6IHN0cmluZztcclxuICB2YWx1ZTogbnVtYmVyO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbn1cclxuZnVuY3Rpb24gZ2V0RGF5c0JldHdlZW5EYXRlcyhmcm9tRGF0ZTogc3RyaW5nLCB0b0RhdGU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgLy8gUGFyc2UgdGhlIGRhdGUgc3RyaW5ncyBpbnRvIERhdGUgb2JqZWN0c1xyXG4gIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoZnJvbURhdGUpO1xyXG4gIGNvbnN0IGVuZCA9IG5ldyBEYXRlKHRvRGF0ZSk7XHJcblxyXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSBpbiBtaWxsaXNlY29uZHNcclxuICBjb25zdCBkaWZmZXJlbmNlSW5NcyA9IGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCk7XHJcblxyXG4gIC8vIENvbnZlcnQgbWlsbGlzZWNvbmRzIHRvIGRheXMgKDEgZGF5ID0gODY0MDAwMDAgbWlsbGlzZWNvbmRzKVxyXG4gIGNvbnN0IG1pbGxpc2Vjb25kc1BlckRheSA9IDg2NDAwMDAwO1xyXG4gIGNvbnN0IGRpZmZlcmVuY2VJbkRheXMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2VJbk1zIC8gbWlsbGlzZWNvbmRzUGVyRGF5KTtcclxuXHJcbiAgcmV0dXJuIGRpZmZlcmVuY2VJbkRheXM7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDaGFydERhdGFJdGVtIHtcclxuICByYXRlOiBudW1iZXI7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBnZXRDYXJkKCkge1xyXG4vLyAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlPSB0aGlzLnZhbHVlVHlwZSxcclxuLy8gICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZTtcclxuLy8gICB0aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgXHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4vLyAgIHRoaXMuaGVhdGxvYWRpbmcgPSB0cnVlO1xyXG4vLyAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZGF0ZVR5cGVcclxuLy8gICB0aGlzLnNlcnZpY2VcclxuLy8gICAgIC5nZXRDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4vLyAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4vLyAgICAgPy5zdWJzY3JpYmUoe1xyXG4vLyAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuLy8gICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZERhdGEgPSByZXM/LmRhdGE/LmNhcmQ7XHJcbi8vICAgICAgICAgICAvLyB0aGlzLmhlYXRNYXBEYXRhID0gcmVzPy5kYXRhPy5mdW5uZWxDaGFydDtcclxuICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2Uge1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgICB0aGlzLmhlYXRNYXBEYXRhID1bXTtcclxuLy8gICAgICAgICB0aGlzLmhlYXRsb2FkaW5nID0gZmFsc2VcclxuLy8gICAgICAgICB0aGlzLmhlYXRub0RhdGEgPSB0cnVlXHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbi8vICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5oZWF0TWFwRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbi8vICAgICAgIH0sXHJcbi8vICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuLy8gICAgIH0pO1xyXG4vLyB9XHJcblxyXG4vLyBnZXRDYXJkR3JhcGgoKSB7XHJcbi8vICAgdGhpcy5jYXJkbG9hZGluZyA9dHJ1ZTtcclxuLy8gICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnByb2Nlc3NUeXBlO1xyXG4vLyAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGUgPSB0aGlzLmRhdGVUeXBlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbi8vICAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgIHRoaXMuc2VydmljZVxyXG4vLyAgICAgLmdldENhcmRHcmFwaExpc3QodGhpcy50YWJsZW9iailcclxuLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuLy8gICAgID8uc3Vic2NyaWJlKHtcclxuLy8gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbi8vICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbi8vICAgICAgICAgICB0aGlzLmdldENhcmRHcmFwaERhdGEgPSByZXM/LmRhdGE7XHJcbi8vICAgICAgICAgICBpZih0aGlzLm5vYil7XHJcbi8vICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ubm9iLm5vYjtcclxuLy8gICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0nTm9CIERlcml2ZWQnXHJcbi8vICAgICAgICAgICB9ZWxzZSB7IFxyXG4vLyAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwucmF0ZTtcclxuLy8gICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9J2Zvb3RmYWxsJ1xyXG4vLyAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkbG9hZGluZyA9ZmFsc2U7XHJcbi8vICAgICAgICAgICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlOyAgICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT1bXTtcclxuLy8gICAgICAgICAgIHRoaXMuY2FyZGxvYWRpbmcgPWZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkTm9kYXRhID10cnVlO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgICAgfSxcclxuLy8gICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4vLyAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbi8vICAgICB9KTtcclxuLy8gfVxyXG4iLCI8c2NyaXB0PlxyXG4gICAgKGc9Pnt2YXIgaCxhLGsscD1cIlRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSVwiLGM9XCJnb29nbGVcIixsPVwiaW1wb3J0TGlicmFyeVwiLHE9XCJfX2liX19cIixtPWRvY3VtZW50LGI9d2luZG93O2I9YltjXXx8KGJbY109e30pO3ZhciBkPWIubWFwc3x8KGIubWFwcz17fSkscj1uZXcgU2V0LGU9bmV3IFVSTFNlYXJjaFBhcmFtcyx1PSgpPT5ofHwoaD1uZXcgUHJvbWlzZShhc3luYyhmLG4pPT57YXdhaXQgKGE9bS5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpKTtlLnNldChcImxpYnJhcmllc1wiLFsuLi5yXStcIlwiKTtmb3IoayBpbiBnKWUuc2V0KGsucmVwbGFjZSgvW0EtWl0vZyx0PT5cIl9cIit0WzBdLnRvTG93ZXJDYXNlKCkpLGdba10pO2Uuc2V0KFwiY2FsbGJhY2tcIixjK1wiLm1hcHMuXCIrcSk7YS5zcmM9YGh0dHBzOi8vbWFwcy4ke2N9YXBpcy5jb20vbWFwcy9hcGkvanM/YCtlO2RbcV09ZjthLm9uZXJyb3I9KCk9Pmg9bihFcnJvcihwK1wiIGNvdWxkIG5vdCBsb2FkLlwiKSk7YS5ub25jZT1tLnF1ZXJ5U2VsZWN0b3IoXCJzY3JpcHRbbm9uY2VdXCIpPy5ub25jZXx8XCJcIjttLmhlYWQuYXBwZW5kKGEpfSkpO2RbbF0/Y29uc29sZS53YXJuKHArXCIgb25seSBsb2FkcyBvbmNlLiBJZ25vcmluZzpcIixnKTpkW2xdPShmLC4uLm4pPT5yLmFkZChmKSYmdSgpLnRoZW4oKCk9PmRbbF0oZiwuLi5uKSl9KSh7XHJcbiAgICAgIHY6IFwid2Vla2x5XCIsXHJcbiAgICAgIGtleTogXCJBSXphU3lEbE9lemd3UU8wSnZpRDBhaXpyQ3VOMUZZOXRjV2ZSM29cIlxyXG4gICAgfSk7XHJcbiAgPC9zY3JpcHQ+XHJcbiAgPGxpbmsgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuMTUuMC9tYXBib3gtZ2wuY3NzJyByZWw9J3N0eWxlc2hlZXQnIC8+XHJcbiAgPHNjcmlwdCBzcmM9J2h0dHBzOi8vYXBpLm1hcGJveC5jb20vbWFwYm94LWdsLWpzL3YyLjE1LjAvbWFwYm94LWdsLmpzJz48L3NjcmlwdD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgfHwgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZFwiIGNsYXNzPVwiY29sLW1kLTEyIHRleHQtZW5kXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBteS0yXCIgc3R5bGU9XCJmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBjdXJzb3ItcG9pbnRlclwiICB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwibm9ybWFsaXplXCIgKGNoYW5nZSk9XCJ0b2dnbGVOb3JtYWxpemUoJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwibm9ybWFsaXplLXRleHRcIj5WaWV3IE5vcm1hbGl6ZWQgRGF0YTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTcgaC0xMDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzICBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiBbbmdiVG9vbHRpcF09XCJmb290ZmFsbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRGlzcGxheSBmb290ZmFsbCBjb3VudCBvciAnLS0nIGlmIG5vdCBhdmFpbGFibGUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPnt7IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudCA/IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6ICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+e3tmb290ZmFsbE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3dpdGNoIHRvZ2dsZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiB0ZXh0LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IG10LTEgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXNBdmVyYWdlXCIgKGNoYW5nZSk9XCJ0b2dnbGVBdmVyYWdlKCRldmVudClcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0F2ZXJhZ2VcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgbXQtNVwiPkF2ZXJhZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzQXZlcmFnZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBtdC01XCI+QWN0dWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RmYWxsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkZvb3RmYWxsPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB1bmlxdWUgd2Fsay1pbnMgaW50byB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+e3tnZXRDYXJkRGF0YT8uZm9vdGZhbGw/LmNvdW50fX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEwIHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsbG9hZGluZ1wiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJsb2FkZXItaW1nXCIgc3JjPVwiYXNzZXRzL3RhbmdvL2xheW91dC9Mb2FkZXIuZ2lmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHBiLTAgcHgtMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImZvb3RpbWctbm9kYXRhMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUxXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGNvbnZlcnNpb24gZnVubmVsPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJGb290ZmFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwibXQtMSBjdXJzb3ItcG9pbnRlciBmcy01XCIgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J2RhaWx5JyA/ICd0ZXh0LXByaW1hcnknIDonJ1wiIChjbGljayk9XCJkYXRlVmFsdWUoJ2RhaWx5JylcIj4xRDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J3dlZWtseScgPyAndGV4dC1wcmltYXJ5JyA6JydcIiAgKGNsaWNrKT1cImRhdGVWYWx1ZSgnd2Vla2x5JylcIj4xVzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J21vbnRobHknID8gJ3RleHQtcHJpbWFyeScgOicnXCIgIChjbGljayk9XCJkYXRlVmFsdWUoJ21vbnRobHknKVwiPjFNPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlIG1zLTJcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cIm10LTIgbXMtMlwiPjxzcGFuIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSAhPT0wXCI+e3tnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNEYXRhID8gZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj4gPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbGVmdC01MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIiBbbmdiVG9vbHRpcF09XCJjb252ZXJzaW9uVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIiAqbmdJZj1cInZhbHVlQ29udmVyc2lvblJhdGUgPT09IDBcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIiAqbmdJZj1cInZhbHVlQ29udmVyc2lvblJhdGUgIT09IDBcIj57e3ZhbHVlQ29udmVyc2lvblJhdGUgID8gdmFsdWVDb252ZXJzaW9uUmF0ZSA6ICctLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5Db252ZXJzaW9uIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSAnZm9vdGZhbGwnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ2VuZ2FnZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdQb3RlbnRpYWwgQnV5ZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCdcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCc7IGVsc2Ugb3RoZXJWYWx1ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vQiBEZXJpdmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjb3RoZXJWYWx1ZXM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb252ZXJzaW9uVmFsdWUgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udmVyc2lvblRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5Db252ZXJzaW9uIFJhdGU8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPlRvdGFsICUgb2Yge3tjb252ZXJzaW9uVmFsdWV9fSB3aG8gc3BlbnQgbW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb24/LnZhbHVlfX0gbWlucyBpbiB0aGUgc3RvcmUuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGg0IGNsYXNzPVwidGV4dC1zdGFydFwiPnt7dmFsdWVDb252ZXJzaW9uUmF0ZX19PC9oND4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGZvb3RlciBjbGFzcz1cInRvb2x0aXAtZm9vdGVyIHRleHQtc3RhcnRcIj4gPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJ1wiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPi0tJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSAhPT0wXCIgIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb290ZXI+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMHB4IHB0LTEwIHB4LTMgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J2Zvb3RmYWxsJ1wiIHBsYWNlbWVudD1cInRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiRm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmFsdWUoJ2Zvb3RmYWxsJylcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNCAxOEg5LjVWMTkuMjVDOS41IDE5Ljk3OTMgOS4yMTAyNyAyMC42Nzg4IDguNjk0NTQgMjEuMTk0NUM4LjE3ODgyIDIxLjcxMDMgNy40NzkzNSAyMiA2Ljc1IDIyQzYuMDIwNjUgMjIgNS4zMjExOCAyMS43MTAzIDQuODA1NDYgMjEuMTk0NUM0LjI4OTczIDIwLjY3ODggNCAxOS45NzkzIDQgMTkuMjVWMThaTTggNi4xMTk5OUMxMCA2LjExOTk5IDExIDguOTk5OTkgMTEgMTFDMTEgMTIgMTAuNSAxMyAxMCAxNC41TDkuNSAxNkg0QzQgMTUgMy41IDEzLjUgMy41IDExQzMuNSA4LjQ5OTk5IDUuNDk4IDYuMTE5OTkgOCA2LjExOTk5Wk0yMC4wNTQgMTQuMDk4TDE5LjgzNyAxNS4zMjlDMTkuNzAyMyAxNi4wMzk2IDE5LjI5MzEgMTYuNjY4NiAxOC42OTggMTcuMDc5NkMxOC4xMDI5IDE3LjQ5MDcgMTcuMzY5OCAxNy42NTA4IDE2LjY1NzYgMTcuNTI1MkMxNS45NDUzIDE3LjM5OTYgMTUuMzExMSAxNi45OTg0IDE0Ljg5MjUgMTYuNDA4NkMxNC40NzM5IDE1LjgxODggMTQuMzA0NSAxNS4wODc4IDE0LjQyMSAxNC4zNzRMMTQuNjM3IDEzLjE0NEwyMC4wNTQgMTQuMDk4Wk0xOC4xNzggMS43MDQ5OUMyMC42NDIgMi4xMzg5OSAyMi4xOTYgNC44Mjk5OSAyMS43NjIgNy4yOTE5OUMyMS4zMjggOS43NTM5OSAyMC41NzUgMTEuMTQ0IDIwLjQwMiAxMi4xMjlMMTQuOTg1IDExLjE3NEwxNC43NTMgOS42MDk5OUMxNC41MjEgOC4wNDU5OSAxNC4yMDMgNi45NzM5OSAxNC4zNzYgNS45ODk5OUMxNC43MjMgNC4wMTk5OSAxNi4yMDggMS4zNTc5OSAxOC4xNzggMS43MDQ5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIkZvb3RmYWxsXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNCAxOEg5LjVWMTkuMjVDOS41IDE5Ljk3OTMgOS4yMTAyNyAyMC42Nzg4IDguNjk0NTQgMjEuMTk0NUM4LjE3ODgyIDIxLjcxMDMgNy40NzkzNSAyMiA2Ljc1IDIyQzYuMDIwNjUgMjIgNS4zMjExOCAyMS43MTAzIDQuODA1NDYgMjEuMTk0NUM0LjI4OTczIDIwLjY3ODggNCAxOS45NzkzIDQgMTkuMjVWMThaTTggNi4xMTk5OUMxMCA2LjExOTk5IDExIDguOTk5OTkgMTEgMTFDMTEgMTIgMTAuNSAxMyAxMCAxNC41TDkuNSAxNkg0QzQgMTUgMy41IDEzLjUgMy41IDExQzMuNSA4LjQ5OTk5IDUuNDk4IDYuMTE5OTkgOCA2LjExOTk5Wk0yMC4wNTQgMTQuMDk4TDE5LjgzNyAxNS4zMjlDMTkuNzAyMyAxNi4wMzk2IDE5LjI5MzEgMTYuNjY4NiAxOC42OTggMTcuMDc5NkMxOC4xMDI5IDE3LjQ5MDcgMTcuMzY5OCAxNy42NTA4IDE2LjY1NzYgMTcuNTI1MkMxNS45NDUzIDE3LjM5OTYgMTUuMzExMSAxNi45OTg0IDE0Ljg5MjUgMTYuNDA4NkMxNC40NzM5IDE1LjgxODggMTQuMzA0NSAxNS4wODc4IDE0LjQyMSAxNC4zNzRMMTQuNjM3IDEzLjE0NEwyMC4wNTQgMTQuMDk4Wk0xOC4xNzggMS43MDQ5OUMyMC42NDIgMi4xMzg5OSAyMi4xOTYgNC44Mjk5OSAyMS43NjIgNy4yOTE5OUMyMS4zMjggOS43NTM5OSAyMC41NzUgMTEuMTQ0IDIwLjQwMiAxMi4xMjlMMTQuOTg1IDExLjE3NEwxNC43NTMgOS42MDk5OUMxNC41MjEgOC4wNDU5OSAxNC4yMDMgNi45NzM5OSAxNC4zNzYgNS45ODk5OUMxNC43MjMgNC4wMTk5OSAxNi4yMDggMS4zNTc5OSAxOC4xNzggMS43MDQ5OVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiRW5nYWdlcnNcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J2VuZ2FnZXJzJ1wiIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnZW5nYWdlcnMnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcgMjFWMTlDMTcgMTcuOTM5MSAxNi41Nzg2IDE2LjkyMTcgMTUuODI4NCAxNi4xNzE2QzE1LjA3ODMgMTUuNDIxNCAxNC4wNjA5IDE1IDEzIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0yMyAyMVYxOUMyMi45OTkzIDE4LjExMzcgMjIuNzA0NCAxNy4yNTI4IDIyLjE2MTQgMTYuNTUyM0MyMS42MTg0IDE1Ljg1MTkgMjAuODU4MSAxNS4zNTE2IDIwIDE1LjEzTTE2IDMuMTNDMTYuODYwNCAzLjM1MDMgMTcuNjIzIDMuODUwNyAxOC4xNjc2IDQuNTUyMzFDMTguNzEyMiA1LjI1MzkyIDE5LjAwNzggNi4xMTY4MyAxOS4wMDc4IDcuMDA1QzE5LjAwNzggNy44OTMxNyAxOC43MTIyIDguNzU2MDggMTguMTY3NiA5LjQ1NzY5QzE3LjYyMyAxMC4xNTkzIDE2Ljg2MDQgMTAuNjU5NyAxNiAxMC44OE0xMyA3QzEzIDkuMjA5MTQgMTEuMjA5MSAxMSA5IDExQzYuNzkwODYgMTEgNSA5LjIwOTE0IDUgN0M1IDQuNzkwODYgNi43OTA4NiAzIDkgM0MxMS4yMDkxIDMgMTMgNC43OTA4NiAxMyA3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiRW5nYWdlcnNcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNyAyMVYxOUMxNyAxNy45MzkxIDE2LjU3ODYgMTYuOTIxNyAxNS44Mjg0IDE2LjE3MTZDMTUuMDc4MyAxNS40MjE0IDE0LjA2MDkgMTUgMTMgMTVINUMzLjkzOTEzIDE1IDIuOTIxNzIgMTUuNDIxNCAyLjE3MTU3IDE2LjE3MTZDMS40MjE0MyAxNi45MjE3IDEgMTcuOTM5MSAxIDE5VjIxTTIzIDIxVjE5QzIyLjk5OTMgMTguMTEzNyAyMi43MDQ0IDE3LjI1MjggMjIuMTYxNCAxNi41NTIzQzIxLjYxODQgMTUuODUxOSAyMC44NTgxIDE1LjM1MTYgMjAgMTUuMTNNMTYgMy4xM0MxNi44NjA0IDMuMzUwMyAxNy42MjMgMy44NTA3IDE4LjE2NzYgNC41NTIzMUMxOC43MTIyIDUuMjUzOTIgMTkuMDA3OCA2LjExNjgzIDE5LjAwNzggNy4wMDVDMTkuMDA3OCA3Ljg5MzE3IDE4LjcxMjIgOC43NTYwOCAxOC4xNjc2IDkuNDU3NjlDMTcuNjIzIDEwLjE1OTMgMTYuODYwNCAxMC42NTk3IDE2IDEwLjg4TTEzIDdDMTMgOS4yMDkxNCAxMS4yMDkxIDExIDkgMTFDNi43OTA4NiAxMSA1IDkuMjA5MTQgNSA3QzUgNC43OTA4NiA2Ljc5MDg2IDMgOSAzQzExLjIwOTEgMyAxMyA0Ljc5MDg2IDEzIDdaXCIgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiUG90ZW50aWFsIEJ1eWVyc1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSAhPT0nUG90ZW50aWFsIEJ1eWVycydcIiAoY2xpY2spPVwiY2hhbmdlVmFsdWUoJ3BvdGVudGlhbEJ1eWVycycpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMC4wMDM5IDE4LjAwMkg0LjAwMzkxQzMuNDAzOTEgMTguMDAyIDMuMDAzOTEgMTcuNjAyIDMuMDAzOTEgMTcuMDAyVjcuMDAxOTVDMy4wMDM5MSA2LjQwMTk1IDMuNDAzOTEgNi4wMDE5NSA0LjAwMzkxIDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVYxNy4wMDJDMjEuMDAzOSAxNy42MDIgMjAuNjAzOSAxOC4wMDIgMjAuMDAzOSAxOC4wMDJaTTEyLjAwMzkgOC4wMDE5NUMxMC4zMDM5IDguMDAxOTUgOS4wMDM5MSA5LjgwMTk1IDkuMDAzOTEgMTIuMDAyQzkuMDAzOTEgMTQuMjAyIDEwLjMwMzkgMTYuMDAyIDEyLjAwMzkgMTYuMDAyQzEzLjcwMzkgMTYuMDAyIDE1LjAwMzkgMTQuMjAyIDE1LjAwMzkgMTIuMDAyQzE1LjAwMzkgOS44MDE5NSAxMy43MDM5IDguMDAxOTUgMTIuMDAzOSA4LjAwMTk1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjAwMzkgNi4wMDE5NUgyMC4wMDM5QzIwLjYwMzkgNi4wMDE5NSAyMS4wMDM5IDYuNDAxOTUgMjEuMDAzOSA3LjAwMTk1VjkuMDAxOTVDMTkuMzAzOSA5LjAwMTk1IDE4LjAwMzkgNy43MDE5NSAxOC4wMDM5IDYuMDAxOTVaTTYuMDAzOTEgNi4wMDE5NUg0LjAwMzkxQzMuNDAzOTEgNi4wMDE5NSAzLjAwMzkxIDYuNDAxOTUgMy4wMDM5MSA3LjAwMTk1VjkuMDAxOTVDNC43MDM5MSA5LjAwMTk1IDYuMDAzOTEgNy43MDE5NSA2LjAwMzkxIDYuMDAxOTVaTTIxLjAwMzkgMTcuMDAyVjE1LjAwMkMxOS4zMDM5IDE1LjAwMiAxOC4wMDM5IDE2LjMwMiAxOC4wMDM5IDE4LjAwMkgyMC4wMDM5QzIwLjYwMzkgMTguMDAyIDIxLjAwMzkgMTcuNjAyIDIxLjAwMzkgMTcuMDAyWk0zLjAwMzkxIDE1LjAwMlYxNy4wMDJDMy4wMDM5MSAxNy42MDIgMy40MDM5MSAxOC4wMDIgNC4wMDM5MSAxOC4wMDJINi4wMDM5MUM2LjAwMzkxIDE2LjMwMiA0LjcwMzkxIDE1LjAwMiAzLjAwMzkxIDE1LjAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIlBvdGVudGlhbCBCdXllcnNcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC4zXCIgZD1cIk0yMC4wMDM5IDE4LjAwMkg0LjAwMzkxQzMuNDAzOTEgMTguMDAyIDMuMDAzOTEgMTcuNjAyIDMuMDAzOTEgMTcuMDAyVjcuMDAxOTVDMy4wMDM5MSA2LjQwMTk1IDMuNDAzOTEgNi4wMDE5NSA0LjAwMzkxIDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVYxNy4wMDJDMjEuMDAzOSAxNy42MDIgMjAuNjAzOSAxOC4wMDIgMjAuMDAzOSAxOC4wMDJaTTEyLjAwMzkgOC4wMDE5NUMxMC4zMDM5IDguMDAxOTUgOS4wMDM5MSA5LjgwMTk1IDkuMDAzOTEgMTIuMDAyQzkuMDAzOTEgMTQuMjAyIDEwLjMwMzkgMTYuMDAyIDEyLjAwMzkgMTYuMDAyQzEzLjcwMzkgMTYuMDAyIDE1LjAwMzkgMTQuMjAyIDE1LjAwMzkgMTIuMDAyQzE1LjAwMzkgOS44MDE5NSAxMy43MDM5IDguMDAxOTUgMTIuMDAzOSA4LjAwMTk1WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xOC4wMDM5IDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVY5LjAwMTk1QzE5LjMwMzkgOS4wMDE5NSAxOC4wMDM5IDcuNzAxOTUgMTguMDAzOSA2LjAwMTk1Wk02LjAwMzkxIDYuMDAxOTVINC4wMDM5MUMzLjQwMzkxIDYuMDAxOTUgMy4wMDM5MSA2LjQwMTk1IDMuMDAzOTEgNy4wMDE5NVY5LjAwMTk1QzQuNzAzOTEgOS4wMDE5NSA2LjAwMzkxIDcuNzAxOTUgNi4wMDM5MSA2LjAwMTk1Wk0yMS4wMDM5IDE3LjAwMlYxNS4wMDJDMTkuMzAzOSAxNS4wMDIgMTguMDAzOSAxNi4zMDIgMTguMDAzOSAxOC4wMDJIMjAuMDAzOUMyMC42MDM5IDE4LjAwMiAyMS4wMDM5IDE3LjYwMiAyMS4wMDM5IDE3LjAwMlpNMy4wMDM5MSAxNS4wMDJWMTcuMDAyQzMuMDAzOTEgMTcuNjAyIDMuNDAzOTEgMTguMDAyIDQuMDAzOTEgMTguMDAySDYuMDAzOTFDNi4wMDM5MSAxNi4zMDIgNC43MDM5MSAxNS4wMDIgMy4wMDM5MSAxNS4wMDJaXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTUwcHggY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiTm9CIERlcml2ZWRcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J05vQiBEZXJpdmVkJ1wiIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnTm9CIERlcml2ZWQnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguMDAzOSAyMS42MDA1QzE2LjMwMzkgMjEuNjAwNSAxNS4wMDM5IDIwLjMwMDUgMTUuMDAzOSAxOC42MDA1VjIuNTAwNUMxNS4wMDM5IDIuMjAwNSAxNC42MDM5IDIuMDAwNDUgMTQuMzAzOSAyLjIwMDQ1TDEzLjAwMzkgMy42MDA0OEwxMS43MDM5IDIuMzAwNDlDMTEuMzAzOSAxLjkwMDQ5IDEwLjcwMzkgMS45MDA0OSAxMC4zMDM5IDIuMzAwNDlMOS4wMDM5MSAzLjYwMDQ4TDcuNzAzOTIgMi4zMDA0OUM3LjMwMzkyIDEuOTAwNDkgNi43MDM5IDEuOTAwNDkgNi4zMDM5IDIuMzAwNDlMNS4wMDM5MSAzLjYwMDQ4TDMuNzAzOTIgMi4zMDA0OUMzLjUwMzkyIDIuMTAwNDkgMy4wMDM5MSAyLjIwMDUgMy4wMDM5MSAzLjUwMDVWMTguNjAwNUMzLjAwMzkxIDIwLjMwMDUgNC4zMDM5MSAyMS42MDA1IDYuMDAzOTEgMjEuNjAwNUgxOC4wMDM5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjAwNTkgMTIuNTk3MkgxMS4wMDU5QzEwLjQwNTkgMTIuNTk3MiAxMC4wMDU5IDEyLjE5NzIgMTAuMDA1OSAxMS41OTcyQzEwLjAwNTkgMTAuOTk3MiAxMC40MDU5IDEwLjU5NzIgMTEuMDA1OSAxMC41OTcySDEyLjAwNTlDMTIuNjA1OSAxMC41OTcyIDEzLjAwNTkgMTAuOTk3MiAxMy4wMDU5IDExLjU5NzJDMTMuMDA1OSAxMi4xOTcyIDEyLjYwNTkgMTIuNTk3MiAxMi4wMDU5IDEyLjU5NzJaTTkuMDA1ODYgMTEuNTk3MkM5LjAwNTg2IDEwLjk5NzIgOC42MDU4NiAxMC41OTcyIDguMDA1ODYgMTAuNTk3Mkg2LjAwNTg2QzUuNDA1ODYgMTAuNTk3MiA1LjAwNTg2IDEwLjk5NzIgNS4wMDU4NiAxMS41OTcyQzUuMDA1ODYgMTIuMTk3MiA1LjQwNTg2IDEyLjU5NzIgNi4wMDU4NiAxMi41OTcySDguMDA1ODZDOC42MDU4NiAxMi41OTcyIDkuMDA1ODYgMTIuMTk3MiA5LjAwNTg2IDExLjU5NzJaTTkuMDA1ODYgNy41OTcxN0M5LjAwNTg2IDYuOTk3MTcgOC42MDU4NiA2LjU5NzE3IDguMDA1ODYgNi41OTcxN0g2LjAwNTg2QzUuNDA1ODYgNi41OTcxNyA1LjAwNTg2IDYuOTk3MTcgNS4wMDU4NiA3LjU5NzE3QzUuMDA1ODYgOC4xOTcxNyA1LjQwNTg2IDguNTk3MTcgNi4wMDU4NiA4LjU5NzE3SDguMDA1ODZDOC42MDU4NiA4LjU5NzE3IDkuMDA1ODYgOC4xOTcxNyA5LjAwNTg2IDcuNTk3MTdaTTEzLjAwNTkgNy41OTcxN0MxMy4wMDU5IDYuOTk3MTcgMTIuNjA1OSA2LjU5NzE3IDEyLjAwNTkgNi41OTcxN0gxMS4wMDU5QzEwLjQwNTkgNi41OTcxNyAxMC4wMDU5IDYuOTk3MTcgMTAuMDA1OSA3LjU5NzE3QzEwLjAwNTkgOC4xOTcxNyAxMC40MDU5IDguNTk3MTcgMTEuMDA1OSA4LjU5NzE3SDEyLjAwNTlDMTIuNjA1OSA4LjU5NzE3IDEzLjAwNTkgOC4xOTcxNyAxMy4wMDU5IDcuNTk3MTdaTTEzLjAwNTkgMTUuNTk3MkMxMy4wMDU5IDE0Ljk5NzIgMTIuNjA1OSAxNC41OTcyIDEyLjAwNTkgMTQuNTk3MkgxMC4wMDU5QzkuNDA1ODYgMTQuNTk3MiA5LjAwNTg2IDE0Ljk5NzIgOS4wMDU4NiAxNS41OTcyQzkuMDA1ODYgMTYuMTk3MiA5LjQwNTg2IDE2LjU5NzIgMTAuMDA1OSAxNi41OTcySDEyLjAwNTlDMTIuNjA1OSAxNi41OTcyIDEzLjAwNTkgMTYuMTk3MiAxMy4wMDU5IDE1LjU5NzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuMDAyIDE4LjU5NzFDMTUuMDAyIDIwLjI5NzEgMTYuMzAyIDIxLjU5NzEgMTguMDAyIDIxLjU5NzFDMTkuNzAyIDIxLjU5NzEgMjEuMDAyIDIwLjI5NzEgMjEuMDAyIDE4LjU5NzFWMTIuNDk3MUMyMS4wMDIgMTIuMTk3MSAyMC42MDIgMTEuOTk3MSAyMC4zMDIgMTIuMTk3MUwxOS4wMDIgMTMuNTk3MUwxNy43MDIgMTIuMjk3MUMxNy4zMDIgMTEuODk3MSAxNi43MDIgMTEuODk3MSAxNi4zMDIgMTIuMjk3MUwxNS4wMDIgMTMuNTk3MVYxOC41OTcxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiTm9CIERlcml2ZWRcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC4wMDM5IDIxLjYwMDVDMTYuMzAzOSAyMS42MDA1IDE1LjAwMzkgMjAuMzAwNSAxNS4wMDM5IDE4LjYwMDVWMi41MDA1QzE1LjAwMzkgMi4yMDA1IDE0LjYwMzkgMi4wMDA0NSAxNC4zMDM5IDIuMjAwNDVMMTMuMDAzOSAzLjYwMDQ4TDExLjcwMzkgMi4zMDA0OUMxMS4zMDM5IDEuOTAwNDkgMTAuNzAzOSAxLjkwMDQ5IDEwLjMwMzkgMi4zMDA0OUw5LjAwMzkxIDMuNjAwNDhMNy43MDM5MiAyLjMwMDQ5QzcuMzAzOTIgMS45MDA0OSA2LjcwMzkgMS45MDA0OSA2LjMwMzkgMi4zMDA0OUw1LjAwMzkxIDMuNjAwNDhMMy43MDM5MiAyLjMwMDQ5QzMuNTAzOTIgMi4xMDA0OSAzLjAwMzkxIDIuMjAwNSAzLjAwMzkxIDMuNTAwNVYxOC42MDA1QzMuMDAzOTEgMjAuMzAwNSA0LjMwMzkxIDIxLjYwMDUgNi4wMDM5MSAyMS42MDA1SDE4LjAwMzlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIuMDA1OSAxMi41OTcySDExLjAwNTlDMTAuNDA1OSAxMi41OTcyIDEwLjAwNTkgMTIuMTk3MiAxMC4wMDU5IDExLjU5NzJDMTAuMDA1OSAxMC45OTcyIDEwLjQwNTkgMTAuNTk3MiAxMS4wMDU5IDEwLjU5NzJIMTIuMDA1OUMxMi42MDU5IDEwLjU5NzIgMTMuMDA1OSAxMC45OTcyIDEzLjAwNTkgMTEuNTk3MkMxMy4wMDU5IDEyLjE5NzIgMTIuNjA1OSAxMi41OTcyIDEyLjAwNTkgMTIuNTk3MlpNOS4wMDU4NiAxMS41OTcyQzkuMDA1ODYgMTAuOTk3MiA4LjYwNTg2IDEwLjU5NzIgOC4wMDU4NiAxMC41OTcySDYuMDA1ODZDNS40MDU4NiAxMC41OTcyIDUuMDA1ODYgMTAuOTk3MiA1LjAwNTg2IDExLjU5NzJDNS4wMDU4NiAxMi4xOTcyIDUuNDA1ODYgMTIuNTk3MiA2LjAwNTg2IDEyLjU5NzJIOC4wMDU4NkM4LjYwNTg2IDEyLjU5NzIgOS4wMDU4NiAxMi4xOTcyIDkuMDA1ODYgMTEuNTk3MlpNOS4wMDU4NiA3LjU5NzE3QzkuMDA1ODYgNi45OTcxNyA4LjYwNTg2IDYuNTk3MTcgOC4wMDU4NiA2LjU5NzE3SDYuMDA1ODZDNS40MDU4NiA2LjU5NzE3IDUuMDA1ODYgNi45OTcxNyA1LjAwNTg2IDcuNTk3MTdDNS4wMDU4NiA4LjE5NzE3IDUuNDA1ODYgOC41OTcxNyA2LjAwNTg2IDguNTk3MTdIOC4wMDU4NkM4LjYwNTg2IDguNTk3MTcgOS4wMDU4NiA4LjE5NzE3IDkuMDA1ODYgNy41OTcxN1pNMTMuMDA1OSA3LjU5NzE3QzEzLjAwNTkgNi45OTcxNyAxMi42MDU5IDYuNTk3MTcgMTIuMDA1OSA2LjU5NzE3SDExLjAwNTlDMTAuNDA1OSA2LjU5NzE3IDEwLjAwNTkgNi45OTcxNyAxMC4wMDU5IDcuNTk3MTdDMTAuMDA1OSA4LjE5NzE3IDEwLjQwNTkgOC41OTcxNyAxMS4wMDU5IDguNTk3MTdIMTIuMDA1OUMxMi42MDU5IDguNTk3MTcgMTMuMDA1OSA4LjE5NzE3IDEzLjAwNTkgNy41OTcxN1pNMTMuMDA1OSAxNS41OTcyQzEzLjAwNTkgMTQuOTk3MiAxMi42MDU5IDE0LjU5NzIgMTIuMDA1OSAxNC41OTcySDEwLjAwNTlDOS40MDU4NiAxNC41OTcyIDkuMDA1ODYgMTQuOTk3MiA5LjAwNTg2IDE1LjU5NzJDOS4wMDU4NiAxNi4xOTcyIDkuNDA1ODYgMTYuNTk3MiAxMC4wMDU5IDE2LjU5NzJIMTIuMDA1OUMxMi42MDU5IDE2LjU5NzIgMTMuMDA1OSAxNi4xOTcyIDEzLjAwNTkgMTUuNTk3MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDBBM0ZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNS4wMDIgMTguNTk3MUMxNS4wMDIgMjAuMjk3MSAxNi4zMDIgMjEuNTk3MSAxOC4wMDIgMjEuNTk3MUMxOS43MDIgMjEuNTk3MSAyMS4wMDIgMjAuMjk3MSAyMS4wMDIgMTguNTk3MVYxMi40OTcxQzIxLjAwMiAxMi4xOTcxIDIwLjYwMiAxMS45OTcxIDIwLjMwMiAxMi4xOTcxTDE5LjAwMiAxMy41OTcxTDE3LjcwMiAxMi4yOTcxQzE3LjMwMiAxMS44OTcxIDE2LjcwMiAxMS44OTcxIDE2LjMwMiAxMi4yOTcxTDE1LjAwMiAxMy41OTcxVjE4LjU5NzFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMyBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgY29sLW1kLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiKGNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgIWdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c1ZhcmlhdGlvbilcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDlMNi43NSA0LjI1TDQuMjUgNi43NUwwLjUgM00xMS41IDlIOC41TTExLjUgOVY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nUG90ZW50aWFsIEJ1eWVycycgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c1ZhcmlhdGlvbilcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgY29sLW1kLTkgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdmb290ZmFsbCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdmb290ZmFsbCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPyBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgPyBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+LS0lPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PScnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhICE9PTBcIiAgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOT0IgJiYgY29udmVyc2lvblZhbHVlID09PSdOb0IgRGVyaXZlZCdcIiBjbGFzcz1cImNvbC1tZC0yIHB4LTAgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwibm9iVXBsb2FkKClcIj48c3ZnIHBsYWNlbWVudD1cInRvcFwiIG5nYlRvb2x0aXA9XCJVcGxvYWQgTm9CXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzYxNjBfNDM5NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIyOFwiIGhlaWdodD1cIjI4XCIgcng9XCI2LjIyMjIyXCIgZmlsbD1cIiNFQUY4RkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuMzg4ODlcIiB5PVwiMS4zODg4OVwiIHdpZHRoPVwiMjcuMjIyMlwiIGhlaWdodD1cIjI3LjIyMjJcIiByeD1cIjUuODMzMzNcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiMC43Nzc3NzhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF82MTYwXzQzOTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xOC41OTI5IDE3LjU5MjZMMTYuMDAwMyAxNU0xNi4wMDAzIDE1TDEzLjQwNzcgMTcuNTkyNk0xNi4wMDAzIDE1VjIwLjgzMzNNMjEuNDM4MiAxOS4xNDE3QzIyLjA3MDQgMTguNzk3IDIyLjU2OTggMTguMjUxNyAyMi44NTc2IDE3LjU5MTdDMjMuMTQ1NCAxNi45MzE3IDIzLjIwNTIgMTYuMTk0NyAyMy4wMjc2IDE1LjQ5NjlDMjIuODUgMTQuNzk5MiAyMi40NDUxIDE0LjE4MDQgMjEuODc2OCAxMy43Mzg0QzIxLjMwODUgMTMuMjk2MyAyMC42MDkyIDEzLjA1NiAxOS44ODkyIDEzLjA1NTZIMTkuMDcyNUMxOC44NzYzIDEyLjI5NjcgMTguNTEwNyAxMS41OTIzIDE4LjAwMyAxMC45OTUxQzE3LjQ5NTQgMTAuMzk3OSAxNi44NTkgOS45MjM2MiAxNi4xNDE2IDkuNjA3ODJDMTUuNDI0MyA5LjI5MjAxIDE0LjY0NDcgOS4xNDI5MyAxMy44NjE1IDkuMTcxNzlDMTMuMDc4MiA5LjIwMDY1IDEyLjMxMTcgOS40MDY2OSAxMS42MTk2IDkuNzc0NDNDMTAuOTI3NCAxMC4xNDIyIDEwLjMyNzYgMTAuNjYyIDkuODY1MzEgMTEuMjk0OUM5LjQwMjk5IDExLjkyNzggOS4wOTAxNiAxMi42NTczIDguOTUwMzUgMTMuNDI4NUM4LjgxMDU0IDE0LjE5OTcgOC44NDczOCAxNC45OTI2IDkuMDU4MSAxNS43NDc1QzkuMjY4ODEgMTYuNTAyNCA5LjY0NzkzIDE3LjE5OTcgMTAuMTY2OSAxNy43ODcxXCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuMjk4ODlcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzYxNjBfNDM5NFwiIHg9XCIwLjQ0NDQ0NFwiIHk9XCIwLjIyMjIyMlwiIHdpZHRoPVwiMzEuMTExMVwiIGhlaWdodD1cIjMxLjExMTFcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMC43Nzc3NzhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjAuNzc3Nzc4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzYxNjBfNDM5NFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzYxNjBfNDM5NFwiIHJlc3VsdD1cInNoYXBlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzYxNjBfNDM5NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTUuNTU1NlwiIGhlaWdodD1cIjE1LjU1NTZcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC4yMjI2NiA3LjIyMjIzKVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgIFtuZ2JUb29sdGlwXT1cImJvdW5jZWRUb29sdGlwXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldEJvdW5jZWRDYXJkRGF0YT8uY2FyZD8uYm91bmNlZD8ucmF0ZSA/IGdldEJvdW5jZWRDYXJkRGF0YT8uY2FyZD8uYm91bmNlZD8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkJvdW5jZWQgUmF0ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvdW5jZWRUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+Qm91bmNlZCBSYXRlPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB3YWxrLWlucyB3aG8gc3BlbnQgbGVzcyB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiQm91bmNlZFJhdGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPyBnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgIFtuZ2JUb29sdGlwXT1cImVuZ2FnZXJzVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldEVuZ2FnZXJzQ2FyZERhdGE/LmNhcmQ/LmVuZ2FnZXJzPy5yYXRlID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uY2FyZD8uZW5nYWdlcnM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5FbmdhZ2VycyBSYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW5nYWdlcnNUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+RW5nYWdlcnMgUmF0ZTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VG90YWwgd2Fsay1pbnMgd2hvIHNwZW50IG1vcmUgdGhhbiB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlfX0gbWlucyBpbnRvIHRoZSBzZWxlY3RlZCBzdG9yZXMuPC9wPiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVuZ2FnZXJzTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFlbmdhZ2Vyc05vZGF0YVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImVuZ2FnZXJzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEVuZ2FnZXJzQ2FyZERhdGE/LmRhdGE/LmVuZ2FnZXJzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNEYXRhID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwibWlzc2VkVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCIgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI21pc3NlZFRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5NaXNzZWQgT3Bwb3J0dW5pdGllczwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gPHNwYW4gKm5nSWY9XCJjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nIHx8IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdncm91cC1jb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSAnZW5nYWdlcnMtY29udmVyc2lvbicgPyAnZW5nYWdlcnMgYW5kIGNvbnZlcnNpb25zLCcgOiAncG90ZW50aWFsIGFuZCBjb252ZXJzaW9ucywnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93aW5nIHBvdGVudGlhbCBsb3NzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgaC05MHB4IG10LTMgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy5jdXJyZW5jeSA9PT0nZG9sbGFyJ1wiPjxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj48c3BhbiBjbGFzcz1cIm1lLTFcIj4kPC9zcGFuPiB7e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8udmFsdWUudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgPz8gJy0tJ319PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy5jdXJyZW5jeSA9PT0nYWVkJ1wiPiA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+2K8u2KU8L3NwYW4+IHt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA/PyAnLS0nfX08L3NwYW4+PC9kaXY+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTJcIiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8uY3VycmVuY3kgPT09J2lucidcIj4gPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlcjFcIiAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9udC1zaXplJzogKGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8udmFsdWUudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJyk/Lmxlbmd0aCA+IDYgPyAnMThweCcgOiAnMjBweCcpfVwiPjxzcGFuIGNsYXNzPVwibWUtMVwiPuKCuTwvc3Bhbj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ucmV2ZW51ZT8udmFsdWUudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgPz8gJy0tJ319PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMVwiPjxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPlBvdGVudGlhbCBMb3NzIFJldmVudWU8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgbXQtNVwiID48c3ZnIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZ29Ub0xvc3MoKVwiICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8zODg1XzI1MzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgcng9XCI4XCIgZmlsbD1cIiNFQUY4RkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzg4NV8yNTMxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNy40NTg1IDE3LjIyNTFDMjcuODEzMyAxOC44NTU2IDI3LjY3MDcgMjAuNTYxNCAyNy4wNTA1IDIyLjEwMjdMMjUuODU5MyAyMS4zODM4TDI2LjAxNyAyNi4wOTdMMzAgMjMuODgzNEwyOC43MTcgMjMuMTA4NkMzMC43MTcxIDE4LjQ4MjMgMjkuMDcyNiAxMi45MzMzIDI0Ljc3OTkgMTAuMzQwN0MyMy4zMzI4IDkuNDY2MzMgMjEuNjkxOCA5LjAwNDA2IDIwLjAyMDYgOS4wMDAwM0MxOC4zNDk0IDguOTk1OTkgMTYuNzA2NCA5LjQ1MDMzIDE1LjI1NTUgMTAuMzE3N0wxNi4yMDQ5IDEyLjA1NDRDMTcuNTkzMyAxMS4yMjQ5IDE5LjE5NTMgMTAuODcxMiAyMC43ODU4IDExLjA0M0MyMi4zNzY0IDExLjIxNDkgMjMuODc1NCAxMS45MDM2IDI1LjA3MjMgMTMuMDEyNUMyNi4yNjkyIDE0LjEyMTQgMjcuMTAzNyAxNS41OTQ2IDI3LjQ1ODUgMTcuMjI1MVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNTQwMiAyMC43NzU5QzEyLjE4NTQgMTkuMTQ1MiAxMi4zMjgyIDE3LjQzOTIgMTIuOTQ4NSAxNS44OTc4TDE0LjEzOTggMTYuNjE2N0wxMy45ODIgMTEuOTAzNUwxMCAxNC4xMTgxTDExLjI4MyAxNC44OTA5QzkuMjgxOTkgMTkuNTE4MiAxMC45MjY0IDI1LjA2NjIgMTUuMjE5MiAyNy42NTg4QzE2LjY2NjEgMjguNTMzMyAxOC4zMDcxIDI4Ljk5NTggMTkuOTc4MyAyOUMyMS42NDk1IDI5LjAwNDIgMjMuMjkyNiAyOC41NSAyNC43NDM1IDI3LjY4MjhMMjMuNzk1MSAyNS45NDYxQzIyLjQwNjcgMjYuNzc2IDIwLjgwNDUgMjcuMTMgMTkuMjEzOCAyNi45NTgzQzE3LjYyMyAyNi43ODY3IDE2LjEyMzcgMjYuMDk3OSAxNC45MjY3IDI0Ljk4OUMxMy43Mjk2IDIzLjg4IDEyLjg5NSAyMi40MDY2IDEyLjU0MDIgMjAuNzc1OVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yMS4wMzcyIDEzLjAwM0MyMS4wMzcyIDEyLjU1MTQgMjAuNjg3MSAxMi4xODUyIDIwLjI1NTIgMTIuMTg1MkMxOS44MjM0IDEyLjE4NTIgMTkuNDczMyAxMi41NTE0IDE5LjQ3MzMgMTMuMDAzVjE0LjM2NTlIMTguOTUyQzE4LjI2MDcgMTQuMzY1OSAxNy41OTc4IDE0LjY1MyAxNy4xMDkgMTUuMTY0MkMxNi42MjAxIDE1LjY3NTQgMTYuMzQ1NSAxNi4zNjg3IDE2LjM0NTUgMTcuMDkxNkMxNi4zNDU1IDE3LjgxNDYgMTYuNjIwMSAxOC41MDc5IDE3LjEwOSAxOS4wMTkxQzE3LjU5NzggMTkuNTMwMiAxOC4yNjA3IDE5LjgxNzQgMTguOTUyIDE5LjgxNzRIMTkuNDczM1YyMS45OThIMTcuMTI3NUMxNi42OTU2IDIxLjk5OCAxNi4zNDU1IDIyLjM2NDEgMTYuMzQ1NSAyMi44MTU4QzE2LjM0NTUgMjMuMjY3NCAxNi42OTU2IDIzLjYzMzUgMTcuMTI3NSAyMy42MzM1SDE5LjQ3MzNWMjQuOTk2NEMxOS40NzMzIDI1LjQ0OCAxOS44MjM0IDI1LjgxNDEgMjAuMjU1MiAyNS44MTQxQzIwLjY4NzEgMjUuODE0MSAyMS4wMzcyIDI1LjQ0OCAyMS4wMzcyIDI0Ljk5NjRWMjMuNjMzNUgyMS41NTg1QzIyLjI0OTggMjMuNjMzNSAyMi45MTI3IDIzLjM0NjMgMjMuNDAxNSAyMi44MzUxQzIzLjg5MDMgMjIuMzI0IDI0LjE2NDkgMjEuNjMwNiAyNC4xNjQ5IDIwLjkwNzdDMjQuMTY0OSAyMC4xODQ4IDIzLjg5MDMgMTkuNDkxNSAyMy40MDE1IDE4Ljk4MDNDMjIuOTEyNyAxOC40NjkxIDIyLjI0OTggMTguMTgyIDIxLjU1ODUgMTguMTgySDIxLjAzNzJWMTYuMDAxM0gyMi44NjE3QzIzLjI5MzYgMTYuMDAxMyAyMy42NDM3IDE1LjYzNTIgMjMuNjQzNyAxNS4xODM2QzIzLjY0MzcgMTQuNzMyIDIzLjI5MzYgMTQuMzY1OSAyMi44NjE3IDE0LjM2NTlIMjEuMDM3MlYxMy4wMDNaTTE4Ljk1MiAxNi4wMDEzSDE5LjQ3MzNWMTguMTgySDE4Ljk1MkMxOC42NzU1IDE4LjE4MiAxOC40MTAzIDE4LjA2NzEgMTguMjE0OCAxNy44NjI2QzE4LjAxOTMgMTcuNjU4MSAxNy45MDk0IDE3LjM4MDggMTcuOTA5NCAxNy4wOTE2QzE3LjkwOTQgMTYuODAyNSAxOC4wMTkzIDE2LjUyNTIgMTguMjE0OCAxNi4zMjA3QzE4LjQxMDMgMTYuMTE2MiAxOC42NzU1IDE2LjAwMTMgMTguOTUyIDE2LjAwMTNaTTIxLjAzNzIgMjEuOTk4VjE5LjgxNzRIMjEuNTU4NUMyMS44MzUgMTkuODE3NCAyMi4xMDAyIDE5LjkzMjMgMjIuMjk1NyAyMC4xMzY4QzIyLjQ5MTIgMjAuMzQxMiAyMi42MDExIDIwLjYxODYgMjIuNjAxMSAyMC45MDc3QzIyLjYwMTEgMjEuMTk2OSAyMi40OTEyIDIxLjQ3NDIgMjIuMjk1NyAyMS42Nzg3QzIyLjEwMDIgMjEuODgzMiAyMS44MzUgMjEuOTk4IDIxLjU1ODUgMjEuOTk4SDIxLjAzNzJaXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMzg4NV8yNTMxXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzM4ODVfMjUzMVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMzg4NV8yNTMxXCIgcmVzdWx0PVwic2hhcGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4ODVfMjUzMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIDkpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMyMTZfMTE4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uZGF0YT8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uZGF0YT8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uZGF0YT8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8uUHJldmlvdXNEYXRhID8gZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBtYi01IHB5LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTkwcHggbXQtMyBteC0zXCIgW25nYlRvb2x0aXBdPVwiZHdlbGxUb29sdGlwXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTMgZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MVwiIHZpZXdCb3g9XCIwIDAgNDAgNDFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNEQUYxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE3LjYzODIgMTIuODkyMkMxNy42MzgyIDEyLjY4MzUgMTcuNzIxMiAxMi40ODMzIDE3Ljg2ODggMTIuMzM1N0MxOC4wMTY0IDEyLjE4ODEgMTguMjE2NSAxMi4xMDUyIDE4LjQyNTMgMTIuMTA1MkgyMS41NzM0QzIxLjc4MjIgMTIuMTA1MiAyMS45ODIzIDEyLjE4ODEgMjIuMTI5OSAxMi4zMzU3QzIyLjI3NzUgMTIuNDgzMyAyMi4zNjA1IDEyLjY4MzUgMjIuMzYwNSAxMi44OTIyQzIyLjM2MDUgMTMuMTAwOSAyMi4yNzc1IDEzLjMwMTEgMjIuMTI5OSAxMy40NDg3QzIxLjk4MjMgMTMuNTk2MyAyMS43ODIyIDEzLjY3OTIgMjEuNTczNCAxMy42NzkySDIwLjc4NjRWMTQuNzI4NkwyMC43ODUzIDE0Ljc3MTZDMjIuMTE1NiAxNC45MTc0IDIzLjM3NjcgMTUuNDM5OCAyNC40MjA0IDE2LjI3NzVMMjQuNDI3NyAxNi4yNzEyTDI1LjIxNDggMTUuNDg0MkMyNS4zMTEgMTUuMzgwNiAyNS40MzMzIDE1LjMwNDggMjUuNTY5IDE1LjI2NDlDMjUuNzA0NiAxNS4yMjUxIDI1Ljg0ODUgMTUuMjIyNSAyNS45ODU1IDE1LjI1NzVDMjYuMTIyNCAxNS4yOTI1IDI2LjI0NzQgMTUuMzYzOCAyNi4zNDcyIDE1LjQ2MzlDMjYuNDQ3MSAxNS41NjQgMjYuNTE4MSAxNS42ODkyIDI2LjU1MjcgMTUuODI2M0MyNi41ODc3IDE1Ljk2MzEgMjYuNTg1MiAxNi4xMDY4IDI2LjU0NTUgMTYuMjQyM0MyNi41MDU4IDE2LjM3NzggMjYuNDMwNCAxNi41MDAyIDI2LjMyNzEgMTYuNTk2NUwyNS41NDAxIDE3LjM4MzZMMjUuNTMzOCAxNy4zOTA5QzI2LjM2NjIgMTguNDMzMSAyNi44ODc1IDE5LjY4OTEgMjcuMDM3NyAyMS4wMTQ0QzI3LjE4NzggMjIuMzM5NyAyNi45NjA3IDIzLjY4MDUgMjYuMzgyNCAyNC44ODI1QzI1LjgwNDIgMjYuMDg0NSAyNC44OTgzIDI3LjA5ODcgMjMuNzY5MSAyNy44MDg2QzIyLjYzOTkgMjguNTE4NCAyMS4zMzMyIDI4Ljg5NSAxOS45OTkzIDI4Ljg5NUMxOC42NjU1IDI4Ljg5NSAxNy4zNTg4IDI4LjUxODQgMTYuMjI5NiAyNy44MDg2QzE1LjEwMDQgMjcuMDk4NyAxNC4xOTQ1IDI2LjA4NDUgMTMuNjE2MyAyNC44ODI1QzEzLjAzOCAyMy42ODA1IDEyLjgxMDkgMjIuMzM5NyAxMi45NjEgMjEuMDE0NEMxMy4xMTEyIDE5LjY4OTEgMTMuNjMyNSAxOC40MzMxIDE0LjQ2NDkgMTcuMzkwOUwxNC40NTg2IDE3LjM4MzZMMTMuNjcxNiAxNi41OTY1QzEzLjUzMjQgMTYuNDQ3NCAxMy40NTY2IDE2LjI1IDEzLjQ2MDEgMTYuMDQ2QzEzLjQ2MzYgMTUuODQyIDEzLjU0NjIgMTUuNjQ3MyAxMy42OTA1IDE1LjUwMzFDMTMuODM0NyAxNS4zNTg4IDE0LjAyOTQgMTUuMjc2MiAxNC4yMzM0IDE1LjI3MjdDMTQuNDM3NCAxNS4yNjkyIDE0LjYzNDggMTUuMzQ1IDE0Ljc4MzkgMTUuNDg0MkwxNS41NzEgMTYuMjcxMkwxNS41NzgzIDE2LjI3NzVDMTYuNjIxNyAxNS40NCAxNy44ODI0IDE0LjkxNzYgMTkuMjEyMyAxNC43NzE2VjEzLjY3OTJIMTguNDI1M0MxOC4yMTY1IDEzLjY3OTIgMTguMDE2NCAxMy41OTYzIDE3Ljg2ODggMTMuNDQ4N0MxNy43MjEyIDEzLjMwMTEgMTcuNjM4MiAxMy4xMDA5IDE3LjYzODIgMTIuODkyMlpNMTkuOTk5MyAyNy4zMjEyQzIxLjQ2MDYgMjcuMzIxMSAyMi44NjIgMjYuNzQwNCAyMy44OTUyIDI1LjcwNzFDMjQuOTI4NCAyNC42NzM3IDI1LjUwODcgMjMuMjcyMiAyNS41MDg2IDIxLjgxMDlDMjUuNTA4NSAyMC4zNDk2IDI0LjkyNzggMTguOTQ4MiAyMy44OTQ1IDE3LjkxNUMyMi44NjExIDE2Ljg4MTkgMjEuNDU5NiAxNi4zMDE1IDE5Ljk5ODMgMTYuMzAxNkMxOC41MzcgMTYuMzAxOCAxNy4xMzU2IDE2Ljg4MjQgMTYuMTAyNSAxNy45MTU4QzE1LjA2OTMgMTguOTQ5MiAxNC40ODg5IDIwLjM1MDcgMTQuNDg5IDIxLjgxMTlDMTQuNDg5MiAyMy4yNzMyIDE1LjA2OTggMjQuNjc0NiAxNi4xMDMyIDI1LjcwNzhDMTcuMTM2NiAyNi43NDEgMTguNTM4MSAyNy4zMjEzIDE5Ljk5OTMgMjcuMzIxMlpNMjAuNDA3NiAyMC4yOTAzTDIxLjgwMzIgMTguODk0N0MyMS44NzU4IDE4LjgxOTUgMjEuOTYyNiAxOC43NTk1IDIyLjA1ODYgMTguNzE4MkMyMi4xNTQ2IDE4LjY3NjkgMjIuMjU3OSAxOC42NTUxIDIyLjM2MjQgMTguNjU0MkMyMi40NjY5IDE4LjY1MzIgMjIuNTcwNSAxOC42NzMxIDIyLjY2NzMgMTguNzEyNkMyMi43NjQgMTguNzUyMSAyMi44NTE5IDE4LjgxMDUgMjIuOTI1OSAxOC44ODQ0QzIyLjk5OTggMTguOTU4MiAyMy4wNTgzIDE5LjA0NjEgMjMuMDk3OSAxOS4xNDI4QzIzLjEzNzUgMTkuMjM5NSAyMy4xNTc1IDE5LjM0MzEgMjMuMTU2NiAxOS40NDc2QzIzLjE1NTcgMTkuNTUyMSAyMy4xMzQxIDE5LjY1NTQgMjMuMDkyOSAxOS43NTE1QzIzLjA1MTcgMTkuODQ3NSAyMi45OTE4IDE5LjkzNDQgMjIuOTE2NiAyMC4wMDdMMjEuNTIxIDIxLjQwMzdDMjEuNTgzIDIxLjYzNzEgMjEuNTkwNiAyMS44ODE1IDIxLjU0MzIgMjIuMTE4MkMyMS40OTU4IDIyLjM1NSAyMS4zOTQ4IDIyLjU3NzcgMjEuMjQ3OCAyMi43NjkyQzIxLjEwMDggMjIuOTYwNyAyMC45MTE4IDIzLjExNTkgMjAuNjk1MyAyMy4yMjI4QzIwLjQ3ODkgMjMuMzI5OCAyMC4yNDA4IDIzLjM4NTYgMTkuOTk5MyAyMy4zODZDMTkuNzc2NiAyMy4zODQxIDE5LjU1NjcgMjMuMzM0OSAxOS4zNTQ0IDIzLjI0MTZDMTkuMTUyMSAyMy4xNDgzIDE4Ljk3MTggMjMuMDEzMSAxOC44MjU3IDIyLjg0NUMxOC42Nzk1IDIyLjY3NjggMTguNTcwNyAyMi40Nzk2IDE4LjUwNjYgMjIuMjY2MkMxOC40NDI0IDIyLjA1MjggMTguNDI0MyAyMS44MjgzIDE4LjQ1MzQgMjEuNjA3NEMxOC40ODI1IDIxLjM4NjUgMTguNTU4MiAyMS4xNzQzIDE4LjY3NTUgMjAuOTg0OUMxOC43OTI4IDIwLjc5NTUgMTguOTQ5IDIwLjYzMzIgMTkuMTMzOCAyMC41MDg2QzE5LjMxODUgMjAuMzg0MSAxOS41Mjc2IDIwLjMwMDMgMTkuNzQ3MiAyMC4yNjI2QzE5Ljk2NjggMjAuMjI1IDIwLjE5MTkgMjAuMjM0NCAyMC40MDc2IDIwLjI5MDNaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGhlYWRlclwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEd2VsbFRpbWUgPT09IDBcIj4wIG1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGhlYWRlclwiICAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRHdlbGxUaW1lICE9PSAwXCI+e3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0R3ZWxsVGltZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRHdlbGxUaW1lIDonLS0nfX0gbWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnIER3ZWxsIFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2R3ZWxsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkF2ZyBEd2VsbCBUaW1lPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5BdmVyYWdlIHRpbWUgc3BlbnQgYnkgZW5nYWdlcnMgaW4gdGhlIHNlbGVjdGVkIHN0b3Jlcy48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBweS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIGgtOTBweCBtdC0zIG14LTNcIiAgW25nYlRvb2x0aXBdPVwiZG93blRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDFcIiB2aWV3Qm94PVwiMCAwIDQwIDQxXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjREFGMUZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMS45MDA0IDEyLjE2NzVDMjIuOTk1OCAxMi4xNjc1IDI0LjA0MjMgMTIuMzkxOCAyNC45OTc3IDEyLjc5ODdDMjUuOTg4OSAxMy4yMjA3IDI2Ljg4MDkgMTMuODQwMiAyNy42Mjc5IDE0LjYwODdDMjguMzczNCAxNS4zNzU2IDI4Ljk3NTYgMTYuMjkzMSAyOS4zODU3IDE3LjMxNjJDMjkuNzgxMyAxOC4yOTkgMjkuOTk5MyAxOS4zNzU2IDI5Ljk5OTMgMjAuNTAwOEMyOS45OTkzIDIxLjYyNzcgMjkuNzgxMyAyMi43MDQzIDI5LjM4NTcgMjMuNjg3MUMyOC45NzU2IDI0LjcwNjggMjguMzczNCAyNS42MjQ0IDI3LjYyNjMgMjYuMzkyOUMyNi44ODA5IDI3LjE1OTggMjUuOTg4OSAyNy43NzkzIDI0Ljk5NDUgMjguMjAxMkMyNC4wMzkxIDI4LjYwODEgMjIuOTkyNSAyOC44MzI1IDIxLjg5ODggMjguODMyNUMyMC44MDM0IDI4LjgzMjUgMTkuNzU2OCAyOC42MDgxIDE4LjgwMTQgMjguMjAxMkMxNy44MTAyIDI3Ljc3OTMgMTYuOTE4MyAyNy4xNTk4IDE2LjE3MjkgMjYuMzkyOUwxNi4xNzEyIDI2LjM5MTJDMTUuNDI0MiAyNS42MjI3IDE0LjgyMzYgMjQuNzA1MiAxNC40MTM0IDIzLjY4NzFDMTQuMjg2NSAyMy4zNzA3IDE0LjE3NzQgMjMuMDQ1OSAxNC4wODc5IDIyLjcxMjdDMTQuMjU3MiAyMi43Mjk0IDE0LjQyOTcgMjIuNzM3OCAxNC42MDM4IDIyLjczNzhDMTQuOTM0MiAyMi43Mzc4IDE1LjI1NjUgMjIuNzA3NiAxNS41NzA2IDIyLjY0OUMxNS42MjI3IDIyLjgwOTggMTUuNjc5NyAyMi45Njg4IDE1Ljc0MTUgMjMuMTI0NkMxNi4wNzg1IDIzLjk2MTcgMTYuNTczMiAyNC43MTUyIDE3LjE4ODUgMjUuMzQ4MUMxNy44MDM3IDI1Ljk4MSAxOC41Mzc4IDI2LjQ5IDE5LjM0OTkgMjYuODM2NkMyMC4xMzI4IDI3LjE2OTggMjAuOTkzOCAyNy4zNTU3IDIxLjg5ODggMjcuMzU1N0MyMi44MDM3IDI3LjM1NTcgMjMuNjYzMSAyNy4xNzE1IDI0LjQ0NzYgMjYuODM2NkMyNS4yNjE0IDI2LjQ5IDI1Ljk5MzggMjUuOTgxIDI2LjYwOTEgMjUuMzQ4MUMyNy4yMjQzIDI0LjcxNTIgMjcuNzE5MSAyMy45NjAxIDI4LjA1NiAyMy4xMjQ2QzI4LjM3OTkgMjIuMzE5MiAyOC41NjA1IDIxLjQzMzQgMjguNTYwNSAyMC41MDI1QzI4LjU2MDUgMTkuNTcxNSAyOC4zODE1IDE4LjY4NzUgMjguMDU2IDE3Ljg4MDRDMjcuNzE5MSAxNy4wNDMyIDI3LjIyNDMgMTYuMjg5OCAyNi42MDkxIDE1LjY1NjlDMjUuOTkzOCAxNS4wMjQgMjUuMjU5OCAxNC41MTQ5IDI0LjQ0NzYgMTQuMTY4NEMyMy42NjQ3IDEzLjgzNTIgMjIuODAzNyAxMy42NDkzIDIxLjg5ODggMTMuNjQ5M0MyMC45OTM4IDEzLjY0OTMgMjAuMTM0NCAxMy44MzM1IDE5LjM0OTkgMTQuMTY4NEMxOS4yNzk5IDE0LjE5ODUgMTkuMjEgMTQuMjMwMyAxOS4xNDE2IDE0LjI2MjFDMTguODc0NyAxMy44MzAxIDE4LjU1MjQgMTMuNDM4MyAxOC4xODI5IDEzLjA5ODRDMTguMzg0OCAxMi45OTEzIDE4LjU5MTUgMTIuODkyNSAxOC44MDE0IDEyLjgwMjFDMTkuNzYwMSAxMi4zOTE4IDIwLjgwNSAxMi4xNjc1IDIxLjkwMDQgMTIuMTY3NVpNMjAuOTcxIDE2LjUzOTNDMjAuOTcxIDE2LjMzNSAyMS4wNTI0IDE2LjE1MDggMjEuMTgxIDE2LjAxNjlDMjEuMzExMiAxNS44ODI5IDIxLjQ5MDIgMTUuODAwOSAyMS42ODg4IDE1LjgwMDlDMjEuODg3NCAxNS44MDA5IDIyLjA2NjQgMTUuODgyOSAyMi4xOTY2IDE2LjAxNjlDMjIuMzI2OCAxNi4xNTA4IDIyLjQwNjYgMTYuMzM1IDIyLjQwNjYgMTYuNTM5M1YyMC40MjcxTDI1LjIzMDUgMjIuMTUwMUMyNS4zOTk3IDIyLjI1MzkgMjUuNTEzNyAyMi40MTk2IDI1LjU1OTIgMjIuNjAyMUMyNS42MDQ4IDIyLjc4NDcgMjUuNTgzNyAyMi45ODU2IDI1LjQ4MjcgMjMuMTU5N1YyMy4xNjE0QzI1LjM4MTggMjMuMzM1NSAyNS4yMjA3IDIzLjQ1MjcgMjUuMDQzMyAyMy40OTk2QzI0Ljg2NTkgMjMuNTQ2NSAyNC42NzA2IDIzLjUyNDcgMjQuNTAxMyAyMy40MjA5SDI0LjQ5OTdMMjEuMzQwNSAyMS40OTM3QzIxLjIzMTQgMjEuNDMxOCAyMS4xNDE5IDIxLjM0MTMgMjEuMDc2OCAyMS4yMzQyQzIxLjAxMDEgMjEuMTIyIDIwLjk3MSAyMC45ODk3IDIwLjk3MSAyMC44NDkxVjE2LjUzOTNaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTQuMzkxMyAxMi42MDk1QzE2LjgxNjQgMTIuNjA5NSAxOC43ODI2IDE0LjYzMjEgMTguNzgyNiAxNy4xMjY5QzE4Ljc4MjYgMTkuNjIxOCAxNi44MTY0IDIxLjY0NDQgMTQuMzkxMyAyMS42NDQ0QzExLjk2NjEgMjEuNjQ0NCAxMCAxOS42MjE4IDEwIDE3LjEyNjlDMTAgMTQuNjMyMSAxMS45NjYxIDEyLjYwOTUgMTQuMzkxMyAxMi42MDk1Wk0xNC4zOTEzIDE5LjcxNzJMMTYuNzQ4IDE2LjcyMDFIMTUuMjg0OFYxNS4xMjYxSDEzLjQ5NzdWMTYuNzIwMUgxMi4wMzQ1TDE0LjM5MTMgMTkuNzE3MlpcIiBmaWxsPVwiI0YwNDQzOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0Rvd25UaW1lID09PSAwXCI+MCBtaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEb3duVGltZSAhPT0gMFwiPnt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEb3duVGltZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRG93blRpbWUgOictLSd9fSBtaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnIERvd24gVGltZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rvd25Ub29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5BdmcgRG93biBUaW1lPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QXZlcmFnZSBjYW1lcmEgJiBuZXR3b3JrIGRvd250aW1lIGZvciB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib3JkZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiIFtuZ2JUb29sdGlwXT1cInBvdGVudGlhbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmNhcmQ/LnBvdGVudGlhbEJ1eWVycz8ucmF0ZSA/IGdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5jYXJkPy5wb3RlbnRpYWxCdXllcnM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgXCI+UG90ZW50aWFsIEJ1eWVyczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3BvdGVudGlhbFRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJ0b29sdGlwLXRpdGxlIHRleHQtc3RhcnRcIj5Qb3RlbnRpYWwgQnV5ZXJzPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5OdW1iZXIgb2YgZ3JvdXBzIGVudGVyaW5nIHRoZSBzdG9yZS48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicG90ZW50aWFsTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFwb3RlbnRpYWxOb2RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJQb3RlbnRpYWxCdXllcnNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzRGF0YSA/IGdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMTAgOEw2IDRcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC04IG10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwicG90ZW50aWFsQnV5ZXJUb29sdGlwXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj5Qb3RlbnRpYWwgQnV5ZXIgRGlzdHJpYnV0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+Q2F0ZWdvcnktd2lzZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz4gICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3BvdGVudGlhbEJ1eWVyVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPlBvdGVudGlhbCBCdXllciBEaXN0cmlidXRpb248L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPkF2ZXJhZ2UgZ3JvdXAgc2l6ZSwgYWxvbmcgd2l0aCB0aGUgY291bnQgb2YgaW5kaXZpZHVhbHMgdmVyc3VzIGdyb3VwcyBlbnRlcmluZyB0aGUgc3RvcmUuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTAgIG10LTcgbWItM1wiPjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjVcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjUgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIwLjI1IDIxVjE5QzIwLjI1IDE3LjkzOTEgMTkuODI4NiAxNi45MjE3IDE5LjA3ODQgMTYuMTcxNkMxOC4zMjgzIDE1LjQyMTQgMTcuMzEwOSAxNSAxNi4yNSAxNUg4LjI1QzcuMTg5MTMgMTUgNi4xNzE3MiAxNS40MjE0IDUuNDIxNTcgMTYuMTcxNkM0LjY3MTQzIDE2LjkyMTcgNC4yNSAxNy45MzkxIDQuMjUgMTlWMjFNMTYuMjUgN0MxNi4yNSA5LjIwOTE0IDE0LjQ1OTEgMTEgMTIuMjUgMTFDMTAuMDQwOSAxMSA4LjI1IDkuMjA5MTQgOC4yNSA3QzguMjUgNC43OTA4NiAxMC4wNDA5IDMgMTIuMjUgM0MxNC40NTkxIDMgMTYuMjUgNC43OTA4NiAxNi4yNSA3WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LmNvdW50ICE9PSAwXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXQtMiBtcy0xXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJyk6Jy0tJ319PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LmNvdW50ID09PSAwXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXQtMiBtcy0xXCI+MDwvc3Bhbj48c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIgbXMtMVwiPlNpbmdsZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG1zLTE1IG1iLTNcIj48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgd2Vlay1mb250XCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uYWdlR3JvdXAgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uYWdlR3JvdXA6Jy0tJ319IGFnZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDlMNi43NSA0LjI1TDQuMjUgNi43NUwwLjUgM00xMS41IDlIOC41TTExLjUgOVY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMyMTZfMTE4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNEYXRhID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHB4LTAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG1zLTEwIG10LTcgbWItM1wiPjxzcGFuPiA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCIgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uY291bnQgIT09MFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG1zLTEgbXQtMlwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uY291bnQgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uY291bnQgPT09MFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG1zLTEgbXQtMlwiPjA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIG1zLTFcIj5Hcm91cDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTUgbWItM1wiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB3ZWVrLWZvbnRcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LmFnZUdyb3VwID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uYWdlR3JvdXA6Jy0tJ319IGFnZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjMyOF80NjU0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzRGF0YSA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3ZWVrLWZvbnRcIj4gdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbXQtNSBlbmQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC03IG1iLTNcIj48c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uY291bnQgIT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmNvdW50ID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNQZXJzb25zPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uY291bnQgPT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yXCI+MDwvc3Bhbj48c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIgbXMtMVwiPlBlcnNvbnM8L3NwYW4+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTNcIj48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgd2Vlay1mb250XCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmFnZUdyb3VwID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YS5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmFnZUdyb3VwOictLSd9fSBhZ2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgdGV4dC1jZW50ZXIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPjxzcGFuIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMiB3ZWVrLWZvbnRcIj4gQXZnLiBHcm91cCBzaXplPC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICBcclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBoLTEwMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dFwiPkNvbnZlcnNpb24gRnVubmVsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUb3RhbCBvcHBvcnR1bml0eSBvZiBzYWxlcyBjb252ZXJzaW9uIHZlcnN1cyB0b3RhbCB3YWxraW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDY1IDEwLjY2NjZWNy45OTk5Mk04LjAwMDY1IDUuMzMzMjVIOC4wMDczMk0xNC42NjczIDcuOTk5OTJDMTQuNjY3MyAxMS42ODE4IDExLjY4MjYgMTQuNjY2NiA4LjAwMDY1IDE0LjY2NjZDNC4zMTg3NSAxNC42NjY2IDEuMzMzOTggMTEuNjgxOCAxLjMzMzk4IDcuOTk5OTJDMS4zMzM5OCA0LjMxODAyIDQuMzE4NzUgMS4zMzMyNSA4LjAwMDY1IDEuMzMzMjVDMTEuNjgyNiAxLjMzMzI1IDE0LjY2NzMgNC4zMTgwMiAxNC42NjczIDcuOTk5OTJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj57e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWF0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaC0yNzVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhdG5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgY29udmVyc2lvbiBmdW5uZWw8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGVhdGxvYWRpbmcgJiYgIWhlYXRub0RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTNcIiBpZD1cImNoYXJ0ZGl2XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1wYWxvYWRpbmcgJiYgc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxIHx8IG1hcG5vRGF0YSAmJiBzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDEgfHwgIXN0b3JlSWRhcnJheT8ubGVuZ3RoXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBwcy03IHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dFwiID5FeHBsb3JlPC9zcGFuPiAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibXBhbG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaC0yMjVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXIgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXBub0RhdGFcIiAgY2xhc3M9XCJyb3cgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub3JtYWxpemVcIiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0xMCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXAxXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvbm90LWFwcGxpY2FibGUuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUgbXQtM1wiPkRhdGEgTm90IEZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+Tm9ybWFsaXplZCBkYXRhIGlzIG5vdCBhcHBsaWNhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub3JtYWxpemVcIiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXBcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgU3RvcmUgbWFwPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1wYWxvYWRpbmcgJiYgIW1hcG5vRGF0YSAmJiBzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBwcy03IHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dFwiID5FeHBsb3JlPC9zcGFuPiAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIG10LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFtcGFsb2FkaW5nICYmICFtYXBub0RhdGFcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9yZVZpZXcoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIG1lLTggYnRuLWxpZ2h0LXByaW1hcnkxIHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cGxvcmU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1hcG5vRGF0YVwiIGNsYXNzPVwiY2FyZC1ib2R5IGNvbC1tZC0xMiBwdC0wIHBiLTUgcHMtN1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwibWFwXCIgY2xhc3M9XCJ3LTEwMFwiID48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIiBjbGFzcz1cImNhcmQgcGItMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNSBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHRcIj5SZWNhcCBWaWRlbyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIkEgcXVpY2sgcmVjYXAgb2YgdGhlIHN0b3JlIGFjdGl2aXR5IGFsb25nIHdpdGggdGhlIGF2ZyB0ZWNoIGluZnJhc3RydWN0dXJlIGRvd250aW1lIHN0YXR1c1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDMyXzgwMDM1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+RGF0ZWQ6IHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6JyBkZCBNTU0seXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgbXQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbCB0ZXh0LXN0YXJ0IGRpc2FibGVkLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE2IDE0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiR3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCIgZD1cIk05LjUxOTUzIDAuMzMzOTg0QzEwLjM5NTggMC4zMzM5ODQgMTEuMjMzMSAwLjUxMzQ3NyAxMS45OTc0IDAuODM4OTc0QzEyLjc5MDQgMS4xNzY1MyAxMy41MDM5IDEuNjcyMTQgMTQuMTAxNiAyLjI4Njk3QzE0LjY5NzkgMi45MDA0NiAxNS4xNzk3IDMuNjM0NSAxNS41MDc4IDQuNDUyOTNDMTUuODI0MiA1LjIzOTIyIDE1Ljk5ODcgNi4xMDA1MSAxNS45OTg3IDcuMDAwNjVDMTUuOTk4NyA3LjkwMjEzIDE1LjgyNDIgOC43NjM0MyAxNS41MDc4IDkuNTQ5NzFDMTUuMTc5NyAxMC4zNjU1IDE0LjY5NzkgMTEuMDk5NSAxNC4xMDAzIDExLjcxNDNDMTMuNTAzOSAxMi4zMjc4IDEyLjc5MDQgMTIuODIzNCAxMS45OTQ4IDEzLjE2MUMxMS4yMzA1IDEzLjQ4NjUgMTAuMzkzMiAxMy42NjYgOS41MTgyMyAxMy42NjZDOC42NDE5MyAxMy42NjYgNy44MDQ2OSAxMy40ODY1IDcuMDQwMzYgMTMuMTYxQzYuMjQ3NCAxMi44MjM0IDUuNTMzODUgMTIuMzI3OCA0LjkzNzUgMTEuNzE0M0w0LjkzNjIgMTEuNzEzQzQuMzM4NTQgMTEuMDk4MiAzLjg1ODA3IDEwLjM2NDEgMy41Mjk5NSA5LjU0OTcxQzMuNDI4MzkgOS4yOTY1NSAzLjM0MTE1IDkuMDM2NjggMy4yNjk1MyA4Ljc3MDEzQzMuNDA0OTUgOC43ODM1MiAzLjU0Mjk3IDguNzkwMjIgMy42ODIyOSA4Ljc5MDIyQzMuOTQ2NjEgOC43OTAyMiA0LjIwNDQzIDguNzY2MTEgNC40NTU3MyA4LjcxOTIyQzQuNDk3NCA4Ljg0NzgyIDQuNTQyOTcgOC45NzUwNyA0LjU5MjQ1IDkuMDk5NjRDNC44NjE5OCA5Ljc2OTM5IDUuMjU3ODEgMTAuMzcyMiA1Ljc1IDEwLjg3ODVDNi4yNDIxOSAxMS4zODQ4IDYuODI5NDMgMTEuNzkyIDcuNDc5MTcgMTIuMDY5M0M4LjEwNTQ3IDEyLjMzNTkgOC43OTQyNyAxMi40ODQ1IDkuNTE4MjMgMTIuNDg0NUMxMC4yNDIyIDEyLjQ4NDUgMTAuOTI5NyAxMi4zMzcyIDExLjU1NzMgMTIuMDY5M0MxMi4yMDgzIDExLjc5MiAxMi43OTQzIDExLjM4NDggMTMuMjg2NSAxMC44Nzg1QzEzLjc3ODYgMTAuMzcyMiAxNC4xNzQ1IDkuNzY4MDUgMTQuNDQ0IDkuMDk5NjRDMTQuNzAzMSA4LjQ1NTM0IDE0Ljg0NzcgNy43NDY3NSAxNC44NDc3IDcuMDAxOTlDMTQuODQ3NyA2LjI1NzIzIDE0LjcwNDQgNS41NDk5OCAxNC40NDQgNC45MDQzNEMxNC4xNzQ1IDQuMjM0NTkgMTMuNzc4NiAzLjYzMTgyIDEzLjI4NjUgMy4xMjU0OUMxMi43OTQzIDIuNjE5MTYgMTIuMjA3IDIuMjExOTYgMTEuNTU3MyAxLjkzNDY4QzEwLjkzMSAxLjY2ODEyIDEwLjI0MjIgMS41MTk0NCA5LjUxODIzIDEuNTE5NDRDOC43OTQyNyAxLjUxOTQ0IDguMTA2NzcgMS42NjY3OCA3LjQ3OTE3IDEuOTM0NjhDNy40MjMxOCAxLjk1ODc5IDcuMzY3MTkgMS45ODQyNCA3LjMxMjUgMi4wMDk2OUM3LjA5ODk2IDEuNjY0MSA2Ljg0MTE1IDEuMzUwNjYgNi41NDU1NyAxLjA3ODc0QzYuNzA3MDMgMC45OTMwMTYgNi44NzI0IDAuOTEzOTg2IDcuMDQwMzYgMC44NDE2NTNDNy44MDcyOSAwLjUxMzQ3NyA4LjY0MzIzIDAuMzMzOTg0IDkuNTE5NTMgMC4zMzM5ODRaTTguNzc2MDQgMy44MzE0MUM4Ljc3NjA0IDMuNjY3OTkgOC44NDExNSAzLjUyMDY0IDguOTQ0MDEgMy40MTM0OEM5LjA0ODE4IDMuMzA2MzIgOS4xOTE0MSAzLjI0MDY5IDkuMzUwMjYgMy4yNDA2OUM5LjUwOTExIDMuMjQwNjkgOS42NTIzNCAzLjMwNjMyIDkuNzU2NTEgMy40MTM0OEM5Ljg2MDY4IDMuNTIwNjQgOS45MjQ0OCAzLjY2Nzk5IDkuOTI0NDggMy44MzE0MVY2Ljk0MTcxTDEyLjE4MzYgOC4zMjAwNUMxMi4zMTkgOC40MDMxIDEyLjQxMDIgOC41MzU3MSAxMi40NDY2IDguNjgxNzJDMTIuNDgzMSA4LjgyNzcyIDEyLjQ2NjEgOC45ODg0NiAxMi4zODU0IDkuMTI3NzdWOS4xMjkxMUMxMi4zMDQ3IDkuMjY4NDIgMTIuMTc1OCA5LjM2MjE4IDEyLjAzMzkgOS4zOTk2OUMxMS44OTE5IDkuNDM3MTkgMTEuNzM1NyA5LjQxOTc4IDExLjYwMDMgOS4zMzY3M0gxMS41OTlMOS4wNzE2MSA3Ljc5NDk3QzguOTg0MzggNy43NDU0MSA4LjkxMjc2IDcuNjczMDggOC44NjA2OCA3LjU4NzM1QzguODA3MjkgNy40OTc2IDguNzc2MDQgNy4zOTE3OCA4Ljc3NjA0IDcuMjc5MjdWMy44MzE0MVpcIiBmaWxsPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXzJcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMy41MTMwMiAwLjY4NzYyMkM1LjQ1MzEyIDAuNjg3NjIyIDcuMDI2MDQgMi4zMDU3MyA3LjAyNjA0IDQuMzAxNThDNy4wMjYwNCA2LjI5NzQzIDUuNDUzMTIgNy45MTU1NCAzLjUxMzAyIDcuOTE1NTRDMS41NzI5MiA3LjkxNTU0IDAgNi4yOTc0MyAwIDQuMzAxNThDMCAyLjMwNTczIDEuNTcyOTIgMC42ODc2MjIgMy41MTMwMiAwLjY4NzYyMlpNMy41MTMwMiA2LjM3Mzc4TDUuMzk4NDQgMy45NzYwOEg0LjIyNzg2VjIuNzAwODhIMi43OTgxOFYzLjk3NjA4SDEuNjI3NkwzLjUxMzAyIDYuMzczNzhaXCIgZmlsbD1cIiNGMDQ0MzhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+e3tnZXRSZWNhcFZpZGVvRGF0YT8uZG93blRpbWUgPz8gJy0tJ319IE1pbnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbCBkaXNhYmxlZC1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPT09J0dPT0QnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJGcmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTEzLjQzNDkgMi41QzE0LjgyMzggMi41IDE1Ljk4NzEgMy4wMTM4OSAxNi45MjQ5IDQuMDQxNjdDMTcuODYyNyA1LjA2OTQ0IDE4LjMzMTMgNi4yOTE2NyAxOC4zMzA3IDcuNzA4MzNDMTguMzMwNyA3Ljk1ODMzIDE4LjMxNjggOC4yMDUgMTguMjg5MSA4LjQ0ODMzQzE4LjI2MTMgOC42OTE2NyAxOC4yMTI3IDguOTMxMTEgMTguMTQzMiA5LjE2NjY3SDEyLjkzNDlMMTEuNTE4MiA3LjA0MTY3QzExLjQ0ODggNi45MzA1NiAxMS4zNTE2IDYuODQwMjggMTEuMjI2NiA2Ljc3MDgzQzExLjEwMTYgNi43MDEzOSAxMC45Njk2IDYuNjY2NjcgMTAuODMwNyA2LjY2NjY3QzEwLjY1MDIgNi42NjY2NyAxMC40ODY4IDYuNzIyMjIgMTAuMzQwNyA2LjgzMzMzQzEwLjE5NDYgNi45NDQ0NCAxMC4wOTQxIDcuMDgzMzMgMTAuMDM5MSA3LjI1TDguOTE0MDYgMTAuNjI1TDguMTg0OSA5LjU0MTY3QzguMTE1NDUgOS40MzA1NiA4LjAxODIzIDkuMzQwMjggNy44OTMyMyA5LjI3MDgzQzcuNzY4MjMgOS4yMDEzOSA3LjYzNjI4IDkuMTY2NjcgNy40OTc0IDkuMTY2NjdIMS44NTE1NkMxLjc4MjEyIDguOTMwNTYgMS43MzM1MSA4LjY5MDgzIDEuNzA1NzMgOC40NDc1QzEuNjc3OTUgOC4yMDQxNyAxLjY2NDA2IDcuOTY0NzIgMS42NjQwNiA3LjcyOTE3QzEuNjY0MDYgNi4yOTg2MSAyLjEyOTM0IDUuMDY5NDQgMy4wNTk5IDQuMDQxNjdDMy45OTA0NSAzLjAxMzg5IDUuMTUwMTcgMi41IDYuNTM5MDYgMi41QzcuMjA1NzMgMi41IDcuODM0MzQgMi42MzE5NCA4LjQyNDkgMi44OTU4M0M5LjAxNTQ1IDMuMTU5NzIgOS41Mzk2MiAzLjUyNzc4IDkuOTk3NCA0QzEwLjQ0MTggMy41Mjc3OCAxMC45NTkzIDMuMTU5NzIgMTEuNTQ5OSAyLjg5NTgzQzEyLjE0MDUgMi42MzE5NCAxMi43Njg4IDIuNSAxMy40MzQ5IDIuNVpNOS45OTc0IDE3LjVDOS43NDc0IDE3LjUgOS41MDc2NyAxNy40NTQ3IDkuMjc4MjMgMTcuMzY0MkM5LjA0ODc4IDE3LjI3MzYgOC44NDQwNiAxNy4xMzgzIDguNjY0MDYgMTYuOTU4M0wzLjA4MDczIDExLjM1NDJDMi45OTc0IDExLjI3MDggMi45MjEwMSAxMS4xODc1IDIuODUxNTYgMTEuMTA0MkMyLjc4MjEyIDExLjAyMDggMi43MTI2NyAxMC45MzA2IDIuNjQzMjMgMTAuODMzM0g3LjAzOTA2TDguNDU1NzMgMTIuOTU4M0M4LjUyNTE3IDEzLjA2OTQgOC42MjI0IDEzLjE1OTcgOC43NDc0IDEzLjIyOTJDOC44NzI0IDEzLjI5ODYgOS4wMDQzNCAxMy4zMzMzIDkuMTQzMjMgMTMuMzMzM0M5LjMyMzc4IDEzLjMzMzMgOS40OTA0NSAxMy4yNzc4IDkuNjQzMjMgMTMuMTY2N0M5Ljc5NjAxIDEzLjA1NTYgOS45MDAxNyAxMi45MTY3IDkuOTU1NzMgMTIuNzVMMTEuMDgwNyA5LjM3NUwxMS43ODkxIDEwLjQ1ODNDMTEuODcyNCAxMC41Njk0IDExLjk3NjYgMTAuNjU5NyAxMi4xMDE2IDEwLjcyOTJDMTIuMjI2NiAxMC43OTg2IDEyLjM1ODUgMTAuODMzMyAxMi40OTc0IDEwLjgzMzNIMTcuMzMwN0wxNy4xMjI0IDExLjA4MzNMMTYuOTE0MSAxMS4zMzMzTDExLjMwOTkgMTYuOTU4M0MxMS4xMjkzIDE3LjEzODkgMTAuOTI4IDE3LjI3NDQgMTAuNzA1NyAxNy4zNjVDMTAuNDgzNSAxNy40NTU2IDEwLjI0NzQgMTcuNTAwNiA5Ljk5NzQgMTcuNVpcIiBmaWxsPVwiIzEyQjc2QVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPT09J0FWRVJBR0UnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiRnJhbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiIGQ9XCJNMTMuNDM0OSAyLjVDMTQuODIzOCAyLjUgMTUuOTg3MSAzLjAxMzg5IDE2LjkyNDkgNC4wNDE2N0MxNy44NjI3IDUuMDY5NDQgMTguMzMxMyA2LjI5MTY3IDE4LjMzMDcgNy43MDgzM0MxOC4zMzA3IDcuOTU4MzMgMTguMzE2OCA4LjIwNSAxOC4yODkxIDguNDQ4MzNDMTguMjYxMyA4LjY5MTY3IDE4LjIxMjcgOC45MzExMSAxOC4xNDMyIDkuMTY2NjdIMTIuOTM0OUwxMS41MTgyIDcuMDQxNjdDMTEuNDQ4OCA2LjkzMDU2IDExLjM1MTYgNi44NDAyOCAxMS4yMjY2IDYuNzcwODNDMTEuMTAxNiA2LjcwMTM5IDEwLjk2OTYgNi42NjY2NyAxMC44MzA3IDYuNjY2NjdDMTAuNjUwMiA2LjY2NjY3IDEwLjQ4NjggNi43MjIyMiAxMC4zNDA3IDYuODMzMzNDMTAuMTk0NiA2Ljk0NDQ0IDEwLjA5NDEgNy4wODMzMyAxMC4wMzkxIDcuMjVMOC45MTQwNiAxMC42MjVMOC4xODQ5IDkuNTQxNjdDOC4xMTU0NSA5LjQzMDU2IDguMDE4MjMgOS4zNDAyOCA3Ljg5MzIzIDkuMjcwODNDNy43NjgyMyA5LjIwMTM5IDcuNjM2MjggOS4xNjY2NyA3LjQ5NzQgOS4xNjY2N0gxLjg1MTU2QzEuNzgyMTIgOC45MzA1NiAxLjczMzUxIDguNjkwODMgMS43MDU3MyA4LjQ0NzVDMS42Nzc5NSA4LjIwNDE3IDEuNjY0MDYgNy45NjQ3MiAxLjY2NDA2IDcuNzI5MTdDMS42NjQwNiA2LjI5ODYxIDIuMTI5MzQgNS4wNjk0NCAzLjA1OTkgNC4wNDE2N0MzLjk5MDQ1IDMuMDEzODkgNS4xNTAxNyAyLjUgNi41MzkwNiAyLjVDNy4yMDU3MyAyLjUgNy44MzQzNCAyLjYzMTk0IDguNDI0OSAyLjg5NTgzQzkuMDE1NDUgMy4xNTk3MiA5LjUzOTYyIDMuNTI3NzggOS45OTc0IDRDMTAuNDQxOCAzLjUyNzc4IDEwLjk1OTMgMy4xNTk3MiAxMS41NDk5IDIuODk1ODNDMTIuMTQwNSAyLjYzMTk0IDEyLjc2ODggMi41IDEzLjQzNDkgMi41Wk05Ljk5NzQgMTcuNUM5Ljc0NzQgMTcuNSA5LjUwNzY3IDE3LjQ1NDcgOS4yNzgyMyAxNy4zNjQyQzkuMDQ4NzggMTcuMjczNiA4Ljg0NDA2IDE3LjEzODMgOC42NjQwNiAxNi45NTgzTDMuMDgwNzMgMTEuMzU0MkMyLjk5NzQgMTEuMjcwOCAyLjkyMTAxIDExLjE4NzUgMi44NTE1NiAxMS4xMDQyQzIuNzgyMTIgMTEuMDIwOCAyLjcxMjY3IDEwLjkzMDYgMi42NDMyMyAxMC44MzMzSDcuMDM5MDZMOC40NTU3MyAxMi45NTgzQzguNTI1MTcgMTMuMDY5NCA4LjYyMjQgMTMuMTU5NyA4Ljc0NzQgMTMuMjI5MkM4Ljg3MjQgMTMuMjk4NiA5LjAwNDM0IDEzLjMzMzMgOS4xNDMyMyAxMy4zMzMzQzkuMzIzNzggMTMuMzMzMyA5LjQ5MDQ1IDEzLjI3NzggOS42NDMyMyAxMy4xNjY3QzkuNzk2MDEgMTMuMDU1NiA5LjkwMDE3IDEyLjkxNjcgOS45NTU3MyAxMi43NUwxMS4wODA3IDkuMzc1TDExLjc4OTEgMTAuNDU4M0MxMS44NzI0IDEwLjU2OTQgMTEuOTc2NiAxMC42NTk3IDEyLjEwMTYgMTAuNzI5MkMxMi4yMjY2IDEwLjc5ODYgMTIuMzU4NSAxMC44MzMzIDEyLjQ5NzQgMTAuODMzM0gxNy4zMzA3TDE3LjEyMjQgMTEuMDgzM0wxNi45MTQxIDExLjMzMzNMMTEuMzA5OSAxNi45NTgzQzExLjEyOTMgMTcuMTM4OSAxMC45MjggMTcuMjc0NCAxMC43MDU3IDE3LjM2NUMxMC40ODM1IDE3LjQ1NTYgMTAuMjQ3NCAxNy41MDA2IDkuOTk3NCAxNy41WlwiIGZpbGw9XCIjRkFDQzE1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UmVjYXBWaWRlb0RhdGE/LmhlYWx0aCA9PT0nQkFEJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJGcmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiIGQ9XCJNMTMuNDM0OSAyLjVDMTQuODIzOCAyLjUgMTUuOTg3MSAzLjAxMzg5IDE2LjkyNDkgNC4wNDE2N0MxNy44NjI3IDUuMDY5NDQgMTguMzMxMyA2LjI5MTY3IDE4LjMzMDcgNy43MDgzM0MxOC4zMzA3IDcuOTU4MzMgMTguMzE2OCA4LjIwNSAxOC4yODkxIDguNDQ4MzNDMTguMjYxMyA4LjY5MTY3IDE4LjIxMjcgOC45MzExMSAxOC4xNDMyIDkuMTY2NjdIMTIuOTM0OUwxMS41MTgyIDcuMDQxNjdDMTEuNDQ4OCA2LjkzMDU2IDExLjM1MTYgNi44NDAyOCAxMS4yMjY2IDYuNzcwODNDMTEuMTAxNiA2LjcwMTM5IDEwLjk2OTYgNi42NjY2NyAxMC44MzA3IDYuNjY2NjdDMTAuNjUwMiA2LjY2NjY3IDEwLjQ4NjggNi43MjIyMiAxMC4zNDA3IDYuODMzMzNDMTAuMTk0NiA2Ljk0NDQ0IDEwLjA5NDEgNy4wODMzMyAxMC4wMzkxIDcuMjVMOC45MTQwNiAxMC42MjVMOC4xODQ5IDkuNTQxNjdDOC4xMTU0NSA5LjQzMDU2IDguMDE4MjMgOS4zNDAyOCA3Ljg5MzIzIDkuMjcwODNDNy43NjgyMyA5LjIwMTM5IDcuNjM2MjggOS4xNjY2NyA3LjQ5NzQgOS4xNjY2N0gxLjg1MTU2QzEuNzgyMTIgOC45MzA1NiAxLjczMzUxIDguNjkwODMgMS43MDU3MyA4LjQ0NzVDMS42Nzc5NSA4LjIwNDE3IDEuNjY0MDYgNy45NjQ3MiAxLjY2NDA2IDcuNzI5MTdDMS42NjQwNiA2LjI5ODYxIDIuMTI5MzQgNS4wNjk0NCAzLjA1OTkgNC4wNDE2N0MzLjk5MDQ1IDMuMDEzODkgNS4xNTAxNyAyLjUgNi41MzkwNiAyLjVDNy4yMDU3MyAyLjUgNy44MzQzNCAyLjYzMTk0IDguNDI0OSAyLjg5NTgzQzkuMDE1NDUgMy4xNTk3MiA5LjUzOTYyIDMuNTI3NzggOS45OTc0IDRDMTAuNDQxOCAzLjUyNzc4IDEwLjk1OTMgMy4xNTk3MiAxMS41NDk5IDIuODk1ODNDMTIuMTQwNSAyLjYzMTk0IDEyLjc2ODggMi41IDEzLjQzNDkgMi41Wk05Ljk5NzQgMTcuNUM5Ljc0NzQgMTcuNSA5LjUwNzY3IDE3LjQ1NDcgOS4yNzgyMyAxNy4zNjQyQzkuMDQ4NzggMTcuMjczNiA4Ljg0NDA2IDE3LjEzODMgOC42NjQwNiAxNi45NTgzTDMuMDgwNzMgMTEuMzU0MkMyLjk5NzQgMTEuMjcwOCAyLjkyMTAxIDExLjE4NzUgMi44NTE1NiAxMS4xMDQyQzIuNzgyMTIgMTEuMDIwOCAyLjcxMjY3IDEwLjkzMDYgMi42NDMyMyAxMC44MzMzSDcuMDM5MDZMOC40NTU3MyAxMi45NTgzQzguNTI1MTcgMTMuMDY5NCA4LjYyMjQgMTMuMTU5NyA4Ljc0NzQgMTMuMjI5MkM4Ljg3MjQgMTMuMjk4NiA5LjAwNDM0IDEzLjMzMzMgOS4xNDMyMyAxMy4zMzMzQzkuMzIzNzggMTMuMzMzMyA5LjQ5MDQ1IDEzLjI3NzggOS42NDMyMyAxMy4xNjY3QzkuNzk2MDEgMTMuMDU1NiA5LjkwMDE3IDEyLjkxNjcgOS45NTU3MyAxMi43NUwxMS4wODA3IDkuMzc1TDExLjc4OTEgMTAuNDU4M0MxMS44NzI0IDEwLjU2OTQgMTEuOTc2NiAxMC42NTk3IDEyLjEwMTYgMTAuNzI5MkMxMi4yMjY2IDEwLjc5ODYgMTIuMzU4NSAxMC44MzMzIDEyLjQ5NzQgMTAuODMzM0gxNy4zMzA3TDE3LjEyMjQgMTEuMDgzM0wxNi45MTQxIDExLjMzMzNMMTEuMzA5OSAxNi45NTgzQzExLjEyOTMgMTcuMTM4OSAxMC45MjggMTcuMjc0NCAxMC43MDU3IDE3LjM2NUMxMC40ODM1IDE3LjQ1NTYgMTAuMjQ3NCAxNy41MDA2IDkuOTk3NCAxNy41WlwiIGZpbGw9XCIjRjA0NDM4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj57e2dldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW1lcmFWaWV3KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBteC0yIGJ0bi1saWdodC1wcmltYXJ5MSByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5MaXZlIFZpZXc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2FwbGFvZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaC0yMjVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjYXBub0RhdGFcIiAgY2xhc3M9XCJyb3cgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vcm1hbGl6ZVwiIGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTEwIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXAxXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvbm90LWFwcGxpY2FibGUuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlIG10LTNcIj5EYXRhIE5vdCBGb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5Ob3JtYWxpemVkIGRhdGEgaXMgbm90IGFwcGxpY2FibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW1hcC1yZWNhcFwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgUmVjYXAgdmlkZW88L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcmVjYXBsYW9kaW5nICYmICFyZWNhcG5vRGF0YVwiIGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiByZWNhcHNHcm91cGVkOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGN1cnJlbnRJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwYWlyIG9mIGdyb3VwXCIgW25nQ2xhc3NdPVwiY29sVmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cInBhaXIudGh1bWJJbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZGVvQ2xpY2socGFpcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2UtdGh1bWIgbWItOCBkLWJsb2NrIHctMTAwIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJJbWFnZSB7eyBpICsgMSB9fVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29uZGl0aW9uYWxseSBkaXNwbGF5IFByZXZpb3VzIGJ1dHRvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXZcIiAqbmdJZj1cImN1cnJlbnRJbmRleCA+IDBcIiAoY2xpY2spPVwicHJldlNsaWRlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb25kaXRpb25hbGx5IGRpc3BsYXkgTmV4dCBidXR0b24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0XCIgKm5nSWY9XCJjdXJyZW50SW5kZXggPCByZWNhcHNHcm91cGVkLmxlbmd0aCAtIDFcIiAoY2xpY2spPVwibmV4dFNsaWRlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIERvdHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjYXBzR3JvdXBlZC5sZW5ndGggPiAxXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgcmVjYXBzR3JvdXBlZDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gY3VycmVudEluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9TbGlkZShpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHZpZGVvIGNvbnRyb2xzIGF1dG9wbGF5IGNsYXNzPVwicmVjYXAtaW1nIHAtM1wiIFtzcmNdPVwiZ2V0UmVjYXBEYXRhPy52aWRlb1VSTFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNvdXJjZSAgdHlwZT1cInZpZGVvL21wNFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNvdXJjZSBbc3JjXT1cImdldFJlY2FwRGF0YT8udmlkZW9VUkxcIiB0eXBlPVwidmlkZW8vb2dnXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC92aWRlbz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAjbWFwQ29udGFpbmVyIHN0eWxlPVwiaGVpZ2h0OjIzMHB4O1wiPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbWItM1wiPjxpbWcgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy9yZWNhcC5zdmdcIiBhbHQ9XCJcIiBjbGFzcz1cInJlY2FwLWltZ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbWItM1wiPjxpbWcgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy9yZWNhcC5zdmdcIiBhbHQ9XCJcIiBjbGFzcz1cInJlY2FwLWltZ1wiPjwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgIGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuXHJcbiAgICAgICAgPCEtLSBmb290ZmFsbCB0cmVuZCBjaGFydHMgLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsMSBtYi0yXCI+Rm9vdGZhbGwgVHJlbmQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+QmFzZWQgb24ge3tnZXREYXRlVmFsdWVzPy5mcm9tRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3tnZXREYXRlVmFsdWVzPy50b0RhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpOYXYgZ3JvdXAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtZ3JvdXAgbmF2LWdyb3VwLW91dGxpbmUgYm9yZGVyLTEgYnRuLWdyb3VwIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgcHgtNiBweS0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwidHlwZSA9PT0gJ2RhaWx5JyA/ICdhY3RpdmVQbGFuQnRuJyA6ICdpbmFjdGl2ZVBsYW5CdG4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW5UcmVuZHMoJ2RhaWx5JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNb250aCBCdXR0b24gLS0+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSBXZWVrIEJ1dHRvbiAtLT5cclxuICAgICAgICA8YnV0dG9uICBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBweC02IHB5LTNcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ0eXBlID09PSAnd2Vla2x5JyA/ICdhY3RpdmVQbGFuQnRuJyA6ICdpbmFjdGl2ZVBsYW5CdG4nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW5UcmVuZHMoJ3dlZWtseScpXCI+XHJcbiAgICAgICAgICAgIFdlZWtcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICBcclxuICAgICAgICA8IS0tIERheSBCdXR0b24sIHZpc2libGUgb25seSBpZiBkYXRlTGVuZ3RoIGlzIHZhbGlkIGFuZCB0eXBlIGlzIGVpdGhlciAnd2Vla2x5JyBvciAnZGFpbHknIC0tPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgcHgtNiBweS0zXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwidHlwZSA9PT0gJ21vbnRobHknID8gJ2FjdGl2ZVBsYW5CdG4nIDogJ2luYWN0aXZlUGxhbkJ0bidcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGxhblRyZW5kcygnbW9udGhseScpXCI+XHJcbiAgICAgICAgICAgIE1vbnRoXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6Ok5hdiBncm91cC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMiBtdC0zIGRyb3BzZWxlY3RcIj5UcmVuZDwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0Q29udHJvbFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YXNldHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdldHJlbmQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiAoY2hhbmdlKT1cIm9uRGF0YXNldENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGRhdGFzZXQgb2YgZGF0YXNldHNcIiBbdmFsdWVdPVwiZGF0YXNldC52YWx1ZVwiPnt7IGRhdGFzZXQubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG10LTEgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJkLWZsZXggbXMtMSBkcm9wc2VsZWN0IG10LTIgY3Vyc29yLXBvaW50ZXIgdGV4dC1ub3dyYXAgZnMtNVwiPkZvcmVjYXN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjY0NV8yNzQ1OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMuMzMzOTggMS4zMzMzMUwzLjQ2MDY1IDEuOTU5OThDMy41NTE0MiAyLjQwOTk4IDMuNzU2ODMgMi44Mjg5MyA0LjA1Njk5IDMuMTc2MjhDNC4zNTcxNSAzLjUyMzYyIDQuNzQxODkgMy43ODc1OSA1LjE3Mzk4IDMuOTQyNjVMNS4zMzM5OCAzLjk5OTk4TDUuMTczOTggNC4wNTczMUM0Ljc0MTg5IDQuMjEyMzcgNC4zNTcxNSA0LjQ3NjM0IDQuMDU2OTkgNC44MjM2OEMzLjc1NjgzIDUuMTcxMDMgMy41NTE0MiA1LjU4OTk4IDMuNDYwNjUgNi4wMzk5OEwzLjMzMzk4IDYuNjY2NjVMMy4yMDczMiA2LjAzOTk4QzMuMTE2NTQgNS41ODk5OCAyLjkxMTE0IDUuMTcxMDMgMi42MTA5OCA0LjgyMzY4QzIuMzEwODIgNC40NzYzNCAxLjkyNjA3IDQuMjEyMzcgMS40OTM5OCA0LjA1NzMxTDEuMzMzOTggMy45OTk5OEwxLjQ5Mzk4IDMuOTQyNjVDMS45MjYwNyAzLjc4NzU5IDIuMzEwODIgMy41MjM2MiAyLjYxMDk4IDMuMTc2MjhDMi45MTExNCAyLjgyODkzIDMuMTE2NTQgMi40MDk5OCAzLjIwNzMyIDEuOTU5OThMMy4zMzM5OCAxLjMzMzMxWk01LjMzMzk4IDEwLjY2NjZMNS40ODczMiAxMS41MTczQzUuNTI3MTMgMTEuNzM5MiA1LjYyMjU2IDExLjk0NzQgNS43NjQ2OCAxMi4xMjI0QzUuOTA2OCAxMi4yOTc0IDYuMDkwOTggMTIuNDMzNSA2LjI5OTk4IDEyLjUxOEw2LjY2NzMyIDEyLjY2NjZMNi4yOTk5OCAxMi44MTUzQzYuMDkwOTQgMTIuODk5NyA1LjkwNjY4IDEzLjAzNTYgNS43NjQ0NSAxMy4yMTA1QzUuNjIyMjEgMTMuMzg1NCA1LjUyNjYzIDEzLjU5MzUgNS40ODY2NSAxMy44MTUzTDUuMzMzOTggMTQuNjY2Nkw1LjE4MDY1IDEzLjgxNkM1LjE0MDg0IDEzLjU5NDEgNS4wNDU0MSAxMy4zODU5IDQuOTAzMjkgMTMuMjEwOUM0Ljc2MTE3IDEzLjAzNTkgNC41NzY5OSAxMi44OTk4IDQuMzY3OTggMTIuODE1M0w0LjAwMDY1IDEyLjY2NjZMNC4zNjc5OCAxMi41MThDNC41NzcwMyAxMi40MzM2IDQuNzYxMjkgMTIuMjk3NyA0LjkwMzUyIDEyLjEyMjhDNS4wNDU3NiAxMS45NDc5IDUuMTQxMzMgMTEuNzM5OCA1LjE4MTMyIDExLjUxOEw1LjMzMzk4IDEwLjY2NjZaTTEwLjY2NzMgMS45OTk5OEwxMS4wMzggMy43NjkzMUMxMS4yMjY5IDQuNjcxMzcgMTEuNjQ2MyA1LjUwOTA4IDEyLjI1NTQgNi4yMDA3NkMxMi44NjQ1IDYuODkyNDQgMTMuNjQyNCA3LjQxNDQ4IDE0LjUxMzMgNy43MTU5OEwxNS4zMzQgNy45OTk5OEwxNC41MTMzIDguMjgzOThDMTMuNjQyNCA4LjU4NTQ4IDEyLjg2NDUgOS4xMDc1MiAxMi4yNTU0IDkuNzk5MkMxMS42NDYzIDEwLjQ5MDkgMTEuMjI2OSAxMS4zMjg2IDExLjAzOCAxMi4yMzA2TDEwLjY2NzMgMTRMMTAuMjk2NyAxMi4yMzA2QzEwLjEwNzcgMTEuMzI4NiA5LjY4ODMgMTAuNDkwOSA5LjA3OTIyIDkuNzk5MkM4LjQ3MDE1IDkuMTA3NTIgNy42OTIyMyA4LjU4NTQ4IDYuODIxMzIgOC4yODM5OEw2LjAwMDY1IDcuOTk5OThMNi44MjEzMiA3LjcxNTk4QzcuNjkyMjMgNy40MTQ0OCA4LjQ3MDE1IDYuODkyNDQgOS4wNzkyMiA2LjIwMDc2QzkuNjg4MyA1LjUwOTA4IDEwLjEwNzcgNC42NzEzNyAxMC4yOTY3IDMuNzY5MzFMMTAuNjY3MyAxLjk5OTk4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjY0NV8yNzQ1OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCAgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImZvcmVjYXN0XCIgKGNsaWNrKT1cImZvcmVjYXN0QXBpKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFvYmpEYXRhPy5mb3JlY2FzdFwiIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTFcIiAoY2xpY2spPVwicHJvZHVjdHRyYWlsRHJvcGRvd24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDEwSDE1TTIuNSA1SDE3LjVNNy41IDE1SDEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHB5LTIgdy0yMDBweCBwb3NpdGlvbi1hYnNvbHV0ZSBwcm9kdWN0ZHJvcCB0b3AtMjAgZW5kLTEgbXQtMTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdJZj1cIiFvYmpEYXRhPy5mb3JlY2FzdFwiICBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nbm9ybWFsaXplJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnbm9ybWFsaXplJylcIj5Ob3JtYWxpemVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSdub3JtYWxpemUnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxXCIgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nYWN0dWFsJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCdhY3R1YWwnKVwiPkFjdHVhbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nYWN0dWFsJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMyNyA0TDUuOTk5MzUgMTEuMzMzM0wyLjY2NjAyIDhcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID4gMVwiIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J2F2ZXJhZ2UnID8gJ2JnLWZvcmNhc3QnOicnXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCdhdmVyYWdlJylcIj5BdmVyYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4gPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nYXZlcmFnZScgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMyNyA0TDUuOTk5MzUgMTEuMzMzM0wyLjY2NjAyIDhcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0ndGFyZ2V0JyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCd0YXJnZXQnKVwiPlRhcmdldFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J3RhcmdldCcgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2xpPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J3dlZWtlbmRzJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCd3ZWVrZW5kcycpXCI+V2Vla2VuZHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSd3ZWVrZW5kcycgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiBbbmdDbGFzc109XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nd2Vla2RheXMnID8gJ2JnLWZvcmNhc3QnOicnXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VTdGF0dXMoJ3dlZWtkYXlzJylcIj5XZWVrZGF5c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J3dlZWtkYXlzJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nVHJlbmRzXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vRGF0YVRyZW5kc1wiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGZvb3RmYWxsIHRyZW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCIgKm5nSWY9XCIhbm9EYXRhVHJlbmRzICYmICFsb2FkaW5nVHJlbmRzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHgtM1wiIGlkPVwiRm9vdGZhbGx0cmVuZFwiPjwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICN0b29sdGlwQ29udGFpbmVyIGNsYXNzPVwidG9vbHRpcC1jb250YWluZXJcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiICpuZ0lmPVwidG9vbHRpcERhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgcC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlIHRleHQtc3RhcnRcIj57e3Rvb2x0aXBEYXRhLmZ1bGxTdG9yZU5hbWV9fTwvU3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlN1bTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkF2Zzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYWJsZSBmb3IgY291bnRzIGFuZCByYXRlcyBpbiBob3Jpem9udGFsIGZvcm1hdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ob3Jpem9udGFsIHRyZW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGl0bGUgdGV4dC1zdGFydCBweC0zXCI+e3t0b29sdGlwRGF0YS5mdWxsU3RvcmVOYW1lfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGl0bGUgdGV4dC1lbmRcIj5TdW08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInRpdGxlIHRleHQtZW5kXCI+QXZnPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvdW50cyBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPlRvdGFsIEZvb3RmYWxsPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmZvb3RmYWxsX2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZm9vdGZhbGxfY291bnRfYXZnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPkJvdW5jZWQgRm9vdGZhbGw8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbHVlXCIgIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuYm91bmNlZF9jb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmJvdW5jZWRfZm9vdGZhbGxfY291bnRfYXZnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidHJlbmQtbGFiZWxcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5FbmdhZ2VyczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmVuZ2FnZXJzX2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5lbmdhZ2Vyc19jb3VudF9hdmd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEubWlzc2VkT3Bwb3J0dW5pdHlfY291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLm1pc3NlZE9wcG9ydHVuaXR5X2NvdW50X2F2Z319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+RG93biBUaW1lPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZG93bl90aW1lID8gdG9vbHRpcERhdGEuZG93bl90aW1lIDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5kb3duX3RpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSYXRlcyBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+RHdlbGwgVGltZTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWUgdGV4dC1ub3dyYXBcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmF2Z0R3ZWxsVGltZS50b0ZpeGVkKDApfX0gTWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWUgdGV4dC1ub3dyYXBcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmF2Z0R3ZWxsVGltZS50b0ZpeGVkKDApfX0gTWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidHJlbmQtbGFiZWxcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5Db252ZXJzaW9uPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuY29udmVyc2lvblJhdGUudG9GaXhlZCgwKX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmNvbnZlcnNpb25SYXRlLnRvRml4ZWQoMCl9fSU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8bGliLXBhZ2luYXRpb24gW2l0ZW1zUGVyUGFnZV09XCJwYWdlU2l6ZVRyZW5kc1wiIFtjdXJyZW50UGFnZV09XCJvZmZzZXRUcmVuZHNcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJlbmRzXCJcclxuICAgICAgICAgICAgICAgICAgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNUcmVuZHNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVUcmVuZHNcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2VUcmVuZHMoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlVHJlbmRzKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gPGxpYi10cmFmZmljLWNoYXJ0cyBjbGFzcz1cIm15LTJcIj48L2xpYi10cmFmZmljLWNoYXJ0cz4gLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjYXJkIG10LTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG15LTMgbXgtMlwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwidGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1OSdcIiBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKVwiPjxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ndHJhZmZpYycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+VHJhZmZpYyAmIER3ZWxsPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZm9vdGZhbGwnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nZm9vdGZhbGwnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG1lLTZcIj5Gb290ZmFsbDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ2JvdW5jZWQnKVwiPjxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdib3VuY2VkJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPkJvdW5jZWQgRm9vdGZhbGw8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZW5nYWdlcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+RW5nYWdlcnM8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnbWlzc2VkT3Bwb3J0dW5pdHknKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG1lLTZcIj5NaXNzZWQgT3Bwb3J0dW5pdHk8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdwb3RlbnRpYWxCdXllcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+UG90ZW50aWFsIEJ1eWVyPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnY29udmVyc2lvbicpXCI+PGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2NvbnZlcnNpb24nID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+Q29udmVyc2lvbjwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnROb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIGgtMTAwXCIgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3RyYWZmaWMnXCIgY2xhc3M9XCJsZWZ0LWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdERheSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdERheSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkJ1c2llc3QgRGF5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmJ1c2llc3RUaW1lIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+QnVzaWVzdCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYXZnRHdlbGxUaW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBEd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/Lm1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkZlbWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdmb290ZmFsbCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmZvb3RmYWxsQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mb290ZmFsbENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5Gb290ZmFsbCBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNzRcIiBoZWlnaHQ9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjRcIiBkPVwiTTEgMUwxOTMgMVwiIHN0cm9rZT1cIiM5OURBRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMjFWMTlDMjAgMTcuOTM5MSAxOS41Nzg2IDE2LjkyMTcgMTguODI4NCAxNi4xNzE2QzE4LjA3ODMgMTUuNDIxNCAxNy4wNjA5IDE1IDE2IDE1SDhDNi45MzkxMyAxNSA1LjkyMTcyIDE1LjQyMTQgNS4xNzE1NyAxNi4xNzE2QzQuNDIxNDMgMTYuOTIxNyA0IDE3LjkzOTEgNCAxOVYyMU0xNiA3QzE2IDkuMjA5MTQgMTQuMjA5MSAxMSAxMiAxMUM5Ljc5MDg2IDExIDggOS4yMDkxNCA4IDdDOCA0Ljc5MDg2IDkuNzkwODYgMyAxMiAzQzE0LjIwOTEgMyAxNiA0Ljc5MDg2IDE2IDdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LnNpbmdsZUNvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uc2luZ2xlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5TaW5nbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lmdyb3VwQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cCBGb290ZmFsbDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5hZ2VHcm91cCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmFnZUdyb3VwIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8ubWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbidcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkNvbnZlcnNpb24gQ291bnQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTc0XCIgaGVpZ2h0PVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTk0IDJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC40XCIgZD1cIk0xIDFMMTkzIDFcIiBzdHJva2U9XCIjOTlEQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uY29udmVyc2lvblJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+Q29udmVyc2lvbiBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj41IC0gMTUgTWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IGZhbHNlXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+MTUgLSA2MCBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uYXZlcmFnZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmF2ZXJhZ2VSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPjEgSHIgb3IgbW9yZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudC50b0xvY2FsZVN0cmluZygpPy5sZW5ndGggPiA1ID8gJzI0cHgnIDogJzM2cHgnKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5lbmdhZ2Vyc0NvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkVuZ2FnZXJzIENvdW50PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5FbmdhZ2VycyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBkd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5IaWdoIEVuZ2FnZW1lbnQgWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5sb3dFbmdhZ2VtZW50Wm9uZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkxvdyBFbmdhZ2VtZW50IFpvbmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkJvdW5jZWQgQ291bnQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uYm91bmNlZFJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+Qm91bmNlZCBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LnBlYWtCb3VuY2VkSG91ciA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+UGVhayBCb3VuY2VkIEhvdXI8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubW9zdENvbW1vbkFnZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1vc3QgQ29tbW9uIEFnZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9udC1zaXplJzogKGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc0NvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLXRpdGxlXCI+UG90ZW50aWFsIEJ1eWVyczwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkJ1eWVycyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMjFWMTlDMjAgMTcuOTM5MSAxOS41Nzg2IDE2LjkyMTcgMTguODI4NCAxNi4xNzE2QzE4LjA3ODMgMTUuNDIxNCAxNy4wNjA5IDE1IDE2IDE1SDhDNi45MzkxMyAxNSA1LjkyMTcyIDE1LjQyMTQgNS4xNzE1NyAxNi4xNzE2QzQuNDIxNDMgMTYuOTIxNyA0IDE3LjkzOTEgNCAxOVYyMU0xNiA3QzE2IDkuMjA5MTQgMTQuMjA5MSAxMSAxMiAxMUM5Ljc5MDg2IDExIDggOS4yMDkxNCA4IDdDOCA0Ljc5MDg2IDkuNzkwODYgMyAxMiAzQzE0LjIwOTEgMyAxNiA0Ljc5MDg2IDE2IDdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5zaW5nbGVDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5zaW5nbGVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPlNpbmdsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5ncm91cENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+R3JvdXA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tb3N0Q29tbW9uQWdlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknXCIgY2xhc3M9XCJsZWZ0LWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1pc3NlZE9wcG9ydHVuaXR5Q291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5NaXNzZWQgb3Bwb3J0dW5pdHkgQ291bnQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1pc3NlZCBvcHBvcnR1bml0eSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzLnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDggPyAnMTZweCcgOiAnMThweCcpfVwiPjxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdpbnInXCI+4oK5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdkb2xsYXInXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTFcIiAqbmdJZj1cImdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5jdXJyZW5jeSA9PT0nYWVkJ1wiPtivLtilPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Qb3RlbnRpYWwgTG9zcyBSZXZlbnVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lmxvd0NvbnZlcnNpb25ab25lIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TG93IENvbnZlcnNpb24gWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkZlbWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSd0cmFmZmljJyAmJiAhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiIGNsYXNzPVwiY29sLW1kLTEwIGgtMTAwIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTMgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+VHJhZmZpYyBEZW5zaXR5IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlRyYWZmaWMgYW5hbHlzaXMgZGlzdHJpYnV0aW9uIGFjcm9zcyB0aGUgZGF5c1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuOTk4NyAxMC42NjY3VjguMDAwMDRNNy45OTg3IDUuMzMzMzdIOC4wMDUzNk0xNC42NjU0IDguMDAwMDRDMTQuNjY1NCAxMS42ODE5IDExLjY4MDYgMTQuNjY2NyA3Ljk5ODcgMTQuNjY2N0M0LjMxNjggMTQuNjY2NyAxLjMzMjAzIDExLjY4MTkgMS4zMzIwMyA4LjAwMDA0QzEuMzMyMDMgNC4zMTgxNCA0LjMxNjggMS4zMzMzNyA3Ljk5ODcgMS4zMzMzN0MxMS42ODA2IDEuMzMzMzcgMTQuNjY1NCA0LjMxODE0IDE0LjY2NTQgOC4wMDAwNFpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzM1Ml82ODhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0cmFmZmljSGVhdG1hcENoYXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj5Ed2VsbCBUaW1lIFNwbGl0IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUaW1lLWRpc3RyaWJ1dGVkIGZvb3RmYWxsIHdpdGggZGVtb2dyYXBoaWNzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03Ljk5ODcgMTAuNjY2N1Y4LjAwMDA0TTcuOTk4NyA1LjMzMzM3SDguMDA1MzZNMTQuNjY1NCA4LjAwMDA0QzE0LjY2NTQgMTEuNjgxOSAxMS42ODA2IDE0LjY2NjcgNy45OTg3IDE0LjY2NjdDNC4zMTY4IDE0LjY2NjcgMS4zMzIwMyAxMS42ODE5IDEuMzMyMDMgOC4wMDAwNEMxLjMzMjAzIDQuMzE4MTQgNC4zMTY4IDEuMzMzMzcgNy45OTg3IDEuMzMzMzdDMTEuNjgwNiAxLjMzMzM3IDE0LjY2NTQgNC4zMTgxNCAxNC42NjU0IDguMDAwMDRaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMzNTJfNjg4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gdy1hdXRvIGRyb3BzZWxlY3RcIiBpZD1cImRhdGVTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIHRyYWZmaWNEYXRhXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNoYXJ0RHdlbGxOb0RhdGEgJiYgIWNoYXJ0RHdlbGxsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImR3ZWxsQmFyQ2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnREd2VsbE5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXQtMjAgbWItNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC0yMCBjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YSAmJiAoc2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyB8fCBzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgfHwgc2VsZWN0ZWRUYWIgPT09J2VuZ2FnZXJzJyB8fCBzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgfHwgc2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgc2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5JylcIiBjbGFzcz1cImNvbC1tZC0xMCBoLTEwMCByaWdodC1iYXIgYm9yZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyB8fCBmb290ZmFsbFZhbHVlID09PSdkZW1vZ3JhcGhpYycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYnV5ZXInKSAmJiAhZGV0YWlsZWRDaGFydHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiICE9PSdwb3RlbnRpYWxCdXllcnMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXAgbXktMiBteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c0NhcmRcIiAoY2xpY2spPVwib25EYXRhc2V0Q2hhbmdlKGRhdGFzZXQudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwiZm9vdGZhbGxWYWx1ZSA9PT1kYXRhc2V0LnZhbHVlID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPnt7IGRhdGFzZXQubGFiZWwgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVGFiID09PSBkYXRhc2V0LmxhYmVsXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSB3LWF1dG8gbS0zIGRyb3BzZWxlY3RcIiBpZD1cImRhdGFzZXRTZWxlY3RcIiBbKG5nTW9kZWwpXT1cImZvb3RmYWxsVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c1wiIFt2YWx1ZV09XCJkYXRhc2V0LnZhbHVlXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZSBmdy1ib2xkIG10LTUgbWItMiBtcy0zXCIgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiPnt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyB0ZXh0LXN1YlwiPkJhc2VkIG9uIHt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2RlbW9ncmFwaGljJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGVtb05vRGF0YSAmJiAhZGVtb2xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZW1vR3JhcGhpY3NcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGVtb2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkZW1vTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkZW1vLWltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRGVtb2dyYXBoaWMgQW5hbHlzaXM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2J1eWVyJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYnV5ZXJzTm9EYXRhICYmICFidXllcnNsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiYnV5ZXJzQ2hhcnRzXCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJ1eWVyc2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJidXllcnNOb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImRlbW8taW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBCdXllciBBbmFseXNpczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSB0cnVlICYmIHNlbGVjdGVkVGFiID09PSdjb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0zIG14LTNcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmRcIiBbcGFnZVNpemVdPVwicGFnZVNpemVUcmFmZmljQ2FyZFwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZVRyYWZmaWNDYXJkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlVHJhZmZpY0NhcmQoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIodGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IHRydWUgJiYgc2VsZWN0ZWRUYWIgIT09J2NvbnZlcnNpb24nIHx8IHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSBmYWxzZSkgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGFydC1jb250YWluZXIgcHgtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwidGVzdEdyYXBoaWNzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoZWF0bWFwLWNvbnRhaW5lciBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWF0bWFwY2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIGNsYXNzPVwiY29sLW1kLTkgY2hhcnQtY29udGFpbmVyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0zIG10LTMgbWUtMCBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImhlYXRtYXBjaGFydFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJiYWNrVG9Gb290ZmFsbCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI1ODVfNzAzNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNS44MzI3IDE5SDE0LjE2Nk0xNC4xNjYgMTlMMTkuOTk5MyAyNC44MzM0TTE0LjE2NiAxOUwxOS45OTkzIDEzLjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjU4NV83MDM2XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBjdXJzb3ItcG9pbnRlciB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lXCIgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZUlkKVwiPnt7c3RvcmVOYW1lfX08L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+Rm9vdGZhbGwgVHJlbmQ8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gLSB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZXRhaWxlZENoYXJ0RGl2XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGxpYi10cmFmZmljLWNhcmQtY2hhcnRzIGNsYXNzPVwibXktMlwiPjwvbGliLXRyYWZmaWMtY2FyZC1jaGFydHM+IC0tPlxyXG4gICAgICAgIDxsaWItaW1hZ2UtZG9jICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEgJiYgKGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5pc0Zvb3RmYWxsRGlyZWN0b3J5IHx8IChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJylcIiBjbGFzcz1cIm15LTJcIj48L2xpYi1pbWFnZS1kb2M+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+UGVyZm9ybWFuY2UgTWF0cml4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlN0b3JlIHBlcmZvcm1hbmNlIGJhc2VkIG9uIG1ldHJpY3Mgc2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDMyXzgwMDM1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPnt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG14LTMgYWxpZ24taXRlbXMtY2VudGVyIHctNzVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0LXNtIGZvcm0tc2VsZWN0IG1lLTIgZHJvcHNlbGVjdFwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxWYWx1ZTFcIiAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRGaWx0ZXJlZEZvb3RmYWxsRGF0YXNldHMoKVwiIFtpZF09XCJvYmoubGFiZWxcIiBbdmFsdWVdPVwib2JqLnZhbHVlXCI+e3tvYmoubGFiZWx9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0yXCI+VnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdC1zbSBmb3JtLXNlbGVjdCBtcy0yIGRyb3BzZWxlY3RcIiBbKG5nTW9kZWwpXT1cImJvdW5jZVZhbHVlMVwiIChjaGFuZ2UpPVwib25Cb3VuY2VDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRGaWx0ZXJlZEJvdW5jZURhdGFzZXRzKClcIiBbaWRdPVwib2JqLmxhYmVsXCIgW3ZhbHVlXT1cIm9iai52YWx1ZVwiPnt7b2JqLmxhYmVsfX08L29wdGlvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInBlcmZvcm1hbmNlTG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwZXJmb3JtYW5jZW5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG10LTIwIG1iLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIG10LTIwIGNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyB7e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fSB2cyB7e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFwZXJmb3JtYW5jZUxvYWRpbmcgJiYgIXBlcmZvcm1hbmNlbm9EYXRhXCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWFkcmFudC1jaGFydCB6LTFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheGlzLWxhYmVsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gWCBBeGlzIExhYmVsIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LWF4aXMtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7Ym91bmNlTGFiZWwgfCB0aXRsZWNhc2V9fSAtPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFkgQXhpcyBMYWJlbCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwieS1heGlzLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fSAtPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIFRvcCBMZWZ0IFF1YWRyYW50IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwxXCI+SGlnaCA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj5Cb3VuY2U8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIExvdyA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPkJvdW5jZTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwhLS0gVG9wIFJpZ2h0IFF1YWRyYW50IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwxXCI+SGlnaCA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj5Cb3VuY2U8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIEhpZ2ggPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj5Cb3VuY2U8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tib3VuY2VMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIEJvdHRvbSBMZWZ0IFF1YWRyYW50IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwxXCI+TG93IDxzcGFuICpuZ0lmPVwiZm9vdGZhbGxMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPkJvdW5jZTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb290ZmFsbExhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Zm9vdGZhbGxMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPiwgTG93IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+Qm91bmNlPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Ym91bmNlTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBCb3R0b20gUmlnaHQgUXVhZHJhbnQgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVhZHJhbnRcIiBpZD1cInE0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbDFcIj5Mb3cgPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+Qm91bmNlPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBIaWdoIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+Qm91bmNlPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJvdW5jZUxhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Ym91bmNlTGFiZWx8IHRpdGxlY2FzZX19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgcG9pbnRzXCIgY2xhc3M9XCJwb2ludFwiIFtuZ1N0eWxlXT1cInsndG9wJzogcG9pbnQudG9wICsgJyUnLCAnbGVmdCc6IHBvaW50LmxlZnQgKyAnJSd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgKGNsaWNrKT1cInRvZ2dsZVRvb2x0aXAocG9pbnQubmFtZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG90XCIgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ2xpY2thYmxlIGxhYmVsIHRoYXQgdG9nZ2xlcyB0aGUgdG9vbHRpcCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgei0xIG10LTRcIiAgc3R5bGU9XCJmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBwb2ludC5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEN1c3RvbSBUb29sdGlwIFBvcHVwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLXBvcHVwIHotNVwiICpuZ0lmPVwiYWN0aXZlVG9vbHRpcCA9PT0gcG9pbnQubmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LXdoaXRlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInN0b3JlVmlldyhwb2ludC5zdG9yZUlkKVwiPnt7IHBvaW50Lm5hbWUgfX08L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Bdmcge3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX06IHt7IHBvaW50LmF2Z0Zvb3RmYWxsIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTJcIj5PcGVuIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQub3BlblRpbWUgfX08L3N0cm9uZz48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNsb3NlIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQuY2xvc2VUaW1lIH19PC9zdHJvbmc+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1hcnJvd1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQWRkIG1vcmUgcG9pbnRzIGhlcmUgLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHgtNSBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5ab25lIER3ZWxsIFRpbWUgU3BsaXQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIk92ZXJhbGwgem9uZSBjb25jZW50cmF0aW9uIGFuZCBhdmVyYWdlIGR3ZWxsIHRpbWUgYWNyb3NzIHNlbGVjdGVkIHN0b3Jlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb1RvWm9uZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5HbyB0byBab25lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2Fsc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhem9uZUxvYWRpbmcgJiYgIXpvbmVOb0RhdGFcIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvem9uZS1pbWcuc3ZnXCIgYWx0PVwiU3RvcmUgTGF5b3V0XCIgY2xhc3M9XCJweC01IGltZy1zcmMgbXktMyBiYWNrZ3JvdW5kLWltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2VzL3pvbmUtaW1nMS5zdmdcIiBhbHQ9XCJTdG9yZSBMYXlvdXRcIiBjbGFzcz1cInB4LTUgaW1nLXNyYyBteS0zIGJhY2tncm91bmQtaW1hZ2VcIiAvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjZW50ZXJlZFwiPkNlbnRlcmVkPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGVudFwiICpuZ0Zvcj1cImxldCBwb2ludCBvZiB6b25lRHdlbGxUaW1lU3BsaXREYXRhXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lICE9PSdPdmVyYWxsIFN0b3JlJ1wiIGNsYXNzPVwidG9wLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC16b25lXCI+e3t6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lIDonRnJvbnQnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lIDonLS0nIH19IE1pbnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBjbGFzcz1cImNlbnRlcmVkLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA6J0Zyb250J319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPiBDb25jOiB7eyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LmNvbmNlbnRyYXRpb25SYXRlOictLScgfX0lIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lOictLScgfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgIT09J092ZXJhbGwgU3RvcmUnXCIgY2xhc3M9XCJib3R0b20tem9uZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy56b25lTmFtZSAgOiAnQmFjayd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPkR3ZWxsIHRpbWU6IHt7IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMV0/LmR3ZWxsVGltZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMl0/LmR3ZWxsVGltZTonLS0nfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi02IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vcm1hbGl6ZVwiIGNsYXNzPVwibXQtNSBjYXJkLWJvZHkgcmlnaHQtYmFyIHB5LTIwIG14LTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtem9uZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUgbXQtM1wiPkRhdGEgTm90IEZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5Ob3JtYWxpemVkIGRhdGEgaXMgbm90IGFwcGxpY2FibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub3JtYWxpemVcIiBjbGFzcz1cIm10LTUgY2FyZC1ib2R5IHJpZ2h0LWJhciBweS0yMCBteC01IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhLXpvbmVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFpvbmUgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cInB4LTUgaW1nLXNyYyBtYi0zXCIgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy96b25lLWltZy5zdmdcIiBhbHQ9XCJcIj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweC01IGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+U3RvcmUgT3BlcmF0aW9uc1xyXG4gICAgICAgICAgICAgICAgPHNwYW4gPiBcclxuICAgICAgICAgICAgICAgIDxzdmcgbmdiVG9vbHRpcD1cIkF2ZyBzdG9yZSBvcGVuICYgY2xvc2UgdGltZSBhY3Jvc3MgdGhlIHNlbGVjdGVkIHN0b3Jlc1wiIHBsYWNlbWVudD1cInRvcFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MzJfODAwMzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj57e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b24gIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+R28gdG8gVHJheDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z09wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP3N0b3JlT3BlcmF0aW9uRGF0YT8ub3ZlcmFsbD8uYXZnT3BlblRpbWU6Jy0tJyB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPjxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gT3BlbiBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC01IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIzMjZcIiBoZWlnaHQ9XCIyXCIgdmlld0JveD1cIjAgMCAzMjYgMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lIHkxPVwiMC43NVwiIHgyPVwiMzU2XCIgeTI9XCIwLjc1XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID9zdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+PHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnLiBDbG9zZSBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIiAgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uc3RvcmVOYW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBtdC0yXCI+VG9wIExhdGUgT3Blbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5hdmdTdG9yZU9wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uYXZnU3RvcmVPcGVuVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgT3BlbmluZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlcjEgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzdG9yZVZpZXcoc3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZU5hbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlT3BlcmF0aW9uRGF0YT8udG9wRWFybHlDbG9zZT8uc3RvcmVOYW1lIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgbXQtMlwiPlRvcCBFYXJseSBDbG9zZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcEVhcmx5Q2xvc2U/LmF2Z1N0b3JlQ2xvc2VUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5hdmdTdG9yZUNsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgQ2xvc2luZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjb2wtbWQtMTIgbXQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPlN1bW1hcnkgVGFibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZmlsdGVyIFN0YXJ0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWZpbHRlcnMgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBmaWx0ZXIgRW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdW0gQnV0dG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIoc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxICYmIGhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSAhPT0gaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSkgJiYgIW5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdzdW0nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYnRuLWxpZ2h0IGJ0bi1wcmltYXJ5IHRleHQtd2hpdGUnOiB0eXBlVmFsdWUgPT09ICdzdW0nfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnc3Ryb2tlJzogdHlwZVZhbHVlID09PSAnc3VtJyA/ICcjRkZGRkZGJyA6ICcjMzQ0MDU0J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuOTk5MzUgNC4xNjY3NVYxNS44MzM0TTQuMTY2MDIgMTAuMDAwMUgxNS44MzI3XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnc3VtJ31cIj5TdW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbjwhLS0gQXZlcmFnZSBCdXR0b24gLS0+XHJcbiA8c2VjdGlvbiAqbmdJZj1cIihzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDEgJiYgaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlICE9PSBoZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlKSBcclxuICYmICFub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdhdmVyYWdlJylcIlxyXG5jbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIlxyXG5bbmdDbGFzc109XCJ7J2J0bi1saWdodCBidG4tcHJpbWFyeSB0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+XHJcbjxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgW25nU3R5bGVdPVwieydzdHJva2UnOiB0eXBlVmFsdWUgPT09ICdhdmVyYWdlJyA/ICcjRkZGRkZGJyA6ICcjMTAxODI4J31cIj5cclxuICA8cGF0aCBkPVwiTTE3LjUgMTcuNUg4LjMzMzMzQzUuNTgzMzMgMTcuNSA0LjIwODMzIDE3LjUgMy4zNTQxNyAxNi42NDU4QzIuNSAxNS43OTE3IDIuNSAxNC40MTY3IDIuNSAxMS42NjY3VjIuNU01IDEwSDUuMDA3NU03LjQ5OTE3IDEwSDcuNTA1ODNNOS45OTc1IDEwSDEwLjAwNDJNMTIuNDk1OCAxMEgxMi41MDMzTTE0Ljk5NDIgMTBIMTUuMDAxN00xNy40OTI1IDEwSDE3LjVcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8cGF0aFxyXG4gICAgZD1cIk01IDUuODMzNDFDNS41NjA4MyA0Ljg5ODQxIDYuMzIyNSA0LjE2Njc1IDcuNDk0MTcgNC4xNjY3NUMxMi40NDY3IDQuMTY2NzUgOS42NjI1IDE0LjE2NjcgMTQuOTg1IDE0LjE2NjdDMTYuMTY1IDE0LjE2NjcgMTYuOTIxNyAxMy40MzAxIDE3LjUgMTIuNTAwMVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG48L3N2Zz5cclxuPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+QXZlcmFnZTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHN1bW1hcnkgdGFibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIiBjYWxzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVOYW1lJylcIj5TdG9yZSBOYW1lIDxzdmcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZU5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZUlkJylcIj5TdG9yZSBJRCA8c3ZnICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdkYXRlJylcIj5EYXRlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdmb290ZmFsbENvdW50JylcIj5Gb290ZmFsbCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYm91bmNlZENvdW50JylcIj5Cb3VuY2VkIEZvb3RmYWxsPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdib3VuY2VkQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JvdW5jZWRDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdlbmdhZ2Vyc0NvdW50JylcIj5FbmdhZ2VycyA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2VuZ2FnZXJzQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2VuZ2FnZXJzQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnbWlzc2VkT3Bwb3J0dW5pdHlDb3VudCcpXCI+TWlzc2VkIE9wcG9ydHVuaXR5PHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdtaXNzZWRPcHBvcnR1bml0eUNvdW50JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdtaXNzZWRPcHBvcnR1bml0eUNvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3BvdGVudGlhbEJ1eWVyc0NvdW50JylcIj5Qb3RlbnRpYWwgQnV5ZXJzIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAncG90ZW50aWFsQnV5ZXJzQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3BvdGVudGlhbEJ1eWVyc0NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NvbnZlcnNpb25SYXRlJylcIj5Db252ZXJzaW9uIFJhdGUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdjb252ZXJzaW9uUmF0ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY29udmVyc2lvblJhdGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnTk9CQ291bnQnKVwiPk5PQiBDb3VudCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ05PQkNvdW50JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdOT0JDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdmdEd2VsbFRpbWUnKVwiPkF2Zy5Ed2VsbCBUaW1lIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXZnRHdlbGxUaW1lJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdhdmdEd2VsbFRpbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYXZnSW5mcmFEb3dudGltZScpXCI+QXZnLkluZnJhIERvd25UaW1lIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXZnSW5mcmFEb3dudGltZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXZnSW5mcmFEb3dudGltZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdwYXNzZXJCeV9jb3VudCcpXCI+UGFzc2VyIEJ5PHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdwYXNzZXJCeV9jb3VudCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAncGFzc2VyQnlfY291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYmVsb3cxMicpXCI+QmVsb3cxMiA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JlbG93MTInICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JlbG93MTInID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnMTMtMTknKVwiPjEzLTE5IDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnMTMtMTknICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJzEzLTE5JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzIwLTMwJylcIj4yMC0zMCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzIwLTMwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICcyMC0zMCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzMxLTQwJylcIj4zMS00MCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzMxLTQwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00MCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzQxLTUwJylcIj40MS01MCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzQxLTUwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICc0MS01MCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzUxLTYwJylcIj41MS02MCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzUxLTYwJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICc1MS02MCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzMxLTQ1JylcIj4zMS00NSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzMxLTQ1JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00NScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzQ2LTU5JylcIj40Ni01OSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzQ2LTU5JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICc0Ni01OScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc2MCBhYm92ZScpXCI+NjAgYWJvdmUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc2MCBhYm92ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNjAgYWJvdmUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnbWFsZScpXCI+TWFsZSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ21hbGUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ21hbGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnZmVtYWxlJylcIj5GZW1hbGUgPHN2ZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2ZlbWFsZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnZmVtYWxlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRTdW1tYXJ5VGFibGVEYXRhO2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNsaWNrKT1cInN0b3JlVmlldyhvYmopXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtY2FwaXRhbGl6ZSB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInN0b3JlVmlldyhvYmouc3RvcmVJZClcIj57e29iai5zdG9yZU5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnN0b3JlSWR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwib2JqPy5kYXRlXCI+e3tvYmo/LmRhdGUgfCBkYXRlOidNTU0gZGQsIHl5eXknfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5mb290ZmFsbENvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5ib3VuY2VkQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmVuZ2FnZXJzQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLm1pc3NlZE9wcG9ydHVuaXR5Q291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnBvdGVudGlhbEJ1eWVyc0NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5jb252ZXJzaW9uUmF0ZX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLk5PQkNvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5hdmdEd2VsbFRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmF2Z0luZnJhRG93bnRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnBhc3NlckJ5X2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5iZWxvdzEyfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29ialsnMTMtMTknXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmpbJzIwLTMwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbJzMxLTQwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbXCI0MS01MFwiXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIj57e29ialtcIjUxLTYwXCJdfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqWyczMS00NSddfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqW1wiNDYtNTlcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqW1wiNjAgYWJvdmVcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLm1hbGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmZlbWFsZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|