@tetacom/ng-components 1.0.15 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/component/chart/chart/chart.component.d.ts +1 -0
- package/component/table/contract/table-context-menu-config.d.ts +2 -0
- package/component/table/public-api.d.ts +4 -0
- package/component/table/service/table.service.d.ts +1 -0
- package/component/table/table-body/table-body.component.d.ts +3 -2
- package/component/table/table.module.d.ts +2 -1
- package/component/table/util/public-api.d.ts +2 -0
- package/esm2020/component/chart/chart/chart.component.mjs +7 -3
- package/esm2020/component/chart/core/chart.mjs +3 -1
- package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +2 -2
- package/esm2020/component/date-picker/day-select/day-select.component.mjs +3 -1
- package/esm2020/component/filter/contarct/filter-item.mjs +15 -23
- package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +2 -2
- package/esm2020/component/table/base/cell-component-base.mjs +1 -2
- package/esm2020/component/table/cell-host/cell-host.component.mjs +1 -1
- package/esm2020/component/table/contract/table-column.mjs +21 -39
- package/esm2020/component/table/contract/table-context-menu-config.mjs +3 -1
- package/esm2020/component/table/default/date-cell/date-cell.component.mjs +2 -1
- package/esm2020/component/table/public-api.mjs +5 -1
- package/esm2020/component/table/service/table.service.mjs +5 -4
- package/esm2020/component/table/table/table.component.mjs +3 -3
- package/esm2020/component/table/table-body/table-body.component.mjs +21 -16
- package/esm2020/component/table/table.module.mjs +6 -2
- package/esm2020/component/table/util/public-api.mjs +3 -0
- package/esm2020/component/table/util/table-util.mjs +1 -1
- package/fesm2015/tetacom-ng-components.mjs +77 -84
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +74 -84
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
- package/style/progress.scss +6 -6
|
@@ -6,13 +6,14 @@ import { combineLatest } from 'rxjs';
|
|
|
6
6
|
import { ArrayUtil } from '../../../common/util/array-util';
|
|
7
7
|
import { AggregationType } from '../enum/aggregation-type.enum';
|
|
8
8
|
import { Datasource, SizeStrategy } from 'ngx-ui-scroll';
|
|
9
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "../service/table.service";
|
|
11
|
-
import * as i2 from "
|
|
12
|
-
import * as i3 from "../cell/cell.component";
|
|
13
|
-
import * as i4 from "
|
|
14
|
-
import * as i5 from "
|
|
15
|
-
import * as i6 from "
|
|
12
|
+
import * as i2 from "@angular/cdk/scrolling";
|
|
13
|
+
import * as i3 from "../selection-cell/selection-cell.component";
|
|
14
|
+
import * as i4 from "../cell/cell.component";
|
|
15
|
+
import * as i5 from "../../icon/icon/icon.component";
|
|
16
|
+
import * as i6 from "@angular/common";
|
|
16
17
|
import * as i7 from "../../../pipe/number-pipe/number.pipe";
|
|
17
18
|
export class TableBodyComponent {
|
|
18
19
|
constructor(_svc, _cdr) {
|
|
@@ -57,11 +58,14 @@ export class TableBodyComponent {
|
|
|
57
58
|
this._svc.scrollIndex
|
|
58
59
|
.pipe(takeWhile((_) => this._alive))
|
|
59
60
|
.subscribe(async (_) => {
|
|
60
|
-
if (this.viewport && this.dataSource && _ !== null) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
// if (this.viewport && this.dataSource && _ !== null) {
|
|
62
|
+
// await this.dataSource.adapter.relax();
|
|
63
|
+
// await this.dataSource.adapter.fix({
|
|
64
|
+
// scrollPosition: (_ + 1) * 24,
|
|
65
|
+
// });
|
|
66
|
+
// }
|
|
67
|
+
if (this.viewport) {
|
|
68
|
+
this.viewport.scrollToIndex(_, 'smooth');
|
|
65
69
|
}
|
|
66
70
|
this._cdr.markForCheck();
|
|
67
71
|
});
|
|
@@ -93,7 +97,8 @@ export class TableBodyComponent {
|
|
|
93
97
|
setActiveRow(row) {
|
|
94
98
|
this._svc.setActiveRow(row);
|
|
95
99
|
}
|
|
96
|
-
ngOnInit() {
|
|
100
|
+
ngOnInit() {
|
|
101
|
+
}
|
|
97
102
|
ngOnDestroy() {
|
|
98
103
|
this._alive = false;
|
|
99
104
|
}
|
|
@@ -151,7 +156,7 @@ export class TableBodyComponent {
|
|
|
151
156
|
return template;
|
|
152
157
|
}
|
|
153
158
|
trackRow(index, row) {
|
|
154
|
-
return
|
|
159
|
+
return index;
|
|
155
160
|
}
|
|
156
161
|
trackColumns(index, column) {
|
|
157
162
|
return column.name;
|
|
@@ -199,10 +204,10 @@ export class TableBodyComponent {
|
|
|
199
204
|
}
|
|
200
205
|
}
|
|
201
206
|
TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableBodyComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
-
TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableBodyComponent, selector: "teta-table-body", inputs: { virtual: "virtual", activeRow: "activeRow", rowHeight: "rowHeight", additionalComponent: "additionalComponent", tree: "tree", aggregate: "aggregate", grouping: "grouping", groupRowComponent: "groupRowComponent", openLevels: "openLevels", selectType: "selectType", rowClass: "rowClass" }, host: { properties: { "class.table-body": "this.tableBodyClass" } }, viewQueries: [{ propertyName: "viewport", first: true, predicate:
|
|
207
|
+
TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableBodyComponent, selector: "teta-table-body", inputs: { virtual: "virtual", activeRow: "activeRow", rowHeight: "rowHeight", additionalComponent: "additionalComponent", tree: "tree", aggregate: "aggregate", grouping: "grouping", groupRowComponent: "groupRowComponent", openLevels: "openLevels", selectType: "selectType", rowClass: "rowClass" }, host: { properties: { "class.table-body": "this.tableBodyClass" } }, viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "<!--<div #viewport class=\"table-body-container table-body-container-virtual\"-->\n<!-- *ngIf=\"virtual\"-->\n<!-- [style.grid-template-columns]=\"getTemplateColumns()\"-->\n<!-- style=\"height: 100%;\">-->\n<!-- <ng-container-->\n<!-- *uiScroll=\"let row of dataSource; let rowIndex = index; let last = last;\" style=\"display: flex;flex-grow: 1\">-->\n<!-- <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>-->\n<!-- </ng-container>-->\n<!-- <ng-container *ngIf=\"aggregate\">-->\n<!-- <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>-->\n<!-- </ng-container>-->\n<!--</div>-->\n\n<cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n class=\"table-body-container\"\n [maxBufferPx]=\"600\"\n [minBufferPx]=\"240\"\n [itemSize]=\"24\">\n <ng-container *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n</cdk-virtual-scroll-viewport>\n\n\n<div *ngIf=\"!virtual\"\n class=\"table-body-container\"\n [style.grid-template-rows]=\"rowHeight + 'px'\"\n [style.grid-auto-rows]=\"rowHeight + 'px'\"\n [style.grid-template-columns]=\"getTemplateColumns()\">\n <ng-container *ngFor=\"let row of data; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"aggregate\">\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"table-row\"\n (click)=\"setActiveRow(row)\"\n [attr.data-row]=\"rowIndex\"\n [ngClass]=\"rowClass ? rowClass(row, rowIndex) : ''\"\n [class.table-row_virtual]=\"virtual\"\n [style.grid-template-columns]=\"virtual ? getTemplateColumns() : ''\"\n [class.table-row_active]=\"row === activeRow || selectedRows.indexOf(row) >= 0\">\n <ng-container *ngIf=\"!grouping\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.grid-template-columns]=\"getLockedGridTemplateColumns(locked)\"\n [style.zIndex]=\"row === activeRow ? 1 : 'unset'\"\n [style.grid-column-end]=\"getSpan()\">\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length\"\n [row]=\"row\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict[column.name]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n ></teta-cell>\n </div>\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\"\n [row]=\"row\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict[column.name]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n ></teta-cell>\n </ng-container>\n <ng-container *ngIf=\"grouping\">\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #aggTemplate>\n <div class=\"table-row\"\n *ngIf=\"aggregate\"\n [class.table-row_virtual]=\"virtual\"\n [style.grid-template-columns]=\"virtual ? getTemplateColumns() : ''\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.grid-template-columns]=\"getLockedGridTemplateColumns(locked)\"\n [style.grid-column-end]=\"getSpan()\">\n <div class=\"cell align-center justify-content-center\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\">\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{getAggregateText(column)}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n <div class=\"cell align-center justify-content-center\"\n *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\">\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{getAggregateText(column)}}\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n</ng-template>\n", styles: [""], components: [{ type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i3.SelectionCellComponent, selector: "teta-selection-cell", inputs: ["row"] }, { type: i4.CellComponent, selector: "teta-cell", inputs: ["column", "filterOptions", "dict", "row"] }, { type: i5.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "tetaNumber": i7.NumberPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
203
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableBodyComponent, decorators: [{
|
|
204
209
|
type: Component,
|
|
205
|
-
args: [{ selector: 'teta-table-body', changeDetection: ChangeDetectionStrategy.OnPush, template: "
|
|
210
|
+
args: [{ selector: 'teta-table-body', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--<div #viewport class=\"table-body-container table-body-container-virtual\"-->\n<!-- *ngIf=\"virtual\"-->\n<!-- [style.grid-template-columns]=\"getTemplateColumns()\"-->\n<!-- style=\"height: 100%;\">-->\n<!-- <ng-container-->\n<!-- *uiScroll=\"let row of dataSource; let rowIndex = index; let last = last;\" style=\"display: flex;flex-grow: 1\">-->\n<!-- <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>-->\n<!-- </ng-container>-->\n<!-- <ng-container *ngIf=\"aggregate\">-->\n<!-- <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>-->\n<!-- </ng-container>-->\n<!--</div>-->\n\n<cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n class=\"table-body-container\"\n [maxBufferPx]=\"600\"\n [minBufferPx]=\"240\"\n [itemSize]=\"24\">\n <ng-container *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n</cdk-virtual-scroll-viewport>\n\n\n<div *ngIf=\"!virtual\"\n class=\"table-body-container\"\n [style.grid-template-rows]=\"rowHeight + 'px'\"\n [style.grid-auto-rows]=\"rowHeight + 'px'\"\n [style.grid-template-columns]=\"getTemplateColumns()\">\n <ng-container *ngFor=\"let row of data; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"aggregate\">\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"table-row\"\n (click)=\"setActiveRow(row)\"\n [attr.data-row]=\"rowIndex\"\n [ngClass]=\"rowClass ? rowClass(row, rowIndex) : ''\"\n [class.table-row_virtual]=\"virtual\"\n [style.grid-template-columns]=\"virtual ? getTemplateColumns() : ''\"\n [class.table-row_active]=\"row === activeRow || selectedRows.indexOf(row) >= 0\">\n <ng-container *ngIf=\"!grouping\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.grid-template-columns]=\"getLockedGridTemplateColumns(locked)\"\n [style.zIndex]=\"row === activeRow ? 1 : 'unset'\"\n [style.grid-column-end]=\"getSpan()\">\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length\"\n [row]=\"row\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict[column.name]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n ></teta-cell>\n </div>\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\"\n [row]=\"row\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict[column.name]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n ></teta-cell>\n </ng-container>\n <ng-container *ngIf=\"grouping\">\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #aggTemplate>\n <div class=\"table-row\"\n *ngIf=\"aggregate\"\n [class.table-row_virtual]=\"virtual\"\n [style.grid-template-columns]=\"virtual ? getTemplateColumns() : ''\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.grid-template-columns]=\"getLockedGridTemplateColumns(locked)\"\n [style.grid-column-end]=\"getSpan()\">\n <div class=\"cell align-center justify-content-center\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\">\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{getAggregateText(column)}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n <div class=\"cell align-center justify-content-center\"\n *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\">\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{getAggregateText(column)}}\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n</ng-template>\n", styles: [""] }]
|
|
206
211
|
}], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { virtual: [{
|
|
207
212
|
type: Input
|
|
208
213
|
}], activeRow: [{
|
|
@@ -227,9 +232,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
227
232
|
type: Input
|
|
228
233
|
}], viewport: [{
|
|
229
234
|
type: ViewChild,
|
|
230
|
-
args: [
|
|
235
|
+
args: [CdkVirtualScrollViewport, { static: false }]
|
|
231
236
|
}], tableBodyClass: [{
|
|
232
237
|
type: HostBinding,
|
|
233
238
|
args: ['class.table-body']
|
|
234
239
|
}] } });
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvdGFibGUvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQWUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLGtCQUFrQjtJQXVEN0IsWUFBb0IsSUFBcUIsRUFBVSxJQUF1QjtRQUF0RCxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQW1CO1FBeEN4QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQWlCeEUsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLFdBQU0sR0FBa0IsRUFBRSxDQUFDO1FBQzNCLGFBQVEsR0FBa0IsRUFBRSxD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QWM7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixVQUFVLEVBQUUsQ0FBQztnQkFDYixVQUFVLEVBQUUsQ0FBQztnQkFDYixZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVE7Z0JBQ25DLFFBQVEsRUFBRSxFQUFFO2FBQ2I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzsrR0FoUFUsa0JBQWtCO21HQUFsQixrQkFBa0IsNGdCQ2pDL0IsbzBKQWdIQTsyRkQvRWEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNO21JQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFb0MsUUFBUTtzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVVLGNBQWM7c0JBQS9ELFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLXJvdyc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBHcm91cFJvd0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9iYXNlL2dyb3VwLXJvdy1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQgeyBUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV0YWlsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvZGV0YWlsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYmxlVXRpbCB9IGZyb20gJy4uL3V0aWwvdGFibGUtdXRpbCc7XG5pbXBvcnQgeyBTZWxlY3RUeXBlIH0gZnJvbSAnLi4vZW51bS9zZWxlY3QtdHlwZS5lbnVtJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFycmF5VXRpbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsL2FycmF5LXV0aWwnO1xuaW1wb3J0IHsgSURpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IElJZE5hbWUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uVHlwZSB9IGZyb20gJy4uL2VudW0vYWdncmVnYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERhdGFzb3VyY2UsIElEYXRhc291cmNlLCBTaXplU3RyYXRlZ3kgfSBmcm9tICduZ3gtdWktc2Nyb2xsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10YWJsZS1ib2R5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1ib2R5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUJvZHlDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjdGl2ZVJvdzogVGFibGVSb3c8VD47XG4gIEBJbnB1dCgpIHJvd0hlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBhZGRpdGlvbmFsQ29tcG9uZW50OiBUeXBlPERldGFpbENvbXBvbmVudEJhc2U8VD4+O1xuICBASW5wdXQoKSB0cmVlOiBib29sZWFuO1xuICBASW5wdXQoKSBhZ2dyZWdhdGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGdyb3VwaW5nOiBib29sZWFuO1xuICBASW5wdXQoKSBncm91cFJvd0NvbXBvbmVudDogVHlwZTxHcm91cFJvd0NvbXBvbmVudEJhc2U8VD4+O1xuICBASW5wdXQoKSBvcGVuTGV2ZWxzOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNlbGVjdFR5cGU6IFNlbGVjdFR5cGU7XG4gIEBJbnB1dCgpIHJvd0NsYXNzOiAocm93OiBUYWJsZVJvdzxUPiwgaW5kZXg/OiBudW1iZXIpID0+IHN0cmluZztcblxuICBAVmlld0NoaWxkKCd2aWV3cG9ydCcsIHsgc3RhdGljOiBmYWxzZSB9KSB2aWV3cG9ydDogRWxlbWVudFJlZjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRhYmxlLWJvZHknKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQm9keUNsYXNzID0gdHJ1ZTtcblxuICBzZXQgZGF0YShkYXRhOiBUYWJsZVJvdzxUPltdKSB7XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuY3JlYXRlQWRhcHRlcigpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0QWRhcHRlcigpO1xuICB9XG5cbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cblxuICBkaWN0OiBJRGljdGlvbmFyeTxJSWROYW1lPGFueT5bXT47XG5cbiAgZ3JpZFRlbXBsYXRlQ29sdW1uczogc3RyaW5nO1xuICBzZWxlY3RlZFJvd3M6IFRhYmxlUm93PFQ+W10gPSBbXTtcbiAgbG9ja2VkOiBUYWJsZUNvbHVtbltdID0gW107XG4gIHVubG9ja2VkOiBUYWJsZUNvbHVtbltdID0gW107XG5cbiAgc2VsZWN0VHlwZUVudW0gPSBTZWxlY3RUeXBlO1xuICBkYXRhU291cmNlOiBJRGF0YXNvdXJjZTxUYWJsZVJvdzxUPj47XG5cbiAgcHJpdmF0ZSBfY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG4gIHByaXZhdGUgX2RhdGE6IFRhYmxlUm93PFQ+W107XG4gIHByaXZhdGUgX2hpZGRlbkNvbHVtbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX2luZGV4OiBudW1iZXI7XG5cbiAgc2V0IGNvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSkge1xuICAgIHRoaXMuX2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgIHRoaXMubG9ja2VkID0gdGhpcy5fY29sdW1ucz8uZmlsdGVyKChfKSA9PiBfLmxvY2tlZCA9PT0gdHJ1ZSk7XG4gICAgdGhpcy51bmxvY2tlZCA9IHRoaXMuX2NvbHVtbnM/LmZpbHRlcigoXykgPT4gXy5sb2NrZWQgPT09IGZhbHNlKTtcbiAgfVxuXG4gIGdldCBjb2x1bW5zKCk6IFRhYmxlQ29sdW1uW10ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5zO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3ZjOiBUYWJsZVNlcnZpY2U8VD4sIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zdmMuY29sdW1ucywgdGhpcy5fc3ZjLmhpZGRlbkNvbHVtbnNdKVxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXM6IFtUYWJsZUNvbHVtbltdLCBzdHJpbmdbXV0pID0+IHtcbiAgICAgICAgY29uc3QgW2NvbHVtbnMsIGhpZGRlbkNvbHVtbnNdID0gdmFsdWVzO1xuICAgICAgICB0aGlzLl9oaWRkZW5Db2x1bW5zID0gaGlkZGVuQ29sdW1ucztcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gQXJyYXlVdGlsLmZsYXR0ZW4oY29sdW1ucywgJ2NvbHVtbnMnLCB0cnVlKS5maWx0ZXIoXG4gICAgICAgICAgKF8pID0+IHRoaXMuX2hpZGRlbkNvbHVtbnMuaW5kZXhPZihfLm5hbWUpIDwgMFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBUYWJsZVV0aWwuZ2V0R3JpZFRlbXBsYXRlQ29sdW1ucyhcbiAgICAgICAgICB0aGlzLmNvbHVtbnMuc29ydCgoYSwgYikgPT4gTnVtYmVyKGIubG9ja2VkKSAtIE51bWJlcihhLmxvY2tlZCkpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLmRpc3BsYXlEYXRhLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5kYXRhID0gXztcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5kaWN0LnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5kaWN0ID0gXztcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5zY3JvbGxJbmRleFxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChfKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnZpZXdwb3J0ICYmIHRoaXMuZGF0YVNvdXJjZSAmJiBfICE9PSBudWxsKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kYXRhU291cmNlLmFkYXB0ZXIucmVsYXgoKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmRhdGFTb3VyY2UuYWRhcHRlci5maXgoe1xuICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb246IChfICsgMSkgKiAyNCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5hY3RpdmVSb3dcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoXykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZVJvdyA9IF87XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2V0QWN0aXZlUm93KHJvdzogVGFibGVSb3c8VD4pIHtcbiAgICB0aGlzLl9zdmMuc2V0QWN0aXZlUm93KHJvdyk7XG4gIH1cblxuICBnZXREYXRhID0gKGluZGV4LCBjb3VudCwgc3VjY2VzcykgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICBpZiAodGhpcy5kYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzdGFydCA9IE1hdGgubWF4KDAsIGluZGV4KTtcbiAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKGluZGV4ICsgY291bnQgLSAxLCB0aGlzLmRhdGEubGVuZ3RoIC0gMSk7XG4gICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgZGF0YS5wdXNoKHRoaXMuZGF0YVtpXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzKGRhdGEpO1xuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgZ2V0QWdncmVnYXRlVmFsdWUoY29sdW1uOiBUYWJsZUNvbHVtbik6IG51bWJlciB7XG4gICAgaWYgKGNvbHVtbi5hZ2dyZWdhdGUgPT09IEFnZ3JlZ2F0aW9uVHlwZS5zdW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFN1bShjb2x1bW4ubmFtZSk7XG4gICAgfVxuICAgIGlmIChjb2x1bW4uYWdncmVnYXRlID09PSBBZ2dyZWdhdGlvblR5cGUuYXZnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTdW0oY29sdW1uLm5hbWUpIC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKGNvbHVtbi5hZ2dyZWdhdGUgPT09IEFnZ3JlZ2F0aW9uVHlwZS5taW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1pbihjb2x1bW4ubmFtZSk7XG4gICAgfVxuICAgIGlmIChjb2x1bW4uYWdncmVnYXRlID09PSBBZ2dyZWdhdGlvblR5cGUubWF4KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNYXgoY29sdW1uLm5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldEFnZ3JlZ2F0ZVRleHQoY29sdW1uOiBUYWJsZUNvbHVtbik6IHN0cmluZyB7XG4gICAgaWYgKGNvbHVtbi5hZ2dyZWdhdGUgPT09IEFnZ3JlZ2F0aW9uVHlwZS5zdW0pIHtcbiAgICAgIHJldHVybiAn0KHRg9C80LzQsD0nO1xuICAgIH1cbiAgICBpZiAoY29sdW1uLmFnZ3JlZ2F0ZSA9PT0gQWdncmVnYXRpb25UeXBlLmF2Zykge1xuICAgICAgcmV0dXJuICfQodGA0LXQtNC90LXQtT0nO1xuICAgIH1cbiAgICBpZiAoY29sdW1uLmFnZ3JlZ2F0ZSA9PT0gQWdncmVnYXRpb25UeXBlLm1pbikge1xuICAgICAgcmV0dXJuICfQnNC40L09JztcbiAgICB9XG4gICAgaWYgKGNvbHVtbi5hZ2dyZWdhdGUgPT09IEFnZ3JlZ2F0aW9uVHlwZS5tYXgpIHtcbiAgICAgIHJldHVybiAn0JzQsNC60YE9JztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0U3BhbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmxvY2tlZD8ubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IHNwYW4gPSB0aGlzLmxvY2tlZC5sZW5ndGg7XG4gICAgICBpZiAodGhpcy5zZWxlY3RUeXBlICE9PSBTZWxlY3RUeXBlLm5vbmUpIHtcbiAgICAgICAgc3BhbiArPSAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBzcGFuICR7c3Bhbn1gO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldFRlbXBsYXRlQ29sdW1ucygpIHtcbiAgICBsZXQgdGVtcGxhdGUgPSB0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbnM7XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSAhPT0gU2VsZWN0VHlwZS5ub25lKSB7XG4gICAgICB0ZW1wbGF0ZSA9IGA0OHB4ICR7dGVtcGxhdGV9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0TG9ja2VkR3JpZFRlbXBsYXRlQ29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKSB7XG4gICAgbGV0IHRlbXBsYXRlID0gVGFibGVVdGlsLmdldEdyaWRUZW1wbGF0ZUNvbHVtbnMoY29sdW1ucyk7XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSAhPT0gU2VsZWN0VHlwZS5ub25lKSB7XG4gICAgICB0ZW1wbGF0ZSA9IGA0OHB4ICR7dGVtcGxhdGV9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlO1xuICB9XG5cbiAgdHJhY2tSb3coaW5kZXg6IG51bWJlciwgcm93OiBUYWJsZVJvdzxUPik6IGFueSB7XG4gICAgcmV0dXJuIHJvdy5oYXNoO1xuICB9XG5cbiAgdHJhY2tDb2x1bW5zKGluZGV4OiBudW1iZXIsIGNvbHVtbjogVGFibGVDb2x1bW4pOiBhbnkge1xuICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3VtKGNvbHVtbk5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5yZWR1Y2UoKGFjY3VtLCBjdXJyZW50KSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBwYXJzZUZsb2F0KGN1cnJlbnQuZGF0YVtjb2x1bW5OYW1lXSk7XG4gICAgICByZXR1cm4gYWNjdW0gKyAoaXNOYU4odmFsKSA/IDAgOiB2YWwpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaW4oY29sdW1uTmFtZSkge1xuICAgIHJldHVybiB0aGlzLmRhdGE/LnJlZHVjZShcbiAgICAgIChhY2N1bSwgY3VycmVudCkgPT5cbiAgICAgICAgYWNjdW0gIT0gbnVsbCAmJiBhY2N1bSA8PSBjdXJyZW50LmRhdGFbY29sdW1uTmFtZV1cbiAgICAgICAgICA/IGFjY3VtXG4gICAgICAgICAgOiBjdXJyZW50LmRhdGFbY29sdW1uTmFtZV0sXG4gICAgICBudWxsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWF4KGNvbHVtbk5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5yZWR1Y2UoXG4gICAgICAoYWNjdW0sIGN1cnJlbnQpID0+XG4gICAgICAgIGFjY3VtICE9IG51bGwgJiYgYWNjdW0gPj0gY3VycmVudC5kYXRhW2NvbHVtbk5hbWVdXG4gICAgICAgICAgPyBhY2N1bVxuICAgICAgICAgIDogY3VycmVudC5kYXRhW2NvbHVtbk5hbWVdLFxuICAgICAgbnVsbFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlc2V0QWRhcHRlcigpIHtcbiAgICBhd2FpdCB0aGlzLmRhdGFTb3VyY2UuYWRhcHRlci5yZWxheCgpO1xuICAgIGF3YWl0IHRoaXMuZGF0YVNvdXJjZS5hZGFwdGVyLnJlc2V0KHtcbiAgICAgIGdldDogdGhpcy5nZXREYXRhLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgbWluSW5kZXg6IDAsXG4gICAgICAgIG1heEluZGV4OiB0aGlzLl9kYXRhPy5sZW5ndGggPyB0aGlzLl9kYXRhLmxlbmd0aCAtIDEgOiAwLFxuICAgICAgICBzdGFydEluZGV4OiAwLFxuICAgICAgICBpdGVtU2l6ZTogMjQsXG4gICAgICAgIHNpemVTdHJhdGVneTogU2l6ZVN0cmF0ZWd5LkNvbnN0YW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLmRhdGFTb3VyY2UuYWRhcHRlci5jaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBZGFwdGVyKCkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBEYXRhc291cmNlPFRhYmxlUm93PFQ+Pih7XG4gICAgICBnZXQ6IHRoaXMuZ2V0RGF0YSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIHN0YXJ0SW5kZXg6IDAsXG4gICAgICAgIGJ1ZmZlclNpemU6IDIsXG4gICAgICAgIHNpemVTdHJhdGVneTogU2l6ZVN0cmF0ZWd5LkNvbnN0YW50LFxuICAgICAgICBpdGVtU2l6ZTogMjQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICN2aWV3cG9ydCBjbGFzcz1cInRhYmxlLWJvZHktY29udGFpbmVyIHRhYmxlLWJvZHktY29udGFpbmVyLXZpcnR1YWxcIlxuICAgICAqbmdJZj1cInZpcnR1YWxcIlxuICAgICBbc3R5bGUuZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXT1cImdyaWRUZW1wbGF0ZUNvbHVtbnNcIlxuICAgICBzdHlsZT1cImhlaWdodDogMTAwJTtcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICp1aVNjcm9sbD1cImxldCByb3cgb2YgZGF0YVNvdXJjZTsgbGV0IHJvd0luZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdDtcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7ZmxleC1ncm93OiAxXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZTsgY29udGV4dDoge3Jvdzogcm93LCByb3dJbmRleDogcm93SW5kZXh9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFnZ1RlbXBsYXRlO1wiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiIXZpcnR1YWxcIlxuICAgICBjbGFzcz1cInRhYmxlLWJvZHktY29udGFpbmVyXCJcbiAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtcm93c109XCJyb3dIZWlnaHQgKyAncHgnXCJcbiAgICAgW3N0eWxlLmdyaWQtYXV0by1yb3dzXT1cInJvd0hlaWdodCArICdweCdcIlxuICAgICBbc3R5bGUuZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXT1cImdldFRlbXBsYXRlQ29sdW1ucygpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBkYXRhOyBsZXQgcm93SW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tSb3c7XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZTsgY29udGV4dDoge3Jvdzogcm93LCByb3dJbmRleDogcm93SW5kZXh9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFnZ1RlbXBsYXRlO1wiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgKGNsaWNrKT1cInNldEFjdGl2ZVJvdyhyb3cpXCJcbiAgICAgICBbYXR0ci5kYXRhLXJvd109XCJyb3dJbmRleFwiXG4gICAgICAgW25nQ2xhc3NdPVwicm93Q2xhc3MgPyByb3dDbGFzcyhyb3csIHJvd0luZGV4KSA6ICcnXCJcbiAgICAgICBbY2xhc3MudGFibGUtcm93X3ZpcnR1YWxdPVwidmlydHVhbFwiXG4gICAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJ2aXJ0dWFsID8gZ2V0VGVtcGxhdGVDb2x1bW5zKCkgOiAnJ1wiXG4gICAgICAgW2NsYXNzLnRhYmxlLXJvd19hY3RpdmVdPVwicm93ID09PSBhY3RpdmVSb3cgfHwgc2VsZWN0ZWRSb3dzLmluZGV4T2Yocm93KSA+PSAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cGluZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd19sb2NrZWRcIlxuICAgICAgICAgICAqbmdJZj1cImxvY2tlZC5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJnZXRMb2NrZWRHcmlkVGVtcGxhdGVDb2x1bW5zKGxvY2tlZClcIlxuICAgICAgICAgICBbc3R5bGUuekluZGV4XT1cInJvdyA9PT0gYWN0aXZlUm93ID8gMSA6ICd1bnNldCdcIlxuICAgICAgICAgICBbc3R5bGUuZ3JpZC1jb2x1bW4tZW5kXT1cImdldFNwYW4oKVwiPlxuICAgICAgICA8dGV0YS1zZWxlY3Rpb24tY2VsbCAqbmdJZj1cInNlbGVjdFR5cGUgIT09IHNlbGVjdFR5cGVFbnVtLm5vbmUgJiYgbG9ja2VkLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3ddPVwicm93XCI+PC90ZXRhLXNlbGVjdGlvbi1jZWxsPlxuICAgICAgICA8dGV0YS1jZWxsXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBsb2NrZWQ7IGxldCBjb2xJbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0NvbHVtbnM7XCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXJvd109XCJyb3dJbmRleFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1jb2x1bW5dPVwiY29sdW1uLm5hbWVcIlxuICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJkaWN0W2NvbHVtbi5uYW1lXVwiXG4gICAgICAgICAgW2RpY3RdPVwiZGljdFwiXG4gICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi5jZWxsQ2xhc3NcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIlxuICAgICAgICA+PC90ZXRhLWNlbGw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXRhLXNlbGVjdGlvbi1jZWxsICpuZ0lmPVwic2VsZWN0VHlwZSAhPT0gc2VsZWN0VHlwZUVudW0ubm9uZSAmJiBsb2NrZWQubGVuZ3RoIDwgMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcm93XT1cInJvd1wiPjwvdGV0YS1zZWxlY3Rpb24tY2VsbD5cbiAgICAgIDx0ZXRhLWNlbGxcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB1bmxvY2tlZDsgbGV0IGNvbEluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQ29sdW1ucztcIlxuICAgICAgICBbYXR0ci5kYXRhLXJvd109XCJyb3dJbmRleFwiXG4gICAgICAgIFthdHRyLmRhdGEtY29sdW1uXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJkaWN0W2NvbHVtbi5uYW1lXVwiXG4gICAgICAgIFtkaWN0XT1cImRpY3RcIlxuICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi5jZWxsQ2xhc3NcIlxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCIwXCJcbiAgICAgID48L3RldGEtY2VsbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBpbmdcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FnZ1RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCJcbiAgICAgICAqbmdJZj1cImFnZ3JlZ2F0ZVwiXG4gICAgICAgW2NsYXNzLnRhYmxlLXJvd192aXJ0dWFsXT1cInZpcnR1YWxcIlxuICAgICAgIFtzdHlsZS5ncmlkLXRlbXBsYXRlLWNvbHVtbnNdPVwidmlydHVhbCA/IGdldFRlbXBsYXRlQ29sdW1ucygpIDogJydcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93X2xvY2tlZFwiXG4gICAgICAgICAqbmdJZj1cImxvY2tlZC5sZW5ndGggPiAwXCJcbiAgICAgICAgIFtzdHlsZS5ncmlkLXRlbXBsYXRlLWNvbHVtbnNdPVwiZ2V0TG9ja2VkR3JpZFRlbXBsYXRlQ29sdW1ucyhsb2NrZWQpXCJcbiAgICAgICAgIFtzdHlsZS5ncmlkLWNvbHVtbi1lbmRdPVwiZ2V0U3BhbigpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2VsbCBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidzdW1Db2xvcidcIj48L3RldGEtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNlbGwgY2VsbC1jb21wb25lbnQganVzdGlmeS1jb250ZW50LWVuZFwiXG4gICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbG9ja2VkOyBsZXQgY29sSW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tDb2x1bW5zO1wiXG4gICAgICAgICAgIFthdHRyLmRhdGEtY29sdW1uXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLmNlbGxDbGFzc1wiXG4gICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjZWxsLXRleHQgY2VsbC10ZXh0X251bWVyaWMgZm9udC10aXRsZS0zXCI+XG4gICAgICAgICAge3tnZXRBZ2dyZWdhdGVUZXh0KGNvbHVtbil9fTpcbiAgICAgICAgICB7e2dldEFnZ3JlZ2F0ZVZhbHVlKGNvbHVtbikgfCB0ZXRhTnVtYmVyIDogMn19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjZWxsIGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICpuZ0lmPVwic2VsZWN0VHlwZSAhPT0gc2VsZWN0VHlwZUVudW0ubm9uZSAmJiBsb2NrZWQubGVuZ3RoIDwgMVwiPlxuICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCInc3VtQ29sb3InXCI+PC90ZXRhLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNlbGwgY2VsbC1jb21wb25lbnQganVzdGlmeS1jb250ZW50LWVuZFwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHVubG9ja2VkOyBsZXQgY29sSW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tDb2x1bW5zO1wiXG4gICAgICAgICBbYXR0ci5kYXRhLWNvbHVtbl09XCJjb2x1bW4ubmFtZVwiXG4gICAgICAgICBbbmdDbGFzc109XCJjb2x1bW4uY2VsbENsYXNzXCJcbiAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2VsbC10ZXh0IGNlbGwtdGV4dF9udW1lcmljIGZvbnQtdGl0bGUtM1wiPlxuICAgICAgICB7e2dldEFnZ3JlZ2F0ZVRleHQoY29sdW1uKX19XG4gICAgICAgIHt7Z2V0QWdncmVnYXRlVmFsdWUoY29sdW1uKSB8IHRldGFOdW1iZXIgOiAyfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvdGFibGUvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFHMUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQWUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRaEUsTUFBTSxPQUFPLGtCQUFrQjtJQXVEN0IsWUFBb0IsSUFBcUIsRUFBVSxJQUF1QjtRQUF0RCxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQW1CO1FBeEN4QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQWlCeEUsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ2pD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Z0JBQ1IsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRO2dCQUNuQyxRQUFRLEVBQUUsRUFBRTthQUNiO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBcFBVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGdkQWFsQix3QkFBd0IsZ0RDL0NyQyx5N0tBMkhBOzJGRHpGYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07bUlBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVnRCxRQUFRO3NCQUE3RCxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFFRixjQUFjO3NCQUEvRCxXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZVJvd30gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtcm93JztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge0dyb3VwUm93Q29tcG9uZW50QmFzZX0gZnJvbSAnLi4vYmFzZS9ncm91cC1yb3ctY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtUYWJsZVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvdGFibGUuc2VydmljZSc7XG5pbXBvcnQge0RldGFpbENvbXBvbmVudEJhc2V9IGZyb20gJy4uL2Jhc2UvZGV0YWlsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RhYmxlVXRpbH0gZnJvbSAnLi4vdXRpbC90YWJsZS11dGlsJztcbmltcG9ydCB7U2VsZWN0VHlwZX0gZnJvbSAnLi4vZW51bS9zZWxlY3QtdHlwZS5lbnVtJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FycmF5VXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWwvYXJyYXktdXRpbCc7XG5pbXBvcnQge0lEaWN0aW9uYXJ5fSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7SUlkTmFtZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktaWQtbmFtZSc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uVHlwZX0gZnJvbSAnLi4vZW51bS9hZ2dyZWdhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtEYXRhc291cmNlLCBJRGF0YXNvdXJjZSwgU2l6ZVN0cmF0ZWd5fSBmcm9tICduZ3gtdWktc2Nyb2xsJztcbmltcG9ydCB7Q2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0fSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10YWJsZS1ib2R5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1ib2R5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUJvZHlDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjdGl2ZVJvdzogVGFibGVSb3c8VD47XG4gIEBJbnB1dCgpIHJvd0hlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBhZGRpdGlvbmFsQ29tcG9uZW50OiBUeXBlPERldGFpbENvbXBvbmVudEJhc2U8VD4+O1xuICBASW5wdXQoKSB0cmVlOiBib29sZWFuO1xuICBASW5wdXQoKSBhZ2dyZWdhdGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGdyb3VwaW5nOiBib29sZWFuO1xuICBASW5wdXQoKSBncm91cFJvd0NvbXBvbmVudDogVHlwZTxHcm91cFJvd0NvbXBvbmVudEJhc2U8VD4+O1xuICBASW5wdXQoKSBvcGVuTGV2ZWxzOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNlbGVjdFR5cGU6IFNlbGVjdFR5cGU7XG4gIEBJbnB1dCgpIHJvd0NsYXNzOiAocm93OiBUYWJsZVJvdzxUPiwgaW5kZXg/OiBudW1iZXIpID0+IHN0cmluZztcblxuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwge3N0YXRpYzogZmFsc2V9KSB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGFibGUtYm9keScpIHByaXZhdGUgcmVhZG9ubHkgdGFibGVCb2R5Q2xhc3MgPSB0cnVlO1xuXG4gIHNldCBkYXRhKGRhdGE6IFRhYmxlUm93PFQ+W10pIHtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5jcmVhdGVBZGFwdGVyKCk7XG4gICAgfVxuICAgIHRoaXMucmVzZXRBZGFwdGVyKCk7XG4gIH1cblxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIGRpY3Q6IElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPjtcblxuICBncmlkVGVtcGxhdGVDb2x1bW5zOiBzdHJpbmc7XG4gIHNlbGVjdGVkUm93czogVGFibGVSb3c8VD5bXSA9IFtdO1xuICBsb2NrZWQ6IFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgdW5sb2NrZWQ6IFRhYmxlQ29sdW1uW10gPSBbXTtcblxuICBzZWxlY3RUeXBlRW51bSA9IFNlbGVjdFR5cGU7XG4gIGRhdGFTb3VyY2U6IElEYXRhc291cmNlPFRhYmxlUm93PFQ+PjtcblxuICBwcml2YXRlIF9jb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfZGF0YTogVGFibGVSb3c8VD5bXTtcbiAgcHJpdmF0ZSBfaGlkZGVuQ29sdW1uczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfaW5kZXg6IG51bWJlcjtcblxuICBzZXQgY29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKSB7XG4gICAgdGhpcy5fY29sdW1ucyA9IGNvbHVtbnM7XG4gICAgdGhpcy5sb2NrZWQgPSB0aGlzLl9jb2x1bW5zPy5maWx0ZXIoKF8pID0+IF8ubG9ja2VkID09PSB0cnVlKTtcbiAgICB0aGlzLnVubG9ja2VkID0gdGhpcy5fY29sdW1ucz8uZmlsdGVyKChfKSA9PiBfLmxvY2tlZCA9PT0gZmFsc2UpO1xuICB9XG5cbiAgZ2V0IGNvbHVtbnMoKTogVGFibGVDb2x1bW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPiwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3N2Yy5jb2x1bW5zLCB0aGlzLl9zdmMuaGlkZGVuQ29sdW1uc10pXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlczogW1RhYmxlQ29sdW1uW10sIHN0cmluZ1tdXSkgPT4ge1xuICAgICAgICBjb25zdCBbY29sdW1ucywgaGlkZGVuQ29sdW1uc10gPSB2YWx1ZXM7XG4gICAgICAgIHRoaXMuX2hpZGRlbkNvbHVtbnMgPSBoaWRkZW5Db2x1bW5zO1xuICAgICAgICB0aGlzLmNvbHVtbnMgPSBBcnJheVV0aWwuZmxhdHRlbihjb2x1bW5zLCAnY29sdW1ucycsIHRydWUpLmZpbHRlcihcbiAgICAgICAgICAoXykgPT4gdGhpcy5faGlkZGVuQ29sdW1ucy5pbmRleE9mKF8ubmFtZSkgPCAwXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZ3JpZFRlbXBsYXRlQ29sdW1ucyA9IFRhYmxlVXRpbC5nZXRHcmlkVGVtcGxhdGVDb2x1bW5zKFxuICAgICAgICAgIHRoaXMuY29sdW1ucy5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYi5sb2NrZWQpIC0gTnVtYmVyKGEubG9ja2VkKSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9zdmMuZGlzcGxheURhdGEucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLmRhdGEgPSBfO1xuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLmRpY3QucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLmRpY3QgPSBfO1xuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLnNjcm9sbEluZGV4XG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKF8pID0+IHtcbiAgICAgICAgLy8gaWYgKHRoaXMudmlld3BvcnQgJiYgdGhpcy5kYXRhU291cmNlICYmIF8gIT09IG51bGwpIHtcbiAgICAgICAgLy8gICBhd2FpdCB0aGlzLmRhdGFTb3VyY2UuYWRhcHRlci5yZWxheCgpO1xuICAgICAgICAvLyAgIGF3YWl0IHRoaXMuZGF0YVNvdXJjZS5hZGFwdGVyLmZpeCh7XG4gICAgICAgIC8vICAgICBzY3JvbGxQb3NpdGlvbjogKF8gKyAxKSAqIDI0LFxuICAgICAgICAvLyAgIH0pO1xuICAgICAgICAvLyB9XG4gICAgICAgIGlmICh0aGlzLnZpZXdwb3J0KSB7XG4gICAgICAgICAgdGhpcy52aWV3cG9ydC5zY3JvbGxUb0luZGV4KF8sICdzbW9vdGgnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5hY3RpdmVSb3dcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoXykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZVJvdyA9IF87XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2V0QWN0aXZlUm93KHJvdzogVGFibGVSb3c8VD4pIHtcbiAgICB0aGlzLl9zdmMuc2V0QWN0aXZlUm93KHJvdyk7XG4gIH1cblxuICBnZXREYXRhID0gKGluZGV4LCBjb3VudCwgc3VjY2VzcykgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICBpZiAodGhpcy5kYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzdGFydCA9IE1hdGgubWF4KDAsIGluZGV4KTtcbiAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKGluZGV4ICsgY291bnQgLSAxLCB0aGlzLmRhdGEubGVuZ3RoIC0gMSk7XG4gICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgZGF0YS5wdXNoKHRoaXMuZGF0YVtpXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzKGRhdGEpO1xuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIGdldEFnZ3JlZ2F0ZVZhbHVlKGNvbHVtbjogVGFibGVDb2x1bW4pOiBudW1iZXIge1xuICAgIGlmIChjb2x1bW4uYWdncmVnYXRlID09PSBBZ2dyZWdhdGlvblR5cGUuc3VtKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTdW0oY29sdW1uLm5hbWUpO1xuICAgIH1cbiAgICBpZiAoY29sdW1uLmFnZ3JlZ2F0ZSA9PT0gQWdncmVnYXRpb25UeXBlLmF2Zykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U3VtKGNvbHVtbi5uYW1lKSAvIHRoaXMuZGF0YS5sZW5ndGg7XG4gICAgfVxuICAgIGlmIChjb2x1bW4uYWdncmVnYXRlID09PSBBZ2dyZWdhdGlvblR5cGUubWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNaW4oY29sdW1uLm5hbWUpO1xuICAgIH1cbiAgICBpZiAoY29sdW1uLmFnZ3JlZ2F0ZSA9PT0gQWdncmVnYXRpb25UeXBlLm1heCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWF4KGNvbHVtbi5uYW1lKTtcbiAgICB9XG4gIH1cblxuICBnZXRBZ2dyZWdhdGVUZXh0KGNvbHVtbjogVGFibGVDb2x1bW4pOiBzdHJpbmcge1xuICAgIGlmIChjb2x1bW4uYWdncmVnYXRlID09PSBBZ2dyZWdhdGlvblR5cGUuc3VtKSB7XG4gICAgICByZXR1cm4gJ9Ch0YPQvNC80LA9JztcbiAgICB9XG4gICAgaWYgKGNvbHVtbi5hZ2dyZWdhdGUgPT09IEFnZ3JlZ2F0aW9uVHlwZS5hdmcpIHtcbiAgICAgIHJldHVybiAn0KHRgNC10LTQvdC10LU9JztcbiAgICB9XG4gICAgaWYgKGNvbHVtbi5hZ2dyZWdhdGUgPT09IEFnZ3JlZ2F0aW9uVHlwZS5taW4pIHtcbiAgICAgIHJldHVybiAn0JzQuNC9PSc7XG4gICAgfVxuICAgIGlmIChjb2x1bW4uYWdncmVnYXRlID09PSBBZ2dyZWdhdGlvblR5cGUubWF4KSB7XG4gICAgICByZXR1cm4gJ9Cc0LDQutGBPSc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldFNwYW4oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5sb2NrZWQ/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCBzcGFuID0gdGhpcy5sb2NrZWQubGVuZ3RoO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0VHlwZSAhPT0gU2VsZWN0VHlwZS5ub25lKSB7XG4gICAgICAgIHNwYW4gKz0gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgc3BhbiAke3NwYW59YDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRUZW1wbGF0ZUNvbHVtbnMoKSB7XG4gICAgbGV0IHRlbXBsYXRlID0gdGhpcy5ncmlkVGVtcGxhdGVDb2x1bW5zO1xuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgIT09IFNlbGVjdFR5cGUubm9uZSkge1xuICAgICAgdGVtcGxhdGUgPSBgNDhweCAke3RlbXBsYXRlfWA7XG4gICAgfVxuICAgIHJldHVybiB0ZW1wbGF0ZTtcbiAgfVxuXG4gIGdldExvY2tlZEdyaWRUZW1wbGF0ZUNvbHVtbnMoY29sdW1uczogVGFibGVDb2x1bW5bXSkge1xuICAgIGxldCB0ZW1wbGF0ZSA9IFRhYmxlVXRpbC5nZXRHcmlkVGVtcGxhdGVDb2x1bW5zKGNvbHVtbnMpO1xuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgIT09IFNlbGVjdFR5cGUubm9uZSkge1xuICAgICAgdGVtcGxhdGUgPSBgNDhweCAke3RlbXBsYXRlfWA7XG4gICAgfVxuICAgIHJldHVybiB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHRyYWNrUm93KGluZGV4OiBudW1iZXIsIHJvdzogVGFibGVSb3c8VD4pOiBhbnkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHRyYWNrQ29sdW1ucyhpbmRleDogbnVtYmVyLCBjb2x1bW46IFRhYmxlQ29sdW1uKTogYW55IHtcbiAgICByZXR1cm4gY29sdW1uLm5hbWU7XG4gIH1cblxuICBwcml2YXRlIGdldFN1bShjb2x1bW5OYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ucmVkdWNlKChhY2N1bSwgY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gcGFyc2VGbG9hdChjdXJyZW50LmRhdGFbY29sdW1uTmFtZV0pO1xuICAgICAgcmV0dXJuIGFjY3VtICsgKGlzTmFOKHZhbCkgPyAwIDogdmFsKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWluKGNvbHVtbk5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5yZWR1Y2UoXG4gICAgICAoYWNjdW0sIGN1cnJlbnQpID0+XG4gICAgICAgIGFjY3VtICE9IG51bGwgJiYgYWNjdW0gPD0gY3VycmVudC5kYXRhW2NvbHVtbk5hbWVdXG4gICAgICAgICAgPyBhY2N1bVxuICAgICAgICAgIDogY3VycmVudC5kYXRhW2NvbHVtbk5hbWVdLFxuICAgICAgbnVsbFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldE1heChjb2x1bW5OYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ucmVkdWNlKFxuICAgICAgKGFjY3VtLCBjdXJyZW50KSA9PlxuICAgICAgICBhY2N1bSAhPSBudWxsICYmIGFjY3VtID49IGN1cnJlbnQuZGF0YVtjb2x1bW5OYW1lXVxuICAgICAgICAgID8gYWNjdW1cbiAgICAgICAgICA6IGN1cnJlbnQuZGF0YVtjb2x1bW5OYW1lXSxcbiAgICAgIG51bGxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldEFkYXB0ZXIoKSB7XG4gICAgYXdhaXQgdGhpcy5kYXRhU291cmNlLmFkYXB0ZXIucmVsYXgoKTtcbiAgICBhd2FpdCB0aGlzLmRhdGFTb3VyY2UuYWRhcHRlci5yZXNldCh7XG4gICAgICBnZXQ6IHRoaXMuZ2V0RGF0YSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIG1pbkluZGV4OiAwLFxuICAgICAgICBtYXhJbmRleDogdGhpcy5fZGF0YT8ubGVuZ3RoID8gdGhpcy5fZGF0YS5sZW5ndGggLSAxIDogMCxcbiAgICAgICAgc3RhcnRJbmRleDogMCxcbiAgICAgICAgaXRlbVNpemU6IDI0LFxuICAgICAgICBzaXplU3RyYXRlZ3k6IFNpemVTdHJhdGVneS5Db25zdGFudCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5kYXRhU291cmNlLmFkYXB0ZXIuY2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQWRhcHRlcigpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgRGF0YXNvdXJjZTxUYWJsZVJvdzxUPj4oe1xuICAgICAgZ2V0OiB0aGlzLmdldERhdGEsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBzdGFydEluZGV4OiAwLFxuICAgICAgICBidWZmZXJTaXplOiAyLFxuICAgICAgICBzaXplU3RyYXRlZ3k6IFNpemVTdHJhdGVneS5Db25zdGFudCxcbiAgICAgICAgaXRlbVNpemU6IDI0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLTxkaXYgI3ZpZXdwb3J0IGNsYXNzPVwidGFibGUtYm9keS1jb250YWluZXIgdGFibGUtYm9keS1jb250YWluZXItdmlydHVhbFwiLS0+XG48IS0tICAgICAqbmdJZj1cInZpcnR1YWxcIi0tPlxuPCEtLSAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJnZXRUZW1wbGF0ZUNvbHVtbnMoKVwiLS0+XG48IS0tICAgICBzdHlsZT1cImhlaWdodDogMTAwJTtcIj4tLT5cbjwhLS0gIDxuZy1jb250YWluZXItLT5cbjwhLS0gICAgKnVpU2Nyb2xsPVwibGV0IHJvdyBvZiBkYXRhU291cmNlOyBsZXQgcm93SW5kZXggPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0O1wiIHN0eWxlPVwiZGlzcGxheTogZmxleDtmbGV4LWdyb3c6IDFcIj4tLT5cbjwhLS0gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZTsgY29udGV4dDoge3Jvdzogcm93LCByb3dJbmRleDogcm93SW5kZXh9XCI+PC9uZy1jb250YWluZXI+LS0+XG48IS0tICA8L25nLWNvbnRhaW5lcj4tLT5cbjwhLS0gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGVcIj4tLT5cbjwhLS0gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFnZ1RlbXBsYXRlO1wiPjwvbmctY29udGFpbmVyPi0tPlxuPCEtLSAgPC9uZy1jb250YWluZXI+LS0+XG48IS0tPC9kaXY+LS0+XG5cbjxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgKm5nSWY9XCJ2aXJ0dWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1ib2R5LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhCdWZmZXJQeF09XCI2MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluQnVmZmVyUHhdPVwiMjQwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1TaXplXT1cIjI0XCI+XG4gIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93IG9mIGRhdGE7dGVtcGxhdGVDYWNoZVNpemU6IDA7IGxldCByb3dJbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja1JvdztcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVRlbXBsYXRlOyBjb250ZXh0OiB7cm93OiByb3csIHJvd0luZGV4OiByb3dJbmRleH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cblxuXG48ZGl2ICpuZ0lmPVwiIXZpcnR1YWxcIlxuICAgICBjbGFzcz1cInRhYmxlLWJvZHktY29udGFpbmVyXCJcbiAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtcm93c109XCJyb3dIZWlnaHQgKyAncHgnXCJcbiAgICAgW3N0eWxlLmdyaWQtYXV0by1yb3dzXT1cInJvd0hlaWdodCArICdweCdcIlxuICAgICBbc3R5bGUuZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXT1cImdldFRlbXBsYXRlQ29sdW1ucygpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBkYXRhOyBsZXQgcm93SW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tSb3c7XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZTsgY29udGV4dDoge3Jvdzogcm93LCByb3dJbmRleDogcm93SW5kZXh9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFnZ1RlbXBsYXRlO1wiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgKGNsaWNrKT1cInNldEFjdGl2ZVJvdyhyb3cpXCJcbiAgICAgICBbYXR0ci5kYXRhLXJvd109XCJyb3dJbmRleFwiXG4gICAgICAgW25nQ2xhc3NdPVwicm93Q2xhc3MgPyByb3dDbGFzcyhyb3csIHJvd0luZGV4KSA6ICcnXCJcbiAgICAgICBbY2xhc3MudGFibGUtcm93X3ZpcnR1YWxdPVwidmlydHVhbFwiXG4gICAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJ2aXJ0dWFsID8gZ2V0VGVtcGxhdGVDb2x1bW5zKCkgOiAnJ1wiXG4gICAgICAgW2NsYXNzLnRhYmxlLXJvd19hY3RpdmVdPVwicm93ID09PSBhY3RpdmVSb3cgfHwgc2VsZWN0ZWRSb3dzLmluZGV4T2Yocm93KSA+PSAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cGluZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd19sb2NrZWRcIlxuICAgICAgICAgICAqbmdJZj1cImxvY2tlZC5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJnZXRMb2NrZWRHcmlkVGVtcGxhdGVDb2x1bW5zKGxvY2tlZClcIlxuICAgICAgICAgICBbc3R5bGUuekluZGV4XT1cInJvdyA9PT0gYWN0aXZlUm93ID8gMSA6ICd1bnNldCdcIlxuICAgICAgICAgICBbc3R5bGUuZ3JpZC1jb2x1bW4tZW5kXT1cImdldFNwYW4oKVwiPlxuICAgICAgICA8dGV0YS1zZWxlY3Rpb24tY2VsbCAqbmdJZj1cInNlbGVjdFR5cGUgIT09IHNlbGVjdFR5cGVFbnVtLm5vbmUgJiYgbG9ja2VkLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3ddPVwicm93XCI+PC90ZXRhLXNlbGVjdGlvbi1jZWxsPlxuICAgICAgICA8dGV0YS1jZWxsXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBsb2NrZWQ7IGxldCBjb2xJbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0NvbHVtbnM7XCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXJvd109XCJyb3dJbmRleFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1jb2x1bW5dPVwiY29sdW1uLm5hbWVcIlxuICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJkaWN0W2NvbHVtbi5uYW1lXVwiXG4gICAgICAgICAgW2RpY3RdPVwiZGljdFwiXG4gICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi5jZWxsQ2xhc3NcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIlxuICAgICAgICA+PC90ZXRhLWNlbGw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXRhLXNlbGVjdGlvbi1jZWxsICpuZ0lmPVwic2VsZWN0VHlwZSAhPT0gc2VsZWN0VHlwZUVudW0ubm9uZSAmJiBsb2NrZWQubGVuZ3RoIDwgMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcm93XT1cInJvd1wiPjwvdGV0YS1zZWxlY3Rpb24tY2VsbD5cbiAgICAgIDx0ZXRhLWNlbGxcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB1bmxvY2tlZDsgbGV0IGNvbEluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQ29sdW1ucztcIlxuICAgICAgICBbYXR0ci5kYXRhLXJvd109XCJyb3dJbmRleFwiXG4gICAgICAgIFthdHRyLmRhdGEtY29sdW1uXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJkaWN0W2NvbHVtbi5uYW1lXVwiXG4gICAgICAgIFtkaWN0XT1cImRpY3RcIlxuICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi5jZWxsQ2xhc3NcIlxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCIwXCJcbiAgICAgID48L3RldGEtY2VsbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBpbmdcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FnZ1RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCJcbiAgICAgICAqbmdJZj1cImFnZ3JlZ2F0ZVwiXG4gICAgICAgW2NsYXNzLnRhYmxlLXJvd192aXJ0dWFsXT1cInZpcnR1YWxcIlxuICAgICAgIFtzdHlsZS5ncmlkLXRlbXBsYXRlLWNvbHVtbnNdPVwidmlydHVhbCA/IGdldFRlbXBsYXRlQ29sdW1ucygpIDogJydcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93X2xvY2tlZFwiXG4gICAgICAgICAqbmdJZj1cImxvY2tlZC5sZW5ndGggPiAwXCJcbiAgICAgICAgIFtzdHlsZS5ncmlkLXRlbXBsYXRlLWNvbHVtbnNdPVwiZ2V0TG9ja2VkR3JpZFRlbXBsYXRlQ29sdW1ucyhsb2NrZWQpXCJcbiAgICAgICAgIFtzdHlsZS5ncmlkLWNvbHVtbi1lbmRdPVwiZ2V0U3BhbigpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2VsbCBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidzdW1Db2xvcidcIj48L3RldGEtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNlbGwgY2VsbC1jb21wb25lbnQganVzdGlmeS1jb250ZW50LWVuZFwiXG4gICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbG9ja2VkOyBsZXQgY29sSW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tDb2x1bW5zO1wiXG4gICAgICAgICAgIFthdHRyLmRhdGEtY29sdW1uXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLmNlbGxDbGFzc1wiXG4gICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjZWxsLXRleHQgY2VsbC10ZXh0X251bWVyaWMgZm9udC10aXRsZS0zXCI+XG4gICAgICAgICAge3tnZXRBZ2dyZWdhdGVUZXh0KGNvbHVtbil9fTpcbiAgICAgICAgICB7e2dldEFnZ3JlZ2F0ZVZhbHVlKGNvbHVtbikgfCB0ZXRhTnVtYmVyIDogMn19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjZWxsIGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICpuZ0lmPVwic2VsZWN0VHlwZSAhPT0gc2VsZWN0VHlwZUVudW0ubm9uZSAmJiBsb2NrZWQubGVuZ3RoIDwgMVwiPlxuICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCInc3VtQ29sb3InXCI+PC90ZXRhLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNlbGwgY2VsbC1jb21wb25lbnQganVzdGlmeS1jb250ZW50LWVuZFwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHVubG9ja2VkOyBsZXQgY29sSW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tDb2x1bW5zO1wiXG4gICAgICAgICBbYXR0ci5kYXRhLWNvbHVtbl09XCJjb2x1bW4ubmFtZVwiXG4gICAgICAgICBbbmdDbGFzc109XCJjb2x1bW4uY2VsbENsYXNzXCJcbiAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2VsbC10ZXh0IGNlbGwtdGV4dF9udW1lcmljIGZvbnQtdGl0bGUtM1wiPlxuICAgICAgICB7e2dldEFnZ3JlZ2F0ZVRleHQoY29sdW1uKX19XG4gICAgICAgIHt7Z2V0QWdncmVnYXRlVmFsdWUoY29sdW1uKSB8IHRldGFOdW1iZXIgOiAyfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -36,6 +36,7 @@ import { UiScrollModule } from 'ngx-ui-scroll';
|
|
|
36
36
|
import { ToolbarModule } from '../toolbar/toolbar.module';
|
|
37
37
|
import { ClickOutsideModule } from '../../directive/click-outside/click-outside.module';
|
|
38
38
|
import { ResizeDragModule } from '../../directive/resize-drag/resize-drag.module';
|
|
39
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
39
40
|
import * as i0 from "@angular/core";
|
|
40
41
|
export class TableModule {
|
|
41
42
|
}
|
|
@@ -75,7 +76,8 @@ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
75
76
|
UiScrollModule,
|
|
76
77
|
ToolbarModule,
|
|
77
78
|
ClickOutsideModule,
|
|
78
|
-
ResizeDragModule
|
|
79
|
+
ResizeDragModule,
|
|
80
|
+
ScrollingModule], exports: [TableComponent,
|
|
79
81
|
NumericCellComponent,
|
|
80
82
|
ListCellComponent,
|
|
81
83
|
DateCellComponent,
|
|
@@ -107,6 +109,7 @@ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "1
|
|
|
107
109
|
ToolbarModule,
|
|
108
110
|
ClickOutsideModule,
|
|
109
111
|
ResizeDragModule,
|
|
112
|
+
ScrollingModule,
|
|
110
113
|
]] });
|
|
111
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableModule, decorators: [{
|
|
112
115
|
type: NgModule,
|
|
@@ -166,7 +169,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
166
169
|
ToolbarModule,
|
|
167
170
|
ClickOutsideModule,
|
|
168
171
|
ResizeDragModule,
|
|
172
|
+
ScrollingModule,
|
|
169
173
|
],
|
|
170
174
|
}]
|
|
171
175
|
}] });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtD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QjsyRkFFVSxXQUFXO2tCQTFEdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxVQUFVO3dCQUNWLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyTW9kdWxlIH0gZnJvbSAnLi4vZmlsdGVyL2ZpbHRlci5tb2R1bGUnO1xuaW1wb3J0IHsgTnVtZXJpY0NlbGxDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQvbnVtZXJpYy1jZWxsL251bWVyaWMtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdENlbGxDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQvbGlzdC1jZWxsL2xpc3QtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUNlbGxDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQvZGF0ZS1jZWxsL2RhdGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RyaW5nQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vZGVmYXVsdC9zdHJpbmctY2VsbC9zdHJpbmctY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZENlbGxIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9oZWFkLWNlbGwtaG9zdC9oZWFkLWNlbGwtaG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVIZWFkQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1oZWFkL3RhYmxlLWhlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQm9keUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsL2NlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xuaW1wb3J0IHsgQ2VsbEhvc3RDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtaG9zdC9jZWxsLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEdyb3VwUm93Q29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0L2dyb3VwLXJvdy9ncm91cC1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlSGVhZEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1oZWFkLWdyb3VwL3RhYmxlLWhlYWQtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkLWNlbGwvaGVhZC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWZhdWx0SGVhZENlbGxDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQvZGVmYXVsdC1oZWFkLWNlbGwvZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICcuLi90YWJzL3RhYnMubW9kdWxlJztcbmltcG9ydCB7IFNlbGVjdE1vZHVsZSB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QubW9kdWxlJztcbmltcG9ydCB7IE51bWJlclBpcGVNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlL251bWJlci1waXBlL251bWJlci1waXBlLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIubW9kdWxlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IFNlbGVjdGlvbkNlbGxDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1jZWxsL3NlbGVjdGlvbi1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0aW9uLWhlYWQtY2VsbC9zZWxlY3Rpb24taGVhZC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hpbnQvaGludC5tb2R1bGUnO1xuaW1wb3J0IHsgVHJlZU1vZHVsZSB9IGZyb20gJy4uL3RyZWUvdHJlZS5tb2R1bGUnO1xuaW1wb3J0IHsgSGVhZENlbGxEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vaGVhZC1jZWxsLWRyb3Bkb3duL2hlYWQtY2VsbC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0L2RhdGUtdGltZS1jZWxsL2RhdGUtdGltZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPbmx5TnVtYmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL29ubHktbnVtYmVyL29ubHktbnVtYmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBCb29sZWFuQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vZGVmYXVsdC9ib29sZWFuLWNlbGwvYm9vbGVhbi1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC11aS1zY3JvbGwnO1xuaW1wb3J0IHsgVG9vbGJhck1vZHVsZSB9IGZyb20gJy4uL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5tb2R1bGUnO1xuaW1wb3J0IHtSZXNpemVEcmFnTW9kdWxlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvcmVzaXplLWRyYWcvcmVzaXplLWRyYWcubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgTnVtZXJpY0NlbGxDb21wb25lbnQsXG4gICAgTGlzdENlbGxDb21wb25lbnQsXG4gICAgRGF0ZUNlbGxDb21wb25lbnQsXG4gICAgU3RyaW5nQ2VsbENvbXBvbmVudCxcbiAgICBIZWFkQ2VsbEhvc3RDb21wb25lbnQsXG4gICAgVGFibGVIZWFkQ29tcG9uZW50LFxuICAgIFRhYmxlQm9keUNvbXBvbmVudCxcbiAgICBDZWxsQ29tcG9uZW50LFxuICAgIENlbGxIb3N0Q29tcG9uZW50LFxuICAgIEdyb3VwUm93Q29tcG9uZW50LFxuICAgIFRhYmxlSGVhZEdyb3VwQ29tcG9uZW50LFxuICAgIEhlYWRDZWxsQ29tcG9uZW50LFxuICAgIERlZmF1bHRIZWFkQ2VsbENvbXBvbmVudCxcbiAgICBTZWxlY3Rpb25DZWxsQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbkhlYWRDZWxsQ29tcG9uZW50LFxuICAgIEhlYWRDZWxsRHJvcGRvd25Db21wb25lbnQsXG4gICAgRGF0ZVRpbWVDZWxsQ29tcG9uZW50LFxuICAgIEJvb2xlYW5DZWxsQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgTnVtZXJpY0NlbGxDb21wb25lbnQsXG4gICAgTGlzdENlbGxDb21wb25lbnQsXG4gICAgRGF0ZUNlbGxDb21wb25lbnQsXG4gICAgU3RyaW5nQ2VsbENvbXBvbmVudCxcbiAgICBIZWFkQ2VsbEhvc3RDb21wb25lbnQsXG4gICAgVGFibGVIZWFkQ29tcG9uZW50LFxuICAgIFRhYmxlQm9keUNvbXBvbmVudCxcbiAgICBDZWxsQ29tcG9uZW50LFxuICAgIENlbGxIb3N0Q29tcG9uZW50LFxuICAgIEdyb3VwUm93Q29tcG9uZW50LFxuICAgIERhdGVUaW1lQ2VsbENvbXBvbmVudCxcbiAgICBCb29sZWFuQ2VsbENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGaWx0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBOdW1iZXJQaXBlTW9kdWxlLFxuICAgIERhdGVQaWNrZXJNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIEhpbnRNb2R1bGUsXG4gICAgVHJlZU1vZHVsZSxcbiAgICBPbmx5TnVtYmVyTW9kdWxlLFxuICAgIFVpU2Nyb2xsTW9kdWxlLFxuICAgIFRvb2xiYXJNb2R1bGUsXG4gICAgQ2xpY2tPdXRzaWRlTW9kdWxlLFxuICAgIFJlc2l6ZURyYWdNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHt9XG4iXX0=
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBNkR2RCxNQUFNLE9BQU8sV0FBVzs7d0dBQVgsV0FBVzt5R0FBWCxXQUFXLGlCQXpEcEIsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLHlCQUF5QjtRQUN6QixxQkFBcUI7UUFDckIsb0JBQW9CLGFBa0JwQixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxjQUFjO1FBQ2QsVUFBVTtRQUNWLGNBQWM7UUFDZCxVQUFVO1FBQ1YsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO1FBQ1YsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlLGFBakNmLGNBQWM7UUFDZCxvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLG9CQUFvQjt5R0F3QlgsV0FBVyxZQXRCYjtZQUNQLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxVQUFVO1lBQ1YsY0FBYztZQUNkLFVBQVU7WUFDVixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osVUFBVTtZQUNWLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGVBQWU7U0FDaEI7MkZBRVUsV0FBVztrQkEzRHZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlck1vZHVsZSB9IGZyb20gJy4uL2ZpbHRlci9maWx0ZXIubW9kdWxlJztcbmltcG9ydCB7IE51bWVyaWNDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0L251bWVyaWMtY2VsbC9udW1lcmljLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0L2xpc3QtY2VsbC9saXN0LWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0L2RhdGUtY2VsbC9kYXRlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IFN0cmluZ0NlbGxDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQvc3RyaW5nLWNlbGwvc3RyaW5nLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRDZWxsSG9zdENvbXBvbmVudCB9IGZyb20gJy4vaGVhZC1jZWxsLWhvc3QvaGVhZC1jZWxsLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlSGVhZENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtaGVhZC90YWJsZS1oZWFkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUJvZHlDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWJvZHkvdGFibGUtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC9jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcbmltcG9ydCB7IENlbGxIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLWhvc3QvY2VsbC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcm91cFJvd0NvbXBvbmVudCB9IGZyb20gJy4vZGVmYXVsdC9ncm91cC1yb3cvZ3JvdXAtcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUhlYWRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtaGVhZC1ncm91cC90YWJsZS1oZWFkLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vaGVhZC1jZWxsL2hlYWQtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVmYXVsdEhlYWRDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0L2RlZmF1bHQtaGVhZC1jZWxsL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5pbXBvcnQgeyBUYWJzTW9kdWxlIH0gZnJvbSAnLi4vdGFicy90YWJzLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBOdW1iZXJQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZS9udW1iZXItcGlwZS9udW1iZXItcGlwZS5tb2R1bGUnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJy4uL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25DZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tY2VsbC9zZWxlY3Rpb24tY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0aW9uSGVhZENlbGxDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1oZWFkLWNlbGwvc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGludE1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9oaW50L2hpbnQubW9kdWxlJztcbmltcG9ydCB7IFRyZWVNb2R1bGUgfSBmcm9tICcuLi90cmVlL3RyZWUubW9kdWxlJztcbmltcG9ydCB7IEhlYWRDZWxsRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2hlYWQtY2VsbC1kcm9wZG93bi9oZWFkLWNlbGwtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vZGVmYXVsdC9kYXRlLXRpbWUtY2VsbC9kYXRlLXRpbWUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT25seU51bWJlck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5tb2R1bGUnO1xuaW1wb3J0IHsgQm9vbGVhbkNlbGxDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQvYm9vbGVhbi1jZWxsL2Jvb2xlYW4tY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtdWktc2Nyb2xsJztcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICcuLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlJztcbmltcG9ydCB7UmVzaXplRHJhZ01vZHVsZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3Jlc2l6ZS1kcmFnL3Jlc2l6ZS1kcmFnLm1vZHVsZSc7XG5pbXBvcnQge1Njcm9sbGluZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIE51bWVyaWNDZWxsQ29tcG9uZW50LFxuICAgIExpc3RDZWxsQ29tcG9uZW50LFxuICAgIERhdGVDZWxsQ29tcG9uZW50LFxuICAgIFN0cmluZ0NlbGxDb21wb25lbnQsXG4gICAgSGVhZENlbGxIb3N0Q29tcG9uZW50LFxuICAgIFRhYmxlSGVhZENvbXBvbmVudCxcbiAgICBUYWJsZUJvZHlDb21wb25lbnQsXG4gICAgQ2VsbENvbXBvbmVudCxcbiAgICBDZWxsSG9zdENvbXBvbmVudCxcbiAgICBHcm91cFJvd0NvbXBvbmVudCxcbiAgICBUYWJsZUhlYWRHcm91cENvbXBvbmVudCxcbiAgICBIZWFkQ2VsbENvbXBvbmVudCxcbiAgICBEZWZhdWx0SGVhZENlbGxDb21wb25lbnQsXG4gICAgU2VsZWN0aW9uQ2VsbENvbXBvbmVudCxcbiAgICBTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudCxcbiAgICBIZWFkQ2VsbERyb3Bkb3duQ29tcG9uZW50LFxuICAgIERhdGVUaW1lQ2VsbENvbXBvbmVudCxcbiAgICBCb29sZWFuQ2VsbENvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIE51bWVyaWNDZWxsQ29tcG9uZW50LFxuICAgIExpc3RDZWxsQ29tcG9uZW50LFxuICAgIERhdGVDZWxsQ29tcG9uZW50LFxuICAgIFN0cmluZ0NlbGxDb21wb25lbnQsXG4gICAgSGVhZENlbGxIb3N0Q29tcG9uZW50LFxuICAgIFRhYmxlSGVhZENvbXBvbmVudCxcbiAgICBUYWJsZUJvZHlDb21wb25lbnQsXG4gICAgQ2VsbENvbXBvbmVudCxcbiAgICBDZWxsSG9zdENvbXBvbmVudCxcbiAgICBHcm91cFJvd0NvbXBvbmVudCxcbiAgICBEYXRlVGltZUNlbGxDb21wb25lbnQsXG4gICAgQm9vbGVhbkNlbGxDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRmlsdGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgTnVtYmVyUGlwZU1vZHVsZSxcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBIaW50TW9kdWxlLFxuICAgIFRyZWVNb2R1bGUsXG4gICAgT25seU51bWJlck1vZHVsZSxcbiAgICBVaVNjcm9sbE1vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIENsaWNrT3V0c2lkZU1vZHVsZSxcbiAgICBSZXNpemVEcmFnTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './state-util';
|
|
2
|
+
export * from './table-util';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC90YWJsZS91dGlsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0YXRlLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS11dGlsJztcbiJdfQ==
|
|
@@ -128,4 +128,4 @@ export class TableUtil {
|
|
|
128
128
|
return res;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC90YWJsZS91dGlsL3RhYmxlLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUl2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUkzRSxNQUFNLE9BQU8sU0FBUztJQUNiLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBbUI7UUFDL0MsSUFBSSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLE9BQXNCO1FBQ3pELE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFtQixFQUFFLEVBQUUsQ0FDL0MsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsTUFBTSxDQUFDLEtBQUssT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25HLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUksSUFBUyxFQUFFLEtBQWtCO1FBQzdDLElBQUksTUFBTSxHQUFRLElBQUksQ0FBQztRQUN2QixNQUFNLEdBQUcsU0FBUyxDQUFD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Q0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFhO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge0FycmF5VXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWwvYXJyYXktdXRpbCc7XG5pbXBvcnQge1NvcnRQYXJhbX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L3NvcnQtcGFyYW0nO1xuaW1wb3J0IHtMaXN0RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vbGlzdC1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2xpc3QtZmlsdGVyJztcbmltcG9ydCB7TnVtZXJpY0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyJztcbmltcG9ydCB7RGF0ZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyJztcbmltcG9ydCB7U3RyaW5nRmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vc3RyaW5nLWZpbHRlci10eXBlLmVudW0nO1xuaW1wb3J0IHtTdHJpbmdGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9zdHJpbmctZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyU3RhdGV9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVVdGlsIHtcbiAgcHVibGljIHN0YXRpYyBnZXRDb2x1bW5MZWF2ZXMoY29sdW1uOiBUYWJsZUNvbHVtbik6IFRhYmxlQ29sdW1uW10gfCBudWxsIHtcbiAgICBpZiAoY29sdW1uPy5jb2x1bW5zPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gQXJyYXlVdGlsLmZsYXR0ZW4oY29sdW1uLmNvbHVtbnMsICdjb2x1bW5zJywgdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRHcmlkVGVtcGxhdGVDb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlcyA9IGNvbHVtbnM/Lm1hcCgoY29sdW1uOiBUYWJsZUNvbHVtbikgPT5cbiAgICAgIGNvbHVtbi5mbGV4ID4gMCA/IGBtaW5tYXgoJHtjb2x1bW4ud2lkdGh9cHgsICR7Y29sdW1uLmZsZXh9ZnIpYCA6IGAke2NvbHVtbi53aWR0aH1weGApLmpvaW4oJyAnKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgc3RhdGljIGdldERhdGE8VD4oZGF0YTogVFtdLCBzdGF0ZTogRmlsdGVyU3RhdGUpOiBUW10ge1xuICAgIGxldCByZXN1bHQ6IFRbXSA9IGRhdGE7XG4gICAgcmVzdWx0ID0gVGFibGVVdGlsLmZpbHRlckRhdGEocmVzdWx0LCBzdGF0ZSk7XG4gICAgcmVzdWx0ID0gVGFibGVVdGlsLnNvcnREYXRhKHJlc3VsdCwgc3RhdGUpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgc29ydERhdGE8VD4oZGF0YTogVFtdLCBzdGF0ZTogRmlsdGVyU3RhdGUpOiBUW10ge1xuICAgIGxldCByZXN1bHQ6IFRbXSA9IGRhdGE7XG4gICAgY29uc3QgZnVuYyA9IChzb3J0UGFyYW06IFNvcnRQYXJhbSkgPT4ge1xuICAgICAgcmVzdWx0ID0gVGFibGVVdGlsLnNvcnQocmVzdWx0LCBzb3J0UGFyYW0pO1xuICAgIH07XG4gICAgaWYgKHN0YXRlPy5zb3J0UGFyYW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICBzdGF0ZS5zb3J0UGFyYW1zLmZvckVhY2goZnVuYyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZmlsdGVyRGF0YTxUPihkYXRhOiBUW10sIHN0YXRlOiBGaWx0ZXJTdGF0ZSk6IFRbXSB7XG4gICAgbGV0IHJlc3VsdDogVFtdID0gZGF0YTtcbiAgICBpZiAoc3RhdGU/LnN0cmluZ0ZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RyaW5nRmlsdGVyID0gKGZpbHRlcjogU3RyaW5nRmlsdGVyKSA9PiB7XG4gICAgICAgIHJlc3VsdCA9IFRhYmxlVXRpbC5maWx0ZXJTdHJpbmcocmVzdWx0LCBmaWx0ZXIpO1xuICAgICAgfTtcbiAgICAgIHN0YXRlLnN0cmluZ0ZpbHRlcnMuZm9yRWFjaChzdHJpbmdGaWx0ZXIpO1xuICAgIH1cbiAgICBpZiAoc3RhdGU/LmRhdGVGaWx0ZXJzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGRhdGVGaWx0ZXIgPSAoZmlsdGVyOiBEYXRlRmlsdGVyKSA9PiB7XG4gICAgICAgIHJlc3VsdCA9IFRhYmxlVXRpbC5maWx0ZXJEYXRlKHJlc3VsdCwgZmlsdGVyKTtcbiAgICAgIH07XG4gICAgICBzdGF0ZS5kYXRlRmlsdGVycy5mb3JFYWNoKGRhdGVGaWx0ZXIpO1xuICAgIH1cbiAgICBpZiAoc3RhdGU/Lm51bWVyaWNGaWx0ZXJzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG51bWVyaWNGaWx0ZXIgPSAoZmlsdGVyOiBOdW1lcmljRmlsdGVyKSA9PiB7XG4gICAgICAgIHJlc3VsdCA9IFRhYmxlVXRpbC5maWx0ZXJOdW1iZXIocmVzdWx0LCBmaWx0ZXIpO1xuICAgICAgfTtcbiAgICAgIHN0YXRlLm51bWVyaWNGaWx0ZXJzLmZvckVhY2gobnVtZXJpY0ZpbHRlcik7XG4gICAgfVxuICAgIGlmIChzdGF0ZT8ubGlzdEZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgbGlzdEZpbHRlciA9IChmaWx0ZXI6IExpc3RGaWx0ZXIpID0+IHtcbiAgICAgICAgcmVzdWx0ID0gVGFibGVVdGlsLmZpbHRlckxpc3QocmVzdWx0LCBmaWx0ZXIpO1xuICAgICAgfTtcbiAgICAgIHN0YXRlLmxpc3RGaWx0ZXJzLmZvckVhY2gobGlzdEZpbHRlcik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZmlsdGVyU3RyaW5nPFQ+KGRhdGE6IFRbXSwgZmlsdGVyOiBTdHJpbmdGaWx0ZXIpOiBUW10ge1xuICAgIGlmIChmaWx0ZXIudmFsdWUgPT09IG51bGwgfHwgZmlsdGVyLnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJTdHJpbmcgPSAocm93OiBUKSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gcm93IGFzIGFueTtcbiAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gU3RyaW5nRmlsdGVyVHlwZS5FbmRzV2l0aCkge1xuICAgICAgICByZXR1cm4gaXRlbVtmaWx0ZXIuZmllbGRdLmVuZHNXaXRoKGZpbHRlci52YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFN0cmluZ0ZpbHRlclR5cGUuRXF1YWxzKSB7XG4gICAgICAgIHJldHVybiBpdGVtW2ZpbHRlci5maWVsZF0gPT09IGZpbHRlci52YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gU3RyaW5nRmlsdGVyVHlwZS5TdGFydHNXaXRoKSB7XG4gICAgICAgIHJldHVybiBpdGVtW2ZpbHRlci5maWVsZF0uc3RhcnRzV2l0aChmaWx0ZXIudmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGl0ZW1bZmlsdGVyLmZpZWxkXS5pbmRleE9mKGZpbHRlci52YWx1ZSkgPj0gMDtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhLmZpbHRlcihmaWx0ZXJTdHJpbmcpO1xuICB9XG5cbiAgc3RhdGljIGZpbHRlckRhdGU8VD4oZGF0YTogVFtdLCBmaWx0ZXI6IERhdGVGaWx0ZXIpOiBUW10ge1xuICAgIGNvbnN0IGZpbHRlckRhdGUgPSAocm93OiBUKSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gcm93IGFzIGFueTtcbiAgICAgIHJldHVybiAoZmlsdGVyLnZhbHVlLmxlc3NUaGFuID09PSBudWxsIHx8IGZpbHRlci52YWx1ZS5sZXNzVGhhbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZpbHRlci52YWx1ZS5sZXNzVGhhbi5nZXRUaW1lKCkgPiBpdGVtW2ZpbHRlci5maWVsZF0uZ2V0VGltZSgpKSAmJlxuICAgICAgICAoZmlsdGVyLnZhbHVlLmdyZWF0ZXJUaGFuID09PSBudWxsIHx8IGZpbHRlci52YWx1ZS5ncmVhdGVyVGhhbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgOiBmaWx0ZXIudmFsdWUuZ3JlYXRlclRoYW4uZ2V0VGltZSgpIDwgaXRlbVtmaWx0ZXIuZmllbGRdLmdldFRpbWUoKSk7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoZmlsdGVyRGF0ZSk7XG4gIH1cblxuICBzdGF0aWMgZmlsdGVyTnVtYmVyPFQ+KGRhdGE6IFRbXSwgZmlsdGVyOiBOdW1lcmljRmlsdGVyKTogVFtdIHtcbiAgICBjb25zdCBmaWx0ZXJOdW1iZXIgPSAocm93OiBUKSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gcm93IGFzIGFueTtcbiAgICAgIHJldHVybiAoZmlsdGVyLnZhbHVlLmxlc3NUaGFuID09PSBudWxsIHx8IGZpbHRlci52YWx1ZS5sZXNzVGhhbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZpbHRlci52YWx1ZS5sZXNzVGhhbiA+IGl0ZW1bZmlsdGVyLmZpZWxkXSkgJiZcbiAgICAgICAgKGZpbHRlci52YWx1ZS5ncmVhdGVyVGhhbiA9PT0gbnVsbCB8fCBmaWx0ZXIudmFsdWUuZ3JlYXRlclRoYW4gPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgIDogZmlsdGVyLnZhbHVlLmdyZWF0ZXJUaGFuIDwgaXRlbVtmaWx0ZXIuZmllbGRdKSAmJlxuICAgICAgICAoZmlsdGVyLnZhbHVlLmVxdWFsc1RvID09PSBudWxsIHx8IGZpbHRlci52YWx1ZS5lcXVhbHNUbyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgOiBmaWx0ZXIudmFsdWUuZXF1YWxzVG8gPT09IGl0ZW1bZmlsdGVyLmZpZWxkXSk7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoZmlsdGVyTnVtYmVyKTtcbiAgfVxuXG4gIHN0YXRpYyBmaWx0ZXJMaXN0PFQ+KGRhdGE6IFRbXSwgZmlsdGVyOiBMaXN0RmlsdGVyKTogVFtdIHtcbiAgICBpZiAoZmlsdGVyLnZhbHVlID09PSBudWxsIHx8IGZpbHRlci52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGZpbHRlci52YWx1ZS5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgY29uc3QgZmlsdGVyTGlzdCA9IChyb3c6IFQpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSByb3cgYXMgYW55O1xuICAgICAgaWYgKGZpbHRlci50eXBlID09PSBMaXN0RmlsdGVyVHlwZS5FeGNsdWRlZCkge1xuICAgICAgICByZXR1cm4gZmlsdGVyLnZhbHVlLmluZGV4T2YoaXRlbVtmaWx0ZXIuZmllbGRdKSA8IDA7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsdGVyLnZhbHVlLmluZGV4T2YoaXRlbVtmaWx0ZXIuZmllbGRdKSA+PSAwO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGEuZmlsdGVyKGZpbHRlckxpc3QpO1xuICB9XG5cbiAgc3RhdGljIHNvcnQ8VD4oZGF0YTogVFtdLCBzb3J0UGFyYW06IFNvcnRQYXJhbSk6IFRbXSB7XG4gICAgY29uc3QgcmVzID0gZGF0YS5zb3J0KHNvcnRQYXJhbS5hc2MgPyBUYWJsZVV0aWwuYXNjKHNvcnRQYXJhbS5maWVsZCkgOiBUYWJsZVV0aWwuZGVzYyhzb3J0UGFyYW0uZmllbGQpKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgc3RhdGljIGRlc2MoZmllbGQ6IHN0cmluZykge1xuICAgIGNvbnN0IHJlcyA9IChhOiBhbnksIGI6IGFueSkgPT4gYVtmaWVsZF0gPiBiW2ZpZWxkXSA/IC0xIDogMTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgc3RhdGljIGFzYyhmaWVsZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzID0gKGE6IGFueSwgYjogYW55KSA9PiBhW2ZpZWxkXSA8IGJbZmllbGRdID8gLTEgOiAxO1xuICAgIHJldHVybiByZXM7XG4gIH1cbn1cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC90YWJsZS91dGlsL3RhYmxlLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUl2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUkzRSxNQUFNLE9BQU8sU0FBUztJQUNiLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBbUI7UUFDL0MsSUFBSSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLE9BQXNCO1FBQ3pELE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFtQixFQUFFLEVBQUUsQ0FDL0MsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsTUFBTSxDQUFDLEtBQUssT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25HLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUksSUFBUyxFQUFFLEtBQWtCO1FBQzdDLElBQUksTUFBTSxHQUFRLElBQUksQ0FBQztRQUN2QixNQUFNLEdBQUcsU0FBUyxDQUFD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Q0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFhO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge0FycmF5VXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWwvYXJyYXktdXRpbCc7XG5pbXBvcnQge1NvcnRQYXJhbX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L3NvcnQtcGFyYW0nO1xuaW1wb3J0IHtMaXN0RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vbGlzdC1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2xpc3QtZmlsdGVyJztcbmltcG9ydCB7TnVtZXJpY0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyJztcbmltcG9ydCB7RGF0ZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyJztcbmltcG9ydCB7U3RyaW5nRmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vc3RyaW5nLWZpbHRlci10eXBlLmVudW0nO1xuaW1wb3J0IHtTdHJpbmdGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9zdHJpbmctZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyU3RhdGV9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVVdGlsIHtcbiAgcHVibGljIHN0YXRpYyBnZXRDb2x1bW5MZWF2ZXMoY29sdW1uOiBUYWJsZUNvbHVtbik6IFRhYmxlQ29sdW1uW10gfCBudWxsIHtcbiAgICBpZiAoY29sdW1uPy5jb2x1bW5zPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gQXJyYXlVdGlsLmZsYXR0ZW4oY29sdW1uLmNvbHVtbnMsICdjb2x1bW5zJywgdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRHcmlkVGVtcGxhdGVDb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlcyA9IGNvbHVtbnM/Lm1hcCgoY29sdW1uOiBUYWJsZUNvbHVtbikgPT5cbiAgICAgIGNvbHVtbi5mbGV4ID4gMCA/IGBtaW5tYXgoJHtjb2x1bW4ud2lkdGh9cHgsICR7Y29sdW1uLmZsZXh9ZnIpYCA6IGAke2NvbHVtbi53aWR0aH1weGApLmpvaW4oJyAnKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgc3RhdGljIGdldERhdGE8VD4oZGF0YTogVFtdLCBzdGF0ZTogRmlsdGVyU3RhdGUpOiBUW10ge1xuICAgIGxldCByZXN1bHQ6IFRbXSA9IGRhdGE7XG4gICAgcmVzdWx0ID0gVGFibGVVdGlsLmZpbHRlckRhdGEocmVzdWx0LCBzdGF0ZSk7XG4gICAgcmVzdWx0ID0gVGFibGVVdGlsLnNvcnREYXRhKHJlc3VsdCwgc3RhdGUpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgc29ydERhdGE8VD4oZGF0YTogVFtdLCBzdGF0ZTogRmlsdGVyU3RhdGUpOiBUW10ge1xuICAgIGxldCByZXN1bHQ6IFRbXSA9IGRhdGE7XG4gICAgY29uc3QgZnVuYyA9IChzb3J0UGFyYW06IFNvcnRQYXJhbSkgPT4ge1xuICAgICAgcmVzdWx0ID0gVGFibGVVdGlsLnNvcnQocmVzdWx0LCBzb3J0UGFyYW0pO1xuICAgIH07XG4gICAgaWYgKHN0YXRlPy5zb3J0UGFyYW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICBzdGF0ZS5zb3J0UGFyYW1zLmZvckVhY2goZnVuYyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZmlsdGVyRGF0YTxUPihkYXRhOiBUW10sIHN0YXRlOiBGaWx0ZXJTdGF0ZSk6IFRbXSB7XG4gICAgbGV0IHJlc3VsdDogVFtdID0gZGF0YTtcbiAgICBpZiAoc3RhdGU/LnN0cmluZ0ZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RyaW5nRmlsdGVyID0gKGZpbHRlcjogU3RyaW5nRmlsdGVyKSA9PiB7XG4gICAgICAgIHJlc3VsdCA9IFRhYmxlVXRpbC5maWx0ZXJTdHJpbmcocmVzdWx0LCBmaWx0ZXIpO1xuICAgICAgfTtcbiAgICAgIHN0YXRlLnN0cmluZ0ZpbHRlcnMuZm9yRWFjaChzdHJpbmdGaWx0ZXIpO1xuICAgIH1cbiAgICBpZiAoc3RhdGU/LmRhdGVGaWx0ZXJzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGRhdGVGaWx0ZXIgPSAoZmlsdGVyOiBEYXRlRmlsdGVyKSA9PiB7XG4gICAgICAgIHJlc3VsdCA9IFRhYmxlVXRpbC5maWx0ZXJEYXRlKHJlc3VsdCwgZmlsdGVyKTtcbiAgICAgIH07XG4gICAgICBzdGF0ZS5kYXRlRmlsdGVycy5mb3JFYWNoKGRhdGVGaWx0ZXIpO1xuICAgIH1cbiAgICBpZiAoc3RhdGU/Lm51bWVyaWNGaWx0ZXJzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG51bWVyaWNGaWx0ZXIgPSAoZmlsdGVyOiBOdW1lcmljRmlsdGVyKSA9PiB7XG4gICAgICAgIHJlc3VsdCA9IFRhYmxlVXRpbC5maWx0ZXJOdW1iZXIocmVzdWx0LCBmaWx0ZXIpO1xuICAgICAgfTtcbiAgICAgIHN0YXRlLm51bWVyaWNGaWx0ZXJzLmZvckVhY2gobnVtZXJpY0ZpbHRlcik7XG4gICAgfVxuICAgIGlmIChzdGF0ZT8ubGlzdEZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgbGlzdEZpbHRlciA9IChmaWx0ZXI6IExpc3RGaWx0ZXIpID0+IHtcbiAgICAgICAgcmVzdWx0ID0gVGFibGVVdGlsLmZpbHRlckxpc3QocmVzdWx0LCBmaWx0ZXIpO1xuICAgICAgfTtcbiAgICAgIHN0YXRlLmxpc3RGaWx0ZXJzLmZvckVhY2gobGlzdEZpbHRlcik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZmlsdGVyU3RyaW5nPFQ+KGRhdGE6IFRbXSwgZmlsdGVyOiBTdHJpbmdGaWx0ZXIpOiBUW10ge1xuICAgIGlmIChmaWx0ZXIudmFsdWUgPT09IG51bGwgfHwgZmlsdGVyLnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJTdHJpbmcgPSAocm93OiBUKSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gcm93IGFzIGFueTtcbiAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gU3RyaW5nRmlsdGVyVHlwZS5FbmRzV2l0aCkge1xuICAgICAgICByZXR1cm4gaXRlbVtmaWx0ZXIuZmllbGRdLmVuZHNXaXRoKGZpbHRlci52YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFN0cmluZ0ZpbHRlclR5cGUuRXF1YWxzKSB7XG4gICAgICAgIHJldHVybiBpdGVtW2ZpbHRlci5maWVsZF0gPT09IGZpbHRlci52YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gU3RyaW5nRmlsdGVyVHlwZS5TdGFydHNXaXRoKSB7XG4gICAgICAgIHJldHVybiBpdGVtW2ZpbHRlci5maWVsZF0uc3RhcnRzV2l0aChmaWx0ZXIudmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGl0ZW1bZmlsdGVyLmZpZWxkXS5pbmRleE9mKGZpbHRlci52YWx1ZSkgPj0gMDtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhLmZpbHRlcihmaWx0ZXJTdHJpbmcpO1xuICB9XG5cbiAgc3RhdGljIGZpbHRlckRhdGU8VD4oZGF0YTogVFtdLCBmaWx0ZXI6IERhdGVGaWx0ZXIpOiBUW10ge1xuICAgIGNvbnN0IGZpbHRlckRhdGUgPSAocm93OiBUKSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gcm93IGFzIGFueTtcbiAgICAgIHJldHVybiAoZmlsdGVyLnZhbHVlLmxlc3NUaGFuID09PSBudWxsIHx8IGZpbHRlci52YWx1ZS5sZXNzVGhhbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgOiBmaWx0ZXIudmFsdWUubGVzc1RoYW4uZ2V0VGltZSgpID4gaXRlbVtmaWx0ZXIuZmllbGRdLmdldFRpbWUoKSkgJiZcbiAgICAgICAgKGZpbHRlci52YWx1ZS5ncmVhdGVyVGhhbiA9PT0gbnVsbCB8fCBmaWx0ZXIudmFsdWUuZ3JlYXRlclRoYW4gPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgIDogZmlsdGVyLnZhbHVlLmdyZWF0ZXJUaGFuLmdldFRpbWUoKSA8IGl0ZW1bZmlsdGVyLmZpZWxkXS5nZXRUaW1lKCkpO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGEuZmlsdGVyKGZpbHRlckRhdGUpO1xuICB9XG5cbiAgc3RhdGljIGZpbHRlck51bWJlcjxUPihkYXRhOiBUW10sIGZpbHRlcjogTnVtZXJpY0ZpbHRlcik6IFRbXSB7XG4gICAgY29uc3QgZmlsdGVyTnVtYmVyID0gKHJvdzogVCkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IHJvdyBhcyBhbnk7XG4gICAgICByZXR1cm4gKGZpbHRlci52YWx1ZS5sZXNzVGhhbiA9PT0gbnVsbCB8fCBmaWx0ZXIudmFsdWUubGVzc1RoYW4gPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgIDogZmlsdGVyLnZhbHVlLmxlc3NUaGFuID4gaXRlbVtmaWx0ZXIuZmllbGRdKSAmJlxuICAgICAgICAoZmlsdGVyLnZhbHVlLmdyZWF0ZXJUaGFuID09PSBudWxsIHx8IGZpbHRlci52YWx1ZS5ncmVhdGVyVGhhbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgOiBmaWx0ZXIudmFsdWUuZ3JlYXRlclRoYW4gPCBpdGVtW2ZpbHRlci5maWVsZF0pICYmXG4gICAgICAgIChmaWx0ZXIudmFsdWUuZXF1YWxzVG8gPT09IG51bGwgfHwgZmlsdGVyLnZhbHVlLmVxdWFsc1RvID09PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHRydWVcbiAgICAgICAgICA6IGZpbHRlci52YWx1ZS5lcXVhbHNUbyA9PT0gaXRlbVtmaWx0ZXIuZmllbGRdKTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhLmZpbHRlcihmaWx0ZXJOdW1iZXIpO1xuICB9XG5cbiAgc3RhdGljIGZpbHRlckxpc3Q8VD4oZGF0YTogVFtdLCBmaWx0ZXI6IExpc3RGaWx0ZXIpOiBUW10ge1xuICAgIGlmIChmaWx0ZXIudmFsdWUgPT09IG51bGwgfHwgZmlsdGVyLnZhbHVlID09PSB1bmRlZmluZWQgfHwgZmlsdGVyLnZhbHVlLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJMaXN0ID0gKHJvdzogVCkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IHJvdyBhcyBhbnk7XG4gICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IExpc3RGaWx0ZXJUeXBlLkV4Y2x1ZGVkKSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXIudmFsdWUuaW5kZXhPZihpdGVtW2ZpbHRlci5maWVsZF0pIDwgMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWx0ZXIudmFsdWUuaW5kZXhPZihpdGVtW2ZpbHRlci5maWVsZF0pID49IDA7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoZmlsdGVyTGlzdCk7XG4gIH1cblxuICBzdGF0aWMgc29ydDxUPihkYXRhOiBUW10sIHNvcnRQYXJhbTogU29ydFBhcmFtKTogVFtdIHtcbiAgICBjb25zdCByZXMgPSBkYXRhLnNvcnQoc29ydFBhcmFtLmFzYyA/IFRhYmxlVXRpbC5hc2Moc29ydFBhcmFtLmZpZWxkKSA6IFRhYmxlVXRpbC5kZXNjKHNvcnRQYXJhbS5maWVsZCkpO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBzdGF0aWMgZGVzYyhmaWVsZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzID0gKGE6IGFueSwgYjogYW55KSA9PiBhW2ZpZWxkXSA+IGJbZmllbGRdID8gLTEgOiAxO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBzdGF0aWMgYXNjKGZpZWxkOiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXMgPSAoYTogYW55LCBiOiBhbnkpID0+IGFbZmllbGRdIDwgYltmaWVsZF0gPyAtMSA6IDE7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuIl19
|