@eqproject/eqp-dynamic-module 2.10.32 → 2.10.34
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/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +3 -3
- package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +3 -3
- package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +24 -8
- package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +2 -2
- package/esm2020/lib/components/private/graphs/graph/graph.component.mjs +7 -7
- package/esm2020/lib/components/private/tmw-image-marker/tmw-image-marker.component.mjs +7 -5
- package/esm2020/lib/directives/dynamic-loader/dynamic-loader.directive.mjs +5 -5
- package/esm2020/lib/directives/speech-to-text/speech-to-text.directive.mjs +4 -4
- package/esm2020/lib/models/fields/attachmentField.model.mjs +1 -1
- package/esm2020/lib/services/utilityHelper.services.mjs +9 -9
- package/fesm2015/eqproject-eqp-dynamic-module.mjs +59 -41
- package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/fesm2020/eqproject-eqp-dynamic-module.mjs +59 -41
- package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.d.ts +2 -0
- package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +1 -1
- package/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.d.ts +1 -1
- package/lib/models/fields/attachmentField.model.d.ts +1 -1
- package/package.json +1 -1
|
@@ -4,10 +4,6 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@canvasjs/angular-stockcharts";
|
|
6
6
|
export class GraphComponent {
|
|
7
|
-
onResize() {
|
|
8
|
-
this.loaded = false;
|
|
9
|
-
this.loadGraph(Math.floor(window.innerWidth / 2));
|
|
10
|
-
}
|
|
11
7
|
constructor(datePipe) {
|
|
12
8
|
this.datePipe = datePipe;
|
|
13
9
|
this.data = new Array();
|
|
@@ -17,6 +13,10 @@ export class GraphComponent {
|
|
|
17
13
|
this.loaded = false;
|
|
18
14
|
this.counter = 0;
|
|
19
15
|
}
|
|
16
|
+
onResize() {
|
|
17
|
+
this.loaded = false;
|
|
18
|
+
this.loadGraph(Math.floor(window.innerWidth / 2));
|
|
19
|
+
}
|
|
20
20
|
ngOnInit() {
|
|
21
21
|
var self = this;
|
|
22
22
|
// Aggiustamento e scrittura dati
|
|
@@ -163,10 +163,10 @@ export class GraphComponent {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
GraphComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GraphComponent, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
-
GraphComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GraphComponent, selector: "graph", inputs: { data: "data", title: "title" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<canvasjs-stockchart *ngIf=\"loaded\" [options]=\"stockChartOptions\"></canvasjs-stockchart>\n<div class=\"error\" *ngIf=\"!loaded\"><b>{{title}}:</b> Nessun dato trovato nell'intervallo specificato!</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CanvasJSStockChart, selector: "canvasjs-stockchart", inputs: ["options", "styles"], outputs: ["stockChartInstance"] }] });
|
|
166
|
+
GraphComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GraphComponent, selector: "graph", inputs: { data: "data", title: "title" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<canvasjs-stockchart *ngIf=\"loaded\" [options]=\"stockChartOptions\"></canvasjs-stockchart>\r\n<div class=\"error\" *ngIf=\"!loaded\"><b>{{title}}:</b> Nessun dato trovato nell'intervallo specificato!</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CanvasJSStockChart, selector: "canvasjs-stockchart", inputs: ["options", "styles"], outputs: ["stockChartInstance"] }] });
|
|
167
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GraphComponent, decorators: [{
|
|
168
168
|
type: Component,
|
|
169
|
-
args: [{ selector: 'graph', template: "<canvasjs-stockchart *ngIf=\"loaded\" [options]=\"stockChartOptions\"></canvasjs-stockchart>\n<div class=\"error\" *ngIf=\"!loaded\"><b>{{title}}:</b> Nessun dato trovato nell'intervallo specificato!</div>" }]
|
|
169
|
+
args: [{ selector: 'graph', template: "<canvasjs-stockchart *ngIf=\"loaded\" [options]=\"stockChartOptions\"></canvasjs-stockchart>\r\n<div class=\"error\" *ngIf=\"!loaded\"><b>{{title}}:</b> Nessun dato trovato nell'intervallo specificato!</div>" }]
|
|
170
170
|
}], ctorParameters: function () { return [{ type: i1.DatePipe }]; }, propDecorators: { onResize: [{
|
|
171
171
|
type: HostListener,
|
|
172
172
|
args: ['window:resize', ['$event']]
|
|
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
177
177
|
type: Input,
|
|
178
178
|
args: ["title"]
|
|
179
179
|
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2dyYXBocy9ncmFwaC9ncmFwaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZ3JhcGhzL2dyYXBoL2dyYXBoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxPQUFPLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBU3hDLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFvQkQsWUFDVSxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBbkJiLFNBQUksR0FBa0IsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUN6QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5DLGVBQVUsR0FBVyxTQUFTLENBQUM7UUFDL0IsY0FBUyxHQUFXLFNBQVMsQ0FBQztRQVc5QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLFlBQU8sR0FBVyxDQUFDLENBQUM7SUFJZixDQUFDO0lBRU4sUUFBUTtRQUVOLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUVoQixpQ0FBaUM7UUFDakMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxD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QUFHLEdBQUcsY0FBYyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsR0FBRyxHQUFHLGFBQWEsR0FBSSxHQUFHLEdBQUcsZUFBZSxDQUFDO1FBRTNILEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsS0FBSyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4QjtRQUNELEtBQUssSUFBSSxHQUFHLENBQUM7UUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVCLEtBQUssSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEI7UUFFRCxvQ0FBb0M7UUFFdEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs0R0F4TFUsY0FBYztnR0FBZCxjQUFjLHFKQ1ozQiwrTUFDMkc7NEZEVzlGLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsT0FBTzsrRkFRakIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNMUIsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQUNHLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvb3JkcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ncmFwaC5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0ICogYXMgc3MgZnJvbSAnc2ltcGxlLXN0YXRpc3RpY3MnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ3JhcGgnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmFwaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JhcGguY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEdyYXBoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICB0aGlzLmxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2FkR3JhcGgoTWF0aC5mbG9vcih3aW5kb3cuaW5uZXJXaWR0aC8yKSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoXCJkYXRhXCIpIGRhdGE6IEFycmF5PENvb3Jkcz4gPSBuZXcgQXJyYXk8Q29vcmRzPigpO1xyXG4gIEBJbnB1dChcInRpdGxlXCIpIHRpdGxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICB0cmVuZENvbG9yOiBzdHJpbmcgPSAnI0VCMDEwMic7XHJcbiAgbWFpbkNvbG9yOiBzdHJpbmcgPSAnIzAwNmNhZCc7XHJcblxyXG4gIG06IG51bWJlcjsgLy8gbSBvZiB0aGUgbGluZWFyIHJlZ3Jlc3Npb25cclxuICBxOiBudW1iZXI7IC8vIHEgb2YgdGhlIGxpbmVhciByZWdyZXNzaW9uXHJcbiAgdHJlbmQ6IHN0cmluZzsgLy8gdHJlbmQgc3RyaW5nXHJcbiAgbGluZWFyUmVncmVzc2lvbjogQXJyYXk8Q29vcmRzPjsgLy8gdmFyaWFibGUgdXNlZCB0byBzdG9yZSB0aGUgbGluZWFyIHJlZ3Jlc3Npb24gcG9pbnRzIHRvIHBsb3RcclxuXHJcblxyXG5cclxuICBzdG9ja0NoYXJ0T3B0aW9uczogYW55O1xyXG5cclxuICBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb3VudGVyOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlXHJcbiAgICApIHt9ICBcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdmFyIHNlbGYgPSB0aGlzO1xyXG5cclxuICAgIC8vIEFnZ2l1c3RhbWVudG8gZSBzY3JpdHR1cmEgZGF0aVxyXG4gICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggPiAwKXtcclxuICAgICAgdGhpcy5sb2FkR3JhcGgoTWF0aC5mbG9vcih3aW5kb3cuaW5uZXJXaWR0aC8yKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkR3JhcGgod2lkdGg6IG51bWJlcil7XHJcblxyXG4gICAgdmFyIGxhc3R2YWx1ZSA9IHRoaXMuZGF0YVswXTtcclxuICAgIHZhciBmaXJzdHZhbHVlID0gdGhpcy5kYXRhW3RoaXMuZGF0YS5sZW5ndGgtMV07XHJcblxyXG4gICAgdmFyIHN0b2NrQ2hhcnRNaW5pbXVtID0gbmV3IERhdGUoZmlyc3R2YWx1ZS54KTtcclxuICAgIHZhciBzdG9ja0NoYXJ0TWF4aW11bSA9IG5ldyBEYXRlKGxhc3R2YWx1ZS54KTtcclxuICAgIHZhciBzdG9ja0NoYXJ0VGl0bGVUZXh0ID0gdGhpcy50aXRsZTtcclxuICAgIHZhciBzdG9ja0NoYXJ0ZGF0YVBvaW50cyA9IHRoaXMuZGF0YTtcclxuXHJcbiAgICB0aGlzLmxpbmVhclJlZ3Jlc3Npb24gPSBuZXcgQXJyYXk8Q29vcmRzPigpO1xyXG4gICAgdGhpcy50cmVuZCA9IFwiXCI7XHJcblxyXG4gICAgc3RvY2tDaGFydGRhdGFQb2ludHMucmV2ZXJzZSgpO1xyXG4gICAgaWYgKHN0b2NrQ2hhcnRkYXRhUG9pbnRzLmxlbmd0aCA+IDIpIHtcclxuICAgICAgbGV0IHggPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGk8c3RvY2tDaGFydGRhdGFQb2ludHMubGVuZ3RoOyBpICsrKSB7XHJcbiAgICAgICAgeC5wdXNoKFtpLCBzdG9ja0NoYXJ0ZGF0YVBvaW50c1tpXS55XSk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHBhcmFtZXRlcnMgPSBzcy5saW5lYXJSZWdyZXNzaW9uKHgpO1xyXG4gICAgICB0aGlzLm0gPSBwYXJhbWV0ZXJzLm07XHJcbiAgICAgIHRoaXMucSA9IHBhcmFtZXRlcnMuYjtcclxuICAgICAgaWYgKHRoaXMubSA+IDApIHtcclxuICAgICAgICAgIHRoaXMudHJlbmQgKz0gXCIg4oaXXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm0gPCAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRyZW5kICs9IFwiIOKGmFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHgpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhzdG9ja0NoYXJ0ZGF0YVBvaW50cyk7XHJcbiAgICAgIFxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaTxzdG9ja0NoYXJ0ZGF0YVBvaW50cy5sZW5ndGg7IGkgKyspIHtcclxuICAgICAgICBpZiAoaSA9PSAwIHx8IGkgPT0gc3RvY2tDaGFydGRhdGFQb2ludHMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgdGhpcy5saW5lYXJSZWdyZXNzaW9uLnB1c2goe3g6IHN0b2NrQ2hhcnRkYXRhUG9pbnRzW2ldLngsXHJcbiAgICAgICAgICAgIHk6IHRoaXMubSppICsgdGhpcy5xLFxyXG4gICAgICAgICAgICBsYWJlbDogc3RvY2tDaGFydGRhdGFQb2ludHNbaV0ubGFiZWwsXHJcbiAgICAgICAgICAgIG5hbWU6IHN0b2NrQ2hhcnRkYXRhUG9pbnRzW2ldLm5hbWVcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vdGhpcy5saW5lYXJSZWdyZXNzaW9uLnJldmVyc2UoKTtcclxuICAgICAgLy8gY29uc29sZS5sb2codGhpcy5saW5lYXJSZWdyZXNzaW9uKTtcclxuICAgICAgLy8gY29uc29sZS5sb2codGhpcy5tKTtcclxuICAgICAgLy8gY29uc29sZS5sb2codGhpcy5xKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0b2NrQ2hhcnRPcHRpb25zID0ge1xyXG4gICAgICB0aGVtZTogJ2xpZ2h0MicsXHJcbiAgICAgIGFuaW1hdGlvbkVuYWJsZWQ6IHRydWUsXHJcbiAgICAgIHdpZHRoOiB3aWR0aCxcclxuICAgICAgaGVpZ2h0OiA1MDAsXHJcbiAgICAgIGNyZWRpdFRleHQ6IFwiXCIsXHJcbiAgICAgIGNyZWRpdEhyZWY6IFwiXCIsXHJcbiAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgdGV4dDogc3RvY2tDaGFydFRpdGxlVGV4dFxyXG4gICAgICB9LFxyXG4gICAgICBjaGFydHM6IFt7XHJcbiAgICAgICAgYXhpc1g6IHtcclxuICAgICAgICAgIGxhYmVsRm9ybWF0dGVyOiB0aGlzLmxhYmVsRm9ybWF0dGVyRnVuY3Rpb24sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRvb2xUaXBDb250ZW50OiBudWxsLFxyXG4gICAgICAgICAgICB0eXBlOiAnbGluZScsXHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLnRyZW5kQ29sb3IsXHJcbiAgICAgICAgICAgIHNob3dJbkxlZ2VuZDogdHJ1ZSxcclxuICAgICAgICAgICAgbGVnZW5kTWFya2VyVHlwZTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIG1hcmtlclR5cGU6IFwibm9uZVwiLFxyXG4gICAgICAgICAgICBsZWdlbmRUZXh0OiBcIlRyZW5kXCIgKyB0aGlzLnRyZW5kLFxyXG4gICAgICAgICAgICBkYXRhUG9pbnRzOiB0aGlzLmxpbmVhclJlZ3Jlc3Npb25cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6IFwic3BsaW5lXCIsXHJcbiAgICAgICAgICAgIGRhdGFQb2ludHM6IHN0b2NrQ2hhcnRkYXRhUG9pbnRzLFxyXG4gICAgICAgICAgICBjb2xvcjogdGhpcy5tYWluQ29sb3IsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBjdWx0dXJlOiBcIml0XCJcclxuICAgICAgfV0sXHJcbiAgICAgIHJhbmdlU2VsZWN0b3I6IHtcclxuICAgICAgICBlbmFibGVkOiBmYWxzZVxyXG4gICAgICB9LFxyXG4gICAgICBuYXZpZ2F0b3I6IHtcclxuICAgICAgICBzbGlkZXI6IHtcclxuICAgICAgICAgIG1pbmltdW06IHN0b2NrQ2hhcnRNaW5pbXVtLFxyXG4gICAgICAgICAgbWF4aW11bTogc3RvY2tDaGFydE1heGltdW1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlXHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxGb3JtYXR0ZXJGdW5jdGlvbihlKSB7XHJcbiAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgbGV0IGRpcnR5TGFiZWw7XHJcbiAgICBsZXQgZGF0ZSA9IGUudmFsdWU7XHJcblxyXG4gICAgICBsZXQgbmV3WWVhcjogbnVtYmVyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICBsZXQgbmV3TW9udGg6IG51bWJlciA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgIGxldCBuZXdNb250aFN0cmluZzogc3RyaW5nO1xyXG4gICAgICBpZiAobmV3TW9udGggPCAxMCkge1xyXG4gICAgICBuZXdNb250aFN0cmluZyA9IFwiMFwiICsgbmV3TW9udGgudG9TdHJpbmcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgbmV3TW9udGhTdHJpbmcgPSBuZXdNb250aC50b1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBuZXdEYXk6IG51bWJlciA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG4gICAgICBsZXQgbmV3RGF5U3RyaW5nOiBzdHJpbmc7XHJcbiAgICAgIGlmIChuZXdEYXkgPCAxMCkge1xyXG4gICAgICBuZXdEYXlTdHJpbmcgPSBcIjBcIiArIG5ld0RheS50b1N0cmluZygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXlTdHJpbmcgPSBuZXdEYXkudG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbmV3SG91cjogbnVtYmVyID0gZGF0ZS5nZXRIb3VycygpO1xyXG4gICAgICBsZXQgbmV3SG91clN0cmluZzogc3RyaW5nO1xyXG4gICAgICBpZiAobmV3SG91ciA8IDEwKSB7XHJcbiAgICAgIG5ld0hvdXJTdHJpbmcgPSBcIjBcIiArIG5ld0hvdXIudG9TdHJpbmcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgbmV3SG91clN0cmluZyA9IG5ld0hvdXIudG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbmV3TWludXRlOiBudW1iZXIgPSBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICAgICAgbGV0IG5ld01pbnV0ZVN0cmluZzogc3RyaW5nO1xyXG4gICAgICBpZiAobmV3TWludXRlIDwgMTApIHtcclxuICAgICAgbmV3TWludXRlU3RyaW5nID0gXCIwXCIgKyBuZXdNaW51dGUudG9TdHJpbmcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgbmV3TWludXRlU3RyaW5nID0gbmV3TWludXRlLnRvU3RyaW5nKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRpcnR5TGFiZWwgPSBuZXdEYXlTdHJpbmcgKyBcIi9cIiArIG5ld01vbnRoU3RyaW5nICsgXCIvXCIgKyBuZXdZZWFyLnRvU3RyaW5nKCkgKyBcIiBcIiArIG5ld0hvdXJTdHJpbmcgICsgXCI6XCIgKyBuZXdNaW51dGVTdHJpbmc7XHJcblxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xyXG4gICAgICAgIGxhYmVsICs9IGRpcnR5TGFiZWxbaV07XHJcbiAgICAgIH1cclxuICAgICAgbGFiZWwgKz0gXCIgXCI7XHJcbiAgICAgIGZvciAobGV0IGkgPSAxMTsgaSA8IDE2OyBpKyspIHtcclxuICAgICAgICBsYWJlbCArPSBkaXJ0eUxhYmVsW2ldO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL2xhYmVsID0gbGFiZWwucmVwbGFjZShcIjAwOjAwXCIsXCJcIik7XHJcbiAgICBcclxuICAgIHJldHVybiBsYWJlbDtcclxuICB9ICBcclxuICBcclxuXHJcbn1cclxuIiwiPGNhbnZhc2pzLXN0b2NrY2hhcnQgKm5nSWY9XCJsb2FkZWRcIiBbb3B0aW9uc109XCJzdG9ja0NoYXJ0T3B0aW9uc1wiPjwvY2FudmFzanMtc3RvY2tjaGFydD5cbjxkaXYgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiIWxvYWRlZFwiPjxiPnt7dGl0bGV9fTo8L2I+IE5lc3N1biBkYXRvIHRyb3ZhdG8gbmVsbCdpbnRlcnZhbGxvIHNwZWNpZmljYXRvITwvZGl2PiJdfQ==
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2dyYXBocy9ncmFwaC9ncmFwaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZ3JhcGhzL2dyYXBoL2dyYXBoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxPQUFPLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBU3hDLE1BQU0sT0FBTyxjQUFjO0lBMEJ6QixZQUNVLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFuQmIsU0FBSSxHQUFrQixJQUFJLEtBQUssRUFBVSxDQUFDO1FBQ3pDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkMsZUFBVSxHQUFXLFNBQVMsQ0FBQztRQUMvQixjQUFTLEdBQVcsU0FBUyxDQUFDO1FBVzlCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsWUFBTyxHQUFXLENBQUMsQ0FBQztJQUlmLENBQUM7SUF6Qk4sUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQXdCRCxRQUFRO1FBRU4sSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGlDQUFpQztRQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFH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LEdBQUcsR0FBRyxjQUFjLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLEdBQUcsYUFBYSxHQUFJLEdBQUcsR0FBRyxlQUFlLENBQUM7UUFFM0gsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQixLQUFLLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsS0FBSyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4QjtRQUVELG9DQUFvQztRQUV0QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzRHQXhMVSxjQUFjO2dHQUFkLGNBQWMscUpDWjNCLGlOQUMyRzs0RkRXOUYsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxPQUFPOytGQVFqQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU0xQixJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBQ0csS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29vcmRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2dyYXBoLm1vZGVsJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgKiBhcyBzcyBmcm9tICdzaW1wbGUtc3RhdGlzdGljcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdncmFwaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXBoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ncmFwaC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgR3JhcGhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIHRoaXMubG9hZGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvYWRHcmFwaChNYXRoLmZsb29yKHdpbmRvdy5pbm5lcldpZHRoLzIpKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dChcImRhdGFcIikgZGF0YTogQXJyYXk8Q29vcmRzPiA9IG5ldyBBcnJheTxDb29yZHM+KCk7XHJcbiAgQElucHV0KFwidGl0bGVcIikgdGl0bGU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHRyZW5kQ29sb3I6IHN0cmluZyA9ICcjRUIwMTAyJztcclxuICBtYWluQ29sb3I6IHN0cmluZyA9ICcjMDA2Y2FkJztcclxuXHJcbiAgbTogbnVtYmVyOyAvLyBtIG9mIHRoZSBsaW5lYXIgcmVncmVzc2lvblxyXG4gIHE6IG51bWJlcjsgLy8gcSBvZiB0aGUgbGluZWFyIHJlZ3Jlc3Npb25cclxuICB0cmVuZDogc3RyaW5nOyAvLyB0cmVuZCBzdHJpbmdcclxuICBsaW5lYXJSZWdyZXNzaW9uOiBBcnJheTxDb29yZHM+OyAvLyB2YXJpYWJsZSB1c2VkIHRvIHN0b3JlIHRoZSBsaW5lYXIgcmVncmVzc2lvbiBwb2ludHMgdG8gcGxvdFxyXG5cclxuXHJcblxyXG4gIHN0b2NrQ2hhcnRPcHRpb25zOiBhbnk7XHJcblxyXG4gIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvdW50ZXI6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcclxuICAgICkge30gIFxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB2YXIgc2VsZiA9IHRoaXM7XHJcblxyXG4gICAgLy8gQWdnaXVzdGFtZW50byBlIHNjcml0dHVyYSBkYXRpXHJcbiAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCA+IDApe1xyXG4gICAgICB0aGlzLmxvYWRHcmFwaChNYXRoLmZsb29yKHdpbmRvdy5pbm5lcldpZHRoLzIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvYWRHcmFwaCh3aWR0aDogbnVtYmVyKXtcclxuXHJcbiAgICB2YXIgbGFzdHZhbHVlID0gdGhpcy5kYXRhWzBdO1xyXG4gICAgdmFyIGZpcnN0dmFsdWUgPSB0aGlzLmRhdGFbdGhpcy5kYXRhLmxlbmd0aC0xXTtcclxuXHJcbiAgICB2YXIgc3RvY2tDaGFydE1pbmltdW0gPSBuZXcgRGF0ZShmaXJzdHZhbHVlLngpO1xyXG4gICAgdmFyIHN0b2NrQ2hhcnRNYXhpbXVtID0gbmV3IERhdGUobGFzdHZhbHVlLngpO1xyXG4gICAgdmFyIHN0b2NrQ2hhcnRUaXRsZVRleHQgPSB0aGlzLnRpdGxlO1xyXG4gICAgdmFyIHN0b2NrQ2hhcnRkYXRhUG9pbnRzID0gdGhpcy5kYXRhO1xyXG5cclxuICAgIHRoaXMubGluZWFyUmVncmVzc2lvbiA9IG5ldyBBcnJheTxDb29yZHM+KCk7XHJcbiAgICB0aGlzLnRyZW5kID0gXCJcIjtcclxuXHJcbiAgICBzdG9ja0NoYXJ0ZGF0YVBvaW50cy5yZXZlcnNlKCk7XHJcbiAgICBpZiAoc3RvY2tDaGFydGRhdGFQb2ludHMubGVuZ3RoID4gMikge1xyXG4gICAgICBsZXQgeCA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaTxzdG9ja0NoYXJ0ZGF0YVBvaW50cy5sZW5ndGg7IGkgKyspIHtcclxuICAgICAgICB4LnB1c2goW2ksIHN0b2NrQ2hhcnRkYXRhUG9pbnRzW2ldLnldKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgcGFyYW1ldGVycyA9IHNzLmxpbmVhclJlZ3Jlc3Npb24oeCk7XHJcbiAgICAgIHRoaXMubSA9IHBhcmFtZXRlcnMubTtcclxuICAgICAgdGhpcy5xID0gcGFyYW1ldGVycy5iO1xyXG4gICAgICBpZiAodGhpcy5tID4gMCkge1xyXG4gICAgICAgICAgdGhpcy50cmVuZCArPSBcIiDihpdcIjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubSA8IDApIHtcclxuICAgICAgICAgIHRoaXMudHJlbmQgKz0gXCIg4oaYXCI7XHJcbiAgICAgIH1cclxuICAgICAgLy8gY29uc29sZS5sb2coeCk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHN0b2NrQ2hhcnRkYXRhUG9pbnRzKTtcclxuICAgICAgXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpPHN0b2NrQ2hhcnRkYXRhUG9pbnRzLmxlbmd0aDsgaSArKykge1xyXG4gICAgICAgIGlmIChpID09IDAgfHwgaSA9PSBzdG9ja0NoYXJ0ZGF0YVBvaW50cy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICB0aGlzLmxpbmVhclJlZ3Jlc3Npb24ucHVzaCh7eDogc3RvY2tDaGFydGRhdGFQb2ludHNbaV0ueCxcclxuICAgICAgICAgICAgeTogdGhpcy5tKmkgKyB0aGlzLnEsXHJcbiAgICAgICAgICAgIGxhYmVsOiBzdG9ja0NoYXJ0ZGF0YVBvaW50c1tpXS5sYWJlbCxcclxuICAgICAgICAgICAgbmFtZTogc3RvY2tDaGFydGRhdGFQb2ludHNbaV0ubmFtZVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy90aGlzLmxpbmVhclJlZ3Jlc3Npb24ucmV2ZXJzZSgpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmxpbmVhclJlZ3Jlc3Npb24pO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLm0pO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RvY2tDaGFydE9wdGlvbnMgPSB7XHJcbiAgICAgIHRoZW1lOiAnbGlnaHQyJyxcclxuICAgICAgYW5pbWF0aW9uRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICBoZWlnaHQ6IDUwMCxcclxuICAgICAgY3JlZGl0VGV4dDogXCJcIixcclxuICAgICAgY3JlZGl0SHJlZjogXCJcIixcclxuICAgICAgdGl0bGU6IHtcclxuICAgICAgICB0ZXh0OiBzdG9ja0NoYXJ0VGl0bGVUZXh0XHJcbiAgICAgIH0sXHJcbiAgICAgIGNoYXJ0czogW3tcclxuICAgICAgICBheGlzWDoge1xyXG4gICAgICAgICAgbGFiZWxGb3JtYXR0ZXI6IHRoaXMubGFiZWxGb3JtYXR0ZXJGdW5jdGlvbixcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGE6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdG9vbFRpcENvbnRlbnQ6IG51bGwsXHJcbiAgICAgICAgICAgIHR5cGU6ICdsaW5lJyxcclxuICAgICAgICAgICAgY29sb3I6IHRoaXMudHJlbmRDb2xvcixcclxuICAgICAgICAgICAgc2hvd0luTGVnZW5kOiB0cnVlLFxyXG4gICAgICAgICAgICBsZWdlbmRNYXJrZXJUeXBlOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgbWFya2VyVHlwZTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIGxlZ2VuZFRleHQ6IFwiVHJlbmRcIiArIHRoaXMudHJlbmQsXHJcbiAgICAgICAgICAgIGRhdGFQb2ludHM6IHRoaXMubGluZWFyUmVncmVzc2lvblxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogXCJzcGxpbmVcIixcclxuICAgICAgICAgICAgZGF0YVBvaW50czogc3RvY2tDaGFydGRhdGFQb2ludHMsXHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLm1haW5Db2xvcixcclxuICAgICAgICAgIH1cclxuICAgICAgICBdLFxyXG4gICAgICAgIGN1bHR1cmU6IFwiaXRcIlxyXG4gICAgICB9XSxcclxuICAgICAgcmFuZ2VTZWxlY3Rvcjoge1xyXG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICAgIH0sXHJcbiAgICAgIG5hdmlnYXRvcjoge1xyXG4gICAgICAgIHNsaWRlcjoge1xyXG4gICAgICAgICAgbWluaW11bTogc3RvY2tDaGFydE1pbmltdW0sXHJcbiAgICAgICAgICBtYXhpbXVtOiBzdG9ja0NoYXJ0TWF4aW11bVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2VcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBsYWJlbEZvcm1hdHRlckZ1bmN0aW9uKGUpIHtcclxuICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICBsZXQgZGlydHlMYWJlbDtcclxuICAgIGxldCBkYXRlID0gZS52YWx1ZTtcclxuXHJcbiAgICAgIGxldCBuZXdZZWFyOiBudW1iZXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgIGxldCBuZXdNb250aDogbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgICAgbGV0IG5ld01vbnRoU3RyaW5nOiBzdHJpbmc7XHJcbiAgICAgIGlmIChuZXdNb250aCA8IDEwKSB7XHJcbiAgICAgIG5ld01vbnRoU3RyaW5nID0gXCIwXCIgKyBuZXdNb250aC50b1N0cmluZygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdNb250aFN0cmluZyA9IG5ld01vbnRoLnRvU3RyaW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG5ld0RheTogbnVtYmVyID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICAgIGxldCBuZXdEYXlTdHJpbmc6IHN0cmluZztcclxuICAgICAgaWYgKG5ld0RheSA8IDEwKSB7XHJcbiAgICAgIG5ld0RheVN0cmluZyA9IFwiMFwiICsgbmV3RGF5LnRvU3RyaW5nKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld0RheVN0cmluZyA9IG5ld0RheS50b1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBuZXdIb3VyOiBudW1iZXIgPSBkYXRlLmdldEhvdXJzKCk7XHJcbiAgICAgIGxldCBuZXdIb3VyU3RyaW5nOiBzdHJpbmc7XHJcbiAgICAgIGlmIChuZXdIb3VyIDwgMTApIHtcclxuICAgICAgbmV3SG91clN0cmluZyA9IFwiMFwiICsgbmV3SG91ci50b1N0cmluZygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdIb3VyU3RyaW5nID0gbmV3SG91ci50b1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBuZXdNaW51dGU6IG51bWJlciA9IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgICBsZXQgbmV3TWludXRlU3RyaW5nOiBzdHJpbmc7XHJcbiAgICAgIGlmIChuZXdNaW51dGUgPCAxMCkge1xyXG4gICAgICBuZXdNaW51dGVTdHJpbmcgPSBcIjBcIiArIG5ld01pbnV0ZS50b1N0cmluZygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdNaW51dGVTdHJpbmcgPSBuZXdNaW51dGUudG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGlydHlMYWJlbCA9IG5ld0RheVN0cmluZyArIFwiL1wiICsgbmV3TW9udGhTdHJpbmcgKyBcIi9cIiArIG5ld1llYXIudG9TdHJpbmcoKSArIFwiIFwiICsgbmV3SG91clN0cmluZyAgKyBcIjpcIiArIG5ld01pbnV0ZVN0cmluZztcclxuXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XHJcbiAgICAgICAgbGFiZWwgKz0gZGlydHlMYWJlbFtpXTtcclxuICAgICAgfVxyXG4gICAgICBsYWJlbCArPSBcIiBcIjtcclxuICAgICAgZm9yIChsZXQgaSA9IDExOyBpIDwgMTY7IGkrKykge1xyXG4gICAgICAgIGxhYmVsICs9IGRpcnR5TGFiZWxbaV07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vbGFiZWwgPSBsYWJlbC5yZXBsYWNlKFwiMDA6MDBcIixcIlwiKTtcclxuICAgIFxyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH0gIFxyXG4gIFxyXG5cclxufVxyXG4iLCI8Y2FudmFzanMtc3RvY2tjaGFydCAqbmdJZj1cImxvYWRlZFwiIFtvcHRpb25zXT1cInN0b2NrQ2hhcnRPcHRpb25zXCI+PC9jYW52YXNqcy1zdG9ja2NoYXJ0PlxyXG48ZGl2IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cIiFsb2FkZWRcIj48Yj57e3RpdGxlfX06PC9iPiBOZXNzdW4gZGF0byB0cm92YXRvIG5lbGwnaW50ZXJ2YWxsbyBzcGVjaWZpY2F0byE8L2Rpdj4iXX0=
|
|
@@ -56,10 +56,12 @@ export class TmwImageMarkerComponent {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
newMarker() {
|
|
59
|
-
var startX =
|
|
60
|
-
var startY =
|
|
61
|
-
var left = this.randomIntFromInterval(startX
|
|
62
|
-
var top = this.randomIntFromInterval(startY
|
|
59
|
+
var startX = 40;
|
|
60
|
+
var startY = 40;
|
|
61
|
+
//var left = this.randomIntFromInterval(startX-100,startX+100);
|
|
62
|
+
//var top = this.randomIntFromInterval(startY-100,startY+100);
|
|
63
|
+
var left = startX;
|
|
64
|
+
var top = startY;
|
|
63
65
|
var description;
|
|
64
66
|
var caption = '0';
|
|
65
67
|
// Creazione della caption
|
|
@@ -346,4 +348,4 @@ export class OutMarker {
|
|
|
346
348
|
}
|
|
347
349
|
export class MarkedImage {
|
|
348
350
|
}
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG13LWltYWdlLW1hcmtlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdG13LWltYWdlLW1hcmtlci90bXctaW1hZ2UtbWFya2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90bXctaW1hZ2UtbWFya2VyL3Rtdy1pbWFnZS1tYXJrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBT2pFLE1BQU0sT0FBTyx1QkFBdUI7SUFrQ2xDO1FBN0JTLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBVyxJQUFJLENBQUM7UUFFckIsbUJBQWMsR0FBRyxZQUFZLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxHQUFHLENBQUM7UUFFcEIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFN0IsZ0JBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMzRCxTQUFJLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFHNUUsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBR2xCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBRXBDLFlB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QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZhYnJpYyB9IGZyb20gJ2ZhYnJpYyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndG13LWltYWdlLW1hcmtlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rtdy1pbWFnZS1tYXJrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rtdy1pbWFnZS1tYXJrZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG13SW1hZ2VNYXJrZXJDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBzcmM6IHN0cmluZztcclxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGluQ29uZmlnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2F2ZWRNYXJrZXJzOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgb3V0cHV0TWltZVR5cGUgPSAnaW1hZ2UvanBlZyc7XHJcbiAgQElucHV0KCkgcHVibGljIG91dHB1dFF1YWxpdHkgPSAwLjg7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JjZVNpemVDYW52YXMgPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgY2xvc2VEaWFsb2c6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgc2F2ZTogRXZlbnRFbWl0dGVyPE1hcmtlZEltYWdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TWFya2VkSW1hZ2U+KCk7XHJcblxyXG4gIGNvbXBvbmVudEd1aWQ6IHN0cmluZztcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgY2FudmFzOiBmYWJyaWMuQ2FudmFzO1xyXG4gIHByaXZhdGUgc3RhY2s6IGZhYnJpYy5PYmplY3RbXSA9IFtdO1xyXG5cclxuICBtYXJrZXJzOiBBcnJheTxNYXJrZXI+ID0gbmV3IEFycmF5PE1hcmtlcj4oKTtcclxuICBvdXRtYXJrZXJzOiBBcnJheTxPdXRNYXJrZXI+ID0gbmV3IEFycmF5PE91dE1hcmtlcj4oKTtcclxuICBtYXJrZWRJbWFnZTogTWFya2VkSW1hZ2UgPSBuZXcgTWFya2VkSW1hZ2UoKTtcclxuXHJcbiAgY2FuVW5kbzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhblJlZG86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwcml2YXRlIGltYWdlVXNlZD86IGZhYnJpYy5JbWFnZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gICAgLy8gQ3JlYXppb25lIGRpIHVuYSBHVUlEIHVuaWNhIHBlciBpbCBjb21wb25lbnRlXHJcbiAgICB0aGlzLmNvbXBvbmVudEd1aWQgPSAneHh4eC14eHh4LXh4eHgteHh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbiAoYykge1xyXG4gICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxNiB8IDAsXHJcbiAgICAgICAgdiA9IGMgPT0gJ3gnID8gciA6IChyICYgMHgzIHwgMHg4KTtcclxuICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgY2FudmFzU2NhbGVkRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29tcG9uZW50R3VpZCk7XHJcbiAgICB0aGlzLmNhbnZhcyA9IG5ldyBmYWJyaWMuQ2FudmFzKGNhbnZhc1NjYWxlZEVsZW1lbnQsIHtcclxuICAgICAgaG92ZXJDdXJzb3I6ICdwb2ludGVyJyxcclxuICAgICAgaXNEcmF3aW5nTW9kZTogZmFsc2UsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2FudmFzLmJhY2tncm91bmRDb2xvciA9ICd3aGl0ZSc7XHJcblxyXG4gICAgaWYgKHRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuaW1wb3J0UGhvdG9Gcm9tU3JjKHRoaXMuc3JjKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy53aWR0aCB8fCAhdGhpcy5oZWlnaHQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHdpZHRoIG9yIGhpZ2h0IGdpdmVuICEnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jYW52YXMuc2V0V2lkdGgodGhpcy53aWR0aCk7XHJcbiAgICAgIHRoaXMuY2FudmFzLnNldEhlaWdodCh0aGlzLmhlaWdodCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jYW52YXMub24oJ3BhdGg6Y3JlYXRlZCcsICgpID0+IHtcclxuICAgICAgdGhpcy5zdGFjayA9IFtdO1xyXG4gICAgICB0aGlzLnNldFVuZG9SZWRvKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgfSAgXHJcblxyXG4gIG5ld01hcmtlcigpe1xyXG4gICAgdmFyIHN0YXJ0WCA9IE1hdGguZmxvb3IodGhpcy53aWR0aCAvIDIpO1xyXG4gICAgdmFyIHN0YXJ0WSA9IE1hdGguZmxvb3IodGhpcy5oZWlnaHQgLyAyKTtcclxuXHJcbiAgICB2YXIgbGVmdCA9IHRoaXMucmFuZG9tSW50RnJvbUludGVydmFsKHN0YXJ0WC0xMDAsc3RhcnRYKzEwMCk7XHJcbiAgICB2YXIgdG9wID0gdGhpcy5yYW5kb21JbnRGcm9tSW50ZXJ2YWwoc3RhcnRZLTEwMCxzdGFydFkrMTAwKTtcclxuICAgIHZhciBkZXNjcmlwdGlvbjogJyc7XHJcbiAgICB2YXIgY2FwdGlvbiA9ICcwJztcclxuXHJcbiAgICAvLyBDcmVhemlvbmUgZGVsbGEgY2FwdGlvblxyXG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gMTAwMDAwOyBpKyspe1xyXG4gICAgICBpZiAodGhpcy5tYXJrZXJzLmZpbmQoeCA9PiB4LmNhcHRpb24gPT0gaS50b1N0cmluZygpKSA9PSBudWxsKXtcclxuICAgICAgICBjYXB0aW9uID0gaS50b1N0cmluZygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgICB0aGlzLmNyZWF0ZU1hcmtlcih0b3AsbGVmdCxjYXB0aW9uLGRlc2NyaXB0aW9uKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1hcmtlcih0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyLCBjYXB0aW9uOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpe1xyXG5cclxuICAgIC8qXHJcbiAgICAqIENyZW8gdW4gbnVvdm8gTWFya2VyXHJcbiAgICAqL1xyXG5cclxuICAgIC8vIENyZW8gaWwgY2VyY2hpb1xyXG4gICAgdmFyIGNpcmNsZSA9IG5ldyBmYWJyaWMuQ2lyY2xlKHtcclxuICAgICAgcmFkaXVzOiAzMCxcclxuICAgICAgb3BhY2l0eTogMC43LFxyXG4gICAgICBmaWxsOiAnZGFya2JsdWUnLFxyXG4gICAgICBzdHJva2U6ICd3aGl0ZScsXHJcbiAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICBvcmlnaW5YOiAnY2VudGVyJywgXHJcbiAgICAgIG9yaWdpblk6ICdjZW50ZXInIFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQ3JlbyBpbCB0ZXN0byBkZW50cm8gYWwgY2VyY2hpbyBcclxuICAgIHZhciB0ZXh0ID0gbmV3IGZhYnJpYy5UZXh0KGNhcHRpb24sXHJcbiAgICB7ICBmb250U2l6ZTogMjUsIFxyXG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLCBcclxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICBmaWxsIDogJ3doaXRlJyBcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gQ3JlbyBpbCBncnVwcG8gbmVsIHF1YWxlIG1ldHRvIGNlcmNoaW8gZSB0ZXN0byBpbiBtb2RvIGNoZSBzaSBtdW92YW5vIGluc2llbWVcclxuICAgIHZhciBncm91cCA9IG5ldyBmYWJyaWMuR3JvdXAoWyBjaXJjbGUsIHRleHQgXSwgeyAgbGVmdDogbGVmdCwgdG9wOiB0b3AgfSk7ICAgIFxyXG5cclxuICAgIC8vIENyZW8gdW4gb2dnZXR0byBtYXJrZXIgY2hlIGNvbnRpZW5lIGdsaSBlbGVtZW50aSBhdG9taWNpLiBTZXJ2ZSBwZXIgbGUgY2FuY2VsbGF6aW9uaSBlIGlsIHJvbGxiYWNrL21vZGlmaWNhIGRlZ2xpIGVsZW1lbnRpXHJcbiAgICB2YXIgbWFya2VyOiBNYXJrZXIgPSBuZXcgTWFya2VyKCk7XHJcbiAgICBtYXJrZXIuY2lyY2xlID0gY2lyY2xlO1xyXG4gICAgbWFya2VyLnRleHQgPSB0ZXh0O1xyXG4gICAgbWFya2VyLmdyb3VwID0gZ3JvdXA7XHJcbiAgICBtYXJrZXIuY2FwdGlvbiA9IGNhcHRpb247XHJcbiAgICBtYXJrZXIuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcclxuXHJcbiAgICAvLyBBZ2dpdW5nbyBpbCBncnVwcG8gbmVsbGEgbGlzdGEgZGVpIGdydXBwaVxyXG4gICAgdGhpcy5tYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgIHRoaXMubWFya2Vycy5zb3J0KChhLGIpPT4geyByZXR1cm4gTnVtYmVyKGEuY2FwdGlvbikgLSBOdW1iZXIoYi5jYXB0aW9uKSB9KTtcclxuXHJcbiAgICAvLyBBZ2dpdW5nbyBpbCBncnVwcG8gYWxsJ2ltbWFnaW5lIGEgc2NoZXJtb1xyXG4gICAgdGhpcy5jYW52YXMuYWRkKGdyb3VwKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZU1hcmtlckJ5SW5kZXgoaW5kZXg6IG51bWJlcil7XHJcbiAgICB0aGlzLmNhbnZhcy5yZW1vdmUodGhpcy5tYXJrZXJzW2luZGV4XS5ncm91cCk7XHJcbiAgICB0aGlzLm1hcmtlcnMuc3BsaWNlKGluZGV4LDEpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQWxsTWFya2Vycygpe1xyXG4gICAgdGhpcy5tYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xyXG4gICAgICB0aGlzLmNhbnZhcy5yZW1vdmUobWFya2VyLmdyb3VwKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5tYXJrZXJzID0gbmV3IEFycmF5PE1hcmtlcj4oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VW5kb1JlZG8oKSB7XHJcbiAgICB0aGlzLmNhblVuZG8gPSB0aGlzLmNhbnZhcy5nZXRPYmplY3RzKCkubGVuZ3RoID4gMDtcclxuICAgIHRoaXMuY2FuUmVkbyA9IHRoaXMuc3RhY2subGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIC8qXHJcblxyXG4gICAgLy8gQWN0aW9uc1xyXG4gICAgcHVibGljIHVuZG8oKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhblVuZG8pIHtcclxuICAgICAgICBjb25zdCBsYXN0SWQgPSB0aGlzLmNhbnZhcy5nZXRPYmplY3RzKCkubGVuZ3RoIC0gMTtcclxuICAgICAgICBjb25zdCBsYXN0T2JqID0gdGhpcy5jYW52YXMuZ2V0T2JqZWN0cygpW2xhc3RJZF07XHJcbiAgICAgICAgdGhpcy5zdGFjay5wdXNoKGxhc3RPYmopO1xyXG4gICAgICAgIHRoaXMuY2FudmFzLnJlbW92ZShsYXN0T2JqKTtcclxuICAgICAgICB0aGlzLnNldFVuZG9SZWRvKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIHB1YmxpYyByZWRvKCkge1xyXG4gICAgICBpZiAodGhpcy5jYW5SZWRvKSB7XHJcbiAgICAgICAgY29uc3QgZmlyc3RJblN0YWNrID0gdGhpcy5zdGFjay5zcGxpY2UoLTEsIDEpWzBdO1xyXG4gICAgICAgIGlmIChmaXJzdEluU3RhY2spIHtcclxuICAgICAgICAgIHRoaXMuY2FudmFzLmluc2VydEF0KGZpcnN0SW5TdGFjaywgdGhpcy5jYW52YXMuZ2V0T2JqZWN0cygpLmxlbmd0aCAtIDEsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRVbmRvUmVkbygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwdWJsaWMgY2xlYXJDYW52YXMoKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhbnZhcykge1xyXG4gICAgICAgIHRoaXMuY2FudmFzLnJlbW92ZSguLi50aGlzLmNhbnZhcy5nZXRPYmplY3RzKCkpO1xyXG4gICAgICAgIHRoaXMuc2V0VW5kb1JlZG8oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuKi9cclxuXHJcbiAgcHJpdmF0ZSBpbXBvcnRQaG90b0Zyb21TcmMoc3JjOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBpc0ZpcnN0VHJ5ID0gdHJ1ZTtcclxuICAgIGNvbnN0IGltZ0VsID0gbmV3IEltYWdlKCk7XHJcbiAgICBpbWdFbC5zZXRBdHRyaWJ1dGUoJ2Nyb3NzT3JpZ2luJywgJ2Fub255bW91cycpO1xyXG4gICAgaW1nRWwuc3JjID0gc3JjO1xyXG4gICAgaW1nRWwub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgLy8gUmV0cnkgd2l0aCBjb3JzIHByb3h5XHJcbiAgICAgIGlmIChpc0ZpcnN0VHJ5KSB7XHJcbiAgICAgICAgaW1nRWwuc3JjID0gJ2h0dHBzOi8vY29ycy1hbnl3aGVyZS5oZXJva3VhcHAuY29tLycgKyB0aGlzLnNyYztcclxuICAgICAgICBpc0ZpcnN0VHJ5ID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IFwiQ09SUyBFcnJvclwiO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaW1nRWwub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmltYWdlVXNlZCA9IG5ldyBmYWJyaWMuSW1hZ2UoaW1nRWwpO1xyXG5cclxuICAgICAgdGhpcy5pbWFnZVVzZWQuY2xvbmVBc0ltYWdlKGltYWdlID0+IHtcclxuICAgICAgICBsZXQgd2lkdGggPSBpbWdFbC53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gaW1nRWwuaGVpZ2h0O1xyXG5cclxuICAgICAgICBpZiAodGhpcy53aWR0aCkge1xyXG4gICAgICAgICAgd2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5oZWlnaHQpIHtcclxuICAgICAgICAgIGhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gcmljYWxjb2xvIGxlIGRpbWVuc2lvbmkgZGVsbCdpbW1hZ2luZSBwZXIgZmFybGEgZW50cmFyZSBuZWxsbyBzY2hlcm1vXHJcbiAgICAgICAgLy8gZGltaW51aXNjbyBkaSB1biA1JSBhbGxhIHZvbHRhIGxlIGRpbWVuc2lvbmkgZmlubyBhIHJpZW50cmFyZSBuZWxsJzg1JSBkZWxsYSBncmFuZGV6emEgZGVsbGEgZmluZXN0cmFcclxuICAgICAgICBsZXQgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgICAgICBsZXQgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgICAgIHdoaWxlKHdpZHRoID4gd2luZG93V2lkdGggKiAwLjg1KXtcclxuICAgICAgICAgIHdpZHRoID0gd2lkdGggKiAwLjk1O1xyXG4gICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0ICogMC45NTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2hpbGUoaGVpZ2h0ID4gd2luZG93SGVpZ2h0ICogMC44NSl7XHJcbiAgICAgICAgICB3aWR0aCA9IHdpZHRoICogMC45NTtcclxuICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAqIDAuOTU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgaW1hZ2Uuc2NhbGVUb1dpZHRoKHdpZHRoLCBmYWxzZSk7XHJcbiAgICAgICAgaW1hZ2Uuc2NhbGVUb0hlaWdodChoZWlnaHQsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgdGhpcy5jYW52YXMuc2V0QmFja2dyb3VuZEltYWdlKGltYWdlLCAoKGltZzogSFRNTEltYWdlRWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGltZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JjZVNpemVDYW52YXMpIHtcclxuICAgICAgICAgICAgICB0aGlzLmNhbnZhcy5zZXRXaWR0aCh3aWR0aCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYW52YXMuc2V0SGVpZ2h0KGhlaWdodCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYW52YXMuc2V0V2lkdGgoaW1hZ2UuZ2V0U2NhbGVkV2lkdGgoKSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jYW52YXMuc2V0SGVpZ2h0KGltYWdlLmdldFNjYWxlZEhlaWdodCgpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLCB7XHJcbiAgICAgICAgICBjcm9zc09yaWdpbjogJ2Fub255bW91cycsXHJcbiAgICAgICAgICBvcmlnaW5YOiAnbGVmdCcsXHJcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNhdmVkTWFya2VycyAhPSBudWxsKXsgdGhpcy5sb2FkTWFya2VycygpOyB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbG9hZE1hcmtlcnMoKXtcclxuICAgIHZhciBtYXJrZXJzT2JqOiBBcnJheTxPdXRNYXJrZXI+ID0gSlNPTi5wYXJzZSh0aGlzLnNhdmVkTWFya2Vycyk7XHJcbiAgICBtYXJrZXJzT2JqLmZvckVhY2goKG1hcmtlcikgPT4ge1xyXG4gICAgICB0aGlzLmNyZWF0ZU1hcmtlcihtYXJrZXIudG9wLG1hcmtlci5sZWZ0LG1hcmtlci5jYXB0aW9uLG1hcmtlci5kZXNjcmlwdGlvbik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlSW1hZ2UoKXtcclxuXHJcbiAgICB0aGlzLm91dG1hcmtlcnMgPSBuZXcgQXJyYXk8T3V0TWFya2VyPigpO1xyXG5cclxuICAgIHRoaXMubWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcclxuICAgICAgdmFyIG91dG1hcmtlciA9IG5ldyBPdXRNYXJrZXIoKTtcclxuICAgICAgb3V0bWFya2VyLmNhcHRpb24gPSBtYXJrZXIuY2FwdGlvbjtcclxuICAgICAgb3V0bWFya2VyLmRlc2NyaXB0aW9uID0gbWFya2VyLmRlc2NyaXB0aW9uO1xyXG4gICAgICBvdXRtYXJrZXIudG9wID0gbWFya2VyLmdyb3VwLnRvcDtcclxuICAgICAgb3V0bWFya2VyLmxlZnQgPSBtYXJrZXIuZ3JvdXAubGVmdDtcclxuICAgICAgdGhpcy5vdXRtYXJrZXJzLnB1c2gob3V0bWFya2VyKTtcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKHRoaXMud2lkdGggJiYgdGhpcy5oZWlnaHQpIHtcclxuICAgICAgY29uc3QgY2FudmFzU2NhbGVkRWxlbWVudDogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgICAgY29uc3QgY2FudmFzU2NhbGVkID0gbmV3IGZhYnJpYy5DYW52YXMoY2FudmFzU2NhbGVkRWxlbWVudCk7XHJcbiAgICAgIGNhbnZhc1NjYWxlZC5iYWNrZ3JvdW5kQ29sb3IgPSAnd2hpdGUnO1xyXG5cclxuICAgICAgbmV3IE9ic2VydmFibGU8ZmFicmljLkNhbnZhcz4ob2JzZXJ2ZXIgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmltYWdlVXNlZCkge1xyXG5cclxuICAgICAgICAgICAgY2FudmFzU2NhbGVkLnNldEJhY2tncm91bmRJbWFnZSh0aGlzLmltYWdlVXNlZCwgKGltZzogSFRNTEltYWdlRWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICghaW1nKSB7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgRXJyb3IoJ0ltcG9zc2libGUgdG8gZHJhdyB0aGUgaW1hZ2Ugb24gdGhlIHRlbXBvcmFyeSBjYW52YXMnKSk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBjYW52YXNTY2FsZWQuc2V0V2lkdGgoaW1nLndpZHRoKTtcclxuICAgICAgICAgICAgICBjYW52YXNTY2FsZWQuc2V0SGVpZ2h0KGltZy5oZWlnaHQpO1xyXG5cclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGNhbnZhc1NjYWxlZCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiAnYW5vbnltb3VzJyxcclxuICAgICAgICAgICAgICBvcmlnaW5YOiAnbGVmdCcsXHJcbiAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCdcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY2FudmFzU2NhbGVkLnNldFdpZHRoKHRoaXMud2lkdGgpO1xyXG4gICAgICAgICAgY2FudmFzU2NhbGVkLnNldEhlaWdodCh0aGlzLmhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgICBsZXQgcHJvY2VzcyA9IG9mKGNhbnZhc1NjYWxlZCk7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuY2FudmFzLmdldE9iamVjdHMoKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJhdGlvWCA9IGNhbnZhc1NjYWxlZC5nZXRXaWR0aCgpIC8gdGhpcy5jYW52YXMuZ2V0V2lkdGgoKTtcclxuICAgICAgICAgICAgY29uc3QgcmF0aW9ZID0gY2FudmFzU2NhbGVkLmdldEhlaWdodCgpIC8gdGhpcy5jYW52YXMuZ2V0SGVpZ2h0KCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNhbnZhcy5nZXRPYmplY3RzKCkuZm9yRWFjaCgob3JpZ2luYWxPYmplY3Q6IGZhYnJpYy5PYmplY3QsIGk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgIHByb2Nlc3MgPSBwcm9jZXNzLnBpcGUoc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxmYWJyaWMuQ2FudmFzPihvYnNlcnZlck9iamVjdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIG9yaWdpbmFsT2JqZWN0LmNsb25lKChjbG9uZWRPYmplY3Q6IGZhYnJpYy5PYmplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9uZWRPYmplY3Quc2V0KCdsZWZ0Jywgb3JpZ2luYWxPYmplY3QubGVmdCAqIHJhdGlvWCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xvbmVkT2JqZWN0LnNldCgndG9wJywgb3JpZ2luYWxPYmplY3QudG9wICogcmF0aW9ZKTtcclxuICAgICAgICAgICAgICAgICAgICBjbG9uZWRPYmplY3Quc2NhbGVUb1dpZHRoKG9yaWdpbmFsT2JqZWN0LndpZHRoICogcmF0aW9YKTtcclxuICAgICAgICAgICAgICAgICAgICBjbG9uZWRPYmplY3Quc2NhbGVUb0hlaWdodChvcmlnaW5hbE9iamVjdC5oZWlnaHQgKiByYXRpb1kpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjYW52YXNTY2FsZWQuaW5zZXJ0QXQoY2xvbmVkT2JqZWN0LCBpLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FudmFzU2NhbGVkLnJlbmRlckFsbCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlck9iamVjdC5uZXh0KGNhbnZhc1NjYWxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXJPYmplY3QuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHByb2Nlc3M7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjYW52YXNTY2FsZWQucmVuZGVyQWxsKCk7XHJcbiAgICAgICAgY2FudmFzU2NhbGVkLmdldEVsZW1lbnQoKS50b0Jsb2IoXHJcbiAgICAgICAgICAoZGF0YTogQmxvYikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1hcmtlZEltYWdlLmltYWdlID0gZGF0YTtcclxuICAgICAgICAgICAgdGhpcy5tYXJrZWRJbWFnZS5vdXRtYXJrZXJzID0gdGhpcy5vdXRtYXJrZXJzO1xyXG4gICAgICAgICAgICB0aGlzLnNhdmUuZW1pdCh0aGlzLm1hcmtlZEltYWdlKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB0aGlzLm91dHB1dE1pbWVUeXBlLFxyXG4gICAgICAgICAgdGhpcy5vdXRwdXRRdWFsaXR5XHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbnZhcy5nZXRFbGVtZW50KCkudG9CbG9iKFxyXG4gICAgICAgIChkYXRhOiBCbG9iKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1hcmtlZEltYWdlLmltYWdlID0gZGF0YTtcclxuICAgICAgICAgIHRoaXMubWFya2VkSW1hZ2Uub3V0bWFya2VycyA9IHRoaXMub3V0bWFya2VycztcclxuICAgICAgICAgIHRoaXMuc2F2ZS5lbWl0KHRoaXMubWFya2VkSW1hZ2UpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGhpcy5vdXRwdXRNaW1lVHlwZSxcclxuICAgICAgICB0aGlzLm91dHB1dFF1YWxpdHlcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLy90aGlzLnNhdmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlKCl7XHJcbiAgICB0aGlzLmNsb3NlRGlhbG9nLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHJhbmRvbUludEZyb21JbnRlcnZhbChtaW4sIG1heCkgeyAvLyBtaW4gYW5kIG1heCBpbmNsdWRlZCBcclxuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW4pXHJcbiAgfVxyXG5cclxuICBsb2coZWwpe1xyXG4gICAgR2xvYmFsU2VydmljZS5kZWJ1Z0xvZyhcImltYWdlTWFya2VyIGVsZW1lbnQgXCIsZWwpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNYXJrZXIge1xyXG4gIGNpcmNsZTogZmFicmljLkNpcmNsZTtcclxuICB0ZXh0OiBmYWJyaWMuVGV4dDtcclxuICBncm91cDogZmFicmljLkdyb3VwO1xyXG4gIHRvcDogbnVtYmVyO1xyXG4gIGxlZnQ6IG51bWJlcjtcclxuICBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBPdXRNYXJrZXIge1xyXG4gIHRvcDogbnVtYmVyO1xyXG4gIGxlZnQ6IG51bWJlcjtcclxuICBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNYXJrZWRJbWFnZSB7XHJcbiAgb3V0bWFya2VyczogQXJyYXk8T3V0TWFya2VyPjtcclxuICBpbWFnZTogQmxvYjtcclxufSIsIjxkaXYgY2xhc3M9XCJjYW52YXMtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FudmFzXCI+XHJcbiAgICAgICAgPGNhbnZhcyBbaWRdPVwiY29tcG9uZW50R3VpZFwiPjwvY2FudmFzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbGJveFwiPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbWFya2VyQnV0dG9uXCIgKGNsaWNrKT1cIm5ld01hcmtlcigpXCI+Q3JlYSBudW92byBtYXJrZXI8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtMlwiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmRfb3ZlcmZsb3dfY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZF9jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgbWFya2VyIG9mIG1hcmtlcnM7IGluZGV4IGFzIGlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcHRpb25cIiBbaW5uZXJIVE1MXT1cIm1hcmtlci5jYXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0YXJlYVwiPjx0ZXh0YXJlYSAgWyhuZ01vZGVsKV09XCJtYXJrZXIuZGVzY3JpcHRpb25cIiAoY2xpY2spPVwibG9nKG1hcmtlci5kZXNjcmlwdGlvbilcIj48L3RleHRhcmVhPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlXCIgKGNsaWNrKT1cImRlbGV0ZU1hcmtlckJ5SW5kZXgoaSlcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtMlwiICpuZ0lmPVwiIWluQ29uZmlnXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIG1hcmtlckJ1dHRvblwiIChjbGljayk9XCJzYXZlSW1hZ2UoKVwiPlNhbHZhIEltbWFnaW5lPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG10LTJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXdhcm5pbmcgbWFya2VyQnV0dG9uXCIgKGNsaWNrKT1cInJlbW92ZUFsbE1hcmtlcnMoKVwiPlJpbXVvdmkgdHV0dGkgaSBtYXJrZXJzPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG10LTJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRhbmdlciBtYXJrZXJCdXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiPkFubnVsbGEgRGlzZWdubzwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuXHJcblxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
351
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG13LWltYWdlLW1hcmtlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdG13LWltYWdlLW1hcmtlci90bXctaW1hZ2UtbWFya2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90bXctaW1hZ2UtbWFya2VyL3Rtdy1pbWFnZS1tYXJrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBT2pFLE1BQU0sT0FBTyx1QkFBdUI7SUFrQ2xDO1FBN0JTLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBVyxJQUFJLENBQUM7UUFFckIsbUJBQWMsR0FBRyxZQUFZLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxHQUFHLENBQUM7UUFFcEIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFN0IsZ0JBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMzRCxTQUFJLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFHNUUsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBR2xCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBRXBDLFlB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QztJQUMxQixDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFFO1FBQ0osYUFBYSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBQyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDOztxSEF6WVUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsbVVDVnBDLG9vREFvQ007NEZEMUJPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7MEVBTW5CLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTs7QUErWFQsTUFBTSxPQUFPLE1BQU07SUFBbkI7UUFPRSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQUlFLGdCQUFXLEdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmFicmljIH0gZnJvbSAnZmFicmljJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ2xvYmFsLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bXctaW1hZ2UtbWFya2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG13LWltYWdlLW1hcmtlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG13LWltYWdlLW1hcmtlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbXdJbWFnZU1hcmtlckNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHNyYzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaW5Db25maWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzYXZlZE1hcmtlcnM6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBvdXRwdXRNaW1lVHlwZSA9ICdpbWFnZS9qcGVnJztcclxuICBASW5wdXQoKSBwdWJsaWMgb3V0cHV0UXVhbGl0eSA9IDAuODtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGZvcmNlU2l6ZUNhbnZhcyA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBjbG9zZURpYWxvZzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlOiBFdmVudEVtaXR0ZXI8TWFya2VkSW1hZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxNYXJrZWRJbWFnZT4oKTtcclxuXHJcbiAgY29tcG9uZW50R3VpZDogc3RyaW5nO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgaGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBjYW52YXM6IGZhYnJpYy5DYW52YXM7XHJcbiAgcHJpdmF0ZSBzdGFjazogZmFicmljLk9iamVjdFtdID0gW107XHJcblxyXG4gIG1hcmtlcnM6IEFycmF5PE1hcmtlcj4gPSBuZXcgQXJyYXk8TWFya2VyPigpO1xyXG4gIG91dG1hcmtlcnM6IEFycmF5PE91dE1hcmtlcj4gPSBuZXcgQXJyYXk8T3V0TWFya2VyPigpO1xyXG4gIG1hcmtlZEltYWdlOiBNYXJrZWRJbWFnZSA9IG5ldyBNYXJrZWRJbWFnZSgpO1xyXG5cclxuICBjYW5VbmRvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2FuUmVkbzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHByaXZhdGUgaW1hZ2VVc2VkPzogZmFicmljLkltYWdlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICAvLyBDcmVhemlvbmUgZGkgdW5hIEdVSUQgdW5pY2EgcGVyIGlsIGNvbXBvbmVudGVcclxuICAgIHRoaXMuY29tcG9uZW50R3VpZCA9ICd4eHh4LXh4eHgteHh4eC14eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uIChjKSB7XHJcbiAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMCxcclxuICAgICAgICB2ID0gYyA9PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpO1xyXG4gICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBjYW52YXNTY2FsZWRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jb21wb25lbnRHdWlkKTtcclxuICAgIHRoaXMuY2FudmFzID0gbmV3IGZhYnJpYy5DYW52YXMoY2FudmFzU2NhbGVkRWxlbWVudCwge1xyXG4gICAgICBob3ZlckN1cnNvcjogJ3BvaW50ZXInLFxyXG4gICAgICBpc0RyYXdpbmdNb2RlOiBmYWxzZSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jYW52YXMuYmFja2dyb3VuZENvbG9yID0gJ3doaXRlJztcclxuXHJcbiAgICBpZiAodGhpcy5zcmMpIHtcclxuICAgICAgdGhpcy5pbXBvcnRQaG90b0Zyb21TcmModGhpcy5zcmMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKCF0aGlzLndpZHRoIHx8ICF0aGlzLmhlaWdodCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gd2lkdGggb3IgaGlnaHQgZ2l2ZW4gIScpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNhbnZhcy5zZXRXaWR0aCh0aGlzLndpZHRoKTtcclxuICAgICAgdGhpcy5jYW52YXMuc2V0SGVpZ2h0KHRoaXMuaGVpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhbnZhcy5vbigncGF0aDpjcmVhdGVkJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLnN0YWNrID0gW107XHJcbiAgICAgIHRoaXMuc2V0VW5kb1JlZG8oKTtcclxuICAgIH0pO1xyXG5cclxuICB9ICBcclxuXHJcbiAgbmV3TWFya2VyKCl7XHJcbiAgICB2YXIgc3RhcnRYID0gNDA7XHJcbiAgICB2YXIgc3RhcnRZID0gNDA7XHJcblxyXG4gICAgLy92YXIgbGVmdCA9IHRoaXMucmFuZG9tSW50RnJvbUludGVydmFsKHN0YXJ0WC0xMDAsc3RhcnRYKzEwMCk7XHJcbiAgICAvL3ZhciB0b3AgPSB0aGlzLnJhbmRvbUludEZyb21JbnRlcnZhbChzdGFydFktMTAwLHN0YXJ0WSsxMDApO1xyXG4gICAgdmFyIGxlZnQgPSBzdGFydFg7XHJcbiAgICB2YXIgdG9wID0gc3RhcnRZO1xyXG4gICAgdmFyIGRlc2NyaXB0aW9uOiAnJztcclxuICAgIHZhciBjYXB0aW9uID0gJzAnO1xyXG5cclxuICAgIC8vIENyZWF6aW9uZSBkZWxsYSBjYXB0aW9uXHJcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8PSAxMDAwMDA7IGkrKyl7XHJcbiAgICAgIGlmICh0aGlzLm1hcmtlcnMuZmluZCh4ID0+IHguY2FwdGlvbiA9PSBpLnRvU3RyaW5nKCkpID09IG51bGwpe1xyXG4gICAgICAgIGNhcHRpb24gPSBpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIHRoaXMuY3JlYXRlTWFya2VyKHRvcCxsZWZ0LGNhcHRpb24sZGVzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlTWFya2VyKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIsIGNhcHRpb246IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyl7XHJcblxyXG4gICAgLypcclxuICAgICogQ3JlbyB1biBudW92byBNYXJrZXJcclxuICAgICovXHJcblxyXG4gICAgLy8gQ3JlbyBpbCBjZXJjaGlvXHJcbiAgICB2YXIgY2lyY2xlID0gbmV3IGZhYnJpYy5DaXJjbGUoe1xyXG4gICAgICByYWRpdXM6IDMwLFxyXG4gICAgICBvcGFjaXR5OiAwLjcsXHJcbiAgICAgIGZpbGw6ICdkYXJrYmx1ZScsXHJcbiAgICAgIHN0cm9rZTogJ3doaXRlJyxcclxuICAgICAgc3Ryb2tlV2lkdGg6IDIsXHJcbiAgICAgIG9yaWdpblg6ICdjZW50ZXInLCBcclxuICAgICAgb3JpZ2luWTogJ2NlbnRlcicgXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDcmVvIGlsIHRlc3RvIGRlbnRybyBhbCBjZXJjaGlvIFxyXG4gICAgdmFyIHRleHQgPSBuZXcgZmFicmljLlRleHQoY2FwdGlvbixcclxuICAgIHsgIGZvbnRTaXplOiAyNSwgXHJcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsIFxyXG4gICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgIGZpbGwgOiAnd2hpdGUnIFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAvLyBDcmVvIGlsIGdydXBwbyBuZWwgcXVhbGUgbWV0dG8gY2VyY2hpbyBlIHRlc3RvIGluIG1vZG8gY2hlIHNpIG11b3Zhbm8gaW5zaWVtZVxyXG4gICAgdmFyIGdyb3VwID0gbmV3IGZhYnJpYy5Hcm91cChbIGNpcmNsZSwgdGV4dCBdLCB7ICBsZWZ0OiBsZWZ0LCB0b3A6IHRvcCB9KTsgICAgXHJcblxyXG4gICAgLy8gQ3JlbyB1biBvZ2dldHRvIG1hcmtlciBjaGUgY29udGllbmUgZ2xpIGVsZW1lbnRpIGF0b21pY2kuIFNlcnZlIHBlciBsZSBjYW5jZWxsYXppb25pIGUgaWwgcm9sbGJhY2svbW9kaWZpY2EgZGVnbGkgZWxlbWVudGlcclxuICAgIHZhciBtYXJrZXI6IE1hcmtlciA9IG5ldyBNYXJrZXIoKTtcclxuICAgIG1hcmtlci5jaXJjbGUgPSBjaXJjbGU7XHJcbiAgICBtYXJrZXIudGV4dCA9IHRleHQ7XHJcbiAgICBtYXJrZXIuZ3JvdXAgPSBncm91cDtcclxuICAgIG1hcmtlci5jYXB0aW9uID0gY2FwdGlvbjtcclxuICAgIG1hcmtlci5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xyXG5cclxuICAgIC8vIEFnZ2l1bmdvIGlsIGdydXBwbyBuZWxsYSBsaXN0YSBkZWkgZ3J1cHBpXHJcbiAgICB0aGlzLm1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgdGhpcy5tYXJrZXJzLnNvcnQoKGEsYik9PiB7IHJldHVybiBOdW1iZXIoYS5jYXB0aW9uKSAtIE51bWJlcihiLmNhcHRpb24pIH0pO1xyXG5cclxuICAgIC8vIEFnZ2l1bmdvIGlsIGdydXBwbyBhbGwnaW1tYWdpbmUgYSBzY2hlcm1vXHJcbiAgICB0aGlzLmNhbnZhcy5hZGQoZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlTWFya2VyQnlJbmRleChpbmRleDogbnVtYmVyKXtcclxuICAgIHRoaXMuY2FudmFzLnJlbW92ZSh0aGlzLm1hcmtlcnNbaW5kZXhdLmdyb3VwKTtcclxuICAgIHRoaXMubWFya2Vycy5zcGxpY2UoaW5kZXgsMSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGxNYXJrZXJzKCl7XHJcbiAgICB0aGlzLm1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FudmFzLnJlbW92ZShtYXJrZXIuZ3JvdXApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1hcmtlcnMgPSBuZXcgQXJyYXk8TWFya2VyPigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVbmRvUmVkbygpIHtcclxuICAgIHRoaXMuY2FuVW5kbyA9IHRoaXMuY2FudmFzLmdldE9iamVjdHMoKS5sZW5ndGggPiAwO1xyXG4gICAgdGhpcy5jYW5SZWRvID0gdGhpcy5zdGFjay5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgLypcclxuXHJcbiAgICAvLyBBY3Rpb25zXHJcbiAgICBwdWJsaWMgdW5kbygpIHtcclxuICAgICAgaWYgKHRoaXMuY2FuVW5kbykge1xyXG4gICAgICAgIGNvbnN0IGxhc3RJZCA9IHRoaXMuY2FudmFzLmdldE9iamVjdHMoKS5sZW5ndGggLSAxO1xyXG4gICAgICAgIGNvbnN0IGxhc3RPYmogPSB0aGlzLmNhbnZhcy5nZXRPYmplY3RzKClbbGFzdElkXTtcclxuICAgICAgICB0aGlzLnN0YWNrLnB1c2gobGFzdE9iaik7XHJcbiAgICAgICAgdGhpcy5jYW52YXMucmVtb3ZlKGxhc3RPYmopO1xyXG4gICAgICAgIHRoaXMuc2V0VW5kb1JlZG8oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgcHVibGljIHJlZG8oKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhblJlZG8pIHtcclxuICAgICAgICBjb25zdCBmaXJzdEluU3RhY2sgPSB0aGlzLnN0YWNrLnNwbGljZSgtMSwgMSlbMF07XHJcbiAgICAgICAgaWYgKGZpcnN0SW5TdGFjaykge1xyXG4gICAgICAgICAgdGhpcy5jYW52YXMuaW5zZXJ0QXQoZmlyc3RJblN0YWNrLCB0aGlzLmNhbnZhcy5nZXRPYmplY3RzKCkubGVuZ3RoIC0gMSwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFVuZG9SZWRvKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIHB1YmxpYyBjbGVhckNhbnZhcygpIHtcclxuICAgICAgaWYgKHRoaXMuY2FudmFzKSB7XHJcbiAgICAgICAgdGhpcy5jYW52YXMucmVtb3ZlKC4uLnRoaXMuY2FudmFzLmdldE9iamVjdHMoKSk7XHJcbiAgICAgICAgdGhpcy5zZXRVbmRvUmVkbygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4qL1xyXG5cclxuICBwcml2YXRlIGltcG9ydFBob3RvRnJvbVNyYyhzcmM6IHN0cmluZykge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IGlzRmlyc3RUcnkgPSB0cnVlO1xyXG4gICAgY29uc3QgaW1nRWwgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZ0VsLnNldEF0dHJpYnV0ZSgnY3Jvc3NPcmlnaW4nLCAnYW5vbnltb3VzJyk7XHJcbiAgICBpbWdFbC5zcmMgPSBzcmM7XHJcbiAgICBpbWdFbC5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICAvLyBSZXRyeSB3aXRoIGNvcnMgcHJveHlcclxuICAgICAgaWYgKGlzRmlyc3RUcnkpIHtcclxuICAgICAgICBpbWdFbC5zcmMgPSAnaHR0cHM6Ly9jb3JzLWFueXdoZXJlLmhlcm9rdWFwcC5jb20vJyArIHRoaXMuc3JjO1xyXG4gICAgICAgIGlzRmlyc3RUcnkgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gXCJDT1JTIEVycm9yXCI7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpbWdFbC5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaW1hZ2VVc2VkID0gbmV3IGZhYnJpYy5JbWFnZShpbWdFbCk7XHJcblxyXG4gICAgICB0aGlzLmltYWdlVXNlZC5jbG9uZUFzSW1hZ2UoaW1hZ2UgPT4ge1xyXG4gICAgICAgIGxldCB3aWR0aCA9IGltZ0VsLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBpbWdFbC5oZWlnaHQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLndpZHRoKSB7XHJcbiAgICAgICAgICB3aWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmhlaWdodCkge1xyXG4gICAgICAgICAgaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyByaWNhbGNvbG8gbGUgZGltZW5zaW9uaSBkZWxsJ2ltbWFnaW5lIHBlciBmYXJsYSBlbnRyYXJlIG5lbGxvIHNjaGVybW9cclxuICAgICAgICAvLyBkaW1pbnVpc2NvIGRpIHVuIDUlIGFsbGEgdm9sdGEgbGUgZGltZW5zaW9uaSBmaW5vIGEgcmllbnRyYXJlIG5lbGwnODUlIGRlbGxhIGdyYW5kZXp6YSBkZWxsYSBmaW5lc3RyYVxyXG4gICAgICAgIGxldCB3aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICAgIGxldCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICAgICAgd2hpbGUod2lkdGggPiB3aW5kb3dXaWR0aCAqIDAuODUpe1xyXG4gICAgICAgICAgd2lkdGggPSB3aWR0aCAqIDAuOTU7XHJcbiAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgKiAwLjk1O1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aGlsZShoZWlnaHQgPiB3aW5kb3dIZWlnaHQgKiAwLjg1KXtcclxuICAgICAgICAgIHdpZHRoID0gd2lkdGggKiAwLjk1O1xyXG4gICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0ICogMC45NTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBpbWFnZS5zY2FsZVRvV2lkdGgod2lkdGgsIGZhbHNlKTtcclxuICAgICAgICBpbWFnZS5zY2FsZVRvSGVpZ2h0KGhlaWdodCwgZmFsc2UpO1xyXG5cclxuICAgICAgICB0aGlzLmNhbnZhcy5zZXRCYWNrZ3JvdW5kSW1hZ2UoaW1hZ2UsICgoaW1nOiBIVE1MSW1hZ2VFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoaW1nKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcmNlU2l6ZUNhbnZhcykge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FudmFzLnNldFdpZHRoKHdpZHRoKTtcclxuICAgICAgICAgICAgICB0aGlzLmNhbnZhcy5zZXRIZWlnaHQoaGVpZ2h0KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmNhbnZhcy5zZXRXaWR0aChpbWFnZS5nZXRTY2FsZWRXaWR0aCgpKTtcclxuICAgICAgICAgICAgICB0aGlzLmNhbnZhcy5zZXRIZWlnaHQoaW1hZ2UuZ2V0U2NhbGVkSGVpZ2h0KCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksIHtcclxuICAgICAgICAgIGNyb3NzT3JpZ2luOiAnYW5vbnltb3VzJyxcclxuICAgICAgICAgIG9yaWdpblg6ICdsZWZ0JyxcclxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2F2ZWRNYXJrZXJzICE9IG51bGwpeyB0aGlzLmxvYWRNYXJrZXJzKCk7IH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBsb2FkTWFya2Vycygpe1xyXG4gICAgdmFyIG1hcmtlcnNPYmo6IEFycmF5PE91dE1hcmtlcj4gPSBKU09OLnBhcnNlKHRoaXMuc2F2ZWRNYXJrZXJzKTtcclxuICAgIG1hcmtlcnNPYmouZm9yRWFjaCgobWFya2VyKSA9PiB7XHJcbiAgICAgIHRoaXMuY3JlYXRlTWFya2VyKG1hcmtlci50b3AsbWFya2VyLmxlZnQsbWFya2VyLmNhcHRpb24sbWFya2VyLmRlc2NyaXB0aW9uKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVJbWFnZSgpe1xyXG5cclxuICAgIHRoaXMub3V0bWFya2VycyA9IG5ldyBBcnJheTxPdXRNYXJrZXI+KCk7XHJcblxyXG4gICAgdGhpcy5tYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xyXG4gICAgICB2YXIgb3V0bWFya2VyID0gbmV3IE91dE1hcmtlcigpO1xyXG4gICAgICBvdXRtYXJrZXIuY2FwdGlvbiA9IG1hcmtlci5jYXB0aW9uO1xyXG4gICAgICBvdXRtYXJrZXIuZGVzY3JpcHRpb24gPSBtYXJrZXIuZGVzY3JpcHRpb247XHJcbiAgICAgIG91dG1hcmtlci50b3AgPSBtYXJrZXIuZ3JvdXAudG9wO1xyXG4gICAgICBvdXRtYXJrZXIubGVmdCA9IG1hcmtlci5ncm91cC5sZWZ0O1xyXG4gICAgICB0aGlzLm91dG1hcmtlcnMucHVzaChvdXRtYXJrZXIpO1xyXG4gICAgfSlcclxuXHJcbiAgICBpZiAodGhpcy53aWR0aCAmJiB0aGlzLmhlaWdodCkge1xyXG4gICAgICBjb25zdCBjYW52YXNTY2FsZWRFbGVtZW50OiBIVE1MQ2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgICBjb25zdCBjYW52YXNTY2FsZWQgPSBuZXcgZmFicmljLkNhbnZhcyhjYW52YXNTY2FsZWRFbGVtZW50KTtcclxuICAgICAgY2FudmFzU2NhbGVkLmJhY2tncm91bmRDb2xvciA9ICd3aGl0ZSc7XHJcblxyXG4gICAgICBuZXcgT2JzZXJ2YWJsZTxmYWJyaWMuQ2FudmFzPihvYnNlcnZlciA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VVc2VkKSB7XHJcblxyXG4gICAgICAgICAgICBjYW52YXNTY2FsZWQuc2V0QmFja2dyb3VuZEltYWdlKHRoaXMuaW1hZ2VVc2VkLCAoaW1nOiBIVE1MSW1hZ2VFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKCFpbWcpIHtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBFcnJvcignSW1wb3NzaWJsZSB0byBkcmF3IHRoZSBpbWFnZSBvbiB0aGUgdGVtcG9yYXJ5IGNhbnZhcycpKTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGNhbnZhc1NjYWxlZC5zZXRXaWR0aChpbWcud2lkdGgpO1xyXG4gICAgICAgICAgICAgIGNhbnZhc1NjYWxlZC5zZXRIZWlnaHQoaW1nLmhlaWdodCk7XHJcblxyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoY2FudmFzU2NhbGVkKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46ICdhbm9ueW1vdXMnLFxyXG4gICAgICAgICAgICAgIG9yaWdpblg6ICdsZWZ0JyxcclxuICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjYW52YXNTY2FsZWQuc2V0V2lkdGgodGhpcy53aWR0aCk7XHJcbiAgICAgICAgICBjYW52YXNTY2FsZWQuc2V0SGVpZ2h0KHRoaXMuaGVpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgIGxldCBwcm9jZXNzID0gb2YoY2FudmFzU2NhbGVkKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5jYW52YXMuZ2V0T2JqZWN0cygpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgcmF0aW9YID0gY2FudmFzU2NhbGVkLmdldFdpZHRoKCkgLyB0aGlzLmNhbnZhcy5nZXRXaWR0aCgpO1xyXG4gICAgICAgICAgICBjb25zdCByYXRpb1kgPSBjYW52YXNTY2FsZWQuZ2V0SGVpZ2h0KCkgLyB0aGlzLmNhbnZhcy5nZXRIZWlnaHQoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY2FudmFzLmdldE9iamVjdHMoKS5mb3JFYWNoKChvcmlnaW5hbE9iamVjdDogZmFicmljLk9iamVjdCwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgcHJvY2VzcyA9IHByb2Nlc3MucGlwZShzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGZhYnJpYy5DYW52YXM+KG9ic2VydmVyT2JqZWN0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgb3JpZ2luYWxPYmplY3QuY2xvbmUoKGNsb25lZE9iamVjdDogZmFicmljLk9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb25lZE9iamVjdC5zZXQoJ2xlZnQnLCBvcmlnaW5hbE9iamVjdC5sZWZ0ICogcmF0aW9YKTtcclxuICAgICAgICAgICAgICAgICAgICBjbG9uZWRPYmplY3Quc2V0KCd0b3AnLCBvcmlnaW5hbE9iamVjdC50b3AgKiByYXRpb1kpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb25lZE9iamVjdC5zY2FsZVRvV2lkdGgob3JpZ2luYWxPYmplY3Qud2lkdGggKiByYXRpb1gpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb25lZE9iamVjdC5zY2FsZVRvSGVpZ2h0KG9yaWdpbmFsT2JqZWN0LmhlaWdodCAqIHJhdGlvWSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNhbnZhc1NjYWxlZC5pbnNlcnRBdChjbG9uZWRPYmplY3QsIGksIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICBjYW52YXNTY2FsZWQucmVuZGVyQWxsKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyT2JqZWN0Lm5leHQoY2FudmFzU2NhbGVkKTtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlck9iamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gcHJvY2VzcztcclxuICAgICAgICB9KSxcclxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNhbnZhc1NjYWxlZC5yZW5kZXJBbGwoKTtcclxuICAgICAgICBjYW52YXNTY2FsZWQuZ2V0RWxlbWVudCgpLnRvQmxvYihcclxuICAgICAgICAgIChkYXRhOiBCbG9iKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubWFya2VkSW1hZ2UuaW1hZ2UgPSBkYXRhO1xyXG4gICAgICAgICAgICB0aGlzLm1hcmtlZEltYWdlLm91dG1hcmtlcnMgPSB0aGlzLm91dG1hcmtlcnM7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZS5lbWl0KHRoaXMubWFya2VkSW1hZ2UpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRoaXMub3V0cHV0TWltZVR5cGUsXHJcbiAgICAgICAgICB0aGlzLm91dHB1dFF1YWxpdHlcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FudmFzLmdldEVsZW1lbnQoKS50b0Jsb2IoXHJcbiAgICAgICAgKGRhdGE6IEJsb2IpID0+IHtcclxuICAgICAgICAgIHRoaXMubWFya2VkSW1hZ2UuaW1hZ2UgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy5tYXJrZWRJbWFnZS5vdXRtYXJrZXJzID0gdGhpcy5vdXRtYXJrZXJzO1xyXG4gICAgICAgICAgdGhpcy5zYXZlLmVtaXQodGhpcy5tYXJrZWRJbWFnZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB0aGlzLm91dHB1dE1pbWVUeXBlLFxyXG4gICAgICAgIHRoaXMub3V0cHV0UXVhbGl0eVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAvL3RoaXMuc2F2ZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2UoKXtcclxuICAgIHRoaXMuY2xvc2VEaWFsb2cuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcmFuZG9tSW50RnJvbUludGVydmFsKG1pbiwgbWF4KSB7IC8vIG1pbiBhbmQgbWF4IGluY2x1ZGVkIFxyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSArIG1pbilcclxuICB9XHJcblxyXG4gIGxvZyhlbCl7XHJcbiAgICBHbG9iYWxTZXJ2aWNlLmRlYnVnTG9nKFwiaW1hZ2VNYXJrZXIgZWxlbWVudCBcIixlbCk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1hcmtlciB7XHJcbiAgY2lyY2xlOiBmYWJyaWMuQ2lyY2xlO1xyXG4gIHRleHQ6IGZhYnJpYy5UZXh0O1xyXG4gIGdyb3VwOiBmYWJyaWMuR3JvdXA7XHJcbiAgdG9wOiBudW1iZXI7XHJcbiAgbGVmdDogbnVtYmVyO1xyXG4gIGNhcHRpb246IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nID0gXCJcIjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE91dE1hcmtlciB7XHJcbiAgdG9wOiBudW1iZXI7XHJcbiAgbGVmdDogbnVtYmVyO1xyXG4gIGNhcHRpb246IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nID0gXCJcIjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1hcmtlZEltYWdlIHtcclxuICBvdXRtYXJrZXJzOiBBcnJheTxPdXRNYXJrZXI+O1xyXG4gIGltYWdlOiBCbG9iO1xyXG59IiwiPGRpdiBjbGFzcz1cImNhbnZhcy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYW52YXNcIj5cclxuICAgICAgICA8Y2FudmFzIFtpZF09XCJjb21wb25lbnRHdWlkXCI+PC9jYW52YXM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b29sYm94XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtYXJrZXJCdXR0b25cIiAoY2xpY2spPVwibmV3TWFya2VyKClcIj5DcmVhIG51b3ZvIG1hcmtlcjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtdC0yXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZF9vdmVyZmxvd19jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kX2NvbnRhaW5lclwiICpuZ0Zvcj1cImxldCBtYXJrZXIgb2YgbWFya2VyczsgaW5kZXggYXMgaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FwdGlvblwiIFtpbm5lckhUTUxdPVwibWFya2VyLmNhcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRhcmVhXCI+PHRleHRhcmVhICBbKG5nTW9kZWwpXT1cIm1hcmtlci5kZXNjcmlwdGlvblwiIChjbGljayk9XCJsb2cobWFya2VyLmRlc2NyaXB0aW9uKVwiPjwvdGV4dGFyZWE+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWxldGVcIiAoY2xpY2spPVwiZGVsZXRlTWFya2VyQnlJbmRleChpKVwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtdC0yXCIgKm5nSWY9XCIhaW5Db25maWdcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3MgbWFya2VyQnV0dG9uXCIgKGNsaWNrKT1cInNhdmVJbWFnZSgpXCI+U2FsdmEgSW1tYWdpbmU8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4td2FybmluZyBtYXJrZXJCdXR0b25cIiAoY2xpY2spPVwicmVtb3ZlQWxsTWFya2VycygpXCI+UmltdW92aSB0dXR0aSBpIG1hcmtlcnM8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIG1hcmtlckJ1dHRvblwiIChjbGljayk9XCJjbG9zZSgpXCI+QW5udWxsYSBEaXNlZ25vPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG5cclxuXHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Directive, Input, EventEmitter, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class DynamicLoaderDirective {
|
|
4
|
-
// In input verrà passato il selettore del componente da ricreare
|
|
5
|
-
set data(data) {
|
|
6
|
-
this.load(data.component, data.inputParams);
|
|
7
|
-
}
|
|
8
4
|
constructor(resolver, viewContainerRef) {
|
|
9
5
|
this.resolver = resolver;
|
|
10
6
|
this.viewContainerRef = viewContainerRef;
|
|
11
7
|
this.out = new EventEmitter();
|
|
12
8
|
}
|
|
9
|
+
// In input verrà passato il selettore del componente da ricreare
|
|
10
|
+
set data(data) {
|
|
11
|
+
this.load(data.component, data.inputParams);
|
|
12
|
+
}
|
|
13
13
|
load(component, inputParams = null) {
|
|
14
14
|
if (!component) {
|
|
15
15
|
throw new Error('Failed to load dynamic component');
|
|
@@ -56,4 +56,4 @@ export class eventOut {
|
|
|
56
56
|
this.Behaviours = new Array();
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sb2FkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvZGlyZWN0aXZlcy9keW5hbWljLWxvYWRlci9keW5hbWljLWxvYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRELFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpJLE1BQU0sT0FBTyxzQkFBc0I7SUFTakMsWUFBb0IsUUFBa0MsRUFBVSxnQkFBa0M7UUFBOUUsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRnhGLFFBQUcsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztJQUVpQyxDQUFDO0lBUHZHLGlFQUFpRTtJQUNqRSxJQUFhLElBQUksQ0FBQyxJQUFnQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxJQUFJLENBQUMsU0FBYyxFQUFFLGNBQW1CLElBQUk7UUFFMUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNyRDtRQUVGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztRQUNsQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFNLGdCQUFnQixDQUFDLENBQUM7UUFFakYsMEdBQTBHO1FBQzFHLHVLQUF1SztRQUN2SyxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUU7WUFDdkIsSUFBSSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMxQixZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0RSxDQUFDO0lBRUQ7OztJQUdBO0lBQ0EsWUFBWSxDQUFDLEdBQVE7UUFDbkIsSUFBSSxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O29IQTFDVSxzQkFBc0I7d0dBQXRCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COzhJQUtjLElBQUk7c0JBQWhCLEtBQUs7Z0JBSUksR0FBRztzQkFBWixNQUFNOztBQXNDVCxNQUFNLE9BQU8sMEJBQTBCO0NBR3RDO0FBRUQsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFFRSxlQUFVLEdBQWtCLElBQUksS0FBSyxFQUFVLENBQUM7SUFFbEQsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thcHBEeW5hbWljTG9hZGVyXSdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTG9hZGVyRGlyZWN0aXZlIHtcclxuXHJcbiAgLy8gSW4gaW5wdXQgdmVycsOgIHBhc3NhdG8gaWwgc2VsZXR0b3JlIGRlbCBjb21wb25lbnRlIGRhIHJpY3JlYXJlXHJcbiAgQElucHV0KCkgc2V0IGRhdGEoZGF0YTogRHluYW1pY0xvYWRlckRpcmVjdGl2ZURhdGEpIHtcclxuICAgIHRoaXMubG9hZChkYXRhLmNvbXBvbmVudCwgZGF0YS5pbnB1dFBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb3V0OiBFdmVudEVtaXR0ZXI8ZXZlbnRPdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxldmVudE91dD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHsgfVxyXG5cclxuICBsb2FkKGNvbXBvbmVudDogYW55LCBpbnB1dFBhcmFtczogYW55ID0gbnVsbCk6IGFueSB7XHJcblxyXG4gICAgaWYgKCFjb21wb25lbnQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gbG9hZCBkeW5hbWljIGNvbXBvbmVudCcpO1xyXG4gICAgfVxyXG5cclxuICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgIGxldCBjb21wb25lbnRJbnN0YW5jZSA9IGNvbXBvbmVudDtcclxuICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50SW5zdGFuY2UpO1xyXG4gICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PGFueT4oY29tcG9uZW50RmFjdG9yeSk7XHJcblxyXG4gICAgLy9TZSBzb25vIHN0YXRpIHBhc3NhdGkgZGVpIHBhcmFtZXRlcnMgZGkgaW5wdXQgYWxsb3JhIGxpIG1lbW9yaXp6YSBuZWwgY29tcG9uZW50ZSBjYXJpY2F0byBkaW5hbWljYW1lbnRlLlxyXG4gICAgLy9FJyBvdnZpbyBjaGUgaWwgbm9tZSBkZWkgcGFyYW1ldGVycyBkaSBpbnB1dCBwYXNzYXRpIGFsIER5bmFtaWNMb2FkZXIgZGV2ZSBjb2luY2lkZXJlIGNvbiBpbCBub21lIGRlbCBwYXJhbWV0cm8gZGkgaW5wdXQgcGFzc2F0byBhbCBjb21wb25lbnRlIGNhcmljYXRvIGRpbmFtaWNhbWVudGVcclxuICAgIGlmIChpbnB1dFBhcmFtcyAhPSBudWxsKSB7XHJcbiAgICAgIGxldCBpbnB1dFByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhpbnB1dFBhcmFtcyk7XHJcbiAgICAgIGlucHV0UHJvcGVydGllcy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtwXSA9IGlucHV0UGFyYW1zW3BdO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uub3V0LnN1YnNjcmliZSh2YWwgPT4geyB0aGlzLm91dC5lbWl0KHZhbCk7IH0pO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4qIFJlc3RyaXR1aXNjZSB1biBjb21wb25lbnRlIHBhc3NhbmRvZ2xpIGNvbWUgcGFyYW1ldHJvIGxhIGNoaWF2ZVxyXG4qIEBwYXJhbSBrZXlcclxuKi9cclxuICBnZXRDb21wb25lbnQoa2V5OiBhbnkpIHtcclxuICAgIGxldCBjb21wb25lbnQgPSBrZXk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIER5bmFtaWNMb2FkZXJEaXJlY3RpdmVEYXRhIHtcclxuICBjb21wb25lbnQ6IGFueTtcclxuICBpbnB1dFBhcmFtczogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgZXZlbnRPdXQge1xyXG4gIEV2ZW50TmFtZTogc3RyaW5nO1xyXG4gIEJlaGF2aW91cnM6IEFycmF5PHN0cmluZz4gPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG4gIFBhcmFtczogYW55O1xyXG59Il19
|
|
@@ -19,9 +19,6 @@ import * as i0 from "@angular/core";
|
|
|
19
19
|
|
|
20
20
|
*/
|
|
21
21
|
export class SpeechToTextDirective {
|
|
22
|
-
SpeechToggle() {
|
|
23
|
-
this.SpeechToTextToggler();
|
|
24
|
-
}
|
|
25
22
|
constructor(elementRef) {
|
|
26
23
|
this.elementRef = elementRef;
|
|
27
24
|
this.debug = false;
|
|
@@ -73,6 +70,9 @@ export class SpeechToTextDirective {
|
|
|
73
70
|
this.domElement.style.display = "none";
|
|
74
71
|
}
|
|
75
72
|
}
|
|
73
|
+
SpeechToggle() {
|
|
74
|
+
this.SpeechToTextToggler();
|
|
75
|
+
}
|
|
76
76
|
ngOnDestroy() {
|
|
77
77
|
this.printDebug("speech onDestroy");
|
|
78
78
|
if (this.recognition) {
|
|
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
183
183
|
type: HostListener,
|
|
184
184
|
args: ["click"]
|
|
185
185
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXRvLXRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvZGlyZWN0aXZlcy9zcGVlY2gtdG8tdGV4dC9zcGVlY2gtdG8tdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUk5RDs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7QUFLRixNQUFNLE9BQU8scUJBQXFCO0lBeUJULFlBQVk7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTVCaEMsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVPLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDbkMscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUUsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFJM0IsZ0JBQVcsR0FBVyxpQkFBaUIsQ0FBQztRQUN4QyxrQkFBYSxHQUFXLG1CQUFtQixDQUFDO1FBSTVDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXBCLDBFQUEwRTtRQUMxRSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsMkJBQXNCLEdBQUcsSUFBSSxDQUFDLENBQUMsK0RBQStEO1FBRTlGLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBVzFCLElBQUksQ0FBQyxVQUFVLEdBQUcs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QkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNULGdCQUFnQjtzQkFBekIsTUFBTTtnQkFvQmdCLFlBQVk7c0JBQWxDLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPdXRwdXQsXHJcbiAgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG4gIGltcG9ydCB7IGludGVydmFsLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG4gIGltcG9ydCB7IEdsb2JhbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZ2xvYmFsLnNlcnZpY2VcIjtcclxuICBcclxuICBkZWNsYXJlIHZhciB3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbjogYW55O1xyXG4gIFxyXG4gIC8qIEVTRU1QSU8gRCdVU09cclxuICBcclxuICAgIDx0ZXh0YXJlYVxyXG4gICAgICBbKG5nTW9kZWwpXT1cInRleHRcIlxyXG4gICAgPjwvdGV4dGFyZWE+XHJcbiAgXHJcbiAgICA8bWF0LWljb25cclxuICAgICAgKm5nSWY9XCJ0cnVlXCIgPCEtLSBTZW56YSBOR0lGIG5vbiBmdW56aW9uYSAtLT5cclxuICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1yYWRpdXM6IDgwcHg7IHBhZGRpbmc6IDVweDtcIlxyXG4gICAgICBbU3BlZWNoVG9UZXh0XVxyXG4gICAgICBbKGJpbmRlZFRleHQpXT1cInRleHRcIlxyXG4gICAgPlxyXG4gICAgICBrZXlib2FyZF92b2ljZVxyXG4gICAgPC9tYXQtaWNvbj5cclxuICBcclxuICAqL1xyXG4gIFxyXG4gIEBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW1NwZWVjaFRvVGV4dF1cIixcclxuICB9KVxyXG4gIGV4cG9ydCBjbGFzcyBTcGVlY2hUb1RleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3l7XHJcbiAgXHJcbiAgICBkZWJ1ZyA9IGZhbHNlO1xyXG4gIFxyXG4gICAgQElucHV0KFwiYmluZGVkVGV4dFwiKSBiaW5kZWRUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgQE91dHB1dCgpIGJpbmRlZFRleHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBiZWdpblNlbnRlbmNlOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgLy8gYmluZGVkVGV4dCA9IFwiXCI7XHJcbiAgICBwcml2YXRlIGRvbUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIFxyXG4gICAgcGF1c2VkQ2xhc3M6IHN0cmluZyA9IFwia2V5Ym9hcmRfcGF1c2VkXCI7XHJcbiAgICBzcGVha2luZ0NsYXNzOiBzdHJpbmcgPSBcImtleWJvYXJkX3NwZWFraW5nXCI7XHJcbiAgXHJcbiAgICByZWNvZ25pdGlvbjtcclxuICAgIHRlbXBXb3JkczogYW55O1xyXG4gICAgdHJhbnNjcmlwdF9hcnIgPSBbXTtcclxuICAgIGNvbmZpZGVuY2VfYXJyID0gW107XHJcbiAgXHJcbiAgICAvLyBpc1N0YXJ0ZWQgPSBmYWxzZTsgLy88PCB0aGlzIEZsYWcgdG8gY2hlY2sgaWYgdGhlIHVzZXIgc3RvcCB0aGUgc2VydmljZVxyXG4gICAgaXNTdG9wcGVkU3BlZWNoUmVjb2cgPSBmYWxzZTtcclxuICAgIGlzU3RvcHBlZEF1dG9tYXRpY2FsbHkgPSB0cnVlOyAvLzw8IHRoaXMgRmxhZyB0byBjaGVjayBpZiB0aGUgc2VydmljZSBzdG9wcGVkIGF1dG9tYXRpY2ljYWxseS5cclxuICBcclxuICAgIHRpbWVJbnRlcnZhbCA9IGludGVydmFsKDUwKTtcclxuICAgIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIFxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIpIFNwZWVjaFRvZ2dsZSgpIHtcclxuICAgICAgdGhpcy5TcGVlY2hUb1RleHRUb2dnbGVyKCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXHJcbiAgICAgICkge1xyXG4gIFxyXG4gICAgICB0aGlzLmRvbUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIFxyXG4gICAgICB0aGlzLnByaW50RGVidWcod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpO1xyXG4gIFxyXG4gICAgICB0cnkge1xyXG4gICAgICAgIC8vIHF1ZXN0YSBvcGVyYXppb25lIGZhbGxpc2NlIHNlIG5vbiBjJ8OoIHdlYmtpdFxyXG4gICAgICAgIHRoaXMucmVjb2duaXRpb24gPSBuZXcgd2Via2l0U3BlZWNoUmVjb2duaXRpb24oKTtcclxuICBcclxuICAgICAgICB0aGlzLnByaW50RGVidWcodGhpcy5yZWNvZ25pdGlvbik7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5jb250aW51b3VzID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlY29nbml0aW9uLmludGVyaW1SZXN1bHRzID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlY29nbml0aW9uLmxhbmcgPSBcIml0LUlUXCI7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5hZGRFdmVudExpc3RlbmVyKFwicmVzdWx0XCIsIChlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRyYW5zY3JpcHQgPSBBcnJheS5mcm9tKGUucmVzdWx0cylcclxuICAgICAgICAgICAgLm1hcCgocmVzdWx0OiBhbnkpID0+IHJlc3VsdFswXSlcclxuICAgICAgICAgICAgLm1hcCgocmVzdWx0KSA9PiByZXN1bHQudHJhbnNjcmlwdClcclxuICAgICAgICAgICAgLmpvaW4oXCJcIik7XHJcbiAgXHJcbiAgICAgICAgICB0aGlzLnByaW50RGVidWcoXCJjb25zdHJ1Y29yIHRyYW5zY3JpcHQ6IFwiICsgdHJhbnNjcmlwdCk7XHJcbiAgXHJcbiAgXHJcbiAgICAgICAgICB0aGlzLnRyYW5zY3JpcHRfYXJyLnB1c2godHJhbnNjcmlwdCk7XHJcbiAgICAgICAgICB0aGlzLnRlbXBXb3JkcyA9IHRyYW5zY3JpcHQ7XHJcbiAgXHJcbiAgICAgICAgICBjb25zdCBjb25maWRlbmNlID0gQXJyYXkuZnJvbShlLnJlc3VsdHMpXHJcbiAgICAgICAgICAgIC5tYXAoKHJlc3VsdDogYW55KSA9PiByZXN1bHRbMF0pXHJcbiAgICAgICAgICAgIC5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LmNvbmZpZGVuY2UpXHJcbiAgICAgICAgICAgIC5qb2luKFwiXCIpO1xyXG4gICAgICAgICAgdGhpcy5jb25maWRlbmNlX2Fyci5wdXNoKGNvbmZpZGVuY2UpO1xyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHRoaXMucmVjb2duaXRpb24uYWRkRXZlbnRMaXN0ZW5lcihcImVuZFwiLCAoY29uZGl0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vdGhpcy53b3JkQ29uY2F0KCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc1N0b3BwZWRBdXRvbWF0aWNhbGx5KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVjb2duaXRpb24uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTdG9wcGVkQXV0b21hdGljYWxseSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5wcmludERlYnVnKGVycm9yKTtcclxuICBcclxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICB9XHJcbiAgXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5wcmludERlYnVnKFwic3BlZWNoIG9uRGVzdHJveVwiKTtcclxuICAgICAgXHJcbiAgICAgIGlmKHRoaXMucmVjb2duaXRpb24pe1xyXG4gICAgICAgIHRoaXMucmVjb2duaXRpb24uYWJvcnQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgU3BlZWNoVG9UZXh0VG9nZ2xlcigpIHtcclxuICAgICAgaWYgKCFHbG9iYWxTZXJ2aWNlLmlzU3BlZWNoVG9UZXh0U3RhcnRlZCkge1xyXG4gIFxyXG4gICAgICAgIHRoaXMucHJpbnREZWJ1ZyhcInN0YXJ0XCIpO1xyXG4gIFxyXG4gICAgICAgIHRoaXMuYmVnaW5TZW50ZW5jZSA9IHRoaXMuYmluZGVkVGV4dDtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLmJpbmRlZFRleHQgPT0gbnVsbCB8fFxyXG4gICAgICAgICAgdGhpcy5iaW5kZWRUZXh0ID09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgICAgdGhpcy5iaW5kZWRUZXh0ID09IFwiXCJcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuYmVnaW5TZW50ZW5jZSA9IFwiXCI7XHJcbiAgICAgICAgICB0aGlzLmJpbmRlZFRleHQgPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRyYW5zY3JpcHRfYXJyID0gW107XHJcbiAgICAgICAgdGhpcy5jb25maWRlbmNlX2FyciA9IFtdO1xyXG4gIFxyXG4gICAgICAgIGxldCBuZXd0ZXh0ID0gXCJcIjtcclxuICAgICAgICB0aGlzLnN0YXJ0KCk7XHJcbiAgICAgICAgLy90aGlzLmlzU3RpbGxSZWNvZ2luemUgPSB0aGlzLnN0YXJ0KCkgPT09IHRydWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRpbWVJbnRlcnZhbC5zdWJzY3JpYmUoKHZhbCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYmluZGVkVGV4dCA9PSBudWxsIHx8IHRoaXMuYmluZGVkVGV4dCA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5iaW5kZWRUZXh0ID1cclxuICAgICAgICAgICAgICB0aGlzLmJlZ2luU2VudGVuY2UgK1xyXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNjcmlwdF9hcnJbdGhpcy50cmFuc2NyaXB0X2Fyci5sZW5ndGggLSAxXTtcclxuICAgICAgICAgICAgdGhpcy5iaW5kZWRUZXh0Q2hhbmdlLmVtaXQodGhpcy5iaW5kZWRUZXh0KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG5ld3RleHQgPSB0aGlzLnRyYW5zY3JpcHRfYXJyW3RoaXMudHJhbnNjcmlwdF9hcnIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgIGlmIChuZXd0ZXh0ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYmluZGVkVGV4dENoYW5nZS5lbWl0KHRoaXMuYmVnaW5TZW50ZW5jZSArIG5ld3RleHQpO1xyXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNjcmlwdF9hcnJbdGhpcy50cmFuc2NyaXB0X2Fyci5sZW5ndGggLSAxXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmJpbmRlZFRleHRDaGFuZ2UuZW1pdCh0aGlzLmJpbmRlZFRleHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYoR2xvYmFsU2VydmljZS5zcGVlY2hEaXJlY3RpdmUgPT09IHRoaXMpe1xyXG4gICAgICAgICAgdGhpcy5wcmludERlYnVnKFwic3RvcFwiKTtcclxuICAgICAgICAgIHRoaXMucHJpbnREZWJ1ZyhcImJpbmRlZDogXCIgKyB0aGlzLmJpbmRlZFRleHQpO1xyXG4gICAgXHJcbiAgICAgICAgICB0aGlzLnRyYW5zY3JpcHRfYXJyID0gW107XHJcbiAgICAgICAgICB0aGlzLnN0b3AoKTtcclxuICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucHJpbnREZWJ1ZyhcInN0b3Agb3RoZXJcIik7XHJcbiAgICAgICAgICBHbG9iYWxTZXJ2aWNlLnNwZWVjaERpcmVjdGl2ZS5TcGVlY2hUb1RleHRUb2dnbGVyKCk7XHJcbiAgICAgICAgICBsZXQgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKEdsb2JhbFNlcnZpY2Uuc3BlZWNoRGlyZWN0aXZlID09IG51bGwpe1xyXG4gICAgICAgICAgICAgIHRoaXMuU3BlZWNoVG9UZXh0VG9nZ2xlcigpO1xyXG4gICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwcml2YXRlIHN0YXJ0KCkge1xyXG4gICAgICBpZiAoIUdsb2JhbFNlcnZpY2UuaXNTcGVlY2hUb1RleHRTdGFydGVkKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnBhdXNlZENsYXNzKTtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuc3BlYWtpbmdDbGFzcyk7XHJcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdGFydCgpO1xyXG4gICAgICAgIEdsb2JhbFNlcnZpY2UuaXNTcGVlY2hUb1RleHRTdGFydGVkID0gdHJ1ZTtcclxuICAgICAgICBHbG9iYWxTZXJ2aWNlLnNwZWVjaERpcmVjdGl2ZSA9IHRoaXM7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIHN0b3AoKSB7ICAgIFxyXG4gICAgICBpZiAoR2xvYmFsU2VydmljZS5pc1NwZWVjaFRvVGV4dFN0YXJ0ZWQpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuc3BlYWtpbmdDbGFzcyk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLnBhdXNlZENsYXNzKTtcclxuICAgICAgICB0aGlzLmlzU3RvcHBlZEF1dG9tYXRpY2FsbHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLndvcmRDb25jYXQoKTtcclxuICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcclxuICAgICAgICBHbG9iYWxTZXJ2aWNlLmlzU3BlZWNoVG9UZXh0U3RhcnRlZCA9IGZhbHNlO1xyXG4gICAgICAgIEdsb2JhbFNlcnZpY2Uuc3BlZWNoRGlyZWN0aXZlID0gbnVsbDtcclxuICAgICAgICB0aGlzLnRyYW5zY3JpcHRfYXJyID0gW107XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcHJpdmF0ZSB3b3JkQ29uY2F0KCkge1xyXG4gICAgICB0aGlzLmJpbmRlZFRleHQgPSB0aGlzLmJpbmRlZFRleHQgKyBcIi4gXCI7XHJcbiAgICAgIC8vIHRoaXMuYmluZGVkVGV4dCA9IHRoaXMuYmluZGVkVGV4dCArIFwiIFwiICsgdGhpcy50ZW1wV29yZHMgKyBcIi5cIjtcclxuICAgICAgLy8gdGhpcy50ZW1wV29yZHMgPSBcIlwiO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcHJpdmF0ZSBwcmludERlYnVnKG1lc3NhZ2Upe1xyXG4gICAgICBpZih0aGlzLmRlYnVnKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAiXX0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXRvLXRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvZGlyZWN0aXZlcy9zcGVlY2gtdG8tdGV4dC9zcGVlY2gtdG8tdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUk5RDs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7QUFLRixNQUFNLE9BQU8scUJBQXFCO0lBNkJoQyxZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUE1QmhDLFVBQUssR0FBRyxLQUFLLENBQUM7UUFFTyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ25DLHFCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlFLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBSTNCLGdCQUFXLEdBQVcsaUJBQWlCLENBQUM7UUFDeEMsa0JBQWEsR0FBVyxtQkFBbUIsQ0FBQztRQUk1QyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQiwwRUFBMEU7UUFDMUUseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLDJCQUFzQixHQUFHLElBQUksQ0FBQyxDQUFDLCtEQUErRDtRQUU5RixpQkFBWSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQVcxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBNEIsQ0FBQztRQUUvRCxJQUFJLENBQUMsVUFBVSxD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QVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDVCxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBb0JnQixZQUFZO3NCQUFsQyxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT3V0cHV0LFxyXG4gIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuICBpbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuICBpbXBvcnQgeyBHbG9iYWxTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlXCI7XHJcbiAgXHJcbiAgZGVjbGFyZSB2YXIgd2Via2l0U3BlZWNoUmVjb2duaXRpb246IGFueTtcclxuICBcclxuICAvKiBFU0VNUElPIEQnVVNPXHJcbiAgXHJcbiAgICA8dGV4dGFyZWFcclxuICAgICAgWyhuZ01vZGVsKV09XCJ0ZXh0XCJcclxuICAgID48L3RleHRhcmVhPlxyXG4gIFxyXG4gICAgPG1hdC1pY29uXHJcbiAgICAgICpuZ0lmPVwidHJ1ZVwiIDwhLS0gU2VuemEgTkdJRiBub24gZnVuemlvbmEgLS0+XHJcbiAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyOyBib3JkZXItcmFkaXVzOiA4MHB4OyBwYWRkaW5nOiA1cHg7XCJcclxuICAgICAgW1NwZWVjaFRvVGV4dF1cclxuICAgICAgWyhiaW5kZWRUZXh0KV09XCJ0ZXh0XCJcclxuICAgID5cclxuICAgICAga2V5Ym9hcmRfdm9pY2VcclxuICAgIDwvbWF0LWljb24+XHJcbiAgXHJcbiAgKi9cclxuICBcclxuICBARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIltTcGVlY2hUb1RleHRdXCIsXHJcbiAgfSlcclxuICBleHBvcnQgY2xhc3MgU3BlZWNoVG9UZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95e1xyXG4gIFxyXG4gICAgZGVidWcgPSBmYWxzZTtcclxuICBcclxuICAgIEBJbnB1dChcImJpbmRlZFRleHRcIikgYmluZGVkVGV4dDogc3RyaW5nID0gXCJcIjtcclxuICAgIEBPdXRwdXQoKSBiaW5kZWRUZXh0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgYmVnaW5TZW50ZW5jZTogc3RyaW5nID0gXCJcIjtcclxuICAgIC8vIGJpbmRlZFRleHQgPSBcIlwiO1xyXG4gICAgcHJpdmF0ZSBkb21FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBcclxuICAgIHBhdXNlZENsYXNzOiBzdHJpbmcgPSBcImtleWJvYXJkX3BhdXNlZFwiO1xyXG4gICAgc3BlYWtpbmdDbGFzczogc3RyaW5nID0gXCJrZXlib2FyZF9zcGVha2luZ1wiO1xyXG4gIFxyXG4gICAgcmVjb2duaXRpb247XHJcbiAgICB0ZW1wV29yZHM6IGFueTtcclxuICAgIHRyYW5zY3JpcHRfYXJyID0gW107XHJcbiAgICBjb25maWRlbmNlX2FyciA9IFtdO1xyXG4gIFxyXG4gICAgLy8gaXNTdGFydGVkID0gZmFsc2U7IC8vPDwgdGhpcyBGbGFnIHRvIGNoZWNrIGlmIHRoZSB1c2VyIHN0b3AgdGhlIHNlcnZpY2VcclxuICAgIGlzU3RvcHBlZFNwZWVjaFJlY29nID0gZmFsc2U7XHJcbiAgICBpc1N0b3BwZWRBdXRvbWF0aWNhbGx5ID0gdHJ1ZTsgLy88PCB0aGlzIEZsYWcgdG8gY2hlY2sgaWYgdGhlIHNlcnZpY2Ugc3RvcHBlZCBhdXRvbWF0aWNpY2FsbHkuXHJcbiAgXHJcbiAgICB0aW1lSW50ZXJ2YWwgPSBpbnRlcnZhbCg1MCk7XHJcbiAgICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBcclxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKSBTcGVlY2hUb2dnbGUoKSB7XHJcbiAgICAgIHRoaXMuU3BlZWNoVG9UZXh0VG9nZ2xlcigpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICAgICApIHtcclxuICBcclxuICAgICAgdGhpcy5kb21FbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBcclxuICAgICAgdGhpcy5wcmludERlYnVnKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICBcclxuICAgICAgdHJ5IHtcclxuICAgICAgICAvLyBxdWVzdGEgb3BlcmF6aW9uZSBmYWxsaXNjZSBzZSBub24gYyfDqCB3ZWJraXRcclxuICAgICAgICB0aGlzLnJlY29nbml0aW9uID0gbmV3IHdlYmtpdFNwZWVjaFJlY29nbml0aW9uKCk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5wcmludERlYnVnKHRoaXMucmVjb2duaXRpb24pO1xyXG4gIFxyXG4gICAgICAgIHRoaXMucmVjb2duaXRpb24uY29udGludW91cyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5pbnRlcmltUmVzdWx0cyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5sYW5nID0gXCJpdC1JVFwiO1xyXG4gIFxyXG4gICAgICAgIHRoaXMucmVjb2duaXRpb24uYWRkRXZlbnRMaXN0ZW5lcihcInJlc3VsdFwiLCAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0cmFuc2NyaXB0ID0gQXJyYXkuZnJvbShlLnJlc3VsdHMpXHJcbiAgICAgICAgICAgIC5tYXAoKHJlc3VsdDogYW55KSA9PiByZXN1bHRbMF0pXHJcbiAgICAgICAgICAgIC5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnRyYW5zY3JpcHQpXHJcbiAgICAgICAgICAgIC5qb2luKFwiXCIpO1xyXG4gIFxyXG4gICAgICAgICAgdGhpcy5wcmludERlYnVnKFwiY29uc3RydWNvciB0cmFuc2NyaXB0OiBcIiArIHRyYW5zY3JpcHQpO1xyXG4gIFxyXG4gIFxyXG4gICAgICAgICAgdGhpcy50cmFuc2NyaXB0X2Fyci5wdXNoKHRyYW5zY3JpcHQpO1xyXG4gICAgICAgICAgdGhpcy50ZW1wV29yZHMgPSB0cmFuc2NyaXB0O1xyXG4gIFxyXG4gICAgICAgICAgY29uc3QgY29uZmlkZW5jZSA9IEFycmF5LmZyb20oZS5yZXN1bHRzKVxyXG4gICAgICAgICAgICAubWFwKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0WzBdKVxyXG4gICAgICAgICAgICAubWFwKChyZXN1bHQpID0+IHJlc3VsdC5jb25maWRlbmNlKVxyXG4gICAgICAgICAgICAuam9pbihcIlwiKTtcclxuICAgICAgICAgIHRoaXMuY29uZmlkZW5jZV9hcnIucHVzaChjb25maWRlbmNlKTtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnJlY29nbml0aW9uLmFkZEV2ZW50TGlzdGVuZXIoXCJlbmRcIiwgKGNvbmRpdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICAvL3RoaXMud29yZENvbmNhdCgpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNTdG9wcGVkQXV0b21hdGljYWxseSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdGFydCgpO1xyXG4gICAgICAgICAgICB0aGlzLmlzU3RvcHBlZEF1dG9tYXRpY2FsbHkgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gIFxyXG4gICAgICAgIHRoaXMucHJpbnREZWJ1ZyhlcnJvcik7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgfVxyXG4gIFxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgIHRoaXMucHJpbnREZWJ1ZyhcInNwZWVjaCBvbkRlc3Ryb3lcIik7XHJcbiAgICAgIFxyXG4gICAgICBpZih0aGlzLnJlY29nbml0aW9uKXtcclxuICAgICAgICB0aGlzLnJlY29nbml0aW9uLmFib3J0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIFNwZWVjaFRvVGV4dFRvZ2dsZXIoKSB7XHJcbiAgICAgIGlmICghR2xvYmFsU2VydmljZS5pc1NwZWVjaFRvVGV4dFN0YXJ0ZWQpIHtcclxuICBcclxuICAgICAgICB0aGlzLnByaW50RGVidWcoXCJzdGFydFwiKTtcclxuICBcclxuICAgICAgICB0aGlzLmJlZ2luU2VudGVuY2UgPSB0aGlzLmJpbmRlZFRleHQ7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5iaW5kZWRUZXh0ID09IG51bGwgfHxcclxuICAgICAgICAgIHRoaXMuYmluZGVkVGV4dCA9PSB1bmRlZmluZWQgfHxcclxuICAgICAgICAgIHRoaXMuYmluZGVkVGV4dCA9PSBcIlwiXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmJlZ2luU2VudGVuY2UgPSBcIlwiO1xyXG4gICAgICAgICAgdGhpcy5iaW5kZWRUZXh0ID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50cmFuc2NyaXB0X2FyciA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29uZmlkZW5jZV9hcnIgPSBbXTtcclxuICBcclxuICAgICAgICBsZXQgbmV3dGV4dCA9IFwiXCI7XHJcbiAgICAgICAgdGhpcy5zdGFydCgpO1xyXG4gICAgICAgIC8vdGhpcy5pc1N0aWxsUmVjb2dpbnplID0gdGhpcy5zdGFydCgpID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50aW1lSW50ZXJ2YWwuc3Vic2NyaWJlKCh2YWwpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmJpbmRlZFRleHQgPT0gbnVsbCB8fCB0aGlzLmJpbmRlZFRleHQgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmluZGVkVGV4dCA9XHJcbiAgICAgICAgICAgICAgdGhpcy5iZWdpblNlbnRlbmNlICtcclxuICAgICAgICAgICAgICB0aGlzLnRyYW5zY3JpcHRfYXJyW3RoaXMudHJhbnNjcmlwdF9hcnIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgIHRoaXMuYmluZGVkVGV4dENoYW5nZS5lbWl0KHRoaXMuYmluZGVkVGV4dCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXd0ZXh0ID0gdGhpcy50cmFuc2NyaXB0X2Fyclt0aGlzLnRyYW5zY3JpcHRfYXJyLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgICAgICBpZiAobmV3dGV4dCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmJpbmRlZFRleHRDaGFuZ2UuZW1pdCh0aGlzLmJlZ2luU2VudGVuY2UgKyBuZXd0ZXh0KTtcclxuICAgICAgICAgICAgICB0aGlzLnRyYW5zY3JpcHRfYXJyW3RoaXMudHJhbnNjcmlwdF9hcnIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5iaW5kZWRUZXh0Q2hhbmdlLmVtaXQodGhpcy5iaW5kZWRUZXh0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmKEdsb2JhbFNlcnZpY2Uuc3BlZWNoRGlyZWN0aXZlID09PSB0aGlzKXtcclxuICAgICAgICAgIHRoaXMucHJpbnREZWJ1ZyhcInN0b3BcIik7XHJcbiAgICAgICAgICB0aGlzLnByaW50RGVidWcoXCJiaW5kZWQ6IFwiICsgdGhpcy5iaW5kZWRUZXh0KTtcclxuICAgIFxyXG4gICAgICAgICAgdGhpcy50cmFuc2NyaXB0X2FyciA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5zdG9wKCk7XHJcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnByaW50RGVidWcoXCJzdG9wIG90aGVyXCIpO1xyXG4gICAgICAgICAgR2xvYmFsU2VydmljZS5zcGVlY2hEaXJlY3RpdmUuU3BlZWNoVG9UZXh0VG9nZ2xlcigpO1xyXG4gICAgICAgICAgbGV0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZihHbG9iYWxTZXJ2aWNlLnNwZWVjaERpcmVjdGl2ZSA9PSBudWxsKXtcclxuICAgICAgICAgICAgICB0aGlzLlNwZWVjaFRvVGV4dFRvZ2dsZXIoKTtcclxuICAgICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgcHJpdmF0ZSBzdGFydCgpIHtcclxuICAgICAgaWYgKCFHbG9iYWxTZXJ2aWNlLmlzU3BlZWNoVG9UZXh0U3RhcnRlZCkge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5wYXVzZWRDbGFzcyk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLnNwZWFraW5nQ2xhc3MpO1xyXG4gICAgICAgIHRoaXMucmVjb2duaXRpb24uc3RhcnQoKTtcclxuICAgICAgICBHbG9iYWxTZXJ2aWNlLmlzU3BlZWNoVG9UZXh0U3RhcnRlZCA9IHRydWU7XHJcbiAgICAgICAgR2xvYmFsU2VydmljZS5zcGVlY2hEaXJlY3RpdmUgPSB0aGlzO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzdG9wKCkgeyAgICBcclxuICAgICAgaWYgKEdsb2JhbFNlcnZpY2UuaXNTcGVlY2hUb1RleHRTdGFydGVkKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnNwZWFraW5nQ2xhc3MpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5wYXVzZWRDbGFzcyk7XHJcbiAgICAgICAgdGhpcy5pc1N0b3BwZWRBdXRvbWF0aWNhbGx5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy53b3JkQ29uY2F0KCk7XHJcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdG9wKCk7XHJcbiAgICAgICAgR2xvYmFsU2VydmljZS5pc1NwZWVjaFRvVGV4dFN0YXJ0ZWQgPSBmYWxzZTtcclxuICAgICAgICBHbG9iYWxTZXJ2aWNlLnNwZWVjaERpcmVjdGl2ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy50cmFuc2NyaXB0X2FyciA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICBcclxuICAgIHByaXZhdGUgd29yZENvbmNhdCgpIHtcclxuICAgICAgdGhpcy5iaW5kZWRUZXh0ID0gdGhpcy5iaW5kZWRUZXh0ICsgXCIuIFwiO1xyXG4gICAgICAvLyB0aGlzLmJpbmRlZFRleHQgPSB0aGlzLmJpbmRlZFRleHQgKyBcIiBcIiArIHRoaXMudGVtcFdvcmRzICsgXCIuXCI7XHJcbiAgICAgIC8vIHRoaXMudGVtcFdvcmRzID0gXCJcIjtcclxuICAgIH1cclxuICBcclxuICAgIHByaXZhdGUgcHJpbnREZWJ1ZyhtZXNzYWdlKXtcclxuICAgICAgaWYodGhpcy5kZWJ1Zyl7XHJcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgIl19
|
|
@@ -19,4 +19,4 @@ export const AvailableImageExtensions = [
|
|
|
19
19
|
{ value: '.svg', key: 'image/svg+xml' },
|
|
20
20
|
{ value: '.ico', key: 'image/x-icon' },
|
|
21
21
|
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudEZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvbW9kZWxzL2ZpZWxkcy9hdHRhY2htZW50RmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxlQUFnQixTQUFRLFNBQVM7Q0FTN0M7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBMEM7SUFDMUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxpQkFBaUIsRUFBRTtJQUN6QyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFO0lBQzVDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsMEJBQTBCLEVBQUU7SUFDbEQsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSwrQkFBK0IsRUFBRTtJQUN2RCxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLHlFQUF5RSxFQUFFO0lBQ2xHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsbUVBQW1FLEVBQUU7SUFDNUYsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSwyRUFBMkUsRUFBRTtJQUNwRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRTtJQUNsQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRTtDQUN2QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQTBDO0lBQzNFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFO0lBQzFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO0lBQ25DLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO0lBQ25DLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFO0lBQ3ZDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFO0NBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRmllbGQgfSBmcm9tIFwiLi4vYmFzZUZpZWxkLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudEZpZWxkIGV4dGVuZHMgQmFzZUZpZWxkIHtcclxuICAgIC8qKkVsZW5jbyBkZWxsZSBlc3RlbnNpb25pIGNvbnNlbnRpdGUuIFNlIHZ1b3RvIHVzYSBpbCBkZWZhdWx0IChwZGYpICovXHJcbiAgICBBbGxvd2VkRXh0ZW5zaW9uczogQXJyYXk8c3RyaW5nPjtcclxuXHJcbiAgICAvKipTZSB0cnVlIHBlcm1ldHRlIGwnaW5zZXJpbWVudG8gZGkgcGnDuSBhbGxlZ2F0aS4gSW4gcXVlc3RvIGNhc28gaSBtZXRhZGF0aSB2ZW5nb25vIHJhcHByZXNlbnRhdGkgY29tZSB1bmEgZGV0YWlsICovXHJcbiAgICBpc011bHRpQXR0YWNoOiBib29sZWFuO1xyXG5cclxuICAgIC8qKkVsZW5jbyBjYW1waSBjaGUgcG9zc29ubyByYXBwcmVzZW50YXJlIGkgbWV0YWRhdGkgZGVsbCdhbGxlZ2F0bywgYWQgZXNlbXBpbyBub21lLCBlY2MuLi4gKi9cclxuICAgIE1ldGFkYXRhRmllbGRzOiBBcnJheTxCYXNlRmllbGQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQXZhaWxhYmxlRmlsZUV4dGVuc2lvbnM6IEFycmF5PHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfT4gPSBbXHJcbiAgICB7IHZhbHVlOiAnLnBkZicsIGtleTogJ2FwcGxpY2F0aW9uL3BkZicgfSxcclxuICAgIHsgdmFsdWU6ICcuZG9jJywga2V5OiAnYXBwbGljYXRpb24vbXN3b3JkJyB9LFxyXG4gICAgeyB2YWx1ZTogJy54bHMnLCBrZXk6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnIH0sXHJcbiAgICB7IHZhbHVlOiAnLnBwdCcsIGtleTogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JyB9LFxyXG4gICAgeyB2YWx1ZTogJy5kb2N4Jywga2V5OiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnIH0sXHJcbiAgICB7IHZhbHVlOiAnLnhsc3gnLCBrZXk6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcgfSxcclxuICAgIHsgdmFsdWU6ICcucHB0eCcsIGtleTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nIH0sXHJcbiAgICB7IHZhbHVlOiAnLmNzdicsIGtleTogJ3RleHQvY3N2JyB9LFxyXG4gICAgeyB2YWx1ZTogJy50eHQnLCBrZXk6ICd0ZXh0L3BsYWluJyB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IEF2YWlsYWJsZUltYWdlRXh0ZW5zaW9uczogQXJyYXk8eyBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9PiA9IFtcclxuICAgIHsgdmFsdWU6ICcuanBnLy5qcGVnJywga2V5OiAnaW1hZ2UvanBlZycgfSxcclxuICAgIHsgdmFsdWU6ICcucG5nJywga2V5OiAnaW1hZ2UvcG5nJyB9LFxyXG4gICAgeyB2YWx1ZTogJy5ibXAnLCBrZXk6ICdpbWFnZS9ibXAnIH0sXHJcbiAgICB7IHZhbHVlOiAnLnN2ZycsIGtleTogJ2ltYWdlL3N2Zyt4bWwnIH0sXHJcbiAgICB7IHZhbHVlOiAnLmljbycsIGtleTogJ2ltYWdlL3gtaWNvbicgfSxcclxuXTsiXX0=
|