@ai-table/grid 0.0.16 → 0.0.18
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/components/field-menu/field-menu.component.mjs +3 -3
- package/esm2022/core/coordinate.mjs +2 -2
- package/esm2022/dom-grid.component.mjs +2 -2
- package/esm2022/grid-base.component.mjs +4 -5
- package/esm2022/grid.component.mjs +20 -14
- package/esm2022/renderer/components/add-field-column.component.mjs +38 -20
- package/esm2022/renderer/components/field-head.component.mjs +5 -5
- package/esm2022/renderer/components/frozen-heads.component.mjs +3 -3
- package/esm2022/renderer/components/heads.component.mjs +1 -1
- package/esm2022/renderer/creations/create-cells.mjs +4 -4
- package/esm2022/renderer/creations/create-heads.mjs +1 -1
- package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +4 -4
- package/esm2022/renderer/drawers/layout-drawer.mjs +12 -10
- package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +16 -7
- package/esm2022/renderer/renderer.component.mjs +13 -12
- package/esm2022/services/field.service.mjs +5 -7
- package/esm2022/types/component-config.mjs +1 -1
- package/esm2022/types/field.mjs +1 -1
- package/esm2022/types/grid.mjs +1 -1
- package/esm2022/utils/build.mjs +3 -3
- package/fesm2022/ai-table-grid.mjs +110 -78
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +4 -5
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/components/add-field-column.component.d.ts +3 -6
- package/renderer/components/add-field-column.component.d.ts.map +1 -1
- package/renderer/components/frozen-heads.component.d.ts +2 -2
- package/renderer/components/heads.component.d.ts +2 -2
- package/renderer/creations/create-heads.d.ts +2 -2
- package/renderer/drawers/add-row-layout-drawer.d.ts +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/layout-drawer.d.ts +2 -2
- package/renderer/drawers/layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -1
- package/renderer/renderer.component.d.ts +3 -1
- package/renderer/renderer.component.d.ts.map +1 -1
- package/services/field.service.d.ts.map +1 -1
- package/types/component-config.d.ts +9 -1
- package/types/component-config.d.ts.map +1 -1
- package/types/field.d.ts +1 -1
- package/types/field.d.ts.map +1 -1
- package/types/grid.d.ts +1 -0
- package/types/grid.d.ts.map +1 -1
- package/utils/build.d.ts +1 -1
- package/utils/build.d.ts.map +1 -1
@@ -1,10 +1,10 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';
|
2
2
|
import Konva from 'konva';
|
3
3
|
import { KoContainer, KoShape, KoStage } from '../angular-konva';
|
4
|
-
import {
|
4
|
+
import { AI_TABLE_ROW_HEAD_WIDTH } from '../constants';
|
5
5
|
import { AITable } from '../core';
|
6
6
|
import { getVisibleRangeInfo } from '../utils';
|
7
|
-
import { AITableAddField, AITableCells, AITableColumnHeads,
|
7
|
+
import { AITableAddField, AITableCells, AITableColumnHeads, AITableFrozenCells, AITableFrozenColumnHeads, AITableFrozenPlaceholderCells, AITableHoverRowHeads, AITableOtherRows, AITablePlaceholderCells } from './components';
|
8
8
|
import { createActiveCellBorder } from './creations/create-active-cell-border';
|
9
9
|
import * as i0 from "@angular/core";
|
10
10
|
Konva.pixelRatio = 2;
|
@@ -19,6 +19,9 @@ export class AITableRenderer {
|
|
19
19
|
this.fields = computed(() => {
|
20
20
|
return AITable.getVisibleFields(this.config().aiTable);
|
21
21
|
});
|
22
|
+
this.readonly = computed(() => {
|
23
|
+
return this.config()?.readonly;
|
24
|
+
});
|
22
25
|
this.coordinate = computed(() => {
|
23
26
|
return this.config()?.coordinate;
|
24
27
|
});
|
@@ -44,8 +47,7 @@ export class AITableRenderer {
|
|
44
47
|
return this.coordinate().getColumnOffset(this.visibleRangeInfo().columnStopIndex);
|
45
48
|
});
|
46
49
|
this.cellGroupClipWidth = computed(() => {
|
47
|
-
|
48
|
-
return Math.min(this.containerWidth() - this.frozenAreaWidth(), AI_TABLE_FIELD_ADD_BUTTON_WIDTH + this.lastColumnOffset() + this.lastColumnWidth() - scrollLeft - this.frozenAreaWidth());
|
50
|
+
return this.containerWidth() - this.frozenAreaWidth();
|
49
51
|
});
|
50
52
|
this.stageConfig = computed(() => {
|
51
53
|
const { isScrolling } = this.scrollState();
|
@@ -106,9 +108,9 @@ export class AITableRenderer {
|
|
106
108
|
offsetY: scrollTop
|
107
109
|
};
|
108
110
|
});
|
109
|
-
this.
|
111
|
+
this.columnHeadOrAddFieldConfig = computed(() => {
|
110
112
|
const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
|
111
|
-
const { aiTable, coordinate } = this.config();
|
113
|
+
const { aiTable, coordinate, readonly } = this.config();
|
112
114
|
const { pointPosition } = aiTable.context;
|
113
115
|
const fields = this.fields();
|
114
116
|
return {
|
@@ -117,7 +119,8 @@ export class AITableRenderer {
|
|
117
119
|
fields,
|
118
120
|
columnStartIndex,
|
119
121
|
columnStopIndex,
|
120
|
-
pointPosition: pointPosition()
|
122
|
+
pointPosition: pointPosition(),
|
123
|
+
readonly
|
121
124
|
};
|
122
125
|
});
|
123
126
|
this.cellsConfig = computed(() => {
|
@@ -150,7 +153,7 @@ export class AITableRenderer {
|
|
150
153
|
this.koDblclick.emit(e);
|
151
154
|
}
|
152
155
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"
|
156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
154
157
|
}
|
155
158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableRenderer, decorators: [{
|
156
159
|
type: Component,
|
@@ -158,8 +161,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
158
161
|
KoContainer,
|
159
162
|
KoStage,
|
160
163
|
KoShape,
|
161
|
-
AITableIcon,
|
162
|
-
AITableFieldHead,
|
163
164
|
AITableColumnHeads,
|
164
165
|
AITableFrozenColumnHeads,
|
165
166
|
AITableCells,
|
@@ -169,6 +170,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
169
170
|
AITableAddField,
|
170
171
|
AITableHoverRowHeads,
|
171
172
|
AITableOtherRows
|
172
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"
|
173
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
173
174
|
}] });
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBaUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUMxQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFL0UsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7QUF3QnJCLE1BQU0sT0FBTyxlQUFlO0lBdEI1QjtRQXVCSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBeUIsQ0FBQztRQUVqRCxnQkFBVyxHQUFHLE1BQU0sRUFBNkIsQ0FBQztRQUVsRCxnQkFB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ZUFBZSwwVkMvQzVCLHFnRkF3REEsNENEMUJRLFdBQVcsNkVBQ1gsT0FBTyw2VkFDUCxPQUFPLCtoQkFHUCxrQkFBa0Isc0ZBQ2xCLHdCQUF3Qiw2RkFDeEIsWUFBWSwrRUFDWixrQkFBa0Isc0ZBQ2xCLDZCQUE2QixrR0FDN0IsdUJBQXVCLDJGQUN2QixlQUFlLG9IQUNmLG9CQUFvQix5RkFDcEIsZ0JBQWdCOzsyRkFJWCxlQUFlO2tCQXRCM0IsU0FBUzsrQkFDSSxtQkFBbUIsY0FFakIsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNuQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgS29udmEgZnJvbSAna29udmEnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgS29Db250YWluZXIsIEtvRXZlbnRPYmplY3QsIEtvU2hhcGUsIEtvU3RhZ2UgfSBmcm9tICcuLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEFJX1RBQkxFX0ZJRUxEX0FERF9CVVRUT05fV0lEVEgsIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVSZW5kZXJlckNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFZpc2libGVSYW5nZUluZm8gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVBZGRGaWVsZCxcbiAgICBBSVRhYmxlQ2VsbHMsXG4gICAgQUlUYWJsZUNvbHVtbkhlYWRzLFxuICAgIEFJVGFibGVGaWVsZEhlYWQsXG4gICAgQUlUYWJsZUZyb3plbkNlbGxzLFxuICAgIEFJVGFibGVGcm96ZW5Db2x1bW5IZWFkcyxcbiAgICBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyxcbiAgICBBSVRhYmxlSG92ZXJSb3dIZWFkcyxcbiAgICBBSVRhYmxlSWNvbixcbiAgICBBSVRhYmxlT3RoZXJSb3dzLFxuICAgIEFJVGFibGVQbGFjZWhvbGRlckNlbGxzXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBjcmVhdGVBY3RpdmVDZWxsQm9yZGVyIH0gZnJvbSAnLi9jcmVhdGlvbnMvY3JlYXRlLWFjdGl2ZS1jZWxsLWJvcmRlcic7XG5cbktvbnZhLnBpeGVsUmF0aW8gPSAyO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXJlbmRlcmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLb0NvbnRhaW5lcixcbiAgICAgICAgS29TdGFnZSxcbiAgICAgICAgS29TaGFwZSxcbiAgICAgICAgQUlUYWJsZUljb24sXG4gICAgICAgIEFJVGFibGVGaWVsZEhlYWQsXG4gICAgICAgIEFJVGFibGVDb2x1bW5IZWFkcyxcbiAgICAgICAgQUlUYWJsZUZyb3plbkNvbHVtbkhlYWRzLFxuICAgICAgICBBSVRhYmxlQ2VsbHMsXG4gICAgICAgIEFJVGFibGVGcm96ZW5DZWxscyxcbiAgICAgICAgQUlUYWJsZUZyb3plblBsYWNlaG9sZGVyQ2VsbHMsXG4gICAgICAgIEFJVGFibGVQbGFjZWhvbGRlckNlbGxzLFxuICAgICAgICBBSVRhYmxlQWRkRmllbGQsXG4gICAgICAgIEFJVGFibGVIb3ZlclJvd0hlYWRzLFxuICAgICAgICBBSVRhYmxlT3RoZXJSb3dzXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlUmVuZGVyZXIge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVSZW5kZXJlckNvbmZpZz4oKTtcblxuICAgIGtvTW91c2Vtb3ZlID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb01vdXNlZG93biA9IG91dHB1dDxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAga29XaGVlbCA9IG91dHB1dDxLb0V2ZW50T2JqZWN0PFdoZWVsRXZlbnQ+PigpO1xuXG4gICAga29DbGljayA9IG91dHB1dDxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAga29EYmxjbGljayA9IG91dHB1dDxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgZmllbGRzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gQUlUYWJsZS5nZXRWaXNpYmxlRmllbGRzKHRoaXMuY29uZmlnKCkuYWlUYWJsZSk7XG4gICAgfSk7XG5cbiAgICBjb29yZGluYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uY29vcmRpbmF0ZTtcbiAgICB9KTtcblxuICAgIGNvbnRhaW5lcldpZHRoID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lcldpZHRoO1xuICAgIH0pO1xuXG4gICAgY29udGFpbmVySGVpZ2h0ID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lckhlaWdodDtcbiAgICB9KTtcblxuICAgIHNjcm9sbFN0YXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uYWlUYWJsZSEuY29udGV4dCEuc2Nyb2xsU3RhdGUoKTtcbiAgICB9KTtcblxuICAgIHZpc2libGVSYW5nZUluZm8gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBnZXRWaXNpYmxlUmFuZ2VJbmZvKHRoaXMuY29vcmRpbmF0ZSgpISwgdGhpcy5zY3JvbGxTdGF0ZSgpISk7XG4gICAgfSk7XG5cbiAgICBmcm96ZW5BcmVhV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBBSV9UQUJMRV9ST1dfSEVBRF9XSURUSCArIHRoaXMuY29vcmRpbmF0ZSgpIS5mcm96ZW5Db2x1bW5XaWR0aCE7XG4gICAgfSk7XG5cbiAgICBsYXN0Q29sdW1uV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uV2lkdGgodGhpcy52aXNpYmxlUmFuZ2VJbmZvKCkuY29sdW1uU3RvcEluZGV4KTtcbiAgICB9KTtcblxuICAgIGxhc3RDb2x1bW5PZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uT2Zmc2V0KHRoaXMudmlzaWJsZVJhbmdlSW5mbygpLmNvbHVtblN0b3BJbmRleCk7XG4gICAgfSk7XG5cbiAgICBjZWxsR3JvdXBDbGlwV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCB9ID0gdGhpcy5zY3JvbGxTdGF0ZSgpITtcbiAgICAgICAgcmV0dXJuIE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJXaWR0aCgpIC0gdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSxcbiAgICAgICAgICAgIEFJX1RBQkxFX0ZJRUxEX0FERF9CVVRUT05fV0lEVEggKyB0aGlzLmxhc3RDb2x1bW5PZmZzZXQoKSArIHRoaXMubGFzdENvbHVtbldpZHRoKCkgLSBzY3JvbGxMZWZ0IC0gdGhpcy5mcm96ZW5BcmVhV2lkdGgoKVxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgc3RhZ2VDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGlzU2Nyb2xsaW5nIH0gPSB0aGlzLnNjcm9sbFN0YXRlKCkhO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgd2lkdGg6IHRoaXMuY29udGFpbmVyV2lkdGgoKSxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogaXNTY3JvbGxpbmcgPyBmYWxzZSA6IHRydWVcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGdyaWRHcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogMCxcbiAgICAgICAgICAgIGNsaXBZOiAwLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCksXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb21tb25Hcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDEsXG4gICAgICAgICAgICBjbGlwWTogMCxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5jZWxsR3JvdXBDbGlwV2lkdGgoKSxcbiAgICAgICAgICAgIGNsaXBIZWlnaHQ6IHRoaXMuY29udGFpbmVySGVpZ2h0KClcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGF0dGFjaEdyb3VwQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNsaXBYOiB0aGlzLmZyb3plbkFyZWFXaWR0aCgpIC0gMSxcbiAgICAgICAgICAgIGNsaXBZOiB0aGlzLmNvb3JkaW5hdGUoKSEucm93SW5pdFNpemUgLSAxLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCkgLSB0aGlzLmZyb3plbkFyZWFXaWR0aCgpLFxuICAgICAgICAgICAgY2xpcEhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSAtIHRoaXMuY29vcmRpbmF0ZSgpIS5yb3dJbml0U2l6ZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgZnJvemVuQXR0YWNoR3JvdXBDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xpcFg6IDAsXG4gICAgICAgICAgICBjbGlwWTogdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplIC0gMSxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDQsXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpIC0gdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRZQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxUb3AgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIG9mZnNldFhDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRYOiBzY3JvbGxMZWZ0XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFRvcCB9ID0gdGhpcy5zY3JvbGxTdGF0ZSgpITtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9mZnNldFg6IHNjcm9sbExlZnQsXG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGNvbHVtbkhlYWRDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29sdW1uU3RhcnRJbmRleCwgY29sdW1uU3RvcEluZGV4IH0gPSB0aGlzLnZpc2libGVSYW5nZUluZm8oKTtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICBjb25zdCB7IHBvaW50UG9zaXRpb24gfSA9IGFpVGFibGUuY29udGV4dCE7XG4gICAgICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMuZmllbGRzKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhaVRhYmxlLFxuICAgICAgICAgICAgY29vcmRpbmF0ZSxcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIGNvbHVtblN0YXJ0SW5kZXgsXG4gICAgICAgICAgICBjb2x1bW5TdG9wSW5kZXgsXG4gICAgICAgICAgICBwb2ludFBvc2l0aW9uOiBwb2ludFBvc2l0aW9uKClcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGNlbGxzQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGFpVGFibGUsIGNvb3JkaW5hdGUsIHJlZmVyZW5jZXMgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGNvbnN0IHsgcm93U3RhcnRJbmRleCwgcm93U3RvcEluZGV4LCBjb2x1bW5TdGFydEluZGV4LCBjb2x1bW5TdG9wSW5kZXggfSA9IHRoaXMudmlzaWJsZVJhbmdlSW5mbygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWlUYWJsZSxcbiAgICAgICAgICAgIGNvb3JkaW5hdGUsXG4gICAgICAgICAgICByZWZlcmVuY2VzLFxuICAgICAgICAgICAgcm93U3RhcnRJbmRleCxcbiAgICAgICAgICAgIHJvd1N0b3BJbmRleCxcbiAgICAgICAgICAgIGNvbHVtblN0YXJ0SW5kZXgsXG4gICAgICAgICAgICBjb2x1bW5TdG9wSW5kZXhcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGFjdGl2ZUNlbGxCb3JkZXJDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBjcmVhdGVBY3RpdmVDZWxsQm9yZGVyKHRoaXMuY2VsbHNDb25maWcoKSk7XG4gICAgfSk7XG5cbiAgICBzdGFnZU1vdXNlbW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29Nb3VzZW1vdmUuZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlTW91c2Vkb3duKGU6IEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pIHtcbiAgICAgICAgdGhpcy5rb01vdXNlZG93bi5lbWl0KGUgYXMgS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pik7XG4gICAgfVxuXG4gICAgc3RhZ2VDbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29DbGljay5lbWl0KGUgYXMgS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pik7XG4gICAgfVxuXG4gICAgc3RhZ2VEYmxjbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29EYmxjbGljay5lbWl0KGUgYXMgS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pik7XG4gICAgfVxufVxuIiwiPGtvLXN0YWdlXG4gICAgW2NvbmZpZ109XCJzdGFnZUNvbmZpZygpXCJcbiAgICAoa29Nb3VzZW1vdmUpPVwic3RhZ2VNb3VzZW1vdmUoJGV2ZW50KVwiXG4gICAgKGtvTW91c2Vkb3duKT1cInN0YWdlTW91c2Vkb3duKCRldmVudClcIlxuICAgIChrb0NsaWNrKT1cInN0YWdlQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtvRGJsY2xpY2spPVwic3RhZ2VEYmxjbGljaygkZXZlbnQpXCJcbj5cbiAgICA8a28tbGF5ZXI+XG4gICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImdyaWRHcm91cENvbmZpZygpXCI+XG4gICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJvZmZzZXRZQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtZnJvemVuLWNlbGxzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtZnJvemVuLWNlbGxzPlxuICAgICAgICAgICAgICAgIDxhaS10YWJsZS1vdGhlci1yb3dzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtb3RoZXItcm93cz5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtaG92ZXItcm93LWhlYWRzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtaG92ZXItcm93LWhlYWRzPlxuICAgICAgICAgICAgICAgIDxhaS10YWJsZS1mcm96ZW4tcGxhY2Vob2xkZXItY2VsbHMgW2NvbmZpZ109XCJjZWxsc0NvbmZpZygpXCI+PC9haS10YWJsZS1mcm96ZW4tcGxhY2Vob2xkZXItY2VsbHM+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuXG4gICAgICAgICAgICA8a28tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWZyb3plbi1jb2x1bW4taGVhZHMgW2NvbmZpZ109XCJjb2x1bW5IZWFkQ29uZmlnKClcIj48L2FpLXRhYmxlLWZyb3plbi1jb2x1bW4taGVhZHM+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuXG4gICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJjb21tb25Hcm91cENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwib2Zmc2V0Q29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFpLXRhYmxlLWNlbGxzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtY2VsbHM+XG4gICAgICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cIm9mZnNldFhDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YWktdGFibGUtY29sdW1uLWhlYWRzIFtjb25maWddPVwiY29sdW1uSGVhZENvbmZpZygpXCI+PC9haS10YWJsZS1jb2x1bW4taGVhZHM+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1hZGQtZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb29yZGluYXRlXT1cImNvb3JkaW5hdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cImZpZWxkcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5TdG9wSW5kZXhdPVwidmlzaWJsZVJhbmdlSW5mbygpLmNvbHVtblN0b3BJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgID48L2FpLXRhYmxlLWFkZC1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwiYXR0YWNoR3JvdXBDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cIm9mZnNldENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1wbGFjZWhvbGRlci1jZWxscyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLXBsYWNlaG9sZGVyLWNlbGxzPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5hY3RpdmVDZWxsQm9yZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cImFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5hY3RpdmVDZWxsQm9yZGVyIVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuXG4gICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJmcm96ZW5BdHRhY2hHcm91cENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwib2Zmc2V0WUNvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aXZlQ2VsbEJvcmRlckNvbmZpZygpLmZyb3plbkFjdGl2ZUNlbGxCb3JkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwiYWN0aXZlQ2VsbEJvcmRlckNvbmZpZygpLmZyb3plbkFjdGl2ZUNlbGxCb3JkZXIhXCI+PC9rby1yZWN0PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9rby1ncm91cD5cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgIDwva28tZ3JvdXA+XG4gICAgPC9rby1sYXllcj5cbjwva28tc3RhZ2U+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBaUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBbUMsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUNILGVBQWUsRUFDZixZQUFZLEVBQ1osa0JBQWtCLEVBRWxCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUVwQixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQzFCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUUvRSxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztBQXNCckIsTUFBTSxPQUFPLGVBQWU7SUFwQjVCO1FBcUJJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBRWpELGdCQUFXLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRWxELGdCQUFXLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRWxELFlBQU8s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QVksK0VBQ1osa0JBQWtCLHNGQUNsQiw2QkFBNkIsa0dBQzdCLHVCQUF1QiwyRkFDdkIsZUFBZSxtRkFDZixvQkFBb0IseUZBQ3BCLGdCQUFnQjs7MkZBSVgsZUFBZTtrQkFwQjNCLFNBQVM7K0JBQ0ksbUJBQW1CLGNBRWpCLElBQUksV0FDUDt3QkFDTCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNuQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgS29udmEgZnJvbSAna29udmEnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgS29Db250YWluZXIsIEtvRXZlbnRPYmplY3QsIEtvU2hhcGUsIEtvU3RhZ2UgfSBmcm9tICcuLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEFJX1RBQkxFX0ZJRUxEX0FERF9CVVRUT05fV0lEVEgsIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVSZW5kZXJlckNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFZpc2libGVSYW5nZUluZm8gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVBZGRGaWVsZCxcbiAgICBBSVRhYmxlQ2VsbHMsXG4gICAgQUlUYWJsZUNvbHVtbkhlYWRzLFxuICAgIEFJVGFibGVGaWVsZEhlYWQsXG4gICAgQUlUYWJsZUZyb3plbkNlbGxzLFxuICAgIEFJVGFibGVGcm96ZW5Db2x1bW5IZWFkcyxcbiAgICBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyxcbiAgICBBSVRhYmxlSG92ZXJSb3dIZWFkcyxcbiAgICBBSVRhYmxlSWNvbixcbiAgICBBSVRhYmxlT3RoZXJSb3dzLFxuICAgIEFJVGFibGVQbGFjZWhvbGRlckNlbGxzXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBjcmVhdGVBY3RpdmVDZWxsQm9yZGVyIH0gZnJvbSAnLi9jcmVhdGlvbnMvY3JlYXRlLWFjdGl2ZS1jZWxsLWJvcmRlcic7XG5cbktvbnZhLnBpeGVsUmF0aW8gPSAyO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXJlbmRlcmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLb0NvbnRhaW5lcixcbiAgICAgICAgS29TdGFnZSxcbiAgICAgICAgS29TaGFwZSxcbiAgICAgICAgQUlUYWJsZUNvbHVtbkhlYWRzLFxuICAgICAgICBBSVRhYmxlRnJvemVuQ29sdW1uSGVhZHMsXG4gICAgICAgIEFJVGFibGVDZWxscyxcbiAgICAgICAgQUlUYWJsZUZyb3plbkNlbGxzLFxuICAgICAgICBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyxcbiAgICAgICAgQUlUYWJsZVBsYWNlaG9sZGVyQ2VsbHMsXG4gICAgICAgIEFJVGFibGVBZGRGaWVsZCxcbiAgICAgICAgQUlUYWJsZUhvdmVyUm93SGVhZHMsXG4gICAgICAgIEFJVGFibGVPdGhlclJvd3NcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVSZW5kZXJlciB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZVJlbmRlcmVyQ29uZmlnPigpO1xuXG4gICAga29Nb3VzZW1vdmUgPSBvdXRwdXQ8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIGtvTW91c2Vkb3duID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb1doZWVsID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8V2hlZWxFdmVudD4+KCk7XG5cbiAgICBrb0NsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb0RibGNsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBmaWVsZHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBBSVRhYmxlLmdldFZpc2libGVGaWVsZHModGhpcy5jb25maWcoKS5haVRhYmxlKTtcbiAgICB9KTtcblxuICAgIHJlYWRvbmx5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8ucmVhZG9ubHk7XG4gICAgfSk7XG5cbiAgICBjb29yZGluYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uY29vcmRpbmF0ZTtcbiAgICB9KTtcblxuICAgIGNvbnRhaW5lcldpZHRoID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lcldpZHRoO1xuICAgIH0pO1xuXG4gICAgY29udGFpbmVySGVpZ2h0ID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lckhlaWdodDtcbiAgICB9KTtcblxuICAgIHNjcm9sbFN0YXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uYWlUYWJsZSEuY29udGV4dCEuc2Nyb2xsU3RhdGUoKTtcbiAgICB9KTtcblxuICAgIHZpc2libGVSYW5nZUluZm8gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBnZXRWaXNpYmxlUmFuZ2VJbmZvKHRoaXMuY29vcmRpbmF0ZSgpISwgdGhpcy5zY3JvbGxTdGF0ZSgpISk7XG4gICAgfSk7XG5cbiAgICBmcm96ZW5BcmVhV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBBSV9UQUJMRV9ST1dfSEVBRF9XSURUSCArIHRoaXMuY29vcmRpbmF0ZSgpIS5mcm96ZW5Db2x1bW5XaWR0aCE7XG4gICAgfSk7XG5cbiAgICBsYXN0Q29sdW1uV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uV2lkdGgodGhpcy52aXNpYmxlUmFuZ2VJbmZvKCkuY29sdW1uU3RvcEluZGV4KTtcbiAgICB9KTtcblxuICAgIGxhc3RDb2x1bW5PZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uT2Zmc2V0KHRoaXMudmlzaWJsZVJhbmdlSW5mbygpLmNvbHVtblN0b3BJbmRleCk7XG4gICAgfSk7XG5cbiAgICBjZWxsR3JvdXBDbGlwV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcldpZHRoKCkgLSB0aGlzLmZyb3plbkFyZWFXaWR0aCgpO1xuICAgIH0pO1xuXG4gICAgc3RhZ2VDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGlzU2Nyb2xsaW5nIH0gPSB0aGlzLnNjcm9sbFN0YXRlKCkhO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgd2lkdGg6IHRoaXMuY29udGFpbmVyV2lkdGgoKSxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogaXNTY3JvbGxpbmcgPyBmYWxzZSA6IHRydWVcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGdyaWRHcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogMCxcbiAgICAgICAgICAgIGNsaXBZOiAwLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCksXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb21tb25Hcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDEsXG4gICAgICAgICAgICBjbGlwWTogMCxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5jZWxsR3JvdXBDbGlwV2lkdGgoKSxcbiAgICAgICAgICAgIGNsaXBIZWlnaHQ6IHRoaXMuY29udGFpbmVySGVpZ2h0KClcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGF0dGFjaEdyb3VwQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNsaXBYOiB0aGlzLmZyb3plbkFyZWFXaWR0aCgpIC0gMSxcbiAgICAgICAgICAgIGNsaXBZOiB0aGlzLmNvb3JkaW5hdGUoKSEucm93SW5pdFNpemUgLSAxLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCkgLSB0aGlzLmZyb3plbkFyZWFXaWR0aCgpLFxuICAgICAgICAgICAgY2xpcEhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSAtIHRoaXMuY29vcmRpbmF0ZSgpIS5yb3dJbml0U2l6ZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgZnJvemVuQXR0YWNoR3JvdXBDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xpcFg6IDAsXG4gICAgICAgICAgICBjbGlwWTogdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplIC0gMSxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDQsXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpIC0gdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRZQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxUb3AgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIG9mZnNldFhDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRYOiBzY3JvbGxMZWZ0XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFRvcCB9ID0gdGhpcy5zY3JvbGxTdGF0ZSgpITtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9mZnNldFg6IHNjcm9sbExlZnQsXG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGNvbHVtbkhlYWRPckFkZEZpZWxkQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNvbHVtblN0YXJ0SW5kZXgsIGNvbHVtblN0b3BJbmRleCB9ID0gdGhpcy52aXNpYmxlUmFuZ2VJbmZvKCk7XG4gICAgICAgIGNvbnN0IHsgYWlUYWJsZSwgY29vcmRpbmF0ZSwgcmVhZG9ubHkgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGNvbnN0IHsgcG9pbnRQb3NpdGlvbiB9ID0gYWlUYWJsZS5jb250ZXh0ITtcbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5maWVsZHMoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgY29sdW1uU3RhcnRJbmRleCxcbiAgICAgICAgICAgIGNvbHVtblN0b3BJbmRleCxcbiAgICAgICAgICAgIHBvaW50UG9zaXRpb246IHBvaW50UG9zaXRpb24oKSxcbiAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjZWxsc0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlLCByZWZlcmVuY2VzIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICBjb25zdCB7IHJvd1N0YXJ0SW5kZXgsIHJvd1N0b3BJbmRleCwgY29sdW1uU3RhcnRJbmRleCwgY29sdW1uU3RvcEluZGV4IH0gPSB0aGlzLnZpc2libGVSYW5nZUluZm8oKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgcmVmZXJlbmNlcyxcbiAgICAgICAgICAgIHJvd1N0YXJ0SW5kZXgsXG4gICAgICAgICAgICByb3dTdG9wSW5kZXgsXG4gICAgICAgICAgICBjb2x1bW5TdGFydEluZGV4LFxuICAgICAgICAgICAgY29sdW1uU3RvcEluZGV4XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBhY3RpdmVDZWxsQm9yZGVyQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlQWN0aXZlQ2VsbEJvcmRlcih0aGlzLmNlbGxzQ29uZmlnKCkpO1xuICAgIH0pO1xuXG4gICAgc3RhZ2VNb3VzZW1vdmUoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvTW91c2Vtb3ZlLmVtaXQoZSBhcyBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KTtcbiAgICB9XG5cbiAgICBzdGFnZU1vdXNlZG93bihlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29Nb3VzZWRvd24uZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlQ2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvQ2xpY2suZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlRGJsY2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvRGJsY2xpY2suZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cbn1cbiIsIjxrby1zdGFnZVxuICAgIFtjb25maWddPVwic3RhZ2VDb25maWcoKVwiXG4gICAgKGtvTW91c2Vtb3ZlKT1cInN0YWdlTW91c2Vtb3ZlKCRldmVudClcIlxuICAgIChrb01vdXNlZG93bik9XCJzdGFnZU1vdXNlZG93bigkZXZlbnQpXCJcbiAgICAoa29DbGljayk9XCJzdGFnZUNsaWNrKCRldmVudClcIlxuICAgIChrb0RibGNsaWNrKT1cInN0YWdlRGJsY2xpY2soJGV2ZW50KVwiXG4+XG4gICAgPGtvLWxheWVyPlxuICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJncmlkR3JvdXBDb25maWcoKVwiPlxuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwib2Zmc2V0WUNvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWZyb3plbi1jZWxscyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLWZyb3plbi1jZWxscz5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtb3RoZXItcm93cyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLW90aGVyLXJvd3M+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWhvdmVyLXJvdy1oZWFkcyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLWhvdmVyLXJvdy1oZWFkcz5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzPlxuICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgPGtvLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxhaS10YWJsZS1mcm96ZW4tY29sdW1uLWhlYWRzIFtjb25maWddPVwiY29sdW1uSGVhZE9yQWRkRmllbGRDb25maWcoKVwiPjwvYWktdGFibGUtZnJvemVuLWNvbHVtbi1oZWFkcz5cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG5cbiAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImNvbW1vbkdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJvZmZzZXRDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YWktdGFibGUtY2VsbHMgW2NvbmZpZ109XCJjZWxsc0NvbmZpZygpXCI+PC9haS10YWJsZS1jZWxscz5cbiAgICAgICAgICAgICAgICA8L2tvLWdyb3VwPlxuXG4gICAgICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwib2Zmc2V0WENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1jb2x1bW4taGVhZHMgW2NvbmZpZ109XCJjb2x1bW5IZWFkT3JBZGRGaWVsZENvbmZpZygpXCI+PC9haS10YWJsZS1jb2x1bW4taGVhZHM+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1hZGQtZmllbGQgW2NvbmZpZ109XCJjb2x1bW5IZWFkT3JBZGRGaWVsZENvbmZpZygpXCI+PC9haS10YWJsZS1hZGQtZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9rby1ncm91cD5cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG5cbiAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImF0dGFjaEdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJvZmZzZXRDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YWktdGFibGUtcGxhY2Vob2xkZXItY2VsbHMgW2NvbmZpZ109XCJjZWxsc0NvbmZpZygpXCI+PC9haS10YWJsZS1wbGFjZWhvbGRlci1jZWxscz5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChhY3RpdmVDZWxsQm9yZGVyQ29uZmlnKCkuYWN0aXZlQ2VsbEJvcmRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJhY3RpdmVDZWxsQm9yZGVyQ29uZmlnKCkuYWN0aXZlQ2VsbEJvcmRlciFcIj48L2tvLXJlY3Q+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwiZnJvemVuQXR0YWNoR3JvdXBDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cIm9mZnNldFlDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5mcm96ZW5BY3RpdmVDZWxsQm9yZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cImFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5mcm96ZW5BY3RpdmVDZWxsQm9yZGVyIVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICA8L2tvLWdyb3VwPlxuICAgIDwva28tbGF5ZXI+XG48L2tvLXN0YWdlPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
@@ -17,8 +17,9 @@ export class AITableGridFieldService {
|
|
17
17
|
return this.thyPopover.open(component, {
|
18
18
|
origin,
|
19
19
|
originPosition: position,
|
20
|
-
manualClosure: true,
|
21
20
|
placement: 'bottomLeft',
|
21
|
+
manualClosure: true,
|
22
|
+
originActiveClass: undefined,
|
22
23
|
initialState: {
|
23
24
|
aiTable,
|
24
25
|
aiEditField: field,
|
@@ -32,13 +33,10 @@ export class AITableGridFieldService {
|
|
32
33
|
origin,
|
33
34
|
originPosition: position,
|
34
35
|
placement: 'bottomLeft',
|
35
|
-
originActiveClass:
|
36
|
-
hasBackdrop: false,
|
37
|
-
insideClosable: true,
|
38
|
-
outsideClosable: true,
|
36
|
+
originActiveClass: undefined,
|
39
37
|
initialState: {
|
40
38
|
origin: editOrigin,
|
41
|
-
position: options.
|
39
|
+
position: options.editFieldPosition,
|
42
40
|
aiTable,
|
43
41
|
fieldId,
|
44
42
|
fieldMenus
|
@@ -52,4 +50,4 @@ export class AITableGridFieldService {
|
|
52
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableGridFieldService, decorators: [{
|
53
51
|
type: Injectable
|
54
52
|
}], ctorParameters: () => [{ type: i1.ThyPopover }] });
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3NlcnZpY2VzL2ZpZWxkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFJMUUsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxPQUFPLEVBQW9DLENBQUM7QUFHL0YsTUFBTSxPQUFPLHVCQUF1QjtJQUdoQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUU5QyxpQkFBaUIsQ0FBQyxhQUF3QztRQUN0RCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBZ0IsRUFBRSxPQUFnQztRQUNoRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3RELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLElBQUksMEJBQTBCLENBQUM7UUFDeEYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkMsTUFBTTtZQUNOLGNBQWMsRUFBRSxRQUFRO1lBQ3hCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGlCQUFpQixFQUFFLFNBQVM7WUFDNUIsWUFBWSxFQUFFO2dCQUNWLE9BQU87Z0JBQ1AsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFFBQVE7YUFDWDtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxPQUFnQztRQUM1RCxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEMsTUFBTTtZQUNOLGNBQWMsRUFBRSxRQUFRO1lBQ3hCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLGlCQUFpQixFQUFFLFNBQVM7WUFDNUIsWUFBWSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtnQkFDbkMsT0FBTztnQkFDUCxPQUFPO2dCQUNQLFVBQVU7YUFDYjtTQUNKLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs4R0ExQ1EsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZFByb3BlcnR5RWRpdG9yIH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBGaWVsZE1lbnUgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpZWxkLW1lbnUvZmllbGQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQUlUYWJsZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlGaWVsZENvbmZpZywgQUlUYWJsZUVkaXRGaWVsZE9wdGlvbnMsIEFJVGFibGVGaWVsZE1lbnVPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCA9IG5ldyBXZWFrTWFwPEFJVGFibGUsIEFJVGFibGVHcmlkRmllbGRTZXJ2aWNlPigpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQUlUYWJsZUdyaWRGaWVsZFNlcnZpY2Uge1xuICAgIGFpRmllbGRDb25maWc6IEFJRmllbGRDb25maWcgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIpIHt9XG5cbiAgICBpbml0QUlGaWVsZENvbmZpZyhhaUZpZWxkQ29uZmlnOiBBSUZpZWxkQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuYWlGaWVsZENvbmZpZyA9IGFpRmllbGRDb25maWc7XG4gICAgfVxuXG4gICAgZWRpdEZpZWxkUHJvcGVydHkoYWlUYWJsZTogQUlUYWJsZSwgb3B0aW9uczogQUlUYWJsZUVkaXRGaWVsZE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgaXNVcGRhdGUsIG9yaWdpbiwgcG9zaXRpb24gfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuYWlGaWVsZENvbmZpZz8uZmllbGRQcm9wZXJ0eUVkaXRvciA/PyBBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvcjtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5UG9wb3Zlci5vcGVuKGNvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IHBvc2l0aW9uLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICAgICAgYWlFZGl0RmllbGQ6IGZpZWxkLFxuICAgICAgICAgICAgICAgIGlzVXBkYXRlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5GaWVsZE1lbnUoYWlUYWJsZTogQUlUYWJsZSwgb3B0aW9uczogQUlUYWJsZUZpZWxkTWVudU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBvcmlnaW4sIGVkaXRPcmlnaW4sIHBvc2l0aW9uLCBmaWVsZElkLCBmaWVsZE1lbnVzIH0gPSBvcHRpb25zO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihGaWVsZE1lbnUsIHtcbiAgICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICAgIG9yaWdpblBvc2l0aW9uOiBwb3NpdGlvbixcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIG9yaWdpbjogZWRpdE9yaWdpbixcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogb3B0aW9ucy5lZGl0RmllbGRQb3NpdGlvbixcbiAgICAgICAgICAgICAgICBhaVRhYmxlLFxuICAgICAgICAgICAgICAgIGZpZWxkSWQsXG4gICAgICAgICAgICAgICAgZmllbGRNZW51c1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlZjtcbiAgICB9XG59XG4iXX0=
|
@@ -4,4 +4,4 @@ export var AITableMouseDownType;
|
|
4
4
|
AITableMouseDownType[AITableMouseDownType["Center"] = 1] = "Center";
|
5
5
|
AITableMouseDownType[AITableMouseDownType["Right"] = 2] = "Right";
|
6
6
|
})(AITableMouseDownType || (AITableMouseDownType = {}));
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3R5cGVzL2NvbXBvbmVudC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNERBLE1BQU0sQ0FBTixJQUFZLG9CQUlYO0FBSkQsV0FBWSxvQkFBb0I7SUFDNUIsK0RBQUksQ0FBQTtJQUNKLG1FQUFNLENBQUE7SUFDTixpRUFBSyxDQUFBO0FBQ1QsQ0FBQyxFQUpXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFJL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgS29udmEgZnJvbSAna29udmEnO1xuaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBDb29yZGluYXRlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlUG9pbnRQb3NpdGlvbiB9IGZyb20gJy4vZ3JpZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUljb25Db25maWcgZXh0ZW5kcyBLb252YS5TaGFwZUNvbmZpZyB7XG4gICAgc2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlRmllbGRUeXBlSWNvbkNvbmZpZyB7XG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICB4PzogbnVtYmVyO1xuICAgIHk/OiBudW1iZXI7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIGZpbGw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUZpZWxkSGVhZENvbmZpZyB7XG4gICAgeD86IG51bWJlcjtcbiAgICB5PzogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICBzdHJva2U/OiBzdHJpbmc7XG4gICAgaWNvblZpc2libGU/OiBib29sZWFuO1xuICAgIGlzU2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIGlzSG92ZXJJY29uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlQ29sdW1uSGVhZHNDb25maWcge1xuICAgIGFpVGFibGU6IEFJVGFibGU7XG4gICAgY29vcmRpbmF0ZTogQ29vcmRpbmF0ZTtcbiAgICBjb2x1bW5TdGFydEluZGV4OiBudW1iZXI7XG4gICAgY29sdW1uU3RvcEluZGV4OiBudW1iZXI7XG4gICAgcG9pbnRQb3NpdGlvbjogQUlUYWJsZVBvaW50UG9zaXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUFkZEZpZWxkQ29uZmlnIHtcbiAgICBhaVRhYmxlOiBBSVRhYmxlO1xuICAgIGNvb3JkaW5hdGU6IENvb3JkaW5hdGU7XG4gICAgZmllbGRzOiBBSVRhYmxlRmllbGRbXTtcbiAgICBjb2x1bW5TdG9wSW5kZXg6IG51bWJlcjtcbiAgICBwb2ludFBvc2l0aW9uOiBBSVRhYmxlUG9pbnRQb3NpdGlvbjtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVRhcmdldE5hbWVPcHRpb25zIHtcbiAgICB0YXJnZXROYW1lOiBzdHJpbmc7XG4gICAgZmllbGRJZD86IHN0cmluZztcbiAgICByZWNvcmRJZD86IHN0cmluZztcbiAgICBtb3VzZVN0eWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVUYXJnZXROYW1lRGV0YWlsIHtcbiAgICB0YXJnZXROYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgIGZpZWxkSWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIHJlY29yZElkPzogc3RyaW5nIHwgbnVsbDtcbiAgICBtb3VzZVN0eWxlPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gQUlUYWJsZU1vdXNlRG93blR5cGUge1xuICAgIExlZnQsXG4gICAgQ2VudGVyLFxuICAgIFJpZ2h0XG59XG4iXX0=
|
package/esm2022/types/field.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy90eXBlcy9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIFNlbGVjdFNldHRpbmdzIH0gZnJvbSAnLi4vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUZpZWxkTWVudUl0ZW0ge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgZXhlYz86IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+LFxuICAgICAgICBvcmlnaW4/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PixcbiAgICAgICAgcG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1cbiAgICApID0+IGFueTtcbiAgICBoaWRkZW4/OiAoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+KSA9PiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlU2VsZWN0RmllbGQgZXh0ZW5kcyBBSVRhYmxlRmllbGQge1xuICAgIHNldHRpbmdzOiBTZWxlY3RTZXR0aW5ncztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlRWRpdEZpZWxkT3B0aW9ucyB7XG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICBpc1VwZGF0ZTogYm9vbGVhbjtcbiAgICBvcmlnaW46IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxhbnk+
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy90eXBlcy9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIFNlbGVjdFNldHRpbmdzIH0gZnJvbSAnLi4vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUZpZWxkTWVudUl0ZW0ge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgZXhlYz86IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+LFxuICAgICAgICBvcmlnaW4/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PixcbiAgICAgICAgcG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1cbiAgICApID0+IGFueTtcbiAgICBoaWRkZW4/OiAoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+KSA9PiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlU2VsZWN0RmllbGQgZXh0ZW5kcyBBSVRhYmxlRmllbGQge1xuICAgIHNldHRpbmdzOiBTZWxlY3RTZXR0aW5ncztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlRWRpdEZpZWxkT3B0aW9ucyB7XG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICBpc1VwZGF0ZTogYm9vbGVhbjtcbiAgICBvcmlnaW46IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxhbnk+O1xuICAgIHBvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVGaWVsZE1lbnVPcHRpb25zIHtcbiAgICBmaWVsZElkOiBzdHJpbmc7XG4gICAgZmllbGRNZW51czogQUlUYWJsZUZpZWxkTWVudUl0ZW1bXTtcbiAgICBlZGl0T3JpZ2luPzogYW55O1xuICAgIG9yaWdpbj86IGFueTtcbiAgICBwb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcbiAgICBlZGl0RmllbGRQb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcbn1cbiJdfQ==
|
package/esm2022/types/grid.mjs
CHANGED
@@ -13,4 +13,4 @@ export var AITableAreaType;
|
|
13
13
|
AITableAreaType["grid"] = "grid";
|
14
14
|
AITableAreaType["none"] = "none";
|
15
15
|
})(AITableAreaType || (AITableAreaType = {}));
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3R5cGVzL2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaURBLE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDNUIsbUNBQVcsQ0FBQTtJQUNYLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBZ0JELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIsdUNBQW1CLENBQUE7SUFDbkIsMkNBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFlRCxNQUFNLENBQU4sSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZVJlY29yZCwgQ29vcmRpbmF0ZSwgRmllbGRWYWx1ZSwgVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnMgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZE1lbnVJdGVtIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlTGluZWFyUm93IH0gZnJvbSAnLi9yb3cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYSB7XG4gICAgZWRpdG9yPzogYW55O1xuICAgIHRyYW5zZm9ybT86IChmaWVsZDogQUlUYWJsZUZpZWxkLCB2YWx1ZTogRmllbGRWYWx1ZSkgPT4gYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVHcmlkRGF0YSB7XG4gICAgdHlwZTogJ2dyaWQnO1xuICAgIGZpZWxkczogQUlUYWJsZUZpZWxkW107XG4gICAgcmVjb3JkczogQUlUYWJsZVJlY29yZFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVTZWxlY3Rpb24ge1xuICAgIHNlbGVjdGVkUmVjb3JkczogTWFwPHN0cmluZywgYm9vbGVhbj47XG4gICAgc2VsZWN0ZWRGaWVsZHM6IE1hcDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHNlbGVjdGVkQ2VsbHM6IE1hcDxzdHJpbmcsIHt9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSUZpZWxkQ29uZmlnIHtcbiAgICBmaWVsZFJlbmRlcmVycz86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYT4+O1xuICAgIGZpZWxkUHJvcGVydHlFZGl0b3I/OiBhbnk7XG4gICAgZmllbGRNZW51cz86IEFJVGFibGVGaWVsZE1lbnVJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVVzZXJJbmZvIHtcbiAgICB1aWQ/OiBzdHJpbmc7XG4gICAgZGlzcGxheV9uYW1lPzogc3RyaW5nO1xuICAgIGF2YXRhcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlUmVmZXJlbmNlcyB7XG4gICAgbWVtYmVyczogRGljdGlvbmFyeTxBSVRhYmxlVXNlckluZm8+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVSZW5kZXJlckNvbmZpZyB7XG4gICAgYWlUYWJsZTogQUlUYWJsZTtcbiAgICBjb250YWluZXI6IEhUTUxEaXZFbGVtZW50O1xuICAgIGNvb3JkaW5hdGU6IENvb3JkaW5hdGU7XG4gICAgY29udGFpbmVyV2lkdGg6IG51bWJlcjtcbiAgICBjb250YWluZXJIZWlnaHQ6IG51bWJlcjtcbiAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlcztcbiAgICByZWFkb25seT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIEFJVGFibGVSb3dDb2x1bW5UeXBlIHtcbiAgICByb3cgPSAncm93JyxcbiAgICBjb2x1bW4gPSAnY29sdW1uJ1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlU2l6ZU1hcCA9IFJlY29yZDxudW1iZXIsIG51bWJlcj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUNvb3JkaW5hdGUge1xuICAgIHJvd0NvdW50OiBudW1iZXI7XG4gICAgY29sdW1uQ291bnQ6IG51bWJlcjtcbiAgICBjb250YWluZXI6IEhUTUxEaXZFbGVtZW50O1xuICAgIHJvd0hlaWdodDogbnVtYmVyO1xuICAgIHJvd0luaXRTaXplPzogbnVtYmVyO1xuICAgIHJvd0luZGljZXNNYXA6IEFJVGFibGVTaXplTWFwO1xuICAgIGNvbHVtbkluZGljZXNNYXA6IEFJVGFibGVTaXplTWFwO1xuICAgIGNvbHVtbkluaXRTaXplPzogbnVtYmVyO1xuICAgIGZyb3plbkNvbHVtbkNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBBSVRhYmxlQ2hlY2tUeXBlIHtcbiAgICBjaGVja2VkID0gJ2NoZWNrZWQnLFxuICAgIHVuY2hlY2tlZCA9ICd1bmNoZWNrZWQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVNjcm9sbFN0YXRlIHtcbiAgICBzY3JvbGxUb3A6IG51bWJlcjtcbiAgICBzY3JvbGxMZWZ0OiBudW1iZXI7XG4gICAgaXNTY3JvbGxpbmc6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsQWN0aW9uT3B0aW9ucyB7XG4gICAgZGVsdGFYOiBudW1iZXI7XG4gICAgZGVsdGFZOiBudW1iZXI7XG4gICAgc2hpZnRLZXk6IGJvb2xlYW47XG4gICAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBBSVRhYmxlQXJlYVR5cGUge1xuICAgIGdyaWQgPSAnZ3JpZCcsXG4gICAgbm9uZSA9ICdub25lJ1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlUG9pbnRQb3NpdGlvbiA9IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICAgIGFyZWFUeXBlOiBBSVRhYmxlQXJlYVR5cGU7XG4gICAgdGFyZ2V0TmFtZTogc3RyaW5nO1xuICAgIHJlYWxUYXJnZXROYW1lOiBzdHJpbmc7XG4gICAgcm93SW5kZXg6IG51bWJlcjtcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyO1xuICAgIG9mZnNldFRvcDogbnVtYmVyO1xuICAgIG9mZnNldExlZnQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUVkaXRQb3NpdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVPcGVuRWRpdE9wdGlvbnMge1xuICAgIHJlY29yZElkOiBzdHJpbmc7XG4gICAgZmllbGRJZDogc3RyaW5nO1xuICAgIGNvb3JkaW5hdGU6IENvb3JkaW5hdGU7XG4gICAgY29udGFpbmVyPzogSFRNTERpdkVsZW1lbnQ7XG4gICAgaXNIb3ZlckVkaXQ/OiBib29sZWFuO1xuICAgIHVwZGF0ZUZpZWxkVmFsdWU6IChvcHRpb25zOiBVcGRhdGVGaWVsZFZhbHVlT3B0aW9uczxhbnk+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVDb250ZXh0IHtcbiAgICBsaW5lYXJSb3dzOiBTaWduYWw8QUlUYWJsZUxpbmVhclJvd1tdPjtcbiAgICBwb2ludFBvc2l0aW9uOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlUG9pbnRQb3NpdGlvbj47XG4gICAgc2Nyb2xsU3RhdGU6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVTY3JvbGxTdGF0ZT47XG4gICAgc2Nyb2xsQWN0aW9uOiAob3B0aW9uczogU2Nyb2xsQWN0aW9uT3B0aW9ucykgPT4gdm9pZDtcbiAgICB2aXNpYmxlQ29sdW1uc01hcDogU2lnbmFsPE1hcDxzdHJpbmcsIG51bWJlcj4+O1xuICAgIHZpc2libGVSb3dzSW5kZXhNYXA6IFNpZ25hbDxNYXA8c3RyaW5nLCBudW1iZXI+Pjtcbn1cbiJdfQ==
|
package/esm2022/utils/build.mjs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { FieldOptions } from '../core';
|
2
2
|
import { AITableRowType } from '../types/row';
|
3
|
-
export const buildGridLinearRows = (visibleRecords) => {
|
3
|
+
export const buildGridLinearRows = (visibleRecords, isAddingVisible = true) => {
|
4
4
|
const linearRows = [];
|
5
5
|
let displayRowIndex = 0;
|
6
6
|
[...visibleRecords, { _id: '' }].forEach((row) => {
|
@@ -12,7 +12,7 @@ export const buildGridLinearRows = (visibleRecords) => {
|
|
12
12
|
displayIndex: displayRowIndex
|
13
13
|
});
|
14
14
|
}
|
15
|
-
if (!row._id) {
|
15
|
+
if (isAddingVisible && !row._id) {
|
16
16
|
linearRows.push({
|
17
17
|
type: AITableRowType.add,
|
18
18
|
_id: ''
|
@@ -36,4 +36,4 @@ export const buildGridData = (recordValue, fieldsValue) => {
|
|
36
36
|
records: recordValue
|
37
37
|
};
|
38
38
|
};
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsY0FBOEIsRUFBRSxrQkFBMkIsSUFBSSxFQUFzQixFQUFFO0lBQ3ZILE1BQU0sVUFBVSxHQUF1QixFQUFFLENBQUM7SUFDMUMsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUMsR0FBRyxjQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUM3QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNWLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ1osSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2dCQUMzQixHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUc7Z0JBQ1osWUFBWSxFQUFFLGVBQWU7YUFDaEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksZUFBZSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzlCLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ1osSUFBSSxFQUFFLGNBQWMsQ0FBQyxHQUFHO2dCQUN4QixHQUFHLEVBQUUsRUFBRTthQUNWLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFdBQTJCLEVBQUUsV0FBMEIsRUFBbUIsRUFBRTtJQUN0RyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDckMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDM0UsT0FBTztZQUNILEdBQUcsS0FBSztZQUNSLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxJQUFJO1lBQ3BDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxLQUFLO1NBQzFDLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU87UUFDSCxJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU07UUFDTixPQUFPLEVBQUUsV0FBVztLQUN2QixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkcywgQUlUYWJsZVJlY29yZHMsIEZpZWxkT3B0aW9ucyB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUdyaWREYXRhLCBBSVRhYmxlTGluZWFyUm93IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZVJvd1R5cGUgfSBmcm9tICcuLi90eXBlcy9yb3cnO1xuXG5leHBvcnQgY29uc3QgYnVpbGRHcmlkTGluZWFyUm93cyA9ICh2aXNpYmxlUmVjb3JkczogQUlUYWJsZVJlY29yZHMsIGlzQWRkaW5nVmlzaWJsZTogYm9vbGVhbiA9IHRydWUpOiBBSVRhYmxlTGluZWFyUm93W10gPT4ge1xuICAgIGNvbnN0IGxpbmVhclJvd3M6IEFJVGFibGVMaW5lYXJSb3dbXSA9IFtdO1xuICAgIGxldCBkaXNwbGF5Um93SW5kZXggPSAwO1xuICAgIFsuLi52aXNpYmxlUmVjb3JkcywgeyBfaWQ6ICcnIH1dLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICBpZiAocm93Ll9pZCkge1xuICAgICAgICAgICAgZGlzcGxheVJvd0luZGV4Kys7XG4gICAgICAgICAgICBsaW5lYXJSb3dzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IEFJVGFibGVSb3dUeXBlLnJlY29yZCxcbiAgICAgICAgICAgICAgICBfaWQ6IHJvdy5faWQsXG4gICAgICAgICAgICAgICAgZGlzcGxheUluZGV4OiBkaXNwbGF5Um93SW5kZXhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0FkZGluZ1Zpc2libGUgJiYgIXJvdy5faWQpIHtcbiAgICAgICAgICAgIGxpbmVhclJvd3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogQUlUYWJsZVJvd1R5cGUuYWRkLFxuICAgICAgICAgICAgICAgIF9pZDogJydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGxpbmVhclJvd3M7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRHcmlkRGF0YSA9IChyZWNvcmRWYWx1ZTogQUlUYWJsZVJlY29yZHMsIGZpZWxkc1ZhbHVlOiBBSVRhYmxlRmllbGRzKTogQUlUYWJsZUdyaWREYXRhID0+IHtcbiAgICBjb25zdCBmaWVsZHMgPSBmaWVsZHNWYWx1ZS5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkT3B0aW9uID0gRmllbGRPcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gdmFsdWUudHlwZSkhO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICBpY29uOiB2YWx1ZS5pY29uIHx8IGZpZWxkT3B0aW9uLmljb24sXG4gICAgICAgICAgICB3aWR0aDogdmFsdWUud2lkdGggfHwgZmllbGRPcHRpb24ud2lkdGhcbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnZ3JpZCcsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgcmVjb3JkczogcmVjb3JkVmFsdWVcbiAgICB9O1xufTtcbiJdfQ==
|