@wizishop/wizi-block 14.1.18-beta → 14.1.20-beta
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/shared/components/structure-tools/structure-tools.component.mjs +6 -5
- package/esm2020/lib/structures/map/background-form-left/map-background-form-left.component.mjs +36 -44
- package/esm2020/lib/structures/map/background-form-right/map-background-form-right.component.mjs +36 -44
- package/esm2020/lib/structures/map/fullpage/map-fullpage.component.mjs +35 -45
- package/esm2020/lib/structures/map/left-text/map-left-text.component.mjs +33 -43
- package/esm2020/lib/structures/map/right-text/map-right-text.component.mjs +33 -43
- package/esm2020/lib/structures/map/text-form/map-text-form.component.mjs +36 -46
- package/esm2020/lib/structures/structures.module.mjs +5 -1
- package/fesm2015/wizishop-wizi-block.mjs +199 -247
- package/fesm2015/wizishop-wizi-block.mjs.map +1 -1
- package/fesm2020/wizishop-wizi-block.mjs +199 -247
- package/fesm2020/wizishop-wizi-block.mjs.map +1 -1
- package/lib/shared/components/structure-tools/structure-tools.component.d.ts +1 -0
- package/lib/structures/map/background-form-left/map-background-form-left.component.d.ts +8 -6
- package/lib/structures/map/background-form-right/map-background-form-right.component.d.ts +8 -6
- package/lib/structures/map/fullpage/map-fullpage.component.d.ts +7 -5
- package/lib/structures/map/left-text/map-left-text.component.d.ts +7 -5
- package/lib/structures/map/right-text/map-right-text.component.d.ts +7 -5
- package/lib/structures/map/text-form/map-text-form.component.d.ts +8 -6
- package/lib/structures/structures.module.d.ts +5 -4
- package/package.json +3 -2
- package/wizi-block.scss +381 -375
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ElementRef, EventEmitter, Input,
|
|
1
|
+
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { ContentService } from '../../../services/utils/content.service';
|
|
3
3
|
import { ConfigService } from '../../../services/utils/config.service';
|
|
4
4
|
import { WiziBlockService } from '../../../services/wizi-block.service';
|
|
@@ -19,6 +19,7 @@ export class StructureToolsComponent {
|
|
|
19
19
|
this.isHover = false;
|
|
20
20
|
this.configIsActivated = new EventEmitter();
|
|
21
21
|
this.deleteButtonHold = false;
|
|
22
|
+
this.hoverBtnDelete = false;
|
|
22
23
|
this.hideConfig = false;
|
|
23
24
|
this.blockIsHidden = false;
|
|
24
25
|
this.contentEventSubscription = null;
|
|
@@ -67,7 +68,7 @@ export class StructureToolsComponent {
|
|
|
67
68
|
this.configService.config = this.contentService.getContentByUUID(this.uuid);
|
|
68
69
|
}
|
|
69
70
|
removeThis($event) {
|
|
70
|
-
if (
|
|
71
|
+
if ($event > 1200) {
|
|
71
72
|
this.contentService.removeContentByUUID(this.uuid);
|
|
72
73
|
if (this.configService.config !== null && this.configService.config.block.uuid === this.uuid) {
|
|
73
74
|
this.configService.config = null;
|
|
@@ -93,10 +94,10 @@ export class StructureToolsComponent {
|
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
StructureToolsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: StructureToolsComponent, deps: [{ token: i1.WiziBlockService }, { token: i2.ContentService }, { token: i3.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
StructureToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: StructureToolsComponent, selector: "wb-structure-tools", inputs: { uuid: "uuid", dynamicHiddenStructure: "dynamicHiddenStructure", isHover: "isHover", isAlwaysHover: "isAlwaysHover" }, outputs: { configIsActivated: "configIsActivated" }, viewQueries: [{ propertyName: "deleteButton", first: true, predicate: ["deleteButton"], descendants: true }], ngImport: i0, template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: i6.HoldableDirective, selector: "[wbHoldable]", outputs: ["holdTime"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
97
|
+
StructureToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: StructureToolsComponent, selector: "wb-structure-tools", inputs: { uuid: "uuid", dynamicHiddenStructure: "dynamicHiddenStructure", isHover: "isHover", isAlwaysHover: "isAlwaysHover" }, outputs: { configIsActivated: "configIsActivated" }, viewQueries: [{ propertyName: "deleteButton", first: true, predicate: ["deleteButton"], descendants: true }], ngImport: i0, template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mouseenter)=\"hoverBtnDelete = true;deleteButtonHold = false\"\n (mouseleave)=\"hoverBtnDelete = false\"\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold, 'is-on-hover': hoverBtnDelete }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: i6.HoldableDirective, selector: "[wbHoldable]", outputs: ["holdTime"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
97
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: StructureToolsComponent, decorators: [{
|
|
98
99
|
type: Component,
|
|
99
|
-
args: [{ selector: 'wb-structure-tools', template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
100
|
+
args: [{ selector: 'wb-structure-tools', template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mouseenter)=\"hoverBtnDelete = true;deleteButtonHold = false\"\n (mouseleave)=\"hoverBtnDelete = false\"\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold, 'is-on-hover': hoverBtnDelete }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
100
101
|
}], ctorParameters: function () { return [{ type: i1.WiziBlockService }, { type: i2.ContentService }, { type: i3.ConfigService }]; }, propDecorators: { uuid: [{
|
|
101
102
|
type: Input
|
|
102
103
|
}], dynamicHiddenStructure: [{
|
|
@@ -111,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
111
112
|
type: ViewChild,
|
|
112
113
|
args: ['deleteButton']
|
|
113
114
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQU14RSxNQUFNLE9BQU8sdUJBQXVCO0lBMkJoQyxZQUFvQixnQkFBa0MsRUFBVSxjQUE4QixFQUFVLGFBQTRCO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhCM0gsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBRS9CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJZixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSXRELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBUW5CLGtCQUFhLEdBQUcsS0FBSyxDQUFD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c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpemlCbG9ja1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy93aXppLWJsb2NrLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLXN0cnVjdHVyZS10b29scycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0cnVjdHVyZS10b29scy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFN0cnVjdHVyZVRvb2xzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHV1aWQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGR5bmFtaWNIaWRkZW5TdHJ1Y3R1cmUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGlzSG92ZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGlzQWx3YXlzSG92ZXI6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgY29uZmlnSXNBY3RpdmF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2RlbGV0ZUJ1dHRvbicpIGRlbGV0ZUJ1dHRvbjogRWxlbWVudFJlZjtcblxuICAgIGRlbGV0ZUJ1dHRvbkhvbGQgPSBmYWxzZTtcblxuICAgIGhpZGVDb25maWcgPSBmYWxzZTtcblxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIGN1cnJlbnRMZW5ndGg6IG51bWJlcjtcblxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyO1xuXG4gICAgYmxvY2tJc0hpZGRlbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBjb250ZW50RXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpemlCbG9ja1NlcnZpY2U6IFdpemlCbG9ja1NlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc29sZS5sb2coJy0tLS0tIElTIEFMV0FZUyAtLS0tLS0nKTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5pc0Fsd2F5c0hvdmVyKTtcbiAgICAgICAgY29uc29sZS5sb2coJy0tLS0tIC8gSVMgQUxXQVlTIC0tLS0tLScpO1xuICAgICAgICB0aGlzLmNoZWNrT25Db250ZW50cygpO1xuICAgICAgICB0aGlzLmNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudEV2ZW50KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tPbkNvbnRlbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHRoaXNDb250ZW50ID0gdGhpcy5jb250ZW50U2VydmljZS5nZXRDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpc0NvbnRlbnQuZm9ybXMgIT09IHR5cGVvZiB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzQ29udGVudC5mb3Jtcykge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSAnaGlkZV9ibG9jaycgJiYgdHlwZW9mIGl0ZW0udmFsdWUgIT09IHR5cGVvZiB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9ja0lzSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaWRlQ29uZmlnID0gdGhpc0NvbnRlbnQuZm9ybXMubGVuZ3RoID09PSAwO1xuICAgICAgICB0aGlzLndpemlCbG9ja1NlcnZpY2UuZ2V0QmxvY2tzU2VydmljZSgpLmZvckVhY2goKHNlcnZpY2UpID0+IHtcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlLnR5cGUoKSA9PT0gdGhpc0NvbnRlbnQudHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmFtZSA9IHNlcnZpY2UudGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tPbkNvbnRlbnRzKCkge1xuICAgICAgICBjb25zdCBjb250ZW50cyA9IHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5jb250ZW50U2VydmljZS5jb250ZW50cy5sZW5ndGg7XG5cbiAgICAgICAgY29udGVudHMuZm9yRWFjaCgodiwgaykgPT4ge1xuICAgICAgICAgICAgaWYgKHYuYmxvY2sudXVpZCA9PT0gdGhpcy51dWlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkdXBsaWNhdGVUaGlzKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS5kdXBsaWNhdGVDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgfVxuXG4gICAgY29uZmlnVGhpcyhlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5jb25maWdJc0FjdGl2YXRlZC5lbWl0KHRydWUpO1xuICAgICAgICB0aGlzLmlzQWx3YXlzSG92ZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gdGhpcy5jb250ZW50U2VydmljZS5nZXRDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVGhpcygkZXZlbnQpIHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpIHx8ICRldmVudCA+IDEyMDApIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UucmVtb3ZlQ29udGVudEJ5VVVJRCh0aGlzLnV1aWQpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgIT09IG51bGwgJiYgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5ibG9jay51dWlkID09PSB0aGlzLnV1aWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdvRG93bihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPT09IHRoaXMuY3VycmVudExlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UucmVvcmRlckNvbnRlbnRzKHRoaXMuY3VycmVudEluZGV4LCB0aGlzLmN1cnJlbnRJbmRleCArIDEpO1xuICAgIH1cblxuICAgIGdvVXAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnJlb3JkZXJDb250ZW50cyh0aGlzLmN1cnJlbnRJbmRleCwgdGhpcy5jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZW50RXZlbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2Itc3RydWN0dXJlLXRvb2xzXCIgW25nQ2xhc3NdPVwieyBoaWRkZW46IGR5bmFtaWNIaWRkZW5TdHJ1Y3R1cmUsIGhvdmVyOiBpc0hvdmVyIHx8IGlzQWx3YXlzSG92ZXIgfVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1zdHJ1Y3R1cmUtdG9vbHNfX21vdmVcIiAqbmdJZj1cImN1cnJlbnRMZW5ndGggPiAxXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1pbmZvIGlzLXRvb2x0aXAtYm90dG9tLXRvLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhcyBmYS1hcnJvd3NcIj48L2lcbiAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy4yJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1pbmZvIGJ1dHRvbi1tYXJnaW4tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVudEluZGV4ICsgMSAhPT0gY3VycmVudExlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb0Rvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhcyBmYS1sb25nLWFycm93LWRvd25cIj48L2lcbiAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy4zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1pbmZvIGJ1dHRvbi1tYXJnaW4tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVudEluZGV4ICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhcyBmYS1sb25nLWFycm93LXVwXCI+PC9pXG4gICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLXN0cnVjdHVyZS10b29sc19fZWRpdFwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1leWUtc2xhc2hcIiAqbmdJZj1cImR5bmFtaWNIaWRkZW5TdHJ1Y3R1cmVcIj48L2k+XG4gICAgICAgICAgICAgICAgPHA+e3sgbmFtZSB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29uZmlnVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPjwvc3Bhbj48aSBjbGFzcz1cImZhcyBmYS1jb2dcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy41JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBud2JUb29sVGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImR1cGxpY2F0ZVRoaXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+PC9zcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWNvcHlcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICNkZWxldGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB3YkhvbGRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoaG9sZFRpbWUpPVwicmVtb3ZlVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW9uLWhvbGQnOiBkZWxldGVCdXR0b25Ib2xkIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPjwvc3Bhbj48aSBjbGFzcz1cImZhcyBmYS10cmFzaFwiPjwvaVxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBTXhFLE1BQU0sT0FBTyx1QkFBdUI7SUE2QmhDLFlBQW9CLGdCQUFrQyxFQUFVLGNBQThCLEVBQVUsYUFBNEI7UUFBaEgscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBMUIzSCwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFFL0IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUlmLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJdEQscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFRbkIsa0JB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O3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGlzRGV2TW9kZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXaXppQmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2l6aS1ibG9jay5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3Yi1zdHJ1Y3R1cmUtdG9vbHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdHJ1Y3R1cmUtdG9vbHMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTdHJ1Y3R1cmVUb29sc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB1dWlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkeW5hbWljSGlkZGVuU3RydWN0dXJlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBpc0hvdmVyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBpc0Fsd2F5c0hvdmVyOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGNvbmZpZ0lzQWN0aXZhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdkZWxldGVCdXR0b24nKSBkZWxldGVCdXR0b246IEVsZW1lbnRSZWY7XG5cbiAgICBkZWxldGVCdXR0b25Ib2xkID0gZmFsc2U7XG5cbiAgICBob3ZlckJ0bkRlbGV0ZSA9IGZhbHNlO1xuXG4gICAgaGlkZUNvbmZpZyA9IGZhbHNlO1xuXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgY3VycmVudExlbmd0aDogbnVtYmVyO1xuXG4gICAgY3VycmVudEluZGV4OiBudW1iZXI7XG5cbiAgICBibG9ja0lzSGlkZGVuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgd2l6aUJsb2NrU2VydmljZTogV2l6aUJsb2NrU2VydmljZSwgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2UsIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zb2xlLmxvZygnLS0tLS0gSVMgQUxXQVlTIC0tLS0tLScpO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmlzQWx3YXlzSG92ZXIpO1xuICAgICAgICBjb25zb2xlLmxvZygnLS0tLS0gLyBJUyBBTFdBWVMgLS0tLS0tJyk7XG4gICAgICAgIHRoaXMuY2hlY2tPbkNvbnRlbnRzKCk7XG4gICAgICAgIHRoaXMuY29udGVudEV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5jb250ZW50U2VydmljZS5jb250ZW50RXZlbnQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja09uQ29udGVudHMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGhpc0NvbnRlbnQgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmdldENvbnRlbnRCeVVVSUQodGhpcy51dWlkKTtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzQ29udGVudC5mb3JtcyAhPT0gdHlwZW9mIHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXNDb250ZW50LmZvcm1zKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT09ICdoaWRlX2Jsb2NrJyAmJiB0eXBlb2YgaXRlbS52YWx1ZSAhPT0gdHlwZW9mIHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2NrSXNIaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhpZGVDb25maWcgPSB0aGlzQ29udGVudC5mb3Jtcy5sZW5ndGggPT09IDA7XG4gICAgICAgIHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRCbG9ja3NTZXJ2aWNlKCkuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHNlcnZpY2UudHlwZSgpID09PSB0aGlzQ29udGVudC50eXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYW1lID0gc2VydmljZS50ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjaGVja09uQ29udGVudHMoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRzID0gdGhpcy5jb250ZW50U2VydmljZS5jb250ZW50cztcblxuICAgICAgICB0aGlzLmN1cnJlbnRMZW5ndGggPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmNvbnRlbnRzLmxlbmd0aDtcblxuICAgICAgICBjb250ZW50cy5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgICAgICAgICBpZiAodi5ibG9jay51dWlkID09PSB0aGlzLnV1aWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGR1cGxpY2F0ZVRoaXMoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSBudWxsO1xuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLmR1cGxpY2F0ZUNvbnRlbnRCeVVVSUQodGhpcy51dWlkKTtcbiAgICB9XG5cbiAgICBjb25maWdUaGlzKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmNvbmZpZ0lzQWN0aXZhdGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNBbHdheXNIb3ZlciA9IHRydWU7XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmdldENvbnRlbnRCeVVVSUQodGhpcy51dWlkKTtcbiAgICB9XG5cbiAgICByZW1vdmVUaGlzKCRldmVudCkge1xuICAgICAgICBpZiAoJGV2ZW50ID4gMTIwMCkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS5yZW1vdmVDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZyAhPT0gbnVsbCAmJiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmJsb2NrLnV1aWQgPT09IHRoaXMudXVpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ29Eb3duKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA9PT0gdGhpcy5jdXJyZW50TGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS5yZW9yZGVyQ29udGVudHModGhpcy5jdXJyZW50SW5kZXgsIHRoaXMuY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgZ29VcChlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UucmVvcmRlckNvbnRlbnRzKHRoaXMuY3VycmVudEluZGV4LCB0aGlzLmN1cnJlbnRJbmRleCAtIDEpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi1zdHJ1Y3R1cmUtdG9vbHNcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogZHluYW1pY0hpZGRlblN0cnVjdHVyZSwgaG92ZXI6IGlzSG92ZXIgfHwgaXNBbHdheXNIb3ZlciB9XCI+XG4gICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLXN0cnVjdHVyZS10b29sc19fbW92ZVwiICpuZ0lmPVwiY3VycmVudExlbmd0aCA+IDFcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm8gaXMtdG9vbHRpcC1ib3R0b20tdG8tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFzIGZhLWFycm93c1wiPjwvaVxuICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm8gYnV0dG9uLW1hcmdpbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50SW5kZXggKyAxICE9PSBjdXJyZW50TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvRG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFzIGZhLWxvbmctYXJyb3ctZG93blwiPjwvaVxuICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm8gYnV0dG9uLW1hcmdpbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50SW5kZXggIT09IDBcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29VcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFzIGZhLWxvbmctYXJyb3ctdXBcIj48L2lcbiAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Itc3RydWN0dXJlLXRvb2xzX19lZGl0XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWV5ZS1zbGFzaFwiICpuZ0lmPVwiZHluYW1pY0hpZGRlblN0cnVjdHVyZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8cD57eyBuYW1lIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBpcy1yb3VuZGVkIGlzLXRvb2x0aXAtaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbndiVG9vbFRpcF09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMuc3RydWN0dXJlVG9vbHMuNCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25maWdUaGlzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaGlkZUNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+PC9zcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWNvZ1wiPjwvaVxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHVwbGljYXRlVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48c3Bhbj48L3NwYW4+PGkgY2xhc3M9XCJmYXMgZmEtY29weVwiPjwvaVxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgI2RlbGV0ZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbndiVG9vbFRpcF09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMuc3RydWN0dXJlVG9vbHMuNicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdiSG9sZGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyQnRuRGVsZXRlID0gdHJ1ZTtkZWxldGVCdXR0b25Ib2xkID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaG92ZXJCdG5EZWxldGUgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoaG9sZFRpbWUpPVwicmVtb3ZlVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW9uLWhvbGQnOiBkZWxldGVCdXR0b25Ib2xkLCAnaXMtb24taG92ZXInOiBob3ZlckJ0bkRlbGV0ZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48c3Bhbj48L3NwYW4+PGkgY2xhc3M9XCJmYXMgZmEtdHJhc2hcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
package/esm2020/lib/structures/map/background-form-left/map-background-form-left.component.mjs
CHANGED
|
@@ -2,7 +2,6 @@ import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
|
2
2
|
import { FORM_NAME_ID_FORM } from '../../../dtos/forms/forms.dto';
|
|
3
3
|
import { StructuresComponent } from '../../structures.component';
|
|
4
4
|
import { icon, latLng, marker, tileLayer } from 'leaflet';
|
|
5
|
-
import places from 'places.js';
|
|
6
5
|
import { ApiService } from '../../../services/utils/api.service';
|
|
7
6
|
import { MapBackgroundFormLeftService } from '../../../services/blocks/map/map-background-form-left.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
@@ -14,14 +13,17 @@ import * as i5 from "../../../shared/components/structure-select/structure-selec
|
|
|
14
13
|
import * as i6 from "../../../shared/components/loader/loader.component";
|
|
15
14
|
import * as i7 from "@wizishop/wizi-editor";
|
|
16
15
|
import * as i8 from "@asymmetrik/ngx-leaflet";
|
|
17
|
-
import * as i9 from "
|
|
18
|
-
import * as i10 from "
|
|
16
|
+
import * as i9 from "ngx-google-places-autocomplete";
|
|
17
|
+
import * as i10 from "../../../shared/pipes/answer-type/answer-type.pipe";
|
|
18
|
+
import * as i11 from "@ngx-translate/core";
|
|
19
19
|
export class MapBackgroundFormLeftComponent extends StructuresComponent {
|
|
20
20
|
constructor(apiService) {
|
|
21
21
|
super();
|
|
22
22
|
this.apiService = apiService;
|
|
23
23
|
this.address = '';
|
|
24
|
+
this.triggerAddress = '';
|
|
24
25
|
this.editPlaceMap = null;
|
|
26
|
+
this.firstTimeTrigger = false;
|
|
25
27
|
this.options = {};
|
|
26
28
|
this.layers = [];
|
|
27
29
|
this.showMap = false;
|
|
@@ -44,27 +46,17 @@ export class MapBackgroundFormLeftComponent extends StructuresComponent {
|
|
|
44
46
|
}
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
|
-
|
|
48
|
-
const placesAutocomplete = places({
|
|
49
|
-
appId: 'pl9OI1NPY62Y',
|
|
50
|
-
apiKey: '290e5a0e33e751c85c36690d502991fc',
|
|
51
|
-
container: this.input.nativeElement,
|
|
52
|
-
});
|
|
53
|
-
placesAutocomplete.on('change', (algoliaReturnElement) => {
|
|
54
|
-
this.setCoordinateOnPlaces(algoliaReturnElement);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
setCoordinateOnPlaces(algoliaReturnElement) {
|
|
49
|
+
setCoordinateOnPlaces(googleResults) {
|
|
58
50
|
this.showMap = false;
|
|
59
51
|
this.options = {
|
|
60
|
-
layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom:
|
|
52
|
+
layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'WiziShop' })],
|
|
61
53
|
zoom: 18,
|
|
62
54
|
zoomControl: false,
|
|
63
|
-
center: latLng(
|
|
55
|
+
center: latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng),
|
|
64
56
|
};
|
|
65
|
-
this.center = latLng(
|
|
57
|
+
this.center = latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng);
|
|
66
58
|
this.layers = [
|
|
67
|
-
marker([
|
|
59
|
+
marker([googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng], {
|
|
68
60
|
icon: icon({
|
|
69
61
|
iconSize: [25, 41],
|
|
70
62
|
iconAnchor: [13, 41],
|
|
@@ -73,23 +65,32 @@ export class MapBackgroundFormLeftComponent extends StructuresComponent {
|
|
|
73
65
|
}),
|
|
74
66
|
}),
|
|
75
67
|
];
|
|
76
|
-
this.contentBlock[this.FORM_NAME_COORDINATE_Y] =
|
|
77
|
-
this.contentBlock[this.FORM_NAME_COORDINATE_X] =
|
|
78
|
-
this.address =
|
|
68
|
+
this.contentBlock[this.FORM_NAME_COORDINATE_Y] = googleResults.suggestion.latlng.lat;
|
|
69
|
+
this.contentBlock[this.FORM_NAME_COORDINATE_X] = googleResults.suggestion.latlng.lng;
|
|
70
|
+
this.address = googleResults.suggestion.value;
|
|
79
71
|
this.showMap = true;
|
|
80
72
|
this.persist();
|
|
81
73
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
74
|
+
handleAddressChange(event) {
|
|
75
|
+
this.googleMapReturnElement = {
|
|
76
|
+
suggestion: {
|
|
77
|
+
latlng: {
|
|
78
|
+
lat: event.geometry.location.lat(),
|
|
79
|
+
lng: event.geometry.location.lng(),
|
|
80
|
+
},
|
|
81
|
+
value: event.name,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
this.setCoordinateOnPlaces(this.googleMapReturnElement);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Avoid partial map loaded at the initialization
|
|
88
|
+
* @param map
|
|
89
|
+
*/
|
|
90
|
+
onMapReady(map) {
|
|
91
|
+
setTimeout(() => {
|
|
92
|
+
map.invalidateSize();
|
|
93
|
+
}, 0);
|
|
93
94
|
}
|
|
94
95
|
selectThisForm() {
|
|
95
96
|
if (this.selectedValue === null) {
|
|
@@ -101,23 +102,14 @@ export class MapBackgroundFormLeftComponent extends StructuresComponent {
|
|
|
101
102
|
this.contentBlock[FORM_NAME_ID_FORM] = this.selectedValue.id;
|
|
102
103
|
this.persist();
|
|
103
104
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Avoid partial map loaded at the initialization
|
|
106
|
-
* @param map
|
|
107
|
-
*/
|
|
108
|
-
onMapReady(map) {
|
|
109
|
-
setTimeout(() => {
|
|
110
|
-
map.invalidateSize();
|
|
111
|
-
}, 0);
|
|
112
|
-
}
|
|
113
105
|
}
|
|
114
106
|
MapBackgroundFormLeftComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MapBackgroundFormLeftComponent, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
MapBackgroundFormLeftComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: MapBackgroundFormLeftComponent, selector: "wb-map-background-form-left", viewQueries: [{ propertyName: "input", first: true, predicate: ["myInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-map-background-form-left\">\n <div class=\"wb-map-background-form-left__container__config\" *ngIf=\"showMap\">\n <wb-structure-config
|
|
107
|
+
MapBackgroundFormLeftComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: MapBackgroundFormLeftComponent, selector: "wb-map-background-form-left", viewQueries: [{ propertyName: "input", first: true, predicate: ["myInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-map-background-form-left\">\n <div class=\"wb-map-background-form-left__container__config\" *ngIf=\"showMap\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-background-form-left__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n <div class=\"columns is-gapless\" *ngIf=\"showMap\">\n <div class=\"column\">\n <div *ngIf=\"selectedDetailForm.length === 0\">\n <div *ngIf=\"forms.length === 0\" class=\"wb-map-background-form-left__loader\">\n <wb-loader></wb-loader>\n </div>\n <div class=\"wb-map-background-form-left__selector-form\" *ngIf=\"forms.length > 0\">\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n <div *ngIf=\"selectedDetailForm.length > 0\" class=\"wb-map-background-form-left__container-form\">\n <div class=\"wb-map-background-form-left__container-form__editor\">\n <div>\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div>\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_CONTENT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container-form__content\">\n <div *ngFor=\"let select of selectedDetailForm\">\n <p [innerHTML]=\"select.title\"></p>\n <p>{{ select.type | answerPipe | translate }}</p>\n </div>\n <div>\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n \n <button>{{ selectedValue.submit_label }}</button>\n </div>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container\">\n <div>\n <div class=\"wb-map-background-form-left__cover\"></div>\n <div\n class=\"wb-map-background-form-left__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"] }, { kind: "component", type: i5.StructureSelectComponent, selector: "wb-structure-select", inputs: ["selectedValue", "forms", "large", "icon", "label"], outputs: ["changed"] }, { kind: "component", type: i6.LoaderComponent, selector: "wb-loader" }, { kind: "component", type: i7.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "directive", type: i8.LeafletDirective, selector: "[leaflet]", inputs: ["leafletFitBoundsOptions", "leafletPanOptions", "leafletZoomOptions", "leafletZoomPanOptions", "leafletOptions", "leafletZoom", "leafletCenter", "leafletFitBounds", "leafletMaxBounds", "leafletMinZoom", "leafletMaxZoom"], outputs: ["leafletMapReady", "leafletZoomChange", "leafletCenterChange", "leafletClick", "leafletDoubleClick", "leafletMouseDown", "leafletMouseUp", "leafletMouseMove", "leafletMouseOver", "leafletMouseOut", "leafletMapMove", "leafletMapMoveStart", "leafletMapMoveEnd", "leafletMapZoom", "leafletMapZoomStart", "leafletMapZoomEnd"] }, { kind: "directive", type: i8.LeafletLayersDirective, selector: "[leafletLayers]", inputs: ["leafletLayers"] }, { kind: "directive", type: i9.GooglePlaceDirective, selector: "[ngx-google-places-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "pipe", type: i10.AnswerTypePipe, name: "answerPipe" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
116
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MapBackgroundFormLeftComponent, decorators: [{
|
|
117
109
|
type: Component,
|
|
118
|
-
args: [{ selector: MapBackgroundFormLeftService.selector(), template: "<div class=\"wb-map-background-form-left\">\n <div class=\"wb-map-background-form-left__container__config\" *ngIf=\"showMap\">\n <wb-structure-config
|
|
110
|
+
args: [{ selector: MapBackgroundFormLeftService.selector(), template: "<div class=\"wb-map-background-form-left\">\n <div class=\"wb-map-background-form-left__container__config\" *ngIf=\"showMap\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-background-form-left__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n <div class=\"columns is-gapless\" *ngIf=\"showMap\">\n <div class=\"column\">\n <div *ngIf=\"selectedDetailForm.length === 0\">\n <div *ngIf=\"forms.length === 0\" class=\"wb-map-background-form-left__loader\">\n <wb-loader></wb-loader>\n </div>\n <div class=\"wb-map-background-form-left__selector-form\" *ngIf=\"forms.length > 0\">\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n <div *ngIf=\"selectedDetailForm.length > 0\" class=\"wb-map-background-form-left__container-form\">\n <div class=\"wb-map-background-form-left__container-form__editor\">\n <div>\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <div>\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_CONTENT]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container-form__content\">\n <div *ngFor=\"let select of selectedDetailForm\">\n <p [innerHTML]=\"select.title\"></p>\n <p>{{ select.type | answerPipe | translate }}</p>\n </div>\n <div>\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n \n <button>{{ selectedValue.submit_label }}</button>\n </div>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container\">\n <div>\n <div class=\"wb-map-background-form-left__cover\"></div>\n <div\n class=\"wb-map-background-form-left__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
119
111
|
}], ctorParameters: function () { return [{ type: i1.ApiService }]; }, propDecorators: { input: [{
|
|
120
112
|
type: ViewChild,
|
|
121
113
|
args: ['myInput']
|
|
122
114
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL21hcC9iYWNrZ3JvdW5kLWZvcm0tbGVmdC9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL2JhY2tncm91bmQtZm9ybS1sZWZ0L21hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFELE9BQU8sTUFBTSxNQUFNLFdBQVcsQ0FBQztBQUUvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0RBQStELENBQUM7Ozs7Ozs7Ozs7OztBQU83RyxNQUFNLE9BQU8sOEJBQ1QsU0FBUSxtQkFBNkM7SUFtQnJELFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhCMUMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFlBQU8sR0FBRyxFQUFFLENBQUM7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QUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsR0FBRztRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7MkhBcEhRLDhCQUE4QjsrR0FBOUIsOEJBQThCLDRMQ2hCM0MseWdJQWlGQTsyRkRqRWEsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNJLDRCQUE0QixDQUFDLFFBQVEsRUFBRTtpR0FNM0IsS0FBSztzQkFBMUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT1JNX05BTUVfSURfRk9STSB9IGZyb20gJy4uLy4uLy4uL2R0b3MvZm9ybXMvZm9ybXMuZHRvJztcbmltcG9ydCB7IFN0cnVjdHVyZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdHJ1Y3R1cmVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGVuTWFwRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL21hcHMvb3Blbi1tYXAuZHRvJztcbmltcG9ydCB7IGljb24sIGxhdExuZywgbWFya2VyLCB0aWxlTGF5ZXIgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBwbGFjZXMgZnJvbSAncGxhY2VzLmpzJztcbmltcG9ydCB7IEZvcm1MaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2Zvcm1zL2Zvcm0tbGlzdC5kdG8nO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcEJhY2tncm91bmRGb3JtTGVmdER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL21hcC9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuZHRvJztcbmltcG9ydCB7IE1hcEJhY2tncm91bmRGb3JtTGVmdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvbWFwL21hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1EZXRhaWxEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvZm9ybXMvZm9ybS1kZXRhaWwuZHRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IE1hcEJhY2tncm91bmRGb3JtTGVmdFNlcnZpY2Uuc2VsZWN0b3IoKSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQmFja2dyb3VuZEZvcm1MZWZ0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PE1hcEJhY2tncm91bmRGb3JtTGVmdER0bz5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdteUlucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gICAgYWRkcmVzcyA9ICcnO1xuICAgIGNlbnRlcjtcblxuICAgIGVkaXRQbGFjZU1hcCA9IG51bGw7XG5cbiAgICBvcHRpb25zID0ge307XG4gICAgbGF5ZXJzID0gW107XG5cbiAgICBzaG93TWFwID0gZmFsc2U7XG5cbiAgICBmb3JtczogRm9ybUxpc3REdG9bXSA9IFtdO1xuXG4gICAgc2VsZWN0ZWRWYWx1ZTogRm9ybUxpc3REdG8gPSBudWxsO1xuXG4gICAgc2VsZWN0ZWREZXRhaWxGb3JtOiBGb3JtRGV0YWlsRHRvW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoTWFwQmFja2dyb3VuZEZvcm1MZWZ0U2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZvcm1zTGlzdCgpLnN1YnNjcmliZSgobGlzdHM6IEZvcm1MaXN0RHRvW10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMgPSBsaXN0cztcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9JRF9GT1JNXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybXMuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodi5pZCA9PT0gdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB2O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RUaGlzRm9ybSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGxhY2VzQXV0b2NvbXBsZXRlID0gcGxhY2VzKHtcbiAgICAgICAgICAgIGFwcElkOiAncGw5T0kxTlBZNjJZJyxcbiAgICAgICAgICAgIGFwaUtleTogJzI5MGU1YTBlMzNlNzUxYzg1YzM2NjkwZDUwMjk5MWZjJyxcbiAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LFxuICAgICAgICB9KTtcblxuICAgICAgICBwbGFjZXNBdXRvY29tcGxldGUub24oJ2NoYW5nZScsIChhbGdvbGlhUmV0dXJuRWxlbWVudDogT3Blbk1hcER0bykgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXMoYWxnb2xpYVJldHVybkVsZW1lbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRDb29yZGluYXRlT25QbGFjZXMoYWxnb2xpYVJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG8pIHtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGxheWVyczogW3RpbGVMYXllcignaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsgbWF4Wm9vbTogMTYsIGF0dHJpYnV0aW9uOiAnV2l6aVNob3AnIH0pXSxcbiAgICAgICAgICAgIHpvb206IDE4LFxuICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgY2VudGVyOiBsYXRMbmcoYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sbmcpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNlbnRlciA9IGxhdExuZyhhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gW1xuICAgICAgICAgICAgbWFya2VyKFthbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZ10sIHtcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uKHtcbiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMTMsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLWljb24ucG5nJyxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItc2hhZG93LnBuZycsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubGF0O1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubG5nO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24udmFsdWU7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgY3JlYXRlRWRpdEFsZ29saWFJbnB1dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdFBsYWNlTWFwID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRQbGFjZU1hcCA9IHBsYWNlcyh7XG4gICAgICAgICAgICAgICAgYXBwSWQ6ICdwbDlPSTFOUFk2MlknLFxuICAgICAgICAgICAgICAgIGFwaUtleTogJzI5MGU1YTBlMzNlNzUxYzg1YzM2NjkwZDUwMjk5MWZjJyxcbiAgICAgICAgICAgICAgICBjb250YWluZXI6IDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhZGRyZXNzLWlucHV0LWVkaXQnICsgdGhpcy51dWlkKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmVkaXRQbGFjZU1hcC5vbignY2hhbmdlJywgKGFsZ29saWFSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXMoYWxnb2xpYVJldHVybkVsZW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RUaGlzRm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRGb3Jtc0RldGFpbCh0aGlzLnNlbGVjdGVkVmFsdWUuaWQpLnN1YnNjcmliZSgobGlzdHM6IEZvcm1EZXRhaWxEdG9bXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERldGFpbEZvcm0gPSBsaXN0cztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9JRF9GT1JNXSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS5pZDtcbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXZvaWQgcGFydGlhbCBtYXAgbG9hZGVkIGF0IHRoZSBpbml0aWFsaXphdGlvblxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICBvbk1hcFJlYWR5KG1hcCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIG1hcC5pbnZhbGlkYXRlU2l6ZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0XCI+XG4gICAgPGRpdiBjbGFzcz1cIndiLW1hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdF9fY29udGFpbmVyX19jb25maWdcIiAqbmdJZj1cInNob3dNYXBcIj5cbiAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWdcbiAgICAgICAgICAgIFtibG9ja1VVSURdPVwidXVpZFwiXG4gICAgICAgICAgICBbcG9zaXRpb25dPVwiVFlQRV9DT05GSUdfUE9TSVRJT05fUklHSFRfVE9QXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVFZGl0QWxnb2xpYUlucHV0KClcIlxuICAgICAgICAgICAgW2lzRnVsbHdpZHRoXT1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8cD57eyAnd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4xOScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJhZGRyZXNzLWlucHV0LWVkaXR7eyB1dWlkIH19XCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cImFkZHJlc3NcIiAjbXlJbnB1dEVkaXQgKGNsaWNrKT1cIm15SW5wdXRFZGl0LnNlbGVjdCgpXCIgLz5cbiAgICAgICAgPC93Yi1zdHJ1Y3R1cmUtY29uZmlnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX3NlbGVjdG9yXCIgKm5nSWY9XCIhc2hvd01hcFwiPlxuICAgICAgICA8cD57eyAnd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4xOScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDxpbnB1dCBpZD1cImFkZHJlc3MtaW5wdXR7eyB1dWlkIH19XCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cImFkZHJlc3NcIiAjbXlJbnB1dCAoY2xpY2spPVwibXlJbnB1dC5zZWxlY3QoKVwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiICpuZ0lmPVwic2hvd01hcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWREZXRhaWxGb3JtLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb3Jtcy5sZW5ndGggPT09IDBcIiBjbGFzcz1cIndiLW1hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdF9fbG9hZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1sb2FkZXI+PC93Yi1sb2FkZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdF9fc2VsZWN0b3ItZm9ybVwiICpuZ0lmPVwiZm9ybXMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybXNdPVwiZm9ybXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZWQpPVwic2VsZWN0ZWRWYWx1ZSA9ICRldmVudDsgc2VsZWN0VGhpc0Zvcm0oKVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZERldGFpbEZvcm0ubGVuZ3RoID4gMFwiIGNsYXNzPVwid2ItbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0X19jb250YWluZXItZm9ybVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvbnRhaW5lci1mb3JtX19lZGl0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0NPTlRFTlRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvbnRhaW5lci1mb3JtX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlbGVjdCBvZiBzZWxlY3RlZERldGFpbEZvcm1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwic2VsZWN0LnRpdGxlXCI+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgc2VsZWN0LnR5cGUgfCBhbnN3ZXJQaXBlIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24+e3sgc2VsZWN0ZWRWYWx1ZS5zdWJtaXRfbGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvdmVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0X19jb250YWluZXJfX21hcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWFmbGV0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGVhZmxldE9wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGVhZmxldExheWVyc109XCJsYXllcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhsZWFmbGV0Q2VudGVyKV09XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGxlYWZsZXRNYXBSZWFkeSk9XCJvbk1hcFJlYWR5KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL21hcC9iYWNrZ3JvdW5kLWZvcm0tbGVmdC9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvbWFwL2JhY2tncm91bmQtZm9ybS1sZWZ0L21hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDOzs7Ozs7Ozs7Ozs7O0FBTzdHLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxtQkFBNkM7SUFxQjdGLFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQW5CMUMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBSXBCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztR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dCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9JRF9GT1JNIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE9wZW5NYXBEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvbWFwcy9vcGVuLW1hcC5kdG8nO1xuaW1wb3J0IHsgaWNvbiwgbGF0TG5nLCBtYXJrZXIsIHRpbGVMYXllciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHBsYWNlcyBmcm9tICdwbGFjZXMuanMnO1xuaW1wb3J0IHsgRm9ybUxpc3REdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvZm9ybXMvZm9ybS1saXN0LmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQmFja2dyb3VuZEZvcm1MZWZ0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvbWFwL21hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdC5kdG8nO1xuaW1wb3J0IHsgTWFwQmFja2dyb3VuZEZvcm1MZWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9tYXAvbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybURldGFpbER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9mb3Jtcy9mb3JtLWRldGFpbC5kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogTWFwQmFja2dyb3VuZEZvcm1MZWZ0U2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBCYWNrZ3JvdW5kRm9ybUxlZnRDb21wb25lbnQgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PE1hcEJhY2tncm91bmRGb3JtTGVmdER0bz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnbXlJbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xuICAgIGFkZHJlc3MgPSAnJztcbiAgICB0cmlnZ2VyQWRkcmVzcyA9ICcnO1xuICAgIGNlbnRlcjtcbiAgICBnb29nbGVNYXBSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvO1xuXG4gICAgZWRpdFBsYWNlTWFwID0gbnVsbDtcbiAgICBmaXJzdFRpbWVUcmlnZ2VyID0gZmFsc2U7XG5cbiAgICBvcHRpb25zID0ge307XG4gICAgbGF5ZXJzID0gW107XG5cbiAgICBzaG93TWFwID0gZmFsc2U7XG5cbiAgICBmb3JtczogRm9ybUxpc3REdG9bXSA9IFtdO1xuXG4gICAgc2VsZWN0ZWRWYWx1ZTogRm9ybUxpc3REdG8gPSBudWxsO1xuXG4gICAgc2VsZWN0ZWREZXRhaWxGb3JtOiBGb3JtRGV0YWlsRHRvW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoTWFwQmFja2dyb3VuZEZvcm1MZWZ0U2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZvcm1zTGlzdCgpLnN1YnNjcmliZSgobGlzdHM6IEZvcm1MaXN0RHRvW10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMgPSBsaXN0cztcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9JRF9GT1JNXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybXMuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodi5pZCA9PT0gdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB2O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RUaGlzRm9ybSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldENvb3JkaW5hdGVPblBsYWNlcyhnb29nbGVSZXN1bHRzOiBPcGVuTWFwRHRvKSB7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAgICAgICBsYXllcnM6IFt0aWxlTGF5ZXIoJ2h0dHA6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7IG1heFpvb206IDE4LCBhdHRyaWJ1dGlvbjogJ1dpemlTaG9wJyB9KV0sXG4gICAgICAgICAgICB6b29tOiAxOCxcbiAgICAgICAgICAgIHpvb21Db250cm9sOiBmYWxzZSxcbiAgICAgICAgICAgIGNlbnRlcjogbGF0TG5nKGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2VudGVyID0gbGF0TG5nKGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gW1xuICAgICAgICAgICAgbWFya2VyKFtnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmddLCB7XG4gICAgICAgICAgICAgICAgaWNvbjogaWNvbih7XG4gICAgICAgICAgICAgICAgICAgIGljb25TaXplOiBbMjUsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzEzLCA0MV0sXG4gICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdhc3NldHMvYmxvY2tzL2ltYWdlcy9tYXBzL21hcmtlci1pY29uLnBuZycsXG4gICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLXNoYWRvdy5wbmcnLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG5cbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9ZXSA9IGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0O1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmc7XG5cbiAgICAgICAgdGhpcy5hZGRyZXNzID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLnZhbHVlO1xuICAgICAgICB0aGlzLnNob3dNYXAgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgIH1cblxuICAgIGhhbmRsZUFkZHJlc3NDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5nb29nbGVNYXBSZXR1cm5FbGVtZW50ID0ge1xuICAgICAgICAgICAgc3VnZ2VzdGlvbjoge1xuICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICBsYXQ6IGV2ZW50Lmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpLFxuICAgICAgICAgICAgICAgICAgICBsbmc6IGV2ZW50Lmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGV2ZW50Lm5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyh0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF2b2lkIHBhcnRpYWwgbWFwIGxvYWRlZCBhdCB0aGUgaW5pdGlhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0gbWFwXG4gICAgICovXG4gICAgb25NYXBSZWFkeShtYXApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBtYXAuaW52YWxpZGF0ZVNpemUoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgc2VsZWN0VGhpc0Zvcm0oKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Rm9ybXNEZXRhaWwodGhpcy5zZWxlY3RlZFZhbHVlLmlkKS5zdWJzY3JpYmUoKGxpc3RzOiBGb3JtRGV0YWlsRHRvW10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREZXRhaWxGb3JtID0gbGlzdHM7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSURfRk9STV0gPSB0aGlzLnNlbGVjdGVkVmFsdWUuaWQ7XG4gICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0X19jb250YWluZXJfX2NvbmZpZ1wiICpuZ0lmPVwic2hvd01hcFwiPlxuICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZyBbYmxvY2tVVUlEXT1cInV1aWRcIiBbcG9zaXRpb25dPVwiVFlQRV9DT05GSUdfUE9TSVRJT05fUklHSFRfVE9QXCIgW2lzRnVsbHdpZHRoXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjE5JyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlkPVwiYWRkcmVzcy1pbnB1dC1lZGl0e3sgdXVpZCB9fVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgI215SW5wdXRFZGl0XG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm15SW5wdXRFZGl0LnNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICBuZ3gtZ29vZ2xlLXBsYWNlcy1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAob25BZGRyZXNzQ2hhbmdlKT1cImhhbmRsZUFkZHJlc3NDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLW1hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdF9fc2VsZWN0b3JcIiAqbmdJZj1cIiFzaG93TWFwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjE5JyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cImFkZHJlc3MtaW5wdXR7eyB1dWlkIH19XCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAjbXlJbnB1dFxuICAgICAgICAgICAgKGNsaWNrKT1cIm15SW5wdXQuc2VsZWN0KClcIlxuICAgICAgICAgICAgbmd4LWdvb2dsZS1wbGFjZXMtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAob25BZGRyZXNzQ2hhbmdlKT1cImhhbmRsZUFkZHJlc3NDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzc1wiICpuZ0lmPVwic2hvd01hcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWREZXRhaWxGb3JtLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb3Jtcy5sZW5ndGggPT09IDBcIiBjbGFzcz1cIndiLW1hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdF9fbG9hZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1sb2FkZXI+PC93Yi1sb2FkZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLW1hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdF9fc2VsZWN0b3ItZm9ybVwiICpuZ0lmPVwiZm9ybXMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybXNdPVwiZm9ybXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZWQpPVwic2VsZWN0ZWRWYWx1ZSA9ICRldmVudDsgc2VsZWN0VGhpc0Zvcm0oKVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZERldGFpbEZvcm0ubGVuZ3RoID4gMFwiIGNsYXNzPVwid2ItbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0X19jb250YWluZXItZm9ybVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvbnRhaW5lci1mb3JtX19lZGl0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvd3otZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0NPTlRFTlRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMucXVpbGwuMScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvbnRhaW5lci1mb3JtX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlbGVjdCBvZiBzZWxlY3RlZERldGFpbEZvcm1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwic2VsZWN0LnRpdGxlXCI+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgc2VsZWN0LnR5cGUgfCBhbnN3ZXJQaXBlIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24+e3sgc2VsZWN0ZWRWYWx1ZS5zdWJtaXRfbGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnRfX2NvdmVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0X19jb250YWluZXJfX21hcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWFmbGV0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGVhZmxldE9wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGVhZmxldExheWVyc109XCJsYXllcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhsZWFmbGV0Q2VudGVyKV09XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGxlYWZsZXRNYXBSZWFkeSk9XCJvbk1hcFJlYWR5KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|