@bizdoc/core 2.5.3 → 2.5.5
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.
@@ -13,10 +13,8 @@ import * as i2 from "../../core/account.service";
|
|
13
13
|
import * as i3 from "../../core/session.service";
|
14
14
|
import * as i4 from "../../core/translate.service";
|
15
15
|
import * as i5 from "../report-ref";
|
16
|
-
import * as i6 from "@syncfusion/ej2-angular-
|
17
|
-
import * as i7 from "
|
18
|
-
import * as i8 from "@syncfusion/ej2-angular-lineargauge";
|
19
|
-
import * as i9 from "../../core/pipes/translate.pipe";
|
16
|
+
import * as i6 from "@syncfusion/ej2-angular-charts";
|
17
|
+
import * as i7 from "../../core/pipes/translate.pipe";
|
20
18
|
let PerformanceWindComponent = class PerformanceWindComponent {
|
21
19
|
constructor(_router, _accounts, _session, _translate, _reportRef) {
|
22
20
|
this._router = _router;
|
@@ -253,7 +251,7 @@ let PerformanceWindComponent = class PerformanceWindComponent {
|
|
253
251
|
this._destroy.next();
|
254
252
|
}
|
255
253
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: PerformanceWindComponent, deps: [{ token: i1.RouterImpl }, { token: i2.AccountService }, { token: i3.SessionService }, { token: i4.TranslateService }, { token: i5.ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
256
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: PerformanceWindComponent, selector: "ng-component", viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: " @if(records) {\r\n
|
254
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: PerformanceWindComponent, selector: "ng-component", viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: " @if(records) {\r\n<!--<div class=\"legend\">\r\n @for (r of records; track r; let i = $index) {\r\n <div (mouseover)=\"highlight(i)\">\r\n <ejs-lineargauge style=\"display: block\" background=\"transparent\" orientation=\"Horizontal\" [theme]=\"theme\"\r\n [tooltip]=\"linearTooltip\" width=\"190px\" height=\"45px\" [title]=\"r.name\"\r\n [titleStyle]=\"linearTitleStyle\" (tooltipRender)=\"linearTooltipRender($event)\">\r\n <e-axes>\r\n <e-axis [minimum]='durationMin - 1' [maximum]='durationMax + 1' [minorTicks]=\"minorTicks\" [majorTicks]=\"majorTicks\"\r\n [labelStyle]=\"labelStyle\" [line]=\"line\" format='p1'>\r\n <e-pointers>\r\n <e-pointer [value]=\"r.durationAvg\"\r\n [height]=7\r\n [width]=7\r\n type='Marker'\r\n [color]='accentColor'\r\n position='Outside' [animationDuration]=\"1500\"></e-pointer>\r\n @if(r.standardAvg)\r\n {\r\n <e-pointer markerType='Rectangle'\r\n [value]=\"r.standardAvg\"\r\n position='Cross'\r\n [width]=\"2\"\r\n [height]=\"6\"\r\n [color]=\"primeryColor\"></e-pointer>\r\n }\r\n </e-pointers>\r\n </e-axis>\r\n </e-axes>\r\n </ejs-lineargauge>\r\n </div>\r\n }\r\n</div>-->\r\n<ejs-chart style=\"flex: 1 1 100%; display: block\" [theme]=\"theme\"\r\n selectionMode='Series'\r\n [margin]='margin'\r\n [title]='title'\r\n [titleStyle]='titleStyle'\r\n [subTitle]='subTitle'\r\n [subTitleStyle]='titleStyle'\r\n [tooltip]='tooltip'\r\n [enableAnimation]=true\r\n (tooltipRender)='tooltipRender($event)'\r\n (axisLabelRender)='labelRender($event)'\r\n [palettes]='palettes'\r\n [enableRtl]='inverse'\r\n height='100%'\r\n highlightMode='Series'\r\n [legendSettings]='legendSettings'\r\n (pointClick)='explore($event)'>\r\n <e-series-collection>\r\n <e-series [name]=\"'Standard'|translate\"\r\n xName='date'\r\n yName='standardTime'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='standardMarker'\r\n [dataSource]='standards'>\r\n </e-series>\r\n @for (r of records; track r)\r\n {\r\n <e-series [dataSource]='r.items'\r\n [name]='r.name'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='marker'\r\n xName='date'\r\n yName='duration'></e-series>\r\n }\r\n </e-series-collection>\r\n</ejs-chart>\r\n}\r\n", styles: [":host{flex:1;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.legend{overflow-y:auto;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;max-width:400px}\n"], dependencies: [{ kind: "component", type: i6.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { kind: "directive", type: i6.SeriesDirective, selector: "e-series-collection>e-series", inputs: ["animation", "bearFillColor", "binInterval", "border", "boxPlotMode", "bullFillColor", "cardinalSplineTension", "close", "colorName", "columnFacet", "columnSpacing", "columnWidth", "columnWidthInPixel", "connector", "cornerRadius", "dashArray", "dataSource", "dragSettings", "drawType", "emptyPointSettings", "enableComplexProperty", "enableSolidCandles", "enableTooltip", "errorBar", "fill", "groupName", "high", "intermediateSumIndexes", "isClosed", "legendImageUrl", "legendShape", "low", "marker", "maxRadius", "minRadius", "name", "negativeFillColor", "nonHighlightStyle", "opacity", "open", "paretoOptions", "pointColorMapping", "query", "segmentAxis", "segments", "selectionStyle", "showMean", "showNormalDistribution", "size", "splineType", "stackingGroup", "step", "sumIndexes", "summaryFillColor", "tooltipFormat", "tooltipMappingName", "trendlines", "type", "unSelectedStyle", "visible", "volume", "width", "xAxisName", "xName", "yAxisName", "yName", "zOrder"] }, { kind: "directive", type: i6.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
257
255
|
};
|
258
256
|
PerformanceWindComponent = __decorate([
|
259
257
|
BizDoc({
|
@@ -263,9 +261,9 @@ PerformanceWindComponent = __decorate([
|
|
263
261
|
export { PerformanceWindComponent };
|
264
262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: PerformanceWindComponent, decorators: [{
|
265
263
|
type: Component,
|
266
|
-
args: [{ template: " @if(records) {\r\n
|
264
|
+
args: [{ template: " @if(records) {\r\n<!--<div class=\"legend\">\r\n @for (r of records; track r; let i = $index) {\r\n <div (mouseover)=\"highlight(i)\">\r\n <ejs-lineargauge style=\"display: block\" background=\"transparent\" orientation=\"Horizontal\" [theme]=\"theme\"\r\n [tooltip]=\"linearTooltip\" width=\"190px\" height=\"45px\" [title]=\"r.name\"\r\n [titleStyle]=\"linearTitleStyle\" (tooltipRender)=\"linearTooltipRender($event)\">\r\n <e-axes>\r\n <e-axis [minimum]='durationMin - 1' [maximum]='durationMax + 1' [minorTicks]=\"minorTicks\" [majorTicks]=\"majorTicks\"\r\n [labelStyle]=\"labelStyle\" [line]=\"line\" format='p1'>\r\n <e-pointers>\r\n <e-pointer [value]=\"r.durationAvg\"\r\n [height]=7\r\n [width]=7\r\n type='Marker'\r\n [color]='accentColor'\r\n position='Outside' [animationDuration]=\"1500\"></e-pointer>\r\n @if(r.standardAvg)\r\n {\r\n <e-pointer markerType='Rectangle'\r\n [value]=\"r.standardAvg\"\r\n position='Cross'\r\n [width]=\"2\"\r\n [height]=\"6\"\r\n [color]=\"primeryColor\"></e-pointer>\r\n }\r\n </e-pointers>\r\n </e-axis>\r\n </e-axes>\r\n </ejs-lineargauge>\r\n </div>\r\n }\r\n</div>-->\r\n<ejs-chart style=\"flex: 1 1 100%; display: block\" [theme]=\"theme\"\r\n selectionMode='Series'\r\n [margin]='margin'\r\n [title]='title'\r\n [titleStyle]='titleStyle'\r\n [subTitle]='subTitle'\r\n [subTitleStyle]='titleStyle'\r\n [tooltip]='tooltip'\r\n [enableAnimation]=true\r\n (tooltipRender)='tooltipRender($event)'\r\n (axisLabelRender)='labelRender($event)'\r\n [palettes]='palettes'\r\n [enableRtl]='inverse'\r\n height='100%'\r\n highlightMode='Series'\r\n [legendSettings]='legendSettings'\r\n (pointClick)='explore($event)'>\r\n <e-series-collection>\r\n <e-series [name]=\"'Standard'|translate\"\r\n xName='date'\r\n yName='standardTime'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='standardMarker'\r\n [dataSource]='standards'>\r\n </e-series>\r\n @for (r of records; track r)\r\n {\r\n <e-series [dataSource]='r.items'\r\n [name]='r.name'\r\n type='Polar'\r\n drawType='Line'\r\n [marker]='marker'\r\n xName='date'\r\n yName='duration'></e-series>\r\n }\r\n </e-series-collection>\r\n</ejs-chart>\r\n}\r\n", styles: [":host{flex:1;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.legend{overflow-y:auto;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;max-width:400px}\n"] }]
|
267
265
|
}], ctorParameters: () => [{ type: i1.RouterImpl }, { type: i2.AccountService }, { type: i3.SessionService }, { type: i4.TranslateService }, { type: i5.ReportRef }], propDecorators: { chart: [{
|
268
266
|
type: ViewChild,
|
269
267
|
args: [ChartComponent]
|
270
268
|
}] } });
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Utd2luZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9wZXJmb3JtYW5jZS13aW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9jdWJlL3BlcmZvcm1hbmNlLXdpbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hFLE9BQU8sRUFBRSxjQUFjLEVBQXVCLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsa0VBQWtFO0FBQ2xFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFRL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7OztBQVN6QyxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF3QjtJQTBFbkMsWUFDVSxPQUFtQixFQUNuQixTQUF5QixFQUN6QixRQUF3QixFQUN4QixVQUE0QixFQUM1QixVQUErQztRQUovQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBakVoRCxXQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUss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QUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3JELE1BQU07WUFDUixLQUFLLGNBQWM7Z0JBQ2pCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN0RCxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLENBQUMsR0FBb0I7UUFDMUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDeEMsSUFBSSxXQUFXLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFOUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQWMsQ0FBQztRQUUxRixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0F0UVUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMkZBQ3hCLGNBQWMsZ0RDMUIzQiwreUZBd0VBOztBRC9DYSx3QkFBd0I7SUFIcEMsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLHlCQUF5QjtLQUNwQyxDQUFDO0dBQ1csd0JBQXdCLENBdVFwQzs7MkZBdlFZLHdCQUF3QjtrQkFQcEMsU0FBUzs7Z01BUW1CLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSVBvaW50RXZlbnRBcmdzLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncywgQ2hhcnQsIElBeGlzTGFiZWxSZW5kZXJFdmVudEFyZ3MsIExlZ2VuZFNldHRpbmdzTW9kZWwsIFRvb2x0aXBTZXR0aW5nc01vZGVsLCB0aXRsZVNldHRpbmdzTW9kZWwsIE1hcmdpbk1vZGVsLCBTZXJpZXNNYXJrZXJNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xyXG5pbXBvcnQgeyBUb29sdGlwU2V0dGluZ3NNb2RlbCBhcyBUTW9kZWwsIElUb29sdGlwUmVuZGVyRXZlbnRBcmdzIGFzIElUUmVuZGVyRXZlbnRBcmdzLCBBeGlzTW9kZWwsIFRpY2tNb2RlbCwgTGFiZWxNb2RlbCwgTGluZU1vZGVsLCBGb250TW9kZWwsIExpbmVhckdhdWdlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItbGluZWFyZ2F1Z2UnO1xyXG5pbXBvcnQgeyBDaGFydENvbXBvbmVudCwgTWFya2VyU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IFdvcmtib29rLCBXb3Jrc2hlZXQsIFJvdywgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL25vZGVfbW9kdWxlcy9kYXlqcy9wbHVnaW4vZHVyYXRpb24uZC50c1wiIC8+XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gJy4uL3JlcG9ydC1yZWYnO1xyXG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi8uLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IEFjdGlvbiwgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGT05UX0ZBTUlMWSB9IGZyb20gJy4uLy4uL2NvcmUvY29sb3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAncGVyZm9ybWFuY2Utd2luZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICdwZXJmb3JtYW5jZS13aW5kLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcGVyZm9ybWFuY2Utd2luZCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcmZvcm1hbmNlV2luZENvbXBvbmVudCBpbXBsZW1lbnRzIFJlcG9ydENvbXBvbmVudDxEYXRhTW9kZWw+LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoQ2hhcnRDb21wb25lbnQpIGNoYXJ0OiBDaGFydDtcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uTWluOiBudW1iZXI7XHJcbiAgZHVyYXRpb25NYXg6IG51bWJlcjtcclxuICBkZXZpYXRpb25NYXg6IG51bWJlcjtcclxuICBkZXZpYXRpb25NaW46IG51bWJlcjtcclxuICBzdGFuZGFyZEF2ZzogbnVtYmVyO1xyXG4gIHJlY29yZHM6IFJlY29yZFtdO1xyXG4gIHN0YW5kYXJkczogSXRlbU1vZGVsW107XHJcbiAgc3ViVGl0bGU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGFjY2VudENvbG9yOiBzdHJpbmc7XHJcbiAgcHJpbWVyeUNvbG9yOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgbWFyZ2luID0geyBsZWZ0OiAyMCwgcmlnaHQ6IDIwIH0gYXMgTWFyZ2luTW9kZWw7XHJcbiAgcmVhZG9ubHkgbGVnZW5kU2V0dGluZ3MgPSB7XHJcbiAgICBwb3NpdGlvbjogJ0xlZnQnLFxyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzSW52ZXJzZWQ6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgIGVuYWJsZVBhZ2VzOiB0cnVlLFxyXG4gICAgZW5hYmxlSGlnaGxpZ2h0OiB0cnVlLFxyXG4gIH0gYXMgTGVnZW5kU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSB0b29sdGlwID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfSBhcyBUb29sdGlwU2V0dGluZ3NNb2RlbDtcclxuICB0aGVtZTogJ01hdGVyaWFsMycgfCAnTWF0ZXJpYWwzRGFyayc7XHJcbiAgcmVhZG9ubHkgdGl0bGVTdHlsZSA9IHtcclxuICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgfSBhcyB0aXRsZVNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVhBeGlzID0geyB2YWx1ZVR5cGU6ICdEb3VibGUnIH0gYXMgQXhpc01vZGVsO1xyXG4gIHJlYWRvbmx5IHByaW1hcnlZQXhpcyA9IHt9IGFzIEF4aXNNb2RlbDtcclxuICByZWFkb25seSBsaW5lYXJUb29sdGlwID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfSBhcyBUTW9kZWw7XHJcbiAgcmVhZG9ubHkgbGluZWFyVGl0bGVTdHlsZSA9IHtcclxuICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZLFxyXG4gICAgZm9udFdlaWdodDogJzMwMCcsXHJcbiAgICBzaXplOiAnMTJweCcsXHJcbiAgfSBhcyBGb250TW9kZWw7XHJcbiAgcmVhZG9ubHkgbGluZSA9IHtcclxuICAgIHdpZHRoOiA1XHJcbiAgfSBhcyBMaW5lTW9kZWw7XHJcbiAgcmVhZG9ubHkgbWFqb3JUaWNrcyA9IHtcclxuICAgIGhlaWdodDogNiwgd2lkdGg6IDFcclxuICB9IGFzIFRpY2tNb2RlbDtcclxuICByZWFkb25seSBtaW5vclRpY2tzID0ge1xyXG4gICAgaGVpZ2h0OiAzXHJcbiAgfSBhcyBUaWNrTW9kZWw7XHJcbiAgcmVhZG9ubHkgbGFiZWxTdHlsZSA9IHtcclxuICAgIGZvbnQ6IHsgc2l6ZTogJzAnIH0sXHJcbiAgICBmb3JtYXQ6ICdwMScsXHJcbiAgfSBhcyBMYWJlbE1vZGVsO1xyXG4gIHJlYWRvbmx5IHN0YW5kYXJkTWFya2VyID0ge1xyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIHNoYXBlOiAnVHJpYW5nbGUnLFxyXG4gICAgd2lkdGg6IDUsXHJcbiAgICBoZWlnaHQ6IDVcclxuICB9IGFzIE1hcmtlclNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgbWFya2VyID0ge1xyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIHdpZHRoOiA1LFxyXG4gICAgaGVpZ2h0OiA1LFxyXG4gICAgc2hhcGU6ICdQZW50YWdvbicsXHJcbiAgfSBhcyBNYXJrZXJTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IGludmVyc2UgPSB0aGlzLl9zZXNzaW9uLmludmVyc2U7XHJcbiAgcHJpdmF0ZSBhY3Rpb25zOiB7IFtuYW1lOiBzdHJpbmddOiBBY3Rpb24gfSA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHBhbGV0dGVzOiBzdHJpbmdbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVwb3J0UmVmOiBSZXBvcnRSZWY8UGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsPlxyXG4gICkge1xyXG4gICAgX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZvckVhY2goYSA9PlxyXG4gICAgICB0aGlzLmFjdGlvbnNbYS5uYW1lXSA9IGFcclxuICAgICk7XHJcbiAgICBfc2Vzc2lvbi50aGVtZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgc3RhcnRXaXRoKF9zZXNzaW9uLnRoZW1lKSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICB0aGlzLnRoZW1lID0gdC5kYXJrID8gJ01hdGVyaWFsM0RhcmsnIDogJ01hdGVyaWFsMyc7XHJcbiAgICAgIHRoaXMuYWNjZW50Q29sb3IgPSB0aGlzLl9zZXNzaW9uLmdldEFjY2VudCg5MDApO1xyXG4gICAgICB0aGlzLnByaW1lcnlDb2xvciA9IHRoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSgpO1xyXG4gICAgICB0aGlzLmNoYXJ0Py5yZWZyZXNoQXhpcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uQmluZChkYXRhOiBEYXRhTW9kZWxbXSkge1xyXG4gICAgdGhpcy5yZWNvcmRzID0gbnVsbDtcclxuICAgIGlmICghZGF0YS5sZW5ndGgpIHJldHVybjtcclxuICAgIHRoaXMuZHVyYXRpb25NYXggPSAwLCB0aGlzLmR1cmF0aW9uTWluID0gMDtcclxuICAgIGxldCBhY2N1bVN0ZCA9IDAsIHN0ZENvdW50ID0gMCwgYWNjdW1EdXJhdGlvbiA9IDAsIG1heFN0ZCA9IDAsXHJcbiAgICAgIG1hcDoge1xyXG4gICAgICAgIFt1c2VySWQ6IHN0cmluZ106IFJlY29yZFxyXG4gICAgICB9ID0ge307XHJcbiAgICB0aGlzLnN0YW5kYXJkcyA9IFtdO1xyXG4gICAgZGF0YS5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICBsZXQgYWNjdW1TdGQxID0gMCwgc3RkQ291bnQxID0gMCwgYWNjdW1EdXJhdGlvbjEgPSAwO1xyXG4gICAgICBlLml0ZW1zLmZvckVhY2goZSA9PiB7XHJcbiAgICAgICAgaWYgKGUuc3RhbmRhcmRUaW1lKSB7XHJcbiAgICAgICAgICBpZiAoZS5zdGFuZGFyZFRpbWUgPiBtYXhTdGQpXHJcbiAgICAgICAgICAgIG1heFN0ZCA9IGUuc3RhbmRhcmRUaW1lO1xyXG4gICAgICAgICAgc3RkQ291bnQxKys7XHJcbiAgICAgICAgICBhY2N1bVN0ZDEgKz0gZS5zdGFuZGFyZFRpbWU7XHJcbiAgICAgICAgICB0aGlzLnN0YW5kYXJkcy5wdXNoKGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZS5kdXJhdGlvbiA+IHRoaXMuZHVyYXRpb25NYXgpXHJcbiAgICAgICAgICB0aGlzLmR1cmF0aW9uTWF4ID0gZS5kdXJhdGlvbjtcclxuICAgICAgICBpZiAoZS5kdXJhdGlvbiA8IHRoaXMuZHVyYXRpb25NaW4gfHwgdGhpcy5kdXJhdGlvbk1pbiA9PT0gMClcclxuICAgICAgICAgIHRoaXMuZHVyYXRpb25NaW4gPSBlLmR1cmF0aW9uO1xyXG4gICAgICAgIGFjY3VtRHVyYXRpb24xICs9IGUuZHVyYXRpb247XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBkdXJhdGlvbkF2ZyA9IGFjY3VtRHVyYXRpb24xIC8gZGF0YS5sZW5ndGgsIHN0YW5kYXJkQXZnID0gc3RkQ291bnQxID8gYWNjdW1TdGQxIC8gc3RkQ291bnQxIDogMDtcclxuICAgICAgbWFwW2UudXNlcklkXSA9IHtcclxuICAgICAgICBpdGVtczogZS5pdGVtcyxcclxuICAgICAgICBzdGFuZGFyZEF2ZyxcclxuICAgICAgICBkdXJhdGlvbkF2ZyxcclxuICAgICAgfTtcclxuICAgICAgYWNjdW1EdXJhdGlvbiArPSBkdXJhdGlvbkF2ZztcclxuICAgICAgaWYgKHN0ZENvdW50MSkge1xyXG4gICAgICAgIHN0ZENvdW50Kys7XHJcbiAgICAgICAgYWNjdW1TdGQgKz0gc3RhbmRhcmRBdmc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdGFuZGFyZHMgPSB0aGlzLnN0YW5kYXJkcy5cclxuICAgICAgc29ydCgoZTEsIGUyKSA9PiBlMS5zdGFuZGFyZFRpbWUgPCBlMi5zdGFuZGFyZFRpbWUgPyAtMSA6IDEpO1xyXG4gICAgdGhpcy5zdGFuZGFyZEF2ZyA9IHN0ZENvdW50ID8gYWNjdW1TdGQgLyBzdGRDb3VudCA6IDAsXHJcbiAgICAgIHRoaXMuZHVyYXRpb25BdmcgPSBhY2N1bUR1cmF0aW9uIC8gZGF0YS5sZW5ndGg7XHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwoZGF0YS5tYXAoZSA9PiBlLnVzZXJJZCkpLlxyXG4gICAgICBzdWJzY3JpYmUodXNlcnMgPT4ge1xyXG4gICAgICAgIHRoaXMuZGV2aWF0aW9uTWF4ID0gMCwgdGhpcy5kZXZpYXRpb25NaW4gPSAwO1xyXG4gICAgICAgIHRoaXMucmVjb3JkcyA9IFtdO1xyXG4gICAgICAgIHVzZXJzLmZvckVhY2godSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpbmZvID0gbWFwW3UuaWRdLFxyXG4gICAgICAgICAgICB2YWx1ZSA9IE1hdGgucm91bmQoaW5mby5kdXJhdGlvbkF2ZyAvXHJcbiAgICAgICAgICAgICAgKGluZm8uc3RhbmRhcmRBdmcgfHwgdGhpcy5kdXJhdGlvbkF2ZykpLFxyXG4gICAgICAgICAgICBkZXZpYXRpb24gPSB2YWx1ZSA+IDEgPyAodmFsdWUgLSAxKSAqIDEwMCA6IC0gdmFsdWUgKiAxMDA7XHJcbiAgICAgICAgICBpbmZvLmRldmlhdGlvbiA9IGRldmlhdGlvbjtcclxuICAgICAgICAgIGlmIChkZXZpYXRpb24gPiB0aGlzLmRldmlhdGlvbk1heClcclxuICAgICAgICAgICAgdGhpcy5kZXZpYXRpb25NYXggPSBkZXZpYXRpb247XHJcbiAgICAgICAgICBpZiAoZGV2aWF0aW9uIDwgdGhpcy5kZXZpYXRpb25NaW4gfHwgdGhpcy5kZXZpYXRpb25NaW4gPT09IDApXHJcbiAgICAgICAgICAgIHRoaXMuZGV2aWF0aW9uTWluID0gZGV2aWF0aW9uO1xyXG4gICAgICAgICAgdGhpcy5yZWNvcmRzLnB1c2goe1xyXG4gICAgICAgICAgICBuYW1lOiB1Lm5hbWUsXHJcbiAgICAgICAgICAgIC4uLmluZm8sXHJcbiAgICAgICAgICAgIGRldmlhdGlvblxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgY29sb3JzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgICAgIHRoaXMucGFsZXR0ZXMgPSBbdGhpcy5wcmltZXJ5Q29sb3IsXHJcbiAgICAgICAgLi4uY29sb3JzXHJcbiAgICAgICAgXTtcclxuICAgICAgICB3aGlsZSAodGhpcy5yZWNvcmRzLmxlbmd0aCA+IHRoaXMucGFsZXR0ZXMubGVuZ3RoKVxyXG4gICAgICAgICAgdGhpcy5wYWxldHRlcy5wdXNoKC4uLmNvbG9ycyk7XHJcbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0F2ZXJhZ2VWYWx1ZScsIGRheWpzLmR1cmF0aW9uKHRoaXMuZHVyYXRpb25BdmcsICdzZWNvbmRzJykuZm9ybWF0KCdERDpISDptbScpKSxcclxuICAgICAgICAgIHRoaXMuc3ViVGl0bGUgPSB0aGlzLnN0YW5kYXJkQXZnID9cclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmdldCgnU3RhbmRhcmRWYWx1ZScsIGRheWpzLmR1cmF0aW9uKHRoaXMuc3RhbmRhcmRBdmcsICdzZWNvbmRzJykuZm9ybWF0KCdERDpISDptbScpKSA6IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBsaW5lYXJUb29sdGlwUmVuZGVyKGV2dDogSVRSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gZXZ0LmF4aXMucG9pbnRlcnMuaW5kZXhPZihldnQucG9pbnRlcik7XHJcbiAgICBldnQuY29udGVudCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoaW5kZXggPT09IDAgPyAnQXZlcmFnZVZhbHVlJyA6ICdTdGFuZGFyZFZhbHVlJywgZGF5anMuZHVyYXRpb24oZXZ0LnBvaW50ZXIudmFsdWUsICdzJykuZm9ybWF0KCdERDpISDptbScpKTtcclxuICB9XHJcbiAgaGlnaGxpZ2h0KGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY2hhcnQuaGlnaGxpZ2h0TW9kdWxlLmNsdXN0ZXJTZWxlY3Rpb24odGhpcy5jaGFydCwgeyBzZXJpZXM6IGluZGV4ICsgMSwgcG9pbnQ6IDAgfSk7XHJcbiAgfVxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgY29uc3QgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAge1xyXG4gICAgICAgIHdvcmtzaGVldHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBbXHJcbiAgICAgICAgICAgICAgeyBpbmRleDogMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbixcclxuICAgICAgICAgICAgICB7IGluZGV4OiAyLCB3aWR0aDogMTUwIH0gYXMgQ29sdW1uLFxyXG4gICAgICAgICAgICAgIHsgaW5kZXg6IDMsIHdpZHRoOiAxNTAgfSBhcyBDb2x1bW4sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIHJvd3M6IFt7XHJcbiAgICAgICAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgICAgICAgY2VsbHM6IFt7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMSxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdOYW1lJyksXHJcbiAgICAgICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgICAgaW5kZXg6IDIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnRHVyYXRpb24nKSxcclxuICAgICAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdEZXZpYXRpb24nKSxcclxuICAgICAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfSBhcyBSb3csIC4uLnRoaXMucmVjb3Jkcy5tYXAoKHIsIGkpID0+IChcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMiArIGksXHJcbiAgICAgICAgICAgICAgICBjZWxsczogW1xyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGhBbGlnbjogJ2xlZnQnXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAyLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXlqcy5kdXJhdGlvbihyLmR1cmF0aW9uQXZnLCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLmRldmlhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfV1cclxuICAgICAgICAgICAgICB9IGFzIFJvd1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgICldLFxyXG4gICAgICAgICAgfSBhcyBXb3Jrc2hlZXQsXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAgJ3hsc3gnXHJcbiAgICApO1xyXG4gICAgYm9vay5zYXZlKGAke3RoaXMuX3JlcG9ydFJlZi5uYW1lfS54bHN4YCk7XHJcbiAgfVxyXG4gIHRvb2x0aXBSZW5kZXIoZXZ0OiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQuZGF0YS5wb2ludFkgYXMgYW55LCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKTtcclxuICB9XHJcbiAgbGFiZWxSZW5kZXIoZXZ0OiBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBzd2l0Y2ggKGV2dC5heGlzLm5hbWUpIHtcclxuICAgICAgY2FzZSAncHJpbWFyeVlBeGlzJzpcclxuICAgICAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGV2dC52YWx1ZSwgJ3MnKS5odW1hbml6ZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdwcmltYXJ5WEF4aXMnOlxyXG4gICAgICAgIGV2dC50ZXh0ID0gZGF5anMoZXZ0LnZhbHVlICogMTAwMCkuZm9ybWF0KCdNTU0gWVlZWScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICBleHBsb3JlKGV2dDogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IHBvaW50SW5kZXgsIHNlcmllc0luZGV4IH0gPSBldnQ7XHJcbiAgICBpZiAoc2VyaWVzSW5kZXggPT09IDApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IGRvY3VtZW50SWQgfSA9IHRoaXMuY2hhcnQuc2VyaWVzW3Nlcmllc0luZGV4XS5kYXRhU291cmNlW3BvaW50SW5kZXhdIGFzIEl0ZW1Nb2RlbDtcclxuXHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94JywgJ2QnLCBkb2N1bWVudElkLmVuY29kZUlkKCldKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBEYXRhTW9kZWwge1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGl0ZW1zOiBJdGVtTW9kZWxbXTtcclxufVxyXG5pbnRlcmZhY2UgSXRlbU1vZGVsIHtcclxuICBkb2N1bWVudElkOiBudW1iZXI7XHJcbiAgZGF0ZTogbnVtYmVyO1xyXG4gIHN0YW5kYXJkVGltZT86IG51bWJlcjtcclxuICBkdXJhdGlvbjogbnVtYmVyO1xyXG4gIGlzRllJOiBib29sZWFuO1xyXG4gIGFjdGlvbklkOiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFJlY29yZCB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIHN0YW5kYXJkQXZnPzogbnVtYmVyO1xyXG4gIGRldmlhdGlvbj86IG51bWJlcjtcclxuICBpdGVtczogSXRlbU1vZGVsW107XHJcbn1cclxuXHJcbmludGVyZmFjZSBQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWwge1xyXG4gIGN1YmU/OiBzdHJpbmc7XHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbn1cclxuIiwiIEBpZihyZWNvcmRzKSB7XHJcbjxkaXYgY2xhc3M9XCJsZWdlbmRcIj5cclxuICBAZm9yIChyIG9mIHJlY29yZHM7IHRyYWNrIHI7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgPGRpdiAobW91c2VvdmVyKT1cImhpZ2hsaWdodChpKVwiPlxyXG4gICAgPGVqcy1saW5lYXJnYXVnZSBzdHlsZT1cImRpc3BsYXk6IGJsb2NrXCIgYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCIgb3JpZW50YXRpb249XCJIb3Jpem9udGFsXCIgW3RoZW1lXT1cInRoZW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwibGluZWFyVG9vbHRpcFwiIHdpZHRoPVwiMTkwcHhcIiBoZWlnaHQ9XCI0NXB4XCIgW3RpdGxlXT1cInIubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFt0aXRsZVN0eWxlXT1cImxpbmVhclRpdGxlU3R5bGVcIiAodG9vbHRpcFJlbmRlcik9XCJsaW5lYXJUb29sdGlwUmVuZGVyKCRldmVudClcIj5cclxuICAgICAgPGUtYXhlcz5cclxuICAgICAgICA8ZS1heGlzIFttaW5pbXVtXT0nZHVyYXRpb25NaW4gLSAxJyBbbWF4aW11bV09J2R1cmF0aW9uTWF4ICsgMScgW21pbm9yVGlja3NdPVwibWlub3JUaWNrc1wiIFttYWpvclRpY2tzXT1cIm1ham9yVGlja3NcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsU3R5bGVdPVwibGFiZWxTdHlsZVwiIFtsaW5lXT1cImxpbmVcIiBmb3JtYXQ9J3AxJz5cclxuICAgICAgICAgIDxlLXBvaW50ZXJzPlxyXG4gICAgICAgICAgICA8ZS1wb2ludGVyIFt2YWx1ZV09XCJyLmR1cmF0aW9uQXZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaGVpZ2h0XT03XHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT03XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0nTWFya2VyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09J2FjY2VudENvbG9yJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSdPdXRzaWRlJyBbYW5pbWF0aW9uRHVyYXRpb25dPVwiMTUwMFwiPjwvZS1wb2ludGVyPlxyXG4gICAgICAgICAgICBAaWYoci5zdGFuZGFyZEF2ZylcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICA8ZS1wb2ludGVyIG1hcmtlclR5cGU9J1JlY3RhbmdsZSdcclxuICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwici5zdGFuZGFyZEF2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249J0Nyb3NzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcmltZXJ5Q29sb3JcIj48L2UtcG9pbnRlcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9lLXBvaW50ZXJzPlxyXG4gICAgICAgIDwvZS1heGlzPlxyXG4gICAgICA8L2UtYXhlcz5cclxuICAgIDwvZWpzLWxpbmVhcmdhdWdlPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbjxlanMtY2hhcnQgc3R5bGU9XCJmbGV4OiAxIDEgMTAwJTsgZGlzcGxheTogYmxvY2tcIiBbdGhlbWVdPVwidGhlbWVcIlxyXG4gICAgICAgICAgIHNlbGVjdGlvbk1vZGU9J1NlcmllcydcclxuICAgICAgICAgICBbbWFyZ2luXT0nbWFyZ2luJ1xyXG4gICAgICAgICAgIFt0aXRsZV09J3RpdGxlJ1xyXG4gICAgICAgICAgIFt0aXRsZVN0eWxlXT0ndGl0bGVTdHlsZSdcclxuICAgICAgICAgICBbc3ViVGl0bGVdPSdzdWJUaXRsZSdcclxuICAgICAgICAgICBbc3ViVGl0bGVTdHlsZV09J3RpdGxlU3R5bGUnXHJcbiAgICAgICAgICAgW3Rvb2x0aXBdPSd0b29sdGlwJ1xyXG4gICAgICAgICAgIFtlbmFibGVBbmltYXRpb25dPXRydWVcclxuICAgICAgICAgICAodG9vbHRpcFJlbmRlcik9J3Rvb2x0aXBSZW5kZXIoJGV2ZW50KSdcclxuICAgICAgICAgICAoYXhpc0xhYmVsUmVuZGVyKT0nbGFiZWxSZW5kZXIoJGV2ZW50KSdcclxuICAgICAgICAgICBbcGFsZXR0ZXNdPSdwYWxldHRlcydcclxuICAgICAgICAgICBbZW5hYmxlUnRsXT0naW52ZXJzZSdcclxuICAgICAgICAgICBoZWlnaHQ9JzEwMCUnXHJcbiAgICAgICAgICAgaGlnaGxpZ2h0TW9kZT0nU2VyaWVzJ1xyXG4gICAgICAgICAgIFtsZWdlbmRTZXR0aW5nc109J2xlZ2VuZFNldHRpbmdzJ1xyXG4gICAgICAgICAgIChwb2ludENsaWNrKT0nZXhwbG9yZSgkZXZlbnQpJz5cclxuICA8ZS1zZXJpZXMtY29sbGVjdGlvbj5cclxuICAgIDxlLXNlcmllcyBbbmFtZV09XCInU3RhbmRhcmQnfHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgeE5hbWU9J2RhdGUnXHJcbiAgICAgICAgICAgICAgeU5hbWU9J3N0YW5kYXJkVGltZSdcclxuICAgICAgICAgICAgICB0eXBlPSdQb2xhcidcclxuICAgICAgICAgICAgICBkcmF3VHlwZT0nTGluZSdcclxuICAgICAgICAgICAgICBbbWFya2VyXT0nc3RhbmRhcmRNYXJrZXInXHJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPSdzdGFuZGFyZHMnPlxyXG4gICAgPC9lLXNlcmllcz5cclxuICAgIEBmb3IgKHIgb2YgcmVjb3JkczsgdHJhY2sgcilcclxuICAgIHtcclxuICAgIDxlLXNlcmllcyBbZGF0YVNvdXJjZV09J3IuaXRlbXMnXHJcbiAgICAgICAgICAgICAgW25hbWVdPSdyLm5hbWUnXHJcbiAgICAgICAgICAgICAgdHlwZT0nUG9sYXInXHJcbiAgICAgICAgICAgICAgZHJhd1R5cGU9J0xpbmUnXHJcbiAgICAgICAgICAgICAgW21hcmtlcl09J21hcmtlcidcclxuICAgICAgICAgICAgICB4TmFtZT0nZGF0ZSdcclxuICAgICAgICAgICAgICB5TmFtZT0nZHVyYXRpb24nPjwvZS1zZXJpZXM+XHJcbiAgICB9XHJcbiAgPC9lLXNlcmllcy1jb2xsZWN0aW9uPlxyXG48L2Vqcy1jaGFydD5cclxufVxyXG4iXX0=
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Utd2luZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9wZXJmb3JtYW5jZS13aW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9jdWJlL3BlcmZvcm1hbmNlLXdpbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hFLE9BQU8sRUFBRSxjQUFjLEVBQXVCLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsa0VBQWtFO0FBQ2xFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFRL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7QUFTekMsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUEwRW5DLFlBQ1UsT0FBbUIsRUFDbkIsU0FBeUIsRUFDekIsUUFBd0IsRUFDeEIsVUFBNEIsRUFDNUIsVUFBK0M7UUFKL0MsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQWpFaEQsV0FBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVB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QyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNyRCxNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEQsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQW9CO1FBQzFCLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ3hDLElBQUksV0FBVyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBRTlCLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFjLENBQUM7UUFFMUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBdFFVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDJGQUN4QixjQUFjLGdEQzFCM0Isc3pGQXdFQTs7QUQvQ2Esd0JBQXdCO0lBSHBDLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSx5QkFBeUI7S0FDcEMsQ0FBQztHQUNXLHdCQUF3QixDQXVRcEM7OzJGQXZRWSx3QkFBd0I7a0JBUHBDLFNBQVM7O2dNQVFtQixLQUFLO3NCQUEvQixTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElQb2ludEV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIENoYXJ0LCBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzLCBMZWdlbmRTZXR0aW5nc01vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgdGl0bGVTZXR0aW5nc01vZGVsLCBNYXJnaW5Nb2RlbCwgU2VyaWVzTWFya2VyTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItY2hhcnRzJztcclxuaW1wb3J0IHsgVG9vbHRpcFNldHRpbmdzTW9kZWwgYXMgVE1vZGVsLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncyBhcyBJVFJlbmRlckV2ZW50QXJncywgQXhpc01vZGVsLCBUaWNrTW9kZWwsIExhYmVsTW9kZWwsIExpbmVNb2RlbCwgRm9udE1vZGVsLCBMaW5lYXJHYXVnZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWxpbmVhcmdhdWdlJztcclxuaW1wb3J0IHsgQ2hhcnRDb21wb25lbnQsIE1hcmtlclNldHRpbmdzTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBXb3JrYm9vaywgV29ya3NoZWV0LCBSb3csIENvbHVtbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9ub2RlX21vZHVsZXMvZGF5anMvcGx1Z2luL2R1cmF0aW9uLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tICcuLi9yZXBvcnQtcmVmJztcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBY3Rpb24sIEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ3BlcmZvcm1hbmNlLXdpbmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAncGVyZm9ybWFuY2Utd2luZC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlcmZvcm1hbmNlLXdpbmQnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJmb3JtYW5jZVdpbmRDb21wb25lbnQgaW1wbGVtZW50cyBSZXBvcnRDb21wb25lbnQ8RGF0YU1vZGVsPiwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKENoYXJ0Q29tcG9uZW50KSBjaGFydDogQ2hhcnQ7XHJcbiAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICBkdXJhdGlvbk1pbjogbnVtYmVyO1xyXG4gIGR1cmF0aW9uTWF4OiBudW1iZXI7XHJcbiAgZGV2aWF0aW9uTWF4OiBudW1iZXI7XHJcbiAgZGV2aWF0aW9uTWluOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRBdmc6IG51bWJlcjtcclxuICByZWNvcmRzOiBSZWNvcmRbXTtcclxuICBzdGFuZGFyZHM6IEl0ZW1Nb2RlbFtdO1xyXG4gIHN1YlRpdGxlOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBhY2NlbnRDb2xvcjogc3RyaW5nO1xyXG4gIHByaW1lcnlDb2xvcjogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1hcmdpbiA9IHsgbGVmdDogMjAsIHJpZ2h0OiAyMCB9IGFzIE1hcmdpbk1vZGVsO1xyXG4gIHJlYWRvbmx5IGxlZ2VuZFNldHRpbmdzID0ge1xyXG4gICAgcG9zaXRpb246ICdMZWZ0JyxcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBpc0ludmVyc2VkOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICBlbmFibGVQYWdlczogdHJ1ZSxcclxuICAgIGVuYWJsZUhpZ2hsaWdodDogdHJ1ZSxcclxuICB9IGFzIExlZ2VuZFNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgdG9vbHRpcCA9IHtcclxuICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH0gYXMgVG9vbHRpcFNldHRpbmdzTW9kZWw7XHJcbiAgdGhlbWU6ICdNYXRlcmlhbDMnIHwgJ01hdGVyaWFsM0RhcmsnO1xyXG4gIHJlYWRvbmx5IHRpdGxlU3R5bGUgPSB7XHJcbiAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gIH0gYXMgdGl0bGVTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IHByaW1hcnlYQXhpcyA9IHsgdmFsdWVUeXBlOiAnRG91YmxlJyB9IGFzIEF4aXNNb2RlbDtcclxuICByZWFkb25seSBwcmltYXJ5WUF4aXMgPSB7fSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgbGluZWFyVG9vbHRpcCA9IHtcclxuICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH0gYXMgVE1vZGVsO1xyXG4gIHJlYWRvbmx5IGxpbmVhclRpdGxlU3R5bGUgPSB7XHJcbiAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWSxcclxuICAgIGZvbnRXZWlnaHQ6ICczMDAnLFxyXG4gICAgc2l6ZTogJzEycHgnLFxyXG4gIH0gYXMgRm9udE1vZGVsO1xyXG4gIHJlYWRvbmx5IGxpbmUgPSB7XHJcbiAgICB3aWR0aDogNVxyXG4gIH0gYXMgTGluZU1vZGVsO1xyXG4gIHJlYWRvbmx5IG1ham9yVGlja3MgPSB7XHJcbiAgICBoZWlnaHQ6IDYsIHdpZHRoOiAxXHJcbiAgfSBhcyBUaWNrTW9kZWw7XHJcbiAgcmVhZG9ubHkgbWlub3JUaWNrcyA9IHtcclxuICAgIGhlaWdodDogM1xyXG4gIH0gYXMgVGlja01vZGVsO1xyXG4gIHJlYWRvbmx5IGxhYmVsU3R5bGUgPSB7XHJcbiAgICBmb250OiB7IHNpemU6ICcwJyB9LFxyXG4gICAgZm9ybWF0OiAncDEnLFxyXG4gIH0gYXMgTGFiZWxNb2RlbDtcclxuICByZWFkb25seSBzdGFuZGFyZE1hcmtlciA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBzaGFwZTogJ1RyaWFuZ2xlJyxcclxuICAgIHdpZHRoOiA1LFxyXG4gICAgaGVpZ2h0OiA1XHJcbiAgfSBhcyBNYXJrZXJTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IG1hcmtlciA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICB3aWR0aDogNSxcclxuICAgIGhlaWdodDogNSxcclxuICAgIHNoYXBlOiAnUGVudGFnb24nLFxyXG4gIH0gYXMgTWFya2VyU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSBpbnZlcnNlID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIHByaXZhdGUgYWN0aW9uczogeyBbbmFtZTogc3RyaW5nXTogQWN0aW9uIH0gPSB7fTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwYWxldHRlczogc3RyaW5nW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlcG9ydFJlZjogUmVwb3J0UmVmPFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD5cclxuICApIHtcclxuICAgIF9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5mb3JFYWNoKGEgPT5cclxuICAgICAgdGhpcy5hY3Rpb25zW2EubmFtZV0gPSBhXHJcbiAgICApO1xyXG4gICAgX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksIHN0YXJ0V2l0aChfc2Vzc2lvbi50aGVtZSkpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICB0aGlzLmFjY2VudENvbG9yID0gdGhpcy5fc2Vzc2lvbi5nZXRBY2NlbnQoOTAwKTtcclxuICAgICAgdGhpcy5wcmltZXJ5Q29sb3IgPSB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKTtcclxuICAgICAgdGhpcy5jaGFydD8ucmVmcmVzaEF4aXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBvbkJpbmQoZGF0YTogRGF0YU1vZGVsW10pIHtcclxuICAgIHRoaXMucmVjb3JkcyA9IG51bGw7XHJcbiAgICBpZiAoIWRhdGEubGVuZ3RoKSByZXR1cm47XHJcbiAgICB0aGlzLmR1cmF0aW9uTWF4ID0gMCwgdGhpcy5kdXJhdGlvbk1pbiA9IDA7XHJcbiAgICBsZXQgYWNjdW1TdGQgPSAwLCBzdGRDb3VudCA9IDAsIGFjY3VtRHVyYXRpb24gPSAwLCBtYXhTdGQgPSAwLFxyXG4gICAgICBtYXA6IHtcclxuICAgICAgICBbdXNlcklkOiBzdHJpbmddOiBSZWNvcmRcclxuICAgICAgfSA9IHt9O1xyXG4gICAgdGhpcy5zdGFuZGFyZHMgPSBbXTtcclxuICAgIGRhdGEuZm9yRWFjaChlID0+IHtcclxuICAgICAgbGV0IGFjY3VtU3RkMSA9IDAsIHN0ZENvdW50MSA9IDAsIGFjY3VtRHVyYXRpb24xID0gMDtcclxuICAgICAgZS5pdGVtcy5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkVGltZSkge1xyXG4gICAgICAgICAgaWYgKGUuc3RhbmRhcmRUaW1lID4gbWF4U3RkKVxyXG4gICAgICAgICAgICBtYXhTdGQgPSBlLnN0YW5kYXJkVGltZTtcclxuICAgICAgICAgIHN0ZENvdW50MSsrO1xyXG4gICAgICAgICAgYWNjdW1TdGQxICs9IGUuc3RhbmRhcmRUaW1lO1xyXG4gICAgICAgICAgdGhpcy5zdGFuZGFyZHMucHVzaChlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGUuZHVyYXRpb24gPiB0aGlzLmR1cmF0aW9uTWF4KVxyXG4gICAgICAgICAgdGhpcy5kdXJhdGlvbk1heCA9IGUuZHVyYXRpb247XHJcbiAgICAgICAgaWYgKGUuZHVyYXRpb24gPCB0aGlzLmR1cmF0aW9uTWluIHx8IHRoaXMuZHVyYXRpb25NaW4gPT09IDApXHJcbiAgICAgICAgICB0aGlzLmR1cmF0aW9uTWluID0gZS5kdXJhdGlvbjtcclxuICAgICAgICBhY2N1bUR1cmF0aW9uMSArPSBlLmR1cmF0aW9uO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgZHVyYXRpb25BdmcgPSBhY2N1bUR1cmF0aW9uMSAvIGRhdGEubGVuZ3RoLCBzdGFuZGFyZEF2ZyA9IHN0ZENvdW50MSA/IGFjY3VtU3RkMSAvIHN0ZENvdW50MSA6IDA7XHJcbiAgICAgIG1hcFtlLnVzZXJJZF0gPSB7XHJcbiAgICAgICAgaXRlbXM6IGUuaXRlbXMsXHJcbiAgICAgICAgc3RhbmRhcmRBdmcsXHJcbiAgICAgICAgZHVyYXRpb25BdmcsXHJcbiAgICAgIH07XHJcbiAgICAgIGFjY3VtRHVyYXRpb24gKz0gZHVyYXRpb25Bdmc7XHJcbiAgICAgIGlmIChzdGRDb3VudDEpIHtcclxuICAgICAgICBzdGRDb3VudCsrO1xyXG4gICAgICAgIGFjY3VtU3RkICs9IHN0YW5kYXJkQXZnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3RhbmRhcmRzID0gdGhpcy5zdGFuZGFyZHMuXHJcbiAgICAgIHNvcnQoKGUxLCBlMikgPT4gZTEuc3RhbmRhcmRUaW1lIDwgZTIuc3RhbmRhcmRUaW1lID8gLTEgOiAxKTtcclxuICAgIHRoaXMuc3RhbmRhcmRBdmcgPSBzdGRDb3VudCA/IGFjY3VtU3RkIC8gc3RkQ291bnQgOiAwLFxyXG4gICAgICB0aGlzLmR1cmF0aW9uQXZnID0gYWNjdW1EdXJhdGlvbiAvIGRhdGEubGVuZ3RoO1xyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0QWxsKGRhdGEubWFwKGUgPT4gZS51c2VySWQpKS5cclxuICAgICAgc3Vic2NyaWJlKHVzZXJzID0+IHtcclxuICAgICAgICB0aGlzLmRldmlhdGlvbk1heCA9IDAsIHRoaXMuZGV2aWF0aW9uTWluID0gMDtcclxuICAgICAgICB0aGlzLnJlY29yZHMgPSBbXTtcclxuICAgICAgICB1c2Vycy5mb3JFYWNoKHUgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaW5mbyA9IG1hcFt1LmlkXSxcclxuICAgICAgICAgICAgdmFsdWUgPSBNYXRoLnJvdW5kKGluZm8uZHVyYXRpb25BdmcgL1xyXG4gICAgICAgICAgICAgIChpbmZvLnN0YW5kYXJkQXZnIHx8IHRoaXMuZHVyYXRpb25BdmcpKSxcclxuICAgICAgICAgICAgZGV2aWF0aW9uID0gdmFsdWUgPiAxID8gKHZhbHVlIC0gMSkgKiAxMDAgOiAtIHZhbHVlICogMTAwO1xyXG4gICAgICAgICAgaW5mby5kZXZpYXRpb24gPSBkZXZpYXRpb247XHJcbiAgICAgICAgICBpZiAoZGV2aWF0aW9uID4gdGhpcy5kZXZpYXRpb25NYXgpXHJcbiAgICAgICAgICAgIHRoaXMuZGV2aWF0aW9uTWF4ID0gZGV2aWF0aW9uO1xyXG4gICAgICAgICAgaWYgKGRldmlhdGlvbiA8IHRoaXMuZGV2aWF0aW9uTWluIHx8IHRoaXMuZGV2aWF0aW9uTWluID09PSAwKVxyXG4gICAgICAgICAgICB0aGlzLmRldmlhdGlvbk1pbiA9IGRldmlhdGlvbjtcclxuICAgICAgICAgIHRoaXMucmVjb3Jkcy5wdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogdS5uYW1lLFxyXG4gICAgICAgICAgICAuLi5pbmZvLFxyXG4gICAgICAgICAgICBkZXZpYXRpb25cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IGNvbG9ycyA9IHRoaXMuX3Nlc3Npb24uYWNjZW50UGFsZXR0ZTtcclxuICAgICAgICB0aGlzLnBhbGV0dGVzID0gW3RoaXMucHJpbWVyeUNvbG9yLFxyXG4gICAgICAgIC4uLmNvbG9yc1xyXG4gICAgICAgIF07XHJcbiAgICAgICAgd2hpbGUgKHRoaXMucmVjb3Jkcy5sZW5ndGggPiB0aGlzLnBhbGV0dGVzLmxlbmd0aClcclxuICAgICAgICAgIHRoaXMucGFsZXR0ZXMucHVzaCguLi5jb2xvcnMpO1xyXG4gICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBdmVyYWdlVmFsdWUnLCBkYXlqcy5kdXJhdGlvbih0aGlzLmR1cmF0aW9uQXZnLCAnc2Vjb25kcycpLmZvcm1hdCgnREQ6SEg6bW0nKSksXHJcbiAgICAgICAgICB0aGlzLnN1YlRpdGxlID0gdGhpcy5zdGFuZGFyZEF2ZyA/XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkVmFsdWUnLCBkYXlqcy5kdXJhdGlvbih0aGlzLnN0YW5kYXJkQXZnLCAnc2Vjb25kcycpLmZvcm1hdCgnREQ6SEg6bW0nKSkgOiBudWxsO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbGluZWFyVG9vbHRpcFJlbmRlcihldnQ6IElUUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IGV2dC5heGlzLnBvaW50ZXJzLmluZGV4T2YoZXZ0LnBvaW50ZXIpO1xyXG4gICAgZXZ0LmNvbnRlbnQgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KGluZGV4ID09PSAwID8gJ0F2ZXJhZ2VWYWx1ZScgOiAnU3RhbmRhcmRWYWx1ZScsIGRheWpzLmR1cmF0aW9uKGV2dC5wb2ludGVyLnZhbHVlLCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNoYXJ0LmhpZ2hsaWdodE1vZHVsZS5jbHVzdGVyU2VsZWN0aW9uKHRoaXMuY2hhcnQsIHsgc2VyaWVzOiBpbmRleCArIDEsIHBvaW50OiAwIH0pO1xyXG4gIH1cclxuICBvbkV4cG9ydCgpIHtcclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogW1xyXG4gICAgICAgICAgICAgIHsgaW5kZXg6IDEsIHdpZHRoOiAyNTAgfSBhcyBDb2x1bW4sXHJcbiAgICAgICAgICAgICAgeyBpbmRleDogMiwgd2lkdGg6IDE1MCB9IGFzIENvbHVtbixcclxuICAgICAgICAgICAgICB7IGluZGV4OiAzLCB3aWR0aDogMTUwIH0gYXMgQ29sdW1uLFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICByb3dzOiBbe1xyXG4gICAgICAgICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgICAgICAgIGNlbGxzOiBbe1xyXG4gICAgICAgICAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnTmFtZScpLFxyXG4gICAgICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgICAgIH0sIHtcclxuICAgICAgICAgICAgICAgIGluZGV4OiAyLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RpbWUnLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0R1cmF0aW9uJyksXHJcbiAgICAgICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgICAgaW5kZXg6IDMsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnRGV2aWF0aW9uJyksXHJcbiAgICAgICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH0gYXMgUm93LCAuLi50aGlzLnJlY29yZHMubWFwKChyLCBpKSA9PiAoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaW5kZXg6IDIgKyBpLFxyXG4gICAgICAgICAgICAgICAgY2VsbHM6IFtcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogMSxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogci5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBoQWxpZ246ICdsZWZ0J1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogMixcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGF5anMuZHVyYXRpb24oci5kdXJhdGlvbkF2ZywgJ3MnKS5mb3JtYXQoJ0REOkhIOm1tJyksXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGhBbGlnbjogJ3JpZ2h0JyxcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogMyxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogci5kZXZpYXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGhBbGlnbjogJ3JpZ2h0JyxcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1dXHJcbiAgICAgICAgICAgICAgfSBhcyBSb3dcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXSxcclxuICAgICAgICAgIH0gYXMgV29ya3NoZWV0LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aGlzLl9yZXBvcnRSZWYubmFtZX0ueGxzeGApO1xyXG4gIH1cclxuICB0b29sdGlwUmVuZGVyKGV2dDogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIGV2dC50ZXh0ID0gZGF5anMuZHVyYXRpb24oZXZ0LmRhdGEucG9pbnRZIGFzIGFueSwgJ3MnKS5mb3JtYXQoJ0REOkhIOm1tJyk7XHJcbiAgfVxyXG4gIGxhYmVsUmVuZGVyKGV2dDogSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgc3dpdGNoIChldnQuYXhpcy5uYW1lKSB7XHJcbiAgICAgIGNhc2UgJ3ByaW1hcnlZQXhpcyc6XHJcbiAgICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQudmFsdWUsICdzJykuaHVtYW5pemUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncHJpbWFyeVhBeGlzJzpcclxuICAgICAgICBldnQudGV4dCA9IGRheWpzKGV2dC52YWx1ZSAqIDEwMDApLmZvcm1hdCgnTU1NIFlZWVknKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgZXhwbG9yZShldnQ6IElQb2ludEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgeyBwb2ludEluZGV4LCBzZXJpZXNJbmRleCB9ID0gZXZ0O1xyXG4gICAgaWYgKHNlcmllc0luZGV4ID09PSAwKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgeyBkb2N1bWVudElkIH0gPSB0aGlzLmNoYXJ0LnNlcmllc1tzZXJpZXNJbmRleF0uZGF0YVNvdXJjZVtwb2ludEluZGV4XSBhcyBJdGVtTW9kZWw7XHJcblxyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveCcsICdkJywgZG9jdW1lbnRJZC5lbmNvZGVJZCgpXSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgRGF0YU1vZGVsIHtcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBpdGVtczogSXRlbU1vZGVsW107XHJcbn1cclxuaW50ZXJmYWNlIEl0ZW1Nb2RlbCB7XHJcbiAgZG9jdW1lbnRJZDogbnVtYmVyO1xyXG4gIGRhdGU6IG51bWJlcjtcclxuICBzdGFuZGFyZFRpbWU/OiBudW1iZXI7XHJcbiAgZHVyYXRpb246IG51bWJlcjtcclxuICBpc0ZZSTogYm9vbGVhbjtcclxuICBhY3Rpb25JZDogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBSZWNvcmQge1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICBzdGFuZGFyZEF2Zz86IG51bWJlcjtcclxuICBkZXZpYXRpb24/OiBudW1iZXI7XHJcbiAgaXRlbXM6IEl0ZW1Nb2RlbFtdO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiIsIiBAaWYocmVjb3Jkcykge1xyXG48IS0tPGRpdiBjbGFzcz1cImxlZ2VuZFwiPlxyXG4gIEBmb3IgKHIgb2YgcmVjb3JkczsgdHJhY2sgcjsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICA8ZGl2IChtb3VzZW92ZXIpPVwiaGlnaGxpZ2h0KGkpXCI+XHJcbiAgICA8ZWpzLWxpbmVhcmdhdWdlIHN0eWxlPVwiZGlzcGxheTogYmxvY2tcIiBiYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIiBvcmllbnRhdGlvbj1cIkhvcml6b250YWxcIiBbdGhlbWVdPVwidGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCJsaW5lYXJUb29sdGlwXCIgd2lkdGg9XCIxOTBweFwiIGhlaWdodD1cIjQ1cHhcIiBbdGl0bGVdPVwici5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3RpdGxlU3R5bGVdPVwibGluZWFyVGl0bGVTdHlsZVwiICh0b29sdGlwUmVuZGVyKT1cImxpbmVhclRvb2x0aXBSZW5kZXIoJGV2ZW50KVwiPlxyXG4gICAgICA8ZS1heGVzPlxyXG4gICAgICAgIDxlLWF4aXMgW21pbmltdW1dPSdkdXJhdGlvbk1pbiAtIDEnIFttYXhpbXVtXT0nZHVyYXRpb25NYXggKyAxJyBbbWlub3JUaWNrc109XCJtaW5vclRpY2tzXCIgW21ham9yVGlja3NdPVwibWFqb3JUaWNrc1wiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxTdHlsZV09XCJsYWJlbFN0eWxlXCIgW2xpbmVdPVwibGluZVwiIGZvcm1hdD0ncDEnPlxyXG4gICAgICAgICAgPGUtcG9pbnRlcnM+XHJcbiAgICAgICAgICAgIDxlLXBvaW50ZXIgW3ZhbHVlXT1cInIuZHVyYXRpb25BdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPTdcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPTdcclxuICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdNYXJrZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT0nYWNjZW50Q29sb3InXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249J091dHNpZGUnIFthbmltYXRpb25EdXJhdGlvbl09XCIxNTAwXCI+PC9lLXBvaW50ZXI+XHJcbiAgICAgICAgICAgIEBpZihyLnN0YW5kYXJkQXZnKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgIDxlLXBvaW50ZXIgbWFya2VyVHlwZT0nUmVjdGFuZ2xlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJyLnN0YW5kYXJkQXZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj0nQ3Jvc3MnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInByaW1lcnlDb2xvclwiPjwvZS1wb2ludGVyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2UtcG9pbnRlcnM+XHJcbiAgICAgICAgPC9lLWF4aXM+XHJcbiAgICAgIDwvZS1heGVzPlxyXG4gICAgPC9lanMtbGluZWFyZ2F1Z2U+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj4tLT5cclxuPGVqcy1jaGFydCBzdHlsZT1cImZsZXg6IDEgMSAxMDAlOyBkaXNwbGF5OiBibG9ja1wiIFt0aGVtZV09XCJ0aGVtZVwiXHJcbiAgICAgICAgICAgc2VsZWN0aW9uTW9kZT0nU2VyaWVzJ1xyXG4gICAgICAgICAgIFttYXJnaW5dPSdtYXJnaW4nXHJcbiAgICAgICAgICAgW3RpdGxlXT0ndGl0bGUnXHJcbiAgICAgICAgICAgW3RpdGxlU3R5bGVdPSd0aXRsZVN0eWxlJ1xyXG4gICAgICAgICAgIFtzdWJUaXRsZV09J3N1YlRpdGxlJ1xyXG4gICAgICAgICAgIFtzdWJUaXRsZVN0eWxlXT0ndGl0bGVTdHlsZSdcclxuICAgICAgICAgICBbdG9vbHRpcF09J3Rvb2x0aXAnXHJcbiAgICAgICAgICAgW2VuYWJsZUFuaW1hdGlvbl09dHJ1ZVxyXG4gICAgICAgICAgICh0b29sdGlwUmVuZGVyKT0ndG9vbHRpcFJlbmRlcigkZXZlbnQpJ1xyXG4gICAgICAgICAgIChheGlzTGFiZWxSZW5kZXIpPSdsYWJlbFJlbmRlcigkZXZlbnQpJ1xyXG4gICAgICAgICAgIFtwYWxldHRlc109J3BhbGV0dGVzJ1xyXG4gICAgICAgICAgIFtlbmFibGVSdGxdPSdpbnZlcnNlJ1xyXG4gICAgICAgICAgIGhlaWdodD0nMTAwJSdcclxuICAgICAgICAgICBoaWdobGlnaHRNb2RlPSdTZXJpZXMnXHJcbiAgICAgICAgICAgW2xlZ2VuZFNldHRpbmdzXT0nbGVnZW5kU2V0dGluZ3MnXHJcbiAgICAgICAgICAgKHBvaW50Q2xpY2spPSdleHBsb3JlKCRldmVudCknPlxyXG4gIDxlLXNlcmllcy1jb2xsZWN0aW9uPlxyXG4gICAgPGUtc2VyaWVzIFtuYW1lXT1cIidTdGFuZGFyZCd8dHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICB4TmFtZT0nZGF0ZSdcclxuICAgICAgICAgICAgICB5TmFtZT0nc3RhbmRhcmRUaW1lJ1xyXG4gICAgICAgICAgICAgIHR5cGU9J1BvbGFyJ1xyXG4gICAgICAgICAgICAgIGRyYXdUeXBlPSdMaW5lJ1xyXG4gICAgICAgICAgICAgIFttYXJrZXJdPSdzdGFuZGFyZE1hcmtlcidcclxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09J3N0YW5kYXJkcyc+XHJcbiAgICA8L2Utc2VyaWVzPlxyXG4gICAgQGZvciAociBvZiByZWNvcmRzOyB0cmFjayByKVxyXG4gICAge1xyXG4gICAgPGUtc2VyaWVzIFtkYXRhU291cmNlXT0nci5pdGVtcydcclxuICAgICAgICAgICAgICBbbmFtZV09J3IubmFtZSdcclxuICAgICAgICAgICAgICB0eXBlPSdQb2xhcidcclxuICAgICAgICAgICAgICBkcmF3VHlwZT0nTGluZSdcclxuICAgICAgICAgICAgICBbbWFya2VyXT0nbWFya2VyJ1xyXG4gICAgICAgICAgICAgIHhOYW1lPSdkYXRlJ1xyXG4gICAgICAgICAgICAgIHlOYW1lPSdkdXJhdGlvbic+PC9lLXNlcmllcz5cclxuICAgIH1cclxuICA8L2Utc2VyaWVzLWNvbGxlY3Rpb24+XHJcbjwvZWpzLWNoYXJ0PlxyXG59XHJcbiJdfQ==
|