ngx-aur-mat-table 17.2.2-2 → 17.2.2-20

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 (28) hide show
  1. package/esm2022/lib/drag-drop/aur-drag-drop-component.mjs +1 -1
  2. package/esm2022/lib/drag-drop/aur-drag-drop.manager.mjs +102 -51
  3. package/esm2022/lib/drag-drop/can-drop-manager.mjs +29 -0
  4. package/esm2022/lib/drag-drop/drag-drop-mapping-manager.mjs +29 -0
  5. package/esm2022/lib/drag-drop/drag-preview-manager.mjs +39 -0
  6. package/esm2022/lib/drag-drop/model/aur-drag-drop-mapping.mjs +2 -0
  7. package/esm2022/lib/drag-drop/model/aur-drag-preview-component.mjs +2 -0
  8. package/esm2022/lib/model/ColumnConfig.mjs +1 -1
  9. package/esm2022/lib/ngx-aur-mat-table.component.mjs +21 -14
  10. package/esm2022/lib/providers/DragDropProvider.mjs +11 -7
  11. package/esm2022/lib/providers/SelectionProvider.mjs +4 -1
  12. package/esm2022/lib/providers/TotalRowProvider.mjs +4 -3
  13. package/esm2022/public-api.mjs +4 -2
  14. package/fesm2022/ngx-aur-mat-table.mjs +223 -63
  15. package/fesm2022/ngx-aur-mat-table.mjs.map +1 -1
  16. package/lib/drag-drop/aur-drag-drop-component.d.ts +1 -1
  17. package/lib/drag-drop/aur-drag-drop.manager.d.ts +59 -56
  18. package/lib/drag-drop/can-drop-manager.d.ts +8 -0
  19. package/lib/drag-drop/drag-drop-mapping-manager.d.ts +9 -0
  20. package/lib/drag-drop/drag-preview-manager.d.ts +11 -0
  21. package/lib/drag-drop/model/aur-drag-drop-mapping.d.ts +62 -0
  22. package/lib/drag-drop/model/aur-drag-preview-component.d.ts +13 -0
  23. package/lib/model/ColumnConfig.d.ts +6 -1
  24. package/lib/ngx-aur-mat-table.component.d.ts +5 -3
  25. package/lib/providers/DragDropProvider.d.ts +9 -7
  26. package/lib/providers/SelectionProvider.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/public-api.d.ts +3 -1
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9hdXItZHJhZy1kcm9wLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnRHJvcENvbXBvbmVudDxUPiB7XHJcblxyXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBkYXRhOiBUKTogdm9pZDtcclxuXHJcbiAgb25EcmFnT3ZlcigkZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJvcCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9hdXItZHJhZy1kcm9wLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnRHJvcENvbXBvbmVudDxUPiB7XHJcblxyXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBkYXRhOiBUKTogdm9pZDtcclxuXHJcbiAgb25EcmFnT3ZlcigkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJvcCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcblxyXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IERyYWdFdmVudCwgZGF0YTogVCk6IHZvaWQ7XHJcbn1cclxuIl19
@@ -1,62 +1,113 @@
1
+ import { finalize, first, tap, } 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
+ * Manages the drag-and-drop process, including start, drop, and end events.
7
+ * Handles drag previews, drop validation, and dataset updates after a successful drop.
8
+ */
1
9
  export class AurDragDropManager {
2
- constructor(mappings) {
10
+ /**
11
+ * Creates an empty instance of AurDragDropManager.
12
+ * @returns {AurDragDropManager} - An empty manager with no initialized references.
13
+ */
14
+ static empty() {
15
+ return new AurDragDropManager(undefined, [], []);
16
+ }
17
+ constructor(viewContainerRef, mappings, previewMappings) {
3
18
  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 };
19
+ this.previewMappings = previewMappings;
20
+ this.canDropManager = new CanDropManager(mappings);
21
+ this.previewManager = new DragPreviewManager(viewContainerRef, this.previewMappings);
22
+ this.mappingManager = new DragDropMappingManager(mappings);
23
+ }
24
+ /**
25
+ * Returns the list of all available draggable source names.
26
+ * @returns {string[]} - Array of source names.
27
+ */
28
+ get draggableSourceNames() {
29
+ return this.mappings?.map(mapping => mapping.sourceName) || [];
30
+ }
31
+ /**
32
+ * Initiates a drag operation, saving the context and showing a drag preview.
33
+ * @param {string} sourceName - The name of the drag source.
34
+ * @param {unknown[]} draggedData - The data being dragged.
35
+ * @param {DragEvent} event - The drag event.
36
+ * @throws Error if a drag is already in progress.
37
+ */
38
+ startDrag(sourceName, draggedData, event) {
39
+ if (this.startDragEvent) {
40
+ throw new Error('Start new drag before complete current');
41
+ }
42
+ this.startDragEvent = { sourceName, draggedData };
43
+ this.previewManager.showPreview(sourceName, event, draggedData);
44
+ }
45
+ /**
46
+ * Validates whether a drop is allowed on the target element by calling preventDefault.
47
+ * @param {string} targetName - The name of the target element.
48
+ * @param {DragEvent} event - The drag event.
49
+ */
50
+ canDropPreventDefault(targetName, event) {
51
+ if (!this.startDragEvent) {
52
+ // перетаскивание не начато
53
+ return;
54
+ }
55
+ this.canDropManager.dropPreventDefault(this.startDragEvent.sourceName, targetName, event);
15
56
  }
57
+ /**
58
+ * Executes the drop operation on the specified target.
59
+ * @param {unknown[]} targetDataset - The dataset of the target element.
60
+ * @param {string} targetName - The name of the target element.
61
+ * @param {any} targetData - The data for the target element.
62
+ */
63
+ drop(targetDataset, targetName, targetData) {
64
+ const mapping = this.getMapping(this.startDragEvent.sourceName, targetName);
65
+ const dropContext = this.buildDropContext(targetName, targetData, targetDataset);
66
+ const dropResult = mapping.dropFn(dropContext).pipe(first());
67
+ this.dropEvent = { targetName, targetData, dropResult };
68
+ }
69
+ /**
70
+ * Ends the drag operation and updates the dataset if the drop was successful.
71
+ * @param {unknown[]} sourceDataset - The dataset of the source element.
72
+ */
16
73
  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();
74
+ this.previewManager.removePreview();
75
+ if (!this.dropEvent || !this.startDragEvent) {
76
+ return;
35
77
  }
78
+ this.dropEvent.dropResult
79
+ .pipe(tap(() => {
80
+ const grabContext = this.buildGrabContext(sourceDataset);
81
+ this.calcDatasetAfterGrab(grabContext);
82
+ }), finalize(() => {
83
+ this.dropEvent = undefined;
84
+ this.startDragEvent = undefined;
85
+ })).subscribe();
36
86
  }
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
87
+ buildDropContext(targetName, targetData, targetDataSet) {
88
+ return {
89
+ targetName,
90
+ targetData,
91
+ targetDataset: targetDataSet,
92
+ sourceName: this.startDragEvent.sourceName,
93
+ sourceData: this.startDragEvent.draggedData,
52
94
  };
53
- return mappedData;
54
95
  }
