@updevs/components 1.0.0-alpha.97 → 1.0.0-alpha.98
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/esm2022/table/components/filter-row/filter-row.component.mjs +8 -18
- package/esm2022/table/components/search-section/search-section.component.mjs +7 -5
- package/esm2022/table/models/table-config.model.mjs +2 -1
- package/esm2022/table/models/table.config.mjs +1 -1
- package/esm2022/table/services/current-search-request.service.mjs +28 -2
- package/esm2022/table/table.component.mjs +6 -1
- package/esm2022/table/tools/filters.tools.mjs +13 -8
- package/fesm2022/updevs-components-table.mjs +93 -64
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/package.json +25 -25
- package/table/components/filter-row/filter-row.component.d.ts +6 -8
- package/table/models/table-config.model.d.ts +2 -2
- package/table/models/table.config.d.ts +2 -2
- package/table/services/current-search-request.service.d.ts +11 -1
- package/table/table.component.d.ts +1 -0
- package/table/tools/filters.tools.d.ts +1 -2
- package/esm2022/table/models/filter-field.config.mjs +0 -2
- package/table/models/filter-field.config.d.ts +0 -11
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Component, signal, inject, input, HostBinding, Output, EventEmitter } from '@angular/core';
|
|
1
|
+
import { Component, signal, inject, input, HostBinding, Output, EventEmitter, computed } from '@angular/core';
|
|
2
2
|
import { TextService } from '@updevs/sdk';
|
|
3
3
|
import { FilterTypeEnum } from '@updevs/sdk/stores';
|
|
4
4
|
import { BaseComponent } from '@updevs/sdk/layout';
|
|
5
|
-
import { UpdTableConfigService } from '../../services/upd-table-config.service';
|
|
6
5
|
import { FiltersOperandsService } from '../../abstractions/filters-operands.service';
|
|
7
6
|
import { CurrentSearchRequestService } from '../../services/current-search-request.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
@@ -15,11 +14,11 @@ export class FilterRowComponent extends BaseComponent {
|
|
|
15
14
|
this.wrapperClasses = 'd-flex gap-2';
|
|
16
15
|
this.removed = new EventEmitter();
|
|
17
16
|
this.FilterTypeEnum = FilterTypeEnum;
|
|
17
|
+
this.config = input.required();
|
|
18
18
|
this.rowIndex = input.required();
|
|
19
|
-
this.columns = input.required();
|
|
20
19
|
this.isDisabled = input.required();
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
20
|
+
this.filterFields = computed(() => this.config().shouldLoadFilterFieldsFromServer ? this.currentSearchRequestService.filterFields() : this.config().filterFields);
|
|
21
|
+
this.columns = computed(() => this.config().columns);
|
|
23
22
|
this.currentFilter = input();
|
|
24
23
|
this.currentField = signal(undefined);
|
|
25
24
|
this.currentOperand = signal(undefined);
|
|
@@ -28,7 +27,6 @@ export class FilterRowComponent extends BaseComponent {
|
|
|
28
27
|
this.fieldAllowedValues = signal([]);
|
|
29
28
|
this.isValueSectionEnabled = signal(true);
|
|
30
29
|
this.currentOperands = [];
|
|
31
|
-
this.configService = inject(UpdTableConfigService);
|
|
32
30
|
this.filtersOperandsService = inject(FiltersOperandsService);
|
|
33
31
|
this.textService = inject(TextService);
|
|
34
32
|
this.currentSearchRequestService = inject(CurrentSearchRequestService);
|
|
@@ -56,20 +54,12 @@ export class FilterRowComponent extends BaseComponent {
|
|
|
56
54
|
// Priority 1: User-defined filter fields
|
|
57
55
|
if (!!this.filterFields() && this.filterFields().length > 0) {
|
|
58
56
|
this.fieldsOptions.set(this.filterFields().map(f => ({
|
|
59
|
-
value: f.name,
|
|
60
|
-
text: this.textService.getText(f.label),
|
|
61
|
-
objectData: f.type
|
|
62
|
-
})));
|
|
63
|
-
}
|
|
64
|
-
// Priority 2: Server-loaded fields
|
|
65
|
-
else if (!!this.store() && this.configService.config.shouldLoadFieldsFromServer) {
|
|
66
|
-
this.store().getFilterableFields().subscribe(fields => this.fieldsOptions.set(fields.map(f => ({
|
|
67
57
|
value: f.name,
|
|
68
58
|
text: f.description,
|
|
69
59
|
objectData: f.type
|
|
70
|
-
})))
|
|
60
|
+
})));
|
|
71
61
|
}
|
|
72
|
-
// Priority
|
|
62
|
+
// Priority 2: Fallback to columns
|
|
73
63
|
else {
|
|
74
64
|
this.fieldsOptions.set(this.columns().filter(c => !!c.title).map(c => ({
|
|
75
65
|
value: c.name,
|
|
@@ -120,7 +110,7 @@ export class FilterRowComponent extends BaseComponent {
|
|
|
120
110
|
this.removed.emit();
|
|
121
111
|
}
|
|
122
112
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: FilterRowComponent, selector: "upd-filter-row", inputs: {
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: FilterRowComponent, selector: "upd-filter-row", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, rowIndex: { classPropertyName: "rowIndex", publicName: "rowIndex", isSignal: true, isRequired: true, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: true, transformFunction: null }, currentFilter: { classPropertyName: "currentFilter", publicName: "currentFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removed: "removed" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [value]=\"selectedField?.value\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\"\n (selectedItem)=\"onSelectOperand($event)\" [value]=\"selectedOperand?.value\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (FilterTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (FilterTypeEnum.Date) {\n\n }\n @case (FilterTypeEnum.Select) {\n <upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldAllowedValues()\"\n (selectedItem)=\"updateValue($event?.value)\" [value]=\"selectedValue\">\n </upd-select>\n }\n @default {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"text\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n }\n} @else {\n <div class=\"w-100\">\n <input type=\"text\" class=\"form-control h-100\" disabled>\n </div>\n}\n\n<upd-button class=\"flex-shrink-1\" colorStyle=\"danger\" [isDisabled]=\"isDisabled()\" [isOutline]=\"true\" [isIcon]=\"true\"\n [iconModel]=\"{tablerIcon:'x'}\" (clicked)=\"removeFilterItem()\"></upd-button>", styles: [""], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i2.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "component", type: i3.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "shouldTruncateSelectedText", "isCompact", "value"], outputs: ["valueChange", "selectedItem"] }] }); }
|
|
124
114
|
}
|
|
125
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, decorators: [{
|
|
126
116
|
type: Component,
|
|
@@ -131,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
131
121
|
}], removed: [{
|
|
132
122
|
type: Output
|
|
133
123
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXJvdy9maWx0ZXItcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9maWx0ZXItcm93L2ZpbHRlci1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBUyxXQUFXLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBbUIsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBS3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQU81RixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQUxyRDs7UUFNMEIsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFFbkMsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBFLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRWhDLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDcEMsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDOUMsZUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFR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LFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQW5JUSxrQkFBa0I7a0dBQWxCLGtCQUFrQiw0OEJDcEIvQixzaERBaUMrRTs7MkZEYmxFLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxnQkFBZ0I7OEJBS0osY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPO2dCQUVELE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgaW5qZWN0LCBPbkluaXQsIGlucHV0LCBtb2RlbCwgSG9zdEJpbmRpbmcsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrJztcbmltcG9ydCB7IEJhc2VTZWFyY2hTdG9yZSwgRmlsdGVyVHlwZUVudW0gfSBmcm9tICdAdXBkZXZzL3Nkay9zdG9yZXMnO1xuaW1wb3J0IHsgT3B0aW9uYWxUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdCc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcblxuaW1wb3J0IHsgVXBkVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXBkLXRhYmxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMvZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlckl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlQ29sdW1uTW9kZWwgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMvYmFzZS1jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVyT3BlcmFuZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItb3BlcmFuZC5jb25maWcnO1xuaW1wb3J0IHsgRmlsdGVyRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLWZpZWxkLmNvbmZpZyc7XG5pbXBvcnQgeyBDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jdXJyZW50LXNlYXJjaC1yZXF1ZXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1maWx0ZXItcm93JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2ZpbHRlci1yb3cuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclJvd0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3NlcyA9ICdkLWZsZXggZ2FwLTInO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHJlbW92ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEZpbHRlclR5cGVFbnVtID0gRmlsdGVyVHlwZUVudW07XG5cbiAgICByb3dJbmRleCA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcbiAgICBjb2x1bW5zID0gaW5wdXQucmVxdWlyZWQ8QmFzZUNvbHVtbk1vZGVsW10+KCk7XG4gICAgaXNEaXNhYmxlZCA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XG4gICAgc3RvcmUgPSBpbnB1dDxCYXNlU2VhcmNoU3RvcmU+KCk7XG4gICAgZmlsdGVyRmllbGRzID0gaW5wdXQ8RmlsdGVyRmllbGRDb25maWdbXT4oKTtcbiAgICBjdXJyZW50RmlsdGVyID0gaW5wdXQ8RmlsdGVySXRlbU1vZGVsPigpO1xuICAgIGN1cnJlbnRGaWVsZCA9IHNpZ25hbDxPcHRpb25hbFR5cGU8U2VsZWN0SXRlbT4+KHVuZGVmaW5lZCk7XG4gICAgY3VycmVudE9wZXJhbmQgPSBzaWduYWw8T3B0aW9uYWxUeXBlPEZpbHRlck9wZXJhbmRDb25maWc+Pih1bmRlZmluZWQpO1xuICAgIGZpZWxkc09wdGlvbnMgPSBzaWduYWw8U2VsZWN0SXRlbVtdPihbXSk7XG4gICAgY29tcGFyaXNvbk9wZXJhdG9yT3B0aW9ucyA9IHNpZ25hbDxTZWxlY3RJdGVtW10+KFtdKTtcbiAgICBmaWVsZEFsbG93ZWRWYWx1ZXMgPSBzaWduYWw8U2VsZWN0SXRlbVtdPihbXSk7XG4gICAgaXNWYWx1ZVNlY3Rpb25FbmFibGVkID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xuXG4gICAgZ2V0IGZpZWxkVHlwZSgpOiBGaWx0ZXJUeXBlRW51bSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWVsZCgpPy5vYmplY3REYXRhIHx8IEZpbHRlclR5cGVFbnVtLlRleHQ7XG4gICAgfVxuICAgIGdldCBzZWxlY3RlZEZpZWxkKCk6IE9wdGlvbmFsVHlwZTxTZWxlY3RJdGVtPiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGaWx0ZXIgPSB0aGlzLmN1cnJlbnRGaWx0ZXIoKTtcbiAgICAgICAgcmV0dXJuICEhY3VycmVudEZpbHRlcj8ubmFtZVxuICAgICAgICAgICAgPyB0aGlzLmZpZWxkc09wdGlvbnMoKS5maW5kKGYgPT4gZi52YWx1ZSA9PT0gY3VycmVudEZpbHRlci5uYW1lKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldCBzZWxlY3RlZE9wZXJhbmQoKTogT3B0aW9uYWxUeXBlPFNlbGVjdEl0ZW0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuY3VycmVudEZpbHRlcigpO1xuICAgICAgICByZXR1cm4gISFjdXJyZW50RmlsdGVyPy5uYW1lXG4gICAgICAgICAgICA/IHRoaXMuY29tcGFyaXNvbk9wZXJhdG9yT3B0aW9ucygpLmZpbmQoY28gPT4gY28udmFsdWUgPT09IGN1cnJlbnRGaWx0ZXIub3BlcmFuZENvbmZpZz8ub3BlcmFuZClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXQgc2VsZWN0ZWRWYWx1ZSgpOiBPcHRpb25hbFR5cGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGaWx0ZXIgPSB0aGlzLmN1cnJlbnRGaWx0ZXIoKTtcbiAgICAgICAgcmV0dXJuICEhY3VycmVudEZpbHRlcj8ubmFtZSA/IGN1cnJlbnRGaWx0ZXIudmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjdXJyZW50T3BlcmFuZHM6IEZpbHRlck9wZXJhbmRDb25maWdbXSA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZSA9IGluamVjdChVcGRUYWJsZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyc09wZXJhbmRzU2VydmljZSA9IGluamVjdChGaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRTZXJ2aWNlID0gaW5qZWN0KFRleHRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZSA9IGluamVjdChDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIFByaW9yaXR5IDE6IFVzZXItZGVmaW5lZCBmaWx0ZXIgZmllbGRzXG4gICAgICAgIGlmICghIXRoaXMuZmlsdGVyRmllbGRzKCkgJiYgdGhpcy5maWx0ZXJGaWVsZHMoKSEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5maWVsZHNPcHRpb25zLnNldChcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckZpZWxkcygpIS5tYXAoZiA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQoZi5sYWJlbCksXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdERhdGE6IGYudHlwZVxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBQcmlvcml0eSAyOiBTZXJ2ZXItbG9hZGVkIGZpZWxkc1xuICAgICAgICBlbHNlIGlmICghIXRoaXMuc3RvcmUoKSAmJiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnNob3VsZExvYWRGaWVsZHNGcm9tU2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlKCkhLmdldEZpbHRlcmFibGVGaWVsZHMoKS5zdWJzY3JpYmUoZmllbGRzID0+XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZHNPcHRpb25zLnNldChmaWVsZHMubWFwKGYgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGYubmFtZSEsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGYuZGVzY3JpcHRpb24hLFxuICAgICAgICAgICAgICAgICAgICBvYmplY3REYXRhOiBmLnR5cGVcbiAgICAgICAgICAgICAgICB9KSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFByaW9yaXR5IDM6IEZhbGxiYWNrIHRvIGNvbHVtbnNcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkc09wdGlvbnMuc2V0KFxuICAgICAgICAgICAgICAgIHRoaXMuY29sdW1ucygpLmZpbHRlcihjID0+ICEhYy50aXRsZSkubWFwKGMgPT5cbiAgICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQoYy50aXRsZSksXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdERhdGE6IGMuZGF0YVR5cGVcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLnNlbGVjdGVkRmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3RGaWVsZCh0aGlzLnNlbGVjdGVkRmllbGQpO1xuXG4gICAgICAgICAgICBpZiAoISF0aGlzLnNlbGVjdGVkT3BlcmFuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3RPcGVyYW5kKHRoaXMuc2VsZWN0ZWRPcGVyYW5kKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCEhdGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWxlY3RGaWVsZChpdGVtPzogU2VsZWN0SXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRGaWVsZC5zZXQoaXRlbSk7XG5cbiAgICAgICAgY29uc3QgZGF0YVR5cGUgPSBpdGVtPy5vYmplY3REYXRhO1xuXG4gICAgICAgIGlmICghIWRhdGFUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRPcGVyYW5kcyA9IHRoaXMuZmlsdGVyc09wZXJhbmRzU2VydmljZS5nZXRPcGVyYW5kcyhkYXRhVHlwZSk7XG4gICAgICAgICAgICB0aGlzLmNvbXBhcmlzb25PcGVyYXRvck9wdGlvbnMuc2V0KFxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudE9wZXJhbmRzLm1hcChvID0+ICh7IHZhbHVlOiBvLm9wZXJhbmQsIHRleHQ6IHRoaXMudGV4dFNlcnZpY2UuZ2V0VGV4dChvLnRleHQpLCBsaXN0SXRlbTogeyBpY29uOiBvLmljb24gfSB9KSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBhcmlzb25PcGVyYXRvck9wdGlvbnMuc2V0KFtdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnVwZGF0ZUZpbHRlckJ5SW5kZXgodGhpcy5yb3dJbmRleCgpLCB7XG4gICAgICAgICAgICBjb2x1bW46IHRoaXMuY3VycmVudEZpZWxkKCk/LnZhbHVlLFxuICAgICAgICAgICAgdHlwZTogdGhpcy5maWVsZFR5cGUsXG4gICAgICAgICAgICBkYXRhVHlwZTogZGF0YVR5cGVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RPcGVyYW5kKGl0ZW0/OiBTZWxlY3RJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudE9wZXJhbmQuc2V0KHRoaXMuY3VycmVudE9wZXJhbmRzLmZpbmQoY28gPT4gY28ub3BlcmFuZCA9PT0gaXRlbT8udmFsdWUpKTtcbiAgICAgICAgdGhpcy5pc1ZhbHVlU2VjdGlvbkVuYWJsZWQuc2V0KCEhdGhpcy5jdXJyZW50T3BlcmFuZCgpPy5yZXF1aXJlc1ZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UudXBkYXRlRmlsdGVyQnlJbmRleCh0aGlzLnJvd0luZGV4KCksIHsgb3BlcmFuZDogdGhpcy5jdXJyZW50T3BlcmFuZCgpPy5vcGVyYW5kIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkVHlwZSA9PT0gRmlsdGVyVHlwZUVudW0uU2VsZWN0KSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmZpbHRlckZpZWxkcygpPy5maW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLmN1cnJlbnRGaWVsZCgpPy52YWx1ZSk/LmFsbG93ZWRWYWx1ZXMgfHwgW107XG4gICAgICAgICAgICB0aGlzLmZpZWxkQWxsb3dlZFZhbHVlcy5zZXQodmFsdWVzLm1hcCh2ID0+ICh7IHZhbHVlOiB2LmtleSwgdGV4dDogdi52YWx1ZSB9KSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVmFsdWUodmFsdWU/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UudXBkYXRlRmlsdGVyQnlJbmRleCh0aGlzLnJvd0luZGV4KCksIHsgdmFsdWUgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlRmlsdGVySXRlbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UucmVtb3ZlRmlsdGVyQnlJbmRleCh0aGlzLnJvd0luZGV4KCkpO1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjx1cGQtc2VsZWN0IGNsYXNzPVwidy0xMDBcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiBbaXRlbXNdPVwiZmllbGRzT3B0aW9ucygpXCIgKHNlbGVjdGVkSXRlbSk9XCJvblNlbGVjdEZpZWxkKCRldmVudClcIlxuICAgIFt2YWx1ZV09XCJzZWxlY3RlZEZpZWxkPy52YWx1ZVwiPlxuPC91cGQtc2VsZWN0PlxuPHVwZC1zZWxlY3QgY2xhc3M9XCJ3LTEwMFwiIFtpc0Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiIFtpdGVtc109XCJjb21wYXJpc29uT3BlcmF0b3JPcHRpb25zKClcIlxuICAgIChzZWxlY3RlZEl0ZW0pPVwib25TZWxlY3RPcGVyYW5kKCRldmVudClcIiBbdmFsdWVdPVwic2VsZWN0ZWRPcGVyYW5kPy52YWx1ZVwiPlxuPC91cGQtc2VsZWN0PlxuXG5AaWYgKGlzVmFsdWVTZWN0aW9uRW5hYmxlZCgpKSB7XG4gICAgQHN3aXRjaCAoZmllbGRUeXBlKSB7XG4gICAgICAgIEBjYXNlIChGaWx0ZXJUeXBlRW51bS5OdW1iZXIpIHtcbiAgICAgICAgICAgIDx1cGQtaW5wdXQgd3JhcHBlckNsYXNzZXM9XCJ3LTEwMFwiIGN1c3RvbUNsYXNzZXM9XCJoLTEwMFwiIHR5cGU9XCJudW1iZXJcIiAodmFsdWVDaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L3VwZC1pbnB1dD5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoRmlsdGVyVHlwZUVudW0uRGF0ZSkge1xuXG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKEZpbHRlclR5cGVFbnVtLlNlbGVjdCkge1xuICAgICAgICAgICAgPHVwZC1zZWxlY3QgY2xhc3M9XCJ3LTEwMFwiIFtpc0Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiIFtpdGVtc109XCJmaWVsZEFsbG93ZWRWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQ/LnZhbHVlKVwiIFt2YWx1ZV09XCJzZWxlY3RlZFZhbHVlXCI+XG4gICAgICAgICAgICA8L3VwZC1zZWxlY3Q+XG4gICAgICAgIH1cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgPHVwZC1pbnB1dCB3cmFwcGVyQ2xhc3Nlcz1cInctMTAwXCIgY3VzdG9tQ2xhc3Nlcz1cImgtMTAwXCIgdHlwZT1cInRleHRcIiAodmFsdWVDaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L3VwZC1pbnB1dD5cbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBoLTEwMFwiIGRpc2FibGVkPlxuICAgIDwvZGl2PlxufVxuXG48dXBkLWJ1dHRvbiBjbGFzcz1cImZsZXgtc2hyaW5rLTFcIiBjb2xvclN0eWxlPVwiZGFuZ2VyXCIgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCIgW2lzT3V0bGluZV09XCJ0cnVlXCIgW2lzSWNvbl09XCJ0cnVlXCJcbiAgICBbaWNvbk1vZGVsXT1cInt0YWJsZXJJY29uOid4J31cIiAoY2xpY2tlZCk9XCJyZW1vdmVGaWx0ZXJJdGVtKClcIj48L3VwZC1idXR0b24+Il19
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXJvdy9maWx0ZXItcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9maWx0ZXItcm93L2ZpbHRlci1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBR3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQVE1RixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQUxyRDs7UUFNMEIsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFFbkMsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBFLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRWhDLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBQ2pELGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDcEMsZUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVcsQ0FBQztRQUN2QyxpQkFBWSxHQUFHLFFBQVEsQ0FB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UUFFbkgsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUMxRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFXO1FBQ25CLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsMkJBQTJCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQXhIUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixvc0JDbEIvQixzaERBaUMrRTs7MkZEZmxFLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxnQkFBZ0I7OEJBS0osY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPO2dCQUVELE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgaW5qZWN0LCBPbkluaXQsIGlucHV0LCBIb3N0QmluZGluZywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrJztcbmltcG9ydCB7IEZpbHRlclR5cGVFbnVtIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3QnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5cbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMvZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlckl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJPcGVyYW5kQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlci1vcGVyYW5kLmNvbmZpZyc7XG5pbXBvcnQgeyBDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jdXJyZW50LXNlYXJjaC1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1jb25maWcubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1maWx0ZXItcm93JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2ZpbHRlci1yb3cuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclJvd0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3NlcyA9ICdkLWZsZXggZ2FwLTInO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHJlbW92ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEZpbHRlclR5cGVFbnVtID0gRmlsdGVyVHlwZUVudW07XG5cbiAgICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxUYWJsZUNvbmZpZ01vZGVsPGFueT4+KCk7XG4gICAgcm93SW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gICAgaXNEaXNhYmxlZCA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XG4gICAgZmlsdGVyRmllbGRzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaG91bGRMb2FkRmlsdGVyRmllbGRzRnJvbVNlcnZlciA/IHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLmZpbHRlckZpZWxkcygpIDogdGhpcy5jb25maWcoKS5maWx0ZXJGaWVsZHMpO1xuICAgIGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmNvbHVtbnMpO1xuICAgIGN1cnJlbnRGaWx0ZXIgPSBpbnB1dDxGaWx0ZXJJdGVtTW9kZWw+KCk7XG4gICAgY3VycmVudEZpZWxkID0gc2lnbmFsPE9wdGlvbmFsVHlwZTxTZWxlY3RJdGVtPj4odW5kZWZpbmVkKTtcbiAgICBjdXJyZW50T3BlcmFuZCA9IHNpZ25hbDxPcHRpb25hbFR5cGU8RmlsdGVyT3BlcmFuZENvbmZpZz4+KHVuZGVmaW5lZCk7XG4gICAgZmllbGRzT3B0aW9ucyA9IHNpZ25hbDxTZWxlY3RJdGVtW10+KFtdKTtcbiAgICBjb21wYXJpc29uT3BlcmF0b3JPcHRpb25zID0gc2lnbmFsPFNlbGVjdEl0ZW1bXT4oW10pO1xuICAgIGZpZWxkQWxsb3dlZFZhbHVlcyA9IHNpZ25hbDxTZWxlY3RJdGVtW10+KFtdKTtcbiAgICBpc1ZhbHVlU2VjdGlvbkVuYWJsZWQgPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICBnZXQgZmllbGRUeXBlKCk6IEZpbHRlclR5cGVFbnVtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpZWxkKCk/Lm9iamVjdERhdGEgfHwgRmlsdGVyVHlwZUVudW0uVGV4dDtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkRmllbGQoKTogT3B0aW9uYWxUeXBlPFNlbGVjdEl0ZW0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuY3VycmVudEZpbHRlcigpO1xuICAgICAgICByZXR1cm4gISFjdXJyZW50RmlsdGVyPy5uYW1lXG4gICAgICAgICAgICA/IHRoaXMuZmllbGRzT3B0aW9ucygpLmZpbmQoZiA9PiBmLnZhbHVlID09PSBjdXJyZW50RmlsdGVyLm5hbWUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkT3BlcmFuZCgpOiBPcHRpb25hbFR5cGU8U2VsZWN0SXRlbT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVyID0gdGhpcy5jdXJyZW50RmlsdGVyKCk7XG4gICAgICAgIHJldHVybiAhIWN1cnJlbnRGaWx0ZXI/Lm5hbWVcbiAgICAgICAgICAgID8gdGhpcy5jb21wYXJpc29uT3BlcmF0b3JPcHRpb25zKCkuZmluZChjbyA9PiBjby52YWx1ZSA9PT0gY3VycmVudEZpbHRlci5vcGVyYW5kQ29uZmlnPy5vcGVyYW5kKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldCBzZWxlY3RlZFZhbHVlKCk6IE9wdGlvbmFsVHlwZTxhbnk+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuY3VycmVudEZpbHRlcigpO1xuICAgICAgICByZXR1cm4gISFjdXJyZW50RmlsdGVyPy5uYW1lID8gY3VycmVudEZpbHRlci52YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGN1cnJlbnRPcGVyYW5kczogRmlsdGVyT3BlcmFuZENvbmZpZ1tdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlID0gaW5qZWN0KEN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZSk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gUHJpb3JpdHkgMTogVXNlci1kZWZpbmVkIGZpbHRlciBmaWVsZHNcbiAgICAgICAgaWYgKCEhdGhpcy5maWx0ZXJGaWVsZHMoKSAmJiB0aGlzLmZpbHRlckZpZWxkcygpIS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkc09wdGlvbnMuc2V0KFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRmllbGRzKCkhLm1hcChmID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGYuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdERhdGE6IGYudHlwZVxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBQcmlvcml0eSAyOiBGYWxsYmFjayB0byBjb2x1bW5zXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWVsZHNPcHRpb25zLnNldChcbiAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnMoKS5maWx0ZXIoYyA9PiAhIWMudGl0bGUpLm1hcChjID0+XG4gICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0U2VydmljZS5nZXRUZXh0KGMudGl0bGUpLFxuICAgICAgICAgICAgICAgICAgICBvYmplY3REYXRhOiBjLmRhdGFUeXBlXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5zZWxlY3RlZEZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0RmllbGQodGhpcy5zZWxlY3RlZEZpZWxkKTtcblxuICAgICAgICAgICAgaWYgKCEhdGhpcy5zZWxlY3RlZE9wZXJhbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uU2VsZWN0T3BlcmFuZCh0aGlzLnNlbGVjdGVkT3BlcmFuZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghIXRoaXMuc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0RmllbGQoaXRlbT86IFNlbGVjdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RmllbGQuc2V0KGl0ZW0pO1xuXG4gICAgICAgIGNvbnN0IGRhdGFUeXBlID0gaXRlbT8ub2JqZWN0RGF0YTtcblxuICAgICAgICBpZiAoISFkYXRhVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50T3BlcmFuZHMgPSB0aGlzLmZpbHRlcnNPcGVyYW5kc1NlcnZpY2UuZ2V0T3BlcmFuZHMoZGF0YVR5cGUpO1xuICAgICAgICAgICAgdGhpcy5jb21wYXJpc29uT3BlcmF0b3JPcHRpb25zLnNldChcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRPcGVyYW5kcy5tYXAobyA9PiAoeyB2YWx1ZTogby5vcGVyYW5kLCB0ZXh0OiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQoby50ZXh0KSwgbGlzdEl0ZW06IHsgaWNvbjogby5pY29uIH0gfSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb21wYXJpc29uT3BlcmF0b3JPcHRpb25zLnNldChbXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZS51cGRhdGVGaWx0ZXJCeUluZGV4KHRoaXMucm93SW5kZXgoKSwge1xuICAgICAgICAgICAgY29sdW1uOiB0aGlzLmN1cnJlbnRGaWVsZCgpPy52YWx1ZSxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuZmllbGRUeXBlLFxuICAgICAgICAgICAgZGF0YVR5cGU6IGRhdGFUeXBlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2VsZWN0T3BlcmFuZChpdGVtPzogU2VsZWN0SXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRPcGVyYW5kLnNldCh0aGlzLmN1cnJlbnRPcGVyYW5kcy5maW5kKGNvID0+IGNvLm9wZXJhbmQgPT09IGl0ZW0/LnZhbHVlKSk7XG4gICAgICAgIHRoaXMuaXNWYWx1ZVNlY3Rpb25FbmFibGVkLnNldCghIXRoaXMuY3VycmVudE9wZXJhbmQoKT8ucmVxdWlyZXNWYWx1ZSk7XG4gICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnVwZGF0ZUZpbHRlckJ5SW5kZXgodGhpcy5yb3dJbmRleCgpLCB7IG9wZXJhbmQ6IHRoaXMuY3VycmVudE9wZXJhbmQoKT8ub3BlcmFuZCB9KTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZFR5cGUgPT09IEZpbHRlclR5cGVFbnVtLlNlbGVjdCkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5maWx0ZXJGaWVsZHMoKT8uZmluZChmID0+IGYubmFtZSA9PT0gdGhpcy5jdXJyZW50RmllbGQoKT8udmFsdWUpPy5hbGxvd2VkVmFsdWVzIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5maWVsZEFsbG93ZWRWYWx1ZXMuc2V0KHZhbHVlcy5tYXAodiA9PiAoeyB2YWx1ZTogdi5rZXksIHRleHQ6IHYudmFsdWUgfSkpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVZhbHVlKHZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnVwZGF0ZUZpbHRlckJ5SW5kZXgodGhpcy5yb3dJbmRleCgpLCB7IHZhbHVlIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZUZpbHRlckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnJlbW92ZUZpbHRlckJ5SW5kZXgodGhpcy5yb3dJbmRleCgpKTtcbiAgICAgICAgdGhpcy5yZW1vdmVkLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8dXBkLXNlbGVjdCBjbGFzcz1cInctMTAwXCIgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCIgW2l0ZW1zXT1cImZpZWxkc09wdGlvbnMoKVwiIChzZWxlY3RlZEl0ZW0pPVwib25TZWxlY3RGaWVsZCgkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwic2VsZWN0ZWRGaWVsZD8udmFsdWVcIj5cbjwvdXBkLXNlbGVjdD5cbjx1cGQtc2VsZWN0IGNsYXNzPVwidy0xMDBcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiBbaXRlbXNdPVwiY29tcGFyaXNvbk9wZXJhdG9yT3B0aW9ucygpXCJcbiAgICAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0T3BlcmFuZCgkZXZlbnQpXCIgW3ZhbHVlXT1cInNlbGVjdGVkT3BlcmFuZD8udmFsdWVcIj5cbjwvdXBkLXNlbGVjdD5cblxuQGlmIChpc1ZhbHVlU2VjdGlvbkVuYWJsZWQoKSkge1xuICAgIEBzd2l0Y2ggKGZpZWxkVHlwZSkge1xuICAgICAgICBAY2FzZSAoRmlsdGVyVHlwZUVudW0uTnVtYmVyKSB7XG4gICAgICAgICAgICA8dXBkLWlucHV0IHdyYXBwZXJDbGFzc2VzPVwidy0xMDBcIiBjdXN0b21DbGFzc2VzPVwiaC0xMDBcIiB0eXBlPVwibnVtYmVyXCIgKHZhbHVlQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFZhbHVlXCI+PC91cGQtaW5wdXQ+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKEZpbHRlclR5cGVFbnVtLkRhdGUpIHtcblxuICAgICAgICB9XG4gICAgICAgIEBjYXNlIChGaWx0ZXJUeXBlRW51bS5TZWxlY3QpIHtcbiAgICAgICAgICAgIDx1cGQtc2VsZWN0IGNsYXNzPVwidy0xMDBcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiBbaXRlbXNdPVwiZmllbGRBbGxvd2VkVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pPVwidXBkYXRlVmFsdWUoJGV2ZW50Py52YWx1ZSlcIiBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiPlxuICAgICAgICAgICAgPC91cGQtc2VsZWN0PlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgIDx1cGQtaW5wdXQgd3JhcHBlckNsYXNzZXM9XCJ3LTEwMFwiIGN1c3RvbUNsYXNzZXM9XCJoLTEwMFwiIHR5cGU9XCJ0ZXh0XCIgKHZhbHVlQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFZhbHVlXCI+PC91cGQtaW5wdXQ+XG4gICAgICAgIH1cbiAgICB9XG59IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaC0xMDBcIiBkaXNhYmxlZD5cbiAgICA8L2Rpdj5cbn1cblxuPHVwZC1idXR0b24gY2xhc3M9XCJmbGV4LXNocmluay0xXCIgY29sb3JTdHlsZT1cImRhbmdlclwiIFtpc0Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiIFtpc091dGxpbmVdPVwidHJ1ZVwiIFtpc0ljb25dPVwidHJ1ZVwiXG4gICAgW2ljb25Nb2RlbF09XCJ7dGFibGVySWNvbjoneCd9XCIgKGNsaWNrZWQpPVwicmVtb3ZlRmlsdGVySXRlbSgpXCI+PC91cGQtYnV0dG9uPiJdfQ==
|
|
@@ -20,8 +20,10 @@ export class SearchSectionComponent extends BaseComponent {
|
|
|
20
20
|
this.actionsTpl = input();
|
|
21
21
|
this.activeFilters = computed(() => FilterTools.convertToFilterItem(this.currentSearchRequestService.searchRequest().filters?.filter(af => !af.isHidden) || [], this.filtersOperandsService.getAllOperands()));
|
|
22
22
|
this.isFilterSectionOpen = signal(false);
|
|
23
|
-
this.canApplyFilters = computed(() => this.activeFilters().length > 0
|
|
24
|
-
|
|
23
|
+
this.canApplyFilters = computed(() => this.activeFilters().length > 0 && this.activeFilters().every(af => {
|
|
24
|
+
const valid = !af.isHidden && !!af.name && !!af.operandConfig?.operand && (!af.operandConfig?.requiresValue || !!af.value);
|
|
25
|
+
return valid;
|
|
26
|
+
}));
|
|
25
27
|
this.canPerformActions = computed(() => this.canApplyFilters() && !this.currentSearchRequestService.isSearching());
|
|
26
28
|
this.badgeConfig = computed(() => this.currentSearchRequestService.visibleFilterCount() > 0
|
|
27
29
|
? ({
|
|
@@ -70,13 +72,13 @@ export class SearchSectionComponent extends BaseComponent {
|
|
|
70
72
|
this.currentSearchRequestService.addFilter({});
|
|
71
73
|
}
|
|
72
74
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SearchSectionComponent, selector: "upd-search-section", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, actionsTpl: { classPropertyName: "actionsTpl", publicName: "actionsTpl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.wrapperClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SearchSectionComponent, selector: "upd-search-section", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, actionsTpl: { classPropertyName: "actionsTpl", publicName: "actionsTpl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.wrapperClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [currentFilter]=\"row\" [config]=\"config()\" [rowIndex]=\"i\" (removed)=\"onRowRemoved()\"\n [isDisabled]=\"currentSearchRequestService.isSearching()\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\"\n (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "directive", type: i5.InputAppendDirective, selector: "ng-template[updInputAppend]" }, { kind: "component", type: i6.FilterRowComponent, selector: "upd-filter-row", inputs: ["config", "rowIndex", "isDisabled", "currentFilter"], outputs: ["removed"] }] }); }
|
|
74
76
|
}
|
|
75
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, decorators: [{
|
|
76
78
|
type: Component,
|
|
77
|
-
args: [{ selector: 'upd-search-section', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [
|
|
79
|
+
args: [{ selector: 'upd-search-section', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [currentFilter]=\"row\" [config]=\"config()\" [rowIndex]=\"i\" (removed)=\"onRowRemoved()\"\n [isDisabled]=\"currentSearchRequestService.isSearching()\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\"\n (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>" }]
|
|
78
80
|
}], ctorParameters: () => [], propDecorators: { wrapperClass: [{
|
|
79
81
|
type: HostBinding,
|
|
80
82
|
args: ['class']
|
|
81
83
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL3NlYXJjaC1zZWN0aW9uL3NlYXJjaC1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9zZWFyY2gtc2VjdGlvbi9zZWFyY2gtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUluRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7O0FBTzVGLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxhQUFhO0lBbUN4RDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBbkNVLGlCQUFZLEdBQUcsdURBQXVELENBQUM7UUFFcEYsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDOUMsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7UUFDL0MsZUFBVSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLFFBQVEsQ0FBb0IsR0FBRyxFQUFFLENB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Q0FBQyxrQkFBa0IsQ0FBQztZQUNoRCxPQUFPLEVBQUUsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDdkgsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxFQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDOzhHQXBGUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixtaEJDbEJuQyxncEVBd0NlOzsyRkR0QkYsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG9CQUFvQjt3REFLUixZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiwgSG9zdEJpbmRpbmcsIHNpZ25hbCwgY29tcHV0ZWQsIE9uSW5pdCwgZWZmZWN0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgT3B0aW9uYWxUeXBlLCBCZ0NvbG9yU3R5bGVUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgQmFkZ2VDb25maWcgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgVGFibGVDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVyVG9vbHMgfSBmcm9tICcuLi8uLi90b29scy9maWx0ZXJzLnRvb2xzJztcbmltcG9ydCB7IEJhc2VDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0aW9ucy9iYXNlLWNvbHVtbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2ZpbHRlcnMtb3BlcmFuZHMuc2VydmljZSc7XG5pbXBvcnQgeyBDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jdXJyZW50LXNlYXJjaC1yZXF1ZXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1zZWFyY2gtc2VjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2VhcmNoLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlY3Rpb25Db21wb25lbnQ8VD4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzID0gJ2NhcmQtYm9keSBib3JkZXItYm90dG9tIHB5LTMgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yJztcblxuICAgIHJlYWRvbmx5IGNvbHVtbnMgPSBpbnB1dC5yZXF1aXJlZDxCYXNlQ29sdW1uTW9kZWxbXT4oKTtcbiAgICByZWFkb25seSBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxUYWJsZUNvbmZpZ01vZGVsPFQ+PigpO1xuICAgIHJlYWRvbmx5IGFjdGlvbnNUcGwgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICAgIHJlYWRvbmx5IGFjdGl2ZUZpbHRlcnMgPSBjb21wdXRlZDxGaWx0ZXJJdGVtTW9kZWxbXT4oKCkgPT5cbiAgICAgICAgRmlsdGVyVG9vbHMuY29udmVydFRvRmlsdGVySXRlbShcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5maWx0ZXIoYWYgPT4gIWFmLmlzSGlkZGVuKSB8fCBbXSxcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyc09wZXJhbmRzU2VydmljZS5nZXRBbGxPcGVyYW5kcygpXG4gICAgICAgIClcbiAgICApO1xuICAgIHJlYWRvbmx5IGlzRmlsdGVyU2VjdGlvbk9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGNhbkFwcGx5RmlsdGVycyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYWN0aXZlRmlsdGVycygpLmxlbmd0aCA+IDBcbiAgICAgICAgJiYgdGhpcy5hY3RpdmVGaWx0ZXJzKCkuZXZlcnkoYWYgPT5cbiAgICAgICAgICAgICFhZi5pc0hpZGRlbiAmJiAhIWFmLm5hbWUgJiYgISFhZi5vcGVyYW5kQ29uZmlnPy5vcGVyYW5kICYmICghYWYub3BlcmFuZENvbmZpZz8ucmVxdWlyZXNWYWx1ZSB8fCAhIWFmLnZhbHVlKVxuICAgICAgICApXG4gICAgKTtcbiAgICByZWFkb25seSBjYW5QZXJmb3JtQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY2FuQXBwbHlGaWx0ZXJzKCkgJiYgIXRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLmlzU2VhcmNoaW5nKCkpO1xuICAgIHJlYWRvbmx5IGJhZGdlQ29uZmlnID0gY29tcHV0ZWQ8T3B0aW9uYWxUeXBlPEJhZGdlQ29uZmlnPj4oKCkgPT5cbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UudmlzaWJsZUZpbHRlckNvdW50KCkgPiAwXG4gICAgICAgICAgICA/ICh7XG4gICAgICAgICAgICAgICAgaXNOb3RpZmljYXRpb246IHRydWUsXG4gICAgICAgICAgICAgICAgaXNQaWxsOiB0cnVlLFxuICAgICAgICAgICAgICAgIGJnQ29sb3I6ICdwcmltYXJ5LWx0JyxcbiAgICAgICAgICAgICAgICB0ZXh0OiB7IHRleHQ6IHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnZpc2libGVGaWx0ZXJDb3VudCgpLnRvU3RyaW5nKCksIGlzVHJhbnNsYXRlZDogdHJ1ZSB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICApO1xuICAgIHJlYWRvbmx5IGZpbHRlclNlY3Rpb25CdG5Db2xvciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXNGaWx0ZXJTZWN0aW9uT3BlbigpID8gPEJnQ29sb3JTdHlsZVR5cGU+J3ByaW1hcnknIDogdW5kZWZpbmVkKTtcbiAgICByZWFkb25seSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UpO1xuICAgIHJlYWRvbmx5IGN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZSA9IGluamVjdChDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIEF1dG8tY2xvc2UgZmlsdGVyIHNlY3Rpb24gd2hlbiBhbGwgZmlsdGVycyBhcmUgcmVtb3ZlZFxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnZpc2libGVGaWx0ZXJDb3VudCgpID09PSAwICYmIHRoaXMuaXNGaWx0ZXJTZWN0aW9uT3BlbigpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZpbHRlclNlY3Rpb25PcGVuLnNldChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlYXJjaFN1YiA9IHRoaXMuc2VhcmNoU3ViamVjdFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5jb25maWcoKS5zZWFyY2hJbnB1dERlYm91bmNlVGltZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGVybSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnNldERlc2NyaXB0aW9uKHRlcm0pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9ucyhzZWFyY2hTdWIpO1xuICAgIH1cblxuICAgIHNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UucGF0Y2hTZWFyY2hSZXF1ZXN0KHtcbiAgICAgICAgICAgIGZpbHRlcnM6IEZpbHRlclRvb2xzLmNvbnZlcnRUb1JlcXVlc3RGaWx0ZXIodGhpcy5hY3RpdmVGaWx0ZXJzKCksIHRoaXMuY29uZmlnKCkuZmlsdGVyRmllbGRzLCB0aGlzLmNvbmZpZygpLmNvbHVtbnMpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZS50cmlnZ2VyU2VhcmNoKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlRmlsdGVyU2VjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlRmlsdGVycygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5hZGRFbXB0eUZpbHRlclJvdygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0ZpbHRlclNlY3Rpb25PcGVuLnVwZGF0ZShpc09wZW4gPT4gIWlzT3Blbik7XG4gICAgfVxuXG4gICAgb25Sb3dSZW1vdmVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXJzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgfVxuXG4gICAgYWRkRW1wdHlGaWx0ZXJSb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLmFkZEZpbHRlcih7fSBhcyBhbnkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0OyBwcmVmaXg6ICdVcERldnMuVGFibGUnXCI+XG4gICAgQGlmICghIWFjdGlvbnNUcGwoKSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uc1RwbCgpIVwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgPHVwZC1pbnB1dCB3cmFwcGVyQ2xhc3Nlcz1cInctMTAwXCIgW3BsYWNlaG9sZGVyXT1cInt0ZXh0OidVcERldnMuVGFibGUuU2VhcmNoJywgaXNUcmFuc2xhdGVkOmZhbHNlfVwiXG4gICAgICAgICAgICBbaXNBcHBlbmRCdXR0b25dPVwidHJ1ZVwiICh2YWx1ZUNoYW5nZSk9XCJzZWFyY2hTdWJqZWN0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnNlYXJjaFJlcXVlc3QoKS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHVwZElucHV0QXBwZW5kPlxuICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtpc0ljb25dPVwidHJ1ZVwiIFtjb2xvclN0eWxlXT1cImZpbHRlclNlY3Rpb25CdG5Db2xvcigpXCIgKGNsaWNrZWQpPVwidG9nZ2xlRmlsdGVyU2VjdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2JhZGdlQ29uZmlnXT1cImJhZGdlQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFt0YWJsZXJJY29uXT1cImlzRmlsdGVyU2VjdGlvbk9wZW4oKSA/ICdmaWx0ZXItdXAnIDogJ2ZpbHRlci1kb3duJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFibGVySWNvblNpemVdPVwiMjBcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdXBkLWlucHV0PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChpc0ZpbHRlclNlY3Rpb25PcGVuKCkpIHtcbiAgICAgICAgQGZvciAocm93IG9mIGFjdGl2ZUZpbHRlcnMoKTsgdHJhY2sgcm93Lm5hbWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICA8dXBkLWZpbHRlci1yb3cgW3N0b3JlXT1cImNvbmZpZygpLnN0b3JlXCIgW2N1cnJlbnRGaWx0ZXJdPVwicm93XCIgW2NvbHVtbnNdPVwiY29sdW1ucygpXCIgW3Jvd0luZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cIm9uUm93UmVtb3ZlZCgpXCIgW2lzRGlzYWJsZWRdPVwiY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLmlzU2VhcmNoaW5nKClcIlxuICAgICAgICAgICAgICAgIFtmaWx0ZXJGaWVsZHNdPVwiY29uZmlnKCkuZmlsdGVyRmllbGRzXCI+XG4gICAgICAgICAgICA8L3VwZC1maWx0ZXItcm93PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zLWF1dG8gZC1mbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICA8dXBkLWJ1dHRvbiBjdXN0b21DbGFzc2VzPVwiZ2FwLTJcIiBjb2xvclN0eWxlPVwicHJpbWFyeVwiIFtpc091dGxpbmVdPVwidHJ1ZVwiIChjbGlja2VkKT1cImFkZEVtcHR5RmlsdGVyUm93KClcIlxuICAgICAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cIiFjYW5QZXJmb3JtQWN0aW9ucygpXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1pY29uIHRhYmxlckljb249XCJwbHVzXCIgdGFibGVySWNvbldlaWdodD1cImJvbGRcIiBbdGFibGVySWNvblNpemVdPVwiMjBcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIHt7IHQoJ0FkZE5ld0ZpbHRlcicpIH19XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICA8dXBkLWJ1dHRvbiBjdXN0b21DbGFzc2VzPVwiZ2FwLTJcIiBjb2xvclN0eWxlPVwic3VjY2Vzc1wiIFtpc0Rpc2FibGVkXT1cIiFjYW5QZXJmb3JtQWN0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJzZWFyY2goKVwiPlxuICAgICAgICAgICAgICAgIDx1cGQtaWNvbiB0YWJsZXJJY29uPVwiY2hlY2tzXCIgdGFibGVySWNvbldlaWdodD1cImJvbGRcIiBbdGFibGVySWNvblNpemVdPVwiMjBcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIHt7IHQoJ0FwcGx5RmlsdGVycycpIH19XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL3NlYXJjaC1zZWN0aW9uL3NlYXJjaC1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9zZWFyY2gtc2VjdGlvbi9zZWFyY2gtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUluRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7O0FBTzVGLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxhQUFhO0lBa0N4RDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBbENVLGlCQUFZLEdBQUcsdURBQXVELENBQUM7UUFFcEYsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDOUMsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7UUFDL0MsZUFBVSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLFFBQVEsQ0FBb0IsR0FBRyxFQUFFLENB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LCBIb3N0QmluZGluZywgc2lnbmFsLCBjb21wdXRlZCwgT25Jbml0LCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUsIEJnQ29sb3JTdHlsZVR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBCYWRnZUNvbmZpZyB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpbHRlckl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJUb29scyB9IGZyb20gJy4uLy4uL3Rvb2xzL2ZpbHRlcnMudG9vbHMnO1xuaW1wb3J0IHsgQmFzZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2Jhc2UtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMvZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IEN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2N1cnJlbnQtc2VhcmNoLXJlcXVlc3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXNlYXJjaC1zZWN0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zZWFyY2gtc2VjdGlvbi5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VjdGlvbkNvbXBvbmVudDxUPiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3MgPSAnY2FyZC1ib2R5IGJvcmRlci1ib3R0b20gcHktMyBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTInO1xuXG4gICAgcmVhZG9ubHkgY29sdW1ucyA9IGlucHV0LnJlcXVpcmVkPEJhc2VDb2x1bW5Nb2RlbFtdPigpO1xuICAgIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPFRhYmxlQ29uZmlnTW9kZWw8VD4+KCk7XG4gICAgcmVhZG9ubHkgYWN0aW9uc1RwbCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gICAgcmVhZG9ubHkgYWN0aXZlRmlsdGVycyA9IGNvbXB1dGVkPEZpbHRlckl0ZW1Nb2RlbFtdPigoKSA9PlxuICAgICAgICBGaWx0ZXJUb29scy5jb252ZXJ0VG9GaWx0ZXJJdGVtKFxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2Uuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnM/LmZpbHRlcihhZiA9PiAhYWYuaXNIaWRkZW4pIHx8IFtdLFxuICAgICAgICAgICAgdGhpcy5maWx0ZXJzT3BlcmFuZHNTZXJ2aWNlLmdldEFsbE9wZXJhbmRzKClcbiAgICAgICAgKVxuICAgICk7XG4gICAgcmVhZG9ubHkgaXNGaWx0ZXJTZWN0aW9uT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgY2FuQXBwbHlGaWx0ZXJzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY3RpdmVGaWx0ZXJzKCkubGVuZ3RoID4gMCAmJiB0aGlzLmFjdGl2ZUZpbHRlcnMoKS5ldmVyeShhZiA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkID0gIWFmLmlzSGlkZGVuICYmICEhYWYubmFtZSAmJiAhIWFmLm9wZXJhbmRDb25maWc/Lm9wZXJhbmQgJiYgKCFhZi5vcGVyYW5kQ29uZmlnPy5yZXF1aXJlc1ZhbHVlIHx8ICEhYWYudmFsdWUpO1xuICAgICAgICByZXR1cm4gdmFsaWQ7XG4gICAgfSkpO1xuICAgIHJlYWRvbmx5IGNhblBlcmZvcm1BY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jYW5BcHBseUZpbHRlcnMoKSAmJiAhdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UuaXNTZWFyY2hpbmcoKSk7XG4gICAgcmVhZG9ubHkgYmFkZ2VDb25maWcgPSBjb21wdXRlZDxPcHRpb25hbFR5cGU8QmFkZ2VDb25maWc+PigoKSA9PlxuICAgICAgICB0aGlzLmN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZS52aXNpYmxlRmlsdGVyQ291bnQoKSA+IDBcbiAgICAgICAgICAgID8gKHtcbiAgICAgICAgICAgICAgICBpc05vdGlmaWNhdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpc1BpbGw6IHRydWUsXG4gICAgICAgICAgICAgICAgYmdDb2xvcjogJ3ByaW1hcnktbHQnLFxuICAgICAgICAgICAgICAgIHRleHQ6IHsgdGV4dDogdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UudmlzaWJsZUZpbHRlckNvdW50KCkudG9TdHJpbmcoKSwgaXNUcmFuc2xhdGVkOiB0cnVlIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICk7XG4gICAgcmVhZG9ubHkgZmlsdGVyU2VjdGlvbkJ0bkNvbG9yID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pc0ZpbHRlclNlY3Rpb25PcGVuKCkgPyA8QmdDb2xvclN0eWxlVHlwZT4ncHJpbWFyeScgOiB1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IHNlYXJjaFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgPSBpbmplY3QoRmlsdGVyc09wZXJhbmRzU2VydmljZSk7XG4gICAgcmVhZG9ubHkgY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlID0gaW5qZWN0KEN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgLy8gQXV0by1jbG9zZSBmaWx0ZXIgc2VjdGlvbiB3aGVuIGFsbCBmaWx0ZXJzIGFyZSByZW1vdmVkXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UudmlzaWJsZUZpbHRlckNvdW50KCkgPT09IDAgJiYgdGhpcy5pc0ZpbHRlclNlY3Rpb25PcGVuKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoU3ViID0gdGhpcy5zZWFyY2hTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmNvbmZpZygpLnNlYXJjaElucHV0RGVib3VuY2VUaW1lKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0ZXJtID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2Uuc2V0RGVzY3JpcHRpb24odGVybSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHNlYXJjaFN1Yik7XG4gICAgfVxuXG4gICAgc2VhcmNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWFyY2hSZXF1ZXN0U2VydmljZS5wYXRjaFNlYXJjaFJlcXVlc3Qoe1xuICAgICAgICAgICAgZmlsdGVyczogRmlsdGVyVG9vbHMuY29udmVydFRvUmVxdWVzdEZpbHRlcih0aGlzLmFjdGl2ZUZpbHRlcnMoKSwgdGhpcy5jb25maWcoKS5maWx0ZXJGaWVsZHMsIHRoaXMuY29uZmlnKCkuY29sdW1ucylcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLnRyaWdnZXJTZWFyY2goKTtcbiAgICB9XG5cbiAgICB0b2dnbGVGaWx0ZXJTZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXJzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFkZEVtcHR5RmlsdGVyUm93KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4udXBkYXRlKGlzT3BlbiA9PiAhaXNPcGVuKTtcbiAgICB9XG5cbiAgICBvblJvd1JlbW92ZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUZpbHRlcnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuaXNGaWx0ZXJTZWN0aW9uT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2goKTtcbiAgICB9XG5cbiAgICBhZGRFbXB0eUZpbHRlclJvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2UuYWRkRmlsdGVyKHt9IGFzIGFueSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHQ7IHByZWZpeDogJ1VwRGV2cy5UYWJsZSdcIj5cbiAgICBAaWYgKCEhYWN0aW9uc1RwbCgpKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJhY3Rpb25zVHBsKCkhXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICA8dXBkLWlucHV0IHdyYXBwZXJDbGFzc2VzPVwidy0xMDBcIiBbcGxhY2Vob2xkZXJdPVwie3RleHQ6J1VwRGV2cy5UYWJsZS5TZWFyY2gnLCBpc1RyYW5zbGF0ZWQ6ZmFsc2V9XCJcbiAgICAgICAgICAgIFtpc0FwcGVuZEJ1dHRvbl09XCJ0cnVlXCIgKHZhbHVlQ2hhbmdlKT1cInNlYXJjaFN1YmplY3QubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJjdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2Uuc2VhcmNoUmVxdWVzdCgpLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRBcHBlbmQ+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW2lzSWNvbl09XCJ0cnVlXCIgW2NvbG9yU3R5bGVdPVwiZmlsdGVyU2VjdGlvbkJ0bkNvbG9yKClcIiAoY2xpY2tlZCk9XCJ0b2dnbGVGaWx0ZXJTZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICBbYmFkZ2VDb25maWddPVwiYmFkZ2VDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW3RhYmxlckljb25dPVwiaXNGaWx0ZXJTZWN0aW9uT3BlbigpID8gJ2ZpbHRlci11cCcgOiAnZmlsdGVyLWRvd24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJsZXJJY29uU2l6ZV09XCIyMFwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC91cGQtaW5wdXQ+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGlzRmlsdGVyU2VjdGlvbk9wZW4oKSkge1xuICAgICAgICBAZm9yIChyb3cgb2YgYWN0aXZlRmlsdGVycygpOyB0cmFjayByb3cubmFtZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDx1cGQtZmlsdGVyLXJvdyBbY3VycmVudEZpbHRlcl09XCJyb3dcIiBbY29uZmlnXT1cImNvbmZpZygpXCIgW3Jvd0luZGV4XT1cImlcIiAocmVtb3ZlZCk9XCJvblJvd1JlbW92ZWQoKVwiXG4gICAgICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiY3VycmVudFNlYXJjaFJlcXVlc3RTZXJ2aWNlLmlzU2VhcmNoaW5nKClcIj5cbiAgICAgICAgICAgIDwvdXBkLWZpbHRlci1yb3c+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibXMtYXV0byBkLWZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIGN1c3RvbUNsYXNzZXM9XCJnYXAtMlwiIGNvbG9yU3R5bGU9XCJwcmltYXJ5XCIgW2lzT3V0bGluZV09XCJ0cnVlXCIgKGNsaWNrZWQpPVwiYWRkRW1wdHlGaWx0ZXJSb3coKVwiXG4gICAgICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiIWNhblBlcmZvcm1BY3Rpb25zKClcIj5cbiAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cInBsdXNcIiB0YWJsZXJJY29uV2VpZ2h0PVwiYm9sZFwiIFt0YWJsZXJJY29uU2l6ZV09XCIyMFwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAge3sgdCgnQWRkTmV3RmlsdGVyJykgfX1cbiAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIGN1c3RvbUNsYXNzZXM9XCJnYXAtMlwiIGNvbG9yU3R5bGU9XCJzdWNjZXNzXCIgW2lzRGlzYWJsZWRdPVwiIWNhblBlcmZvcm1BY3Rpb25zKClcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInNlYXJjaCgpXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1pY29uIHRhYmxlckljb249XCJjaGVja3NcIiB0YWJsZXJJY29uV2VpZ2h0PVwiYm9sZFwiIFt0YWJsZXJJY29uU2l6ZV09XCIyMFwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAge3sgdCgnQXBwbHlGaWx0ZXJzJykgfX1cbiAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -12,6 +12,7 @@ export class TableConfigModel {
|
|
|
12
12
|
this.data = [];
|
|
13
13
|
this.preSelectedItems = [];
|
|
14
14
|
this.searchInputDebounceTime = 300;
|
|
15
|
+
this.shouldLoadFilterFieldsFromServer = false;
|
|
15
16
|
/**
|
|
16
17
|
* Actions added to each record row as a group of buttons.
|
|
17
18
|
*/
|
|
@@ -36,4 +37,4 @@ export class TableConfigModel {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9tb2RlbHMvdGFibGUtY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxnQkFBZ0I7SUFvQ3pCLFlBQVksSUFBcUI7UUFqQ2pDLFlBQU8sR0FBc0IsRUFBRSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDM0IsNEJBQXVCLEdBQUcsR0FBRyxDQUFDO1FBQzlCLHFDQUFnQyxHQUFHLEtBQUssQ0FBQztRQUN6Qzs7V0FFRztRQUNILGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQzs7V0FFRztRQUNILHdCQUFtQixHQUFrQixFQUFFLENBQUM7UUFDeEM7OztXQUdHO1FBQ0gsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDOzs7V0FHRztRQUNILHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQVE1QixrQkFBYSxHQUFtQixDQUFDLElBQU8sRUFBRSxFQUFFLENBQUUsSUFBWSxDQUFDLEVBQUUsQ0FBQztRQUwxRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0TW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBCdXR0b25Nb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBCYXNlU2VhcmNoU3RvcmUsIEZpbHRlckZpZWxkQ29uZmlnIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IEdldEJ5SWRUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuXG5pbXBvcnQgeyBUYWJsZUNvbmZpZyB9IGZyb20gJy4vdGFibGUuY29uZmlnJztcbmltcG9ydCB7IEJhc2VDb2x1bW5Nb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0aW9ucy9iYXNlLWNvbHVtbi5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUNvbmZpZ01vZGVsPFQ+IGltcGxlbWVudHMgVGFibGVDb25maWc8VD4ge1xuICAgIG5hbWUhOiBzdHJpbmc7XG4gICAgc3RvcmU/OiBCYXNlU2VhcmNoU3RvcmU8VD47XG4gICAgY29sdW1uczogQmFzZUNvbHVtbk1vZGVsW10gPSBbXTtcbiAgICB0aXRsZT86IFRleHRNb2RlbDtcbiAgICBjYW5TZWFyY2ggPSB0cnVlO1xuICAgIGNhblNhdmVWaWV3cyA9IHRydWU7XG4gICAgY2FuTG9hZFNhdmVkVmlld3MgPSB0cnVlO1xuICAgIGNhbk1hbmFnZUNvbHVtbnMgPSB0cnVlO1xuICAgIHNob3VsZEF1dG9TZWFyY2ggPSB0cnVlO1xuICAgIGhhc0NoZWNrYm94Q29sdW1uID0gdHJ1ZTtcbiAgICBpc1Jlc3BvbnNpdmUgPSB0cnVlO1xuICAgIGhhc1N0aWNreUhlYWRlciA9IGZhbHNlO1xuICAgIGRhdGE6IFRbXSA9IFtdO1xuICAgIHByZVNlbGVjdGVkSXRlbXM6IFRbXSA9IFtdO1xuICAgIHNlYXJjaElucHV0RGVib3VuY2VUaW1lID0gMzAwO1xuICAgIHNob3VsZExvYWRGaWx0ZXJGaWVsZHNGcm9tU2VydmVyID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQWN0aW9ucyBhZGRlZCB0byBlYWNoIHJlY29yZCByb3cgYXMgYSBncm91cCBvZiBidXR0b25zLlxuICAgICAqL1xuICAgIGN1c3RvbUFjdGlvbnM6IEJ1dHRvbk1vZGVsW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBBY3Rpb25zIGFkZGVkIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHRhYmxlIGFzIHJlZ3VsYXIgYnV0dG9ucy5cbiAgICAgKi9cbiAgICBjdXN0b21IZWFkZXJBY3Rpb25zOiBCdXR0b25Nb2RlbFtdID0gW107XG4gICAgLyoqXG4gICAgICogRGVmaW5lIGN1c3RvbSBmaWx0ZXJhYmxlIGZpZWxkcy5cbiAgICAgKiBJZiBub3QgcHJvdmlkZWQgYW5kIHVzZUNvbHVtbnNBc0ZpbHRlcnMgaXMgdHJ1ZSwgZmlsdGVycyB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkIGZyb20gY29sdW1ucy5cbiAgICAgKi9cbiAgICBmaWx0ZXJGaWVsZHM6IEZpbHRlckZpZWxkQ29uZmlnW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHVzZSBjb2x1bW5zIGFzIGZpbHRlcnMuXG4gICAgICogSWYgZmFsc2UsIGZpbHRlckZpZWxkcyBtdXN0IGJlIHByb3ZpZGVkLlxuICAgICAqL1xuICAgIHVzZUNvbHVtbnNBc0ZpbHRlcnMgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGluaXQ/OiBUYWJsZUNvbmZpZzxUPikge1xuICAgICAgICBpZiAoISFpbml0KSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SWRGdW5jdGlvbjogR2V0QnlJZFR5cGU8VD4gPSAoaXRlbTogVCkgPT4gKGl0ZW0gYXMgYW55KS5pZDtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9tb2RlbHMvdGFibGUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0TW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBCdXR0b25Nb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBCYXNlU2VhcmNoU3RvcmUsIEZpbHRlckZpZWxkQ29uZmlnIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IEdldEJ5SWRUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuXG5pbXBvcnQgeyBCYXNlQ29sdW1uTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdGlvbnMvYmFzZS1jb2x1bW4ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29uZmlnPFQ+IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc3RvcmU/OiBCYXNlU2VhcmNoU3RvcmU8VD47XG4gICAgY29sdW1uczogQmFzZUNvbHVtbk1vZGVsW107XG4gICAgZ2V0SWRGdW5jdGlvbj86IEdldEJ5SWRUeXBlPFQ+O1xuICAgIHRpdGxlPzogVGV4dE1vZGVsO1xuICAgIGNhblNlYXJjaD86IGJvb2xlYW47XG4gICAgY2FuU2F2ZVZpZXdzPzogYm9vbGVhbjtcbiAgICBjYW5Mb2FkU2F2ZWRWaWV3cz86IGJvb2xlYW47XG4gICAgY2FuTWFuYWdlQ29sdW1ucz86IGJvb2xlYW47XG4gICAgc2hvdWxkQXV0b1NlYXJjaD86IGJvb2xlYW47XG4gICAgaGFzQ2hlY2tib3hDb2x1bW4/OiBib29sZWFuO1xuICAgIGlzUmVzcG9uc2l2ZT86IGJvb2xlYW47XG4gICAgaGFzU3RpY2t5SGVhZGVyPzogYm9vbGVhbjtcbiAgICBkYXRhPzogVFtdO1xuICAgIHByZVNlbGVjdGVkSXRlbXM/OiBUW107XG4gICAgc2VhcmNoSW5wdXREZWJvdW5jZVRpbWU/OiBudW1iZXI7XG4gICAgc2hvdWxkTG9hZEZpbHRlckZpZWxkc0Zyb21TZXJ2ZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEFjdGlvbnMgYWRkZWQgdG8gZWFjaCByZWNvcmQgcm93IGFzIGEgZ3JvdXAgb2YgYnV0dG9ucy5cbiAgICAgKi9cbiAgICBjdXN0b21BY3Rpb25zPzogQnV0dG9uTW9kZWxbXTtcbiAgICAvKipcbiAgICAgKiBBY3Rpb25zIGFkZGVkIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHRhYmxlIGFzIHJlZ3VsYXIgYnV0dG9ucy5cbiAgICAgKi9cbiAgICBjdXN0b21IZWFkZXJBY3Rpb25zPzogQnV0dG9uTW9kZWxbXTtcbiAgICAvKipcbiAgICAgKiBEZWZpbmUgY3VzdG9tIGZpbHRlcmFibGUgZmllbGRzLlxuICAgICAqIElmIG5vdCBwcm92aWRlZCBhbmQgdXNlQ29sdW1uc0FzRmlsdGVycyBpcyB0cnVlLCBmaWx0ZXJzIHdpbGwgYmUgYXV0by1nZW5lcmF0ZWQgZnJvbSBjb2x1bW5zLlxuICAgICAqL1xuICAgIGZpbHRlckZpZWxkcz86IEZpbHRlckZpZWxkQ29uZmlnW107XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byB1c2UgY29sdW1ucyBhcyBmaWx0ZXJzLlxuICAgICAqIElmIGZhbHNlLCBmaWx0ZXJGaWVsZHMgbXVzdCBiZSBwcm92aWRlZC5cbiAgICAgKi9cbiAgICB1c2VDb2x1bW5zQXNGaWx0ZXJzPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -11,6 +11,7 @@ export class CurrentSearchRequestService {
|
|
|
11
11
|
this._searchRequest = signal({});
|
|
12
12
|
this._isSearching = signal(false);
|
|
13
13
|
this._hasChanges = signal(false);
|
|
14
|
+
this._filterFields = signal([]);
|
|
14
15
|
/**
|
|
15
16
|
* Read-only signal for the current search request
|
|
16
17
|
*/
|
|
@@ -23,6 +24,10 @@ export class CurrentSearchRequestService {
|
|
|
23
24
|
* Read-only signal indicating if the search request has changed from default
|
|
24
25
|
*/
|
|
25
26
|
this.hasChanges = this._hasChanges.asReadonly();
|
|
27
|
+
/**
|
|
28
|
+
* Read-only signal for the filter fields.
|
|
29
|
+
*/
|
|
30
|
+
this.filterFields = this._filterFields.asReadonly();
|
|
26
31
|
/**
|
|
27
32
|
* Subject to trigger search operations
|
|
28
33
|
*/
|
|
@@ -96,6 +101,13 @@ export class CurrentSearchRequestService {
|
|
|
96
101
|
setSearching(isSearching) {
|
|
97
102
|
this._isSearching.set(isSearching);
|
|
98
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Sets the filter fields
|
|
106
|
+
* @param fields Filter fields
|
|
107
|
+
*/
|
|
108
|
+
setFilterFields(fields) {
|
|
109
|
+
this._filterFields.set(fields);
|
|
110
|
+
}
|
|
99
111
|
/**
|
|
100
112
|
* Resets the search request to default state
|
|
101
113
|
*/
|
|
@@ -160,7 +172,21 @@ export class CurrentSearchRequestService {
|
|
|
160
172
|
updateFilterByIndex(index, newData) {
|
|
161
173
|
const currentFilters = this.searchRequest().filters || [];
|
|
162
174
|
if (index >= 0 && index < currentFilters.length) {
|
|
163
|
-
this.patchSearchRequest({
|
|
175
|
+
this.patchSearchRequest({
|
|
176
|
+
filters: currentFilters.map((f, i) => {
|
|
177
|
+
if (i !== index) {
|
|
178
|
+
return f;
|
|
179
|
+
}
|
|
180
|
+
// Preserve type/filterType when merging
|
|
181
|
+
const existingType = f.type || f.filterType;
|
|
182
|
+
const merged = { ...f, ...newData };
|
|
183
|
+
// Ensure type is preserved if not explicitly set in newData
|
|
184
|
+
if (!newData.type && !!existingType) {
|
|
185
|
+
merged.type = existingType;
|
|
186
|
+
}
|
|
187
|
+
return merged;
|
|
188
|
+
})
|
|
189
|
+
});
|
|
164
190
|
}
|
|
165
191
|
}
|
|
166
192
|
/**
|
|
@@ -251,4 +277,4 @@ export class CurrentSearchRequestService {
|
|
|
251
277
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CurrentSearchRequestService, decorators: [{
|
|
252
278
|
type: Injectable
|
|
253
279
|
}] });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC1zZWFyY2gtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9zZXJ2aWNlcy9jdXJyZW50LXNlYXJjaC1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRS9COzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sMkJBQTJCO0lBRHhDO1FBRXFCLG1CQUFjLEdBQUcsTUFBTSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUNoRCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3Qzs7V0FFRztRQUNNLGtCQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUUxRDs7V0FFRztRQUNNLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV0RDs7V0FFRztRQUNNLGVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXBEOztXQUVHO1FBQ00seUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFFbEU7O1dBRUc7UUFDTSxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFaEg7O1dBRUc7UUFDTSxlQUFV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S0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBdlJRLDJCQUEyQjtrSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUZpbHRlciwgU2VhcmNoUmVxdWVzdE1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIG1hbmFnZSB0aGUgY3VycmVudCBzZWFyY2ggcmVxdWVzdCBzdGF0ZSBhY3Jvc3MgdGFibGUgY29tcG9uZW50cy5cbiAqIFVzZXMgQW5ndWxhciBzaWduYWxzIGZvciByZWFjdGl2ZSBzdGF0ZSBtYW5hZ2VtZW50LCBlbGltaW5hdGluZyB0aGUgbmVlZCBmb3IgcHJvcCBkcmlsbGluZy5cbiAqIFNob3VsZCBiZSBwcm92aWRlZCBhdCB0aGUgdGFibGUgY29tcG9uZW50IGxldmVsIHNvIGVhY2ggdGFibGUgaW5zdGFuY2UgaGFzIGl0cyBvd24gc3RhdGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFJlcXVlc3QgPSBzaWduYWw8U2VhcmNoUmVxdWVzdE1vZGVsPih7fSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfaXNTZWFyY2hpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hhc0NoYW5nZXMgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICogUmVhZC1vbmx5IHNpZ25hbCBmb3IgdGhlIGN1cnJlbnQgc2VhcmNoIHJlcXVlc3RcbiAgICAgKi9cbiAgICByZWFkb25seSBzZWFyY2hSZXF1ZXN0ID0gdGhpcy5fc2VhcmNoUmVxdWVzdC5hc1JlYWRvbmx5KCk7XG5cbiAgICAvKipcbiAgICAgKiBSZWFkLW9ubHkgc2lnbmFsIGZvciB0aGUgc2VhcmNoaW5nIHN0YXRlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXNTZWFyY2hpbmcgPSB0aGlzLl9pc1NlYXJjaGluZy5hc1JlYWRvbmx5KCk7XG5cbiAgICAvKipcbiAgICAgKiBSZWFkLW9ubHkgc2lnbmFsIGluZGljYXRpbmcgaWYgdGhlIHNlYXJjaCByZXF1ZXN0IGhhcyBjaGFuZ2VkIGZyb20gZGVmYXVsdFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhhc0NoYW5nZXMgPSB0aGlzLl9oYXNDaGFuZ2VzLmFzUmVhZG9ubHkoKTtcblxuICAgIC8qKlxuICAgICAqIFN1YmplY3QgdG8gdHJpZ2dlciBzZWFyY2ggb3BlcmF0aW9uc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaFJlcXVlc3RTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2VhcmNoUmVxdWVzdE1vZGVsPigpO1xuXG4gICAgLyoqXG4gICAgICogQ291bnQgb2YgYWN0aXZlIGZpbHRlcnMgKG5vbi1oaWRkZW4pXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWN0aXZlRmlsdGVyQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5maWx0ZXIoZiA9PiAhZi5pc0hpZGRlbikubGVuZ3RoIHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSBhcmUgYW55IGFjdGl2ZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzRmlsdGVycyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5sZW5ndGggfHwgMCkgPiAwKTtcblxuICAgIC8qKlxuICAgICAqIENvdW50IG9mIHZpc2libGUgKG5vbi1oaWRkZW4pIGZpbHRlcnNcbiAgICAgKi9cbiAgICByZWFkb25seSB2aXNpYmxlRmlsdGVyQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5maWx0ZXIoZiA9PiAhZi5pc0hpZGRlbikubGVuZ3RoIHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSdzIGEgc2VhcmNoIGRlc2NyaXB0aW9uL3RleHQgcXVlcnlcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNEZXNjcmlwdGlvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5zZWFyY2hSZXF1ZXN0KCkuZGVzY3JpcHRpb24gJiYgdGhpcy5zZWFyY2hSZXF1ZXN0KCkuZGVzY3JpcHRpb24hLmxlbmd0aCA+IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSBhcmUgYW55IHNvcnRpbmdzIGFwcGxpZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNTb3J0aW5nID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuc2VhcmNoUmVxdWVzdCgpLnNvcnRpbmdzPy5sZW5ndGggfHwgMCkgPiAwKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjdXJyZW50IHNvcnRpbmcgKGZpcnN0IG9uZSBpZiBtdWx0aXBsZSBleGlzdClcbiAgICAgKi9cbiAgICByZWFkb25seSBjdXJyZW50U29ydGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaGFzU29ydGluZygpID8gdGhpcy5zZWFyY2hSZXF1ZXN0KCkuc29ydGluZ3MhWzBdIDogdW5kZWZpbmVkKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYW55IHNlYXJjaCBjcml0ZXJpYSBpcyBhY3RpdmUgKGZpbHRlcnMsIGRlc2NyaXB0aW9uLCBvciBzb3J0aW5nKVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhhc0FueVNlYXJjaENyaXRlcmlhID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5oYXNGaWx0ZXJzKCkgfHwgdGhpcy5oYXNEZXNjcmlwdGlvbigpIHx8IHRoaXMuaGFzU29ydGluZygpKTtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgcGFnZSBudW1iZXIgKDEtaW5kZXhlZCBmb3IgZGlzcGxheSlcbiAgICAgKi9cbiAgICByZWFkb25seSBjdXJyZW50UGFnZU51bWJlciA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5wYWdlSW5kZXggfHwgMCkgKyAxKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFnaW5hdGlvbiBpcyBjb25maWd1cmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzUGFnaW5hdGlvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5zZWFyY2hSZXF1ZXN0KCkucGFnZVNpemUgJiYgdGhpcy5zZWFyY2hSZXF1ZXN0KCkucGFnZVNpemUhID4gMCk7XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBlbnRpcmUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcmVxdWVzdCBUaGUgbmV3IHNlYXJjaCByZXF1ZXN0XG4gICAgICovXG4gICAgdXBkYXRlU2VhcmNoUmVxdWVzdChyZXF1ZXN0OiBTZWFyY2hSZXF1ZXN0TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSZXF1ZXN0ID0gdGhpcy5fc2VhcmNoUmVxdWVzdCgpO1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldChyZXF1ZXN0KTtcblxuICAgICAgICAvLyBPbmx5IG1hcmsgYXMgY2hhbmdlZCBpZiB0aGUgbmV3IHJlcXVlc3QgaXMgYWN0dWFsbHkgZGlmZmVyZW50IGZyb20gcHJldmlvdXNcbiAgICAgICAgaWYgKCF0aGlzLmFyZVNlYXJjaFJlcXVlc3RzRXF1YWwocHJldmlvdXNSZXF1ZXN0LCByZXF1ZXN0KSkge1xuICAgICAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXJ0aWFsbHkgdXBkYXRlcyB0aGUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcGFydGlhbCBQYXJ0aWFsIHNlYXJjaCByZXF1ZXN0IHByb3BlcnRpZXMgdG8gdXBkYXRlXG4gICAgICovXG4gICAgcGF0Y2hTZWFyY2hSZXF1ZXN0KHBhcnRpYWw6IFBhcnRpYWw8U2VhcmNoUmVxdWVzdE1vZGVsPik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2aW91c1JlcXVlc3QgPSB0aGlzLl9zZWFyY2hSZXF1ZXN0KCk7XG4gICAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnByZXZpb3VzUmVxdWVzdCwgLi4ucGFydGlhbCB9O1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldChuZXdSZXF1ZXN0KTtcblxuICAgICAgICAvLyBPbmx5IG1hcmsgYXMgY2hhbmdlZCBpZiB0aGUgcGF0Y2ggYWN0dWFsbHkgY2hhbmdlZCBzb21ldGhpbmdcbiAgICAgICAgaWYgKCF0aGlzLmFyZVNlYXJjaFJlcXVlc3RzRXF1YWwocHJldmlvdXNSZXF1ZXN0LCBuZXdSZXF1ZXN0KSkge1xuICAgICAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzZWFyY2hpbmcgc3RhdGVcbiAgICAgKiBAcGFyYW0gaXNTZWFyY2hpbmcgV2hldGhlciBhIHNlYXJjaCBpcyBpbiBwcm9ncmVzc1xuICAgICAqL1xuICAgIHNldFNlYXJjaGluZyhpc1NlYXJjaGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc1NlYXJjaGluZy5zZXQoaXNTZWFyY2hpbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0cyB0aGUgc2VhcmNoIHJlcXVlc3QgdG8gZGVmYXVsdCBzdGF0ZVxuICAgICAqL1xuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldCh7fSk7XG4gICAgICAgIHRoaXMuX2lzU2VhcmNoaW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuX2hhc0NoYW5nZXMuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyBhIHNlYXJjaCBvcGVyYXRpb24gYnkgZW1pdHRpbmcgb24gdGhlIHNlYXJjaFJlcXVlc3RTdWJqZWN0XG4gICAgICovXG4gICAgdHJpZ2dlclNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hSZXF1ZXN0U3ViamVjdC5uZXh0KHRoaXMuX3NlYXJjaFJlcXVlc3QoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFudWFsbHkgc2V0cyB0aGUgaGFzQ2hhbmdlcyBmbGFnXG4gICAgICogVXNlZnVsIGZvciBjaGFuZ2VzIHRoYXQgYXJlbid0IHBhcnQgb2YgdGhlIHNlYXJjaCByZXF1ZXN0IGJ1dCBzaG91bGQgZW5hYmxlIFNhdmUgVmlld1xuICAgICAqIChlLmcuLCBjb2x1bW4gdmlzaWJpbGl0eSBjaGFuZ2VzKVxuICAgICAqIEBwYXJhbSBoYXNDaGFuZ2VzIFdoZXRoZXIgdGhlcmUgYXJlIGNoYW5nZXNcbiAgICAgKi9cbiAgICBzZXRIYXNDaGFuZ2VzKGhhc0NoYW5nZXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQoaGFzQ2hhbmdlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIGZpbHRlciB0byB0aGUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgdG8gYWRkXG4gICAgICovXG4gICAgYWRkRmlsdGVyKGZpbHRlcjogQmFzZUZpbHRlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogWy4uLmN1cnJlbnRGaWx0ZXJzLCBmaWx0ZXJdIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBmaWx0ZXIgYnkgbmFtZVxuICAgICAqIEBwYXJhbSBmaWx0ZXJOYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWx0ZXIgY29sdW1uIHRvIHJlbW92ZVxuICAgICAqL1xuICAgIHJlbW92ZUZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzIHx8IFtdO1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IGN1cnJlbnRGaWx0ZXJzLmZpbHRlcihmID0+IGYuY29sdW1uICE9PSBmaWx0ZXJOYW1lKSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZmlsdGVyIGJ5IGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZmlsdGVyIHRvIHJlbW92ZVxuICAgICAqL1xuICAgIHJlbW92ZUZpbHRlckJ5SW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogY3VycmVudEZpbHRlcnMuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCkgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBhIHNwZWNpZmljIGZpbHRlciBieSBjb2x1bW4gbmFtZVxuICAgICAqIEBwYXJhbSBjb2x1bW5OYW1lIFRoZSBjb2x1bW4gbmFtZSBvZiB0aGUgZmlsdGVyIHRvIHVwZGF0ZVxuICAgICAqIEBwYXJhbSBuZXdEYXRhIFBhcnRpYWwgZmlsdGVyIHByb3BlcnRpZXMgdG8gdXBkYXRlXG4gICAgICovXG4gICAgdXBkYXRlRmlsdGVyKGNvbHVtbk5hbWU6IHN0cmluZywgbmV3RGF0YTogUGFydGlhbDxCYXNlRmlsdGVyPik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogY3VycmVudEZpbHRlcnMubWFwKGYgPT4gZi5jb2x1bW4gPT09IGNvbHVtbk5hbWUgPyB7IC4uLmYsIC4uLm5ld0RhdGEgfSBhcyBhbnkgOiBmKSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGEgZmlsdGVyIGJ5IGl0cyBpbmRleCBwb3NpdGlvblxuICAgICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGZpbHRlciB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gbmV3RGF0YSBQYXJ0aWFsIGZpbHRlciBwcm9wZXJ0aWVzIHRvIHVwZGF0ZVxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlckJ5SW5kZXgoaW5kZXg6IG51bWJlciwgbmV3RGF0YTogUGFydGlhbDxCYXNlRmlsdGVyPik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCBjdXJyZW50RmlsdGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogY3VycmVudEZpbHRlcnMubWFwKChmLCBpKSA9PiBpID09PSBpbmRleCA/IHsgLi4uZiwgLi4ubmV3RGF0YSB9IGFzIGFueSA6IGYpIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBmaWx0ZXJzXG4gICAgICovXG4gICAgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IFtdIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHNvcnRpbmcgKHJlcGxhY2VzIGV4aXN0aW5nIHNvcnRpbmdzKVxuICAgICAqIEBwYXJhbSBjb2x1bW4gVGhlIGNvbHVtbiBuYW1lIHRvIHNvcnQgYnlcbiAgICAgKiBAcGFyYW0gZGlyZWN0aW9uIFRoZSBzb3J0IGRpcmVjdGlvblxuICAgICAqL1xuICAgIHNldFNvcnRpbmcoY29sdW1uOiBzdHJpbmcsIGRpcmVjdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgc29ydGluZ3M6IFt7IGNvbHVtbiwgZGlyZWN0aW9uIH1dIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyBhbGwgc29ydGluZ1xuICAgICAqL1xuICAgIGNsZWFyU29ydGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXRjaFNlYXJjaFJlcXVlc3QoeyBzb3J0aW5nczogW10gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc2VhcmNoIGRlc2NyaXB0aW9uL3RleHQgcXVlcnlcbiAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gVGhlIHNlYXJjaCB0ZXh0XG4gICAgICovXG4gICAgc2V0RGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGRlc2NyaXB0aW9uIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgc2VhcmNoIGRlc2NyaXB0aW9uXG4gICAgICovXG4gICAgY2xlYXJEZXNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXRjaFNlYXJjaFJlcXVlc3QoeyBkZXNjcmlwdGlvbjogJycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIEFMTCBzZWFyY2ggY3JpdGVyaWEgKGZpbHRlcnMsIGRlc2NyaXB0aW9uLCBzb3J0aW5nKVxuICAgICAqIE5vdGU6IERvZXMgbm90IHJlc2V0IHBhZ2luYXRpb24gLSB1c2UgcmVzZXQoKSBmb3IgdGhhdFxuICAgICAqL1xuICAgIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IFtdLCBkZXNjcmlwdGlvbjogJycsIHNvcnRpbmdzOiBbXSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIHNlYXJjaCBjcml0ZXJpYSBleGNlcHQgcGFnaW5hdGlvblxuICAgICAqIFVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIHJlc2V0IHNlYXJjaCBidXQgbWFpbnRhaW4gY3VycmVudCBwYWdlXG4gICAgICovXG4gICAgY2xlYXJBbGxFeGNlcHRQYWdpbmF0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVlcCBjb21wYXJpc29uIG9mIHR3byBzZWFyY2ggcmVxdWVzdHNcbiAgICAgKiBAcGFyYW0gYSBGaXJzdCBzZWFyY2ggcmVxdWVzdFxuICAgICAqIEBwYXJhbSBiIFNlY29uZCBzZWFyY2ggcmVxdWVzdFxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgdGhleSBhcmUgZXF1YWwsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHByaXZhdGUgYXJlU2VhcmNoUmVxdWVzdHNFcXVhbChhOiBTZWFyY2hSZXF1ZXN0TW9kZWwsIGI6IFNlYXJjaFJlcXVlc3RNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoKGEuZGVzY3JpcHRpb24gfHwgJycpICE9PSAoYi5kZXNjcmlwdGlvbiB8fCAnJykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFGaWx0ZXJzID0gYS5maWx0ZXJzIHx8IFtdO1xuICAgICAgICBjb25zdCBiRmlsdGVycyA9IGIuZmlsdGVycyB8fCBbXTtcblxuICAgICAgICBpZiAoYUZpbHRlcnMubGVuZ3RoICE9PSBiRmlsdGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYUZpbHRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhRmlsdGVyc1tpXSkgIT09IEpTT04uc3RyaW5naWZ5KGJGaWx0ZXJzW2ldKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFTb3J0aW5ncyA9IGEuc29ydGluZ3MgfHwgW107XG4gICAgICAgIGNvbnN0IGJTb3J0aW5ncyA9IGIuc29ydGluZ3MgfHwgW107XG5cbiAgICAgICAgaWYgKGFTb3J0aW5ncy5sZW5ndGggIT09IGJTb3J0aW5ncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYVNvcnRpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYVNvcnRpbmdzW2ldKSAhPT0gSlNPTi5zdHJpbmdpZnkoYlNvcnRpbmdzW2ldKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhLnBhZ2VTaXplICE9PSBiLnBhZ2VTaXplIHx8IGEucGFnZUluZGV4ICE9PSBiLnBhZ2VJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC1zZWFyY2gtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9zZXJ2aWNlcy9jdXJyZW50LXNlYXJjaC1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRS9COzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sMkJBQTJCO0lBRHhDO1FBRXFCLG1CQUFjLEdBQUcsTUFBTSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUNoRCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixrQkFBYSxHQUFHLE1BQU0sQ0FBc0IsRUFBRSxDQUFDLENBQUM7UUFFakU7O1dBRUc7UUFDTSxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFMUQ7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdEQ7O1dBRUc7UUFDTSxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVwRDs7V0FFRztRQUNNLGlCQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV4RDs7V0FFRztRQUNNLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBRWxFOztXQUVHO1FBQ00sc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxPQUFPLEVBQUUs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LENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ25DLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBRW5DLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEUsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMzRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0F0VFEsMkJBQTJCO2tIQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlRmlsdGVyLCBGaWx0ZXJGaWVsZENvbmZpZywgU2VhcmNoUmVxdWVzdE1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIG1hbmFnZSB0aGUgY3VycmVudCBzZWFyY2ggcmVxdWVzdCBzdGF0ZSBhY3Jvc3MgdGFibGUgY29tcG9uZW50cy5cbiAqIFVzZXMgQW5ndWxhciBzaWduYWxzIGZvciByZWFjdGl2ZSBzdGF0ZSBtYW5hZ2VtZW50LCBlbGltaW5hdGluZyB0aGUgbmVlZCBmb3IgcHJvcCBkcmlsbGluZy5cbiAqIFNob3VsZCBiZSBwcm92aWRlZCBhdCB0aGUgdGFibGUgY29tcG9uZW50IGxldmVsIHNvIGVhY2ggdGFibGUgaW5zdGFuY2UgaGFzIGl0cyBvd24gc3RhdGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFJlcXVlc3QgPSBzaWduYWw8U2VhcmNoUmVxdWVzdE1vZGVsPih7fSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfaXNTZWFyY2hpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hhc0NoYW5nZXMgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckZpZWxkcyA9IHNpZ25hbDxGaWx0ZXJGaWVsZENvbmZpZ1tdPihbXSk7XG5cbiAgICAvKipcbiAgICAgKiBSZWFkLW9ubHkgc2lnbmFsIGZvciB0aGUgY3VycmVudCBzZWFyY2ggcmVxdWVzdFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaFJlcXVlc3QgPSB0aGlzLl9zZWFyY2hSZXF1ZXN0LmFzUmVhZG9ubHkoKTtcblxuICAgIC8qKlxuICAgICAqIFJlYWQtb25seSBzaWduYWwgZm9yIHRoZSBzZWFyY2hpbmcgc3RhdGVcbiAgICAgKi9cbiAgICByZWFkb25seSBpc1NlYXJjaGluZyA9IHRoaXMuX2lzU2VhcmNoaW5nLmFzUmVhZG9ubHkoKTtcblxuICAgIC8qKlxuICAgICAqIFJlYWQtb25seSBzaWduYWwgaW5kaWNhdGluZyBpZiB0aGUgc2VhcmNoIHJlcXVlc3QgaGFzIGNoYW5nZWQgZnJvbSBkZWZhdWx0XG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzQ2hhbmdlcyA9IHRoaXMuX2hhc0NoYW5nZXMuYXNSZWFkb25seSgpO1xuXG4gICAgLyoqXG4gICAgICogUmVhZC1vbmx5IHNpZ25hbCBmb3IgdGhlIGZpbHRlciBmaWVsZHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZmlsdGVyRmllbGRzID0gdGhpcy5fZmlsdGVyRmllbGRzLmFzUmVhZG9ubHkoKTtcblxuICAgIC8qKlxuICAgICAqIFN1YmplY3QgdG8gdHJpZ2dlciBzZWFyY2ggb3BlcmF0aW9uc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaFJlcXVlc3RTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2VhcmNoUmVxdWVzdE1vZGVsPigpO1xuXG4gICAgLyoqXG4gICAgICogQ291bnQgb2YgYWN0aXZlIGZpbHRlcnMgKG5vbi1oaWRkZW4pXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWN0aXZlRmlsdGVyQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5maWx0ZXIoZiA9PiAhZi5pc0hpZGRlbikubGVuZ3RoIHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSBhcmUgYW55IGFjdGl2ZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzRmlsdGVycyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5sZW5ndGggfHwgMCkgPiAwKTtcblxuICAgIC8qKlxuICAgICAqIENvdW50IG9mIHZpc2libGUgKG5vbi1oaWRkZW4pIGZpbHRlcnNcbiAgICAgKi9cbiAgICByZWFkb25seSB2aXNpYmxlRmlsdGVyQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5maWx0ZXIoZiA9PiAhZi5pc0hpZGRlbikubGVuZ3RoIHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSdzIGEgc2VhcmNoIGRlc2NyaXB0aW9uL3RleHQgcXVlcnlcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNEZXNjcmlwdGlvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5zZWFyY2hSZXF1ZXN0KCkuZGVzY3JpcHRpb24gJiYgdGhpcy5zZWFyY2hSZXF1ZXN0KCkuZGVzY3JpcHRpb24hLmxlbmd0aCA+IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSBhcmUgYW55IHNvcnRpbmdzIGFwcGxpZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNTb3J0aW5nID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuc2VhcmNoUmVxdWVzdCgpLnNvcnRpbmdzPy5sZW5ndGggfHwgMCkgPiAwKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjdXJyZW50IHNvcnRpbmcgKGZpcnN0IG9uZSBpZiBtdWx0aXBsZSBleGlzdClcbiAgICAgKi9cbiAgICByZWFkb25seSBjdXJyZW50U29ydGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaGFzU29ydGluZygpID8gdGhpcy5zZWFyY2hSZXF1ZXN0KCkuc29ydGluZ3MhWzBdIDogdW5kZWZpbmVkKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYW55IHNlYXJjaCBjcml0ZXJpYSBpcyBhY3RpdmUgKGZpbHRlcnMsIGRlc2NyaXB0aW9uLCBvciBzb3J0aW5nKVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhhc0FueVNlYXJjaENyaXRlcmlhID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5oYXNGaWx0ZXJzKCkgfHwgdGhpcy5oYXNEZXNjcmlwdGlvbigpIHx8IHRoaXMuaGFzU29ydGluZygpKTtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgcGFnZSBudW1iZXIgKDEtaW5kZXhlZCBmb3IgZGlzcGxheSlcbiAgICAgKi9cbiAgICByZWFkb25seSBjdXJyZW50UGFnZU51bWJlciA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5wYWdlSW5kZXggfHwgMCkgKyAxKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFnaW5hdGlvbiBpcyBjb25maWd1cmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzUGFnaW5hdGlvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5zZWFyY2hSZXF1ZXN0KCkucGFnZVNpemUgJiYgdGhpcy5zZWFyY2hSZXF1ZXN0KCkucGFnZVNpemUhID4gMCk7XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBlbnRpcmUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcmVxdWVzdCBUaGUgbmV3IHNlYXJjaCByZXF1ZXN0XG4gICAgICovXG4gICAgdXBkYXRlU2VhcmNoUmVxdWVzdChyZXF1ZXN0OiBTZWFyY2hSZXF1ZXN0TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSZXF1ZXN0ID0gdGhpcy5fc2VhcmNoUmVxdWVzdCgpO1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldChyZXF1ZXN0KTtcblxuICAgICAgICAvLyBPbmx5IG1hcmsgYXMgY2hhbmdlZCBpZiB0aGUgbmV3IHJlcXVlc3QgaXMgYWN0dWFsbHkgZGlmZmVyZW50IGZyb20gcHJldmlvdXNcbiAgICAgICAgaWYgKCF0aGlzLmFyZVNlYXJjaFJlcXVlc3RzRXF1YWwocHJldmlvdXNSZXF1ZXN0LCByZXF1ZXN0KSkge1xuICAgICAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXJ0aWFsbHkgdXBkYXRlcyB0aGUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcGFydGlhbCBQYXJ0aWFsIHNlYXJjaCByZXF1ZXN0IHByb3BlcnRpZXMgdG8gdXBkYXRlXG4gICAgICovXG4gICAgcGF0Y2hTZWFyY2hSZXF1ZXN0KHBhcnRpYWw6IFBhcnRpYWw8U2VhcmNoUmVxdWVzdE1vZGVsPik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2aW91c1JlcXVlc3QgPSB0aGlzLl9zZWFyY2hSZXF1ZXN0KCk7XG4gICAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnByZXZpb3VzUmVxdWVzdCwgLi4ucGFydGlhbCB9O1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldChuZXdSZXF1ZXN0KTtcblxuICAgICAgICAvLyBPbmx5IG1hcmsgYXMgY2hhbmdlZCBpZiB0aGUgcGF0Y2ggYWN0dWFsbHkgY2hhbmdlZCBzb21ldGhpbmdcbiAgICAgICAgaWYgKCF0aGlzLmFyZVNlYXJjaFJlcXVlc3RzRXF1YWwocHJldmlvdXNSZXF1ZXN0LCBuZXdSZXF1ZXN0KSkge1xuICAgICAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzZWFyY2hpbmcgc3RhdGVcbiAgICAgKiBAcGFyYW0gaXNTZWFyY2hpbmcgV2hldGhlciBhIHNlYXJjaCBpcyBpbiBwcm9ncmVzc1xuICAgICAqL1xuICAgIHNldFNlYXJjaGluZyhpc1NlYXJjaGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc1NlYXJjaGluZy5zZXQoaXNTZWFyY2hpbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGZpbHRlciBmaWVsZHNcbiAgICAgKiBAcGFyYW0gZmllbGRzIEZpbHRlciBmaWVsZHNcbiAgICAgKi9cbiAgICBzZXRGaWx0ZXJGaWVsZHMoZmllbGRzOiBGaWx0ZXJGaWVsZENvbmZpZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZpbHRlckZpZWxkcy5zZXQoZmllbGRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIHNlYXJjaCByZXF1ZXN0IHRvIGRlZmF1bHQgc3RhdGVcbiAgICAgKi9cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VhcmNoUmVxdWVzdC5zZXQoe30pO1xuICAgICAgICB0aGlzLl9pc1NlYXJjaGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLl9oYXNDaGFuZ2VzLnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcnMgYSBzZWFyY2ggb3BlcmF0aW9uIGJ5IGVtaXR0aW5nIG9uIHRoZSBzZWFyY2hSZXF1ZXN0U3ViamVjdFxuICAgICAqL1xuICAgIHRyaWdnZXJTZWFyY2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoUmVxdWVzdFN1YmplY3QubmV4dCh0aGlzLl9zZWFyY2hSZXF1ZXN0KCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hbnVhbGx5IHNldHMgdGhlIGhhc0NoYW5nZXMgZmxhZ1xuICAgICAqIFVzZWZ1bCBmb3IgY2hhbmdlcyB0aGF0IGFyZW4ndCBwYXJ0IG9mIHRoZSBzZWFyY2ggcmVxdWVzdCBidXQgc2hvdWxkIGVuYWJsZSBTYXZlIFZpZXdcbiAgICAgKiAoZS5nLiwgY29sdW1uIHZpc2liaWxpdHkgY2hhbmdlcylcbiAgICAgKiBAcGFyYW0gaGFzQ2hhbmdlcyBXaGV0aGVyIHRoZXJlIGFyZSBjaGFuZ2VzXG4gICAgICovXG4gICAgc2V0SGFzQ2hhbmdlcyhoYXNDaGFuZ2VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2hhc0NoYW5nZXMuc2V0KGhhc0NoYW5nZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBmaWx0ZXIgdG8gdGhlIHNlYXJjaCByZXF1ZXN0XG4gICAgICogQHBhcmFtIGZpbHRlciBUaGUgZmlsdGVyIHRvIGFkZFxuICAgICAqL1xuICAgIGFkZEZpbHRlcihmaWx0ZXI6IEJhc2VGaWx0ZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzIHx8IFtdO1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IFsuLi5jdXJyZW50RmlsdGVycywgZmlsdGVyXSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZmlsdGVyIGJ5IG5hbWVcbiAgICAgKiBAcGFyYW0gZmlsdGVyTmFtZSBUaGUgbmFtZSBvZiB0aGUgZmlsdGVyIGNvbHVtbiB0byByZW1vdmVcbiAgICAgKi9cbiAgICByZW1vdmVGaWx0ZXIoZmlsdGVyTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGaWx0ZXJzID0gdGhpcy5zZWFyY2hSZXF1ZXN0KCkuZmlsdGVycyB8fCBbXTtcbiAgICAgICAgdGhpcy5wYXRjaFNlYXJjaFJlcXVlc3QoeyBmaWx0ZXJzOiBjdXJyZW50RmlsdGVycy5maWx0ZXIoZiA9PiBmLmNvbHVtbiAhPT0gZmlsdGVyTmFtZSkgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIGZpbHRlciBieSBpbmRleFxuICAgICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGZpbHRlciB0byByZW1vdmVcbiAgICAgKi9cbiAgICByZW1vdmVGaWx0ZXJCeUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzIHx8IFtdO1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IGN1cnJlbnRGaWx0ZXJzLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgYSBzcGVjaWZpYyBmaWx0ZXIgYnkgY29sdW1uIG5hbWVcbiAgICAgKiBAcGFyYW0gY29sdW1uTmFtZSBUaGUgY29sdW1uIG5hbWUgb2YgdGhlIGZpbHRlciB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gbmV3RGF0YSBQYXJ0aWFsIGZpbHRlciBwcm9wZXJ0aWVzIHRvIHVwZGF0ZVxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlcihjb2x1bW5OYW1lOiBzdHJpbmcsIG5ld0RhdGE6IFBhcnRpYWw8QmFzZUZpbHRlcj4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzIHx8IFtdO1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IGN1cnJlbnRGaWx0ZXJzLm1hcChmID0+IGYuY29sdW1uID09PSBjb2x1bW5OYW1lID8geyAuLi5mLCAuLi5uZXdEYXRhIH0gYXMgYW55IDogZikgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBhIGZpbHRlciBieSBpdHMgaW5kZXggcG9zaXRpb25cbiAgICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBmaWx0ZXIgdG8gdXBkYXRlXG4gICAgICogQHBhcmFtIG5ld0RhdGEgUGFydGlhbCBmaWx0ZXIgcHJvcGVydGllcyB0byB1cGRhdGVcbiAgICAgKi9cbiAgICB1cGRhdGVGaWx0ZXJCeUluZGV4KGluZGV4OiBudW1iZXIsIG5ld0RhdGE6IFBhcnRpYWw8QmFzZUZpbHRlcj4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzIHx8IFtdO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwICYmIGluZGV4IDwgY3VycmVudEZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgZmlsdGVyczogY3VycmVudEZpbHRlcnMubWFwKChmLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGY7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBQcmVzZXJ2ZSB0eXBlL2ZpbHRlclR5cGUgd2hlbiBtZXJnaW5nXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nVHlwZSA9IGYudHlwZSB8fCAoZiBhcyBhbnkpLmZpbHRlclR5cGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IHsgLi4uZiwgLi4ubmV3RGF0YSB9IGFzIGFueTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBFbnN1cmUgdHlwZSBpcyBwcmVzZXJ2ZWQgaWYgbm90IGV4cGxpY2l0bHkgc2V0IGluIG5ld0RhdGFcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFuZXdEYXRhLnR5cGUgJiYgISFleGlzdGluZ1R5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZC50eXBlID0gZXhpc3RpbmdUeXBlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlZDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIGZpbHRlcnNcbiAgICAgKi9cbiAgICBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogW10gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc29ydGluZyAocmVwbGFjZXMgZXhpc3Rpbmcgc29ydGluZ3MpXG4gICAgICogQHBhcmFtIGNvbHVtbiBUaGUgY29sdW1uIG5hbWUgdG8gc29ydCBieVxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb24gVGhlIHNvcnQgZGlyZWN0aW9uXG4gICAgICovXG4gICAgc2V0U29ydGluZyhjb2x1bW46IHN0cmluZywgZGlyZWN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXRjaFNlYXJjaFJlcXVlc3QoeyBzb3J0aW5nczogW3sgY29sdW1uLCBkaXJlY3Rpb24gfV0gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBzb3J0aW5nXG4gICAgICovXG4gICAgY2xlYXJTb3J0aW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IHNvcnRpbmdzOiBbXSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzZWFyY2ggZGVzY3JpcHRpb24vdGV4dCBxdWVyeVxuICAgICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBUaGUgc2VhcmNoIHRleHRcbiAgICAgKi9cbiAgICBzZXREZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZGVzY3JpcHRpb24gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBzZWFyY2ggZGVzY3JpcHRpb25cbiAgICAgKi9cbiAgICBjbGVhckRlc2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGRlc2NyaXB0aW9uOiAnJyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgQUxMIHNlYXJjaCBjcml0ZXJpYSAoZmlsdGVycywgZGVzY3JpcHRpb24sIHNvcnRpbmcpXG4gICAgICogTm90ZTogRG9lcyBub3QgcmVzZXQgcGFnaW5hdGlvbiAtIHVzZSByZXNldCgpIGZvciB0aGF0XG4gICAgICovXG4gICAgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogW10sIGRlc2NyaXB0aW9uOiAnJywgc29ydGluZ3M6IFtdIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyBhbGwgc2VhcmNoIGNyaXRlcmlhIGV4Y2VwdCBwYWdpbmF0aW9uXG4gICAgICogVXNlZnVsIHdoZW4geW91IHdhbnQgdG8gcmVzZXQgc2VhcmNoIGJ1dCBtYWludGFpbiBjdXJyZW50IHBhZ2VcbiAgICAgKi9cbiAgICBjbGVhckFsbEV4Y2VwdFBhZ2luYXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWVwIGNvbXBhcmlzb24gb2YgdHdvIHNlYXJjaCByZXF1ZXN0c1xuICAgICAqIEBwYXJhbSBhIEZpcnN0IHNlYXJjaCByZXF1ZXN0XG4gICAgICogQHBhcmFtIGIgU2Vjb25kIHNlYXJjaCByZXF1ZXN0XG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGV5IGFyZSBlcXVhbCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBhcmVTZWFyY2hSZXF1ZXN0c0VxdWFsKGE6IFNlYXJjaFJlcXVlc3RNb2RlbCwgYjogU2VhcmNoUmVxdWVzdE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICgoYS5kZXNjcmlwdGlvbiB8fCAnJykgIT09IChiLmRlc2NyaXB0aW9uIHx8ICcnKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYUZpbHRlcnMgPSBhLmZpbHRlcnMgfHwgW107XG4gICAgICAgIGNvbnN0IGJGaWx0ZXJzID0gYi5maWx0ZXJzIHx8IFtdO1xuXG4gICAgICAgIGlmIChhRmlsdGVycy5sZW5ndGggIT09IGJGaWx0ZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhRmlsdGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFGaWx0ZXJzW2ldKSAhPT0gSlNPTi5zdHJpbmdpZnkoYkZpbHRlcnNbaV0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYVNvcnRpbmdzID0gYS5zb3J0aW5ncyB8fCBbXTtcbiAgICAgICAgY29uc3QgYlNvcnRpbmdzID0gYi5zb3J0aW5ncyB8fCBbXTtcblxuICAgICAgICBpZiAoYVNvcnRpbmdzLmxlbmd0aCAhPT0gYlNvcnRpbmdzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhU29ydGluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhU29ydGluZ3NbaV0pICE9PSBKU09OLnN0cmluZ2lmeShiU29ydGluZ3NbaV0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGEucGFnZVNpemUgIT09IGIucGFnZVNpemUgfHwgYS5wYWdlSW5kZXggIT09IGIucGFnZUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|