@eui/mobile-core 17.0.0-next.2 → 17.0.0-next.3
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/docs/components/EuimChipSelectorComponent.html +176 -0
- package/docs/directives/EuimChipSelectorItemDirective.html +23 -0
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/lib/components/euim-chip-selector/euim-chip-selector-item/euim-chip-selector-item.directive.mjs +2 -1
- package/esm2022/lib/components/euim-chip-selector/euim-chip-selector.component.mjs +78 -18
- package/fesm2022/eui-mobile-core.mjs +78 -17
- package/fesm2022/eui-mobile-core.mjs.map +1 -1
- package/lib/components/euim-chip-selector/euim-chip-selector-item/euim-chip-selector-item.directive.d.ts +1 -0
- package/lib/components/euim-chip-selector/euim-chip-selector-item/euim-chip-selector-item.directive.d.ts.map +1 -1
- package/lib/components/euim-chip-selector/euim-chip-selector.component.d.ts +9 -2
- package/lib/components/euim-chip-selector/euim-chip-selector.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ export class EuimChipSelectorItemDirective {
|
|
|
6
6
|
constructor(renderer, el) {
|
|
7
7
|
this.renderer = renderer;
|
|
8
8
|
this.el = el;
|
|
9
|
+
this.clickEventAdded = false;
|
|
9
10
|
this.euimChipSelectorAll = false;
|
|
10
11
|
this.className = 'euim-chip-selector__item';
|
|
11
12
|
}
|
|
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
28
29
|
type: HostBinding,
|
|
29
30
|
args: ['class']
|
|
30
31
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tY2hpcC1zZWxlY3Rvci9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLDZCQUE2QjtJQVV0QyxZQUFtQixRQUFtQixFQUFTLEVBQWM7UUFBMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFTLE9BQUUsR0FBRixFQUFFLENBQVk7UUFUN0Qsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFLeEIsd0JBQW1CLEdBQWlCLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQUcsMEJBQTBCLENBQUM7SUFFRyxDQUFDO2lJQVZ4RCw2QkFBNkI7cUhBQTdCLDZCQUE2Qjs7QUFNdEM7SUFEQyxhQUFhOzBFQUM0QjsyRkFOakMsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ3JDO3VHQUlZLEVBQUU7c0JBQVYsS0FBSztnQkFHTixtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBSWdCLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXVpbUNoaXBTZWxlY3Rvckl0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUge1xuICAgIGNsaWNrRXZlbnRBZGRlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaWQ6IG51bWJlcjtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgZXVpbUNoaXBTZWxlY3RvckFsbDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbSc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIGVsOiBFbGVtZW50UmVmKSB7fVxuXG59XG4iXX0=
|
|
@@ -27,6 +27,7 @@ export class EuimChipSelectorComponent {
|
|
|
27
27
|
this.filteredData = [...this.sourceData];
|
|
28
28
|
this.filterConditions = [];
|
|
29
29
|
this.searchInput = '';
|
|
30
|
+
this.clickEventHandled = false;
|
|
30
31
|
}
|
|
31
32
|
get cssClasses() {
|
|
32
33
|
return this.getCssClasses();
|
|
@@ -35,9 +36,24 @@ export class EuimChipSelectorComponent {
|
|
|
35
36
|
this.setCssItemClasses();
|
|
36
37
|
}
|
|
37
38
|
ngAfterContentInit() {
|
|
39
|
+
this.subscribeToChanges();
|
|
38
40
|
this.updateChipsAndFilterDataAfterInit();
|
|
39
41
|
this.updateChipsAndFilters();
|
|
40
42
|
}
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
if (this.euimChipSelectorItemSubscription) {
|
|
45
|
+
this.euimChipSelectorItemSubscription.unsubscribe();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
subscribeToChanges() {
|
|
49
|
+
if (this.euimChipSelectorItemSubscription) {
|
|
50
|
+
this.euimChipSelectorItemSubscription.unsubscribe();
|
|
51
|
+
}
|
|
52
|
+
this.euimChipSelectorItemSubscription = this.euimChipSelectorItemComponent.changes.subscribe(() => {
|
|
53
|
+
this.updateChipsAndFilters();
|
|
54
|
+
this.setCssItemClasses();
|
|
55
|
+
});
|
|
56
|
+
}
|
|
41
57
|
ngOnChanges(changes) {
|
|
42
58
|
if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0 &&
|
|
43
59
|
changes.selectedChips.currentValue && changes.selectedChips.currentValue.length === 1 &&
|
|
@@ -77,33 +93,63 @@ export class EuimChipSelectorComponent {
|
|
|
77
93
|
}
|
|
78
94
|
updateChipsAndFilters() {
|
|
79
95
|
this.euimChipSelectorItemComponent.forEach(chip => {
|
|
80
|
-
chip.
|
|
81
|
-
|
|
82
|
-
if (!this.
|
|
83
|
-
this.
|
|
96
|
+
if (!chip.clickEventAdded) {
|
|
97
|
+
chip.el.nativeElement.addEventListener('click', () => {
|
|
98
|
+
if (!this.clickEventHandled) {
|
|
99
|
+
this.clickEventHandled = true;
|
|
100
|
+
this.euimChipSelectorItemComponent.forEach(innerChip => {
|
|
101
|
+
if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
|
|
102
|
+
this.removeSelectedStyles(innerChip.el.nativeElement);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
this.addSelectedStyles(chip.el.nativeElement);
|
|
106
|
+
this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
|
|
107
|
+
this.filterData.emit(this.filteredData);
|
|
108
|
+
this.clickItems.emit(this.selectedChips);
|
|
109
|
+
this.clickEventHandled = false;
|
|
84
110
|
}
|
|
85
111
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
this.filterData.emit(this.filteredData);
|
|
89
|
-
this.clickItems.emit(this.selectedChips);
|
|
90
|
-
});
|
|
112
|
+
chip.clickEventAdded = true;
|
|
113
|
+
}
|
|
91
114
|
});
|
|
92
115
|
}
|
|
116
|
+
clickEventHandler(chip) {
|
|
117
|
+
if (!this.clickEventHandled) {
|
|
118
|
+
this.clickEventHandled = true;
|
|
119
|
+
this.euimChipSelectorItemComponent.forEach(innerChip => {
|
|
120
|
+
if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
|
|
121
|
+
this.removeSelectedStyles(innerChip.el.nativeElement);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
this.addSelectedStyles(chip.el.nativeElement);
|
|
125
|
+
this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
|
|
126
|
+
this.filterData.emit(this.filteredData);
|
|
127
|
+
this.clickItems.emit(this.selectedChips);
|
|
128
|
+
this.clickEventHandled = false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
93
131
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
94
132
|
handleChange(event) {
|
|
95
133
|
this.searchInput = event.detail.value.toLowerCase();
|
|
96
134
|
if (!this.euimKeepSelection)
|
|
97
135
|
return;
|
|
98
136
|
let filteredDataWithSearch = [];
|
|
99
|
-
if (this.
|
|
100
|
-
filteredDataWithSearch =
|
|
101
|
-
|
|
137
|
+
if (this.selectedChips[0] !== '0' && this.isMultiSelectionMode) {
|
|
138
|
+
filteredDataWithSearch = [...this.sourceData].filter(item => this.selectedChips.includes(item.filterId));
|
|
139
|
+
this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
140
|
+
this.filterData.emit(this.filteredData);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (this.selectedChips[0] !== '0') {
|
|
144
|
+
filteredDataWithSearch = [...this.sourceData].filter(item => {
|
|
145
|
+
return item.filterId === this.selectedChips[0];
|
|
146
|
+
});
|
|
147
|
+
this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
102
148
|
}
|
|
103
149
|
else {
|
|
104
|
-
|
|
150
|
+
this.filteredData = [...this.sourceData].filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
105
151
|
}
|
|
106
|
-
this.filterData.emit(
|
|
152
|
+
this.filterData.emit(this.filteredData);
|
|
107
153
|
}
|
|
108
154
|
clearFiltersAndSelectAll() {
|
|
109
155
|
this.clearAllSelections();
|
|
@@ -123,8 +169,6 @@ export class EuimChipSelectorComponent {
|
|
|
123
169
|
if (chip.id === undefined && chip.euimChipSelectorAll) {
|
|
124
170
|
chip.id = 0;
|
|
125
171
|
}
|
|
126
|
-
});
|
|
127
|
-
this.euimChipSelectorItemComponent.forEach((chip) => {
|
|
128
172
|
const chipId = chip.id;
|
|
129
173
|
if (chipId && this.selectedChips.includes(chipId)) {
|
|
130
174
|
this.addSelectedStyles(chip.el.nativeElement);
|
|
@@ -135,9 +179,13 @@ export class EuimChipSelectorComponent {
|
|
|
135
179
|
this.addSelectedStyles(chip.el.nativeElement);
|
|
136
180
|
this.selectedChips = ['0'];
|
|
137
181
|
this.filterData.emit(this.sourceData);
|
|
138
|
-
this.clickItems.emit(this.selectedChips);
|
|
139
182
|
}
|
|
140
183
|
});
|
|
184
|
+
if (this.selectedChips.length > 0) {
|
|
185
|
+
this.emitEvents();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
emitEvents() {
|
|
141
189
|
this.clickItems.emit(this.selectedChips);
|
|
142
190
|
}
|
|
143
191
|
onFilterChange(filterCondition, isFilterAll, item) {
|
|
@@ -155,10 +203,22 @@ export class EuimChipSelectorComponent {
|
|
|
155
203
|
this.filteredData = [...this.sourceData];
|
|
156
204
|
return;
|
|
157
205
|
}
|
|
206
|
+
if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter && this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
|
|
207
|
+
const filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
|
|
208
|
+
this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
158
211
|
if (this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
|
|
159
212
|
this.filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
|
|
160
213
|
return;
|
|
161
214
|
}
|
|
215
|
+
if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter) {
|
|
216
|
+
const filteredData = [...this.sourceData].filter(item => {
|
|
217
|
+
return item.filterId === filterCondition;
|
|
218
|
+
});
|
|
219
|
+
this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
162
222
|
this.filteredData = [...this.sourceData].filter(item => {
|
|
163
223
|
return item.filterId === filterCondition;
|
|
164
224
|
});
|
|
@@ -250,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
250
310
|
type: ContentChildren,
|
|
251
311
|
args: [EuimChipSelectorItemDirective, { descendants: true }]
|
|
252
312
|
}] } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdk4sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7QUFVNUcsTUFBTSxPQUFPLHlCQUF5QjtJQVJ0QztRQVNhLG9CQUFlLEdBQTZCLFNBQVMsQ0FBQztRQUMvRDs7O1dBR0c7UUFDTSxjQUFTLEdBQXlGLE9BQU8sQ0FBQztRQUMxRyxVQUFLLEdBQXlGLE9BQU8sQ0FBQztRQUN0RyxzQkFBaUIsR0FBcUIsT0FBTyxDQUFDO1FBQzlDLGFBQVEsR0FBZ0UsU0FBUyxDQUFDO1FBQ2xGLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRzVCLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFHM0Msc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUd4QyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBU3BELGlCQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxFQUFFLENBQUE7UUFDckIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7S0EyTXBCO0lBck5HLElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFTRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsNkJBQTZCLElBQUksSUFBSSxDQUFDLDZCQUE2QixDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ25GLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3JGLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsRUFBRTtZQUMzRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTztZQUNILG9CQUFvQjtZQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyx3Q0FBd0MsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzdGLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQzNCLDhFQUE4RTtRQUM5RSxpREFBaUQ7UUFDakQsNkNBQTZDO1FBQzdDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDckQsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDN0I7YUFBTTtZQUNILFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ2pDO1FBRUQsT0FBTztZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGtDQUFrQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEUsWUFBWSxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDeEUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELHFCQUFxQjtRQUNqQixJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBRWpELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTt3QkFDckYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7cUJBQ3BEO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUU5QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3pGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRTdDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsOERBQThEO0lBQzlELFlBQVksQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFPO1FBRXBDLElBQUksc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUU7WUFDekIsc0JBQXNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQy9GLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ3JIO2FBQU07WUFDSCxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDbEc7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTFCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxjQUFjLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM5QyxjQUFjLEdBQUcsS0FBSyxDQUFDO2FBQzFCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxpQ0FBaUM7UUFFN0IsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUVqRCxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDZjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFFdkIsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0M7WUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzdELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzVDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxlQUF1QixFQUFFLFdBQXlCLEVBQUUsSUFBSTtRQUNuRSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNyRTthQUFNO1lBQ0gsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNoRTtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxlQUF1QixFQUFFLFdBQXlCLEVBQUUsd0JBQWtDO1FBRTlGLElBQUksV0FBVyxJQUFJLHdCQUF3QixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pDLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLHdCQUF3QixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxRyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25ELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxlQUFlLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBSTtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBSTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyw0Q0FBNEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxlQUF1QixFQUFFLFdBQXlCLEVBQUUsSUFBSTtRQUNyRixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQztpQkFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztnQkFDdkYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25DO1lBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZFO2FBQU07WUFDSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBRU8seUJBQXlCLENBQUMsZUFBdUIsRUFBRSxXQUF5QjtRQUNoRixJQUFJLFdBQVcsRUFBRTtZQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QjthQUFNO1lBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztpSUEzT1EseUJBQXlCO3FIQUF6Qix5QkFBeUIsbWlCQTRCakIsNkJBQTZCLHFFQ3pDbEQsK05BTUE7O0FEcUJJO0lBREMsYUFBYTt1RUFDNkI7QUFHM0M7SUFEQyxhQUFhO29FQUMwQjtBQUd4QztJQURDLGFBQWE7K0RBQ3FCOzJGQXBCMUIseUJBQXlCO2tCQVJyQyxTQUFTOytCQUNJLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHTixvQkFBb0I7c0JBRm5CLEtBQUs7Z0JBS04saUJBQWlCO3NCQUZoQixLQUFLO2dCQUtOLFlBQVk7c0JBRlgsS0FBSztnQkFHSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUgsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTXBCLDZCQUE2QjtzQkFENUIsZUFBZTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFF1ZXJ5TGlzdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBBZnRlckNvbnRlbnRJbml0LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tY2hpcC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblxufSlcbmV4cG9ydCBjbGFzcyBFdWltQ2hpcFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB8ICd3aGl0ZScgfCAnJyA9ICdwcmltYXJ5JztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjE3LlxuICAgICAqIFBsZWFzZSB1c2Uge0BsaW5rIGNvbG9yfSBwcm9wZXJ0eSBpbnN0ZWFkXG4gICAgICovXG4gICAgQElucHV0KCkgY2hpcENvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNoaXBTZWxlY3RlZENvbG9yOiAnZGFyaycgfCAnd2hpdGUnID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwRmlsbDogJ2RlZmF1bHQnIHwgJ2NsZWFyJyB8ICdvdXRsaW5lJyB8ICdvdXRsaW5lLXNvbGlkJyB8ICdzb2xpZCcgPSAnZGVmYXVsdCc7XG4gICAgQElucHV0KCkgc291cmNlRGF0YTogRmlsdGVyZWREYXRhW10gPSBbXTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZENoaXBzID0gW107XG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGlzTXVsdGlTZWxlY3Rpb25Nb2RlOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgZXVpbUtlZXBTZWxlY3Rpb246IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBoYXNTZWFyY2hiYXI6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJlZERhdGFbXT4oKTtcbiAgICBAT3V0cHV0KCkgY2xpY2tJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudDogUXVlcnlMaXN0PEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlPjtcblxuICAgIGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgIGZpbHRlckNvbmRpdGlvbnMgPSBbXVxuICAgIHNlYXJjaElucHV0ID0gJyc7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudCAmJiB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUgJiYgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09ICcwJykpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvci0tYmFja2dyb3VuZC1jb2xvci0ke3RoaXMuYmFja2dyb3VuZENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIHNldENzc0l0ZW1DbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5nZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBjbGFzc2VzLnNwbGl0KCcgJykuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgICAgICAgICAgIGNoaXAuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q3NzSXRlbUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGN1cnJlbnRDb2xvciA9ICd3aGl0ZSc7XG4gICAgICAgIC8vIGlmIGNvbG9yIHByb3BlcnR5IGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgb25lICh3aGl0ZSkgdGhhbiB1c2UgY2hpcCBjb2xvclxuICAgICAgICAvLyBtZWFucyB1c2luZyB0aGUgZGVwcmVjYXRlZCBjaGlwQ29sb3IgcHJvcGVydHksXG4gICAgICAgIC8vIG5lZWRlZCBhcyBpbiBWMTggd2lsbCBiZSByZW1vdmVkIGNoaXBDb2xvclxuICAgICAgICBpZiAodGhpcy5jaGlwQ29sb3IgPT09ICd3aGl0ZScgJiYgdGhpcy5jb2xvciAhPSAnd2hpdGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNvbG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudENvbG9yID0gdGhpcy5jaGlwQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jaGlwRmlsbCA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWZpbGwtJHt0aGlzLmNoaXBGaWxsfWAgOiAnJyxcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWNvbG9yLSR7Y3VycmVudENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCB0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKGNoaXAuaWQudG9TdHJpbmcoKSwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gZXZlbnQuZGV0YWlsLnZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmV1aW1LZWVwU2VsZWN0aW9uKSByZXR1cm47XG5cbiAgICAgICAgbGV0IGZpbHRlcmVkRGF0YVdpdGhTZWFyY2ggPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQgIT09ICcnKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gKHRoaXMuc2VsZWN0ZWRDaGlwc1swXSAhPT0gJzAnKSA/IHRoaXMuZmlsdGVyZWREYXRhIDogdGhpcy5zb3VyY2VEYXRhO1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhV2l0aFNlYXJjaCA9IGZpbHRlcmVkRGF0YVdpdGhTZWFyY2guZmlsdGVyKG9iaiA9PiBvYmoudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaElucHV0KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gKHRoaXMuc2VsZWN0ZWRDaGlwc1swXSAhPT0gJzAnKSA/IHRoaXMuZmlsdGVyZWREYXRhIDogdGhpcy5zb3VyY2VEYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQoZmlsdGVyZWREYXRhV2l0aFNlYXJjaCk7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyQWxsU2VsZWN0aW9ucygpO1xuICAgICAgICBsZXQgaXNGaXJzdEVsZW1lbnQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ZpcnN0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpc0ZpcnN0RWxlbWVudCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpOiB2b2lkIHtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgIGlmIChjaGlwLmlkID09PSB1bmRlZmluZWQgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgY2hpcC5pZCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaCgoY2hpcCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpcElkID0gY2hpcC5pZDtcblxuICAgICAgICAgICAgaWYgKGNoaXBJZCAmJiB0aGlzLnNlbGVjdGVkQ2hpcHMuaW5jbHVkZXMoY2hpcElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKG51bGwsIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID09PSAwICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIG9uRmlsdGVyQ2hhbmdlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0LCBpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCBpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2luZ2xlU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCwgdGhpcy5maWx0ZXJDb25kaXRpb25zKTtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgIH1cblxuICAgIGFwcGx5RmlsdGVyKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0FsbEZpbHRlcjogQm9vbGVhbklucHV0LCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnM6IHN0cmluZ1tdKTogdm9pZCB7XG5cbiAgICAgICAgaWYgKGlzQWxsRmlsdGVyICYmIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5maWx0ZXJJZCA9PT0gZmlsdGVyQ29uZGl0aW9uO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZChgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLXNlbGVjdGVkLS1jb2xvci0ke3RoaXMuY2hpcFNlbGVjdGVkQ29sb3J9YCk7XG4gICAgICAgIGl0ZW0uc2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnJlbW92ZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCwgaXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLnNlbGVjdGVkQ2hpcHM7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmlsdGVyQ29uZGl0aW9ucy5pbmNsdWRlcyhmaWx0ZXJDb25kaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zLnB1c2goZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5maWx0ZXIoY2hpcCA9PiBjaGlwICE9PSBmaWx0ZXJDb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGVsID0+IGVsICE9PSAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNpbmdsZVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFtmaWx0ZXJDb25kaXRpb25dO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckFsbFNlbGVjdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBGaWx0ZXJlZERhdGEge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cbiIsIjxpb24tc2VhcmNoYmFyICpuZ0lmPVwiaGFzU2VhcmNoYmFyXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tY2hpcC1zZWxlY3Rvcl9fc2VhcmNoYmFyXCI+PC9pb24tc2VhcmNoYmFyPlxuPGV1aW0tc2Nyb2xsZXIteD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cblxuIl19
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFbE8sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7QUFXNUcsTUFBTSxPQUFPLHlCQUF5QjtJQVJ0QztRQVVhLG9CQUFlLEdBQThCLFNBQVMsQ0FBQztRQUNoRTs7O1dBR0c7UUFDTSxjQUFTLEdBQXlGLE9BQU8sQ0FBQztRQUMxRyxVQUFLLEdBQXlGLE9BQU8sQ0FBQztRQUN0RyxzQkFBaUIsR0FBcUIsT0FBTyxDQUFDO1FBQzlDLGFBQVEsR0FBZ0UsU0FBUyxDQUFDO1FBQ2xGLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRzVCLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFHM0Msc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUd4QyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBVXBELGlCQUFZLEdBQUcsQ0FB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Qiw2QkFBNkI7c0JBRDVCLGVBQWU7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBRdWVyeUxpc3QsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgQWZ0ZXJDb250ZW50SW5pdCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1DaGlwU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB8ICAnd2hpdGUnIHwgJycgPSAncHJpbWFyeSc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHYxNy5cbiAgICAgKiBQbGVhc2UgdXNlIHtAbGluayBjb2xvcn0gcHJvcGVydHkgaW5zdGVhZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoaXBDb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwU2VsZWN0ZWRDb2xvcjogJ2RhcmsnIHwgJ3doaXRlJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY2hpcEZpbGw6ICdkZWZhdWx0JyB8ICdjbGVhcicgfCAnb3V0bGluZScgfCAnb3V0bGluZS1zb2xpZCcgfCAnc29saWQnID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHNvdXJjZURhdGE6IEZpbHRlcmVkRGF0YVtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDaGlwcyA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc011bHRpU2VsZWN0aW9uTW9kZTogQm9vbGVhbklucHV0ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGV1aW1LZWVwU2VsZWN0aW9uOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaGFzU2VhcmNoYmFyOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgZmlsdGVyRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyZWREYXRhW10+KCk7XG4gICAgQE91dHB1dCgpIGNsaWNrSXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudDogUXVlcnlMaXN0PEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlPjtcblxuICAgIGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgIGZpbHRlckNvbmRpdGlvbnMgPSBbXVxuICAgIHNlYXJjaElucHV0ID0gJyc7XG4gICAgZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBjbGlja0V2ZW50SGFuZGxlZCA9IGZhbHNlO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlVG9DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbiA9IHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudCAmJiB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUgJiYgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09ICcwJykpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvci0tYmFja2dyb3VuZC1jb2xvci0ke3RoaXMuYmFja2dyb3VuZENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIHNldENzc0l0ZW1DbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5nZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBjbGFzc2VzLnNwbGl0KCcgJykuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgICAgICAgICAgIGNoaXAuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q3NzSXRlbUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGN1cnJlbnRDb2xvciA9ICd3aGl0ZSc7XG4gICAgICAgIC8vIGlmIGNvbG9yIHByb3BlcnR5IGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgb25lICh3aGl0ZSkgdGhhbiB1c2UgY2hpcCBjb2xvclxuICAgICAgICAvLyBtZWFucyB1c2luZyB0aGUgZGVwcmVjYXRlZCBjaGlwQ29sb3IgcHJvcGVydHksXG4gICAgICAgIC8vIG5lZWRlZCBhcyBpbiBWMTggd2lsbCBiZSByZW1vdmVkIGNoaXBDb2xvclxuICAgICAgICBpZiAodGhpcy5jaGlwQ29sb3IgPT09ICd3aGl0ZScgJiYgdGhpcy5jb2xvciAhPSAnd2hpdGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNvbG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudENvbG9yID0gdGhpcy5jaGlwQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jaGlwRmlsbCA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWZpbGwtJHt0aGlzLmNoaXBGaWxsfWAgOiAnJyxcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA/IGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tLWNvbG9yLSR7Y3VycmVudENvbG9yfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBpZiAoIWNoaXAuY2xpY2tFdmVudEFkZGVkKSB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2xpY2tFdmVudEhhbmRsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudEhhbmRsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goaW5uZXJDaGlwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgJiYgaW5uZXJDaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaW5uZXJDaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoY2hpcC5pZD8udG9TdHJpbmcoKSwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50SGFuZGxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY2hpcC5jbGlja0V2ZW50QWRkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbGlja0V2ZW50SGFuZGxlcihjaGlwKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jbGlja0V2ZW50SGFuZGxlZCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50SGFuZGxlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChpbm5lckNoaXAgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSAmJiBpbm5lckNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhpbm5lckNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgdGhpcy5vbkZpbHRlckNoYW5nZShjaGlwLmlkPy50b1N0cmluZygpLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuXG4gICAgICAgICAgICB0aGlzLmNsaWNrRXZlbnRIYW5kbGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGhhbmRsZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBldmVudC5kZXRhaWwudmFsdWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBpZiAoIXRoaXMuZXVpbUtlZXBTZWxlY3Rpb24pIHJldHVybjtcblxuICAgICAgICBsZXQgZmlsdGVyZWREYXRhV2l0aFNlYXJjaCA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHNbMF0gIT09ICcwJyAmJiB0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZENoaXBzLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhV2l0aFNlYXJjaC5maWx0ZXIob2JqID0+IG9iai50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoSW5wdXQpKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHNbMF0gIT09ICcwJyl7XG4gICAgICAgICAgICBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmZpbHRlcklkID09PSB0aGlzLnNlbGVjdGVkQ2hpcHNbMF07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhV2l0aFNlYXJjaC5maWx0ZXIob2JqID0+IG9iai50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoSW5wdXQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKG9iaiA9PiBvYmoudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaElucHV0KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyQWxsU2VsZWN0aW9ucygpO1xuICAgICAgICBsZXQgaXNGaXJzdEVsZW1lbnQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ZpcnN0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpc0ZpcnN0RWxlbWVudCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICBpZiAoY2hpcC5pZCA9PT0gdW5kZWZpbmVkICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIGNoaXAuaWQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2hpcElkID0gY2hpcC5pZDtcblxuICAgICAgICAgICAgaWYgKGNoaXBJZCAmJiB0aGlzLnNlbGVjdGVkQ2hpcHMuaW5jbHVkZXMoY2hpcElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKG51bGwsIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID09PSAwICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5lbWl0RXZlbnRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbWl0RXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgIH1cblxuICAgIG9uRmlsdGVyQ2hhbmdlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0LCBpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCBpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2luZ2xlU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCwgdGhpcy5maWx0ZXJDb25kaXRpb25zKTtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgIH1cblxuICAgIGFwcGx5RmlsdGVyKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0FsbEZpbHRlcjogQm9vbGVhbklucHV0LCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnM6IHN0cmluZ1tdKTogdm9pZCB7XG5cbiAgICAgICAgaWYgKGlzQWxsRmlsdGVyICYmIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbiAmJiB0aGlzLnNlYXJjaElucHV0ICE9PSAnJyAmJiAhaXNBbGxGaWx0ZXIgJiYgdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmV1aW1LZWVwU2VsZWN0aW9uICYmIHRoaXMuc2VhcmNoSW5wdXQgIT09ICcnICYmICFpc0FsbEZpbHRlcikge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmZpbHRlcklkID09PSBmaWx0ZXJDb25kaXRpb247XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5maWx0ZXJJZCA9PT0gZmlsdGVyQ29uZGl0aW9uO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZChgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLXNlbGVjdGVkLS1jb2xvci0ke3RoaXMuY2hpcFNlbGVjdGVkQ29sb3J9YCk7XG4gICAgICAgIGl0ZW0uc2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnJlbW92ZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU11bHRpU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCwgaXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLnNlbGVjdGVkQ2hpcHM7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmlsdGVyQ29uZGl0aW9ucy5pbmNsdWRlcyhmaWx0ZXJDb25kaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zLnB1c2goZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5maWx0ZXIoY2hpcCA9PiBjaGlwICE9PSBmaWx0ZXJDb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGVsID0+IGVsICE9PSAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNpbmdsZVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRmlsdGVyQWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFtmaWx0ZXJDb25kaXRpb25dO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckFsbFNlbGVjdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBGaWx0ZXJlZERhdGEge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cbiIsIjxpb24tc2VhcmNoYmFyICpuZ0lmPVwiaGFzU2VhcmNoYmFyXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tY2hpcC1zZWxlY3Rvcl9fc2VhcmNoYmFyXCI+PC9pb24tc2VhcmNoYmFyPlxuPGV1aW0tc2Nyb2xsZXIteD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cblxuIl19
|
|
@@ -3400,6 +3400,7 @@ class EuimChipSelectorItemDirective {
|
|
|
3400
3400
|
constructor(renderer, el) {
|
|
3401
3401
|
this.renderer = renderer;
|
|
3402
3402
|
this.el = el;
|
|
3403
|
+
this.clickEventAdded = false;
|
|
3403
3404
|
this.euimChipSelectorAll = false;
|
|
3404
3405
|
this.className = 'euim-chip-selector__item';
|
|
3405
3406
|
}
|
|
@@ -3444,6 +3445,7 @@ class EuimChipSelectorComponent {
|
|
|
3444
3445
|
this.filteredData = [...this.sourceData];
|
|
3445
3446
|
this.filterConditions = [];
|
|
3446
3447
|
this.searchInput = '';
|
|
3448
|
+
this.clickEventHandled = false;
|
|
3447
3449
|
}
|
|
3448
3450
|
get cssClasses() {
|
|
3449
3451
|
return this.getCssClasses();
|
|
@@ -3452,9 +3454,24 @@ class EuimChipSelectorComponent {
|
|
|
3452
3454
|
this.setCssItemClasses();
|
|
3453
3455
|
}
|
|
3454
3456
|
ngAfterContentInit() {
|
|
3457
|
+
this.subscribeToChanges();
|
|
3455
3458
|
this.updateChipsAndFilterDataAfterInit();
|
|
3456
3459
|
this.updateChipsAndFilters();
|
|
3457
3460
|
}
|
|
3461
|
+
ngOnDestroy() {
|
|
3462
|
+
if (this.euimChipSelectorItemSubscription) {
|
|
3463
|
+
this.euimChipSelectorItemSubscription.unsubscribe();
|
|
3464
|
+
}
|
|
3465
|
+
}
|
|
3466
|
+
subscribeToChanges() {
|
|
3467
|
+
if (this.euimChipSelectorItemSubscription) {
|
|
3468
|
+
this.euimChipSelectorItemSubscription.unsubscribe();
|
|
3469
|
+
}
|
|
3470
|
+
this.euimChipSelectorItemSubscription = this.euimChipSelectorItemComponent.changes.subscribe(() => {
|
|
3471
|
+
this.updateChipsAndFilters();
|
|
3472
|
+
this.setCssItemClasses();
|
|
3473
|
+
});
|
|
3474
|
+
}
|
|
3458
3475
|
ngOnChanges(changes) {
|
|
3459
3476
|
if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0 &&
|
|
3460
3477
|
changes.selectedChips.currentValue && changes.selectedChips.currentValue.length === 1 &&
|
|
@@ -3494,33 +3511,63 @@ class EuimChipSelectorComponent {
|
|
|
3494
3511
|
}
|
|
3495
3512
|
updateChipsAndFilters() {
|
|
3496
3513
|
this.euimChipSelectorItemComponent.forEach(chip => {
|
|
3497
|
-
chip.
|
|
3498
|
-
|
|
3499
|
-
if (!this.
|
|
3500
|
-
this.
|
|
3514
|
+
if (!chip.clickEventAdded) {
|
|
3515
|
+
chip.el.nativeElement.addEventListener('click', () => {
|
|
3516
|
+
if (!this.clickEventHandled) {
|
|
3517
|
+
this.clickEventHandled = true;
|
|
3518
|
+
this.euimChipSelectorItemComponent.forEach(innerChip => {
|
|
3519
|
+
if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
|
|
3520
|
+
this.removeSelectedStyles(innerChip.el.nativeElement);
|
|
3521
|
+
}
|
|
3522
|
+
});
|
|
3523
|
+
this.addSelectedStyles(chip.el.nativeElement);
|
|
3524
|
+
this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
|
|
3525
|
+
this.filterData.emit(this.filteredData);
|
|
3526
|
+
this.clickItems.emit(this.selectedChips);
|
|
3527
|
+
this.clickEventHandled = false;
|
|
3501
3528
|
}
|
|
3502
3529
|
});
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
this.filterData.emit(this.filteredData);
|
|
3506
|
-
this.clickItems.emit(this.selectedChips);
|
|
3507
|
-
});
|
|
3530
|
+
chip.clickEventAdded = true;
|
|
3531
|
+
}
|
|
3508
3532
|
});
|
|
3509
3533
|
}
|
|
3534
|
+
clickEventHandler(chip) {
|
|
3535
|
+
if (!this.clickEventHandled) {
|
|
3536
|
+
this.clickEventHandled = true;
|
|
3537
|
+
this.euimChipSelectorItemComponent.forEach(innerChip => {
|
|
3538
|
+
if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
|
|
3539
|
+
this.removeSelectedStyles(innerChip.el.nativeElement);
|
|
3540
|
+
}
|
|
3541
|
+
});
|
|
3542
|
+
this.addSelectedStyles(chip.el.nativeElement);
|
|
3543
|
+
this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
|
|
3544
|
+
this.filterData.emit(this.filteredData);
|
|
3545
|
+
this.clickItems.emit(this.selectedChips);
|
|
3546
|
+
this.clickEventHandled = false;
|
|
3547
|
+
}
|
|
3548
|
+
}
|
|
3510
3549
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3511
3550
|
handleChange(event) {
|
|
3512
3551
|
this.searchInput = event.detail.value.toLowerCase();
|
|
3513
3552
|
if (!this.euimKeepSelection)
|
|
3514
3553
|
return;
|
|
3515
3554
|
let filteredDataWithSearch = [];
|
|
3516
|
-
if (this.
|
|
3517
|
-
filteredDataWithSearch =
|
|
3518
|
-
|
|
3555
|
+
if (this.selectedChips[0] !== '0' && this.isMultiSelectionMode) {
|
|
3556
|
+
filteredDataWithSearch = [...this.sourceData].filter(item => this.selectedChips.includes(item.filterId));
|
|
3557
|
+
this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
3558
|
+
this.filterData.emit(this.filteredData);
|
|
3559
|
+
return;
|
|
3560
|
+
}
|
|
3561
|
+
if (this.selectedChips[0] !== '0') {
|
|
3562
|
+
filteredDataWithSearch = [...this.sourceData].filter(item => {
|
|
3563
|
+
return item.filterId === this.selectedChips[0];
|
|
3564
|
+
});
|
|
3565
|
+
this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
3519
3566
|
}
|
|
3520
3567
|
else {
|
|
3521
|
-
|
|
3568
|
+
this.filteredData = [...this.sourceData].filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
3522
3569
|
}
|
|
3523
|
-
this.filterData.emit(
|
|
3570
|
+
this.filterData.emit(this.filteredData);
|
|
3524
3571
|
}
|
|
3525
3572
|
clearFiltersAndSelectAll() {
|
|
3526
3573
|
this.clearAllSelections();
|
|
@@ -3540,8 +3587,6 @@ class EuimChipSelectorComponent {
|
|
|
3540
3587
|
if (chip.id === undefined && chip.euimChipSelectorAll) {
|
|
3541
3588
|
chip.id = 0;
|
|
3542
3589
|
}
|
|
3543
|
-
});
|
|
3544
|
-
this.euimChipSelectorItemComponent.forEach((chip) => {
|
|
3545
3590
|
const chipId = chip.id;
|
|
3546
3591
|
if (chipId && this.selectedChips.includes(chipId)) {
|
|
3547
3592
|
this.addSelectedStyles(chip.el.nativeElement);
|
|
@@ -3552,9 +3597,13 @@ class EuimChipSelectorComponent {
|
|
|
3552
3597
|
this.addSelectedStyles(chip.el.nativeElement);
|
|
3553
3598
|
this.selectedChips = ['0'];
|
|
3554
3599
|
this.filterData.emit(this.sourceData);
|
|
3555
|
-
this.clickItems.emit(this.selectedChips);
|
|
3556
3600
|
}
|
|
3557
3601
|
});
|
|
3602
|
+
if (this.selectedChips.length > 0) {
|
|
3603
|
+
this.emitEvents();
|
|
3604
|
+
}
|
|
3605
|
+
}
|
|
3606
|
+
emitEvents() {
|
|
3558
3607
|
this.clickItems.emit(this.selectedChips);
|
|
3559
3608
|
}
|
|
3560
3609
|
onFilterChange(filterCondition, isFilterAll, item) {
|
|
@@ -3572,10 +3621,22 @@ class EuimChipSelectorComponent {
|
|
|
3572
3621
|
this.filteredData = [...this.sourceData];
|
|
3573
3622
|
return;
|
|
3574
3623
|
}
|
|
3624
|
+
if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter && this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
|
|
3625
|
+
const filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
|
|
3626
|
+
this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
3627
|
+
return;
|
|
3628
|
+
}
|
|
3575
3629
|
if (this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
|
|
3576
3630
|
this.filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
|
|
3577
3631
|
return;
|
|
3578
3632
|
}
|
|
3633
|
+
if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter) {
|
|
3634
|
+
const filteredData = [...this.sourceData].filter(item => {
|
|
3635
|
+
return item.filterId === filterCondition;
|
|
3636
|
+
});
|
|
3637
|
+
this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
|
|
3638
|
+
return;
|
|
3639
|
+
}
|
|
3579
3640
|
this.filteredData = [...this.sourceData].filter(item => {
|
|
3580
3641
|
return item.filterId === filterCondition;
|
|
3581
3642
|
});
|