ngx-rs-ant 1.9.3 → 1.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@ export class BoxItemComponent {
10
10
  constructor() {
11
11
  this.style = {};
12
12
  this.config = {};
13
- this.wrapperDivIndex = 1080;
13
+ this.wrapperDivIndex = 10;
14
14
  this.leaveOneItem = new EventEmitter();
15
15
  }
16
16
  get _direction() {
@@ -184,10 +184,10 @@ export class BoxItemComponent {
184
184
  }
185
185
  }
186
186
  BoxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
187
- BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: i3.BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
187
+ BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".coast-icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: i3.BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
188
188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxItemComponent, decorators: [{
189
189
  type: Component,
190
- args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"] }]
190
+ args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".coast-icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"] }]
191
191
  }], propDecorators: { _direction: [{
192
192
  type: HostBinding,
193
193
  args: ['style.flex-direction']
@@ -200,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
200
200
  type: ViewChildren,
201
201
  args: [BoxItemHostDirective]
202
202
  }] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQixvQkFBZSxHQUFXLElBQUksQ0FBQztRQWdCL0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBb0tuQztJQWxMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFN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QUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSztnQkFDM0MsTUFBTSxFQUFFO29CQUNOLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUM1QixZQUFZLEVBQUUsaUJBQWlCLENBQUMsWUFBWSxJQUFJLEVBQUU7aUJBQ25EO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDOzs4R0F4TFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IseU5Bc0JiLG9CQUFvQixnRENoQ3BDLHE1Q0FnQ0E7NEZEdEJhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhOzhCQVdrQixVQUFVO3NCQUFsRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFJVCxNQUFNO3NCQUEvQixXQUFXO3VCQUFDLE9BQU87Z0JBVXBCLFlBQVk7c0JBRFgsTUFBTTtnQkFFNkIsU0FBUztzQkFBNUMsWUFBWTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm94SXRlbUhvc3REaXJlY3RpdmV9IGZyb20gJy4vYm94LWl0ZW0taG9zdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQbHVnaW5NYW5hZ2VyfSBmcm9tICcuLi9QbHVnaW5NYW5hZ2VyJztcbmltcG9ydCB7SXRlbUJsYW5rQ29tcG9uZW50fSBmcm9tIFwiLi9pdGVtLWJsYW5rL2l0ZW0tYmxhbmsuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLWJveC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JveC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYm94LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCb3hJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYm94Q29udGFpbmVyOiBhbnk7XG4gIHN0eWxlOiBhbnkgPSB7fTtcbiAgY29uZmlnOiBhbnkgPSB7fTtcbiAgcERpcmVjdGlvbj86ICdyb3cnIHwgJ2NvbHVtbic7XG4gIHdyYXBwZXJEaXZJbmRleDogbnVtYmVyID0gMTA4MDtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgtZGlyZWN0aW9uJykgZ2V0IF9kaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmRpcmVjdGlvbjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgX3N0eWxlKCkge1xuICAgIGlmICh0aGlzLnBEaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy53aWR0aCA/IHRoaXMuc3R5bGUud2lkdGggOiAnYXV0byc7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5zdHlsZT8uaGVpZ2h0ID8gdGhpcy5zdHlsZS5oZWlnaHQgOiAnYXV0byc7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGNTdHlsZSh0aGlzLnBEaXJlY3Rpb24sIHdpZHRoLCBoZWlnaHQpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGxlYXZlT25lSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZHJlbihCb3hJdGVtSG9zdERpcmVjdGl2ZSkgaXRlbUhvc3RzITogUXVlcnlMaXN0PEJveEl0ZW1Ib3N0RGlyZWN0aXZlPjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIGxvYWQoYWN0aXZlSW5kZXg/OiBudW1iZXIpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtSG9zdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbUhvc3Q6IGFueSA9IHRoaXMuaXRlbUhvc3RzLmdldChpKTtcbiAgICAgICAgaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb25maWcubGlzdFtpXTtcbiAgICAgICAgc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdwbHVnaW4nOlxuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gUGx1Z2luTWFuYWdlci5jcmVhdGVDb21wb25lbnQodGhpcywgaSwgaXRlbS5zdHlsZSwgaXRlbS5jb25maWcpO1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdpdGVtJzpcbiAgICAgICAgICAgIGNvbnN0IGJveEl0ZW1Db21wb25lbnRSZWYgPSBpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChCb3hJdGVtQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gYm94SXRlbUNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGluc3RhbmNlLmJveENvbnRhaW5lciA9IHRoaXMuYm94Q29udGFpbmVyO1xuICAgICAgICAgICAgaW5zdGFuY2Uuc3R5bGUgPSBpdGVtLnN0eWxlO1xuICAgICAgICAgICAgaW5zdGFuY2UuY29uZmlnID0gaXRlbS5jb25maWc7XG4gICAgICAgICAgICBpbnN0YW5jZS5wRGlyZWN0aW9uID0gdGhpcy5jb25maWcuZGlyZWN0aW9uO1xuICAgICAgICAgICAgaW5zdGFuY2Uud3JhcHBlckRpdkluZGV4ID0gdGhpcy53cmFwcGVyRGl2SW5kZXggKyAxO1xuICAgICAgICAgICAgaWYgKHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XG4gICAgICAgICAgICAgIGJveEl0ZW1Db21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnOHB4JztcbiAgICAgICAgICAgICAgaW5zdGFuY2UubGVhdmVPbmVJdGVtLnN1YnNjcmliZSgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2l0ZW0nICYmIGl0ZW0uZGlyZWN0aW9uID09PSB0aGlzLmNvbmZpZy5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIC4uLml0ZW0ubGlzdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJEaXYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZVdyYXBwZXJEaXYoYm94SXRlbUNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCB0aGlzLndyYXBwZXJEaXZJbmRleCArIDEpO1xuICAgICAgICAgICAgICBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUhvdmVyQ29tcG9uZW50KGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYsIHdyYXBwZXJEaXYsICfmoLzlrZDlrrnlmagnKTtcbiAgICAgICAgICAgICAgUGx1Z2luTWFuYWdlci5jcmVhdGVBY3RpdmVDb21wb25lbnQodGhpcywgaSwgd3JhcHBlckRpdiwgYm94SXRlbUNvbXBvbmVudFJlZiwgaXRlbS5zdHlsZSwge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdjb2FzdC1ib3gtY29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICBjYXB0aW9uOiAn5qC85a2Q5a655ZmoJ1xuICAgICAgICAgICAgICB9LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdibGFuayc6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmICh0aGlzLmJveENvbnRhaW5lci5lZGl0TW9kZSkge1xuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUJsYW5rQ29tcG9uZW50KGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQmxhbmtDb21wb25lbnQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWY6IGFueSA9IHRoaXMuaXRlbUhvc3RzLmdldChpbmRleCk/LnZpZXdDb250YWluZXJSZWY7XG4gICAgY29uc3QgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWY6IGFueSA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEl0ZW1CbGFua0NvbXBvbmVudCk7XG4gICAgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWYuaW5zdGFuY2Uub25SZW1vdmUgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICBpZiAodGhpcy5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdGhpcy5sZWF2ZU9uZUl0ZW0uZW1pdCh0aGlzLmNvbmZpZy5saXN0WzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3Qgd3JhcHBlckRpdiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlV3JhcHBlckRpdihjb250YWluZXJCbGFua0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCB0aGlzLndyYXBwZXJEaXZJbmRleCArIDEpO1xuICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlSG92ZXJDb21wb25lbnQodmlld0NvbnRhaW5lclJlZiwgd3JhcHBlckRpdiwgJ+WNoOS9jeagvCcpO1xuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudFJlZiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlQWN0aXZlQ29tcG9uZW50KHRoaXMsIGluZGV4LCB3cmFwcGVyRGl2LCBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZixcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbaW5kZXhdLnN0eWxlLCB7XG4gICAgICAgIG5hbWU6ICdjb2FzdC1ib3gtY29udGFpbmVyJyxcbiAgICAgICAgY2FwdGlvbjogJ+WNoOS9jeagvCdcbiAgICAgIH0sIHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID4gMSk7XG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnNob3dEaXZpZGVyID0gdHJ1ZTtcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc3BsaXRJdGVtID0gKGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJykgPT4ge1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9PT0gZGlyZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4ICsgMSwgMCwge3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX0pO1xuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5saXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnB1c2goe3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4LCAxLCB7XG4gICAgICAgICAgICB0eXBlOiAnaXRlbScsXG4gICAgICAgICAgICBzdHlsZToge30sXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgICBsaXN0OiBbdGhpcy5jb25maWcubGlzdFtpbmRleF0sIHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319XVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjYWxjU3R5bGUoaXRlbTogYW55KSB7XG4gICAgY29uc3Qgd2lkdGggPSBpdGVtLnN0eWxlPy53aWR0aCA/IGl0ZW0uc3R5bGUud2lkdGggOiAnYXV0byc7XG4gICAgY29uc3QgaGVpZ2h0ID0gaXRlbS5zdHlsZT8uaGVpZ2h0ID8gaXRlbS5zdHlsZS5oZWlnaHQgOiAnYXV0byc7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuX2NhbGNTdHlsZSh0aGlzLmNvbmZpZy5kaXJlY3Rpb24sIHdpZHRoLCBoZWlnaHQpLFxuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY1N0eWxlKGRpcmVjdGlvbjogYW55LCB3aWR0aDogc3RyaW5nLCBoZWlnaHQ6IHN0cmluZykge1xuICAgIGlmIChkaXJlY3Rpb24gPT09ICdyb3cnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmbGV4OiB3aWR0aCA9PT0gJ2F1dG8nID8gJzEnIDogJzAgMCAnICsgd2lkdGgsXG4gICAgICAgIGhlaWdodFxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAnY29sdW1uJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGZsZXg6IGhlaWdodCA9PT0gJ2F1dG8nID8gJ2F1dG8nIDogJzAgMCAnICsgaGVpZ2h0XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGRyYWdPdmVyQ29tcG9uZW50OiBhbnk7XG5cbiAgb25EcmFnTW92ZSgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQuZnJvbURhdGEgPT09ICRldmVudC50b0RhdGEpIHtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xuICAgICAgZGVsZXRlIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICgkZXZlbnQudG9Db21wb25lbnQgIT09IHRoaXMuZHJhZ092ZXJDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudCA9ICRldmVudC50b0NvbXBvbmVudDtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQuaW5zdGFuY2UoKS5lbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgb25EcmFnRW5kKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudD8uaW5zdGFuY2UoKT8uZWxlbWVudCgpPy5jbGFzc0xpc3Q/LnJlbW92ZSgnYWN0aXZlJyk7XG4gICAgZGVsZXRlIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ7XG4gICAgY29uc3QgdG9Cb3hJdGVtID0gJGV2ZW50LnRvRGF0YS5ib3hJdGVtO1xuICAgIGNvbnN0IHRvSW5kZXggPSAkZXZlbnQudG9EYXRhLmluZGV4O1xuICAgIGNvbnN0IGZyb21JbmRleCA9ICRldmVudC5mcm9tRGF0YS5pbmRleDtcbiAgICBjb25zdCBmcm9tQm94SXRlbUNvbmZpZyA9IHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5jb25maWc7XG4gICAgaWYgKCRldmVudC50b0RhdGEuaXRlbS50eXBlID09PSAncGx1Z2luJykge1xuICAgICAgdGhpcy5jb25maWcubGlzdFtmcm9tSW5kZXhdLmNvbmZpZyA9IHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XS5jb25maWc7XG4gICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XS5jb25maWcgPSBmcm9tQm94SXRlbUNvbmZpZztcbiAgICB9IGVsc2UgaWYgKCRldmVudC50b0RhdGEuaXRlbS50eXBlID09PSAnYmxhbmsnKSB7XG4gICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShmcm9tSW5kZXgsIDEsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZTogdGhpcy5jb25maWcubGlzdFtmcm9tSW5kZXhdLnN0eWxlfSk7XG4gICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XSA9IHtcbiAgICAgICAgdHlwZTogJ3BsdWdpbicsXG4gICAgICAgIHN0eWxlOiB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uc3R5bGUsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIG5hbWU6IGZyb21Cb3hJdGVtQ29uZmlnLm5hbWUsXG4gICAgICAgICAgcGx1Z2luQ29uZmlnOiBmcm9tQm94SXRlbUNvbmZpZy5wbHVnaW5Db25maWcgfHwge31cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gICAgdG9Cb3hJdGVtLmxvYWQodG9JbmRleCk7XG4gICAgJGV2ZW50LmNhbmNlbCA9IHRydWU7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29uZmlnLmxpc3Q7IGluZGV4IGFzIGluZGV4XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJib3hDb250YWluZXIuZWRpdE1vZGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAncGx1Z2luJ1wiPlxuICAgICAgPGR4LWRyYWdnYWJsZSBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7Ym94SXRlbTogdGhpcywgaXRlbSwgaW5kZXh9XCJcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlPVwiLmljb24tZHJhZ1wiXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwPVwicnNCb3hDb250YWluZXJEcmFnR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAob25EcmFnTW92ZSk9XCJvbkRyYWdNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAob25EcmFnRW5kKT1cIm9uRHJhZ0VuZCgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9keC1kcmFnZ2FibGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2l0ZW0nXCI+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdibGFuaydcIj5cbiAgICAgIDxkeC1kcmFnZ2FibGUgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie2JveEl0ZW06IHRoaXMsIGl0ZW0sIGluZGV4fVwiXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwPVwicnNCb3hDb250YWluZXJEcmFnR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAob25EcmFnU3RhcnQpPVwiJGV2ZW50LmNhbmNlbCA9IHRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2R4LWRyYWdnYWJsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYm94Q29udGFpbmVyLmVkaXRNb2RlXCI+XG4gICAgPGRpdiBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQWdCN0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBb0tuQztJQWxMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFN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QUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSztnQkFDM0MsTUFBTSxFQUFFO29CQUNOLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUM1QixZQUFZLEVBQUUsaUJBQWlCLENBQUMsWUFBWSxJQUFJLEVBQUU7aUJBQ25EO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDOzs4R0F4TFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IseU5Bc0JiLG9CQUFvQixnRENoQ3BDLDI1Q0FnQ0E7NEZEdEJhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhOzhCQVdrQixVQUFVO3NCQUFsRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFJVCxNQUFNO3NCQUEvQixXQUFXO3VCQUFDLE9BQU87Z0JBVXBCLFlBQVk7c0JBRFgsTUFBTTtnQkFFNkIsU0FBUztzQkFBNUMsWUFBWTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm94SXRlbUhvc3REaXJlY3RpdmV9IGZyb20gJy4vYm94LWl0ZW0taG9zdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQbHVnaW5NYW5hZ2VyfSBmcm9tICcuLi9QbHVnaW5NYW5hZ2VyJztcbmltcG9ydCB7SXRlbUJsYW5rQ29tcG9uZW50fSBmcm9tIFwiLi9pdGVtLWJsYW5rL2l0ZW0tYmxhbmsuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLWJveC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JveC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYm94LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCb3hJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYm94Q29udGFpbmVyOiBhbnk7XG4gIHN0eWxlOiBhbnkgPSB7fTtcbiAgY29uZmlnOiBhbnkgPSB7fTtcbiAgcERpcmVjdGlvbj86ICdyb3cnIHwgJ2NvbHVtbic7XG4gIHdyYXBwZXJEaXZJbmRleDogbnVtYmVyID0gMTA7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mbGV4LWRpcmVjdGlvbicpIGdldCBfZGlyZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5kaXJlY3Rpb247XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgZ2V0IF9zdHlsZSgpIHtcbiAgICBpZiAodGhpcy5wRGlyZWN0aW9uKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5zdHlsZT8ud2lkdGggPyB0aGlzLnN0eWxlLndpZHRoIDogJ2F1dG8nO1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuc3R5bGU/LmhlaWdodCA/IHRoaXMuc3R5bGUuaGVpZ2h0IDogJ2F1dG8nO1xuICAgIHJldHVybiB0aGlzLl9jYWxjU3R5bGUodGhpcy5wRGlyZWN0aW9uLCB3aWR0aCwgaGVpZ2h0KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBsZWF2ZU9uZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGRyZW4oQm94SXRlbUhvc3REaXJlY3RpdmUpIGl0ZW1Ib3N0cyE6IFF1ZXJ5TGlzdDxCb3hJdGVtSG9zdERpcmVjdGl2ZT47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBsb2FkKGFjdGl2ZUluZGV4PzogbnVtYmVyKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbUhvc3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1Ib3N0OiBhbnkgPSB0aGlzLml0ZW1Ib3N0cy5nZXQoaSk7XG4gICAgICAgIGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY29uZmlnLmxpc3RbaV07XG4gICAgICAgIHN3aXRjaCAoaXRlbS50eXBlKSB7XG4gICAgICAgICAgY2FzZSAncGx1Z2luJzpcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMsIGksIGl0ZW0uc3R5bGUsIGl0ZW0uY29uZmlnKTtcbiAgICAgICAgICAgIGlmIChhY3RpdmVJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnaXRlbSc6XG4gICAgICAgICAgICBjb25zdCBib3hJdGVtQ29tcG9uZW50UmVmID0gaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoQm94SXRlbUNvbXBvbmVudCk7XG4gICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGJveEl0ZW1Db21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICBpbnN0YW5jZS5ib3hDb250YWluZXIgPSB0aGlzLmJveENvbnRhaW5lcjtcbiAgICAgICAgICAgIGluc3RhbmNlLnN0eWxlID0gaXRlbS5zdHlsZTtcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbmZpZyA9IGl0ZW0uY29uZmlnO1xuICAgICAgICAgICAgaW5zdGFuY2UucERpcmVjdGlvbiA9IHRoaXMuY29uZmlnLmRpcmVjdGlvbjtcbiAgICAgICAgICAgIGluc3RhbmNlLndyYXBwZXJEaXZJbmRleCA9IHRoaXMud3JhcHBlckRpdkluZGV4ICsgMTtcbiAgICAgICAgICAgIGlmICh0aGlzLmJveENvbnRhaW5lci5lZGl0TW9kZSkge1xuICAgICAgICAgICAgICBib3hJdGVtQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWFyZ2luID0gJzhweCc7XG4gICAgICAgICAgICAgIGluc3RhbmNlLmxlYXZlT25lSXRlbS5zdWJzY3JpYmUoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdpdGVtJyAmJiBpdGVtLmRpcmVjdGlvbiA9PT0gdGhpcy5jb25maWcuZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpLCAxLCAuLi5pdGVtLmxpc3QpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpLCAxLCBpdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBjb25zdCB3cmFwcGVyRGl2ID0gUGx1Z2luTWFuYWdlci5jcmVhdGVXcmFwcGVyRGl2KGJveEl0ZW1Db21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgdGhpcy53cmFwcGVyRGl2SW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgUGx1Z2luTWFuYWdlci5jcmVhdGVIb3ZlckNvbXBvbmVudChpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLCB3cmFwcGVyRGl2LCAn5qC85a2Q5a655ZmoJyk7XG4gICAgICAgICAgICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlQWN0aXZlQ29tcG9uZW50KHRoaXMsIGksIHdyYXBwZXJEaXYsIGJveEl0ZW1Db21wb25lbnRSZWYsIGl0ZW0uc3R5bGUsIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnY29hc3QtYm94LWNvbnRhaW5lcicsXG4gICAgICAgICAgICAgICAgY2FwdGlvbjogJ+agvOWtkOWuueWZqCdcbiAgICAgICAgICAgICAgfSwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnYmxhbmsnOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAodGhpcy5ib3hDb250YWluZXIuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCbGFua0NvbXBvbmVudChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUJsYW5rQ29tcG9uZW50KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBhbnkgPSB0aGlzLml0ZW1Ib3N0cy5nZXQoaW5kZXgpPy52aWV3Q29udGFpbmVyUmVmO1xuICAgIGNvbnN0IGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmOiBhbnkgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChJdGVtQmxhbmtDb21wb25lbnQpO1xuICAgIGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLmluc3RhbmNlLm9uUmVtb3ZlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMubGVhdmVPbmVJdGVtLmVtaXQodGhpcy5jb25maWcubGlzdFswXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IHdyYXBwZXJEaXYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZVdyYXBwZXJEaXYoY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgdGhpcy53cmFwcGVyRGl2SW5kZXggKyAxKTtcbiAgICBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUhvdmVyQ29tcG9uZW50KHZpZXdDb250YWluZXJSZWYsIHdyYXBwZXJEaXYsICfljaDkvY3moLwnKTtcbiAgICBjb25zdCBhY3RpdmVDb21wb25lbnRSZWYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUFjdGl2ZUNvbXBvbmVudCh0aGlzLCBpbmRleCwgd3JhcHBlckRpdiwgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWYsXG4gICAgICB0aGlzLmNvbmZpZy5saXN0W2luZGV4XS5zdHlsZSwge1xuICAgICAgICBuYW1lOiAnY29hc3QtYm94LWNvbnRhaW5lcicsXG4gICAgICAgIGNhcHRpb246ICfljaDkvY3moLwnXG4gICAgICB9LCB0aGlzLmNvbmZpZy5saXN0Lmxlbmd0aCA+IDEpO1xuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaG93RGl2aWRlciA9IHRydWU7XG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnNwbGl0SXRlbSA9IChkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPT09IGRpcmVjdGlvbikge1xuICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCArIDEsIDAsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319KTtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgICAgdGhpcy5jb25maWcubGlzdC5wdXNoKHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCwgMSwge1xuICAgICAgICAgICAgdHlwZTogJ2l0ZW0nLFxuICAgICAgICAgICAgc3R5bGU6IHt9LFxuICAgICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICAgIGRpcmVjdGlvbixcbiAgICAgICAgICAgICAgbGlzdDogW3RoaXMuY29uZmlnLmxpc3RbaW5kZXhdLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fV1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgY2FsY1N0eWxlKGl0ZW06IGFueSkge1xuICAgIGNvbnN0IHdpZHRoID0gaXRlbS5zdHlsZT8ud2lkdGggPyBpdGVtLnN0eWxlLndpZHRoIDogJ2F1dG8nO1xuICAgIGNvbnN0IGhlaWdodCA9IGl0ZW0uc3R5bGU/LmhlaWdodCA/IGl0ZW0uc3R5bGUuaGVpZ2h0IDogJ2F1dG8nO1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLl9jYWxjU3R5bGUodGhpcy5jb25maWcuZGlyZWN0aW9uLCB3aWR0aCwgaGVpZ2h0KSxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGNTdHlsZShkaXJlY3Rpb246IGFueSwgd2lkdGg6IHN0cmluZywgaGVpZ2h0OiBzdHJpbmcpIHtcbiAgICBpZiAoZGlyZWN0aW9uID09PSAncm93Jykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmxleDogd2lkdGggPT09ICdhdXRvJyA/ICcxJyA6ICcwIDAgJyArIHdpZHRoLFxuICAgICAgICBoZWlnaHRcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ2NvbHVtbicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoLFxuICAgICAgICBmbGV4OiBoZWlnaHQgPT09ICdhdXRvJyA/ICdhdXRvJyA6ICcwIDAgJyArIGhlaWdodFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBkcmFnT3ZlckNvbXBvbmVudDogYW55O1xuXG4gIG9uRHJhZ01vdmUoJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoJGV2ZW50LmZyb21EYXRhID09PSAkZXZlbnQudG9EYXRhKSB7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LnRvQ29tcG9uZW50ICE9PSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQgPSAkZXZlbnQudG9Db21wb25lbnQ7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Lmluc3RhbmNlKCkuZWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xuICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xuICAgIGNvbnN0IHRvQm94SXRlbSA9ICRldmVudC50b0RhdGEuYm94SXRlbTtcbiAgICBjb25zdCB0b0luZGV4ID0gJGV2ZW50LnRvRGF0YS5pbmRleDtcbiAgICBjb25zdCBmcm9tSW5kZXggPSAkZXZlbnQuZnJvbURhdGEuaW5kZXg7XG4gICAgY29uc3QgZnJvbUJveEl0ZW1Db25maWcgPSB0aGlzLmNvbmZpZy5saXN0W2Zyb21JbmRleF0uY29uZmlnO1xuICAgIGlmICgkZXZlbnQudG9EYXRhLml0ZW0udHlwZSA9PT0gJ3BsdWdpbicpIHtcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5jb25maWcgPSB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uY29uZmlnO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uY29uZmlnID0gZnJvbUJveEl0ZW1Db25maWc7XG4gICAgfSBlbHNlIGlmICgkZXZlbnQudG9EYXRhLml0ZW0udHlwZSA9PT0gJ2JsYW5rJykge1xuICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5zdHlsZX0pO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0gPSB7XG4gICAgICAgIHR5cGU6ICdwbHVnaW4nLFxuICAgICAgICBzdHlsZTogdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdLnN0eWxlLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBuYW1lOiBmcm9tQm94SXRlbUNvbmZpZy5uYW1lLFxuICAgICAgICAgIHBsdWdpbkNvbmZpZzogZnJvbUJveEl0ZW1Db25maWcucGx1Z2luQ29uZmlnIHx8IHt9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHRvQm94SXRlbS5sb2FkKHRvSW5kZXgpO1xuICAgICRldmVudC5jYW5jZWwgPSB0cnVlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbmZpZy5saXN0OyBpbmRleCBhcyBpbmRleFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYm94Q29udGFpbmVyLmVkaXRNb2RlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ3BsdWdpbidcIj5cbiAgICAgIDxkeC1kcmFnZ2FibGUgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie2JveEl0ZW06IHRoaXMsIGl0ZW0sIGluZGV4fVwiXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZT1cIi5jb2FzdC1pY29uLWRyYWdcIlxuICAgICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ01vdmUpPVwib25EcmFnTW92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ0VuZCk9XCJvbkRyYWdFbmQoJGV2ZW50KVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZHgtZHJhZ2dhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdpdGVtJ1wiPlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnYmxhbmsnXCI+XG4gICAgICA8ZHgtZHJhZ2dhYmxlIFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIntib3hJdGVtOiB0aGlzLCBpdGVtLCBpbmRleH1cIlxuICAgICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ1N0YXJ0KT1cIiRldmVudC5jYW5jZWwgPSB0cnVlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9keC1kcmFnZ2FibGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJveENvbnRhaW5lci5lZGl0TW9kZVwiPlxuICAgIDxkaXYgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -40,12 +40,12 @@ export class PluginActiveComponent {
40
40
  }
41
41
  }
