ngx-aur-mat-table 17.2.2-1 → 17.2.2-11

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.
Files changed (35) hide show
  1. package/esm2022/lib/components/column-value/column-view.component.mjs +5 -5
  2. package/esm2022/lib/components/icon-view/icon-view.component.mjs +16 -0
  3. package/esm2022/lib/drag-drop/aur-drag-drop-component.mjs +1 -1
  4. package/esm2022/lib/drag-drop/aur-drag-drop.manager.mjs +104 -49
  5. package/esm2022/lib/drag-drop/can-drop-manager.mjs +29 -0
  6. package/esm2022/lib/drag-drop/drag-drop-mapping-manager.mjs +23 -0
  7. package/esm2022/lib/drag-drop/drag-preview-manager.mjs +36 -0
  8. package/esm2022/lib/drag-drop/model/aur-drag-drop-mapping.mjs +2 -0
  9. package/esm2022/lib/drag-drop/model/aur-drag-preview-component.mjs +2 -0
  10. package/esm2022/lib/model/ColumnConfig.mjs +1 -1
  11. package/esm2022/lib/ngx-aur-mat-table.component.mjs +39 -17
  12. package/esm2022/lib/ngx-aur-mat-table.module.mjs +4 -1
  13. package/esm2022/lib/providers/DragDropProvider.mjs +56 -0
  14. package/esm2022/lib/providers/SelectionProvider.mjs +4 -1
  15. package/esm2022/lib/providers/TotalRowProvider.mjs +4 -3
  16. package/esm2022/public-api.mjs +4 -2
  17. package/fesm2022/ngx-aur-mat-table.mjs +258 -68
  18. package/fesm2022/ngx-aur-mat-table.mjs.map +1 -1
  19. package/lib/components/icon-view/icon-view.component.d.ts +7 -0
  20. package/lib/drag-drop/aur-drag-drop-component.d.ts +1 -1
  21. package/lib/drag-drop/aur-drag-drop.manager.d.ts +60 -30
  22. package/lib/drag-drop/can-drop-manager.d.ts +8 -0
  23. package/lib/drag-drop/drag-drop-mapping-manager.d.ts +9 -0
  24. package/lib/drag-drop/drag-preview-manager.d.ts +11 -0
  25. package/lib/drag-drop/model/aur-drag-drop-mapping.d.ts +60 -0
  26. package/lib/drag-drop/model/aur-drag-preview-component.d.ts +13 -0
  27. package/lib/model/ColumnConfig.d.ts +9 -3
  28. package/lib/ngx-aur-mat-table.component.d.ts +6 -4
  29. package/lib/ngx-aur-mat-table.module.d.ts +16 -15
  30. package/lib/providers/DragDropProvider.d.ts +30 -0
  31. package/lib/providers/SelectionProvider.d.ts +1 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +3 -1
  34. package/esm2022/lib/providers/DragProvider.mjs +0 -44
  35. package/lib/providers/DragProvider.d.ts +0 -23
