cps-ui-kit 0.105.0 → 0.107.0
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/assets/icons.svg +1 -4
- package/esm2020/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +42 -7
- package/esm2020/lib/components/cps-table/cps-filter-match-mode.mjs +25 -0
- package/esm2020/lib/components/cps-table/cps-table.component.mjs +10 -4
- package/esm2020/lib/components/cps-table/directives/cps-table-column-filter.directive.mjs +14 -2
- package/esm2020/lib/components/cps-table/table-column-filter/table-column-filter-constraint/table-column-filter-constraint.component.mjs +2 -2
- package/esm2020/lib/components/cps-table/table-column-filter/table-column-filter.component.mjs +82 -31
- package/esm2020/lib/components/cps-tree-table/cps-tree-table.component.mjs +10 -4
- package/esm2020/lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive.mjs +14 -2
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/cps-ui-kit.mjs +190 -46
- package/fesm2015/cps-ui-kit.mjs.map +1 -1
- package/fesm2020/cps-ui-kit.mjs +190 -45
- package/fesm2020/cps-ui-kit.mjs.map +1 -1
- package/lib/components/cps-button-toggle/cps-button-toggle.component.d.ts +13 -6
- package/lib/components/cps-table/cps-filter-match-mode.d.ts +22 -0
- package/lib/components/cps-table/cps-table.component.d.ts +3 -1
- package/lib/components/cps-table/directives/cps-table-column-filter.directive.d.ts +5 -1
- package/lib/components/cps-table/table-column-filter/table-column-filter.component.d.ts +13 -4
- package/lib/components/cps-tree-table/cps-tree-table.component.d.ts +3 -1
- package/lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive.d.ts +5 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -8,6 +8,9 @@ export class CpsTableColumnFilterDirective {
|
|
|
8
8
|
this.filterType = 'text';
|
|
9
9
|
this.filterShowClearButton = true;
|
|
10
10
|
this.filterShowApplyButton = true;
|
|
11
|
+
this.filterShowCloseButton = false;
|
|
12
|
+
this.filterPersistent = false;
|
|
13
|
+
this.filterMatchModes = [];
|
|
11
14
|
this.filterHideOnClear = false;
|
|
12
15
|
this.filterMaxConstraints = 2;
|
|
13
16
|
this.filterCategoryOptions = [];
|
|
@@ -19,6 +22,9 @@ export class CpsTableColumnFilterDirective {
|
|
|
19
22
|
this.filterCompRef.setInput('type', this.filterType);
|
|
20
23
|
this.filterCompRef.setInput('showClearButton', this.filterShowClearButton);
|
|
21
24
|
this.filterCompRef.setInput('showApplyButton', this.filterShowApplyButton);
|
|
25
|
+
this.filterCompRef.setInput('showCloseButton', this.filterShowCloseButton);
|
|
26
|
+
this.filterCompRef.setInput('persistent', this.filterPersistent);
|
|
27
|
+
this.filterCompRef.setInput('matchModes', this.filterMatchModes);
|
|
22
28
|
this.filterCompRef.setInput('hideOnClear', this.filterHideOnClear);
|
|
23
29
|
this.filterCompRef.setInput('maxConstraints', this.filterMaxConstraints);
|
|
24
30
|
this.filterCompRef.setInput('categoryOptions', this.filterCategoryOptions);
|
|
@@ -45,7 +51,7 @@ export class CpsTableColumnFilterDirective {
|
|
|
45
51
|
}
|
|
46
52
|
}
|
|
47
53
|
CpsTableColumnFilterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsTableColumnFilterDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
-
CpsTableColumnFilterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CpsTableColumnFilterDirective, isStandalone: true, selector: "[cpsTColFilter]", inputs: { field: ["cpsTColFilter", "field"], filterType: "filterType", filterShowClearButton: "filterShowClearButton", filterShowApplyButton: "filterShowApplyButton", filterHideOnClear: "filterHideOnClear", filterMaxConstraints: "filterMaxConstraints", filterCategoryOptions: "filterCategoryOptions", filterPlaceholder: "filterPlaceholder" }, ngImport: i0 });
|
|
54
|
+
CpsTableColumnFilterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CpsTableColumnFilterDirective, isStandalone: true, selector: "[cpsTColFilter]", inputs: { field: ["cpsTColFilter", "field"], filterType: "filterType", filterShowClearButton: "filterShowClearButton", filterShowApplyButton: "filterShowApplyButton", filterShowCloseButton: "filterShowCloseButton", filterPersistent: "filterPersistent", filterMatchModes: "filterMatchModes", filterHideOnClear: "filterHideOnClear", filterMaxConstraints: "filterMaxConstraints", filterCategoryOptions: "filterCategoryOptions", filterPlaceholder: "filterPlaceholder" }, ngImport: i0 });
|
|
49
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsTableColumnFilterDirective, decorators: [{
|
|
50
56
|
type: Directive,
|
|
51
57
|
args: [{
|
|
@@ -61,6 +67,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
61
67
|
type: Input
|
|
62
68
|
}], filterShowApplyButton: [{
|
|
63
69
|
type: Input
|
|
70
|
+
}], filterShowCloseButton: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], filterPersistent: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], filterMatchModes: [{
|
|
75
|
+
type: Input
|
|
64
76
|
}], filterHideOnClear: [{
|
|
65
77
|
type: Input
|
|
66
78
|
}], filterMaxConstraints: [{
|
|
@@ -70,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
70
82
|
}], filterPlaceholder: [{
|
|
71
83
|
type: Input
|
|
72
84
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRhYmxlLWNvbHVtbi1maWx0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLWNvbHVtbi1maWx0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQWNsRyxNQUFNLE9BQU8sNkJBQTZCO0lBZXhDLFlBQ1UsVUFBc0IsRUFDdEIsZ0JBQWtDO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWZuQyxlQUFVLEdBQTZCLE1BQU0sQ0FBQztRQUM5QywwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDN0IsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIscUJBQWdCLEdBQXlCLEVBQUUsQ0FBQztRQUM1QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLDBCQUFxQixHQUFhLEVBQUUsQ0FBQztRQUNyQyxzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFROUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUN4RCwwQkFBMEIsQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUN6QixhQUFhLEVBQ2IsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUN4RCxDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkIsS0FBSyxNQUFNO2dCQUNULE9BQU8sY0FBYyxDQUFDO1lBQ3hCLEtBQUssUUFBUTtnQkFDWCxPQUFPLGFBQWEsQ0FBQztZQUN2QixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxhQUFhLENBQUM7WUFDdkIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sZUFBZSxDQUFDO1lBQ3pCO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7OzBIQS9EVSw2QkFBNkI7OEdBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUJBQWlCO2lCQUM1QjtnSUFFeUIsS0FBSztzQkFBNUIsS0FBSzt1QkFBQyxlQUFlO2dCQUNiLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENwc0ZpbHRlck1hdGNoTW9kZSB9IGZyb20gJy4uL2Nwcy1maWx0ZXItbWF0Y2gtbW9kZSc7XG5cbmV4cG9ydCB0eXBlIENwc1RhYmxlQ29sdW1uRmlsdGVyVHlwZSA9XG4gIHwgJ3RleHQnXG4gIHwgJ251bWJlcidcbiAgfCAnZGF0ZSdcbiAgfCAnYm9vbGVhbidcbiAgfCAnY2F0ZWdvcnknO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbY3BzVENvbEZpbHRlcl0nXG59KVxuZXhwb3J0IGNsYXNzIENwc1RhYmxlQ29sdW1uRmlsdGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2Nwc1RDb2xGaWx0ZXInKSBmaWVsZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBmaWx0ZXJUeXBlOiBDcHNUYWJsZUNvbHVtbkZpbHRlclR5cGUgPSAndGV4dCc7XG4gIEBJbnB1dCgpIGZpbHRlclNob3dDbGVhckJ1dHRvbiA9IHRydWU7XG4gIEBJbnB1dCgpIGZpbHRlclNob3dBcHBseUJ1dHRvbiA9IHRydWU7XG4gIEBJbnB1dCgpIGZpbHRlclNob3dDbG9zZUJ1dHRvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWx0ZXJQZXJzaXN0ZW50ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZpbHRlck1hdGNoTW9kZXM6IENwc0ZpbHRlck1hdGNoTW9kZVtdID0gW107XG4gIEBJbnB1dCgpIGZpbHRlckhpZGVPbkNsZWFyID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZpbHRlck1heENvbnN0cmFpbnRzID0gMjtcbiAgQElucHV0KCkgZmlsdGVyQ2F0ZWdvcnlPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBmaWx0ZXJQbGFjZWhvbGRlciA9ICcnO1xuXG4gIGZpbHRlckNvbXBSZWY6IENvbXBvbmVudFJlZjxUYWJsZUNvbHVtbkZpbHRlckNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgVGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnRcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCdmaWVsZCcsIHRoaXMuZmllbGQpO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgndHlwZScsIHRoaXMuZmlsdGVyVHlwZSk7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCdzaG93Q2xlYXJCdXR0b24nLCB0aGlzLmZpbHRlclNob3dDbGVhckJ1dHRvbik7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCdzaG93QXBwbHlCdXR0b24nLCB0aGlzLmZpbHRlclNob3dBcHBseUJ1dHRvbik7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCdzaG93Q2xvc2VCdXR0b24nLCB0aGlzLmZpbHRlclNob3dDbG9zZUJ1dHRvbik7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCdwZXJzaXN0ZW50JywgdGhpcy5maWx0ZXJQZXJzaXN0ZW50KTtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoJ21hdGNoTW9kZXMnLCB0aGlzLmZpbHRlck1hdGNoTW9kZXMpO1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5zZXRJbnB1dCgnaGlkZU9uQ2xlYXInLCB0aGlzLmZpbHRlckhpZGVPbkNsZWFyKTtcbiAgICB0aGlzLmZpbHRlckNvbXBSZWYuc2V0SW5wdXQoJ21heENvbnN0cmFpbnRzJywgdGhpcy5maWx0ZXJNYXhDb25zdHJhaW50cyk7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KCdjYXRlZ29yeU9wdGlvbnMnLCB0aGlzLmZpbHRlckNhdGVnb3J5T3B0aW9ucyk7XG4gICAgdGhpcy5maWx0ZXJDb21wUmVmLnNldElucHV0KFxuICAgICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAgIHRoaXMuZmlsdGVyUGxhY2Vob2xkZXIgfHwgdGhpcy5fZ2V0RGVmYXVsdFBsYWNlaG9sZGVyKClcbiAgICApO1xuXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZC5hZnRlcihcbiAgICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERlZmF1bHRQbGFjZWhvbGRlcigpIHtcbiAgICBzd2l0Y2ggKHRoaXMuZmlsdGVyVHlwZSkge1xuICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgIHJldHVybiAnUGxlYXNlIGVudGVyJztcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHJldHVybiAnRW50ZXIgdmFsdWUnO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiAnU2VsZWN0IGRhdGUnO1xuICAgICAgY2FzZSAnY2F0ZWdvcnknOlxuICAgICAgICByZXR1cm4gJ1BsZWFzZSBzZWxlY3QnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyQ29tcFJlZi5kZXN0cm95KCk7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -70,7 +70,7 @@ export class TableColumnFilterConstraintComponent {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
TableColumnFilterConstraintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableColumnFilterConstraintComponent, deps: [{ token: i1.Table, optional: true }, { token: i2.TreeTable, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
-
TableColumnFilterConstraintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableColumnFilterConstraintComponent, isStandalone: true, selector: "table-column-filter-constraint", inputs: { type: "type", field: "field", filterConstraint: "filterConstraint", categoryOptions: "categoryOptions", placeholder: "placeholder", hasApplyButton: "hasApplyButton" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <cps-input\n *ngSwitchCase=\"'text'\"\n [placeholder]=\"placeholder\"\n [hideDetails]=\"true\"\n (keydown.enter)=\"onEnterKeyDown($event)\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n type=\"text\"></cps-input>\n\n <cps-input\n *ngSwitchCase=\"'number'\"\n [hideDetails]=\"true\"\n [placeholder]=\"placeholder\"\n (keydown.enter)=\"onEnterKeyDown($event)\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n type=\"number\"></cps-input>\n\n <div class=\"cps-table-col-filter-constraint-boolean\">\n <cps-button-toggle\n *ngSwitchCase=\"'boolean'\"\n [options]=\"booleanOptions\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n [mandatory]=\"false\">\n </cps-button-toggle>\n </div>\n\n <cps-datepicker\n *ngSwitchCase=\"'date'\"\n [openOnInputFocus]=\"true\"\n [hideDetails]=\"true\"\n [placeholder]=\"placeholder\"\n [value]=\"filterConstraint?.value\"\n (keydown.enter)=\"onEnterKeyDown($event)\"\n (valueChanged)=\"onValueChange($event)\">\n </cps-datepicker>\n\n <cps-autocomplete\n class=\"cps-table-col-filter-category-autocomplete\"\n *ngSwitchCase=\"'category'\"\n [placeholder]=\"placeholder\"\n [options]=\"categories\"\n [hideDetails]=\"true\"\n [clearable]=\"true\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n [returnObject]=\"false\"\n [multiple]=\"true\"></cps-autocomplete>\n</ng-container>\n", styles: [":host .cps-table-col-filter-constraint-boolean{display:flex;justify-content:center}:host .cps-table-col-filter-category-autocomplete{min-width:200px;max-width:400px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: CpsInputComponent, selector: "cps-input", inputs: ["label", "hint", "placeholder", "disabled", "readonly", "width", "type", "loading", "clearable", "prefixIcon", "prefixIconClickable", "prefixIconSize", "prefixText", "hideDetails", "persistentClear", "error", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "valueToDisplay", "value"], outputs: ["valueChanged", "focused", "prefixIconClicked", "blurred", "cleared", "enterClicked"] }, { kind: "component", type: CpsDatepickerComponent, selector: "cps-datepicker", inputs: ["label", "disabled", "width", "placeholder", "hint", "clearable", "hideDetails", "persistentClear", "showTodayButton", "openOnInputFocus", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "minDate", "maxDate", "value"], outputs: ["valueChanged"] }, { kind: "component", type: CpsButtonToggleComponent, selector: "cps-button-toggle", inputs: ["label", "options", "multiple", "disabled", "mandatory", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "value"], outputs: ["valueChanged"] }, { kind: "component", type: CpsAutocompleteComponent, selector: "cps-autocomplete", inputs: ["label", "placeholder", "hint", "returnObject", "multiple", "disabled", "width", "selectAll", "chips", "closableChips", "clearable", "openOnClear", "options", "optionLabel", "optionValue", "optionInfo", "hideDetails", "persistentClear", "prefixIcon", "prefixIconSize", "loading", "emptyMessage", "virtualScroll", "numToleratedItems", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "value"], outputs: ["valueChanged"] }] });
|
|
73
|
+
TableColumnFilterConstraintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableColumnFilterConstraintComponent, isStandalone: true, selector: "table-column-filter-constraint", inputs: { type: "type", field: "field", filterConstraint: "filterConstraint", categoryOptions: "categoryOptions", placeholder: "placeholder", hasApplyButton: "hasApplyButton" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <cps-input\n *ngSwitchCase=\"'text'\"\n [placeholder]=\"placeholder\"\n [hideDetails]=\"true\"\n (keydown.enter)=\"onEnterKeyDown($event)\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n type=\"text\"></cps-input>\n\n <cps-input\n *ngSwitchCase=\"'number'\"\n [hideDetails]=\"true\"\n [placeholder]=\"placeholder\"\n (keydown.enter)=\"onEnterKeyDown($event)\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n type=\"number\"></cps-input>\n\n <div class=\"cps-table-col-filter-constraint-boolean\">\n <cps-button-toggle\n *ngSwitchCase=\"'boolean'\"\n [options]=\"booleanOptions\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n [mandatory]=\"false\">\n </cps-button-toggle>\n </div>\n\n <cps-datepicker\n *ngSwitchCase=\"'date'\"\n [openOnInputFocus]=\"true\"\n [hideDetails]=\"true\"\n [placeholder]=\"placeholder\"\n [value]=\"filterConstraint?.value\"\n (keydown.enter)=\"onEnterKeyDown($event)\"\n (valueChanged)=\"onValueChange($event)\">\n </cps-datepicker>\n\n <cps-autocomplete\n class=\"cps-table-col-filter-category-autocomplete\"\n *ngSwitchCase=\"'category'\"\n [placeholder]=\"placeholder\"\n [options]=\"categories\"\n [hideDetails]=\"true\"\n [clearable]=\"true\"\n [value]=\"filterConstraint?.value\"\n (valueChanged)=\"onValueChange($event)\"\n [returnObject]=\"false\"\n [multiple]=\"true\"></cps-autocomplete>\n</ng-container>\n", styles: [":host .cps-table-col-filter-constraint-boolean{display:flex;justify-content:center}:host .cps-table-col-filter-category-autocomplete{min-width:200px;max-width:400px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: CpsInputComponent, selector: "cps-input", inputs: ["label", "hint", "placeholder", "disabled", "readonly", "width", "type", "loading", "clearable", "prefixIcon", "prefixIconClickable", "prefixIconSize", "prefixText", "hideDetails", "persistentClear", "error", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "valueToDisplay", "value"], outputs: ["valueChanged", "focused", "prefixIconClicked", "blurred", "cleared", "enterClicked"] }, { kind: "component", type: CpsDatepickerComponent, selector: "cps-datepicker", inputs: ["label", "disabled", "width", "placeholder", "hint", "clearable", "hideDetails", "persistentClear", "showTodayButton", "openOnInputFocus", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "minDate", "maxDate", "value"], outputs: ["valueChanged"] }, { kind: "component", type: CpsButtonToggleComponent, selector: "cps-button-toggle", inputs: ["label", "options", "multiple", "disabled", "mandatory", "equalWidths", "optionTooltipPosition", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "value"], outputs: ["valueChanged"] }, { kind: "component", type: CpsAutocompleteComponent, selector: "cps-autocomplete", inputs: ["label", "placeholder", "hint", "returnObject", "multiple", "disabled", "width", "selectAll", "chips", "closableChips", "clearable", "openOnClear", "options", "optionLabel", "optionValue", "optionInfo", "hideDetails", "persistentClear", "prefixIcon", "prefixIconSize", "loading", "emptyMessage", "virtualScroll", "numToleratedItems", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "value"], outputs: ["valueChanged"] }] });
|
|
74
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableColumnFilterConstraintComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{ selector: 'table-column-filter-constraint', standalone: true, imports: [
|
|
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
98
98
|
}], hasApplyButton: [{
|
|
99
99
|
type: Input
|
|
100
100
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludC90YWJsZS1jb2x1bW4tZmlsdGVyLWNvbnN0cmFpbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL3RhYmxlLWNvbHVtbi1maWx0ZXIvdGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50L3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFFTCx3QkFBd0IsRUFDekIsTUFBTSx3REFBd0QsQ0FBQzs7Ozs7QUFpQmhFLE1BQU0sT0FBTyxvQ0FBb0M7SUFpQi9DLFlBQStCLEVBQVMsRUFBcUIsRUFBYTtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFPO1FBQXFCLE9BQUUsR0FBRixFQUFFLENBQVc7UUFiakUsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFFL0IsbUJBQWMsR0FBRztZQUNmLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ2hDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO1NBQ2QsQ0FBQztRQUV2QixlQUFVLEdBQXVDLEVBQUUsQ0FBQztRQUtsRCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVU7WUFBRSxPQUFPO1FBQ3JDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxDQUFDO2FBQ1QsQ0FBQyxDQUFDLENBQUM7U0FDTDthQUFNO1lBQ0wsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxJQUFJLENBQUMsY0FBYyxZQUFZLEtBQUssRUFBRTtnQkFDeEMsSUFBSTtvQkFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBZSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDeEU7aUJBQU07Z0JBQ0wsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtvQkFDaEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxDQUFDLENBQUM7d0JBQ3hDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFDRixRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksQ0FBQyxVQUFVO2dCQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ3JDLEtBQUssRUFBRSxDQUFDO29CQUNSLEtBQUssRUFBRSxDQUFDO2lCQUNULENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRTNDLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOztpSUFqRVUsb0NBQW9DO3FIQUFwQyxvQ0FBb0MsNFFDNUJqRCxzbERBbURBLGdPRGpDSSxZQUFZLDBOQUNaLFdBQVcsK0JBQ1gsaUJBQWlCLHFnQkFDakIsc0JBQXNCLGtZQUN0Qix3QkFBd0IsK1FBQ3hCLHdCQUF3QjsyRkFLZixvQ0FBb0M7a0JBZGhELFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3FCQUN6Qjs7MEJBcUJZLFFBQVE7OzBCQUFzQixRQUFROzRDQWhCMUMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWx0ZXJNZXRhZGF0YSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBDcHNJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Nwcy1pbnB1dC9jcHMtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENwc0RhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jcHMtZGF0ZXBpY2tlci9jcHMtZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY3BzLWF1dG9jb21wbGV0ZS9jcHMtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCdG5Ub2dnbGVPcHRpb24sXG4gIENwc0J1dHRvblRvZ2dsZUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi9jcHMtYnV0dG9uLXRvZ2dsZS9jcHMtYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVRhYmxlIH0gZnJvbSAncHJpbWVuZy90cmVldGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0YWJsZS1jb2x1bW4tZmlsdGVyLWNvbnN0cmFpbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENwc0lucHV0Q29tcG9uZW50LFxuICAgIENwc0RhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgQ3BzQnV0dG9uVG9nZ2xlQ29tcG9uZW50LFxuICAgIENwc0F1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5GaWx0ZXJDb25zdHJhaW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBmaWx0ZXJDb25zdHJhaW50OiBGaWx0ZXJNZXRhZGF0YSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY2F0ZWdvcnlPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBoYXNBcHBseUJ1dHRvbiA9IHRydWU7XG5cbiAgYm9vbGVhbk9wdGlvbnMgPSBbXG4gICAgeyBsYWJlbDogJ1RydWUnLCB2YWx1ZTogJ3RydWUnIH0sXG4gICAgeyBsYWJlbDogJ0ZhbHNlJywgdmFsdWU6ICdmYWxzZScgfVxuICBdIGFzIEJ0blRvZ2dsZU9wdGlvbltdO1xuXG4gIGNhdGVnb3JpZXM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10gPSBbXTtcblxuICBfdGFibGVJbnN0YW5jZTogVGFibGUgfCBUcmVlVGFibGU7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGR0OiBUYWJsZSwgQE9wdGlvbmFsKCkgcHVibGljIHR0OiBUcmVlVGFibGUpIHtcbiAgICB0aGlzLl90YWJsZUluc3RhbmNlID0gZHQgfHwgdHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0Q2F0ZWdvcmllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENhdGVnb3JpZXMoKSB7XG4gICAgaWYgKHRoaXMudHlwZSAhPT0gJ2NhdGVnb3J5JykgcmV0dXJuO1xuICAgIGlmICh0aGlzLmNhdGVnb3J5T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNhdGVnb3JpZXMgPSB0aGlzLmNhdGVnb3J5T3B0aW9ucy5tYXAoKG8pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvLFxuICAgICAgICB2YWx1ZTogb1xuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgY2F0cyA9IFtdO1xuICAgICAgaWYgKHRoaXMuX3RhYmxlSW5zdGFuY2UgaW5zdGFuY2VvZiBUYWJsZSkge1xuICAgICAgICBjYXRzID1cbiAgICAgICAgICB0aGlzLl90YWJsZUluc3RhbmNlLnZhbHVlPy5tYXAoKHYpID0+IHZbdGhpcy5maWVsZCBhcyBzdHJpbmddKSB8fCBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZpbGxDYXRzID0gKG5vZGVzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIG5vZGVzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICBjYXRzLnB1c2godi5kYXRhW3RoaXMuZmllbGQgYXMgc3RyaW5nXSk7XG4gICAgICAgICAgICBmaWxsQ2F0cyh2LmNoaWxkcmVuKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgZmlsbENhdHModGhpcy5fdGFibGVJbnN0YW5jZS52YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNhdGVnb3JpZXMgPVxuICAgICAgICBBcnJheS5mcm9tKG5ldyBTZXQoY2F0cykpPy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGMsXG4gICAgICAgICAgdmFsdWU6IGNcbiAgICAgICAgfSkpIHx8IFtdO1xuICAgIH1cbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgICg8YW55PnRoaXMuZmlsdGVyQ29uc3RyYWludCkudmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgIXRoaXMuaGFzQXBwbHlCdXR0b24pIHtcbiAgICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIG9uRW50ZXJLZXlEb3duKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLl90YWJsZUluc3RhbmNlLl9maWx0ZXIoKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gIDxjcHMtaW5wdXRcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyS2V5RG93bigkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwiZmlsdGVyQ29uc3RyYWludD8udmFsdWVcIlxuICAgICh2YWx1ZUNoYW5nZWQpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICB0eXBlPVwidGV4dFwiPjwvY3BzLWlucHV0PlxuXG4gIDxjcHMtaW5wdXRcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIlxuICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXJLZXlEb3duKCRldmVudClcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJDb25zdHJhaW50Py52YWx1ZVwiXG4gICAgKHZhbHVlQ2hhbmdlZCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIHR5cGU9XCJudW1iZXJcIj48L2Nwcy1pbnB1dD5cblxuICA8ZGl2IGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXItY29uc3RyYWludC1ib29sZWFuXCI+XG4gICAgPGNwcy1idXR0b24tdG9nZ2xlXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCJcbiAgICAgIFtvcHRpb25zXT1cImJvb2xlYW5PcHRpb25zXCJcbiAgICAgIFt2YWx1ZV09XCJmaWx0ZXJDb25zdHJhaW50Py52YWx1ZVwiXG4gICAgICAodmFsdWVDaGFuZ2VkKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbbWFuZGF0b3J5XT1cImZhbHNlXCI+XG4gICAgPC9jcHMtYnV0dG9uLXRvZ2dsZT5cbiAgPC9kaXY+XG5cbiAgPGNwcy1kYXRlcGlja2VyXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiXG4gICAgW29wZW5PbklucHV0Rm9jdXNdPVwidHJ1ZVwiXG4gICAgW2hpZGVEZXRhaWxzXT1cInRydWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW3ZhbHVlXT1cImZpbHRlckNvbnN0cmFpbnQ/LnZhbHVlXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyS2V5RG93bigkZXZlbnQpXCJcbiAgICAodmFsdWVDaGFuZ2VkKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICA8L2Nwcy1kYXRlcGlja2VyPlxuXG4gIDxjcHMtYXV0b2NvbXBsZXRlXG4gICAgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1jYXRlZ29yeS1hdXRvY29tcGxldGVcIlxuICAgICpuZ1N3aXRjaENhc2U9XCInY2F0ZWdvcnknXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtvcHRpb25zXT1cImNhdGVnb3JpZXNcIlxuICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJDb25zdHJhaW50Py52YWx1ZVwiXG4gICAgKHZhbHVlQ2hhbmdlZCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtyZXR1cm5PYmplY3RdPVwiZmFsc2VcIlxuICAgIFttdWx0aXBsZV09XCJ0cnVlXCI+PC9jcHMtYXV0b2NvbXBsZXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludC90YWJsZS1jb2x1bW4tZmlsdGVyLWNvbnN0cmFpbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL3RhYmxlLWNvbHVtbi1maWx0ZXIvdGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50L3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFFTCx3QkFBd0IsRUFDekIsTUFBTSx3REFBd0QsQ0FBQzs7Ozs7QUFpQmhFLE1BQU0sT0FBTyxvQ0FBb0M7SUFpQi9DLFlBQStCLEVBQVMsRUFBcUIsRUFBYTtRQUEzQyxPQUFFLEdBQUYs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LFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3FCQUN6Qjs7MEJBcUJZLFFBQVE7OzBCQUFzQixRQUFROzRDQWhCMUMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWx0ZXJNZXRhZGF0YSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBDcHNJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Nwcy1pbnB1dC9jcHMtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENwc0RhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jcHMtZGF0ZXBpY2tlci9jcHMtZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY3BzLWF1dG9jb21wbGV0ZS9jcHMtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCdG5Ub2dnbGVPcHRpb24sXG4gIENwc0J1dHRvblRvZ2dsZUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi9jcHMtYnV0dG9uLXRvZ2dsZS9jcHMtYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVRhYmxlIH0gZnJvbSAncHJpbWVuZy90cmVldGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0YWJsZS1jb2x1bW4tZmlsdGVyLWNvbnN0cmFpbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENwc0lucHV0Q29tcG9uZW50LFxuICAgIENwc0RhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgQ3BzQnV0dG9uVG9nZ2xlQ29tcG9uZW50LFxuICAgIENwc0F1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5GaWx0ZXJDb25zdHJhaW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBmaWx0ZXJDb25zdHJhaW50OiBGaWx0ZXJNZXRhZGF0YSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY2F0ZWdvcnlPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBoYXNBcHBseUJ1dHRvbiA9IHRydWU7XG5cbiAgYm9vbGVhbk9wdGlvbnMgPSBbXG4gICAgeyBsYWJlbDogJ1RydWUnLCB2YWx1ZTogJ3RydWUnIH0sXG4gICAgeyBsYWJlbDogJ0ZhbHNlJywgdmFsdWU6ICdmYWxzZScgfVxuICBdIGFzIEJ0blRvZ2dsZU9wdGlvbltdO1xuXG4gIGNhdGVnb3JpZXM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10gPSBbXTtcblxuICBfdGFibGVJbnN0YW5jZTogVGFibGUgfCBUcmVlVGFibGU7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGR0OiBUYWJsZSwgQE9wdGlvbmFsKCkgcHVibGljIHR0OiBUcmVlVGFibGUpIHtcbiAgICB0aGlzLl90YWJsZUluc3RhbmNlID0gZHQgfHwgdHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0Q2F0ZWdvcmllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENhdGVnb3JpZXMoKSB7XG4gICAgaWYgKHRoaXMudHlwZSAhPT0gJ2NhdGVnb3J5JykgcmV0dXJuO1xuICAgIGlmICh0aGlzLmNhdGVnb3J5T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNhdGVnb3JpZXMgPSB0aGlzLmNhdGVnb3J5T3B0aW9ucy5tYXAoKG8pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvLFxuICAgICAgICB2YWx1ZTogb1xuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgY2F0cyA9IFtdO1xuICAgICAgaWYgKHRoaXMuX3RhYmxlSW5zdGFuY2UgaW5zdGFuY2VvZiBUYWJsZSkge1xuICAgICAgICBjYXRzID1cbiAgICAgICAgICB0aGlzLl90YWJsZUluc3RhbmNlLnZhbHVlPy5tYXAoKHYpID0+IHZbdGhpcy5maWVsZCBhcyBzdHJpbmddKSB8fCBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZpbGxDYXRzID0gKG5vZGVzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIG5vZGVzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICBjYXRzLnB1c2godi5kYXRhW3RoaXMuZmllbGQgYXMgc3RyaW5nXSk7XG4gICAgICAgICAgICBmaWxsQ2F0cyh2LmNoaWxkcmVuKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgZmlsbENhdHModGhpcy5fdGFibGVJbnN0YW5jZS52YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNhdGVnb3JpZXMgPVxuICAgICAgICBBcnJheS5mcm9tKG5ldyBTZXQoY2F0cykpPy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGMsXG4gICAgICAgICAgdmFsdWU6IGNcbiAgICAgICAgfSkpIHx8IFtdO1xuICAgIH1cbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgICg8YW55PnRoaXMuZmlsdGVyQ29uc3RyYWludCkudmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgIXRoaXMuaGFzQXBwbHlCdXR0b24pIHtcbiAgICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIG9uRW50ZXJLZXlEb3duKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLl90YWJsZUluc3RhbmNlLl9maWx0ZXIoKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gIDxjcHMtaW5wdXRcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyS2V5RG93bigkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwiZmlsdGVyQ29uc3RyYWludD8udmFsdWVcIlxuICAgICh2YWx1ZUNoYW5nZWQpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICB0eXBlPVwidGV4dFwiPjwvY3BzLWlucHV0PlxuXG4gIDxjcHMtaW5wdXRcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIlxuICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXJLZXlEb3duKCRldmVudClcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJDb25zdHJhaW50Py52YWx1ZVwiXG4gICAgKHZhbHVlQ2hhbmdlZCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIHR5cGU9XCJudW1iZXJcIj48L2Nwcy1pbnB1dD5cblxuICA8ZGl2IGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXItY29uc3RyYWludC1ib29sZWFuXCI+XG4gICAgPGNwcy1idXR0b24tdG9nZ2xlXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCJcbiAgICAgIFtvcHRpb25zXT1cImJvb2xlYW5PcHRpb25zXCJcbiAgICAgIFt2YWx1ZV09XCJmaWx0ZXJDb25zdHJhaW50Py52YWx1ZVwiXG4gICAgICAodmFsdWVDaGFuZ2VkKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbbWFuZGF0b3J5XT1cImZhbHNlXCI+XG4gICAgPC9jcHMtYnV0dG9uLXRvZ2dsZT5cbiAgPC9kaXY+XG5cbiAgPGNwcy1kYXRlcGlja2VyXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiXG4gICAgW29wZW5PbklucHV0Rm9jdXNdPVwidHJ1ZVwiXG4gICAgW2hpZGVEZXRhaWxzXT1cInRydWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW3ZhbHVlXT1cImZpbHRlckNvbnN0cmFpbnQ/LnZhbHVlXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyS2V5RG93bigkZXZlbnQpXCJcbiAgICAodmFsdWVDaGFuZ2VkKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICA8L2Nwcy1kYXRlcGlja2VyPlxuXG4gIDxjcHMtYXV0b2NvbXBsZXRlXG4gICAgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1jYXRlZ29yeS1hdXRvY29tcGxldGVcIlxuICAgICpuZ1N3aXRjaENhc2U9XCInY2F0ZWdvcnknXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtvcHRpb25zXT1cImNhdGVnb3JpZXNcIlxuICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJDb25zdHJhaW50Py52YWx1ZVwiXG4gICAgKHZhbHVlQ2hhbmdlZCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtyZXR1cm5PYmplY3RdPVwiZmFsc2VcIlxuICAgIFttdWx0aXBsZV09XCJ0cnVlXCI+PC9jcHMtYXV0b2NvbXBsZXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
package/esm2020/lib/components/cps-table/table-column-filter/table-column-filter.component.mjs
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Component, HostListener, Input, Optional, ViewChild } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import {
|
|
4
|
+
import { FilterOperator } from 'primeng/api';
|
|
5
5
|
import { Table } from 'primeng/table';
|
|
6
6
|
import { CpsButtonComponent } from '../../cps-button/cps-button.component';
|
|
7
7
|
import { CpsMenuComponent } from '../../cps-menu/cps-menu.component';
|
|
8
8
|
import { CpsIconComponent } from '../../cps-icon/cps-icon.component';
|
|
9
9
|
import { CpsSelectComponent } from '../../cps-select/cps-select.component';
|
|
10
10
|
import { TableColumnFilterConstraintComponent } from './table-column-filter-constraint/table-column-filter-constraint.component';
|
|
11
|
+
import { CpsFilterMatchMode } from '../cps-filter-match-mode';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "primeng/table";
|
|
13
14
|
import * as i2 from "primeng/treetable";
|
|
@@ -21,6 +22,9 @@ export class TableColumnFilterComponent {
|
|
|
21
22
|
this.type = 'text';
|
|
22
23
|
this.showClearButton = true;
|
|
23
24
|
this.showApplyButton = true;
|
|
25
|
+
this.showCloseButton = false;
|
|
26
|
+
this.persistent = false;
|
|
27
|
+
this.matchModes = [];
|
|
24
28
|
this.hideOnClear = false;
|
|
25
29
|
this.maxConstraints = 2;
|
|
26
30
|
this.categoryOptions = [];
|
|
@@ -50,31 +54,36 @@ export class TableColumnFilterComponent {
|
|
|
50
54
|
};
|
|
51
55
|
this.filterMatchModeOptions = {
|
|
52
56
|
text: [
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
CpsFilterMatchMode.STARTS_WITH,
|
|
58
|
+
CpsFilterMatchMode.CONTAINS,
|
|
59
|
+
CpsFilterMatchMode.NOT_CONTAINS,
|
|
60
|
+
CpsFilterMatchMode.ENDS_WITH,
|
|
61
|
+
CpsFilterMatchMode.EQUALS,
|
|
62
|
+
CpsFilterMatchMode.NOT_EQUALS
|
|
59
63
|
],
|
|
60
64
|
number: [
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
CpsFilterMatchMode.EQUALS,
|
|
66
|
+
CpsFilterMatchMode.NOT_EQUALS,
|
|
67
|
+
CpsFilterMatchMode.LESS_THAN,
|
|
68
|
+
CpsFilterMatchMode.LESS_THAN_OR_EQUAL_TO,
|
|
69
|
+
CpsFilterMatchMode.GREATER_THAN,
|
|
70
|
+
CpsFilterMatchMode.GREATER_THAN_OR_EQUAL_TO
|
|
67
71
|
],
|
|
68
72
|
date: [
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
CpsFilterMatchMode.DATE_IS,
|
|
74
|
+
CpsFilterMatchMode.DATE_IS_NOT,
|
|
75
|
+
CpsFilterMatchMode.DATE_BEFORE,
|
|
76
|
+
CpsFilterMatchMode.DATE_AFTER
|
|
73
77
|
]
|
|
74
78
|
};
|
|
79
|
+
this._isFilterApplied = false;
|
|
75
80
|
this._tableInstance = dt || tt;
|
|
76
81
|
}
|
|
77
82
|
ngOnInit() {
|
|
83
|
+
if (this.matchModes.length > 0) {
|
|
84
|
+
this.filterMatchModeOptions[this.type] = this.matchModes;
|
|
85
|
+
}
|
|
86
|
+
this._tableInstance?.onFilter?.subscribe((value) => this._updateFilterApplied(value));
|
|
78
87
|
if (!this._tableInstance.filters[this.field]) {
|
|
79
88
|
this.initFieldFilterConstraint();
|
|
80
89
|
}
|
|
@@ -84,10 +93,24 @@ export class TableColumnFilterComponent {
|
|
|
84
93
|
if (this.type === 'boolean') {
|
|
85
94
|
this.showApplyButton = false;
|
|
86
95
|
}
|
|
87
|
-
this.
|
|
96
|
+
this.currentMatchModes = this.filterMatchModeOptions[this.type]?.map((key) => {
|
|
88
97
|
return { label: this.matchModeLabels[key], value: key };
|
|
89
98
|
});
|
|
90
99
|
}
|
|
100
|
+
_updateFilterApplied(value) {
|
|
101
|
+
const curFilter = value.filters[this.field];
|
|
102
|
+
if (curFilter) {
|
|
103
|
+
if (Array.isArray(curFilter)) {
|
|
104
|
+
this._isFilterApplied = curFilter.some((meta) => meta.value !== null);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this._isFilterApplied = curFilter.value !== null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this._isFilterApplied = false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
91
114
|
initFieldFilterConstraint() {
|
|
92
115
|
const defaultMatchMode = this.getDefaultMatchMode();
|
|
93
116
|
if (this._tableInstance instanceof Table) {
|
|
@@ -106,6 +129,9 @@ export class TableColumnFilterComponent {
|
|
|
106
129
|
};
|
|
107
130
|
}
|
|
108
131
|
}
|
|
132
|
+
onCloseClick() {
|
|
133
|
+
this.hide();
|
|
134
|
+
}
|
|
109
135
|
onMenuMatchModeChange(value, filterMeta) {
|
|
110
136
|
filterMeta.matchMode = value;
|
|
111
137
|
if (!this.showApplyButton) {
|
|
@@ -133,16 +159,28 @@ export class TableColumnFilterComponent {
|
|
|
133
159
|
}
|
|
134
160
|
}
|
|
135
161
|
getDefaultMatchMode() {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
162
|
+
const getMatchMode = (val) => {
|
|
163
|
+
if (this.type in this.filterMatchModeOptions) {
|
|
164
|
+
return this.filterMatchModeOptions[this.type].includes(val)
|
|
165
|
+
? val
|
|
166
|
+
: this.filterMatchModeOptions[this.type][0];
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
return val;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
switch (this.type) {
|
|
173
|
+
case 'text':
|
|
174
|
+
return getMatchMode(CpsFilterMatchMode.STARTS_WITH);
|
|
175
|
+
case 'number':
|
|
176
|
+
return getMatchMode(CpsFilterMatchMode.EQUALS);
|
|
177
|
+
case 'date':
|
|
178
|
+
return getMatchMode(CpsFilterMatchMode.DATE_IS);
|
|
179
|
+
case 'category':
|
|
180
|
+
return CpsFilterMatchMode.IN;
|
|
181
|
+
default:
|
|
182
|
+
return getMatchMode(CpsFilterMatchMode.CONTAINS);
|
|
183
|
+
}
|
|
146
184
|
}
|
|
147
185
|
getDefaultOperator() {
|
|
148
186
|
return this._tableInstance.filters
|
|
@@ -202,6 +240,10 @@ export class TableColumnFilterComponent {
|
|
|
202
240
|
const className = 'cps-table-col-filter-menu-open';
|
|
203
241
|
parent.classList.add(className);
|
|
204
242
|
}
|
|
243
|
+
onBeforeMenuHidden() {
|
|
244
|
+
if (!this._isFilterApplied)
|
|
245
|
+
this.initFieldFilterConstraint();
|
|
246
|
+
}
|
|
205
247
|
onMenuHidden() {
|
|
206
248
|
const parent = this.elementRef?.nativeElement?.parentElement;
|
|
207
249
|
const className = 'cps-table-col-filter-menu-open';
|
|
@@ -210,9 +252,12 @@ export class TableColumnFilterComponent {
|
|
|
210
252
|
onClick(event) {
|
|
211
253
|
event.stopPropagation();
|
|
212
254
|
}
|
|
255
|
+
ngOnDestroy() {
|
|
256
|
+
this._tableInstance?.onFilter?.unsubscribe();
|
|
257
|
+
}
|
|
213
258
|
}
|
|
214
259
|
TableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableColumnFilterComponent, deps: [{ token: i0.ElementRef }, { token: i1.Table, optional: true }, { token: i2.TreeTable, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
215
|
-
TableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableColumnFilterComponent, isStandalone: true, selector: "table-column-filter", inputs: { field: "field", type: "type", showClearButton: "showClearButton", showApplyButton: "showApplyButton", hideOnClear: "hideOnClear", maxConstraints: "maxConstraints", categoryOptions: "categoryOptions", placeholder: "placeholder" }, host: { listeners: { "click": "onClick($event)" } }, viewQueries: [{ propertyName: "columnFilterMenu", first: true, predicate: ["columnFilterMenu"], descendants: true }], ngImport: i0, template: "<div class=\"cps-table-col-filter\">\n <cps-menu\n #columnFilterMenu\n [withArrow]=\"false\"\n [persistent]=\"
|
|
260
|
+
TableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableColumnFilterComponent, isStandalone: true, selector: "table-column-filter", inputs: { field: "field", type: "type", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showCloseButton: "showCloseButton", persistent: "persistent", matchModes: "matchModes", hideOnClear: "hideOnClear", maxConstraints: "maxConstraints", categoryOptions: "categoryOptions", placeholder: "placeholder" }, host: { listeners: { "click": "onClick($event)" } }, viewQueries: [{ propertyName: "columnFilterMenu", first: true, predicate: ["columnFilterMenu"], descendants: true }], ngImport: i0, template: "<div class=\"cps-table-col-filter\">\n <cps-menu\n #columnFilterMenu\n [withArrow]=\"false\"\n [persistent]=\"persistent\"\n (menuShown)=\"onMenuShown()\"\n (menuHidden)=\"onMenuHidden()\"\n (beforeMenuHidden)=\"onBeforeMenuHidden()\">\n <div class=\"cps-table-col-filter-menu-content\">\n <div\n class=\"cps-table-col-filter-menu-content-header\"\n *ngIf=\"showCloseButton\">\n <cps-icon icon=\"close-x\" (click)=\"onCloseClick()\"></cps-icon>\n </div>\n <div\n class=\"cps-table-col-filter-menu-content-operator\"\n *ngIf=\"isShowOperator\">\n <cps-select\n [hideDetails]=\"true\"\n [disabled]=\"!fieldConstraints || fieldConstraints.length < 2\"\n [returnObject]=\"false\"\n [options]=\"operatorOptions\"\n [ngModel]=\"operator\"\n (valueChanged)=\"onOperatorChange($event)\"></cps-select>\n </div>\n <div class=\"cps-table-col-filter-menu-content-constraints\">\n <div\n *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\"\n class=\"cps-table-col-filter-menu-content-constraint\">\n <cps-select\n *ngIf=\"showMatchModes && currentMatchModes\"\n class=\"cps-table-col-filter-match-mode-select\"\n [hideDetails]=\"true\"\n [returnObject]=\"false\"\n [options]=\"currentMatchModes\"\n [ngModel]=\"fieldConstraint.matchMode\"\n (valueChanged)=\"\n onMenuMatchModeChange($event, fieldConstraint)\n \"></cps-select>\n <table-column-filter-constraint\n [type]=\"type\"\n [field]=\"field\"\n [categoryOptions]=\"categoryOptions\"\n [filterConstraint]=\"fieldConstraint\"\n [hasApplyButton]=\"showApplyButton\"\n [placeholder]=\"placeholder\">\n </table-column-filter-constraint>\n <div\n class=\"cps-table-col-filter-remove-rule-btn\"\n *ngIf=\"showRemoveIcon\">\n <cps-button\n type=\"borderless\"\n width=\"100%\"\n size=\"small\"\n color=\"prepared\"\n icon=\"delete\"\n (clicked)=\"removeConstraint(fieldConstraint)\"\n label=\"Remove condition\">\n </cps-button>\n </div>\n </div>\n </div>\n <div\n class=\"cps-table-col-filter-add-rule-btn\"\n *ngIf=\"isShowAddConstraint\">\n <cps-button\n label=\"Add condition\"\n type=\"borderless\"\n width=\"100%\"\n size=\"small\"\n color=\"surprise\"\n icon=\"add\"\n (clicked)=\"addConstraint()\">\n </cps-button>\n </div>\n <div class=\"cps-table-col-filter-buttonbar\">\n <cps-button\n *ngIf=\"showClearButton\"\n (clicked)=\"clearFilter()\"\n type=\"borderless\"\n color=\"prepared\"\n size=\"small\"\n label=\"Clear\"></cps-button>\n <cps-button\n *ngIf=\"showApplyButton\"\n (clicked)=\"applyFilter()\"\n color=\"prepared\"\n size=\"small\"\n label=\"Apply\"></cps-button>\n </div>\n </div>\n </cps-menu>\n <cps-icon\n icon=\"filter-funnel\"\n size=\"13\"\n (click)=\"columnFilterMenu.toggle($event)\"\n class=\"cps-table-col-filter-menu-button\"\n [ngClass]=\"{\n 'cps-table-col-filter-menu-button-active': hasFilter()\n }\"\n >>\n </cps-icon>\n</div>\n", styles: [":host .cps-table-col-filter{display:inline-flex}:host .cps-table-col-filter .cps-table-col-filter-menu-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative;padding-left:12px;padding-right:4px}:host .cps-table-col-filter .cps-table-col-filter-menu-button:not(.cps-table-col-filter-menu-button-active):hover{color:var(--cps-color-text-dark)}:host .cps-table-col-filter .cps-table-col-filter-menu-button-active{color:var(--cps-color-calm)}.cps-table-col-filter-menu-content{padding-bottom:12px;min-width:200px;max-height:500px;overflow:auto}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-header{height:32px;padding:8px;border-bottom:1px solid var(--cps-color-line-mid);background:var(--cps-color-bg-light)}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-header cps-icon{float:right;cursor:pointer}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-header cps-icon:hover{color:var(--cps-color-calm)}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-operator{padding:12px;border-bottom:1px solid var(--cps-color-line-mid);background:var(--cps-color-bg-light)}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-menu-content-constraint{border-bottom:1px solid var(--cps-color-line-mid);padding:12px}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-menu-content-constraint .cps-table-col-filter-match-mode-select{margin-bottom:8px}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-menu-content-constraint:last-child{border-bottom:none}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-remove-rule-btn{padding-top:8px}.cps-table-col-filter-menu-content .cps-table-col-filter-add-rule-btn{padding:8px 12px}.cps-table-col-filter-menu-content .cps-table-col-filter-buttonbar{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "type", "label", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }, { kind: "component", type: CpsMenuComponent, selector: "cps-menu", inputs: ["header", "items", "withArrow", "compressed", "focusOnShow", "persistent", "containerClass", "showTransitionOptions", "hideTransitionOptions"], outputs: ["menuShown", "menuHidden", "beforeMenuHidden", "contentClicked"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }, { kind: "component", type: CpsSelectComponent, selector: "cps-select", inputs: ["label", "placeholder", "hint", "returnObject", "multiple", "disabled", "width", "selectAll", "chips", "closableChips", "clearable", "openOnClear", "options", "optionLabel", "optionValue", "optionInfo", "hideDetails", "persistentClear", "prefixIcon", "prefixIconSize", "loading", "virtualScroll", "numToleratedItems", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "optionsClass", "appearance", "value"], outputs: ["valueChanged"] }, { kind: "component", type: TableColumnFilterConstraintComponent, selector: "table-column-filter-constraint", inputs: ["type", "field", "filterConstraint", "categoryOptions", "placeholder", "hasApplyButton"] }] });
|
|
216
261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableColumnFilterComponent, decorators: [{
|
|
217
262
|
type: Component,
|
|
218
263
|
args: [{ selector: 'table-column-filter', standalone: true, imports: [
|
|
@@ -223,7 +268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
223
268
|
CpsIconComponent,
|
|
224
269
|
CpsSelectComponent,
|
|
225
270
|
TableColumnFilterConstraintComponent
|
|
226
|
-
], template: "<div class=\"cps-table-col-filter\">\n <cps-menu\n #columnFilterMenu\n [withArrow]=\"false\"\n [persistent]=\"
|
|
271
|
+
], template: "<div class=\"cps-table-col-filter\">\n <cps-menu\n #columnFilterMenu\n [withArrow]=\"false\"\n [persistent]=\"persistent\"\n (menuShown)=\"onMenuShown()\"\n (menuHidden)=\"onMenuHidden()\"\n (beforeMenuHidden)=\"onBeforeMenuHidden()\">\n <div class=\"cps-table-col-filter-menu-content\">\n <div\n class=\"cps-table-col-filter-menu-content-header\"\n *ngIf=\"showCloseButton\">\n <cps-icon icon=\"close-x\" (click)=\"onCloseClick()\"></cps-icon>\n </div>\n <div\n class=\"cps-table-col-filter-menu-content-operator\"\n *ngIf=\"isShowOperator\">\n <cps-select\n [hideDetails]=\"true\"\n [disabled]=\"!fieldConstraints || fieldConstraints.length < 2\"\n [returnObject]=\"false\"\n [options]=\"operatorOptions\"\n [ngModel]=\"operator\"\n (valueChanged)=\"onOperatorChange($event)\"></cps-select>\n </div>\n <div class=\"cps-table-col-filter-menu-content-constraints\">\n <div\n *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\"\n class=\"cps-table-col-filter-menu-content-constraint\">\n <cps-select\n *ngIf=\"showMatchModes && currentMatchModes\"\n class=\"cps-table-col-filter-match-mode-select\"\n [hideDetails]=\"true\"\n [returnObject]=\"false\"\n [options]=\"currentMatchModes\"\n [ngModel]=\"fieldConstraint.matchMode\"\n (valueChanged)=\"\n onMenuMatchModeChange($event, fieldConstraint)\n \"></cps-select>\n <table-column-filter-constraint\n [type]=\"type\"\n [field]=\"field\"\n [categoryOptions]=\"categoryOptions\"\n [filterConstraint]=\"fieldConstraint\"\n [hasApplyButton]=\"showApplyButton\"\n [placeholder]=\"placeholder\">\n </table-column-filter-constraint>\n <div\n class=\"cps-table-col-filter-remove-rule-btn\"\n *ngIf=\"showRemoveIcon\">\n <cps-button\n type=\"borderless\"\n width=\"100%\"\n size=\"small\"\n color=\"prepared\"\n icon=\"delete\"\n (clicked)=\"removeConstraint(fieldConstraint)\"\n label=\"Remove condition\">\n </cps-button>\n </div>\n </div>\n </div>\n <div\n class=\"cps-table-col-filter-add-rule-btn\"\n *ngIf=\"isShowAddConstraint\">\n <cps-button\n label=\"Add condition\"\n type=\"borderless\"\n width=\"100%\"\n size=\"small\"\n color=\"surprise\"\n icon=\"add\"\n (clicked)=\"addConstraint()\">\n </cps-button>\n </div>\n <div class=\"cps-table-col-filter-buttonbar\">\n <cps-button\n *ngIf=\"showClearButton\"\n (clicked)=\"clearFilter()\"\n type=\"borderless\"\n color=\"prepared\"\n size=\"small\"\n label=\"Clear\"></cps-button>\n <cps-button\n *ngIf=\"showApplyButton\"\n (clicked)=\"applyFilter()\"\n color=\"prepared\"\n size=\"small\"\n label=\"Apply\"></cps-button>\n </div>\n </div>\n </cps-menu>\n <cps-icon\n icon=\"filter-funnel\"\n size=\"13\"\n (click)=\"columnFilterMenu.toggle($event)\"\n class=\"cps-table-col-filter-menu-button\"\n [ngClass]=\"{\n 'cps-table-col-filter-menu-button-active': hasFilter()\n }\"\n >>\n </cps-icon>\n</div>\n", styles: [":host .cps-table-col-filter{display:inline-flex}:host .cps-table-col-filter .cps-table-col-filter-menu-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative;padding-left:12px;padding-right:4px}:host .cps-table-col-filter .cps-table-col-filter-menu-button:not(.cps-table-col-filter-menu-button-active):hover{color:var(--cps-color-text-dark)}:host .cps-table-col-filter .cps-table-col-filter-menu-button-active{color:var(--cps-color-calm)}.cps-table-col-filter-menu-content{padding-bottom:12px;min-width:200px;max-height:500px;overflow:auto}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-header{height:32px;padding:8px;border-bottom:1px solid var(--cps-color-line-mid);background:var(--cps-color-bg-light)}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-header cps-icon{float:right;cursor:pointer}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-header cps-icon:hover{color:var(--cps-color-calm)}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-operator{padding:12px;border-bottom:1px solid var(--cps-color-line-mid);background:var(--cps-color-bg-light)}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-menu-content-constraint{border-bottom:1px solid var(--cps-color-line-mid);padding:12px}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-menu-content-constraint .cps-table-col-filter-match-mode-select{margin-bottom:8px}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-menu-content-constraint:last-child{border-bottom:none}.cps-table-col-filter-menu-content .cps-table-col-filter-menu-content-constraints .cps-table-col-filter-remove-rule-btn{padding-top:8px}.cps-table-col-filter-menu-content .cps-table-col-filter-add-rule-btn{padding:8px 12px}.cps-table-col-filter-menu-content .cps-table-col-filter-buttonbar{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 0}\n"] }]
|
|
227
272
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Table, decorators: [{
|
|
228
273
|
type: Optional
|
|
229
274
|
}] }, { type: i2.TreeTable, decorators: [{
|
|
@@ -236,6 +281,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
236
281
|
type: Input
|
|
237
282
|
}], showApplyButton: [{
|
|
238
283
|
type: Input
|
|
284
|
+
}], showCloseButton: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}], persistent: [{
|
|
287
|
+
type: Input
|
|
288
|
+
}], matchModes: [{
|
|
289
|
+
type: Input
|
|
239
290
|
}], hideOnClear: [{
|
|
240
291
|
type: Input
|
|
241
292
|
}], maxConstraints: [{
|
|
@@ -251,4 +302,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
251
302
|
type: HostListener,
|
|
252
303
|
args: ['click', ['$event']]
|
|
253
304
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvdGFibGUtY29sdW1uLWZpbHRlci90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsZUFBZSxFQUVmLGNBQWMsRUFFZixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7QUFrQmpJLE1BQU0sT0FBTywwQkFBMEI7SUFvRXJDLFlBQ1MsVUFBc0IsRUFDVixFQUFTLEVB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ZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGaWx0ZXJNYXRjaE1vZGUsXG4gIEZpbHRlck1ldGFkYXRhLFxuICBGaWx0ZXJPcGVyYXRvcixcbiAgU2VsZWN0SXRlbVxufSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHsgQ3BzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY3BzLWJ1dHRvbi9jcHMtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY3BzLW1lbnUvY3BzLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IENwc0ljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jcHMtaWNvbi9jcHMtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY3BzLXNlbGVjdC9jcHMtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbkZpbHRlckNvbnN0cmFpbnRDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludC90YWJsZS1jb2x1bW4tZmlsdGVyLWNvbnN0cmFpbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVUYWJsZSB9IGZyb20gJ3ByaW1lbmcvdHJlZXRhYmxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGFibGUtY29sdW1uLWZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ3BzQnV0dG9uQ29tcG9uZW50LFxuICAgIENwc01lbnVDb21wb25lbnQsXG4gICAgQ3BzSWNvbkNvbXBvbmVudCxcbiAgICBDcHNTZWxlY3RDb21wb25lbnQsXG4gICAgVGFibGVDb2x1bW5GaWx0ZXJDb25zdHJhaW50Q29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmllbGQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdHlwZSA9ICd0ZXh0JztcbiAgQElucHV0KCkgc2hvd0NsZWFyQnV0dG9uID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0FwcGx5QnV0dG9uID0gdHJ1ZTtcbiAgQElucHV0KCkgaGlkZU9uQ2xlYXIgPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4Q29uc3RyYWludHMgPSAyO1xuICBASW5wdXQoKSBjYXRlZ29yeU9wdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgb3BlcmF0b3I6IHN0cmluZyA9IEZpbHRlck9wZXJhdG9yLkFORDtcbiAgc2hvd01hdGNoTW9kZXMgPSB0cnVlO1xuICBzaG93T3BlcmF0b3IgPSB0cnVlO1xuXG4gIG9wZXJhdG9yT3B0aW9ucyA9IFtcbiAgICB7IGxhYmVsOiAnTWF0Y2ggQWxsJywgdmFsdWU6IEZpbHRlck9wZXJhdG9yLkFORCwgaW5mbzogJ0FORCcgfSxcbiAgICB7IGxhYmVsOiAnTWF0Y2ggQW55JywgdmFsdWU6IEZpbHRlck9wZXJhdG9yLk9SLCBpbmZvOiAnT1InIH1cbiAgXTtcblxuICBwcml2YXRlIG1hdGNoTW9kZUxhYmVscyA9IHtcbiAgICBzdGFydHNXaXRoOiAnU3RhcnRzIHdpdGgnLFxuICAgIGNvbnRhaW5zOiAnQ29udGFpbnMnLFxuICAgIG5vdENvbnRhaW5zOiAnRG9lcyBub3QgY29udGFpbicsXG4gICAgZW5kc1dpdGg6ICdFbmRzIHdpdGgnLFxuICAgIGVxdWFsczogJ0VxdWFscycsXG4gICAgbm90RXF1YWxzOiAnRG9lcyBub3QgZXF1YWwnLFxuICAgIGx0OiAnTGVzcyB0aGFuJyxcbiAgICBsdGU6ICdMZXNzIHRoYW4gb3IgZXF1YWwgdG8nLFxuICAgIGd0OiAnR3JlYXRlciB0aGFuJyxcbiAgICBndGU6ICdHcmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8nLFxuICAgIGRhdGVJczogJ0RhdGUgaXMnLFxuICAgIGRhdGVJc05vdDogJ0RhdGUgaXMgbm90JyxcbiAgICBkYXRlQmVmb3JlOiAnRGF0ZSBpcyBiZWZvcmUnLFxuICAgIGRhdGVBZnRlcjogJ0RhdGUgaXMgYWZ0ZXInXG4gIH0gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICBwcml2YXRlIGZpbHRlck1hdGNoTW9kZU9wdGlvbnMgPSB7XG4gICAgdGV4dDogW1xuICAgICAgRmlsdGVyTWF0Y2hNb2RlLlNUQVJUU19XSVRILFxuICAgICAgRmlsdGVyTWF0Y2hNb2RlLkNPTlRBSU5TLFxuICAgICAgRmlsdGVyTWF0Y2hNb2RlLk5PVF9DT05UQUlOUyxcbiAgICAgIEZpbHRlck1hdGNoTW9kZS5FTkRTX1dJVEgsXG4gICAgICBGaWx0ZXJNYXRjaE1vZGUuRVFVQUxTLFxuICAgICAgRmlsdGVyTWF0Y2hNb2RlLk5PVF9FUVVBTFNcbiAgICBdLFxuICAgIG51bWJlcjogW1xuICAgICAgRmlsdGVyTWF0Y2hNb2RlLkVRVUFMUyxcbiAgICAgIEZpbHRlck1hdGNoTW9kZS5OT1RfRVFVQUxTLFxuICAgICAgRmlsdGVyTWF0Y2hNb2RlLkxFU1NfVEhBTixcbiAgICAgIEZpbHRlck1hdGNoTW9kZS5MRVNTX1RIQU5fT1JfRVFVQUxfVE8sXG4gICAgICBGaWx0ZXJNYXRjaE1vZGUuR1JFQVRFUl9USEFOLFxuICAgICAgRmlsdGVyTWF0Y2hNb2RlLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT1xuICAgIF0sXG4gICAgZGF0ZTogW1xuICAgICAgRmlsdGVyTWF0Y2hNb2RlLkRBVEVfSVMsXG4gICAgICBGaWx0ZXJNYXRjaE1vZGUuREFURV9JU19OT1QsXG4gICAgICBGaWx0ZXJNYXRjaE1vZGUuREFURV9CRUZPUkUsXG4gICAgICBGaWx0ZXJNYXRjaE1vZGUuREFURV9BRlRFUlxuICAgIF1cbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG5cbiAgbWF0Y2hNb2RlczogU2VsZWN0SXRlbVtdIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbHVtbkZpbHRlck1lbnUnKVxuICBjb2x1bW5GaWx0ZXJNZW51ITogQ3BzTWVudUNvbXBvbmVudDtcblxuICBfdGFibGVJbnN0YW5jZTogVGFibGUgfCBUcmVlVGFibGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGR0OiBUYWJsZSxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgdHQ6IFRyZWVUYWJsZVxuICApIHtcbiAgICB0aGlzLl90YWJsZUluc3RhbmNlID0gZHQgfHwgdHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPnRoaXMuZmllbGRdKSB7XG4gICAgICB0aGlzLmluaXRGaWVsZEZpbHRlckNvbnN0cmFpbnQoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXhDb25zdHJhaW50cyA+IDEgJiYgdGhpcy50eXBlICE9PSAnY2F0ZWdvcnknKSB7XG4gICAgICB0aGlzLnNob3dBcHBseUJ1dHRvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLnNob3dBcHBseUJ1dHRvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMubWF0Y2hNb2RlcyA9IHRoaXMuZmlsdGVyTWF0Y2hNb2RlT3B0aW9uc1t0aGlzLnR5cGVdPy5tYXAoXG4gICAgICAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgbGFiZWw6IHRoaXMubWF0Y2hNb2RlTGFiZWxzW2tleV0sIHZhbHVlOiBrZXkgfTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgaW5pdEZpZWxkRmlsdGVyQ29uc3RyYWludCgpIHtcbiAgICBjb25zdCBkZWZhdWx0TWF0Y2hNb2RlID0gdGhpcy5nZXREZWZhdWx0TWF0Y2hNb2RlKCk7XG4gICAgaWYgKHRoaXMuX3RhYmxlSW5zdGFuY2UgaW5zdGFuY2VvZiBUYWJsZSkge1xuICAgICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICBtYXRjaE1vZGU6IGRlZmF1bHRNYXRjaE1vZGUsXG4gICAgICAgICAgb3BlcmF0b3I6IHRoaXMub3BlcmF0b3JcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF0gPSB7XG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICBtYXRjaE1vZGU6IGRlZmF1bHRNYXRjaE1vZGVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgb25NZW51TWF0Y2hNb2RlQ2hhbmdlKHZhbHVlOiBhbnksIGZpbHRlck1ldGE6IEZpbHRlck1ldGFkYXRhKSB7XG4gICAgZmlsdGVyTWV0YS5tYXRjaE1vZGUgPSB2YWx1ZTtcblxuICAgIGlmICghdGhpcy5zaG93QXBwbHlCdXR0b24pIHtcbiAgICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGFkZENvbnN0cmFpbnQoKSB7XG4gICAgKDxGaWx0ZXJNZXRhZGF0YVtdPnRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPnRoaXMuZmllbGRdKS5wdXNoKHtcbiAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgbWF0Y2hNb2RlOiB0aGlzLmdldERlZmF1bHRNYXRjaE1vZGUoKSxcbiAgICAgIG9wZXJhdG9yOiB0aGlzLmdldERlZmF1bHRPcGVyYXRvcigpXG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVDb25zdHJhaW50KGZpbHRlck1ldGE6IEZpbHRlck1ldGFkYXRhKSB7XG4gICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF0gPSAoPEZpbHRlck1ldGFkYXRhW10+KFxuICAgICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF1cbiAgICApKS5maWx0ZXIoKG1ldGEpID0+IG1ldGEgIT09IGZpbHRlck1ldGEpO1xuICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICB9XG5cbiAgb25PcGVyYXRvckNoYW5nZSh2YWx1ZTogYW55KSB7XG4gICAgKDxGaWx0ZXJNZXRhZGF0YVtdPnRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPnRoaXMuZmllbGRdKS5mb3JFYWNoKFxuICAgICAgKGZpbHRlck1ldGEpID0+IHtcbiAgICAgICAgZmlsdGVyTWV0YS5vcGVyYXRvciA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9wZXJhdG9yID0gdmFsdWU7XG4gICAgICB9XG4gICAgKTtcblxuICAgIGlmICghdGhpcy5zaG93QXBwbHlCdXR0b24pIHtcbiAgICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlZmF1bHRNYXRjaE1vZGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAndGV4dCcpIHJldHVybiBGaWx0ZXJNYXRjaE1vZGUuU1RBUlRTX1dJVEg7XG4gICAgZWxzZSBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykgcmV0dXJuIEZpbHRlck1hdGNoTW9kZS5FUVVBTFM7XG4gICAgZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHJldHVybiBGaWx0ZXJNYXRjaE1vZGUuREFURV9JUztcbiAgICBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdjYXRlZ29yeScpIHJldHVybiBGaWx0ZXJNYXRjaE1vZGUuSU47XG4gICAgZWxzZSByZXR1cm4gRmlsdGVyTWF0Y2hNb2RlLkNPTlRBSU5TO1xuICB9XG5cbiAgZ2V0RGVmYXVsdE9wZXJhdG9yKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1xuICAgICAgPyAoPEZpbHRlck1ldGFkYXRhW10+KFxuICAgICAgICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPig8c3RyaW5nPnRoaXMuZmllbGQpXVxuICAgICAgICApKVswXS5vcGVyYXRvclxuICAgICAgOiB0aGlzLm9wZXJhdG9yO1xuICB9XG5cbiAgZ2V0IGZpZWxkQ29uc3RyYWludHMoKTogRmlsdGVyTWV0YWRhdGFbXSB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIGlmICh0aGlzLl90YWJsZUluc3RhbmNlIGluc3RhbmNlb2YgVGFibGUpIHtcbiAgICAgIHJldHVybiB0aGlzLl90YWJsZUluc3RhbmNlLmZpbHRlcnNcbiAgICAgICAgPyA8RmlsdGVyTWV0YWRhdGFbXT50aGlzLl90YWJsZUluc3RhbmNlLmZpbHRlcnNbPHN0cmluZz50aGlzLmZpZWxkXVxuICAgICAgICA6IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl90YWJsZUluc3RhbmNlLmZpbHRlcnNcbiAgICAgICAgPyA8RmlsdGVyTWV0YWRhdGFbXT5bdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF1dXG4gICAgICAgIDogbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd1JlbW92ZUljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRDb25zdHJhaW50cyA/IHRoaXMuZmllbGRDb25zdHJhaW50cy5sZW5ndGggPiAxIDogZmFsc2U7XG4gIH1cblxuICBnZXQgaXNTaG93T3BlcmF0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2hvd09wZXJhdG9yICYmXG4gICAgICB0aGlzLm1heENvbnN0cmFpbnRzID4gMSAmJlxuICAgICAgIVsnYm9vbGVhbicsICdjYXRlZ29yeSddLmluY2x1ZGVzKHRoaXMudHlwZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGlzU2hvd0FkZENvbnN0cmFpbnQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICAhWydib29sZWFuJywgJ2NhdGVnb3J5J10uaW5jbHVkZXModGhpcy50eXBlKSAmJlxuICAgICAgdGhpcy5maWVsZENvbnN0cmFpbnRzICYmXG4gICAgICB0aGlzLmZpZWxkQ29uc3RyYWludHMubGVuZ3RoIDwgdGhpcy5tYXhDb25zdHJhaW50c1xuICAgICk7XG4gIH1cblxuICBoYXNGaWx0ZXIoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmllbGRGaWx0ZXIgPSB0aGlzLl90YWJsZUluc3RhbmNlLmZpbHRlcnNbPHN0cmluZz50aGlzLmZpZWxkXTtcbiAgICBpZiAoZmllbGRGaWx0ZXIpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRmlsdGVyKSlcbiAgICAgICAgcmV0dXJuICF0aGlzLl90YWJsZUluc3RhbmNlLmlzRmlsdGVyQmxhbmsoXG4gICAgICAgICAgKDxGaWx0ZXJNZXRhZGF0YVtdPmZpZWxkRmlsdGVyKVswXS52YWx1ZVxuICAgICAgICApO1xuICAgICAgZWxzZSByZXR1cm4gIXRoaXMuX3RhYmxlSW5zdGFuY2UuaXNGaWx0ZXJCbGFuayhmaWVsZEZpbHRlci52YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmNvbHVtbkZpbHRlck1lbnUuaGlkZSgpO1xuICB9XG5cbiAgY2xlYXJGaWx0ZXIoKSB7XG4gICAgdGhpcy5pbml0RmllbGRGaWx0ZXJDb25zdHJhaW50KCk7XG4gICAgdGhpcy5fdGFibGVJbnN0YW5jZS5fZmlsdGVyKCk7XG4gICAgaWYgKHRoaXMuaGlkZU9uQ2xlYXIpIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgYXBwbHlGaWx0ZXIoKSB7XG4gICAgdGhpcy5fdGFibGVJbnN0YW5jZS5fZmlsdGVyKCk7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBvbk1lbnVTaG93bigpIHtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gJ2Nwcy10YWJsZS1jb2wtZmlsdGVyLW1lbnUtb3Blbic7XG4gICAgcGFyZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgfVxuXG4gIG9uTWVudUhpZGRlbigpIHtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gJ2Nwcy10YWJsZS1jb2wtZmlsdGVyLW1lbnUtb3Blbic7XG4gICAgcGFyZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlclwiPlxuICA8Y3BzLW1lbnVcbiAgICAjY29sdW1uRmlsdGVyTWVudVxuICAgIFt3aXRoQXJyb3ddPVwiZmFsc2VcIlxuICAgIFtwZXJzaXN0ZW50XT1cInRydWVcIlxuICAgIChtZW51U2hvd24pPVwib25NZW51U2hvd24oKVwiXG4gICAgKG1lbnVIaWRkZW4pPVwib25NZW51SGlkZGVuKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXItbWVudS1jb250ZW50XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXItbWVudS1jb250ZW50LW9wZXJhdG9yXCJcbiAgICAgICAgKm5nSWY9XCJpc1Nob3dPcGVyYXRvclwiPlxuICAgICAgICA8Y3BzLXNlbGVjdFxuICAgICAgICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWZpZWxkQ29uc3RyYWludHMgfHwgZmllbGRDb25zdHJhaW50cy5sZW5ndGggPCAyXCJcbiAgICAgICAgICBbcmV0dXJuT2JqZWN0XT1cImZhbHNlXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJvcGVyYXRvck9wdGlvbnNcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIm9wZXJhdG9yXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2VkKT1cIm9uT3BlcmF0b3JDaGFuZ2UoJGV2ZW50KVwiPjwvY3BzLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLW1lbnUtY29udGVudC1jb25zdHJhaW50c1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkQ29uc3RyYWludCBvZiBmaWVsZENvbnN0cmFpbnRzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLW1lbnUtY29udGVudC1jb25zdHJhaW50XCI+XG4gICAgICAgICAgPGNwcy1zZWxlY3RcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd01hdGNoTW9kZXMgJiYgbWF0Y2hNb2Rlc1wiXG4gICAgICAgICAgICBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLW1hdGNoLW1vZGUtc2VsZWN0XCJcbiAgICAgICAgICAgIFtoaWRlRGV0YWlsc109XCJ0cnVlXCJcbiAgICAgICAgICAgIFtyZXR1cm5PYmplY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwibWF0Y2hNb2Rlc1wiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJmaWVsZENvbnN0cmFpbnQubWF0Y2hNb2RlXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZWQpPVwiXG4gICAgICAgICAgICAgIG9uTWVudU1hdGNoTW9kZUNoYW5nZSgkZXZlbnQsIGZpZWxkQ29uc3RyYWludClcbiAgICAgICAgICAgIFwiPjwvY3BzLXNlbGVjdD5cbiAgICAgICAgICA8dGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50XG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgICBbY2F0ZWdvcnlPcHRpb25zXT1cImNhdGVnb3J5T3B0aW9uc1wiXG4gICAgICAgICAgICBbZmlsdGVyQ29uc3RyYWludF09XCJmaWVsZENvbnN0cmFpbnRcIlxuICAgICAgICAgICAgW2hhc0FwcGx5QnV0dG9uXT1cInNob3dBcHBseUJ1dHRvblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIj5cbiAgICAgICAgICA8L3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLXJlbW92ZS1ydWxlLWJ0blwiXG4gICAgICAgICAgICAqbmdJZj1cInNob3dSZW1vdmVJY29uXCI+XG4gICAgICAgICAgICA8Y3BzLWJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYm9yZGVybGVzc1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJlcGFyZWRcIlxuICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwicmVtb3ZlQ29uc3RyYWludChmaWVsZENvbnN0cmFpbnQpXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJSZW1vdmUgY29uZGl0aW9uXCI+XG4gICAgICAgICAgICA8L2Nwcy1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXItYWRkLXJ1bGUtYnRuXCJcbiAgICAgICAgKm5nSWY9XCJpc1Nob3dBZGRDb25zdHJhaW50XCI+XG4gICAgICAgIDxjcHMtYnV0dG9uXG4gICAgICAgICAgbGFiZWw9XCJBZGQgY29uZGl0aW9uXCJcbiAgICAgICAgICB0eXBlPVwiYm9yZGVybGVzc1wiXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPVwic3VycHJpc2VcIlxuICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgIChjbGlja2VkKT1cImFkZENvbnN0cmFpbnQoKVwiPlxuICAgICAgICA8L2Nwcy1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1idXR0b25iYXJcIj5cbiAgICAgICAgPGNwcy1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiY2xlYXJGaWx0ZXIoKVwiXG4gICAgICAgICAgdHlwZT1cImJvcmRlcmxlc3NcIlxuICAgICAgICAgIGNvbG9yPVwicHJlcGFyZWRcIlxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbGFiZWw9XCJDbGVhclwiPjwvY3BzLWJ1dHRvbj5cbiAgICAgICAgPGNwcy1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dBcHBseUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiYXBwbHlGaWx0ZXIoKVwiXG4gICAgICAgICAgY29sb3I9XCJwcmVwYXJlZFwiXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBsYWJlbD1cIkFwcGx5XCI+PC9jcHMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvY3BzLW1lbnU+XG4gIDxjcHMtaWNvblxuICAgIGljb249XCJmaWx0ZXItZnVubmVsXCJcbiAgICBzaXplPVwiMTNcIlxuICAgIChjbGljayk9XCJjb2x1bW5GaWx0ZXJNZW51LnRvZ2dsZSgkZXZlbnQpXCJcbiAgICBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLW1lbnUtYnV0dG9uXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnY3BzLXRhYmxlLWNvbC1maWx0ZXItbWVudS1idXR0b24tYWN0aXZlJzogaGFzRmlsdGVyKClcbiAgICB9XCJcbiAgICA+PlxuICA8L2Nwcy1pY29uPlxuPC9kaXY+XG4iXX0=
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvdGFibGUtY29sdW1uLWZpbHRlci90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQWtCLGNBQWMsRUFBYyxNQUFNLGFBQWEsQ0FBQztBQUN6RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFpQjlELE1BQU0sT0FBTyww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QjtrQkFmdEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLG9DQUFvQztxQkFDckM7OzBCQStFRSxRQUFROzswQkFDUixRQUFROzRDQTNFRixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQXdETixnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBZ083QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbHRlck1ldGFkYXRhLCBGaWx0ZXJPcGVyYXRvciwgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBDcHNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jcHMtYnV0dG9uL2Nwcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENwc01lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jcHMtbWVudS9jcHMtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Nwcy1pY29uL2Nwcy1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jcHMtc2VsZWN0L2Nwcy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQ29sdW1uRmlsdGVyQ29uc3RyYWludENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50L3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVRhYmxlIH0gZnJvbSAncHJpbWVuZy90cmVldGFibGUnO1xuaW1wb3J0IHsgQ3BzRmlsdGVyTWF0Y2hNb2RlIH0gZnJvbSAnLi4vY3BzLWZpbHRlci1tYXRjaC1tb2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGFibGUtY29sdW1uLWZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ3BzQnV0dG9uQ29tcG9uZW50LFxuICAgIENwc01lbnVDb21wb25lbnQsXG4gICAgQ3BzSWNvbkNvbXBvbmVudCxcbiAgICBDcHNTZWxlY3RDb21wb25lbnQsXG4gICAgVGFibGVDb2x1bW5GaWx0ZXJDb25zdHJhaW50Q29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSB0eXBlID0gJ3RleHQnO1xuICBASW5wdXQoKSBzaG93Q2xlYXJCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QXBwbHlCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgcGVyc2lzdGVudCA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXRjaE1vZGVzOiBDcHNGaWx0ZXJNYXRjaE1vZGVbXSA9IFtdO1xuICBASW5wdXQoKSBoaWRlT25DbGVhciA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhDb25zdHJhaW50cyA9IDI7XG4gIEBJbnB1dCgpIGNhdGVnb3J5T3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICBvcGVyYXRvcjogc3RyaW5nID0gRmlsdGVyT3BlcmF0b3IuQU5EO1xuICBzaG93TWF0Y2hNb2RlcyA9IHRydWU7XG4gIHNob3dPcGVyYXRvciA9IHRydWU7XG5cbiAgb3BlcmF0b3JPcHRpb25zID0gW1xuICAgIHsgbGFiZWw6ICdNYXRjaCBBbGwnLCB2YWx1ZTogRmlsdGVyT3BlcmF0b3IuQU5ELCBpbmZvOiAnQU5EJyB9LFxuICAgIHsgbGFiZWw6ICdNYXRjaCBBbnknLCB2YWx1ZTogRmlsdGVyT3BlcmF0b3IuT1IsIGluZm86ICdPUicgfVxuICBdO1xuXG4gIHByaXZhdGUgbWF0Y2hNb2RlTGFiZWxzID0ge1xuICAgIHN0YXJ0c1dpdGg6ICdTdGFydHMgd2l0aCcsXG4gICAgY29udGFpbnM6ICdDb250YWlucycsXG4gICAgbm90Q29udGFpbnM6ICdEb2VzIG5vdCBjb250YWluJyxcbiAgICBlbmRzV2l0aDogJ0VuZHMgd2l0aCcsXG4gICAgZXF1YWxzOiAnRXF1YWxzJyxcbiAgICBub3RFcXVhbHM6ICdEb2VzIG5vdCBlcXVhbCcsXG4gICAgbHQ6ICdMZXNzIHRoYW4nLFxuICAgIGx0ZTogJ0xlc3MgdGhhbiBvciBlcXVhbCB0bycsXG4gICAgZ3Q6ICdHcmVhdGVyIHRoYW4nLFxuICAgIGd0ZTogJ0dyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bycsXG4gICAgZGF0ZUlzOiAnRGF0ZSBpcycsXG4gICAgZGF0ZUlzTm90OiAnRGF0ZSBpcyBub3QnLFxuICAgIGRhdGVCZWZvcmU6ICdEYXRlIGlzIGJlZm9yZScsXG4gICAgZGF0ZUFmdGVyOiAnRGF0ZSBpcyBhZnRlcidcbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIHByaXZhdGUgZmlsdGVyTWF0Y2hNb2RlT3B0aW9ucyA9IHtcbiAgICB0ZXh0OiBbXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuU1RBUlRTX1dJVEgsXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuQ09OVEFJTlMsXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuTk9UX0NPTlRBSU5TLFxuICAgICAgQ3BzRmlsdGVyTWF0Y2hNb2RlLkVORFNfV0lUSCxcbiAgICAgIENwc0ZpbHRlck1hdGNoTW9kZS5FUVVBTFMsXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuTk9UX0VRVUFMU1xuICAgIF0sXG4gICAgbnVtYmVyOiBbXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuRVFVQUxTLFxuICAgICAgQ3BzRmlsdGVyTWF0Y2hNb2RlLk5PVF9FUVVBTFMsXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuTEVTU19USEFOLFxuICAgICAgQ3BzRmlsdGVyTWF0Y2hNb2RlLkxFU1NfVEhBTl9PUl9FUVVBTF9UTyxcbiAgICAgIENwc0ZpbHRlck1hdGNoTW9kZS5HUkVBVEVSX1RIQU4sXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPXG4gICAgXSxcbiAgICBkYXRlOiBbXG4gICAgICBDcHNGaWx0ZXJNYXRjaE1vZGUuREFURV9JUyxcbiAgICAgIENwc0ZpbHRlck1hdGNoTW9kZS5EQVRFX0lTX05PVCxcbiAgICAgIENwc0ZpbHRlck1hdGNoTW9kZS5EQVRFX0JFRk9SRSxcbiAgICAgIENwc0ZpbHRlck1hdGNoTW9kZS5EQVRFX0FGVEVSXG4gICAgXVxuICB9IGFzIHsgW2tleTogc3RyaW5nXTogQ3BzRmlsdGVyTWF0Y2hNb2RlW10gfTtcblxuICBjdXJyZW50TWF0Y2hNb2RlczogU2VsZWN0SXRlbVtdIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbHVtbkZpbHRlck1lbnUnKVxuICBjb2x1bW5GaWx0ZXJNZW51ITogQ3BzTWVudUNvbXBvbmVudDtcblxuICBfdGFibGVJbnN0YW5jZTogVGFibGUgfCBUcmVlVGFibGU7XG5cbiAgcHJpdmF0ZSBfaXNGaWx0ZXJBcHBsaWVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGR0OiBUYWJsZSxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgdHQ6IFRyZWVUYWJsZVxuICApIHtcbiAgICB0aGlzLl90YWJsZUluc3RhbmNlID0gZHQgfHwgdHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5tYXRjaE1vZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZmlsdGVyTWF0Y2hNb2RlT3B0aW9uc1t0aGlzLnR5cGVdID0gdGhpcy5tYXRjaE1vZGVzO1xuICAgIH1cbiAgICB0aGlzLl90YWJsZUluc3RhbmNlPy5vbkZpbHRlcj8uc3Vic2NyaWJlKCh2YWx1ZSkgPT5cbiAgICAgIHRoaXMuX3VwZGF0ZUZpbHRlckFwcGxpZWQodmFsdWUpXG4gICAgKTtcbiAgICBpZiAoIXRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPnRoaXMuZmllbGRdKSB7XG4gICAgICB0aGlzLmluaXRGaWVsZEZpbHRlckNvbnN0cmFpbnQoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXhDb25zdHJhaW50cyA+IDEgJiYgdGhpcy50eXBlICE9PSAnY2F0ZWdvcnknKSB7XG4gICAgICB0aGlzLnNob3dBcHBseUJ1dHRvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLnNob3dBcHBseUJ1dHRvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuY3VycmVudE1hdGNoTW9kZXMgPSB0aGlzLmZpbHRlck1hdGNoTW9kZU9wdGlvbnNbdGhpcy50eXBlXT8ubWFwKFxuICAgICAgKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiB7IGxhYmVsOiB0aGlzLm1hdGNoTW9kZUxhYmVsc1trZXldLCB2YWx1ZToga2V5IH07XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUZpbHRlckFwcGxpZWQodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGN1ckZpbHRlciA9IHZhbHVlLmZpbHRlcnNbPHN0cmluZz50aGlzLmZpZWxkXTtcbiAgICBpZiAoY3VyRmlsdGVyKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXJGaWx0ZXIpKSB7XG4gICAgICAgIHRoaXMuX2lzRmlsdGVyQXBwbGllZCA9ICg8RmlsdGVyTWV0YWRhdGFbXT5jdXJGaWx0ZXIpLnNvbWUoXG4gICAgICAgICAgKG1ldGEpID0+IG1ldGEudmFsdWUgIT09IG51bGxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2lzRmlsdGVyQXBwbGllZCA9IGN1ckZpbHRlci52YWx1ZSAhPT0gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faXNGaWx0ZXJBcHBsaWVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaW5pdEZpZWxkRmlsdGVyQ29uc3RyYWludCgpIHtcbiAgICBjb25zdCBkZWZhdWx0TWF0Y2hNb2RlID0gdGhpcy5nZXREZWZhdWx0TWF0Y2hNb2RlKCk7XG4gICAgaWYgKHRoaXMuX3RhYmxlSW5zdGFuY2UgaW5zdGFuY2VvZiBUYWJsZSkge1xuICAgICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICBtYXRjaE1vZGU6IGRlZmF1bHRNYXRjaE1vZGUsXG4gICAgICAgICAgb3BlcmF0b3I6IHRoaXMub3BlcmF0b3JcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF0gPSB7XG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICBtYXRjaE1vZGU6IGRlZmF1bHRNYXRjaE1vZGVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZUNsaWNrKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgb25NZW51TWF0Y2hNb2RlQ2hhbmdlKHZhbHVlOiBhbnksIGZpbHRlck1ldGE6IEZpbHRlck1ldGFkYXRhKSB7XG4gICAgZmlsdGVyTWV0YS5tYXRjaE1vZGUgPSB2YWx1ZTtcblxuICAgIGlmICghdGhpcy5zaG93QXBwbHlCdXR0b24pIHtcbiAgICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGFkZENvbnN0cmFpbnQoKSB7XG4gICAgKDxGaWx0ZXJNZXRhZGF0YVtdPnRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPnRoaXMuZmllbGRdKS5wdXNoKHtcbiAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgbWF0Y2hNb2RlOiB0aGlzLmdldERlZmF1bHRNYXRjaE1vZGUoKSxcbiAgICAgIG9wZXJhdG9yOiB0aGlzLmdldERlZmF1bHRPcGVyYXRvcigpXG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVDb25zdHJhaW50KGZpbHRlck1ldGE6IEZpbHRlck1ldGFkYXRhKSB7XG4gICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF0gPSAoPEZpbHRlck1ldGFkYXRhW10+KFxuICAgICAgdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF1cbiAgICApKS5maWx0ZXIoKG1ldGEpID0+IG1ldGEgIT09IGZpbHRlck1ldGEpO1xuICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICB9XG5cbiAgb25PcGVyYXRvckNoYW5nZSh2YWx1ZTogYW55KSB7XG4gICAgKDxGaWx0ZXJNZXRhZGF0YVtdPnRoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPnRoaXMuZmllbGRdKS5mb3JFYWNoKFxuICAgICAgKGZpbHRlck1ldGEpID0+IHtcbiAgICAgICAgZmlsdGVyTWV0YS5vcGVyYXRvciA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9wZXJhdG9yID0gdmFsdWU7XG4gICAgICB9XG4gICAgKTtcblxuICAgIGlmICghdGhpcy5zaG93QXBwbHlCdXR0b24pIHtcbiAgICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlZmF1bHRNYXRjaE1vZGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBnZXRNYXRjaE1vZGUgPSAodmFsOiBDcHNGaWx0ZXJNYXRjaE1vZGUpID0+IHtcbiAgICAgIGlmICh0aGlzLnR5cGUgaW4gdGhpcy5maWx0ZXJNYXRjaE1vZGVPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlck1hdGNoTW9kZU9wdGlvbnNbdGhpcy50eXBlXS5pbmNsdWRlcyh2YWwpXG4gICAgICAgICAgPyB2YWxcbiAgICAgICAgICA6IHRoaXMuZmlsdGVyTWF0Y2hNb2RlT3B0aW9uc1t0aGlzLnR5cGVdWzBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICByZXR1cm4gZ2V0TWF0Y2hNb2RlKENwc0ZpbHRlck1hdGNoTW9kZS5TVEFSVFNfV0lUSCk7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICByZXR1cm4gZ2V0TWF0Y2hNb2RlKENwc0ZpbHRlck1hdGNoTW9kZS5FUVVBTFMpO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiBnZXRNYXRjaE1vZGUoQ3BzRmlsdGVyTWF0Y2hNb2RlLkRBVEVfSVMpO1xuICAgICAgY2FzZSAnY2F0ZWdvcnknOlxuICAgICAgICByZXR1cm4gQ3BzRmlsdGVyTWF0Y2hNb2RlLklOO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGdldE1hdGNoTW9kZShDcHNGaWx0ZXJNYXRjaE1vZGUuQ09OVEFJTlMpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlZmF1bHRPcGVyYXRvcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90YWJsZUluc3RhbmNlLmZpbHRlcnNcbiAgICAgID8gKDxGaWx0ZXJNZXRhZGF0YVtdPihcbiAgICAgICAgICB0aGlzLl90YWJsZUluc3RhbmNlLmZpbHRlcnNbPHN0cmluZz4oPHN0cmluZz50aGlzLmZpZWxkKV1cbiAgICAgICAgKSlbMF0ub3BlcmF0b3JcbiAgICAgIDogdGhpcy5vcGVyYXRvcjtcbiAgfVxuXG4gIGdldCBmaWVsZENvbnN0cmFpbnRzKCk6IEZpbHRlck1ldGFkYXRhW10gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICBpZiAodGhpcy5fdGFibGVJbnN0YW5jZSBpbnN0YW5jZW9mIFRhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzXG4gICAgICAgID8gPEZpbHRlck1ldGFkYXRhW10+dGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF1cbiAgICAgICAgOiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzXG4gICAgICAgID8gPEZpbHRlck1ldGFkYXRhW10+W3RoaXMuX3RhYmxlSW5zdGFuY2UuZmlsdGVyc1s8c3RyaW5nPnRoaXMuZmllbGRdXVxuICAgICAgICA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dSZW1vdmVJY29uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkQ29uc3RyYWludHMgPyB0aGlzLmZpZWxkQ29uc3RyYWludHMubGVuZ3RoID4gMSA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlzU2hvd09wZXJhdG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNob3dPcGVyYXRvciAmJlxuICAgICAgdGhpcy5tYXhDb25zdHJhaW50cyA+IDEgJiZcbiAgICAgICFbJ2Jvb2xlYW4nLCAnY2F0ZWdvcnknXS5pbmNsdWRlcyh0aGlzLnR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBpc1Nob3dBZGRDb25zdHJhaW50KCk6IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICByZXR1cm4gKFxuICAgICAgIVsnYm9vbGVhbicsICdjYXRlZ29yeSddLmluY2x1ZGVzKHRoaXMudHlwZSkgJiZcbiAgICAgIHRoaXMuZmllbGRDb25zdHJhaW50cyAmJlxuICAgICAgdGhpcy5maWVsZENvbnN0cmFpbnRzLmxlbmd0aCA8IHRoaXMubWF4Q29uc3RyYWludHNcbiAgICApO1xuICB9XG5cbiAgaGFzRmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZpZWxkRmlsdGVyID0gdGhpcy5fdGFibGVJbnN0YW5jZS5maWx0ZXJzWzxzdHJpbmc+dGhpcy5maWVsZF07XG4gICAgaWYgKGZpZWxkRmlsdGVyKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZEZpbHRlcikpXG4gICAgICAgIHJldHVybiAhdGhpcy5fdGFibGVJbnN0YW5jZS5pc0ZpbHRlckJsYW5rKFxuICAgICAgICAgICg8RmlsdGVyTWV0YWRhdGFbXT5maWVsZEZpbHRlcilbMF0udmFsdWVcbiAgICAgICAgKTtcbiAgICAgIGVsc2UgcmV0dXJuICF0aGlzLl90YWJsZUluc3RhbmNlLmlzRmlsdGVyQmxhbmsoZmllbGRGaWx0ZXIudmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5jb2x1bW5GaWx0ZXJNZW51LmhpZGUoKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVyKCkge1xuICAgIHRoaXMuaW5pdEZpZWxkRmlsdGVyQ29uc3RyYWludCgpO1xuICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIGlmICh0aGlzLmhpZGVPbkNsZWFyKSB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVyKCkge1xuICAgIHRoaXMuX3RhYmxlSW5zdGFuY2UuX2ZpbHRlcigpO1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgb25NZW51U2hvd24oKSB7XG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9ICdjcHMtdGFibGUtY29sLWZpbHRlci1tZW51LW9wZW4nO1xuICAgIHBhcmVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gIH1cblxuICBvbkJlZm9yZU1lbnVIaWRkZW4oKSB7XG4gICAgaWYgKCF0aGlzLl9pc0ZpbHRlckFwcGxpZWQpIHRoaXMuaW5pdEZpZWxkRmlsdGVyQ29uc3RyYWludCgpO1xuICB9XG5cbiAgb25NZW51SGlkZGVuKCkge1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucGFyZW50RWxlbWVudDtcbiAgICBjb25zdCBjbGFzc05hbWUgPSAnY3BzLXRhYmxlLWNvbC1maWx0ZXItbWVudS1vcGVuJztcbiAgICBwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3RhYmxlSW5zdGFuY2U/Lm9uRmlsdGVyPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXJcIj5cbiAgPGNwcy1tZW51XG4gICAgI2NvbHVtbkZpbHRlck1lbnVcbiAgICBbd2l0aEFycm93XT1cImZhbHNlXCJcbiAgICBbcGVyc2lzdGVudF09XCJwZXJzaXN0ZW50XCJcbiAgICAobWVudVNob3duKT1cIm9uTWVudVNob3duKClcIlxuICAgIChtZW51SGlkZGVuKT1cIm9uTWVudUhpZGRlbigpXCJcbiAgICAoYmVmb3JlTWVudUhpZGRlbik9XCJvbkJlZm9yZU1lbnVIaWRkZW4oKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1tZW51LWNvbnRlbnRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1tZW51LWNvbnRlbnQtaGVhZGVyXCJcbiAgICAgICAgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIj5cbiAgICAgICAgPGNwcy1pY29uIGljb249XCJjbG9zZS14XCIgKGNsaWNrKT1cIm9uQ2xvc2VDbGljaygpXCI+PC9jcHMtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLW1lbnUtY29udGVudC1vcGVyYXRvclwiXG4gICAgICAgICpuZ0lmPVwiaXNTaG93T3BlcmF0b3JcIj5cbiAgICAgICAgPGNwcy1zZWxlY3RcbiAgICAgICAgICBbaGlkZURldGFpbHNdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFmaWVsZENvbnN0cmFpbnRzIHx8IGZpZWxkQ29uc3RyYWludHMubGVuZ3RoIDwgMlwiXG4gICAgICAgICAgW3JldHVybk9iamVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgW29wdGlvbnNdPVwib3BlcmF0b3JPcHRpb25zXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJvcGVyYXRvclwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlZCk9XCJvbk9wZXJhdG9yQ2hhbmdlKCRldmVudClcIj48L2Nwcy1zZWxlY3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1tZW51LWNvbnRlbnQtY29uc3RyYWludHNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZENvbnN0cmFpbnQgb2YgZmllbGRDb25zdHJhaW50czsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1tZW51LWNvbnRlbnQtY29uc3RyYWludFwiPlxuICAgICAgICAgIDxjcHMtc2VsZWN0XG4gICAgICAgICAgICAqbmdJZj1cInNob3dNYXRjaE1vZGVzICYmIGN1cnJlbnRNYXRjaE1vZGVzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXItbWF0Y2gtbW9kZS1zZWxlY3RcIlxuICAgICAgICAgICAgW2hpZGVEZXRhaWxzXT1cInRydWVcIlxuICAgICAgICAgICAgW3JldHVybk9iamVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJjdXJyZW50TWF0Y2hNb2Rlc1wiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJmaWVsZENvbnN0cmFpbnQubWF0Y2hNb2RlXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZWQpPVwiXG4gICAgICAgICAgICAgIG9uTWVudU1hdGNoTW9kZUNoYW5nZSgkZXZlbnQsIGZpZWxkQ29uc3RyYWludClcbiAgICAgICAgICAgIFwiPjwvY3BzLXNlbGVjdD5cbiAgICAgICAgICA8dGFibGUtY29sdW1uLWZpbHRlci1jb25zdHJhaW50XG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgICBbY2F0ZWdvcnlPcHRpb25zXT1cImNhdGVnb3J5T3B0aW9uc1wiXG4gICAgICAgICAgICBbZmlsdGVyQ29uc3RyYWludF09XCJmaWVsZENvbnN0cmFpbnRcIlxuICAgICAgICAgICAgW2hhc0FwcGx5QnV0dG9uXT1cInNob3dBcHBseUJ1dHRvblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIj5cbiAgICAgICAgICA8L3RhYmxlLWNvbHVtbi1maWx0ZXItY29uc3RyYWludD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLXJlbW92ZS1ydWxlLWJ0blwiXG4gICAgICAgICAgICAqbmdJZj1cInNob3dSZW1vdmVJY29uXCI+XG4gICAgICAgICAgICA8Y3BzLWJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYm9yZGVybGVzc1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJlcGFyZWRcIlxuICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwicmVtb3ZlQ29uc3RyYWludChmaWVsZENvbnN0cmFpbnQpXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJSZW1vdmUgY29uZGl0aW9uXCI+XG4gICAgICAgICAgICA8L2Nwcy1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3BzLXRhYmxlLWNvbC1maWx0ZXItYWRkLXJ1bGUtYnRuXCJcbiAgICAgICAgKm5nSWY9XCJpc1Nob3dBZGRDb25zdHJhaW50XCI+XG4gICAgICAgIDxjcHMtYnV0dG9uXG4gICAgICAgICAgbGFiZWw9XCJBZGQgY29uZGl0aW9uXCJcbiAgICAgICAgICB0eXBlPVwiYm9yZGVybGVzc1wiXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPVwic3VycHJpc2VcIlxuICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgIChjbGlja2VkKT1cImFkZENvbnN0cmFpbnQoKVwiPlxuICAgICAgICA8L2Nwcy1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcHMtdGFibGUtY29sLWZpbHRlci1idXR0b25iYXJcIj5cbiAgICAgICAgPGNwcy1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiY2xlYXJGaWx0ZXIoKVwiXG4gICAgICAgICAgdHlwZT1cImJvcmRlcmxlc3NcIlxuICAgICAgICAgIGNvbG9yPVwicHJlcGFyZWRcIlxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbGFiZWw9XCJDbGVhclwiPjwvY3BzLWJ1dHRvbj5cbiAgICAgICAgPGNwcy1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dBcHBseUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiYXBwbHlGaWx0ZXIoKVwiXG4gICAgICAgICAgY29sb3I9XCJwcmVwYXJlZFwiXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBsYWJlbD1cIkFwcGx5XCI+PC9jcHMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvY3BzLW1lbnU+XG4gIDxjcHMtaWNvblxuICAgIGljb249XCJmaWx0ZXItZnVubmVsXCJcbiAgICBzaXplPVwiMTNcIlxuICAgIChjbGljayk9XCJjb2x1bW5GaWx0ZXJNZW51LnRvZ2dsZSgkZXZlbnQpXCJcbiAgICBjbGFzcz1cImNwcy10YWJsZS1jb2wtZmlsdGVyLW1lbnUtYnV0dG9uXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnY3BzLXRhYmxlLWNvbC1maWx0ZXItbWVudS1idXR0b24tYWN0aXZlJzogaGFzRmlsdGVyKClcbiAgICB9XCJcbiAgICA+PlxuICA8L2Nwcy1pY29uPlxuPC9kaXY+XG4iXX0=
|