tuain-ng-forms-lib 14.3.19 → 14.4.45
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/esm2020/lib/classes/forms/element.mjs +8 -69
- package/esm2020/lib/classes/forms/field.mjs +2 -9
- package/esm2020/lib/classes/forms/form.mjs +6 -2
- package/esm2020/lib/classes/forms/piece.mjs +115 -0
- package/esm2020/lib/classes/forms/section.mjs +25 -28
- package/esm2020/lib/classes/forms/subsection.mjs +12 -15
- package/esm2020/lib/classes/forms/table/action.mjs +5 -18
- package/esm2020/lib/classes/forms/table/column.mjs +4 -14
- package/esm2020/lib/classes/forms/table/table.mjs +50 -37
- package/esm2020/lib/components/elements/action.component.mjs +26 -13
- package/esm2020/lib/components/elements/field.component.mjs +18 -20
- package/esm2020/lib/components/elements/layout/element.component.mjs +5 -16
- package/esm2020/lib/components/elements/layout/form-header.component.mjs +5 -5
- package/esm2020/lib/components/elements/layout/piece.component.mjs +22 -0
- package/esm2020/lib/components/elements/layout/section.component.mjs +20 -5
- package/esm2020/lib/components/elements/layout/sub-section.component.mjs +20 -7
- package/esm2020/lib/components/elements/tables/table-record-action.component.mjs +21 -5
- package/esm2020/lib/components/elements/tables/table.component.mjs +67 -47
- package/esm2020/lib/components/forms/basic-form.mjs +25 -14
- package/fesm2015/tuain-ng-forms-lib.mjs +460 -339
- package/fesm2015/tuain-ng-forms-lib.mjs.map +1 -1
- package/fesm2020/tuain-ng-forms-lib.mjs +436 -320
- package/fesm2020/tuain-ng-forms-lib.mjs.map +1 -1
- package/lib/classes/forms/element.d.ts +3 -29
- package/lib/classes/forms/field.d.ts +0 -3
- package/lib/classes/forms/form.d.ts +3 -0
- package/lib/classes/forms/piece.d.ts +43 -0
- package/lib/classes/forms/section.d.ts +8 -18
- package/lib/classes/forms/subsection.d.ts +7 -12
- package/lib/classes/forms/table/action.d.ts +3 -11
- package/lib/classes/forms/table/column.d.ts +2 -7
- package/lib/classes/forms/table/table.d.ts +1 -3
- package/lib/components/elements/action.component.d.ts +4 -8
- package/lib/components/elements/field.component.d.ts +4 -9
- package/lib/components/elements/layout/element.component.d.ts +3 -8
- package/lib/components/elements/layout/form-header.component.d.ts +3 -3
- package/lib/components/elements/layout/piece.component.d.ts +10 -0
- package/lib/components/elements/layout/section.component.d.ts +4 -3
- package/lib/components/elements/layout/sub-section.component.d.ts +4 -4
- package/lib/components/elements/tables/table-record-action.component.d.ts +2 -2
- package/lib/components/elements/tables/table.component.d.ts +6 -10
- package/lib/components/forms/basic-form.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { ElementComponent } from '../layout/element.component';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
const changeViewAttributes = ['visibleRecords', 'currentPage', 'recordsPerPage'];
|
|
4
|
-
export class LibTableComponent {
|
|
5
|
+
export class LibTableComponent extends ElementComponent {
|
|
5
6
|
constructor() {
|
|
7
|
+
super(...arguments);
|
|
6
8
|
this.currentPage = 1;
|
|
7
9
|
this.globalSearch = false;
|
|
8
10
|
this.globalFilterString = '';
|
|
9
|
-
|
|
11
|
+
// visibleRecords: any[] = [];
|
|
10
12
|
this.selectedRecords = [];
|
|
11
13
|
this.totalRecordsNumber = 0;
|
|
12
14
|
this.allSelected = false;
|
|
@@ -14,51 +16,73 @@ export class LibTableComponent {
|
|
|
14
16
|
this.loaded = false;
|
|
15
17
|
this.selectable = false;
|
|
16
18
|
this.hasActions = false;
|
|
17
|
-
this.
|
|
19
|
+
this.table = null;
|
|
20
|
+
this.visibleRecords = [];
|
|
21
|
+
this.waiting = false;
|
|
18
22
|
}
|
|
19
23
|
ngOnInit() {
|
|
20
|
-
if (this.table) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.
|
|
38
|
-
const { name: tableAttr, value } = event;
|
|
39
|
-
const compAttr = this.formConfig.componentTableAttrMap[tableAttr];
|
|
40
|
-
this.syncAttribute(compAttr, value);
|
|
41
|
-
});
|
|
24
|
+
if (!this.table) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.formConfig = this.table?._formConfig;
|
|
28
|
+
this.tableFieldStyles = this.formConfig?.tableFieldStyles;
|
|
29
|
+
this.selectable = this.table?.selectable;
|
|
30
|
+
this.hasActions = this.table?.hasActions();
|
|
31
|
+
this.inlineActions = this.table?.getActions(this.formConfig?.tableActions.inline);
|
|
32
|
+
this.globalActions = this.table?.getActions(this.formConfig?.tableActions.global);
|
|
33
|
+
this.selectionActions = this.table?.getActions(this.formConfig?.tableActions.selection);
|
|
34
|
+
// Inicialización de campos mapeados del objeto
|
|
35
|
+
const mapping = Object.entries(this.formConfig?.actionPropagateAttributes);
|
|
36
|
+
for (let index = 0; index < mapping.length; index++) {
|
|
37
|
+
const tableAttr = mapping[index]?.[0];
|
|
38
|
+
const componentAttr = mapping[index]?.[1]?.toString() ?? '';
|
|
39
|
+
const attributeValue = this.table?.[tableAttr];
|
|
40
|
+
this.defaultProcessAttributeChange(componentAttr, attributeValue);
|
|
41
|
+
this.customProcessAttributeChange(componentAttr, attributeValue);
|
|
42
42
|
}
|
|
43
|
+
// Subscripción a cambios en atributos
|
|
44
|
+
this.table?.attributeChange.subscribe(event => {
|
|
45
|
+
const { name: attrName, value } = event;
|
|
46
|
+
this.defaultProcessAttributeChange(attrName, value);
|
|
47
|
+
this.customProcessAttributeChange(attrName, value);
|
|
48
|
+
});
|
|
49
|
+
// Suscripción a los cambios de atributos de las columnas
|
|
50
|
+
// this.table.columns.forEach(column => {
|
|
51
|
+
// mapping = this.formConfig?.tableColumnPropagateAttributes;
|
|
52
|
+
// for (let index = 0; index < mapping.length; index++) {
|
|
53
|
+
// const attrName = mapping[index].toString();
|
|
54
|
+
// const attributeValue = column?.[attrName];
|
|
55
|
+
// this.defaultColumnAttributeChange(column, attrName, attributeValue);
|
|
56
|
+
// }
|
|
57
|
+
// column?.attributeChange.subscribe(event => {
|
|
58
|
+
// const { name: attrName, value } = event;
|
|
59
|
+
// this.defaultColumnAttributeChange(column, attrName, value);
|
|
60
|
+
// });
|
|
61
|
+
// });
|
|
43
62
|
this.start();
|
|
44
63
|
}
|
|
45
|
-
|
|
64
|
+
// defaultColumnAttributeChange(column: any, attribute: string, value?: any) {
|
|
65
|
+
// attribute && (column[attribute] = value);
|
|
66
|
+
// }
|
|
46
67
|
updateTableData() { }
|
|
47
|
-
tableGlobalAction(actionCode) { this.table
|
|
48
|
-
tableSelectionAction(actionCode) { this.table
|
|
49
|
-
tableActionSelected(actionEvent) { this.table
|
|
50
|
-
tableSelectionToggle(recordId) { this.table
|
|
51
|
-
toggleSelectAll() { return (this.allSelected) ? this.table
|
|
68
|
+
tableGlobalAction(actionCode) { this.table?.notifyGlobalAction(actionCode); }
|
|
69
|
+
tableSelectionAction(actionCode) { this.table?.notifySelectionAction(actionCode); }
|
|
70
|
+
tableActionSelected(actionEvent) { this.table?.notifyInlineAction(actionEvent); }
|
|
71
|
+
tableSelectionToggle(recordId) { this.table?.notifyRecordSelection(recordId); }
|
|
72
|
+
toggleSelectAll() { return (this.allSelected) ? this.table?.unSelectAll() : this.table?.selectAll(); }
|
|
52
73
|
globalFilterCompleted() { this.changePage(1); }
|
|
53
|
-
changePage(requestedPage) { this.table
|
|
54
|
-
tableColumnSort(columnName, direction = null) { this.table
|
|
55
|
-
globalFilterChanged() { this.table
|
|
56
|
-
|
|
74
|
+
changePage(requestedPage) { this.table?.changePage(requestedPage); }
|
|
75
|
+
tableColumnSort(columnName, direction = null) { this.table?.sort(columnName, direction ?? 'ascend'); }
|
|
76
|
+
globalFilterChanged() { this.table?.setGlobalFilterString(this.globalFilterString?.trim() ?? '', false); }
|
|
77
|
+
defaultProcessAttributeChange(attribute, value) {
|
|
78
|
+
if (!attribute) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
57
81
|
try {
|
|
58
|
-
if (
|
|
82
|
+
if (attribute === 'visibleRecords') {
|
|
59
83
|
this.updateTableData();
|
|
60
84
|
}
|
|
61
|
-
this[
|
|
85
|
+
this[attribute] = value;
|
|
62
86
|
return true;
|
|
63
87
|
}
|
|
64
88
|
catch {
|
|
@@ -67,15 +91,15 @@ export class LibTableComponent {
|
|
|
67
91
|
}
|
|
68
92
|
filterHasChanged(column, values) {
|
|
69
93
|
if (!values || values.length === 0) {
|
|
70
|
-
this.table
|
|
94
|
+
this.table?.removeColumnFilter(column.fieldCode);
|
|
71
95
|
}
|
|
72
96
|
else {
|
|
73
|
-
this.table
|
|
97
|
+
this.table?.addColumnFilter(column.fieldCode, values);
|
|
74
98
|
}
|
|
75
99
|
}
|
|
76
100
|
}
|
|
77
|
-
LibTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LibTableComponent, deps:
|
|
78
|
-
LibTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: LibTableComponent, selector: "lib-table", inputs: { table: "table",
|
|
101
|
+
LibTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LibTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
+
LibTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: LibTableComponent, selector: "lib-table", inputs: { table: "table", visibleRecords: "visibleRecords", waiting: "waiting" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
79
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LibTableComponent, decorators: [{
|
|
80
104
|
type: Component,
|
|
81
105
|
args: [{
|
|
@@ -85,13 +109,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
85
109
|
}]
|
|
86
110
|
}], propDecorators: { table: [{
|
|
87
111
|
type: Input
|
|
88
|
-
}],
|
|
89
|
-
type: Input
|
|
90
|
-
}], disabled: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], state: [{
|
|
112
|
+
}], visibleRecords: [{
|
|
93
113
|
type: Input
|
|
94
114
|
}], waiting: [{
|
|
95
115
|
type: Input
|
|
96
116
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtsRixNQUFNLG9CQUFvQixHQUFHLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFRakYsTUFBTSxPQUFPLGlCQUFpQjtJQU45QjtRQVlFLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUU1Qix1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFDL0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUdwQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBT1YsYUFBUSxHQUFZLEtBQUssQ0FBQztLQThEcEM7SUExREMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7WUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RiwrQ0FBK0M7WUFDL0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDdEUsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ25ELE1BQU0sQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQ3JEO1lBQ0Qsc0NBQXNDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDM0MsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssS0FBSyxDQUFDO0lBQ1gsZUFBZSxLQUFLLENBQUM7SUFDckIsaUJBQWlCLENBQUMsVUFBa0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRixvQkFBb0IsQ0FBQyxVQUFrQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFGLG1CQUFtQixDQUFDLFdBQTZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsb0JBQW9CLENBQUMsUUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25GLGVBQWUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRyxxQkFBcUIsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxVQUFVLENBQUMsYUFBcUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsZUFBZSxDQUFDLFVBQWtCLEVBQUUsU0FBUyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpHLGFBQWEsQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUNwQyxJQUFJO1lBQ0YsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUFDLE1BQU07WUFDTixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNO1FBQzdCLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzs4R0F2RlUsaUJBQWlCO2tHQUFqQixpQkFBaUIscUtBSmxCLDJCQUEyQjsyRkFJMUIsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBMEJVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvcm93LWRhdGEnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgUmVjb3JkVGFibGUsIFRhYmxlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlJztcblxuY29uc3QgY2hhbmdlVmlld0F0dHJpYnV0ZXMgPSBbJ3Zpc2libGVSZWNvcmRzJywgJ2N1cnJlbnRQYWdlJywgJ3JlY29yZHNQZXJQYWdlJ107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTGliVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG5cbiAgLy8gQXRyaWJ1dG9zIHNpbmNyb25pemFkb3MgZGVsIG9iamV0b1xuICBjb2RlOiBhbnk7XG4gIGNvbHVtbnM6IGFueTtcbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIGdsb2JhbFNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuICBnbG9iYWxGaWx0ZXJTdHJpbmc6IHN0cmluZyA9ICcnO1xuICB2aXNpYmxlUmVjb3JkczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRSZWNvcmRzOiBhbnlbXSA9IFtdO1xuICByZWNvcmRzUGVyUGFnZTogYW55O1xuICB0b3RhbFJlY29yZHNOdW1iZXI6IG51bWJlciA9IDA7XG4gIGFsbFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGxheW91dDogc3RyaW5nID0gJyc7XG5cbiAgdGFibGVGaWVsZFN0eWxlczogYW55O1xuICBsb2FkZWQgPSBmYWxzZTtcbiAgc2VsZWN0YWJsZSA9IGZhbHNlO1xuICBoYXNBY3Rpb25zID0gZmFsc2U7XG4gIGlubGluZUFjdGlvbnM6IGFueTtcbiAgZ2xvYmFsQWN0aW9uczogYW55O1xuICBzZWxlY3Rpb25BY3Rpb25zOiBhbnk7XG5cbiAgQElucHV0KCkgdGFibGU6IFJlY29yZFRhYmxlO1xuICBASW5wdXQoKSB0YWJsZVJlY29yZHM6IFRhYmxlUmVjb3JkRGF0YVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzdGF0ZTogc3RyaW5nO1xuICBASW5wdXQoKSB3YWl0aW5nOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnRhYmxlKSB7XG4gICAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnRhYmxlPy5fZm9ybUNvbmZpZztcbiAgICAgIHRoaXMudGFibGVGaWVsZFN0eWxlcyA9IHRoaXMuZm9ybUNvbmZpZy50YWJsZUZpZWxkU3R5bGVzO1xuICAgICAgdGhpcy5zZWxlY3RhYmxlID0gdGhpcy50YWJsZS5zZWxlY3RhYmxlO1xuICAgICAgdGhpcy5oYXNBY3Rpb25zID0gdGhpcy50YWJsZS5oYXNBY3Rpb25zKCk7XG4gICAgICB0aGlzLmlubGluZUFjdGlvbnMgPSB0aGlzLnRhYmxlLmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnLnRhYmxlQWN0aW9ucy5pbmxpbmUpO1xuICAgICAgdGhpcy5nbG9iYWxBY3Rpb25zID0gdGhpcy50YWJsZS5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZy50YWJsZUFjdGlvbnMuZ2xvYmFsKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQWN0aW9ucyA9IHRoaXMudGFibGUuZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWcudGFibGVBY3Rpb25zLnNlbGVjdGlvbik7XG4gICAgICAvLyBJbmljaWFsaXphY2nDs24gZGUgY2FtcG9zIG1hcGVhZG9zIGRlbCBvYmpldG9cbiAgICAgIGNvbnN0IG1hcHBpbmcgPSBPYmplY3QuZW50cmllcyh0aGlzLmZvcm1Db25maWcuY29tcG9uZW50VGFibGVBdHRyTWFwKTtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBbdGFibGVBdHRyUmF3LCBjb21wQXR0clJhd10gPSBtYXBwaW5nW2luZGV4XTtcbiAgICAgICAgY29uc3QgdGFibGVBdHRyID0gdGFibGVBdHRyUmF3LnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IGNvbXBBdHRyID0gY29tcEF0dHJSYXcudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5zeW5jQXR0cmlidXRlKGNvbXBBdHRyLCB0aGlzLnRhYmxlW3RhYmxlQXR0cl0pO1xuICAgICAgfVxuICAgICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgICB0aGlzLnRhYmxlLmF0dHJpYnV0ZUNoYW5nZS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCB7IG5hbWU6IHRhYmxlQXR0ciwgdmFsdWUgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCBjb21wQXR0ciA9IHRoaXMuZm9ybUNvbmZpZy5jb21wb25lbnRUYWJsZUF0dHJNYXBbdGFibGVBdHRyXTtcbiAgICAgICAgdGhpcy5zeW5jQXR0cmlidXRlKGNvbXBBdHRyLCB2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cbiAgdXBkYXRlVGFibGVEYXRhKCkgeyB9XG4gIHRhYmxlR2xvYmFsQWN0aW9uKGFjdGlvbkNvZGU6IHN0cmluZykgeyB0aGlzLnRhYmxlLm5vdGlmeUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlKTsgfVxuICB0YWJsZVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHsgdGhpcy50YWJsZS5ub3RpZnlTZWxlY3Rpb25BY3Rpb24oYWN0aW9uQ29kZSk7IH1cbiAgdGFibGVBY3Rpb25TZWxlY3RlZChhY3Rpb25FdmVudDogVGFibGVBY3Rpb25FdmVudCkgeyB0aGlzLnRhYmxlLm5vdGlmeUlubGluZUFjdGlvbihhY3Rpb25FdmVudCk7IH1cbiAgdGFibGVTZWxlY3Rpb25Ub2dnbGUocmVjb3JkSWQ6IGFueSkgeyB0aGlzLnRhYmxlLm5vdGlmeVJlY29yZFNlbGVjdGlvbihyZWNvcmRJZCk7IH1cbiAgdG9nZ2xlU2VsZWN0QWxsKCkgeyByZXR1cm4gKHRoaXMuYWxsU2VsZWN0ZWQpID8gdGhpcy50YWJsZS51blNlbGVjdEFsbCgpIDogdGhpcy50YWJsZS5zZWxlY3RBbGwoKTsgfVxuICBnbG9iYWxGaWx0ZXJDb21wbGV0ZWQoKSB7IHRoaXMuY2hhbmdlUGFnZSgxKTsgfVxuICBjaGFuZ2VQYWdlKHJlcXVlc3RlZFBhZ2U6IG51bWJlcikgeyB0aGlzLnRhYmxlLmNoYW5nZVBhZ2UocmVxdWVzdGVkUGFnZSk7IH1cbiAgdGFibGVDb2x1bW5Tb3J0KGNvbHVtbk5hbWU6IHN0cmluZywgZGlyZWN0aW9uID0gbnVsbCkgeyB0aGlzLnRhYmxlLnNvcnQoY29sdW1uTmFtZSwgZGlyZWN0aW9uID8/ICdhc2NlbmQnKTsgfVxuICBnbG9iYWxGaWx0ZXJDaGFuZ2VkKCkgeyB0aGlzLnRhYmxlLnNldEdsb2JhbEZpbHRlclN0cmluZyh0aGlzLmdsb2JhbEZpbHRlclN0cmluZz8udHJpbSgpID8/ICcnLCBmYWxzZSk7IH1cblxuICBzeW5jQXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAobmFtZSA9PT0gJ3Zpc2libGVSZWNvcmRzJykge1xuICAgICAgICB0aGlzLnVwZGF0ZVRhYmxlRGF0YSgpO1xuICAgICAgfVxuICAgICAgdGhpc1tuYW1lXSA9IHZhbHVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZmlsdGVySGFzQ2hhbmdlZChjb2x1bW4sIHZhbHVlcykge1xuICAgIGlmICghdmFsdWVzIHx8IHZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudGFibGUucmVtb3ZlQ29sdW1uRmlsdGVyKGNvbHVtbi5maWVsZENvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlLmFkZENvbHVtbkZpbHRlcihjb2x1bW4uZmllbGRDb2RlLCB2YWx1ZXMpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUUvRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFRakYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQU52RDs7UUFVRSxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5Qix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFDaEMsOEJBQThCO1FBQzlCLG9CQUFlLEdBQVUsRUFBRSxDQUFDO1FBRTVCLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUMvQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBR3BCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFLVixVQUFLLEdBQXVCLElBQUksQ0FBQztRQUNqQyxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFDdkMsWUFBTyxHQUFZLEtBQUssQ0FBQztLQStFbkM7SUE3RUMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7UUFD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Q0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDOzs4R0F0R1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsMEpBSmxCLDJCQUEyQjsyRkFJMUIsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBd0JVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvcm93LWRhdGEnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgUmVjb3JkVGFibGUsIFRhYmxlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvZWxlbWVudC5jb21wb25lbnQnO1xuXG5jb25zdCBjaGFuZ2VWaWV3QXR0cmlidXRlcyA9IFsndmlzaWJsZVJlY29yZHMnLCAnY3VycmVudFBhZ2UnLCAncmVjb3Jkc1BlclBhZ2UnXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaWJUYWJsZUNvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBBdHJpYnV0b3Mgc2luY3Jvbml6YWRvcyBkZWwgb2JqZXRvXG4gIGNvZGU6IGFueTtcbiAgY29sdW1uczogYW55O1xuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgZ2xvYmFsU2VhcmNoOiBib29sZWFuID0gZmFsc2U7XG4gIGdsb2JhbEZpbHRlclN0cmluZzogc3RyaW5nID0gJyc7XG4gIC8vIHZpc2libGVSZWNvcmRzOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZFJlY29yZHM6IGFueVtdID0gW107XG4gIHJlY29yZHNQZXJQYWdlOiBhbnk7XG4gIHRvdGFsUmVjb3Jkc051bWJlcjogbnVtYmVyID0gMDtcbiAgYWxsU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbGF5b3V0OiBzdHJpbmcgPSAnJztcblxuICB0YWJsZUZpZWxkU3R5bGVzOiBhbnk7XG4gIGxvYWRlZCA9IGZhbHNlO1xuICBzZWxlY3RhYmxlID0gZmFsc2U7XG4gIGhhc0FjdGlvbnMgPSBmYWxzZTtcbiAgaW5saW5lQWN0aW9uczogYW55O1xuICBnbG9iYWxBY3Rpb25zOiBhbnk7XG4gIHNlbGVjdGlvbkFjdGlvbnM6IGFueTtcblxuICBASW5wdXQoKSB0YWJsZTogUmVjb3JkVGFibGUgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgdmlzaWJsZVJlY29yZHM6IFRhYmxlUmVjb3JkRGF0YVtdID0gW107XG4gIEBJbnB1dCgpIHdhaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMudGFibGUpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy50YWJsZT8uX2Zvcm1Db25maWc7XG4gICAgdGhpcy50YWJsZUZpZWxkU3R5bGVzID0gdGhpcy5mb3JtQ29uZmlnPy50YWJsZUZpZWxkU3R5bGVzO1xuICAgIHRoaXMuc2VsZWN0YWJsZSA9IHRoaXMudGFibGU/LnNlbGVjdGFibGU7XG4gICAgdGhpcy5oYXNBY3Rpb25zID0gdGhpcy50YWJsZT8uaGFzQWN0aW9ucygpO1xuICAgIHRoaXMuaW5saW5lQWN0aW9ucyA9IHRoaXMudGFibGU/LmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnPy50YWJsZUFjdGlvbnMuaW5saW5lKTtcbiAgICB0aGlzLmdsb2JhbEFjdGlvbnMgPSB0aGlzLnRhYmxlPy5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZz8udGFibGVBY3Rpb25zLmdsb2JhbCk7XG4gICAgdGhpcy5zZWxlY3Rpb25BY3Rpb25zID0gdGhpcy50YWJsZT8uZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWc/LnRhYmxlQWN0aW9ucy5zZWxlY3Rpb24pO1xuICAgIC8vIEluaWNpYWxpemFjacOzbiBkZSBjYW1wb3MgbWFwZWFkb3MgZGVsIG9iamV0b1xuICAgIGNvbnN0IG1hcHBpbmcgPSBPYmplY3QuZW50cmllcyh0aGlzLmZvcm1Db25maWc/LmFjdGlvblByb3BhZ2F0ZUF0dHJpYnV0ZXMpO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgdGFibGVBdHRyID0gbWFwcGluZ1tpbmRleF0/LlswXTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEF0dHIgPSBtYXBwaW5nW2luZGV4XT8uWzFdPy50b1N0cmluZygpID8/ICcnO1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLnRhYmxlPy5bdGFibGVBdHRyXTtcbiAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGNvbXBvbmVudEF0dHIsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9XG4gICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgdGhpcy50YWJsZT8uYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCB7IG5hbWU6IGF0dHJOYW1lLCB2YWx1ZSB9ID0gZXZlbnQ7XG4gICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCB2YWx1ZSk7XG4gICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICB9KTtcbiAgICAvLyBTdXNjcmlwY2nDs24gYSBsb3MgY2FtYmlvcyBkZSBhdHJpYnV0b3MgZGUgbGFzIGNvbHVtbmFzXG4gICAgLy8gdGhpcy50YWJsZS5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAvLyAgIG1hcHBpbmcgPSB0aGlzLmZvcm1Db25maWc/LnRhYmxlQ29sdW1uUHJvcGFnYXRlQXR0cmlidXRlcztcbiAgICAvLyAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIC8vICAgICBjb25zdCBhdHRyTmFtZSA9IG1hcHBpbmdbaW5kZXhdLnRvU3RyaW5nKCk7XG4gICAgLy8gICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gY29sdW1uPy5bYXR0ck5hbWVdO1xuICAgIC8vICAgICB0aGlzLmRlZmF1bHRDb2x1bW5BdHRyaWJ1dGVDaGFuZ2UoY29sdW1uLCBhdHRyTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIC8vICAgfVxuICAgIC8vICAgY29sdW1uPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAvLyAgICAgY29uc3QgeyBuYW1lOiBhdHRyTmFtZSwgdmFsdWUgfSA9IGV2ZW50O1xuICAgIC8vICAgICB0aGlzLmRlZmF1bHRDb2x1bW5BdHRyaWJ1dGVDaGFuZ2UoY29sdW1uLCBhdHRyTmFtZSwgdmFsdWUpO1xuICAgIC8vICAgfSk7XG4gICAgLy8gfSk7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgLy8gZGVmYXVsdENvbHVtbkF0dHJpYnV0ZUNoYW5nZShjb2x1bW46IGFueSwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogYW55KSB7XG4gIC8vICAgYXR0cmlidXRlICYmIChjb2x1bW5bYXR0cmlidXRlXSA9IHZhbHVlKTtcbiAgLy8gfVxuXG4gIHVwZGF0ZVRhYmxlRGF0YSgpIHsgfVxuICB0YWJsZUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHsgdGhpcy50YWJsZT8ubm90aWZ5R2xvYmFsQWN0aW9uKGFjdGlvbkNvZGUpOyB9XG4gIHRhYmxlU2VsZWN0aW9uQWN0aW9uKGFjdGlvbkNvZGU6IHN0cmluZykgeyB0aGlzLnRhYmxlPy5ub3RpZnlTZWxlY3Rpb25BY3Rpb24oYWN0aW9uQ29kZSk7IH1cbiAgdGFibGVBY3Rpb25TZWxlY3RlZChhY3Rpb25FdmVudDogVGFibGVBY3Rpb25FdmVudCkgeyB0aGlzLnRhYmxlPy5ub3RpZnlJbmxpbmVBY3Rpb24oYWN0aW9uRXZlbnQpOyB9XG4gIHRhYmxlU2VsZWN0aW9uVG9nZ2xlKHJlY29yZElkOiBhbnkpIHsgdGhpcy50YWJsZT8ubm90aWZ5UmVjb3JkU2VsZWN0aW9uKHJlY29yZElkKTsgfVxuICB0b2dnbGVTZWxlY3RBbGwoKSB7IHJldHVybiAodGhpcy5hbGxTZWxlY3RlZCkgPyB0aGlzLnRhYmxlPy51blNlbGVjdEFsbCgpIDogdGhpcy50YWJsZT8uc2VsZWN0QWxsKCk7IH1cbiAgZ2xvYmFsRmlsdGVyQ29tcGxldGVkKCkgeyB0aGlzLmNoYW5nZVBhZ2UoMSk7IH1cbiAgY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlOiBudW1iZXIpIHsgdGhpcy50YWJsZT8uY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlKTsgfVxuICB0YWJsZUNvbHVtblNvcnQoY29sdW1uTmFtZTogc3RyaW5nLCBkaXJlY3Rpb24gPSBudWxsKSB7IHRoaXMudGFibGU/LnNvcnQoY29sdW1uTmFtZSwgZGlyZWN0aW9uID8/ICdhc2NlbmQnKTsgfVxuICBnbG9iYWxGaWx0ZXJDaGFuZ2VkKCkgeyB0aGlzLnRhYmxlPy5zZXRHbG9iYWxGaWx0ZXJTdHJpbmcodGhpcy5nbG9iYWxGaWx0ZXJTdHJpbmc/LnRyaW0oKSA/PyAnJywgZmFsc2UpOyB9XG5cbiAgb3ZlcnJpZGUgZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogYW55KSB7XG4gICAgaWYgKCFhdHRyaWJ1dGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhdHRyaWJ1dGUgPT09ICd2aXNpYmxlUmVjb3JkcycpIHtcbiAgICAgICAgdGhpcy51cGRhdGVUYWJsZURhdGEoKTtcbiAgICAgIH1cbiAgICAgIHRoaXNbYXR0cmlidXRlXSA9IHZhbHVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZmlsdGVySGFzQ2hhbmdlZChjb2x1bW4sIHZhbHVlcykge1xuICAgIGlmICghdmFsdWVzIHx8IHZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudGFibGU/LnJlbW92ZUNvbHVtbkZpbHRlcihjb2x1bW4uZmllbGRDb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJsZT8uYWRkQ29sdW1uRmlsdGVyKGNvbHVtbi5maWVsZENvZGUsIHZhbHVlcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|