55
- get draggableTableNames() {
56
- return this.mappings?.map(mapping => mapping.sourceName) || [];
96
+ buildGrabContext(sourceDataset) {
97
+ return {
98
+ targetName: this.dropEvent.targetName,
99
+ targetData: this.dropEvent.targetData,
100
+ sourceName: this.startDragEvent.sourceName,
101
+ sourceData: this.startDragEvent.draggedData,
102
+ sourceDataset: sourceDataset
103
+ };
57
104
  }
58
- static empty() {
59
- return new AurDragDropManager([]);
105
+ calcDatasetAfterGrab(grabCtx) {
106
+ const mapping = this.getMapping(this.startDragEvent.sourceName, this.dropEvent.targetName);
107
+ mapping.grabFn(grabCtx);
108
+ }
109
+ getMapping(sourceName, targetName) {
110
+ return this.mappingManager.get(sourceName, targetName);
60
111
  }
61
112
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvYXVyLWRyYWctZHJvcC5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1FQSxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQW9CLFFBQXdDO1FBQXhDLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBSDVELGdEQUFnRDtRQUN4QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO1FBR3RELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCLEVBQUUsSUFBUztRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxhQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFXLENBQUMsSUFBSTtZQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJO1lBQ2pDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBYSxDQUFDLElBQUk7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFhLENBQUMsSUFBSTtZQUNuQyxhQUFhLEVBQUUsYUFBYTtTQUM3QixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQThCO1FBQzVDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xILElBQUksVUFBVSxHQUFHLE9BQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQixFQUFFLE1BQWlCO1FBQzFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDOUUsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQW9CLEVBQUUsVUFBa0IsRUFBRSxVQUFlO1FBQzlELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQWEsQ0FBQyxJQUFJO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBYSxDQUFDLElBQUk7WUFDbkMsVUFBVSxFQUFFLFVBQVU7WUFDdEIsVUFBVSxFQUFFLFVBQVU7WUFDdEIsYUFBYSxFQUFFLGFBQWE7U0FDN0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUE4QjtRQUMzQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsSCxJQUFJLFVBQVUsR0FBRyxPQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVTtTQUN6QixDQUFBO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSztRQUNqQixPQUFPLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIG1hcHBpbmcgY29uZmlndXJhdGlvbiBmb3IgZHJhZy1hbmQtZHJvcCBmdW5jdGlvbmFsaXR5XHJcbiAqIGJldHdlZW4gY29tcG9uZW50cy4gSXQgZGVmaW5lcyB0aGUgc291cmNlIGNvbXBvbmVudCAoZnJvbSB3aGVyZSBkYXRhIGlzIGdyYWJiZWQpXHJcbiAqIGFuZCB0aGUgdGFyZ2V0IGNvbXBvbmVudCAod2hlcmUgZGF0YSBpcyBkcm9wcGVkKSwgYXMgd2VsbCBhcyB0aGUgZnVuY3Rpb25zIHRoYXQgaGFuZGxlXHJcbiAqIHRoZSBncmFiYmluZyBhbmQgZHJvcHBpbmcgb2YgZGF0YS5cclxuICpcclxuICogQHRlbXBsYXRlIFNPVVJDRSAtIFRoZSB0eXBlIG9mIGRhdGEgdXNlZCBieSB0aGUgc291cmNlIGNvbXBvbmVudC5cclxuICogQHRlbXBsYXRlIFRBUkdFVCAtIFRoZSB0eXBlIG9mIGRhdGEgdXNlZCBieSB0aGUgdGFyZ2V0IGNvbXBvbmVudC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXVyRHJhZ0Ryb3BNYXBwaW5nPFNPVVJDRSwgVEFSR0VUPiB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzb3VyY2UgY29tcG9uZW50IGZyb20gd2hpY2ggZGF0YSBjYW4gYmUgZ3JhYmJlZC5cclxuICAgKiBUaGlzIHJlcHJlc2VudHMgdGhlIGNvbXBvbmVudCB0aGF0IGFsbG93cyBhIHVzZXIgdG8gaW5pdGlhdGUgYSBncmFiIGFjdGlvbi5cclxuICAgKi9cclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgY29tcG9uZW50IHdoZXJlIHRoZSBkYXRhIGNhbiBiZSBkcm9wcGVkLlxyXG4gICAqIFRoaXMgcmVwcmVzZW50cyB0aGUgY29tcG9uZW50IHRoYXQgYWNjZXB0cyB0aGUgZHJvcCBhY3Rpb24uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nLFxyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiBjYWxsZWQgdG8gaGFuZGxlIGdyYWJiaW5nIGRhdGEgZnJvbSB0aGUgc291cmNlIGNvbXBvbmVudC5cclxuICAgKiBJdCBpcyBpbnZva2VkIGFmdGVyIGEgZHJvcCBoYXMgb2NjdXJyZWQsIGFuZCBpdCBkZXNjcmliZXMgd2hhdCBzaG91bGRcclxuICAgKiBoYXBwZW4gdG8gdGhlIGRhdGEgaW4gdGhlIHNvdXJjZSB0YWJsZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgZ3JhYiBjb250ZXh0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNvdXJjZSBhbmQgdGFyZ2V0LlxyXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGRhdGEgZWxlbWVudHMgb2YgdHlwZSBTT1VSQ0UuXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZ3JhYkZuOiAoY3R4OiBncmFiQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4pID0+IFNPVVJDRVtdXHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIGNhbGxlZCB0byBoYW5kbGUgdGhlIGRyb3AgYWN0aW9uIGluIHRoZSB0YXJnZXQgY29tcG9uZW50LlxyXG4gICAqIEl0IGlzIGludm9rZWQgd2hlbiB0aGUgZHJvcCBldmVudCBvY2N1cnMsIGFuZCBpdCBkZXNjcmliZXMgaG93IHRvIHByb2Nlc3NcclxuICAgKiB0aGUgZGF0YSBpbnRvIHRoZSB0YXJnZXQgY29tcG9uZW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGN0eCAtIFRoZSBkcm9wIGNvbnRleHQgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc291cmNlIGFuZCB0YXJnZXQuXHJcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgZGF0YSBlbGVtZW50cyBvZiB0eXBlIFRBUkdFVC5cclxuICAgKi9cclxuICByZWFkb25seSBkcm9wRm46IChjdHg6IERyb3BDb250ZXh0PFNPVVJDRSwgVEFSR0VUPikgPT4gVEFSR0VUW11cclxufVxyXG5cclxuaW50ZXJmYWNlIERyYWdTdGFydENvbnRleHQge1xyXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSBkYXRhOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBncmFiQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4ge1xyXG4gIHJlYWRvbmx5IHNvdXJjZU5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSBzb3VyY2VEYXRhOiBTT1VSQ0UsXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YXNldDogU09VUkNFW10sXHJcblxyXG4gIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSB0YXJnZXREYXRhOiBUQVJHRVQsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJvcENvbnRleHQ8U09VUkNFLCBUQVJHRVQ+IHtcclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YTogU09VUkNFLFxyXG5cclxuICByZWFkb25seSB0YXJnZXREYXRhc2V0OiBUQVJHRVRbXSxcclxuICByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgdGFyZ2V0RGF0YTogVEFSR0VULFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQXVyRHJhZ0Ryb3BNYW5hZ2VyIHtcclxuXHJcbiAgcHJpdmF0ZSBkcmFnU3RhcnRDdHg6IERyYWdTdGFydENvbnRleHQgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBkcmFnRW5kQ3R4OiBEcmFnU3RhcnRDb250ZXh0IHwgdW5kZWZpbmVkO1xyXG5cclxuICAvL2NhbiBkcm9wIFtrZXkgZnJvbSB0YWJsZSwgdmFsdWUgdG8gdGFibGUgbmFtZV1cclxuICBwcml2YXRlIGNhbkRyb3BTdG9yYWdlID0gbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10pIHtcclxuICAgIHRoaXMubWFwcGluZ3MuZm9yRWFjaChtID0+IHtcclxuICAgICAgdGhpcy5jYW5Ecm9wU3RvcmFnZS5zZXQobS5zb3VyY2VOYW1lLCBuZXcgU2V0KCkpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1hcHBpbmdzLmZvckVhY2gobSA9PiB7XHJcbiAgICAgIHRoaXMuY2FuRHJvcFN0b3JhZ2UuZ2V0KG0uc291cmNlTmFtZSkhLmFkZChtLnRhcmdldE5hbWUpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHN0YXJ0RHJhZyh0YXJnZXROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5kcmFnU3RhcnRDdHggPSB7bmFtZTogdGFyZ2V0TmFtZSwgZGF0YTogZGF0YX1cclxuICB9XHJcblxyXG4gIGVuZERyYWcoc291cmNlRGF0YXNldDogYW55W10pOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5lbmREcmFnSW50ZXJuYWwoe1xyXG4gICAgICB0YXJnZXREYXRhOiB0aGlzLmRyYWdFbmRDdHghLmRhdGEsXHJcbiAgICAgIHRhcmdldE5hbWU6IHRoaXMuZHJhZ0VuZEN0eCEubmFtZSxcclxuICAgICAgc291cmNlRGF0YTogdGhpcy5kcmFnU3RhcnRDdHghLmRhdGEsXHJcbiAgICAgIHNvdXJjZU5hbWU6IHRoaXMuZHJhZ1N0YXJ0Q3R4IS5uYW1lLFxyXG4gICAgICBzb3VyY2VEYXRhc2V0OiBzb3VyY2VEYXRhc2V0XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZW5kRHJhZ0ludGVybmFsKGdyYWJDdHg6IGdyYWJDb250ZXh0PGFueSwgYW55Pik6IGFueVtdIHtcclxuICAgIGxldCBtYXBwaW5nID0gdGhpcy5tYXBwaW5ncy5maW5kKG0gPT4gbS5zb3VyY2VOYW1lID09PSBncmFiQ3R4LnNvdXJjZU5hbWUgJiYgbS50YXJnZXROYW1lID09PSBncmFiQ3R4LnRhcmdldE5hbWUpO1xyXG4gICAgbGV0IG1hcHBlZERhdGEgPSBtYXBwaW5nIS5ncmFiRm4oZ3JhYkN0eCk7XHJcbiAgICB0aGlzLmRyYWdTdGFydEN0eCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZHJhZ0VuZEN0eCA9IHVuZGVmaW5lZDtcclxuICAgIHJldHVybiBtYXBwZWREYXRhO1xyXG4gIH1cclxuXHJcbiAgY2FuRHJvcCh0YWJsZU5hbWU6IHN0cmluZywgJGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmNhbkRyb3BTdG9yYWdlLmdldCh0aGlzLmRyYWdTdGFydEN0eCEubmFtZSk/Lmhhcyh0YWJsZU5hbWUpID8/IGZhbHNlKSB7XHJcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ecm9wKHRhcmdldERhdGFzZXQ6IGFueVtdLCB0YXJnZXROYW1lOiBzdHJpbmcsIHRhcmdldERhdGE6IGFueSk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLm9uRHJvcEludGVybmFsKHtcclxuICAgICAgc291cmNlTmFtZTogdGhpcy5kcmFnU3RhcnRDdHghLm5hbWUsXHJcbiAgICAgIHNvdXJjZURhdGE6IHRoaXMuZHJhZ1N0YXJ0Q3R4IS5kYXRhLFxyXG4gICAgICB0YXJnZXROYW1lOiB0YXJnZXROYW1lLFxyXG4gICAgICB0YXJnZXREYXRhOiB0YXJnZXREYXRhLFxyXG4gICAgICB0YXJnZXREYXRhc2V0OiB0YXJnZXREYXRhc2V0XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25Ecm9wSW50ZXJuYWwoZHJvcEN0eDogRHJvcENvbnRleHQ8YW55LCBhbnk+KTogYW55W10ge1xyXG4gICAgbGV0IG1hcHBpbmcgPSB0aGlzLm1hcHBpbmdzLmZpbmQobSA9PiBtLnNvdXJjZU5hbWUgPT09IGRyb3BDdHguc291cmNlTmFtZSAmJiBtLnRhcmdldE5hbWUgPT09IGRyb3BDdHgudGFyZ2V0TmFtZSk7XHJcbiAgICBsZXQgbWFwcGVkRGF0YSA9IG1hcHBpbmchLmRyb3BGbihkcm9wQ3R4KTtcclxuICAgIHRoaXMuZHJhZ0VuZEN0eCA9IHtcclxuICAgICAgbmFtZTogZHJvcEN0eC50YXJnZXROYW1lLFxyXG4gICAgICBkYXRhOiBkcm9wQ3R4LnRhcmdldERhdGFcclxuICAgIH1cclxuICAgIHJldHVybiBtYXBwZWREYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRyYWdnYWJsZVRhYmxlTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwcGluZ3M/Lm1hcChtYXBwaW5nID0+IG1hcHBpbmcuc291cmNlTmFtZSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVtcHR5KCk6IEF1ckRyYWdEcm9wTWFuYWdlciB7XHJcbiAgICByZXR1cm4gbmV3IEF1ckRyYWdEcm9wTWFuYWdlcihbXSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvYXVyLWRyYWctZHJvcC5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFjLEdBQUcsR0FBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFxQm5FOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUEwQjdCOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxTQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxZQUFZLGdCQUFrQyxFQUMxQixRQUF3QyxFQUN4QyxlQUE4QztRQUQ5QyxhQUFRLEdBQVIsUUFBUSxDQUFnQztRQUN4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBK0I7UUFDaEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxVQUFrQixFQUFFLFdBQXNCLEVBQUUsS0FBZ0I7UUFDM0UsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO1FBQzNELENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxxQkFBcUIsQ0FBQyxVQUFrQixFQUFFLEtBQWdCO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsMkJBQTJCO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksSUFBSSxDQUFDLGFBQXdCLEVBQUUsVUFBa0IsRUFBRSxVQUFlO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDaEYsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLGFBQXdCO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7YUFDdEIsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3hDLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLFVBQWUsRUFBRSxhQUF3QjtRQUNwRixPQUFPO1lBQ0wsVUFBVTtZQUNWLFVBQVU7WUFDVixhQUFhLEVBQUUsYUFBYTtZQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWUsQ0FBQyxVQUFVO1lBQzNDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBZSxDQUFDLFdBQVc7U0FDN0MsQ0FBQTtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxhQUF3QjtRQUMvQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFVLENBQUMsVUFBVTtZQUN0QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVUsQ0FBQyxVQUFVO1lBQ3RDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBZSxDQUFDLFVBQVU7WUFDM0MsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFlLENBQUMsV0FBVztZQUM1QyxhQUFhLEVBQUUsYUFBYTtTQUM3QixDQUFBO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQThCO1FBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RixPQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyxVQUFVLENBQUMsVUFBa0IsRUFBRSxVQUFrQjtRQUN2RCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZpbmFsaXplLCBmaXJzdCwgT2JzZXJ2YWJsZSwgdGFwLH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtDYW5Ecm9wTWFuYWdlcn0gZnJvbSBcIi4vY2FuLWRyb3AtbWFuYWdlclwiO1xyXG5pbXBvcnQge1ZpZXdDb250YWluZXJSZWZ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RHJhZ1ByZXZpZXdNYW5hZ2VyfSBmcm9tIFwiLi9kcmFnLXByZXZpZXctbWFuYWdlclwiO1xyXG5pbXBvcnQge0RyYWdEcm9wTWFwcGluZ01hbmFnZXJ9IGZyb20gXCIuL2RyYWctZHJvcC1tYXBwaW5nLW1hbmFnZXJcIjtcclxuaW1wb3J0IHtcclxuICBBdXJEcmFnRHJvcE1hcHBpbmcsXHJcbiAgQXVyRHJhZ1ByZXZpZXdNYXBwaW5ncyxcclxuICBBdXJEcm9wUmVzdWx0LFxyXG4gIERyb3BDb250ZXh0LFxyXG4gIEdyYWJDb250ZXh0XHJcbn0gZnJvbSBcIi4vbW9kZWwvYXVyLWRyYWctZHJvcC1tYXBwaW5nXCI7XHJcblxyXG5cclxuaW50ZXJmYWNlIFN0YXJ0RHJhZ0V2ZW50IHtcclxuICBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcbiAgZHJhZ2dlZERhdGE6IHVua25vd25bXSxcclxufVxyXG5cclxuaW50ZXJmYWNlIERyb3BFdmVudCB7XHJcbiAgdGFyZ2V0TmFtZTogc3RyaW5nLFxyXG4gIHRhcmdldERhdGE6IHVua25vd24sXHJcbiAgZHJvcFJlc3VsdDogT2JzZXJ2YWJsZTxBdXJEcm9wUmVzdWx0PlxyXG59XHJcblxyXG4vKipcclxuICogTWFuYWdlcyB0aGUgZHJhZy1hbmQtZHJvcCBwcm9jZXNzLCBpbmNsdWRpbmcgc3RhcnQsIGRyb3AsIGFuZCBlbmQgZXZlbnRzLlxyXG4gKiBIYW5kbGVzIGRyYWcgcHJldmlld3MsIGRyb3AgdmFsaWRhdGlvbiwgYW5kIGRhdGFzZXQgdXBkYXRlcyBhZnRlciBhIHN1Y2Nlc3NmdWwgZHJvcC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBBdXJEcmFnRHJvcE1hbmFnZXIge1xyXG4gIC8qKlxyXG4gICAqICBNYW5hZ2VzIGRyb3AgdmFsaWRhdGlvbiBsb2dpY1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FuRHJvcE1hbmFnZXI6IENhbkRyb3BNYW5hZ2VyO1xyXG5cclxuICAvKipcclxuICAgKiBNYW5hZ2VzIGRyYWcgcHJldmlldyByZW5kZXJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHByZXZpZXdNYW5hZ2VyOiBEcmFnUHJldmlld01hbmFnZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hbmFnZXMgc291cmNlLXRhcmdldCBtYXBwaW5nc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFwcGluZ01hbmFnZXI6IERyYWdEcm9wTWFwcGluZ01hbmFnZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhvbGRzIGluZm8gYWJvdXQgdGhlIGN1cnJlbnQgZHJhZyBvcGVyYXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIHN0YXJ0RHJhZ0V2ZW50PzogU3RhcnREcmFnRXZlbnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhvbGRzIGluZm8gYWJvdXQgdGhlIGN1cnJlbnQgZHJvcCBvcGVyYXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIGRyb3BFdmVudD86IERyb3BFdmVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhbiBlbXB0eSBpbnN0YW5jZSBvZiBBdXJEcmFnRHJvcE1hbmFnZXIuXHJcbiAgICogQHJldHVybnMge0F1ckRyYWdEcm9wTWFuYWdlcn0gLSBBbiBlbXB0eSBtYW5hZ2VyIHdpdGggbm8gaW5pdGlhbGl6ZWQgcmVmZXJlbmNlcy5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIGVtcHR5KCk6IEF1ckRyYWdEcm9wTWFuYWdlciB7XHJcbiAgICByZXR1cm4gbmV3IEF1ckRyYWdEcm9wTWFuYWdlcih1bmRlZmluZWQhLCBbXSwgW10pO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3Iodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10sXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwcmV2aWV3TWFwcGluZ3M6IEF1ckRyYWdQcmV2aWV3TWFwcGluZ3M8YW55PltdKSB7XHJcbiAgICB0aGlzLmNhbkRyb3BNYW5hZ2VyID0gbmV3IENhbkRyb3BNYW5hZ2VyKG1hcHBpbmdzKTtcclxuICAgIHRoaXMucHJldmlld01hbmFnZXIgPSBuZXcgRHJhZ1ByZXZpZXdNYW5hZ2VyKHZpZXdDb250YWluZXJSZWYsIHRoaXMucHJldmlld01hcHBpbmdzKTtcclxuICAgIHRoaXMubWFwcGluZ01hbmFnZXIgPSBuZXcgRHJhZ0Ryb3BNYXBwaW5nTWFuYWdlcihtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgZHJhZ2dhYmxlIHNvdXJjZSBuYW1lcy5cclxuICAgKiBAcmV0dXJucyB7c3RyaW5nW119IC0gQXJyYXkgb2Ygc291cmNlIG5hbWVzLlxyXG4gICAqL1xyXG4gIGdldCBkcmFnZ2FibGVTb3VyY2VOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBwaW5ncz8ubWFwKG1hcHBpbmcgPT4gbWFwcGluZy5zb3VyY2VOYW1lKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYXRlcyBhIGRyYWcgb3BlcmF0aW9uLCBzYXZpbmcgdGhlIGNvbnRleHQgYW5kIHNob3dpbmcgYSBkcmFnIHByZXZpZXcuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZHJhZyBzb3VyY2UuXHJcbiAgICogQHBhcmFtIHt1bmtub3duW119IGRyYWdnZWREYXRhIC0gVGhlIGRhdGEgYmVpbmcgZHJhZ2dlZC5cclxuICAgKiBAcGFyYW0ge0RyYWdFdmVudH0gZXZlbnQgLSBUaGUgZHJhZyBldmVudC5cclxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGEgZHJhZyBpcyBhbHJlYWR5IGluIHByb2dyZXNzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGFydERyYWcoc291cmNlTmFtZTogc3RyaW5nLCBkcmFnZ2VkRGF0YTogdW5rbm93bltdLCBldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdGFydERyYWdFdmVudCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0YXJ0IG5ldyBkcmFnIGJlZm9yZSBjb21wbGV0ZSBjdXJyZW50JylcclxuICAgIH1cclxuICAgIHRoaXMuc3RhcnREcmFnRXZlbnQgPSB7c291cmNlTmFtZSwgZHJhZ2dlZERhdGF9O1xyXG4gICAgdGhpcy5wcmV2aWV3TWFuYWdlci5zaG93UHJldmlldyhzb3VyY2VOYW1lLCBldmVudCwgZHJhZ2dlZERhdGEpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgd2hldGhlciBhIGRyb3AgaXMgYWxsb3dlZCBvbiB0aGUgdGFyZ2V0IGVsZW1lbnQgYnkgY2FsbGluZyBwcmV2ZW50RGVmYXVsdC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFyZ2V0TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgZWxlbWVudC5cclxuICAgKiBAcGFyYW0ge0RyYWdFdmVudH0gZXZlbnQgLSBUaGUgZHJhZyBldmVudC5cclxuICAgKi9cclxuICBwdWJsaWMgY2FuRHJvcFByZXZlbnREZWZhdWx0KHRhcmdldE5hbWU6IHN0cmluZywgZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnN0YXJ0RHJhZ0V2ZW50KSB7XHJcbiAgICAgIC8vINC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40LUg0L3QtSDQvdCw0YfQsNGC0L5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYW5Ecm9wTWFuYWdlci5kcm9wUHJldmVudERlZmF1bHQodGhpcy5zdGFydERyYWdFdmVudC5zb3VyY2VOYW1lLCB0YXJnZXROYW1lLCBldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyB0aGUgZHJvcCBvcGVyYXRpb24gb24gdGhlIHNwZWNpZmllZCB0YXJnZXQuXHJcbiAgICogQHBhcmFtIHt1bmtub3duW119IHRhcmdldERhdGFzZXQgLSBUaGUgZGF0YXNldCBvZiB0aGUgdGFyZ2V0IGVsZW1lbnQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFyZ2V0IGVsZW1lbnQuXHJcbiAgICogQHBhcmFtIHthbnl9IHRhcmdldERhdGEgLSBUaGUgZGF0YSBmb3IgdGhlIHRhcmdldCBlbGVtZW50LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBkcm9wKHRhcmdldERhdGFzZXQ6IHVua25vd25bXSwgdGFyZ2V0TmFtZTogc3RyaW5nLCB0YXJnZXREYXRhOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmdldE1hcHBpbmcodGhpcy5zdGFydERyYWdFdmVudCEuc291cmNlTmFtZSwgdGFyZ2V0TmFtZSk7XHJcbiAgICBjb25zdCBkcm9wQ29udGV4dCA9IHRoaXMuYnVpbGREcm9wQ29udGV4dCh0YXJnZXROYW1lLCB0YXJnZXREYXRhLCB0YXJnZXREYXRhc2V0KVxyXG4gICAgY29uc3QgZHJvcFJlc3VsdCA9IG1hcHBpbmcuZHJvcEZuKGRyb3BDb250ZXh0KS5waXBlKGZpcnN0KCkpO1xyXG4gICAgdGhpcy5kcm9wRXZlbnQgPSB7dGFyZ2V0TmFtZSwgdGFyZ2V0RGF0YSwgZHJvcFJlc3VsdH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuZHMgdGhlIGRyYWcgb3BlcmF0aW9uIGFuZCB1cGRhdGVzIHRoZSBkYXRhc2V0IGlmIHRoZSBkcm9wIHdhcyBzdWNjZXNzZnVsLlxyXG4gICAqIEBwYXJhbSB7dW5rbm93bltdfSBzb3VyY2VEYXRhc2V0IC0gVGhlIGRhdGFzZXQgb2YgdGhlIHNvdXJjZSBlbGVtZW50LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBlbmREcmFnKHNvdXJjZURhdGFzZXQ6IHVua25vd25bXSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aWV3TWFuYWdlci5yZW1vdmVQcmV2aWV3KCk7XHJcbiAgICBpZiAoIXRoaXMuZHJvcEV2ZW50IHx8ICF0aGlzLnN0YXJ0RHJhZ0V2ZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZHJvcEV2ZW50LmRyb3BSZXN1bHRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGdyYWJDb250ZXh0ID0gdGhpcy5idWlsZEdyYWJDb250ZXh0KHNvdXJjZURhdGFzZXQpO1xyXG4gICAgICAgICAgdGhpcy5jYWxjRGF0YXNldEFmdGVyR3JhYihncmFiQ29udGV4dClcclxuICAgICAgICB9KSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRyb3BFdmVudCA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgIHRoaXMuc3RhcnREcmFnRXZlbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSlcclxuICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGREcm9wQ29udGV4dCh0YXJnZXROYW1lOiBzdHJpbmcsIHRhcmdldERhdGE6IGFueSwgdGFyZ2V0RGF0YVNldDogdW5rbm93bltdKTogRHJvcENvbnRleHQ8YW55LCBhbnk+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRhcmdldE5hbWUsXHJcbiAgICAgIHRhcmdldERhdGEsXHJcbiAgICAgIHRhcmdldERhdGFzZXQ6IHRhcmdldERhdGFTZXQsXHJcbiAgICAgIHNvdXJjZU5hbWU6IHRoaXMuc3RhcnREcmFnRXZlbnQhLnNvdXJjZU5hbWUsXHJcbiAgICAgIHNvdXJjZURhdGE6IHRoaXMuc3RhcnREcmFnRXZlbnQhLmRyYWdnZWREYXRhLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEdyYWJDb250ZXh0KHNvdXJjZURhdGFzZXQ6IHVua25vd25bXSk6IEdyYWJDb250ZXh0PGFueSwgYW55PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0YXJnZXROYW1lOiB0aGlzLmRyb3BFdmVudCEudGFyZ2V0TmFtZSxcclxuICAgICAgdGFyZ2V0RGF0YTogdGhpcy5kcm9wRXZlbnQhLnRhcmdldERhdGEsXHJcbiAgICAgIHNvdXJjZU5hbWU6IHRoaXMuc3RhcnREcmFnRXZlbnQhLnNvdXJjZU5hbWUsXHJcbiAgICAgIHNvdXJjZURhdGE6IHRoaXMuc3RhcnREcmFnRXZlbnQhLmRyYWdnZWREYXRhLFxyXG4gICAgICBzb3VyY2VEYXRhc2V0OiBzb3VyY2VEYXRhc2V0XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGNEYXRhc2V0QWZ0ZXJHcmFiKGdyYWJDdHg6IEdyYWJDb250ZXh0PGFueSwgYW55Pik6IHZvaWQge1xyXG4gICAgY29uc3QgbWFwcGluZyA9IHRoaXMuZ2V0TWFwcGluZyh0aGlzLnN0YXJ0RHJhZ0V2ZW50IS5zb3VyY2VOYW1lLCB0aGlzLmRyb3BFdmVudCEudGFyZ2V0TmFtZSk7XHJcbiAgICBtYXBwaW5nIS5ncmFiRm4oZ3JhYkN0eCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1hcHBpbmcoc291cmNlTmFtZTogc3RyaW5nLCB0YXJnZXROYW1lOiBzdHJpbmcpOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcHBpbmdNYW5hZ2VyLmdldChzb3VyY2VOYW1lLCB0YXJnZXROYW1lKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -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,29 @@
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 => {
15
+ const key = this.buildKeyForMapping(mapping);
16
+ if (this.mappingsStorage.has(key)) {
17
+ console.log(`WARN: duplicate drag drop mapping: ${key}`);
18
+ }
19
+ this.mappingsStorage.set(key, mapping);
20
+ });
21
+ }
22
+ buildKeyForMapping(mapping) {
23
+ return this.buildKey(mapping.sourceName, mapping.targetName);
24
+ }
25
+ buildKey(sourceName, targetName) {
26
+ return `${sourceName}->${targetName}`;
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLW1hcHBpbmctbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZHJhZy1kcm9wL2RyYWctZHJvcC1tYXBwaW5nLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFZLFFBQXdDO1FBRm5DLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXdDLENBQUM7UUFHakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsVUFBVSxPQUFPLFVBQVUsZ0JBQWdCLENBQUMsQ0FBQTtRQUM3RSxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUF3QztRQUMxRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3QyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFxQztRQUM5RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLFFBQVEsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ3JELE9BQU8sR0FBRyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdXJEcmFnRHJvcE1hcHBpbmd9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBEcmFnRHJvcE1hcHBpbmdNYW5hZ2VyIHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBtYXBwaW5nc1N0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55Pj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IobWFwcGluZ3M6IEF1ckRyYWdEcm9wTWFwcGluZzxhbnksIGFueT5bXSkge1xyXG4gICAgdGhpcy5maWxsU3RvcmFnZShtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0KHNvdXJjZU5hbWU6IHN0cmluZywgdGFyZ2V0TmFtZTogc3RyaW5nKTogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PiB7XHJcbiAgICBjb25zdCBtYXBwaW5nID0gdGhpcy5tYXBwaW5nc1N0b3JhZ2UuZ2V0KHRoaXMuYnVpbGRLZXkoc291cmNlTmFtZSwgdGFyZ2V0TmFtZSkpO1xyXG4gICAgaWYgKCFtYXBwaW5nKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWFwcGluZyBmb3IgJHtzb3VyY2VOYW1lfSAtPiAke3RhcmdldE5hbWV9IHdhcyBub3QgZm91bmRgKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hcHBpbmc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbGxTdG9yYWdlKG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10pIHtcclxuICAgIG1hcHBpbmdzLmZvckVhY2gobWFwcGluZyA9PiB7XHJcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRLZXlGb3JNYXBwaW5nKG1hcHBpbmcpO1xyXG4gICAgICBpZiAodGhpcy5tYXBwaW5nc1N0b3JhZ2UuaGFzKGtleSkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgV0FSTjogZHVwbGljYXRlIGRyYWcgZHJvcCBtYXBwaW5nOiAke2tleX1gKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1hcHBpbmdzU3RvcmFnZS5zZXQoa2V5LCBtYXBwaW5nKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkS2V5Rm9yTWFwcGluZyhtYXBwaW5nOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+KTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmJ1aWxkS2V5KG1hcHBpbmcuc291cmNlTmFtZSwgbWFwcGluZy50YXJnZXROYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRLZXkoc291cmNlTmFtZTogc3RyaW5nLCB0YXJnZXROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3NvdXJjZU5hbWV9LT4ke3RhcmdldE5hbWV9YDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,39 @@
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.forEach(m => {
9
+ if (this.previewStorage.has(m.sourceName)) {
10
+ console.log(`WARN: Duplicate drag preview mapping for source ${m.sourceName}`);
11
+ }
12
+ this.previewStorage.set(m.sourceName, m.preview);
13
+ });
14
+ }
15
+ showPreview(sourceName, event, draggedData) {
16
+ this.previewStorage.forEach((k, v) => console.log('key', k, 'value', v));
17
+ let previewConstructor = this.previewStorage.get(sourceName);
18
+ if (previewConstructor) {
19
+ // Динамически создаем компонент превью
20
+ this.currentPreviewComponentRef = this.viewContainerRef.createComponent(previewConstructor);
21
+ this.currentPreviewComponentRef.instance.data = draggedData;
22
+ const nativePreview = this.currentPreviewComponentRef.location.nativeElement;
23
+ // Применение необходимых стилей к элементу превью
24
+ nativePreview.style.position = 'absolute';
25
+ nativePreview.style.top = '0';
26
+ nativePreview.style.left = '-9999px'; // Скрыть элемент за пределами экрана
27
+ document.body.appendChild(nativePreview); // Временно добавляем в DOM для отображения
28
+ event.dataTransfer?.setDragImage(nativePreview, 0, 0);
29
+ }
30
+ }
31
+ removePreview() {
32
+ if (this.currentPreviewComponentRef) {
33
+ document.body.removeChild(this.currentPreviewComponentRef.location.nativeElement);
34
+ this.currentPreviewComponentRef.destroy();
35
+ this.currentPreviewComponentRef = undefined;
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1wcmV2aWV3LW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9kcmFnLXByZXZpZXctbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQW9CLGdCQUFrQyxFQUMxQyxRQUF1QztRQUQvQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSHJDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWtELENBQUM7UUFLMUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQXVDO1FBQ3pELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7WUFDaEYsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxVQUFrQixFQUFFLEtBQWdCLEVBQUUsV0FBc0I7UUFDN0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDeEUsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsdUNBQXVDO1lBQ3ZDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDNUYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO1lBRTVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBRTdFLGtEQUFrRDtZQUNsRCxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDMUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLHFDQUFxQztZQUMzRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLDJDQUEyQztZQUVyRixLQUFLLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxTQUFTLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtBdXJEcmFnUHJldmlld01hcHBpbmdzfSBmcm9tIFwiLi9tb2RlbC9hdXItZHJhZy1kcm9wLW1hcHBpbmdcIjtcclxuaW1wb3J0IHtBdXJEcmFnUHJldmlld0NvbXBvbmVudH0gZnJvbSBcIi4vbW9kZWwvYXVyLWRyYWctcHJldmlldy1jb21wb25lbnRcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBEcmFnUHJldmlld01hbmFnZXIge1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHByZXZpZXdTdG9yYWdlID0gbmV3IE1hcDxzdHJpbmcsIG5ldyAoKSA9PiBBdXJEcmFnUHJldmlld0NvbXBvbmVudDxhbnk+PigpO1xyXG4gIHByaXZhdGUgY3VycmVudFByZXZpZXdDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxBdXJEcmFnUHJldmlld0NvbXBvbmVudDxhbnk+PiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgICAgICAgIG1hcHBpbmdzOiBBdXJEcmFnUHJldmlld01hcHBpbmdzPGFueT5bXSkge1xyXG4gICAgdGhpcy5maWxsU3RvcmFnZShtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbGxTdG9yYWdlKG1hcHBpbmdzOiBBdXJEcmFnUHJldmlld01hcHBpbmdzPGFueT5bXSkge1xyXG4gICAgbWFwcGluZ3MuZm9yRWFjaChtID0+IHtcclxuICAgICAgaWYgKHRoaXMucHJldmlld1N0b3JhZ2UuaGFzKG0uc291cmNlTmFtZSkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgV0FSTjogRHVwbGljYXRlIGRyYWcgcHJldmlldyBtYXBwaW5nIGZvciBzb3VyY2UgJHttLnNvdXJjZU5hbWV9YClcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnByZXZpZXdTdG9yYWdlLnNldChtLnNvdXJjZU5hbWUsIG0ucHJldmlldyEpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1ByZXZpZXcoc291cmNlTmFtZTogc3RyaW5nLCBldmVudDogRHJhZ0V2ZW50LCBkcmFnZ2VkRGF0YTogdW5rbm93bltdKSB7XHJcbiAgICB0aGlzLnByZXZpZXdTdG9yYWdlLmZvckVhY2goKGssIHYpID0+IGNvbnNvbGUubG9nKCdrZXknLCBrLCAndmFsdWUnLCB2KSlcclxuICAgIGxldCBwcmV2aWV3Q29uc3RydWN0b3IgPSB0aGlzLnByZXZpZXdTdG9yYWdlLmdldChzb3VyY2VOYW1lKTtcclxuICAgIGlmIChwcmV2aWV3Q29uc3RydWN0b3IpIHtcclxuICAgICAgLy8g0JTQuNC90LDQvNC40YfQtdGB0LrQuCDRgdC+0LfQtNCw0LXQvCDQutC+0LzQv9C+0L3QtdC90YIg0L/RgNC10LLRjNGOXHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHByZXZpZXdDb25zdHJ1Y3Rvcik7XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYuaW5zdGFuY2UuZGF0YSA9IGRyYWdnZWREYXRhO1xyXG5cclxuICAgICAgY29uc3QgbmF0aXZlUHJldmlldyA9IHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIC8vINCf0YDQuNC80LXQvdC10L3QuNC1INC90LXQvtCx0YXQvtC00LjQvNGL0YUg0YHRgtC40LvQtdC5INC6INGN0LvQtdC80LXQvdGC0YMg0L/RgNC10LLRjNGOXHJcbiAgICAgIG5hdGl2ZVByZXZpZXcuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICBuYXRpdmVQcmV2aWV3LnN0eWxlLnRvcCA9ICcwJztcclxuICAgICAgbmF0aXZlUHJldmlldy5zdHlsZS5sZWZ0ID0gJy05OTk5cHgnOyAvLyDQodC60YDRi9GC0Ywg0Y3Qu9C10LzQtdC90YIg0LfQsCDQv9GA0LXQtNC10LvQsNC80Lgg0Y3QutGA0LDQvdCwXHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmF0aXZlUHJldmlldyk7IC8vINCS0YDQtdC80LXQvdC90L4g0LTQvtCx0LDQstC70Y/QtdC8INCyIERPTSDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRj1xyXG5cclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyPy5zZXREcmFnSW1hZ2UobmF0aXZlUHJldmlldywgMCwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlUHJldmlldygpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvbW9kZWwvYXVyLWRyYWctZHJvcC1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7QXVyRHJhZ1ByZXZpZXdDb21wb25lbnR9IGZyb20gXCIuL2F1ci1kcmFnLXByZXZpZXctY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1ckRyYWdQcmV2aWV3TWFwcGluZ3M8U09VUkNFPiB7XHJcbiAgc291cmNlTmFtZTogc3RyaW5nLFxyXG4gIHJlYWRvbmx5IHByZXZpZXc/OiBuZXcgKCkgPT4gQXVyRHJhZ1ByZXZpZXdDb21wb25lbnQ8U09VUkNFPjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIG1hcHBpbmcgY29uZmlndXJhdGlvbiBmb3IgZHJhZy1hbmQtZHJvcCBmdW5jdGlvbmFsaXR5XHJcbiAqIGJldHdlZW4gY29tcG9uZW50cy4gSXQgZGVmaW5lcyB0aGUgc291cmNlIGNvbXBvbmVudCAoZnJvbSB3aGVyZSBkYXRhIGlzIGdyYWJiZWQpXHJcbiAqIGFuZCB0aGUgdGFyZ2V0IGNvbXBvbmVudCAod2hlcmUgZGF0YSBpcyBkcm9wcGVkKSwgYXMgd2VsbCBhcyB0aGUgZnVuY3Rpb25zIHRoYXQgaGFuZGxlXHJcbiAqIHRoZSBncmFiYmluZyBhbmQgZHJvcHBpbmcgb2YgZGF0YS5cclxuICpcclxuICogQHRlbXBsYXRlIFNPVVJDRSAtIFRoZSB0eXBlIG9mIGRhdGEgdXNlZCBieSB0aGUgc291cmNlIGNvbXBvbmVudC5cclxuICogQHRlbXBsYXRlIFRBUkdFVCAtIFRoZSB0eXBlIG9mIGRhdGEgdXNlZCBieSB0aGUgdGFyZ2V0IGNvbXBvbmVudC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXVyRHJhZ0Ryb3BNYXBwaW5nPFNPVVJDRSwgVEFSR0VUPiB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzb3VyY2UgY29tcG9uZW50IGZyb20gd2hpY2ggZGF0YSBjYW4gYmUgZ3JhYmJlZC5cclxuICAgKiBUaGlzIHJlcHJlc2VudHMgdGhlIGNvbXBvbmVudCB0aGF0IGFsbG93cyBhIHVzZXIgdG8gaW5pdGlhdGUgYSBncmFiIGFjdGlvbi5cclxuICAgKi9cclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgY29tcG9uZW50IHdoZXJlIHRoZSBkYXRhIGNhbiBiZSBkcm9wcGVkLlxyXG4gICAqIFRoaXMgcmVwcmVzZW50cyB0aGUgY29tcG9uZW50IHRoYXQgYWNjZXB0cyB0aGUgZHJvcCBhY3Rpb24uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nLFxyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiBjYWxsZWQgdG8gaGFuZGxlIGdyYWJiaW5nIGRhdGEgZnJvbSB0aGUgc291cmNlIGNvbXBvbmVudC5cclxuICAgKiBJdCBpcyBpbnZva2VkIGFmdGVyIGEgZHJvcCBoYXMgb2NjdXJyZWQsIGFuZCBpdCBkZXNjcmliZXMgd2hhdCBzaG91bGRcclxuICAgKiBoYXBwZW4gdG8gdGhlIGRhdGEgaW4gdGhlIHNvdXJjZSB0YWJsZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgZ3JhYiBjb250ZXh0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNvdXJjZSBhbmQgdGFyZ2V0LlxyXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGRhdGEgZWxlbWVudHMgb2YgdHlwZSBTT1VSQ0UuXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZ3JhYkZuOiAoY3R4OiBHcmFiQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4pID0+IHZvaWRcclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIHRvIGhhbmRsZSB0aGUgZHJvcCBhY3Rpb24gaW4gdGhlIHRhcmdldCBjb21wb25lbnQuXHJcbiAgICogSXQgaXMgaW52b2tlZCB3aGVuIHRoZSBkcm9wIGV2ZW50IG9jY3VycywgYW5kIGl0IGRlc2NyaWJlcyBob3cgdG8gcHJvY2Vzc1xyXG4gICAqIHRoZSBkYXRhIGludG8gdGhlIHRhcmdldCBjb21wb25lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGRyb3AgY29udGV4dCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb3VyY2UgYW5kIHRhcmdldC5cclxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBkYXRhIGVsZW1lbnRzIG9mIHR5cGUgVEFSR0VULlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRyb3BGbjogKGN0eDogRHJvcENvbnRleHQ8U09VUkNFLCBUQVJHRVQ+KSA9PiBPYnNlcnZhYmxlPEF1ckRyb3BSZXN1bHQ+LFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1ckRyb3BSZXN1bHQge1xyXG4gIGlzVmFsaWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JhYkNvbnRleHQ8U09VUkNFLCBUQVJHRVQ+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/OiBEcmFnRHJvcENvbmZpZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaWNrQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBTaG93IHBvaW50ZXIgb24gaG92ZXJlZCByb3dcclxuICAgKi9cclxuICBwb2ludGVyPzogYm9vbGVhbjtcclxuICBoaWdobGlnaHRDbGlja2VkPzogRGVjb3JTdHlsZXM7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgZmFsc2VcclxuICAgKiBmYWxzZSDQv9C10YDQstC+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/OiBzdHJpbmc7XHJcbiAgdG90YWxSb3dWaWV3PzogVG90YWxSb3dWaWV3O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlSGVhZGVyQnV0dG9uQ29uZmlnIHtcclxuICBlbmFibGU6IGJvb2xlYW47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERyYWdEcm9wQ29uZmlnIHtcclxuICBlbmFibGU6IGJvb2xlYW47XHJcbiAgbWFuYWdlcjogQXVyRHJhZ0Ryb3BNYW5hZ2VyO1xyXG4gIGRyYWdJY29uPzogSWNvblZpZXc8c3RyaW5nPjtcclxufVxyXG4iXX0=
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==