42
42
  PluginActiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginActiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- PluginActiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginActiveComponent, selector: "rs-plugin-active", host: { properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.icon-drag{cursor:move}:host .active-item .active-bar i.icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DividerComponent, selector: "rs-divider", inputs: ["direction", "targetElement"], outputs: ["dividerClick"] }] });
43
+ PluginActiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginActiveComponent, selector: "rs-plugin-active", host: { properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DividerComponent, selector: "rs-divider", inputs: ["direction", "targetElement"], outputs: ["dividerClick"] }] });
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginActiveComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: 'rs-plugin-active', template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.icon-drag{cursor:move}:host .active-item .active-bar i.icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"] }]
46
+ args: [{ selector: 'rs-plugin-active', template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"] }]
47
47
  }], propDecorators: { _style: [{
48
48
  type: HostBinding,
49
49
  args: ['style']
50
50
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWFjdGl2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL3BsdWdpbi1hY3RpdmUvcGx1Z2luLWFjdGl2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL3BsdWdpbi1hY3RpdmUvcGx1Z2luLWFjdGl2ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPM0UsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQU9FLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEMsZUFBVSxHQUFRO1lBQ2hCLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixXQUFNLEdBQVcsQ0FBQyxDQUFDO0tBNEJwQjtJQTFCQyxJQUEwQixNQUFNO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQzdDLE9BQU87WUFDTCxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJO1lBQy9CLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUk7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFXO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUEyQjtRQUNuQyxXQUFXO0lBQ2IsQ0FBQzs7bUhBdkNVLHFCQUFxQjt1R0FBckIscUJBQXFCLDBHQ1BsQyxrekJBYUE7NEZETmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFrQkYsTUFBTTtzQkFBL0IsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLXBsdWdpbi1hY3RpdmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wbHVnaW4tYWN0aXZlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wbHVnaW4tYWN0aXZlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBsdWdpbkFjdGl2ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbmFtZSE6IHN0cmluZztcclxuICBzaG93Q2xvc2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dEaXZpZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXRlbVJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICB0YXJnZXRFbGVtZW50OiBhbnk7XHJcbiAgdGFyZ2V0UmVjdDogYW55ID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIF90YXJnZXRSZWN0OiBhbnkgPSB7fTtcclxuICB3aWR0aDogbnVtYmVyID0gMDtcclxuICBoZWlnaHQ6IG51bWJlciA9IDA7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgX3N0eWxlKCkge1xyXG4gICAgaWYgKCF0aGlzLnRhcmdldEVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSB0aGlzLnRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB0aGlzLl90YXJnZXRSZWN0LndpZHRoID0gZWxlbWVudFJlY3Qud2lkdGg7XHJcbiAgICB0aGlzLl90YXJnZXRSZWN0LmhlaWdodCA9IGVsZW1lbnRSZWN0LmhlaWdodDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHdpZHRoOiBlbGVtZW50UmVjdC53aWR0aCArICdweCcsXHJcbiAgICAgIGhlaWdodDogZWxlbWVudFJlY3QuaGVpZ2h0ICsgJ3B4J1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFyZ2V0UmVjdCA9IHRoaXMuX3RhcmdldFJlY3Q7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uSXRlbUNsb3NlSWNvbkNsaWNrKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLml0ZW1SZW1vdmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc3BsaXRJdGVtKGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJykge1xyXG4gICAgLy8g5LiK5bGC5a6e5L6L5YyW5pe26YeN5YaZXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhY3RpdmUtaXRlbVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhY3RpdmUtYmFyXCI+XHJcbiAgICA8aSAqbmdJZj1cInNob3dDbG9zZSAmJiAhc2hvd0RpdmlkZXJcIiBjbGFzcz1cImljb24tZHJhZ1wiPjwvaT5cclxuICAgIDxzcGFuPnt7IG5hbWUgfX08L3NwYW4+XHJcbiAgICA8aSBjbGFzcz1cImNvYXN0LWljb24tYWRkLXJvd1wiIHRpdGxlPVwi5re75Yqg6KGMXCIgKGNsaWNrKT1cInNwbGl0SXRlbSgnY29sdW1uJylcIj48L2k+XHJcbiAgICA8aSBjbGFzcz1cImNvYXN0LWljb24tYWRkLWNvbHVtblwiIHRpdGxlPVwi5re75Yqg5YiXXCIgKGNsaWNrKT1cInNwbGl0SXRlbSgncm93JylcIj48L2k+XHJcbiAgICA8aSAqbmdJZj1cInNob3dDbG9zZVwiIGNsYXNzPVwiaWNvbi1jbG9zZVwiIChjbGljayk9XCJvbkl0ZW1DbG9zZUljb25DbGljaygkZXZlbnQpXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxycy1kaXZpZGVyICpuZ0lmPVwic2hvd0RpdmlkZXJcIiBbdGFyZ2V0RWxlbWVudF09XCJ0YXJnZXRFbGVtZW50XCIgZGlyZWN0aW9uPVwicm93XCJcclxuICAgICAgICAgICAgICAoZGl2aWRlckNsaWNrKT1cInNwbGl0SXRlbSgnY29sdW1uJylcIj48L3JzLWRpdmlkZXI+XHJcbiAgPHJzLWRpdmlkZXIgKm5nSWY9XCJzaG93RGl2aWRlclwiIFt0YXJnZXRFbGVtZW50XT1cInRhcmdldEVsZW1lbnRcIiBkaXJlY3Rpb249XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIChkaXZpZGVyQ2xpY2spPVwic3BsaXRJdGVtKCdyb3cnKVwiPjwvcnMtZGl2aWRlcj5cclxuPC9kaXY+XHJcbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWFjdGl2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL3BsdWdpbi1hY3RpdmUvcGx1Z2luLWFjdGl2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL3BsdWdpbi1hY3RpdmUvcGx1Z2luLWFjdGl2ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPM0UsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQU9FLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEMsZUFBVSxHQUFRO1lBQ2hCLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixXQUFNLEdBQVcsQ0FBQyxDQUFDO0tBNEJwQjtJQTFCQyxJQUEwQixNQUFNO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQzdDLE9BQU87WUFDTCxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJO1lBQy9CLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUk7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFXO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUEyQjtRQUNuQyxXQUFXO0lBQ2IsQ0FBQzs7bUhBdkNVLHFCQUFxQjt1R0FBckIscUJBQXFCLDBHQ1BsQyw4ekJBYUE7NEZETmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFrQkYsTUFBTTtzQkFBL0IsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLXBsdWdpbi1hY3RpdmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wbHVnaW4tYWN0aXZlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wbHVnaW4tYWN0aXZlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBsdWdpbkFjdGl2ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbmFtZSE6IHN0cmluZztcclxuICBzaG93Q2xvc2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dEaXZpZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXRlbVJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICB0YXJnZXRFbGVtZW50OiBhbnk7XHJcbiAgdGFyZ2V0UmVjdDogYW55ID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIF90YXJnZXRSZWN0OiBhbnkgPSB7fTtcclxuICB3aWR0aDogbnVtYmVyID0gMDtcclxuICBoZWlnaHQ6IG51bWJlciA9IDA7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgX3N0eWxlKCkge1xyXG4gICAgaWYgKCF0aGlzLnRhcmdldEVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSB0aGlzLnRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB0aGlzLl90YXJnZXRSZWN0LndpZHRoID0gZWxlbWVudFJlY3Qud2lkdGg7XHJcbiAgICB0aGlzLl90YXJnZXRSZWN0LmhlaWdodCA9IGVsZW1lbnRSZWN0LmhlaWdodDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHdpZHRoOiBlbGVtZW50UmVjdC53aWR0aCArICdweCcsXHJcbiAgICAgIGhlaWdodDogZWxlbWVudFJlY3QuaGVpZ2h0ICsgJ3B4J1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFyZ2V0UmVjdCA9IHRoaXMuX3RhcmdldFJlY3Q7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uSXRlbUNsb3NlSWNvbkNsaWNrKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLml0ZW1SZW1vdmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc3BsaXRJdGVtKGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJykge1xyXG4gICAgLy8g5LiK5bGC5a6e5L6L5YyW5pe26YeN5YaZXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhY3RpdmUtaXRlbVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhY3RpdmUtYmFyXCI+XHJcbiAgICA8aSAqbmdJZj1cInNob3dDbG9zZSAmJiAhc2hvd0RpdmlkZXJcIiBjbGFzcz1cImNvYXN0LWljb24tZHJhZ1wiPjwvaT5cclxuICAgIDxzcGFuPnt7IG5hbWUgfX08L3NwYW4+XHJcbiAgICA8aSBjbGFzcz1cImNvYXN0LWljb24tYWRkLXJvd1wiIHRpdGxlPVwi5re75Yqg6KGMXCIgKGNsaWNrKT1cInNwbGl0SXRlbSgnY29sdW1uJylcIj48L2k+XHJcbiAgICA8aSBjbGFzcz1cImNvYXN0LWljb24tYWRkLWNvbHVtblwiIHRpdGxlPVwi5re75Yqg5YiXXCIgKGNsaWNrKT1cInNwbGl0SXRlbSgncm93JylcIj48L2k+XHJcbiAgICA8aSAqbmdJZj1cInNob3dDbG9zZVwiIGNsYXNzPVwiY29hc3QtaWNvbi1jbG9zZVwiIChjbGljayk9XCJvbkl0ZW1DbG9zZUljb25DbGljaygkZXZlbnQpXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxycy1kaXZpZGVyICpuZ0lmPVwic2hvd0RpdmlkZXJcIiBbdGFyZ2V0RWxlbWVudF09XCJ0YXJnZXRFbGVtZW50XCIgZGlyZWN0aW9uPVwicm93XCJcclxuICAgICAgICAgICAgICAoZGl2aWRlckNsaWNrKT1cInNwbGl0SXRlbSgnY29sdW1uJylcIj48L3JzLWRpdmlkZXI+XHJcbiAgPHJzLWRpdmlkZXIgKm5nSWY9XCJzaG93RGl2aWRlclwiIFt0YXJnZXRFbGVtZW50XT1cInRhcmdldEVsZW1lbnRcIiBkaXJlY3Rpb249XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIChkaXZpZGVyQ2xpY2spPVwic3BsaXRJdGVtKCdyb3cnKVwiPjwvcnMtZGl2aWRlcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -130,10 +130,10 @@ export class ModalComponent {
130
130
  }
131
131
  }
132
132
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
133
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ModalComponent, selector: "rs-modal", outputs: { onHide: "onHide" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)", "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
133
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ModalComponent, selector: "rs-modal", outputs: { onHide: "onHide" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)", "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"coast-icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
134
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ModalComponent, decorators: [{
135
135
  type: Component,
136
- args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
136
+ args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"coast-icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
137
137
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { modalElementRef: [{
138
138
  type: ViewChild,
139
139
  args: ['modal', { static: true }]
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
149
149
  type: HostListener,
150
150
  args: ['window:resize', ['$event']]
151
151
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUdaLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7OztBQU92QixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWYxQyxTQUFJLEdBQTBDLFNBQVMsQ0FBQztRQUN4RCxXQUFNLEdBQVcsT0FBTyxDQUFDO1FBR3pCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFPZCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUc1QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7U0FDN0Q7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO2FBQ3ZCO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQzthQUN6QjtZQUNELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDM0MsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDeEgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsZ0NBQWdDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0csS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLHdCQUF3QixDQUFDO2FBQzdGO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDO2FBQzFGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLGNBQWM7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsdUJBQXVCO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xJLElBQUksU0FBUyxFQUFFO1lBQ2IsU0FBUyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUM7U0FDN0Y7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFO1lBQ3BILElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ3hIO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUMxRDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFrQjtRQUM1QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3BGLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBVyxFQUFFLE9BQVk7UUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELEtBQUssSUFBSSxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNsQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNqRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO29CQUMzRCxPQUFPLElBQUksQ0FBQztpQkFDYjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFHRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUdELFdBQVcsQ0FBQyxNQUFrQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFDRCxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQ25ELElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNoRCxJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbEQsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQzdFLFVBQVUsR0FBRyxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN2RCxXQUFXLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDNUUsV0FBVyxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBR0QsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUk7WUFDM0MsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDMUgsQ0FBQzs7NEdBL0lVLGNBQWM7Z0dBQWQsY0FBYyxpV0NqQjNCLDB3QkFnQkE7NEZEQ2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVO2lHQVFnQixlQUFlO3NCQUFsRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBV2xDLE1BQU07c0JBREwsTUFBTTtnQkFpR1AsU0FBUztzQkFEUixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU01QyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBcUI5QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICB0aXRsZSE6IHN0cmluZztcclxuICBzaXplOiAnZGVmYXVsdCcgfCAnbGFyZ2UnIHwgJ2Z1bGwnIHwgc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gIF93aWR0aDogc3RyaW5nID0gJzQ4MHB4JztcclxuICBAVmlld0NoaWxkKCdtb2RhbCcsIHtzdGF0aWM6IHRydWV9KSBtb2RhbEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xyXG4gIG1vdmVIYW5kbGVFbCE6IEhUTUxFbGVtZW50O1xyXG4gIG1vdmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB0b3BTdGFydCA9IDA7XHJcbiAgbGVmdFN0YXJ0ID0gMDtcclxuICBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ6IGFueTtcclxuICBmb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgZm9vdGVyVGVtcGxhdGVDb250ZXh0OiBhbnk7XHJcbiAgX3BhcmVudFZpZXdDb250YWluZXJSZWY6IGFueTtcclxuICBAT3V0cHV0KClcclxuICBvbkhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zaXplID09PSAnZnVsbCcpIHtcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSAnMXB4JztcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9ICcxcHgnO1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmJvdHRvbSA9ICcxcHgnO1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAnMXB4JztcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnMCc7XHJcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm94U2hhZG93ID0gJ25vbmUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2RlZmF1bHQnKSB7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSAnNDgwcHgnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHRoaXMuX3dpZHRoID0gJzk2MHB4JztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl93aWR0aCA9IHRoaXMuc2l6ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5fd2lkdGg7XHJcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gJzI0cHgnO1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPVxyXG4gICAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkgLyAyICsgJ3B4JztcclxuICAgICAgdGhpcy5tb3ZlSGFuZGxlRWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtaGVhZGVyJyk7XHJcbiAgICAgIHRoaXMubW92ZUhhbmRsZUVsLnN0eWxlLmN1cnNvciA9ICdtb3ZlJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3coKSB7XHJcbiAgICAvLyDoi6XlrZjlnKjlpJrlsYLmqKHmgIHmoYbvvIzku4Xkv53nlZnmnIDkuIrlsYLpga7nvanpopzoibLvvIzkuIvlsYLpga7nvanorr7nva7kuLrpgI/mmI5cclxuICAgIGNvbnN0IG5vZGVOYW1lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWU7XHJcbiAgICBjb25zdCBtb2RhbHMgPSB0aGlzLl9wYXJlbnRWaWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobm9kZU5hbWUpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2RhbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgPT09IG1vZGFscy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgbW9kYWxzW2ldLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1iYWNrZHJvcCcpLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDM3LCA0MywgNTgsIDAuMDUpJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBtb2RhbHNbaV0ucXVlcnlTZWxlY3RvcignLm1vZGFsLWJhY2tkcm9wJykuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMzcsIDQzLCA1OCwgMCknO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgLy8g5Zyoc2VydmljZeS4remHjeWGmVxyXG4gICAgdGhpcy5vbkhpZGUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyDoi6XlrZjlnKjlpJrlsYLmqKHmgIHmoYbvvIzkuIvkuIDlsYLpga7nvanorr7nva7kuLrkuI3pgI/mmI5cclxuICAgIGNvbnN0IG5vZGVOYW1lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWU7XHJcbiAgICBjb25zdCBuZXh0TW9kYWwgPSB0aGlzLl9wYXJlbnRWaWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3Iobm9kZU5hbWUgKyAnOm50aC1sYXN0LWNoaWxkKDIpJyk7XHJcbiAgICBpZiAobmV4dE1vZGFsKSB7XHJcbiAgICAgIG5leHRNb2RhbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtYmFja2Ryb3AnKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgzNywgNDMsIDU4LCAwLjA1KSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNvbHZlTW9kYWxQb3NpdGlvbigpIHtcclxuICAgIGlmICh0aGlzLnNpemUgPT09ICdmdWxsJykge1xyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgPj0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQgLSA0OCkge1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gNDggKyAncHgnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlZG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICgkZXZlbnQuYnV0dG9uID09PSAyIHx8ICF0aGlzLmNoZWNrSGFuZGxlVGFyZ2V0KCRldmVudC50YXJnZXQsIHRoaXMubW92ZUhhbmRsZUVsKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vdmFibGUgPSB0cnVlO1xyXG4gICAgdGhpcy50b3BTdGFydCA9ICRldmVudC5jbGllbnRZIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AucmVwbGFjZSgncHgnLCAnJyk7XHJcbiAgICB0aGlzLmxlZnRTdGFydCA9ICRldmVudC5jbGllbnRYIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0LnJlcGxhY2UoJ3B4JywgJycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0hhbmRsZVRhcmdldCh0YXJnZXQ6IGFueSwgZWxlbWVudDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRhcmdldCA9PT0gZWxlbWVudCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGNoaWxkIGluIGVsZW1lbnQuY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbGVtZW50LmNoaWxkcmVuLCBjaGlsZCkpIHtcclxuICAgICAgICBpZiAodGhpcy5jaGVja0hhbmRsZVRhcmdldCh0YXJnZXQsIGVsZW1lbnQuY2hpbGRyZW5bY2hpbGRdKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBvbk1vdXNldXAoKSB7XHJcbiAgICB0aGlzLm1vdmFibGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZW1vdmUoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMubW92YWJsZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgbGV0IGN1cnJlbnRUb3AgPSAkZXZlbnQuY2xpZW50WSAtIHRoaXMudG9wU3RhcnQ7XHJcbiAgICBsZXQgY3VycmVudExlZnQgPSAkZXZlbnQuY2xpZW50WCAtIHRoaXMubGVmdFN0YXJ0O1xyXG4gICAgY3VycmVudFRvcCA9IGN1cnJlbnRUb3AgPCAwID8gMCA6IGN1cnJlbnRUb3A7XHJcbiAgICBjb25zdCBtYXhUb3AgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZWxlbWVudC5vZmZzZXRIZWlnaHQgLSAxO1xyXG4gICAgY3VycmVudFRvcCA9IGN1cnJlbnRUb3AgPiBtYXhUb3AgPyBtYXhUb3AgOiBjdXJyZW50VG9wO1xyXG4gICAgY3VycmVudExlZnQgPSBjdXJyZW50TGVmdCA8IDAgPyAwIDogY3VycmVudExlZnQ7XHJcbiAgICBjb25zdCBtYXhMZWZ0ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gZWxlbWVudC5vZmZzZXRXaWR0aCAtIDE7XHJcbiAgICBjdXJyZW50TGVmdCA9IGN1cnJlbnRMZWZ0ID4gbWF4TGVmdCA/IG1heExlZnQgOiBjdXJyZW50TGVmdDtcclxuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gY3VycmVudFRvcCArICdweCc7XHJcbiAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSBjdXJyZW50TGVmdCArICdweCc7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLnNpemUgPT09ICdmdWxsJykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICcyNHB4JztcclxuICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9XHJcbiAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkgLyAyICsgJ3B4JztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWJhY2tkcm9wXCI+XHJcbiAgPGRpdiAjbW9kYWwgY2xhc3M9XCJtb2RhbFwiIFtuZ1N0eWxlXT1cInJlc29sdmVNb2RhbFBvc2l0aW9uKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiAobW91c2Vkb3duKT1cIm9uTW91c2Vkb3duKCRldmVudClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgdGl0bGUgfX08L2Rpdj5cclxuICAgICAgPGkgY2xhc3M9XCJpY29uLWNsb3NlXCIgKGNsaWNrKT1cImhpZGUoKVwiPjwvaT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbXBsaWNpdDogY29udGVudFRlbXBsYXRlQ29udGV4dH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZm9vdGVyVGVtcGxhdGVcIiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGZvb3RlclRlbXBsYXRlQ29udGV4dH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUdaLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7OztBQU92QixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWYxQyxTQUFJLEdBQTBDLFNBQVMsQ0FBQztRQUN4RCxXQUFNLEdBQVcsT0FBTyxDQUFDO1FBR3pCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFPZCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUc1QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxD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QU01QyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBcUI5QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICB0aXRsZSE6IHN0cmluZztcclxuICBzaXplOiAnZGVmYXVsdCcgfCAnbGFyZ2UnIHwgJ2Z1bGwnIHwgc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gIF93aWR0aDogc3RyaW5nID0gJzQ4MHB4JztcclxuICBAVmlld0NoaWxkKCdtb2RhbCcsIHtzdGF0aWM6IHRydWV9KSBtb2RhbEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xyXG4gIG1vdmVIYW5kbGVFbCE6IEhUTUxFbGVtZW50O1xyXG4gIG1vdmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB0b3BTdGFydCA9IDA7XHJcbiAgbGVmdFN0YXJ0ID0gMDtcclxuICBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ6IGFueTtcclxuICBmb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgZm9vdGVyVGVtcGxhdGVDb250ZXh0OiBhbnk7XHJcbiAgX3BhcmVudFZpZXdDb250YWluZXJSZWY6IGFueTtcclxuICBAT3V0cHV0KClcclxuICBvbkhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zaXplID09PSAnZnVsbCcpIHtcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSAnMXB4JztcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9ICcxcHgnO1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmJvdHRvbSA9ICcxcHgnO1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAnMXB4JztcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnMCc7XHJcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm94U2hhZG93ID0gJ25vbmUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2RlZmF1bHQnKSB7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSAnNDgwcHgnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHRoaXMuX3dpZHRoID0gJzk2MHB4JztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl93aWR0aCA9IHRoaXMuc2l6ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5fd2lkdGg7XHJcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gJzI0cHgnO1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPVxyXG4gICAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkgLyAyICsgJ3B4JztcclxuICAgICAgdGhpcy5tb3ZlSGFuZGxlRWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtaGVhZGVyJyk7XHJcbiAgICAgIHRoaXMubW92ZUhhbmRsZUVsLnN0eWxlLmN1cnNvciA9ICdtb3ZlJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3coKSB7XHJcbiAgICAvLyDoi6XlrZjlnKjlpJrlsYLmqKHmgIHmoYbvvIzku4Xkv53nlZnmnIDkuIrlsYLpga7nvanpopzoibLvvIzkuIvlsYLpga7nvanorr7nva7kuLrpgI/mmI5cclxuICAgIGNvbnN0IG5vZGVOYW1lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWU7XHJcbiAgICBjb25zdCBtb2RhbHMgPSB0aGlzLl9wYXJlbnRWaWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobm9kZU5hbWUpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2RhbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgPT09IG1vZGFscy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgbW9kYWxzW2ldLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1iYWNrZHJvcCcpLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDM3LCA0MywgNTgsIDAuMDUpJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBtb2RhbHNbaV0ucXVlcnlTZWxlY3RvcignLm1vZGFsLWJhY2tkcm9wJykuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMzcsIDQzLCA1OCwgMCknO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgLy8g5Zyoc2VydmljZeS4remHjeWGmVxyXG4gICAgdGhpcy5vbkhpZGUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyDoi6XlrZjlnKjlpJrlsYLmqKHmgIHmoYbvvIzkuIvkuIDlsYLpga7nvanorr7nva7kuLrkuI3pgI/mmI5cclxuICAgIGNvbnN0IG5vZGVOYW1lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWU7XHJcbiAgICBjb25zdCBuZXh0TW9kYWwgPSB0aGlzLl9wYXJlbnRWaWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3Iobm9kZU5hbWUgKyAnOm50aC1sYXN0LWNoaWxkKDIpJyk7XHJcbiAgICBpZiAobmV4dE1vZGFsKSB7XHJcbiAgICAgIG5leHRNb2RhbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtYmFja2Ryb3AnKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgzNywgNDMsIDU4LCAwLjA1KSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNvbHZlTW9kYWxQb3NpdGlvbigpIHtcclxuICAgIGlmICh0aGlzLnNpemUgPT09ICdmdWxsJykge1xyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgPj0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQgLSA0OCkge1xyXG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gNDggKyAncHgnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlZG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICgkZXZlbnQuYnV0dG9uID09PSAyIHx8ICF0aGlzLmNoZWNrSGFuZGxlVGFyZ2V0KCRldmVudC50YXJnZXQsIHRoaXMubW92ZUhhbmRsZUVsKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vdmFibGUgPSB0cnVlO1xyXG4gICAgdGhpcy50b3BTdGFydCA9ICRldmVudC5jbGllbnRZIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AucmVwbGFjZSgncHgnLCAnJyk7XHJcbiAgICB0aGlzLmxlZnRTdGFydCA9ICRldmVudC5jbGllbnRYIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0LnJlcGxhY2UoJ3B4JywgJycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0hhbmRsZVRhcmdldCh0YXJnZXQ6IGFueSwgZWxlbWVudDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRhcmdldCA9PT0gZWxlbWVudCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGNoaWxkIGluIGVsZW1lbnQuY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbGVtZW50LmNoaWxkcmVuLCBjaGlsZCkpIHtcclxuICAgICAgICBpZiAodGhpcy5jaGVja0hhbmRsZVRhcmdldCh0YXJnZXQsIGVsZW1lbnQuY2hpbGRyZW5bY2hpbGRdKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBvbk1vdXNldXAoKSB7XHJcbiAgICB0aGlzLm1vdmFibGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZW1vdmUoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMubW92YWJsZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgbGV0IGN1cnJlbnRUb3AgPSAkZXZlbnQuY2xpZW50WSAtIHRoaXMudG9wU3RhcnQ7XHJcbiAgICBsZXQgY3VycmVudExlZnQgPSAkZXZlbnQuY2xpZW50WCAtIHRoaXMubGVmdFN0YXJ0O1xyXG4gICAgY3VycmVudFRvcCA9IGN1cnJlbnRUb3AgPCAwID8gMCA6IGN1cnJlbnRUb3A7XHJcbiAgICBjb25zdCBtYXhUb3AgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZWxlbWVudC5vZmZzZXRIZWlnaHQgLSAxO1xyXG4gICAgY3VycmVudFRvcCA9IGN1cnJlbnRUb3AgPiBtYXhUb3AgPyBtYXhUb3AgOiBjdXJyZW50VG9wO1xyXG4gICAgY3VycmVudExlZnQgPSBjdXJyZW50TGVmdCA8IDAgPyAwIDogY3VycmVudExlZnQ7XHJcbiAgICBjb25zdCBtYXhMZWZ0ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gZWxlbWVudC5vZmZzZXRXaWR0aCAtIDE7XHJcbiAgICBjdXJyZW50TGVmdCA9IGN1cnJlbnRMZWZ0ID4gbWF4TGVmdCA/IG1heExlZnQgOiBjdXJyZW50TGVmdDtcclxuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gY3VycmVudFRvcCArICdweCc7XHJcbiAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSBjdXJyZW50TGVmdCArICdweCc7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLnNpemUgPT09ICdmdWxsJykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICcyNHB4JztcclxuICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9XHJcbiAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkgLyAyICsgJ3B4JztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWJhY2tkcm9wXCI+XHJcbiAgPGRpdiAjbW9kYWwgY2xhc3M9XCJtb2RhbFwiIFtuZ1N0eWxlXT1cInJlc29sdmVNb2RhbFBvc2l0aW9uKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiAobW91c2Vkb3duKT1cIm9uTW91c2Vkb3duKCRldmVudClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgdGl0bGUgfX08L2Rpdj5cclxuICAgICAgPGkgY2xhc3M9XCJjb2FzdC1pY29uLWNsb3NlXCIgKGNsaWNrKT1cImhpZGUoKVwiPjwvaT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbXBsaWNpdDogY29udGVudFRlbXBsYXRlQ29udGV4dH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZm9vdGVyVGVtcGxhdGVcIiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGZvb3RlclRlbXBsYXRlQ29udGV4dH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -150,10 +150,10 @@ class PluginActiveComponent {
150
150
  }
151
151
  }
152
152
  PluginActiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginActiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
- PluginActiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginActiveComponent, selector: "rs-plugin-active", host: { properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.icon-drag{cursor:move}:host .active-item .active-bar i.icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DividerComponent, selector: "rs-divider", inputs: ["direction", "targetElement"], outputs: ["dividerClick"] }] });
153
+ PluginActiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginActiveComponent, selector: "rs-plugin-active", host: { properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DividerComponent, selector: "rs-divider", inputs: ["direction", "targetElement"], outputs: ["dividerClick"] }] });
154
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginActiveComponent, decorators: [{
155
155
  type: Component,
156
- args: [{ selector: 'rs-plugin-active', template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.icon-drag{cursor:move}:host .active-item .active-bar i.icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"] }]
156
+ args: [{ selector: 'rs-plugin-active', template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"] }]
157
157
  }], propDecorators: { _style: [{
158
158
  type: HostBinding,
159
159
  args: ['style']
@@ -805,7 +805,7 @@ class BoxItemComponent {
805
805
  constructor() {
806
806
  this.style = {};
807
807
  this.config = {};
808
- this.wrapperDivIndex = 1080;
808
+ this.wrapperDivIndex = 10;
809
809
  this.leaveOneItem = new EventEmitter();
810
810
  }
811
811
  get _direction() {
@@ -981,10 +981,10 @@ class BoxItemComponent {
981
981
  }
982
982
  }
983
983
  BoxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
984
- BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$1.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
984
+ BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".coast-icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$1.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
985
985
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxItemComponent, decorators: [{
986
986
  type: Component,
987
- args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"] }]
987
+ args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".coast-icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:var(--coast-empty-color, rgb(229, 229, 229))}\n"] }]
988
988
  }], propDecorators: { _direction: [{
989
989
  type: HostBinding,
990
990
  args: ['style.flex-direction']
@@ -3721,10 +3721,10 @@ class ModalComponent {
3721
3721
  }
3722
3722
  }
3723
3723
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3724
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ModalComponent, selector: "rs-modal", outputs: { onHide: "onHide" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)", "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3724
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ModalComponent, selector: "rs-modal", outputs: { onHide: "onHide" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)", "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"coast-icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3725
3725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ModalComponent, decorators: [{
3726
3726
  type: Component,
3727
- args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
3727
+ args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"coast-icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .modal-backdrop{position:absolute;inset:0;z-index:calc(var(--coast-z-index-modal, 1050) - 1)}:host .modal-backdrop .modal{position:absolute;z-index:var(--coast-z-index-modal, 1050);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-radius:4px;box-shadow:0 10px 24px #252b3a3d;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-header{flex:0 0 36px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .modal-backdrop .modal .modal-header .modal-title{padding:12px 24px;font-size:14px;font-weight:700}:host .modal-backdrop .modal .modal-header i{position:absolute;top:12px;right:12px;padding:4px;font-size:14px}:host .modal-backdrop .modal .modal-header i:hover{cursor:pointer;color:var(--coast-danger-color, rgb(217, 83, 79));background-color:var(--coast-global-bg-color, rgb(245, 245, 245))}:host .modal-backdrop .modal .modal-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .modal-backdrop .modal .modal-footer{flex:none;padding-top:12px;border-top:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
3728
3728
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { modalElementRef: [{
3729
3729
  type: ViewChild,
3730
3730
  args: ['modal', { static: true }]