@@ -1,18 +1,18 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/tooltip";
4
+ import * as i2 from "@angular/material/tooltip";
5
+ import * as i3 from "../icon-view/icon-view.component";
6
6
  export class ColumnViewComponent {
7
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ColumnViewComponent, selector: "lib-column-view", inputs: { config: "config", value: "value" }, ngImport: i0, template: "<div class=\"align-container\">\r\n <div [ngClass]=\"{'circle': config?.icon?.wrapper}\"\r\n [style.background-color]=\"config?.icon?.wrapper?.color\"\r\n >\r\n <mat-icon *ngIf=\"config?.icon && config?.icon?.display !== 'none'\"\r\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\r\n [style.color]=\"config?.icon?.color\"\r\n >\r\n {{config?.icon?.name}}\r\n </mat-icon>\r\n </div>\r\n\r\n <img\r\n *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\"\r\n >\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\r\n >\r\n {{value}}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ColumnViewComponent, selector: "lib-column-view", inputs: { config: "config", value: "value" }, ngImport: i0, template: "<div class=\"align-container\">\r\n\r\n <lib-icon-view [view]=\"config?.icon\">\r\n </lib-icon-view>\r\n\r\n <img *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\">\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\">\r\n {{ value }}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.IconViewComponent, selector: "lib-icon-view", inputs: ["view"] }] }); }
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnViewComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'lib-column-view', template: "<div class=\"align-container\">\r\n <div [ngClass]=\"{'circle': config?.icon?.wrapper}\"\r\n [style.background-color]=\"config?.icon?.wrapper?.color\"\r\n >\r\n <mat-icon *ngIf=\"config?.icon && config?.icon?.display !== 'none'\"\r\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\r\n [style.color]=\"config?.icon?.color\"\r\n >\r\n {{config?.icon?.name}}\r\n </mat-icon>\r\n </div>\r\n\r\n <img\r\n *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\"\r\n >\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\r\n >\r\n {{value}}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"] }]
12
+ args: [{ selector: 'lib-column-view', template: "<div class=\"align-container\">\r\n\r\n <lib-icon-view [view]=\"config?.icon\">\r\n </lib-icon-view>\r\n\r\n <img *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\">\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\">\r\n {{ value }}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"] }]
13
13
  }], propDecorators: { config: [{
14
14
  type: Input
15
15
  }], value: [{
16
16
  type: Input
17
17
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvY29sdW1uLXZhbHVlL2NvbHVtbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2RCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQixxR0NSaEMsMHpCQTBCQTs7MkZEbEJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBS2xCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbHVtblZpZXd9IGZyb20gXCIuLi8uLi9tb2RlbC9Db2x1bW5Db25maWdcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbHVtbi12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXZpZXcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWc6IENvbHVtblZpZXc8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJhbGlnbi1jb250YWluZXJcIj5cclxuICA8ZGl2ICBbbmdDbGFzc109XCJ7J2NpcmNsZSc6IGNvbmZpZz8uaWNvbj8ud3JhcHBlcn1cIlxyXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImNvbmZpZz8uaWNvbj8ud3JhcHBlcj8uY29sb3JcIlxyXG4gID5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImNvbmZpZz8uaWNvbiAmJiBjb25maWc/Lmljb24/LmRpc3BsYXkgIT09ICdub25lJ1wiXHJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiY29uZmlnPy5pY29uPy50b29sdGlwPy50b1N0cmluZygpIHx8ICcnXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29uZmlnPy5pY29uPy5jb2xvclwiXHJcbiAgICA+XHJcbiAgICAgIHt7Y29uZmlnPy5pY29uPy5uYW1lfX1cclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxpbWdcclxuICAgICpuZ0lmPVwiY29uZmlnPy5pbWFnZT8uc3JjXCJcclxuICAgIFtzcmNdPVwiY29uZmlnPy5pbWFnZT8uc3JjXCJcclxuICAgIFtzdHlsZS5oZWlnaHRdPVwiY29uZmlnPy5pbWFnZT8uaGVpZ2h0XCJcclxuICAgIFtzdHlsZS53aWR0aF09XCJjb25maWc/LmltYWdlPy53aWR0aFwiXHJcbiAgICBhbHQ9XCJpbWdcIlxyXG4gID5cclxuXHJcbiAgPHNwYW4gKm5nSWY9XCJjb25maWc/LnRleHQ/LnNob3cgIT0gZmFsc2VcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cImNvbmZpZz8udGV4dD8udG9vbHRpcD8udG9TdHJpbmcoKSB8fCAnJ1wiXHJcbiAgPlxyXG4gICAgICAge3t2YWx1ZX19XHJcbiAgPC9zcGFuPlxyXG48L2Rpdj5cclxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvY29sdW1uLXZhbHVlL2NvbHVtbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2RCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQixxR0NSaEMsZ2VBZ0JBOzsyRkRSYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUtsQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb2x1bW5WaWV3fSBmcm9tIFwiLi4vLi4vbW9kZWwvQ29sdW1uQ29uZmlnXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb2x1bW4tdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi12aWV3LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5WaWV3Q29tcG9uZW50IHtcbiAgQElucHV0KCkgY29uZmlnOiBDb2x1bW5WaWV3PHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWxpZ24tY29udGFpbmVyXCI+XHJcblxyXG4gIDxsaWItaWNvbi12aWV3IFt2aWV3XT1cImNvbmZpZz8uaWNvblwiPlxyXG4gIDwvbGliLWljb24tdmlldz5cclxuXHJcbiAgPGltZyAqbmdJZj1cImNvbmZpZz8uaW1hZ2U/LnNyY1wiXHJcbiAgICAgICBbc3JjXT1cImNvbmZpZz8uaW1hZ2U/LnNyY1wiXHJcbiAgICAgICBbc3R5bGUuaGVpZ2h0XT1cImNvbmZpZz8uaW1hZ2U/LmhlaWdodFwiXHJcbiAgICAgICBbc3R5bGUud2lkdGhdPVwiY29uZmlnPy5pbWFnZT8ud2lkdGhcIlxyXG4gICAgICAgYWx0PVwiaW1nXCI+XHJcblxyXG4gIDxzcGFuICpuZ0lmPVwiY29uZmlnPy50ZXh0Py5zaG93ICE9IGZhbHNlXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWc/LnRleHQ/LnRvb2x0aXA/LnRvU3RyaW5nKCkgfHwgJydcIj5cclxuICAgICAgIHt7IHZhbHVlIH19XHJcbiAgPC9zcGFuPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/material/tooltip";
6
+ export class IconViewComponent {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IconViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: IconViewComponent, selector: "lib-icon-view", inputs: { view: "view" }, ngImport: i0, template: "<div [ngClass]=\"{'circle': view?.wrapper}\"\r\n [style.background-color]=\"view?.wrapper?.color\">\r\n <mat-icon *ngIf=\"view && view?.display !== 'none'\"\r\n [matTooltip]=\"view?.tooltip?.toString() || ''\"\r\n [style.color]=\"view?.color\">\r\n {{ view?.name }}\r\n </mat-icon>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IconViewComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'lib-icon-view', template: "<div [ngClass]=\"{'circle': view?.wrapper}\"\r\n [style.background-color]=\"view?.wrapper?.color\">\r\n <mat-icon *ngIf=\"view && view?.display !== 'none'\"\r\n [matTooltip]=\"view?.tooltip?.toString() || ''\"\r\n [style.color]=\"view?.color\">\r\n {{ view?.name }}\r\n </mat-icon>\r\n</div>\r\n" }]
13
+ }], propDecorators: { view: [{
14
+ type: Input
15
+ }] } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9pY29uLXZpZXcvaWNvbi12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9pY29uLXZpZXcvaWNvbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMvQyxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7a0dBQWpCLGlCQUFpQiwrRUNUOUIsd1VBUUE7OzJGRENhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlOzhCQU1oQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uVmlldyB9IGZyb20gJy4uLy4uL21vZGVsL0NvbHVtbkNvbmZpZyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItaWNvbi12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaWNvbi12aWV3LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uVmlld0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHZpZXc6IEljb25WaWV3PHN0cmluZz4gfCB1bmRlZmluZWQ7XHJcblxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieydjaXJjbGUnOiB2aWV3Py53cmFwcGVyfVwiXHJcbiAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwidmlldz8ud3JhcHBlcj8uY29sb3JcIj5cclxuICA8bWF0LWljb24gKm5nSWY9XCJ2aWV3ICYmIHZpZXc/LmRpc3BsYXkgIT09ICdub25lJ1wiXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInZpZXc/LnRvb2x0aXA/LnRvU3RyaW5nKCkgfHwgJydcIlxyXG4gICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwidmlldz8uY29sb3JcIj5cclxuICAgIHt7IHZpZXc/Lm5hbWUgfX1cclxuICA8L21hdC1pY29uPlxyXG48L2Rpdj5cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9hdXItZHJhZy1kcm9wLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnRHJvcENvbXBvbmVudDxUPiB7XHJcblxyXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBkYXRhOiBUKTogdm9pZDtcclxuXHJcbiAgb25EcmFnT3ZlcigkZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJvcCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9hdXItZHJhZy1kcm9wLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnRHJvcENvbXBvbmVudDxUPiB7XHJcblxyXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBkYXRhOiBUKTogdm9pZDtcclxuXHJcbiAgb25EcmFnT3ZlcigkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJvcCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcbn1cclxuIl19
@@ -1,59 +1,114 @@
1
+ import { finalize, first, map, of, switchMap, } from "rxjs";
2
+ import { CanDropManager } from "./can-drop-manager";
3
+ import { DragPreviewManager } from "./drag-preview-manager";
4
+ import { DragDropMappingManager } from "./drag-drop-mapping-manager";
5
+ /**
6
+ * Класс AurDragDropManager управляет процессом drag-and-drop, включая начало, выполнение и завершение перетаскивания.
7
+ * Он также управляет предварительным просмотром, проверкой возможности выполнения drop и обновлением данных после drop.
8
+ */
1
9
  export class AurDragDropManager {
2
- constructor(mappings) {
10
+ static empty() {
11
+ return new AurDragDropManager(undefined, []);
12
+ }
13
+ constructor(viewContainerRef, mappings) {
3
14
  this.mappings = mappings;
4
- //can drop [key from table, value to table name]
5
- this.canDropStorage = new Map();
6
- this.mappings.forEach(m => {
7
- this.canDropStorage.set(m.sourceName, new Set());
8
- });
9
- this.mappings.forEach(m => {
10
- this.canDropStorage.get(m.sourceName).add(m.targetName);
11
- });
12
- }
13
- startDrag(targetName, data) {
14
- this.dragStartCtx = { name: targetName, data: data };
15
+ this.canDropManager = new CanDropManager(mappings);
16
+ this.previewManager = new DragPreviewManager(viewContainerRef, mappings);
17
+ this.mappingManager = new DragDropMappingManager(mappings);
18
+ }
19
+ /**
20
+ * Возвращает список всех возможных источников для перетаскивания
21
+ * @returns Массив имен источников
22
+ */
23
+ get draggableSourceNames() {
24
+ return this.mappings?.map(mapping => mapping.sourceName) || [];
25
+ }
26
+ /**
27
+ * Метод для начала перетаскивания, сохраняет начальный контекст, а также отображает Preview перетаскиваемого элемента
28
+ * @param sourceName Имя источника, с которого начинается перетаскивание
29
+ * @param draggedData Данные, которые перетаскиваются
30
+ * @param event Событие перетаскивания
31
+ * @throws Ошибка, если предыдущее перетаскивание еще не завершено
32
+ */
33
+ startDrag(sourceName, draggedData, event) {
34
+ if (this.startDragEvent) {
35
+ throw new Error('Start new drag before complete current');
36
+ }
37
+ this.startDragEvent = { sourceName, draggedData };
38
+ this.previewManager.showPreview(sourceName, event, draggedData);
39
+ }
40
+ /**
41
+ * Метод для обработки события preventDefault для разрешения / запрещения drop на элементе
42
+ * @param targetName Имя цели, на которую происходит перетаскивание
43
+ * @param $event Событие перетаскивания
44
+ */
45
+ canDropPreventDefault(targetName, $event) {
46
+ this.canDropManager.dropPreventDefault(this.startDragEvent?.sourceName, targetName, $event);
47
+ }
48
+ /**
49
+ * Метод для выполнения drop на указанную цель
50
+ * @param targetDataset Данные целевой таблицы
51
+ * @param targetName Имя цели, на которую выполняется drop
52
+ * @param targetData Данные цели в которые выполняется drop
53
+ * @returns Observable с результатом drop операции
54
+ */
55
+ drop(targetDataset, targetName, targetData) {
56
+ const mapping = this.getMapping(this.startDragEvent.sourceName, targetName);
57
+ const dropContext = this.buildDropContext(targetName, targetData, targetDataset);
58
+ const dropResult = mapping.dropFn(dropContext).pipe(first());
59
+ this.dropEvent = { targetName, targetData, dropResult };
60
+ return dropResult;
61
+ }
62
+ buildDropContext(targetName, targetData, targetDataSet) {
63
+ return {
64
+ targetName,
65
+ targetData,
66
+ targetDataset: targetDataSet,
67
+ sourceName: this.startDragEvent.sourceName,
68
+ sourceData: this.startDragEvent.draggedData,
69
+ };
15
70
  }
16
71
  endDrag(sourceDataset) {
17
- return this.endDragInternal({
18
- targetData: this.dragEndCtx.data,
19
- targetName: this.dragEndCtx.name,
20
- sourceData: this.dragStartCtx.data,
21
- sourceName: this.dragStartCtx.name,
22
- sourceDataset: sourceDataset
23
- });
24
- }
25
- endDragInternal(grabCtx) {
26
- let mapping = this.mappings.find(m => m.sourceName === grabCtx.sourceName && m.targetName === grabCtx.targetName);
27
- let mappedData = mapping.grabFn(grabCtx);
28
- this.dragStartCtx = undefined;
29
- this.dragEndCtx = undefined;
30
- return mappedData;
31
- }
32
- canDrop(tableName, $event) {
33
- if (this.canDropStorage.get(this.dragStartCtx.name)?.has(tableName) ?? false) {
34
- $event.preventDefault();
72
+ this.previewManager.removePreview();
73
+ if (!this.dropEvent) {
74
+ const dropResult = of({ isValid: false, updatedDataset: [] });
75
+ this.dropEvent = { targetName: '---?unknow-target?----', targetData: null, dropResult };
76
+ return dropResult;
35
77
  }
78
+ return this.dropEvent.dropResult.pipe(switchMap(dropEvent => {
79
+ if (dropEvent.isValid) {
80
+ const grabContext = this.buildGrabContext(sourceDataset);
81
+ return this.calcDatasetAfterGrab(grabContext).pipe(map(updatedDataset => ({
82
+ isValid: true,
83
+ updatedDataset
84
+ })));
85
+ }
86
+ else {
87
+ return of({
88
+ isValid: false,
89
+ updatedDataset: []
90
+ });
91
+ }
92
+ }), finalize(() => {
93
+ this.dropEvent = undefined;
94
+ this.startDragEvent = undefined;
95
+ }));
36
96
  }
37
- onDrop(targetDataset, targetName, targetData) {
38
- return this.onDropInternal({
39
- sourceName: this.dragStartCtx.name,
40
- sourceData: this.dragStartCtx.data,
41
- targetName: targetName,
42
- targetData: targetData,
43
- targetDataset: targetDataset
44
- });
45
- }
46
- onDropInternal(dropCtx) {
47
- let mapping = this.mappings.find(m => m.sourceName === dropCtx.sourceName && m.targetName === dropCtx.targetName);
48
- let mappedData = mapping.dropFn(dropCtx);
49
- this.dragEndCtx = {
50
- name: dropCtx.targetName,
51
- data: dropCtx.targetData
97
+ buildGrabContext(sourceDataset) {
98
+ return {
99
+ targetName: this.dropEvent.targetName,
100
+ targetData: this.dropEvent.targetData,
101
+ sourceName: this.startDragEvent.sourceName,
102
+ sourceData: this.startDragEvent.draggedData,
103
+ sourceDataset: sourceDataset
52
104
  };
53
- return mappedData;
54
105
  }
55
- static empty() {
56
- return new AurDragDropManager([]);
106
+ calcDatasetAfterGrab(grabCtx) {
107
+ const mapping = this.getMapping(this.startDragEvent.sourceName, this.dropEvent.targetName);
108
+ return mapping.grabFn(grabCtx).pipe(first());
109
+ }
110
+ getMapping(sourceName, targetName) {
111
+ return this.mappingManager.get(sourceName, targetName);
57
112
  }
58
113
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvYXVyLWRyYWctZHJvcC5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCQSxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQW9CLFFBQXdDO1FBQXhDLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBSDVELGdEQUFnRDtRQUN4QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO1FBR3RELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCLEVBQUUsSUFBUztRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxhQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFXLENBQUMsSUFBSTtZQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJO1lBQ2pDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBYSxDQUFDLElBQUk7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFhLENBQUMsSUFBSTtZQUNuQyxhQUFhLEVBQUUsYUFBYTtTQUM3QixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQThCO1FBQzVDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xILElBQUksVUFBVSxHQUFHLE9BQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQixFQUFFLE1BQWlCO1FBQzFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDOUUsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQW9CLEVBQUUsVUFBa0IsRUFBRSxVQUFlO1FBQzlELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQWEsQ0FBQyxJQUFJO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBYSxDQUFDLElBQUk7WUFDbkMsVUFBVSxFQUFFLFVBQVU7WUFDdEIsVUFBVSxFQUFFLFVBQVU7WUFDdEIsYUFBYSxFQUFFLGFBQWE7U0FDN0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUE4QjtRQUMzQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsSCxJQUFJLFVBQVUsR0FBRyxPQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVTtTQUN6QixDQUFBO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEF1ckRyYWdEcm9wTWFwcGluZzxTT1VSQ0UsIFRBUkdFVD4ge1xyXG4gIHJlYWRvbmx5IHNvdXJjZU5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgZ3JhYkZuOiAoY3R4OiBncmFiQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4pID0+IFNPVVJDRVtdXHJcbiAgcmVhZG9ubHkgZHJvcEZuOiAoY3R4OiBEcm9wQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4pID0+IFRBUkdFVFtdXHJcbn1cclxuXHJcbmludGVyZmFjZSBEcmFnU3RhcnRDb250ZXh0IHtcclxuICByZWFkb25seSBuYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgZGF0YTogYW55XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgZ3JhYkNvbnRleHQ8U09VUkNFLCBUQVJHRVQ+IHtcclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YTogU09VUkNFLFxyXG4gIHJlYWRvbmx5IHNvdXJjZURhdGFzZXQ6IFNPVVJDRVtdLFxyXG5cclxuICByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgdGFyZ2V0RGF0YTogVEFSR0VULFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERyb3BDb250ZXh0PFNPVVJDRSwgVEFSR0VUPiB7XHJcbiAgcmVhZG9ubHkgc291cmNlTmFtZTogc3RyaW5nLFxyXG4gIHJlYWRvbmx5IHNvdXJjZURhdGE6IFNPVVJDRSxcclxuXHJcbiAgcmVhZG9ubHkgdGFyZ2V0RGF0YXNldDogVEFSR0VUW10sXHJcbiAgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nLFxyXG4gIHJlYWRvbmx5IHRhcmdldERhdGE6IFRBUkdFVCxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEF1ckRyYWdEcm9wTWFuYWdlciB7XHJcblxyXG4gIHByaXZhdGUgZHJhZ1N0YXJ0Q3R4OiBEcmFnU3RhcnRDb250ZXh0IHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgZHJhZ0VuZEN0eDogRHJhZ1N0YXJ0Q29udGV4dCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy9jYW4gZHJvcCBba2V5IGZyb20gdGFibGUsIHZhbHVlIHRvIHRhYmxlIG5hbWVdXHJcbiAgcHJpdmF0ZSBjYW5Ecm9wU3RvcmFnZSA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXBwaW5nczogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PltdKSB7XHJcbiAgICB0aGlzLm1hcHBpbmdzLmZvckVhY2gobSA9PiB7XHJcbiAgICAgIHRoaXMuY2FuRHJvcFN0b3JhZ2Uuc2V0KG0uc291cmNlTmFtZSwgbmV3IFNldCgpKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5tYXBwaW5ncy5mb3JFYWNoKG0gPT4ge1xyXG4gICAgICB0aGlzLmNhbkRyb3BTdG9yYWdlLmdldChtLnNvdXJjZU5hbWUpIS5hZGQobS50YXJnZXROYW1lKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzdGFydERyYWcodGFyZ2V0TmFtZTogc3RyaW5nLCBkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuZHJhZ1N0YXJ0Q3R4ID0ge25hbWU6IHRhcmdldE5hbWUsIGRhdGE6IGRhdGF9XHJcbiAgfVxyXG5cclxuICBlbmREcmFnKHNvdXJjZURhdGFzZXQ6IGFueVtdKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZW5kRHJhZ0ludGVybmFsKHtcclxuICAgICAgdGFyZ2V0RGF0YTogdGhpcy5kcmFnRW5kQ3R4IS5kYXRhLFxyXG4gICAgICB0YXJnZXROYW1lOiB0aGlzLmRyYWdFbmRDdHghLm5hbWUsXHJcbiAgICAgIHNvdXJjZURhdGE6IHRoaXMuZHJhZ1N0YXJ0Q3R4IS5kYXRhLFxyXG4gICAgICBzb3VyY2VOYW1lOiB0aGlzLmRyYWdTdGFydEN0eCEubmFtZSxcclxuICAgICAgc291cmNlRGF0YXNldDogc291cmNlRGF0YXNldFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGVuZERyYWdJbnRlcm5hbChncmFiQ3R4OiBncmFiQ29udGV4dDxhbnksIGFueT4pOiBhbnlbXSB7XHJcbiAgICBsZXQgbWFwcGluZyA9IHRoaXMubWFwcGluZ3MuZmluZChtID0+IG0uc291cmNlTmFtZSA9PT0gZ3JhYkN0eC5zb3VyY2VOYW1lICYmIG0udGFyZ2V0TmFtZSA9PT0gZ3JhYkN0eC50YXJnZXROYW1lKTtcclxuICAgIGxldCBtYXBwZWREYXRhID0gbWFwcGluZyEuZ3JhYkZuKGdyYWJDdHgpO1xyXG4gICAgdGhpcy5kcmFnU3RhcnRDdHggPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmRyYWdFbmRDdHggPSB1bmRlZmluZWQ7XHJcbiAgICByZXR1cm4gbWFwcGVkRGF0YTtcclxuICB9XHJcblxyXG4gIGNhbkRyb3AodGFibGVOYW1lOiBzdHJpbmcsICRldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5jYW5Ecm9wU3RvcmFnZS5nZXQodGhpcy5kcmFnU3RhcnRDdHghLm5hbWUpPy5oYXModGFibGVOYW1lKSA/PyBmYWxzZSkge1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRHJvcCh0YXJnZXREYXRhc2V0OiBhbnlbXSwgdGFyZ2V0TmFtZTogc3RyaW5nLCB0YXJnZXREYXRhOiBhbnkpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5vbkRyb3BJbnRlcm5hbCh7XHJcbiAgICAgIHNvdXJjZU5hbWU6IHRoaXMuZHJhZ1N0YXJ0Q3R4IS5uYW1lLFxyXG4gICAgICBzb3VyY2VEYXRhOiB0aGlzLmRyYWdTdGFydEN0eCEuZGF0YSxcclxuICAgICAgdGFyZ2V0TmFtZTogdGFyZ2V0TmFtZSxcclxuICAgICAgdGFyZ2V0RGF0YTogdGFyZ2V0RGF0YSxcclxuICAgICAgdGFyZ2V0RGF0YXNldDogdGFyZ2V0RGF0YXNldFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG9uRHJvcEludGVybmFsKGRyb3BDdHg6IERyb3BDb250ZXh0PGFueSwgYW55Pik6IGFueVtdIHtcclxuICAgIGxldCBtYXBwaW5nID0gdGhpcy5tYXBwaW5ncy5maW5kKG0gPT4gbS5zb3VyY2VOYW1lID09PSBkcm9wQ3R4LnNvdXJjZU5hbWUgJiYgbS50YXJnZXROYW1lID09PSBkcm9wQ3R4LnRhcmdldE5hbWUpO1xyXG4gICAgbGV0IG1hcHBlZERhdGEgPSBtYXBwaW5nIS5kcm9wRm4oZHJvcEN0eCk7XHJcbiAgICB0aGlzLmRyYWdFbmRDdHggPSB7XHJcbiAgICAgIG5hbWU6IGRyb3BDdHgudGFyZ2V0TmFtZSxcclxuICAgICAgZGF0YTogZHJvcEN0eC50YXJnZXREYXRhXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFwcGVkRGF0YTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogQXVyRHJhZ0Ryb3BNYW5hZ2VyIHtcclxuICAgIHJldHVybiBuZXcgQXVyRHJhZ0Ryb3BNYW5hZ2VyKFtdKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvYXVyLWRyYWctZHJvcC5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxHQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQWVuRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBMEJ0QixNQUFNLENBQUMsS0FBSztRQUNqQixPQUFPLElBQUksa0JBQWtCLENBQUMsU0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxZQUFZLGdCQUFrQyxFQUMxQixRQUF3QztRQUF4QyxhQUFRLEdBQVIsUUFBUSxDQUFnQztRQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsVUFBa0IsRUFBRSxXQUFzQixFQUFFLEtBQWdCO1FBQzNFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtRQUMzRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ2pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscUJBQXFCLENBQUMsVUFBa0IsRUFBRSxNQUFpQjtRQUNoRSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFDLGFBQXdCLEVBQUUsVUFBa0IsRUFBRSxVQUFlO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDaEYsTUFBTSxVQUFVLEdBQUcsT0FBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUMsQ0FBQTtRQUNyRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxVQUFlLEVBQUUsYUFBd0I7UUFDcEYsT0FBTztZQUNMLFVBQVU7WUFDVixVQUFVO1lBQ1YsYUFBYSxFQUFFLGFBQWE7WUFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFlLENBQUMsVUFBVTtZQUMzQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWUsQ0FBQyxXQUFXO1NBQzdDLENBQUE7SUFDSCxDQUFDO0lBRU0sT0FBTyxDQUFDLGFBQXdCO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBQyxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQTtZQUNyRixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3BDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNwQixJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUV6RCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxJQUFJO29CQUNiLGNBQWM7aUJBQ2YsQ0FBQyxDQUFDLENBQ0osQ0FBQztZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQztvQkFDUixPQUFPLEVBQUUsS0FBSztvQkFDZCxjQUFjLEVBQUUsRUFBRTtpQkFDbkIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLGFBQXdCO1FBQy9DLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVUsQ0FBQyxVQUFVO1lBQ3RDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBVSxDQUFDLFVBQVU7WUFDdEMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFlLENBQUMsVUFBVTtZQUMzQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWUsQ0FBQyxXQUFXO1lBQzVDLGFBQWEsRUFBRSxhQUFhO1NBQzdCLENBQUE7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBOEI7UUFDekQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBZSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdGLE9BQU8sT0FBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sVUFBVSxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDdkQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtmaW5hbGl6ZSwgZmlyc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCx9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Q2FuRHJvcE1hbmFnZXJ9IGZyb20gXCIuL2Nhbi1kcm9wLW1hbmFnZXJcIjtcclxuaW1wb3J0IHtWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RyYWdQcmV2aWV3TWFuYWdlcn0gZnJvbSBcIi4vZHJhZy1wcmV2aWV3LW1hbmFnZXJcIjtcclxuaW1wb3J0IHtEcmFnRHJvcE1hcHBpbmdNYW5hZ2VyfSBmcm9tIFwiLi9kcmFnLWRyb3AtbWFwcGluZy1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7QXVyRHJhZ0Ryb3BNYXBwaW5nLCBBdXJEcm9wUmVzdWx0LCBEcm9wQ29udGV4dCwgR3JhYkNvbnRleHR9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5cclxuXHJcbmludGVyZmFjZSBTdGFydERyYWdFdmVudCB7XHJcbiAgc291cmNlTmFtZTogc3RyaW5nLFxyXG4gIGRyYWdnZWREYXRhOiB1bmtub3duW10sXHJcbn1cclxuXHJcbmludGVyZmFjZSBEcm9wRXZlbnQge1xyXG4gIHRhcmdldE5hbWU6IHN0cmluZyxcclxuICB0YXJnZXREYXRhOiB1bmtub3duLFxyXG4gIGRyb3BSZXN1bHQ6IE9ic2VydmFibGU8QXVyRHJvcFJlc3VsdDxhbnk+PlxyXG59XHJcblxyXG4vKipcclxuICog0JrQu9Cw0YHRgSBBdXJEcmFnRHJvcE1hbmFnZXIg0YPQv9GA0LDQstC70Y/QtdGCINC/0YDQvtGG0LXRgdGB0L7QvCBkcmFnLWFuZC1kcm9wLCDQstC60LvRjtGH0LDRjyDQvdCw0YfQsNC70L4sINCy0YvQv9C+0LvQvdC10L3QuNC1INC4INC30LDQstC10YDRiNC10L3QuNC1INC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40Y8uXHJcbiAqINCe0L0g0YLQsNC60LbQtSDRg9C/0YDQsNCy0LvRj9C10YIg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3Ri9C8INC/0YDQvtGB0LzQvtGC0YDQvtC8LCDQv9GA0L7QstC10YDQutC+0Lkg0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQstGL0L/QvtC70L3QtdC90LjRjyBkcm9wINC4INC+0LHQvdC+0LLQu9C10L3QuNC10Lwg0LTQsNC90L3Ri9GFINC/0L7RgdC70LUgZHJvcC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBBdXJEcmFnRHJvcE1hbmFnZXIge1xyXG4gIC8qKlxyXG4gICAqINCc0LXQvdC10LTQttC10YAg0LTQu9GPINC/0YDQvtCy0LXRgNC60Lgg0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQstGL0L/QvtC70L3QtdC90LjRjyBkcm9wINC+0L/QtdGA0LDRhtC40LhcclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGNhbkRyb3BNYW5hZ2VyOiBDYW5Ecm9wTWFuYWdlcjtcclxuXHJcbiAgLyoqXHJcbiAgICog0JzQtdC90LXQtNC20LXRgCDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3Ri9C8INC/0YDQvtGB0LzQvtGC0YDQvtC8INC/0LXRgNC10YLQsNGB0LrQuNCy0LDQtdC80L7Qs9C+INGN0LvQtdC80LXQvdGC0LBcclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHByZXZpZXdNYW5hZ2VyOiBEcmFnUHJldmlld01hbmFnZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqINCc0LXQvdC10LTQttC10YAg0LTQu9GPINGD0L/RgNCw0LLQu9C10L3QuNGPINC80LDQv9C/0LjQvdCz0LDQvNC4INC80LXQttC00YMg0LjRgdGC0L7Rh9C90LjQutC+0Lwg0Lgg0YbQtdC70YzRjiDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNGPXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBtYXBwaW5nTWFuYWdlcjogRHJhZ0Ryb3BNYXBwaW5nTWFuYWdlcjtcclxuXHJcbiAgLyoqXHJcbiAgICog0KHQvtCx0YvRgtC40LUg0L3QsNGH0LDQu9CwINC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40Y8sINGB0L7QtNC10YDQttC40YIg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNGB0YLQvtGH0L3QuNC60LUg0Lgg0LTQsNC90L3Ri9GFLCDQutC+0YLQvtGA0YvQtSDQv9C10YDQtdGC0LDRgdC60LjQstCw0Y7RgtGB0Y9cclxuICAgKi9cclxuICBwcml2YXRlIHN0YXJ0RHJhZ0V2ZW50PzogU3RhcnREcmFnRXZlbnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqINCh0L7QsdGL0YLQuNC1IGRyb3AsIHVuZGVmaW5lZCDQtdGB0LvQuCBkcm9wINCx0YvQuyDQvdCwINC90LXRgNCw0LfRgNC10YjQtdC90L3QvtC8INGN0LvQtdC80LXQvdGC0LVcclxuICAgKi9cclxuICBwcml2YXRlIGRyb3BFdmVudD86IERyb3BFdmVudDtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBlbXB0eSgpOiBBdXJEcmFnRHJvcE1hbmFnZXIge1xyXG4gICAgcmV0dXJuIG5ldyBBdXJEcmFnRHJvcE1hbmFnZXIodW5kZWZpbmVkISwgW10pO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3Iodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10pIHtcclxuICAgIHRoaXMuY2FuRHJvcE1hbmFnZXIgPSBuZXcgQ2FuRHJvcE1hbmFnZXIobWFwcGluZ3MpO1xyXG4gICAgdGhpcy5wcmV2aWV3TWFuYWdlciA9IG5ldyBEcmFnUHJldmlld01hbmFnZXIodmlld0NvbnRhaW5lclJlZiwgbWFwcGluZ3MpO1xyXG4gICAgdGhpcy5tYXBwaW5nTWFuYWdlciA9IG5ldyBEcmFnRHJvcE1hcHBpbmdNYW5hZ2VyKG1hcHBpbmdzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQstGB0LXRhSDQstC+0LfQvNC+0LbQvdGL0YUg0LjRgdGC0L7Rh9C90LjQutC+0LIg0LTQu9GPINC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40Y9cclxuICAgKiBAcmV0dXJucyDQnNCw0YHRgdC40LIg0LjQvNC10L0g0LjRgdGC0L7Rh9C90LjQutC+0LJcclxuICAgKi9cclxuICBnZXQgZHJhZ2dhYmxlU291cmNlTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwcGluZ3M/Lm1hcChtYXBwaW5nID0+IG1hcHBpbmcuc291cmNlTmFtZSkgfHwgW107XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQnNC10YLQvtC0INC00LvRjyDQvdCw0YfQsNC70LAg0L/QtdGA0LXRgtCw0YHQutC40LLQsNC90LjRjywg0YHQvtGF0YDQsNC90Y/QtdGCINC90LDRh9Cw0LvRjNC90YvQuSDQutC+0L3RgtC10LrRgdGCLCDQsCDRgtCw0LrQttC1INC+0YLQvtCx0YDQsNC20LDQtdGCIFByZXZpZXcg0L/QtdGA0LXRgtCw0YHQutC40LLQsNC10LzQvtCz0L4g0Y3Qu9C10LzQtdC90YLQsFxyXG4gICAqIEBwYXJhbSBzb3VyY2VOYW1lINCY0LzRjyDQuNGB0YLQvtGH0L3QuNC60LAsINGBINC60L7RgtC+0YDQvtCz0L4g0L3QsNGH0LjQvdCw0LXRgtGB0Y8g0L/QtdGA0LXRgtCw0YHQutC40LLQsNC90LjQtVxyXG4gICAqIEBwYXJhbSBkcmFnZ2VkRGF0YSDQlNCw0L3QvdGL0LUsINC60L7RgtC+0YDRi9C1INC/0LXRgNC10YLQsNGB0LrQuNCy0LDRjtGC0YHRj1xyXG4gICAqIEBwYXJhbSBldmVudCDQodC+0LHRi9GC0LjQtSDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNGPXHJcbiAgICogQHRocm93cyDQntGI0LjQsdC60LAsINC10YHQu9C4INC/0YDQtdC00YvQtNGD0YnQtdC1INC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40LUg0LXRidC1INC90LUg0LfQsNCy0LXRgNGI0LXQvdC+XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXJ0RHJhZyhzb3VyY2VOYW1lOiBzdHJpbmcsIGRyYWdnZWREYXRhOiB1bmtub3duW10sIGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN0YXJ0RHJhZ0V2ZW50KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3RhcnQgbmV3IGRyYWcgYmVmb3JlIGNvbXBsZXRlIGN1cnJlbnQnKVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdGFydERyYWdFdmVudCA9IHtzb3VyY2VOYW1lLCBkcmFnZ2VkRGF0YX07XHJcbiAgICB0aGlzLnByZXZpZXdNYW5hZ2VyLnNob3dQcmV2aWV3KHNvdXJjZU5hbWUsIGV2ZW50LCBkcmFnZ2VkRGF0YSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCc0LXRgtC+0LQg0LTQu9GPINC+0LHRgNCw0LHQvtGC0LrQuCDRgdC+0LHRi9GC0LjRjyBwcmV2ZW50RGVmYXVsdCDQtNC70Y8g0YDQsNC30YDQtdGI0LXQvdC40Y8gLyDQt9Cw0L/RgNC10YnQtdC90LjRjyBkcm9wINC90LAg0Y3Qu9C10LzQtdC90YLQtVxyXG4gICAqIEBwYXJhbSB0YXJnZXROYW1lINCY0LzRjyDRhtC10LvQuCwg0L3QsCDQutC+0YLQvtGA0YPRjiDQv9GA0L7QuNGB0YXQvtC00LjRgiDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNC1XHJcbiAgICogQHBhcmFtICRldmVudCDQodC+0LHRi9GC0LjQtSDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNGPXHJcbiAgICovXHJcbiAgcHVibGljIGNhbkRyb3BQcmV2ZW50RGVmYXVsdCh0YXJnZXROYW1lOiBzdHJpbmcsICRldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbkRyb3BNYW5hZ2VyLmRyb3BQcmV2ZW50RGVmYXVsdCh0aGlzLnN0YXJ0RHJhZ0V2ZW50Py5zb3VyY2VOYW1lLCB0YXJnZXROYW1lLCAkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0JzQtdGC0L7QtCDQtNC70Y8g0LLRi9C/0L7Qu9C90LXQvdC40Y8gZHJvcCDQvdCwINGD0LrQsNC30LDQvdC90YPRjiDRhtC10LvRjFxyXG4gICAqIEBwYXJhbSB0YXJnZXREYXRhc2V0INCU0LDQvdC90YvQtSDRhtC10LvQtdCy0L7QuSDRgtCw0LHQu9C40YbRi1xyXG4gICAqIEBwYXJhbSB0YXJnZXROYW1lINCY0LzRjyDRhtC10LvQuCwg0L3QsCDQutC+0YLQvtGA0YPRjiDQstGL0L/QvtC70L3Rj9C10YLRgdGPIGRyb3BcclxuICAgKiBAcGFyYW0gdGFyZ2V0RGF0YSDQlNCw0L3QvdGL0LUg0YbQtdC70Lgg0LIg0LrQvtGC0L7RgNGL0LUg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyBkcm9wXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSDRgSDRgNC10LfRg9C70YzRgtCw0YLQvtC8IGRyb3Ag0L7Qv9C10YDQsNGG0LjQuFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkcm9wKHRhcmdldERhdGFzZXQ6IHVua25vd25bXSwgdGFyZ2V0TmFtZTogc3RyaW5nLCB0YXJnZXREYXRhOiBhbnkpOiBPYnNlcnZhYmxlPEF1ckRyb3BSZXN1bHQ8YW55Pj4ge1xyXG4gICAgY29uc3QgbWFwcGluZyA9IHRoaXMuZ2V0TWFwcGluZyh0aGlzLnN0YXJ0RHJhZ0V2ZW50IS5zb3VyY2VOYW1lLCB0YXJnZXROYW1lKTtcclxuICAgIGNvbnN0IGRyb3BDb250ZXh0ID0gdGhpcy5idWlsZERyb3BDb250ZXh0KHRhcmdldE5hbWUsIHRhcmdldERhdGEsIHRhcmdldERhdGFzZXQpXHJcbiAgICBjb25zdCBkcm9wUmVzdWx0ID0gbWFwcGluZyEuZHJvcEZuKGRyb3BDb250ZXh0KS5waXBlKGZpcnN0KCkpO1xyXG4gICAgdGhpcy5kcm9wRXZlbnQgPSB7dGFyZ2V0TmFtZSwgdGFyZ2V0RGF0YSwgZHJvcFJlc3VsdH1cclxuICAgIHJldHVybiBkcm9wUmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZERyb3BDb250ZXh0KHRhcmdldE5hbWU6IHN0cmluZywgdGFyZ2V0RGF0YTogYW55LCB0YXJnZXREYXRhU2V0OiB1bmtub3duW10pOiBEcm9wQ29udGV4dDxhbnksIGFueT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGFyZ2V0TmFtZSxcclxuICAgICAgdGFyZ2V0RGF0YSxcclxuICAgICAgdGFyZ2V0RGF0YXNldDogdGFyZ2V0RGF0YVNldCxcclxuICAgICAgc291cmNlTmFtZTogdGhpcy5zdGFydERyYWdFdmVudCEuc291cmNlTmFtZSxcclxuICAgICAgc291cmNlRGF0YTogdGhpcy5zdGFydERyYWdFdmVudCEuZHJhZ2dlZERhdGEsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5kRHJhZyhzb3VyY2VEYXRhc2V0OiB1bmtub3duW10pOiBPYnNlcnZhYmxlPEF1ckRyb3BSZXN1bHQ8YW55Pj4ge1xyXG4gICAgdGhpcy5wcmV2aWV3TWFuYWdlci5yZW1vdmVQcmV2aWV3KCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmRyb3BFdmVudCkge1xyXG4gICAgICBjb25zdCBkcm9wUmVzdWx0ID0gb2Yoe2lzVmFsaWQ6IGZhbHNlLCB1cGRhdGVkRGF0YXNldDogW119KTtcclxuICAgICAgdGhpcy5kcm9wRXZlbnQgPSB7dGFyZ2V0TmFtZTogJy0tLT91bmtub3ctdGFyZ2V0Py0tLS0nLCB0YXJnZXREYXRhOiBudWxsLCBkcm9wUmVzdWx0fVxyXG4gICAgICByZXR1cm4gZHJvcFJlc3VsdDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRyb3BFdmVudCEuZHJvcFJlc3VsdC5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoZHJvcEV2ZW50ID0+IHtcclxuICAgICAgICBpZiAoZHJvcEV2ZW50LmlzVmFsaWQpIHtcclxuICAgICAgICAgIGNvbnN0IGdyYWJDb250ZXh0ID0gdGhpcy5idWlsZEdyYWJDb250ZXh0KHNvdXJjZURhdGFzZXQpO1xyXG5cclxuICAgICAgICAgIHJldHVybiB0aGlzLmNhbGNEYXRhc2V0QWZ0ZXJHcmFiKGdyYWJDb250ZXh0KS5waXBlKFxyXG4gICAgICAgICAgICBtYXAodXBkYXRlZERhdGFzZXQgPT4gKHtcclxuICAgICAgICAgICAgICBpc1ZhbGlkOiB0cnVlLFxyXG4gICAgICAgICAgICAgIHVwZGF0ZWREYXRhc2V0XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHtcclxuICAgICAgICAgICAgaXNWYWxpZDogZmFsc2UsXHJcbiAgICAgICAgICAgIHVwZGF0ZWREYXRhc2V0OiBbXVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZHJvcEV2ZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuc3RhcnREcmFnRXZlbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEdyYWJDb250ZXh0KHNvdXJjZURhdGFzZXQ6IHVua25vd25bXSk6IEdyYWJDb250ZXh0PGFueSwgYW55PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0YXJnZXROYW1lOiB0aGlzLmRyb3BFdmVudCEudGFyZ2V0TmFtZSxcclxuICAgICAgdGFyZ2V0RGF0YTogdGhpcy5kcm9wRXZlbnQhLnRhcmdldERhdGEsXHJcbiAgICAgIHNvdXJjZU5hbWU6IHRoaXMuc3RhcnREcmFnRXZlbnQhLnNvdXJjZU5hbWUsXHJcbiAgICAgIHNvdXJjZURhdGE6IHRoaXMuc3RhcnREcmFnRXZlbnQhLmRyYWdnZWREYXRhLFxyXG4gICAgICBzb3VyY2VEYXRhc2V0OiBzb3VyY2VEYXRhc2V0XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGNEYXRhc2V0QWZ0ZXJHcmFiKGdyYWJDdHg6IEdyYWJDb250ZXh0PGFueSwgYW55Pik6IE9ic2VydmFibGU8dW5rbm93bltdPiB7XHJcbiAgICBjb25zdCBtYXBwaW5nID0gdGhpcy5nZXRNYXBwaW5nKHRoaXMuc3RhcnREcmFnRXZlbnQhLnNvdXJjZU5hbWUsIHRoaXMuZHJvcEV2ZW50IS50YXJnZXROYW1lKTtcclxuICAgIHJldHVybiBtYXBwaW5nIS5ncmFiRm4oZ3JhYkN0eCkucGlwZShmaXJzdCgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TWFwcGluZyhzb3VyY2VOYW1lOiBzdHJpbmcsIHRhcmdldE5hbWU6IHN0cmluZyk6IEF1ckRyYWdEcm9wTWFwcGluZzxhbnksIGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwcGluZ01hbmFnZXIuZ2V0KHNvdXJjZU5hbWUsIHRhcmdldE5hbWUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ export class CanDropManager {
2
+ constructor(mappings) {
3
+ //can drop [key from table, value to table name]
4
+ this.canDropStorage = new Map();
5
+ this.fillStorage(mappings);
6
+ }
7
+ fillStorage(mappings) {
8
+ mappings.forEach(m => {
9
+ if (!this.canDropStorage.has(m.sourceName)) {
10
+ this.canDropStorage.set(m.sourceName, new Set());
11
+ }
12
+ this.canDropStorage.get(m.sourceName).add(m.targetName);
13
+ });
14
+ }
15
+ canDrop(sourceName, targetName) {
16
+ if (!sourceName || !targetName) {
17
+ return false;
18
+ }
19
+ return this.canDropStorage.get(sourceName)?.has(targetName) ?? false;
20
+ }
21
+ dropPreventDefault(sourceName, targetName, $event) {
22
+ const canDrop = this.canDrop(sourceName, targetName);
23
+ if (canDrop) {
24
+ $event.preventDefault();
25
+ }
26
+ return canDrop;
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRyb3AtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZHJhZy1kcm9wL2Nhbi1kcm9wLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxRQUF3QztRQUhwRCxnREFBZ0Q7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUd0RCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBd0M7UUFDMUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLENBQUMsVUFBOEIsRUFBRSxVQUE4QjtRQUMzRSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxVQUE4QixFQUFFLFVBQWtCLEVBQUUsTUFBaUI7UUFDN0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdXJEcmFnRHJvcE1hcHBpbmd9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDYW5Ecm9wTWFuYWdlciB7XHJcblxyXG4gIC8vY2FuIGRyb3AgW2tleSBmcm9tIHRhYmxlLCB2YWx1ZSB0byB0YWJsZSBuYW1lXVxyXG4gIHByaXZhdGUgY2FuRHJvcFN0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10pIHtcclxuICAgIHRoaXMuZmlsbFN0b3JhZ2UobWFwcGluZ3MpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxsU3RvcmFnZShtYXBwaW5nczogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PltdKSB7XHJcbiAgICBtYXBwaW5ncy5mb3JFYWNoKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuY2FuRHJvcFN0b3JhZ2UuaGFzKG0uc291cmNlTmFtZSkpIHtcclxuICAgICAgICB0aGlzLmNhbkRyb3BTdG9yYWdlLnNldChtLnNvdXJjZU5hbWUsIG5ldyBTZXQoKSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jYW5Ecm9wU3RvcmFnZS5nZXQobS5zb3VyY2VOYW1lKSEuYWRkKG0udGFyZ2V0TmFtZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5Ecm9wKHNvdXJjZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCwgdGFyZ2V0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXNvdXJjZU5hbWUgfHwgIXRhcmdldE5hbWUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY2FuRHJvcFN0b3JhZ2UuZ2V0KHNvdXJjZU5hbWUpPy5oYXModGFyZ2V0TmFtZSkgPz8gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJvcFByZXZlbnREZWZhdWx0KHNvdXJjZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCwgdGFyZ2V0TmFtZTogc3RyaW5nLCAkZXZlbnQ6IERyYWdFdmVudCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY2FuRHJvcCA9IHRoaXMuY2FuRHJvcChzb3VyY2VOYW1lLCB0YXJnZXROYW1lKTtcclxuICAgIGlmIChjYW5Ecm9wKSB7XHJcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhbkRyb3A7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ export class DragDropMappingManager {
2
+ constructor(mappings) {
3
+ this.mappingsStorage = new Map();
4
+ this.fillStorage(mappings);
5
+ }
6
+ get(sourceName, targetName) {
7
+ const mapping = this.mappingsStorage.get(this.buildKey(sourceName, targetName));
8
+ if (!mapping) {
9
+ throw new Error(`Mapping for ${sourceName} -> ${targetName} was not found`);
10
+ }
11
+ return mapping;
12
+ }
13
+ fillStorage(mappings) {
14
+ mappings.forEach(mapping => this.mappingsStorage.set(this.buildKeyForMapping(mapping), mapping));
15
+ }
16
+ buildKeyForMapping(mapping) {
17
+ return this.buildKey(mapping.sourceName, mapping.targetName);
18
+ }
19
+ buildKey(sourceName, targetName) {
20
+ return `${sourceName}->${targetName}`;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLW1hcHBpbmctbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZHJhZy1kcm9wL2RyYWctZHJvcC1tYXBwaW5nLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFZLFFBQXdDO1FBRm5DLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXdDLENBQUM7UUFHakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFHLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsVUFBVSxPQUFPLFVBQVUsZ0JBQWdCLENBQUMsQ0FBQTtRQUM3RSxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUF3QztRQUMxRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFxQztRQUM5RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLFFBQVEsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ3JELE9BQU8sR0FBRyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdXJEcmFnRHJvcE1hcHBpbmd9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBEcmFnRHJvcE1hcHBpbmdNYW5hZ2VyIHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBtYXBwaW5nc1N0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55Pj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IobWFwcGluZ3M6IEF1ckRyYWdEcm9wTWFwcGluZzxhbnksIGFueT5bXSkge1xyXG4gICAgdGhpcy5maWxsU3RvcmFnZShtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0KHNvdXJjZU5hbWU6IHN0cmluZywgdGFyZ2V0TmFtZTogc3RyaW5nKTogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PiB7XHJcbiAgICBjb25zdCBtYXBwaW5nID0gdGhpcy5tYXBwaW5nc1N0b3JhZ2UuZ2V0KHRoaXMuYnVpbGRLZXkoc291cmNlTmFtZSwgdGFyZ2V0TmFtZSkpO1xyXG4gICAgaWYoIW1hcHBpbmcpe1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hcHBpbmcgZm9yICR7c291cmNlTmFtZX0gLT4gJHt0YXJnZXROYW1lfSB3YXMgbm90IGZvdW5kYClcclxuICAgIH1cclxuICAgIHJldHVybiBtYXBwaW5nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxsU3RvcmFnZShtYXBwaW5nczogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PltdKSB7XHJcbiAgICBtYXBwaW5ncy5mb3JFYWNoKG1hcHBpbmcgPT5cclxuICAgICAgdGhpcy5tYXBwaW5nc1N0b3JhZ2Uuc2V0KHRoaXMuYnVpbGRLZXlGb3JNYXBwaW5nKG1hcHBpbmcpLCBtYXBwaW5nKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkS2V5Rm9yTWFwcGluZyhtYXBwaW5nOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+KTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmJ1aWxkS2V5KG1hcHBpbmcuc291cmNlTmFtZSwgbWFwcGluZy50YXJnZXROYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRLZXkoc291cmNlTmFtZTogc3RyaW5nLCB0YXJnZXROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3NvdXJjZU5hbWV9LT4ke3RhcmdldE5hbWV9YDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,36 @@
1
+ export class DragPreviewManager {
2
+ constructor(viewContainerRef, mappings) {
3
+ this.viewContainerRef = viewContainerRef;
4
+ this.previewStorage = new Map();
5
+ this.fillStorage(mappings);
6
+ }
7
+ fillStorage(mappings) {
8
+ mappings.filter(m => m.preview)
9
+ .forEach(m => {
10
+ this.previewStorage.set(m.sourceName, m.preview);
11
+ });
12
+ }
13
+ showPreview(sourceName, event, draggedData) {
14
+ let previewConstructor = this.previewStorage.get(sourceName);
15
+ if (previewConstructor) {
16
+ // Динамически создаем компонент превью
17
+ this.currentPreviewComponentRef = this.viewContainerRef.createComponent(previewConstructor);
18
+ this.currentPreviewComponentRef.instance.data = draggedData;
19
+ const nativePreview = this.currentPreviewComponentRef.location.nativeElement;
20
+ // Применение необходимых стилей к элементу превью
21
+ nativePreview.style.position = 'absolute';
22
+ nativePreview.style.top = '0';
23
+ nativePreview.style.left = '-9999px'; // Скрыть элемент за пределами экрана
24
+ document.body.appendChild(nativePreview); // Временно добавляем в DOM для отображения
25
+ event.dataTransfer?.setDragImage(nativePreview, 0, 0);
26
+ }
27
+ }
28
+ removePreview() {
29
+ if (this.currentPreviewComponentRef) {
30
+ document.body.removeChild(this.currentPreviewComponentRef.location.nativeElement);
31
+ this.currentPreviewComponentRef.destroy();
32
+ this.currentPreviewComponentRef = undefined;
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1wcmV2aWV3LW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9kcmFnLXByZXZpZXctbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQW9CLGdCQUFrQyxFQUMxQyxRQUF3QztRQURoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSHJDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWtELENBQUM7UUFLMUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQXdDO1FBQzFELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxVQUFrQixFQUFFLEtBQWdCLEVBQUUsV0FBc0I7UUFDN0UsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsdUNBQXVDO1lBQ3ZDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDNUYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO1lBRTVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBRTdFLGtEQUFrRDtZQUNsRCxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDMUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLHFDQUFxQztZQUMzRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLDJDQUEyQztZQUVyRixLQUFLLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxTQUFTLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtBdXJEcmFnRHJvcE1hcHBpbmd9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5pbXBvcnQge0F1ckRyYWdQcmV2aWV3Q29tcG9uZW50fSBmcm9tIFwiLi9tb2RlbC9hdXItZHJhZy1wcmV2aWV3LWNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIERyYWdQcmV2aWV3TWFuYWdlciB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJldmlld1N0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgbmV3ICgpID0+IEF1ckRyYWdQcmV2aWV3Q29tcG9uZW50PGFueT4+KCk7XHJcbiAgcHJpdmF0ZSBjdXJyZW50UHJldmlld0NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEF1ckRyYWdQcmV2aWV3Q29tcG9uZW50PGFueT4+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgICAgICAgbWFwcGluZ3M6IEF1ckRyYWdEcm9wTWFwcGluZzxhbnksIGFueT5bXSkge1xyXG4gICAgdGhpcy5maWxsU3RvcmFnZShtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbGxTdG9yYWdlKG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10pIHtcclxuICAgIG1hcHBpbmdzLmZpbHRlcihtID0+IG0ucHJldmlldylcclxuICAgICAgLmZvckVhY2gobSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcmV2aWV3U3RvcmFnZS5zZXQobS5zb3VyY2VOYW1lLCBtLnByZXZpZXchKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQcmV2aWV3KHNvdXJjZU5hbWU6IHN0cmluZywgZXZlbnQ6IERyYWdFdmVudCwgZHJhZ2dlZERhdGE6IHVua25vd25bXSkge1xyXG4gICAgbGV0IHByZXZpZXdDb25zdHJ1Y3RvciA9IHRoaXMucHJldmlld1N0b3JhZ2UuZ2V0KHNvdXJjZU5hbWUpO1xyXG4gICAgaWYgKHByZXZpZXdDb25zdHJ1Y3Rvcikge1xyXG4gICAgICAvLyDQlNC40L3QsNC80LjRh9C10YHQutC4INGB0L7Qt9C00LDQtdC8INC60L7QvNC/0L7QvdC10L3RgiDQv9GA0LXQstGM0Y5cclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQocHJldmlld0NvbnN0cnVjdG9yKTtcclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhID0gZHJhZ2dlZERhdGE7XHJcblxyXG4gICAgICBjb25zdCBuYXRpdmVQcmV2aWV3ID0gdGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgLy8g0J/RgNC40LzQtdC90LXQvdC40LUg0L3QtdC+0LHRhdC+0LTQuNC80YvRhSDRgdGC0LjQu9C10Lkg0Log0Y3Qu9C10LzQtdC90YLRgyDQv9GA0LXQstGM0Y5cclxuICAgICAgbmF0aXZlUHJldmlldy5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICAgIG5hdGl2ZVByZXZpZXcuc3R5bGUudG9wID0gJzAnO1xyXG4gICAgICBuYXRpdmVQcmV2aWV3LnN0eWxlLmxlZnQgPSAnLTk5OTlweCc7IC8vINCh0LrRgNGL0YLRjCDRjdC70LXQvNC10L3RgiDQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCDRjdC60YDQsNC90LBcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuYXRpdmVQcmV2aWV3KTsgLy8g0JLRgNC10LzQtdC90L3QviDQtNC+0LHQsNCy0LvRj9C10Lwg0LIgRE9NINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPXHJcblxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXI/LnNldERyYWdJbWFnZShuYXRpdmVQcmV2aWV3LCAwLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVQcmV2aWV3KCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvbW9kZWwvYXVyLWRyYWctZHJvcC1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7QXVyRHJhZ1ByZXZpZXdDb21wb25lbnR9IGZyb20gXCIuL2F1ci1kcmFnLXByZXZpZXctY29tcG9uZW50XCI7XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgbWFwcGluZyBjb25maWd1cmF0aW9uIGZvciBkcmFnLWFuZC1kcm9wIGZ1bmN0aW9uYWxpdHlcclxuICogYmV0d2VlbiBjb21wb25lbnRzLiBJdCBkZWZpbmVzIHRoZSBzb3VyY2UgY29tcG9uZW50IChmcm9tIHdoZXJlIGRhdGEgaXMgZ3JhYmJlZClcclxuICogYW5kIHRoZSB0YXJnZXQgY29tcG9uZW50ICh3aGVyZSBkYXRhIGlzIGRyb3BwZWQpLCBhcyB3ZWxsIGFzIHRoZSBmdW5jdGlvbnMgdGhhdCBoYW5kbGVcclxuICogdGhlIGdyYWJiaW5nIGFuZCBkcm9wcGluZyBvZiBkYXRhLlxyXG4gKlxyXG4gKiBAdGVtcGxhdGUgU09VUkNFIC0gVGhlIHR5cGUgb2YgZGF0YSB1c2VkIGJ5IHRoZSBzb3VyY2UgY29tcG9uZW50LlxyXG4gKiBAdGVtcGxhdGUgVEFSR0VUIC0gVGhlIHR5cGUgb2YgZGF0YSB1c2VkIGJ5IHRoZSB0YXJnZXQgY29tcG9uZW50LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnRHJvcE1hcHBpbmc8U09VUkNFLCBUQVJHRVQ+IHtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNvdXJjZSBjb21wb25lbnQgZnJvbSB3aGljaCBkYXRhIGNhbiBiZSBncmFiYmVkLlxyXG4gICAqIFRoaXMgcmVwcmVzZW50cyB0aGUgY29tcG9uZW50IHRoYXQgYWxsb3dzIGEgdXNlciB0byBpbml0aWF0ZSBhIGdyYWIgYWN0aW9uLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNvdXJjZU5hbWU6IHN0cmluZyxcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRhcmdldCBjb21wb25lbnQgd2hlcmUgdGhlIGRhdGEgY2FuIGJlIGRyb3BwZWQuXHJcbiAgICogVGhpcyByZXByZXNlbnRzIHRoZSBjb21wb25lbnQgdGhhdCBhY2NlcHRzIHRoZSBkcm9wIGFjdGlvbi5cclxuICAgKi9cclxuICByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmcsXHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIGNhbGxlZCB0byBoYW5kbGUgZ3JhYmJpbmcgZGF0YSBmcm9tIHRoZSBzb3VyY2UgY29tcG9uZW50LlxyXG4gICAqIEl0IGlzIGludm9rZWQgYWZ0ZXIgYSBkcm9wIGhhcyBvY2N1cnJlZCwgYW5kIGl0IGRlc2NyaWJlcyB3aGF0IHNob3VsZFxyXG4gICAqIGhhcHBlbiB0byB0aGUgZGF0YSBpbiB0aGUgc291cmNlIHRhYmxlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGN0eCAtIFRoZSBncmFiIGNvbnRleHQgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc291cmNlIGFuZCB0YXJnZXQuXHJcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgZGF0YSBlbGVtZW50cyBvZiB0eXBlIFNPVVJDRS5cclxuICAgKi9cclxuICByZWFkb25seSBncmFiRm46IChjdHg6IEdyYWJDb250ZXh0PFNPVVJDRSwgVEFSR0VUPikgPT4gT2JzZXJ2YWJsZTxTT1VSQ0VbXT5cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIHRvIGhhbmRsZSB0aGUgZHJvcCBhY3Rpb24gaW4gdGhlIHRhcmdldCBjb21wb25lbnQuXHJcbiAgICogSXQgaXMgaW52b2tlZCB3aGVuIHRoZSBkcm9wIGV2ZW50IG9jY3VycywgYW5kIGl0IGRlc2NyaWJlcyBob3cgdG8gcHJvY2Vzc1xyXG4gICAqIHRoZSBkYXRhIGludG8gdGhlIHRhcmdldCBjb21wb25lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGRyb3AgY29udGV4dCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb3VyY2UgYW5kIHRhcmdldC5cclxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBkYXRhIGVsZW1lbnRzIG9mIHR5cGUgVEFSR0VULlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRyb3BGbjogKGN0eDogRHJvcENvbnRleHQ8U09VUkNFLCBUQVJHRVQ+KSA9PiBPYnNlcnZhYmxlPEF1ckRyb3BSZXN1bHQ8VEFSR0VUPj4sXHJcblxyXG4gIHJlYWRvbmx5IHByZXZpZXc/OiBuZXcgKCkgPT4gQXVyRHJhZ1ByZXZpZXdDb21wb25lbnQ8U09VUkNFPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXJEcm9wUmVzdWx0PFRBUkdFVD4ge1xyXG4gIGlzVmFsaWQ6IGJvb2xlYW47XHJcbiAgdXBkYXRlZERhdGFzZXQ6IFRBUkdFVFtdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JhYkNvbnRleHQ8U09VUkNFLCBUQVJHRVQ+IHtcclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YTogU09VUkNFW10sXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YXNldDogU09VUkNFW10sXHJcblxyXG4gIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSB0YXJnZXREYXRhOiBUQVJHRVQsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJvcENvbnRleHQ8U09VUkNFLCBUQVJHRVQ+IHtcclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YTogU09VUkNFW10sXHJcblxyXG4gIHJlYWRvbmx5IHRhcmdldERhdGFzZXQ6IFRBUkdFVFtdLFxyXG4gIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSB0YXJnZXREYXRhOiBUQVJHRVQsXHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctcHJldmlldy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9tb2RlbC9hdXItZHJhZy1wcmV2aWV3LWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqINCe0LHRidC40Lkg0LjQvdGC0LXRgNGE0LXQudGBINC00LvRjyDQutC+0LzQv9C+0L3QtdC90YLQvtCyLCDQutC+0YLQvtGA0YvQtSDQuNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8g0LIg0LrQsNGH0LXRgdGC0LLQtSDQv9GA0LXQstGM0Y5cclxuICog0LTQu9GPINC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40Y8g0LTQsNC90L3Ri9GFLiDQrdGC0L4g0L7QsdC10YHQv9C10YfQuNCy0LDQtdGCINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0YHQv9C+0YHQvtCxINC/0LXRgNC10LTQsNGH0LhcclxuICog0LTQsNC90L3Ri9GFINCyINGC0LDQutC40LUg0LrQvtC80L/QvtC90LXQvdGC0YsuXHJcbiAqXHJcbiAqIEB0ZW1wbGF0ZSBEQVRBIC0g0KLQuNC/INC00LDQvdC90YvRhSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQv9C10YDQtdC00LDQvdGLINCyINC60L7QvNC/0L7QvdC10L3RgiDQtNC70Y8g0L/RgNC10LLRjNGOLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnUHJldmlld0NvbXBvbmVudDxEQVRBPiB7XHJcbiAgLyoqXHJcbiAgICog0JTQsNC90L3Ri9C1LCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINC+0YLQvtCx0YDQsNC20LDRgtGM0YHRjyDQsiDQutC+0LzQv9C+0L3QtdC90YLQtSDQv9GA0LXQstGM0Y4uXHJcbiAgICovXHJcbiAgZGF0YTogREFUQVtdO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9tb2RlbC9Db2x1bW5Db25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuL1RhYmxlUm93XCI7XHJcbmltcG9ydCB7QXVyRHJhZ0Ryb3BNYW5hZ2VyfSBmcm9tIFwiLi4vZHJhZy1kcm9wL2F1ci1kcmFnLWRyb3AubWFuYWdlclwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUNvbmZpZzxUPiB7XHJcblxyXG4gIC8qKlxyXG4gICAqINC40LzRjyDRgtCw0LHQu9C40YbRiyDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LIgZHJhZyAmIGRyb3BcclxuICAgKi9cclxuICBuYW1lPzogc3RyaW5nLFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0LrQvtC70L7QvdC+0LpcclxuICAgKi9cclxuICBjb2x1bW5zQ2ZnOiBDb2x1bW5Db25maWc8VD5bXSxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0L/QvtGA0Y/QtNC60L7QstC+0LPQviDQuNC90LTQtdC60YHQsCDRgdGC0YDQvtC60Lgg0LIg0YLQsNCx0LvQuNGG0LVcclxuICAgKi9cclxuICBpbmRleENmZz86IEluZGV4Q29uZmlnLFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRgdGC0YDQvtC60Lgg0L/QvtC40YHQutCwINCyINGC0LDQsdC70LjRhtC1XHJcbiAgICovXHJcbiAgZmlsdGVyQ2ZnPzogRmlsdGVyQ29uZmlnLFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQutC90L7Qv9C+0Log0LTQu9GPINGB0L7QstC10YDRiNC10L3QuNGPINC00LXQudGB0YLQstC40Lkg0YEg0L7QsdGK0LrRgtC+0Lwg0LIg0YHRgtGA0L7QutC1XHJcbiAgICovXHJcbiAgYWN0aW9uQ2ZnPzogQWN0aW9uQ29uZmlnPFQ+LFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YfQtdC60LHQvtC60YHQvtCyXHJcbiAgICovXHJcbiAgc2VsZWN0aW9uQ2ZnPzogU2VsZWN0aW9uQ29uZmlnPFQ+LFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0L/QsNCz0LjQvdCw0YbQuNC4INGC0LDQsdC70LjRhtGLXHJcbiAgICovXHJcbiAgcGFnZWFibGVDZmc/OiBQYWdpbmF0aW9uQ29uZmlnLFxyXG4gIGNsaWNrQ2ZnPzogQ2xpY2tDb25maWcsXHJcbiAgc3RpY2t5Q2ZnPzogU3RpY2t5Q29uZmlnLFxyXG4gIHRhYmxlVmlldz86IFRhYmxlVmlldyxcclxuICB0YWJsZUhlYWRlckJ1dHRvbkNmZz86IFRhYmxlSGVhZGVyQnV0dG9uQ29uZmlnLFxyXG4gIGRyYWdDZmc/OiBEcmFnQ29uZmlnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpY2tDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIFNob3cgcG9pbnRlciBvbiBob3ZlcmVkIHJvd1xyXG4gICAqL1xyXG4gIHBvaW50ZXI/OiBib29sZWFuO1xyXG4gIGhpZ2hsaWdodENsaWNrZWQ/OiBEZWNvclN0eWxlcztcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBmYWxzZVxyXG4gICAqIGZhbHNlINC/0LXRgNCy0L7QtSDQuCDQstGC0L7RgNC+0LUg0L3QsNC20LDRgtC40LUg0LPQtdC90LXRgNC40YDRg9C10YIg0YHQvtCx0YvRgtC40LUg0YEg0Y3RgtC+0Lkg0YHRgtGA0L7QutC+0Lkg0LLRi9C00LXQu9C10L3QuNC1INGB0L4g0YHRgtGA0L7QutC4INC90LUg0YHQvdC40LzQsNC10YLRgdGPXHJcbiAgICpcclxuICAgKiDQtdGB0LvQuCB0cnVlINC/0LXRgNCy0L7QtSDQvdCw0LbQsNGC0LjQtSDQs9C10L3QtdGA0LjRgNGD0LXRgiDRgdC+0LHRi9GC0LjQtSDRgSDRjdGC0L7QuSDRgdGC0YDQvtC60L7QuSwg0LLRgtC+0YDQvtC1INC90LDQttCw0YLQuNC1INCy0LXRgNC90LXRgiB1bmRlZmluZWQsXHJcbiAgICog0L/QtdGA0LLQvtC1INC90LDQttCw0YLQuNC1INCy0YvQtNC10LvRj9C10YIg0YHRgtGA0L7QutGDINCy0YLQvtGA0L7QtSDQvtGC0LzQtdC90Y/QtdGCINCy0YvQtNC10LvQtdC90LjQtVxyXG4gICAqL1xyXG4gIGNhbmNlbGFibGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlY29yU3R5bGVzIHtcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIGJvcmRlcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Db25maWc8VD4ge1xyXG4gIC8qKiBjb2x1bW4gdGl0bGUgdGV4dCAqL1xyXG4gIG5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIGNvbHVtbiBrZXkgaW4gZGF0YSBzb3VyY2UgKi9cclxuICBrZXk6IHN0cmluZztcclxuXHJcbiAgLyoqIHJldHVybiB2YWx1ZSB0byBzYXZlIGluIE1hdFRhYmxlRGF0YVNvdXJjZSAqL1xyXG4gIHZhbHVlQ29udmVydGVyOiAodmFsdWU6IFQpID0+IGFueTtcclxuICBzb3J0PzogU29ydENvbmZpZzxUPjtcclxuICBoZWFkZXJWaWV3PzogQ29sdW1uVmlldzxzdHJpbmc+O1xyXG4gIHZhbHVlVmlldz86IENvbHVtblZpZXc8KHZhbHVlOiBUYWJsZVJvdzxUPikgPT4gc3RyaW5nPjtcclxuICB0b3RhbENvbnZlcnRlcj86ICh2YWx1ZTogVGFibGVSb3c8VD5bXSkgPT4gYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsUm93VmlldyB7XHJcbiAgc3R5bGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvblZpZXc8VD4ge1xyXG4gIC8qKiBpY29uIG5hbWUgKi9cclxuICBuYW1lOiBUO1xyXG5cclxuICAvKiogaWNvbiBjb2xvciBkZWZhdWx0IGJsYWNrICovXHJcbiAgY29sb3I/OiBUO1xyXG5cclxuICAvKiogaWNvbiB0b29sdGlwIGlmIG51bGwgZGlzYWJsZWQgKi9cclxuICB0b29sdGlwPzogVDtcclxuXHJcbiAgcG9zaXRpb24/OiAncmlnaHQnIHwgJ2xlZnQnO1xyXG5cclxuICB3cmFwcGVyPzogSWNvbldyYXBwZXI8VD47XHJcblxyXG4gIC8vINC/0YDQuNC90LjQvNCw0LXRgiDQt9C90LDRh9C10L3QuNGPICdzaG93JyB8ICdub25lJ1xyXG4gIC8vICdzaG93JyDQuNC70Lgg0L3QtSDRg9C60LDQt9Cw0L0gLSAg0L/QvtC60LDQt9Cw0YLRjCDQuNC60L7QvdC60YNcclxuICAvL1xyXG4gIGRpc3BsYXk/OiBUO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25XcmFwcGVyPFQ+IHtcclxuICBjb2xvcjogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbWFnZVZpZXc8VD4ge1xyXG4gIHNyYzogVDtcclxuICB3aWR0aD86IHN0cmluZztcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFZpZXc8VD4ge1xyXG4gIC8qKiBkZWZhdWx0IHRydWUqL1xyXG4gIHNob3c/OiBib29sZWFuO1xyXG4gIC8qKiB0b29sdGlwICovXHJcbiAgdG9vbHRpcD86IFQ7XHJcbiAgY29sb3I/OiBUO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblZpZXc8VD4ge1xyXG5cclxuICAvKiogc2V0dGluZ3MgZm9yIGljb24gaW4gY29sdW1uICovXHJcbiAgaWNvbj86IEljb25WaWV3PFQ+O1xyXG5cclxuICBpbWFnZT86IEltYWdlVmlldzxUPlxyXG5cclxuICB0ZXh0PzogVGV4dFZpZXc8VD47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29ydENvbmZpZzxUPiB7XHJcbiAgZW5hYmxlOiBib29sZWFuO1xyXG4gIHBvc2l0aW9uPzogJ3JpZ2h0JyB8ICdsZWZ0JztcclxuXHJcbiAgLyoqXHJcbiAgICogY29sdW1uIGtleVxyXG4gICAqL1xyXG4gIGN1c3RvbVNvcnQ/OiAoZGF0YTogVGFibGVSb3c8VD4sIGtleTogc3RyaW5nKSA9PiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhDb25maWcge1xyXG4gIGVuYWJsZTogYm9vbGVhbixcclxuXHJcbiAgLyoqINGB0LzQtdGJ0LXQvdC40LUg0LTQu9GPINC/0LXRgNCy0L7Qs9C+INC40L3QtNC10LrRgdCwINC90LDQv9GA0LjQvNC10YAgMSDRh9GC0L7QsdGLINC90YPQvNC10YDQsNGG0LjRjyDQvdCw0YfQsNC70LDRgdGMINGBIDEg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0L7RgiDQvdGD0LvRjyAqL1xyXG4gIG9mZnNldD86IG51bWJlcixcclxuXHJcbiAgaGVhZGVyQ29sdW1uPzogQ29sdW1uVmlldzxzdHJpbmc+XHJcblxyXG4gIC8qKiDQvdCw0LfQstCw0L3QuNC1INC00LvRjyDQutC+0LvQvtC90LrQuCwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gJycqL1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ29uZmlnIHtcclxuICBlbmFibGU6IGJvb2xlYW47XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29uZmlnPFQ+IHtcclxuICBlbmFibGU/OiBib29sZWFuO1xyXG4gIGFjdGlvbnM6IEFjdGlvbjwodmFsdWU6IFQpID0+IHN0cmluZz5bXTtcclxuICBwb3NpdGlvbj86ICdzdGFydCcgfCAnZW5kJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb248VD4ge1xyXG4gIGFjdGlvbjogVDtcclxuICBpY29uOiBJY29uVmlldzxUPjtcclxuICBkaXNwbGF5PzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25Db25maWc8VD4ge1xyXG4gIHBvc2l0aW9uPzogJ3N0YXJ0JyB8ICdlbmQnO1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBzaG93U2VsZWN0ZWRDb3VudD86IGJvb2xlYW47XHJcbiAgY29tcGFyZVdpdGg/OiAobzE6IFQsIG8yOiBUKSA9PiBib29sZWFuXHJcbiAgLy8gZGVmYXVsdDogdHJ1ZSwg0L/QvtC60LDQt9GL0LLQsNGC0YxcclxuICBzaG93VG90YWxDb3VudD86IGJvb2xlYW47XHJcbiAgZW5hYmxlOiBib29sZWFuO1xyXG4gIGFjdGlvbnM/OiBBY3Rpb248c3RyaW5nPltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25Db25maWcge1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBzaXplOiBudW1iZXI7XHJcbiAgc2l6ZXM/OiBudW1iZXJbXTtcclxuICBzdHlsZT86IHN0cmluZztcclxuICBwb3NpdGlvbj86ICd1bmRlcicgfCAnYm90dG9tJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGlja3lDb25maWcge1xyXG4gIGhlYWRlcj86IGJvb2xlYW47XHJcbiAgdG90YWw/OiBib29sZWFuO1xyXG4gIHN1YkZvb3Rlcj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVWaWV3IHtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIG1heEhlaWdodD86IHN0cmluZztcclxuICB0b3RhbFJvd1ZpZXc/OiBUb3RhbFJvd1ZpZXc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVIZWFkZXJCdXR0b25Db25maWcge1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0NvbmZpZyB7XHJcbiAgZW5hYmxlOiBib29sZWFuO1xyXG4gIG1hbmFnZXI6IEF1ckRyYWdEcm9wTWFuYWdlcjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9tb2RlbC9Db2x1bW5Db25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuL1RhYmxlUm93XCI7XHJcbmltcG9ydCB7QXVyRHJhZ0Ryb3BNYW5hZ2VyfSBmcm9tIFwiLi4vZHJhZy1kcm9wL2F1ci1kcmFnLWRyb3AubWFuYWdlclwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUNvbmZpZzxUPiB7XHJcblxyXG4gIC8qKlxyXG4gICAqINC40LzRjyDRgtCw0LHQu9C40YbRiyDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LIgZHJhZyAmIGRyb3BcclxuICAgKi9cclxuICBuYW1lPzogc3RyaW5nLFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0LrQvtC70L7QvdC+0LpcclxuICAgKi9cclxuICBjb2x1bW5zQ2ZnOiBDb2x1bW5Db25maWc8VD5bXSxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0L/QvtGA0Y/QtNC60L7QstC+0LPQviDQuNC90LTQtdC60YHQsCDRgdGC0YDQvtC60Lgg0LIg0YLQsNCx0LvQuNGG0LVcclxuICAgKi9cclxuICBpbmRleENmZz86IEluZGV4Q29uZmlnLFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRgdGC0YDQvtC60Lgg0L/QvtC40YHQutCwINCyINGC0LDQsdC70LjRhtC1XHJcbiAgICovXHJcbiAgZmlsdGVyQ2ZnPzogRmlsdGVyQ29uZmlnLFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQutC90L7Qv9C+0Log0LTQu9GPINGB0L7QstC10YDRiNC10L3QuNGPINC00LXQudGB0YLQstC40Lkg0YEg0L7QsdGK0LrRgtC+0Lwg0LIg0YHRgtGA0L7QutC1XHJcbiAgICovXHJcbiAgYWN0aW9uQ2ZnPzogQWN0aW9uQ29uZmlnPFQ+LFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YfQtdC60LHQvtC60YHQvtCyXHJcbiAgICovXHJcbiAgc2VsZWN0aW9uQ2ZnPzogU2VsZWN0aW9uQ29uZmlnPFQ+LFxyXG5cclxuICAvKipcclxuICAgKiDQndCw0YHRgtGA0L7QudC60LAg0L/QsNCz0LjQvdCw0YbQuNC4INGC0LDQsdC70LjRhtGLXHJcbiAgICovXHJcbiAgcGFnZWFibGVDZmc/OiBQYWdpbmF0aW9uQ29uZmlnLFxyXG4gIGNsaWNrQ2ZnPzogQ2xpY2tDb25maWcsXHJcbiAgc3RpY2t5Q2ZnPzogU3RpY2t5Q29uZmlnLFxyXG4gIHRhYmxlVmlldz86IFRhYmxlVmlldyxcclxuICB0YWJsZUhlYWRlckJ1dHRvbkNmZz86IFRhYmxlSGVhZGVyQnV0dG9uQ29uZmlnLFxyXG4gIGRyYWdDZmc/OiBEcmFnRHJvcENvbmZpZyxcclxuICB0b3RhbFJvd0NmZz86IFRvdGFsUm93Q29uZmlnXHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaWNrQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBTaG93IHBvaW50ZXIgb24gaG92ZXJlZCByb3dcclxuICAgKi9cclxuICBwb2ludGVyPzogYm9vbGVhbjtcclxuICBoaWdobGlnaHRDbGlja2VkPzogRGVjb3JTdHlsZXM7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgZmFsc2VcclxuICAgKiBmYWxzZSDQv9C10YDQstC+0LUg0Lgg0LLRgtC+0YDQvtC1INC90LDQttCw0YLQuNC1INCz0LXQvdC10YDQuNGA0YPQtdGCINGB0L7QsdGL0YLQuNC1INGBINGN0YLQvtC5INGB0YLRgNC+0LrQvtC5INCy0YvQtNC10LvQtdC90LjQtSDRgdC+INGB0YLRgNC+0LrQuCDQvdC1INGB0L3QuNC80LDQtdGC0YHRj1xyXG4gICAqXHJcbiAgICog0LXRgdC70LggdHJ1ZSDQv9C10YDQstC+0LUg0L3QsNC20LDRgtC40LUg0LPQtdC90LXRgNC40YDRg9C10YIg0YHQvtCx0YvRgtC40LUg0YEg0Y3RgtC+0Lkg0YHRgtGA0L7QutC+0LksINCy0YLQvtGA0L7QtSDQvdCw0LbQsNGC0LjQtSDQstC10YDQvdC10YIgdW5kZWZpbmVkLFxyXG4gICAqINC/0LXRgNCy0L7QtSDQvdCw0LbQsNGC0LjQtSDQstGL0LTQtdC70Y/QtdGCINGB0YLRgNC+0LrRgyDQstGC0L7RgNC+0LUg0L7RgtC80LXQvdGP0LXRgiDQstGL0LTQtdC70LXQvdC40LVcclxuICAgKi9cclxuICBjYW5jZWxhYmxlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZWNvclN0eWxlcyB7XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgYmFja2dyb3VuZD86IHN0cmluZztcclxuICBib3JkZXI/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uQ29uZmlnPFQ+IHtcclxuICAvKiogY29sdW1uIHRpdGxlIHRleHQgKi9cclxuICBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBjb2x1bW4ga2V5IGluIGRhdGEgc291cmNlICovXHJcbiAga2V5OiBzdHJpbmc7XHJcblxyXG4gIC8qKiByZXR1cm4gdmFsdWUgdG8gc2F2ZSBpbiBNYXRUYWJsZURhdGFTb3VyY2UgKi9cclxuICB2YWx1ZUNvbnZlcnRlcjogKHZhbHVlOiBUKSA9PiBhbnk7XHJcbiAgc29ydD86IFNvcnRDb25maWc8VD47XHJcbiAgaGVhZGVyVmlldz86IENvbHVtblZpZXc8c3RyaW5nPjtcclxuICB2YWx1ZVZpZXc/OiBDb2x1bW5WaWV3PCh2YWx1ZTogVGFibGVSb3c8VD4pID0+IHN0cmluZz47XHJcbiAgdG90YWxDb252ZXJ0ZXI/OiAodmFsdWU6IFRhYmxlUm93PFQ+W10pID0+IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUb3RhbFJvd1ZpZXcge1xyXG4gIHN0eWxlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25WaWV3PFQ+IHtcclxuICAvKiogaWNvbiBuYW1lICovXHJcbiAgbmFtZTogVDtcclxuXHJcbiAgLyoqIGljb24gY29sb3IgZGVmYXVsdCBibGFjayAqL1xyXG4gIGNvbG9yPzogVDtcclxuXHJcbiAgLyoqIGljb24gdG9vbHRpcCBpZiBudWxsIGRpc2FibGVkICovXHJcbiAgdG9vbHRpcD86IFQ7XHJcblxyXG4gIHBvc2l0aW9uPzogJ3JpZ2h0JyB8ICdsZWZ0JztcclxuXHJcbiAgd3JhcHBlcj86IEljb25XcmFwcGVyPFQ+O1xyXG5cclxuICAvLyDQv9GA0LjQvdC40LzQsNC10YIg0LfQvdCw0YfQtdC90LjRjyAnc2hvdycgfCAnbm9uZSdcclxuICAvLyAnc2hvdycg0LjQu9C4INC90LUg0YPQutCw0LfQsNC9IC0gINC/0L7QutCw0LfQsNGC0Ywg0LjQutC+0L3QutGDXHJcbiAgLy9cclxuICBkaXNwbGF5PzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uV3JhcHBlcjxUPiB7XHJcbiAgY29sb3I6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VWaWV3PFQ+IHtcclxuICBzcmM6IFQ7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRWaWV3PFQ+IHtcclxuICAvKiogZGVmYXVsdCB0cnVlKi9cclxuICBzaG93PzogYm9vbGVhbjtcclxuICAvKiogdG9vbHRpcCAqL1xyXG4gIHRvb2x0aXA/OiBUO1xyXG4gIGNvbG9yPzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5WaWV3PFQ+IHtcclxuXHJcbiAgLyoqIHNldHRpbmdzIGZvciBpY29uIGluIGNvbHVtbiAqL1xyXG4gIGljb24/OiBJY29uVmlldzxUPjtcclxuXHJcbiAgaW1hZ2U/OiBJbWFnZVZpZXc8VD5cclxuXHJcbiAgdGV4dD86IFRleHRWaWV3PFQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRDb25maWc8VD4ge1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBwb3NpdGlvbj86ICdyaWdodCcgfCAnbGVmdCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbHVtbiBrZXlcclxuICAgKi9cclxuICBjdXN0b21Tb3J0PzogKGRhdGE6IFRhYmxlUm93PFQ+LCBrZXk6IHN0cmluZykgPT4gYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEluZGV4Q29uZmlnIHtcclxuICBlbmFibGU6IGJvb2xlYW4sXHJcblxyXG4gIC8qKiDRgdC80LXRidC10L3QuNC1INC00LvRjyDQv9C10YDQstC+0LPQviDQuNC90LTQtdC60YHQsCDQvdCw0L/RgNC40LzQtdGAIDEg0YfRgtC+0LHRiyDQvdGD0LzQtdGA0LDRhtC40Y8g0L3QsNGH0LDQu9Cw0YHRjCDRgSAxINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC+0YIg0L3Rg9C70Y8gKi9cclxuICBvZmZzZXQ/OiBudW1iZXIsXHJcblxyXG4gIGhlYWRlckNvbHVtbj86IENvbHVtblZpZXc8c3RyaW5nPlxyXG5cclxuICAvKiog0L3QsNC30LLQsNC90LjQtSDQtNC70Y8g0LrQvtC70L7QvdC60LgsINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOICcnKi9cclxuICBuYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZyB7XHJcbiAgZW5hYmxlOiBib29sZWFuO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbmZpZzxUPiB7XHJcbiAgZW5hYmxlPzogYm9vbGVhbjtcclxuICBhY3Rpb25zOiBBY3Rpb248KHZhbHVlOiBUKSA9PiBzdHJpbmc+W107XHJcbiAgcG9zaXRpb24/OiAnc3RhcnQnIHwgJ2VuZCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uPFQ+IHtcclxuICBhY3Rpb246IFQ7XHJcbiAgaWNvbjogSWNvblZpZXc8VD47XHJcbiAgZGlzcGxheT86IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uQ29uZmlnPFQ+IHtcclxuICBwb3NpdGlvbj86ICdzdGFydCcgfCAnZW5kJztcclxuICBtdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgc2hvd1NlbGVjdGVkQ291bnQ/OiBib29sZWFuO1xyXG4gIGNvbXBhcmVXaXRoPzogKG8xOiBULCBvMjogVCkgPT4gYm9vbGVhblxyXG4gIC8vIGRlZmF1bHQ6IHRydWUsINC/0L7QutCw0LfRi9Cy0LDRgtGMXHJcbiAgc2hvd1RvdGFsQ291bnQ/OiBib29sZWFuO1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBhY3Rpb25zPzogQWN0aW9uPHN0cmluZz5bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uQ29uZmlnIHtcclxuICBlbmFibGU6IGJvb2xlYW47XHJcbiAgc2l6ZTogbnVtYmVyO1xyXG4gIHNpemVzPzogbnVtYmVyW107XHJcbiAgc3R5bGU/OiBzdHJpbmc7XHJcbiAgcG9zaXRpb24/OiAndW5kZXInIHwgJ2JvdHRvbSc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RpY2t5Q29uZmlnIHtcclxuICBoZWFkZXI/OiBib29sZWFuO1xyXG4gIHRvdGFsPzogYm9vbGVhbjtcclxuICBzdWJGb290ZXI/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlVmlldyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIG1pbkhlaWdodD86IHN0cmluZztcclxuICBtYXhIZWlnaHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVIZWFkZXJCdXR0b25Db25maWcge1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0Ryb3BDb25maWcge1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBtYW5hZ2VyOiBBdXJEcmFnRHJvcE1hbmFnZXI7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGRyYWdJY29uPzogSWNvblZpZXc8c3RyaW5nPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUb3RhbFJvd0NvbmZpZyB7XHJcbiAgZW5hYmxlOiBib29sZWFuLFxyXG4gIHRvdGFsUm93Vmlldz86IFRvdGFsUm93Vmlld1xyXG59XHJcbiJdfQ==