@eo-sdk/client 10.7.0-rc.3 → 10.7.0-rc.5
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/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +3 -2
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +59 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +1 -0
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts +6 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts +4 -0
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
- package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +2 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/quick-search/quick-search/quick-search.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/upload-overlay/upload-overlay.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +10 -3
- package/assets/_default/i18n/en.json +11 -4
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +2 -2
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +65 -48
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +44 -11
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +17 -4
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +38 -6
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +1 -1
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +17 -21
- package/esm2020/app/eo-client/process-state/process-state.component.mjs +1 -2
- package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +3 -3
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +4 -4
- package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +23 -8
- package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +7 -3
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +9 -3
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +2 -2
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +2 -2
- package/esm2020/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -1
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +16 -3
- package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -3
- package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +4 -2
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +3 -4
- package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +1 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +1 -3
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +240 -113
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +1 -3
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +241 -111
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -4
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +1 -1
|
@@ -41,13 +41,13 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
41
41
|
this.storedQueriesService = storedQueriesService;
|
|
42
42
|
this.translate = translate;
|
|
43
43
|
this.systemService = systemService;
|
|
44
|
-
this.
|
|
44
|
+
this.sharedOptions = {
|
|
45
45
|
color: {
|
|
46
46
|
text: '#925699',
|
|
47
47
|
label: '#925699'
|
|
48
48
|
},
|
|
49
49
|
legend: {
|
|
50
|
-
|
|
50
|
+
enabled: false,
|
|
51
51
|
},
|
|
52
52
|
resizable: true,
|
|
53
53
|
donut: {
|
|
@@ -56,6 +56,28 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
56
56
|
toolbar: {
|
|
57
57
|
enabled: false,
|
|
58
58
|
},
|
|
59
|
+
height: '400px',
|
|
60
|
+
curve: 'curveMonotoneX',
|
|
61
|
+
axes: {
|
|
62
|
+
bottom: {
|
|
63
|
+
mapsTo: 'date',
|
|
64
|
+
scaleType: 'time',
|
|
65
|
+
},
|
|
66
|
+
left: {
|
|
67
|
+
mapsTo: 'value',
|
|
68
|
+
scaleType: 'linear',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
this.chartOptions2 = {
|
|
73
|
+
...this.sharedOptions,
|
|
74
|
+
curve: undefined,
|
|
75
|
+
legend: {
|
|
76
|
+
enabled: false,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
this.chartOptions = {
|
|
80
|
+
...this.sharedOptions,
|
|
59
81
|
axes: {
|
|
60
82
|
left: {
|
|
61
83
|
mapsTo: 'value',
|
|
@@ -65,7 +87,9 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
65
87
|
scaleType: 'labels',
|
|
66
88
|
},
|
|
67
89
|
},
|
|
68
|
-
|
|
90
|
+
legend: {
|
|
91
|
+
'alignment': 'center'
|
|
92
|
+
},
|
|
69
93
|
};
|
|
70
94
|
this.chartData = [];
|
|
71
95
|
this.editMode = false;
|
|
@@ -80,7 +104,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
80
104
|
const queryName = this._query.name;
|
|
81
105
|
delete this._query.name;
|
|
82
106
|
this._query = this.searchService.buildQuery(this._query);
|
|
83
|
-
if (type === 'DATETIME' && histogramType
|
|
107
|
+
if (type === 'DATETIME' && histogramType) {
|
|
84
108
|
const histogramConfig = {
|
|
85
109
|
'yearly': { calendar_interval: 'year', format: 'yyyy' },
|
|
86
110
|
'weekly': { calendar_interval: 'week', format: 'yyyy-ww' },
|
|
@@ -102,10 +126,19 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
102
126
|
this.refreshingRequest = false;
|
|
103
127
|
const aggregationKey = Object.keys(res.aggregations)[0];
|
|
104
128
|
this._query.name = queryName;
|
|
105
|
-
this.
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
129
|
+
if (this.widgetConfig?.formValue?.chartType === 'lineCurve' || this.widgetConfig?.formValue?.chartType === 'lineStraight') {
|
|
130
|
+
this.chartData = res.aggregations[aggregationKey].buckets.map((e) => ({
|
|
131
|
+
group: 'dataset1',
|
|
132
|
+
value: e.doc_count,
|
|
133
|
+
date: new Date(e.key).toISOString(),
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.chartData = res.aggregations[aggregationKey].buckets.map((e) => ({
|
|
138
|
+
group: e.key_as_string,
|
|
139
|
+
value: e.doc_count,
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
109
142
|
}, (error) => {
|
|
110
143
|
this.chartData = [];
|
|
111
144
|
this.refreshingRequest = false;
|
|
@@ -216,17 +249,17 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
216
249
|
}
|
|
217
250
|
};
|
|
218
251
|
ChartsWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ChartsWidgetComponent, deps: [{ token: i1.Router }, { token: i2.SearchService }, { token: i3.AppSearchService }, { token: i2.StoredQueriesService }, { token: i2.TranslateService }, { token: i2.SystemService }], target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
-
ChartsWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ChartsWidgetComponent, selector: "eo-charts-widget", inputs: { editMode: "editMode", widgetConfig: "widgetConfig" }, ngImport: i0, template: "<header>\n <div class=\"header-title\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue?.storedQuery\">\n {{widgetConfig?.formValue?.storedQuery}}</div>\n <div class=\"icons-title\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\" (click)=\"setQueryToAppSearch()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.savedSearchIcon'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick($event)\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<main class=\"chart\" *ngIf=\"chartData.length > 0 && !refreshingRequest; else tplEmpty\">\n <div class=\"item\" [ngSwitch]=\"widgetConfig!.formValue.chartType\">\n <ibm-simple-bar-chart *ngSwitchCase=\"'bar'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-simple-bar-chart>\n <ibm-pie-chart *ngSwitchCase=\"'pie'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-pie-chart>\n <ibm-donut-chart *ngSwitchCase=\"'donut'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-donut-chart>\n </div>\n</main>\n<ng-template #tplEmpty>\n <div class=\"empty\" *ngIf=\"!refreshingRequest\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.chart{overflow-y:auto}:host main.chart .item{padding:calc(var(--app-pane-padding) / 2)}:host .empty{display:contents}::ng-deep .cds--cc--chart-wrapper text{fill:#000}::ng-deep .cds--cc--chart-wrapper p{color:#000}::ng-deep .cds--cc--axes g.axis g.tick text{fill:#000}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i8.SimpleBarChartComponent, selector: "ibm-simple-bar-chart" }, { kind: "component", type: i8.DonutChartComponent, selector: "ibm-donut-chart" }, { kind: "component", type: i8.PieChartComponent, selector: "ibm-pie-chart" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
252
|
+
ChartsWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ChartsWidgetComponent, selector: "eo-charts-widget", inputs: { editMode: "editMode", widgetConfig: "widgetConfig" }, ngImport: i0, template: "<header>\n <div class=\"header-title\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue?.storedQuery\">\n {{widgetConfig?.formValue?.storedQuery}}</div>\n <div class=\"icons-title\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\" (click)=\"setQueryToAppSearch()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.savedSearchIcon'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick($event)\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<main class=\"chart\" *ngIf=\"chartData.length > 0 && !refreshingRequest; else tplEmpty\">\n <div class=\"item\" [ngSwitch]=\"widgetConfig!.formValue.chartType\">\n <ibm-simple-bar-chart *ngSwitchCase=\"'bar'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-simple-bar-chart>\n <ibm-pie-chart *ngSwitchCase=\"'pie'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-pie-chart>\n <ibm-donut-chart *ngSwitchCase=\"'donut'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-donut-chart>\n <ibm-line-chart *ngSwitchCase=\"'lineStraight'\" [data]=\"chartData\" [options]=\"chartOptions2\"></ibm-line-chart>\n <ibm-line-chart *ngSwitchCase=\"'lineCurve'\" [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-line-chart>\n </div>\n</main>\n<ng-template #tplEmpty>\n <div class=\"empty\" *ngIf=\"!refreshingRequest\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.chart{overflow-y:auto}:host main.chart .item{padding:calc(var(--app-pane-padding) / 2)}:host .empty{display:contents}::ng-deep .cds--cc--chart-wrapper text{fill:#000}::ng-deep .cds--cc--chart-wrapper p{color:#000}::ng-deep .cds--cc--axes g.axis g.tick text{fill:#000}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i8.SimpleBarChartComponent, selector: "ibm-simple-bar-chart" }, { kind: "component", type: i8.DonutChartComponent, selector: "ibm-donut-chart" }, { kind: "component", type: i8.LineChartComponent, selector: "ibm-line-chart" }, { kind: "component", type: i8.PieChartComponent, selector: "ibm-pie-chart" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
220
253
|
ChartsWidgetComponent = __decorate([
|
|
221
254
|
UntilDestroy()
|
|
222
255
|
], ChartsWidgetComponent);
|
|
223
256
|
export { ChartsWidgetComponent };
|
|
224
257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ChartsWidgetComponent, decorators: [{
|
|
225
258
|
type: Component,
|
|
226
|
-
args: [{ selector: 'eo-charts-widget', template: "<header>\n <div class=\"header-title\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue?.storedQuery\">\n {{widgetConfig?.formValue?.storedQuery}}</div>\n <div class=\"icons-title\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\" (click)=\"setQueryToAppSearch()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.savedSearchIcon'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick($event)\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<main class=\"chart\" *ngIf=\"chartData.length > 0 && !refreshingRequest; else tplEmpty\">\n <div class=\"item\" [ngSwitch]=\"widgetConfig!.formValue.chartType\">\n <ibm-simple-bar-chart *ngSwitchCase=\"'bar'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-simple-bar-chart>\n <ibm-pie-chart *ngSwitchCase=\"'pie'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-pie-chart>\n <ibm-donut-chart *ngSwitchCase=\"'donut'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-donut-chart>\n </div>\n</main>\n<ng-template #tplEmpty>\n <div class=\"empty\" *ngIf=\"!refreshingRequest\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.chart{overflow-y:auto}:host main.chart .item{padding:calc(var(--app-pane-padding) / 2)}:host .empty{display:contents}::ng-deep .cds--cc--chart-wrapper text{fill:#000}::ng-deep .cds--cc--chart-wrapper p{color:#000}::ng-deep .cds--cc--axes g.axis g.tick text{fill:#000}\n"] }]
|
|
259
|
+
args: [{ selector: 'eo-charts-widget', template: "<header>\n <div class=\"header-title\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue?.storedQuery\">\n {{widgetConfig?.formValue?.storedQuery}}</div>\n <div class=\"icons-title\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\" (click)=\"setQueryToAppSearch()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.savedSearchIcon'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick($event)\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<main class=\"chart\" *ngIf=\"chartData.length > 0 && !refreshingRequest; else tplEmpty\">\n <div class=\"item\" [ngSwitch]=\"widgetConfig!.formValue.chartType\">\n <ibm-simple-bar-chart *ngSwitchCase=\"'bar'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-simple-bar-chart>\n <ibm-pie-chart *ngSwitchCase=\"'pie'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-pie-chart>\n <ibm-donut-chart *ngSwitchCase=\"'donut'\" [data]=\"chartData\" [options]=\"chartOptions\"></ibm-donut-chart>\n <ibm-line-chart *ngSwitchCase=\"'lineStraight'\" [data]=\"chartData\" [options]=\"chartOptions2\"></ibm-line-chart>\n <ibm-line-chart *ngSwitchCase=\"'lineCurve'\" [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-line-chart>\n </div>\n</main>\n<ng-template #tplEmpty>\n <div class=\"empty\" *ngIf=\"!refreshingRequest\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.chart{overflow-y:auto}:host main.chart .item{padding:calc(var(--app-pane-padding) / 2)}:host .empty{display:contents}::ng-deep .cds--cc--chart-wrapper text{fill:#000}::ng-deep .cds--cc--chart-wrapper p{color:#000}::ng-deep .cds--cc--axes g.axis g.tick text{fill:#000}\n"] }]
|
|
227
260
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.SearchService }, { type: i3.AppSearchService }, { type: i2.StoredQueriesService }, { type: i2.TranslateService }, { type: i2.SystemService }]; }, propDecorators: { editMode: [{
|
|
228
261
|
type: Input
|
|
229
262
|
}], widgetConfig: [{
|
|
230
263
|
type: Input
|
|
231
264
|
}] } });
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY2hhcnRzLXdpZGdldC9jaGFydHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWlHLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUluSSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRW5FLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQVF6QixJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQXVDaEMsSUFBYSxZQUFZLENBQUMsQ0FBc0I7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUU7WUFDakYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FB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T0FBTyxDQUFDLENBQUM7SUFDekUsQ0FBQzs7a0hBNU5VLHFCQUFxQjtzR0FBckIscUJBQXFCLHdIQ2ZsQyx5NkRBaUNBO0FEbEJhLHFCQUFxQjtJQU5qQyxZQUFZLEVBQUU7R0FNRixxQkFBcUIsQ0E2TmpDO1NBN05ZLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjtzUEF5Q25CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRU8sWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlYXJjaFF1ZXJ5LCBTZWFyY2hTZXJ2aWNlLCBTdG9yZWRRdWVyaWVzU2VydmljZSwgU3RvcmVkUXVlcnksIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SWNoYXJ0c30gZnJvbSAnLi9pY2hhcnRzJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0VNUFRZLCB0YXB9IGZyb20gJ3J4anMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWNoYXJ0cy13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnRzLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0cy13aWRnZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFydHNXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0Q29tcG9uZW50IHtcbiAgaGlzdG9ncmFtOiBhbnk7XG4gIGNoYXJ0T3B0aW9ucyA9IHtcblxuICAgIGNvbG9yOiB7XG4gICAgICB0ZXh0OiAnIzkyNTY5OScsXG4gICAgICBsYWJlbDogJyM5MjU2OTknXG4gICAgfSxcbiAgICBsZWdlbmQ6IHtcbiAgICAgICdhbGlnbm1lbnQnOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgcmVzaXphYmxlOiB0cnVlLFxuICAgIGRvbnV0OiB7XG4gICAgICAnYWxpZ25tZW50JzogJ2NlbnRlcidcbiAgICB9LFxuXG4gICAgdG9vbGJhcjoge1xuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgICBheGVzOiB7XG4gICAgICBsZWZ0OiB7XG4gICAgICAgIG1hcHNUbzogJ3ZhbHVlJyxcbiAgICAgIH0sXG4gICAgICBib3R0b206IHtcbiAgICAgICAgbWFwc1RvOiAnZ3JvdXAnLFxuICAgICAgICBzY2FsZVR5cGU6ICdsYWJlbHMnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGhlaWdodDogJzQwMHB4JyxcbiAgfTtcblxuICBjaGFydERhdGE6IHtncm91cDogc3RyaW5nOyB2YWx1ZTogYW55fVtdID0gW107XG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeTtcbiAgcmVmcmVzaGluZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBJY2hhcnRzIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIGVkaXRNb2RlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBJY2hhcnRzIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSAmJiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24pIHtcbiAgICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5ID0gdGhpcy5zdG9yZWRRdWVyeS5uYW1lO1xuICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uKSB7XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYXJ0RGF0YSh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24sIHRoaXMuX3dpZGdldENvbmZpZz8uYWdncmVnYXRpb25UeXBlLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlXG4gICkge31cblxuICBnZXRTdG9yZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0U3RvcmVkUXVlcnkoaWQpLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIHRhcChzdG9yZWRRdWVyeSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBzdG9yZWRRdWVyeTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVDaGFydERhdGEoZmllbGQsIHR5cGUsIGhpc3RvZ3JhbVR5cGUpIHtcbiAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeU5hbWUgPSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5fcXVlcnkpO1xuICAgIGlmICh0eXBlID09PSAnREFURVRJTUUnICYmIGhpc3RvZ3JhbVR5cGUgJiYgaGlzdG9ncmFtVHlwZSAhPT0gJ3N0YW5kYXJkJykge1xuICAgICAgY29uc3QgaGlzdG9ncmFtQ29uZmlnID0ge1xuICAgICAgICAneWVhcmx5Jzoge2NhbGVuZGFyX2ludGVydmFsOiAneWVhcicsIGZvcm1hdDogJ3l5eXknfSxcbiAgICAgICAgJ3dlZWtseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ3dlZWsnLCBmb3JtYXQ6ICd5eXl5LXd3J30sXG4gICAgICAgICdtb250aGx5Jzoge2NhbGVuZGFyX2ludGVydmFsOiAnbW9udGgnLCBmb3JtYXQ6ICd5eXl5LU1NJ30sXG4gICAgICAgICdkYWlseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ2RheScsIGZvcm1hdDogJ3l5eXktTU0tZGQnfVxuICAgICAgfTtcbiAgICAgIGlmIChoaXN0b2dyYW1Db25maWcuaGFzT3duUHJvcGVydHkoaGlzdG9ncmFtVHlwZSkpIHtcbiAgICAgICAgdGhpcy5oaXN0b2dyYW0gPSBoaXN0b2dyYW1Db25maWdbaGlzdG9ncmFtVHlwZV07XG4gICAgICAgIHRoaXMuaGlzdG9ncmFtLnNpemUgPSB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaXplIDogMTA7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0ge1xuICAgICAgICAgIGFnZ3M6IHtcbiAgICAgICAgICAgIFtmaWVsZC5yZXBsYWNlKCdzeXNvYmplY3QuJywgJycpXToge1xuICAgICAgICAgICAgICBoaXN0b2dyYW06IHRoaXMuaGlzdG9ncmFtXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi50aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5LCB0cnVlKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCBhZ2dyZWdhdGlvbktleSA9IE9iamVjdC5rZXlzKHJlcy5hZ2dyZWdhdGlvbnMpWzBdO1xuICAgICAgICAgIHRoaXMuX3F1ZXJ5Lm5hbWUgPSBxdWVyeU5hbWU7XG4gICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zW2FnZ3JlZ2F0aW9uS2V5XS5idWNrZXRzLm1hcCgoZSkgPT4gKHtcbiAgICAgICAgICAgIGdyb3VwOiBlLmtleV9hc19zdHJpbmcsXG4gICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmV4ZWN1dGVRdWVyeShcbiAgICAgICAge1xuICAgICAgICAgIGFnZ3M6IHtcbiAgICAgICAgICAgIFtmaWVsZC5yZXBsYWNlKCdzeXNvYmplY3QuJywgJycpLnJlcGxhY2UoJ3N5c2RvY3VtZW50LicsICcnKV06XG4gICAgICAgICAgICB7c2l6ZTogdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNpemUgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSA6IDEwfVxuICAgICAgICAgIH0sIC4uLnRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpXG4gICAgICAgIH0sIHRydWUpXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICAgIGlmIChyZXMuYWdncmVnYXRpb25zW09iamVjdC5rZXlzKHJlcy5hZ2dyZWdhdGlvbnMpWzBdXS5idWNrZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9uc1tPYmplY3Qua2V5cyhyZXMuYWdncmVnYXRpb25zKVswXV0uYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdCT09MRUFOJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICBncm91cDogZS5rZXkgPT09IDAgPyAnXFx1MjYxMCcgOiAnXFx1MjYxMScsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgZ3JvdXA6IGUua2V5LFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uID09PSAnc3lzb2JqZWN0Lm1vZGlmaWVkJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLm1vZGlmaWVkLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC5hZ2cudGltZS4nICsgZS5rZXkpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uID09PSAnc3lzb2JqZWN0LmNyZWF0ZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnMuY3JlYXRlZC5idWNrZXRzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdyb3VwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2guYWdnLnRpbWUuJyArIGUua2V5KSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c2RvY3VtZW50Lm1pbWV0eXBlZ3JvdXAnKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnMubWltZXR5cGVncm91cC5idWNrZXRzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdyb3VwOiBlLmtleSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c29iamVjdC50eXBlJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLnR5cGUuYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncm91cDogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUoZS5rZXkpLmxhYmVsLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uID09PSAnc3lzZG9jdW1lbnQuZmlsZXNpemUnKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnMuZmlsZXNpemUuYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncm91cDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLmFnZy5maWxlc2l6ZS4nICsgZS5rZXkpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gW107XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0UXVlcnlUb0FwcFNlYXJjaCgpIHtcbiAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2Uuc2V0UXVlcnkodGhpcy5zdG9yZWRRdWVyeSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdzZWFyY2gnfX1dKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcnkubmFtZTtcbiAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24pIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYXJ0RGF0YSh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24sIHRoaXMuX3dpZGdldENvbmZpZz8uYWdncmVnYXRpb25UeXBlLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSk7XG4gICAgICB9XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLmNoYXJ0RGF0YSA9IFtdO1xuICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgb25FbWl0UXVlcnlDbGljayhldmVudCkge1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5maWVsZHM7XG4gICAgY29uc3QgdXJpUGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQoVXRpbHMuZm9ybURhdGFTdHJpbmdpZnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCkpKTtcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJpUGFyYW1RdWVyeS5xdWVyeVBhcmFtcykudG9TdHJpbmcoKTtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnL2Rhc2hib2FyZCcpWzBdICsgJy9yZXN1bHQ/JyArIHF1ZXJ5UGFyYW1zO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgfHwgdGhpcy5lZGl0TW9kZSA/ICdfYmxhbmsnIDogJ19zZWxmJyk7XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIndpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zdG9yZWRRdWVyeVwiPlxuICAgICAgICAgICAge3t3aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc3RvcmVkUXVlcnl9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbnMtdGl0bGVcIiAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeVwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NhdmVkX3NlYXJjaC5zdmcnXCIgKGNsaWNrKT1cInNldFF1ZXJ5VG9BcHBTZWFyY2goKVwiXG4gICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5zYXZlZFNlYXJjaEljb24nfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX29wZW5fdGFiLnN2ZydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVtaXRRdWVyeUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLm9wZW5pbnJlc3VsdGxpc3QnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiIChjbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLnJlZnJlc2gnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvaGVhZGVyPlxuXG48bWFpbiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwiJ2xhcmdlJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuPC9tYWluPlxuXG48bWFpbiBjbGFzcz1cImNoYXJ0XCIgKm5nSWY9XCJjaGFydERhdGEubGVuZ3RoID4gMCAmJiAhcmVmcmVzaGluZ1JlcXVlc3Q7IGVsc2UgdHBsRW1wdHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIFtuZ1N3aXRjaF09XCJ3aWRnZXRDb25maWchLmZvcm1WYWx1ZS5jaGFydFR5cGVcIj5cbiAgICAgICAgPGlibS1zaW1wbGUtYmFyLWNoYXJ0ICpuZ1N3aXRjaENhc2U9XCInYmFyJ1wiIFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cImNoYXJ0T3B0aW9uc1wiPjwvaWJtLXNpbXBsZS1iYXItY2hhcnQ+XG4gICAgICAgIDxpYm0tcGllLWNoYXJ0ICpuZ1N3aXRjaENhc2U9XCIncGllJ1wiIFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cImNoYXJ0T3B0aW9uc1wiPjwvaWJtLXBpZS1jaGFydD5cbiAgICAgICAgPGlibS1kb251dC1jaGFydCAqbmdTd2l0Y2hDYXNlPVwiJ2RvbnV0J1wiIFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cImNoYXJ0T3B0aW9uc1wiPjwvaWJtLWRvbnV0LWNoYXJ0PlxuICAgIDwvZGl2PlxuPC9tYWluPlxuPG5nLXRlbXBsYXRlICN0cGxFbXB0eT5cbiAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIiAqbmdJZj1cIiFyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19zYXZlZF9zZWFyY2guc3ZnJywgdGV4dDogJ2VvLndvcmtzcGFjZS53aWRnZXQuY29uZmlndXJhdGlvbi5ub3RPayd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY2hhcnRzLXdpZGdldC9jaGFydHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWlHLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUluSSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRW5FLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQVF6QixJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQWdFaEMsSUFBYSxZQUFZLENBQUMsQ0FBc0I7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUU7WUFDakYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFO29CQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2lCQUN2SjtZQUNILENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNYLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7b0JBQ3hCLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2dCQUNELE1BQU0sS0FBSyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ1UsTUFBYyxFQUNkLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxvQkFBMEMsRUFDMUMsU0FBMkIsRUFDM0IsYUFBNEI7UUFMNUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTFGdEMsa0JBQWEsR0FBRztZQUNkLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsU0FBUzthQUNqQjtZQUNELE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsS0FBSzthQUNmO1lBQ0QsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsV0FBVyxFQUFFLFFBQVE7YUFDdEI7WUFFRCxPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELE1BQU0sRUFBRSxPQUFPO1lBQ2YsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFO29CQUNOLE1BQU0sRUFBRSxNQUFNO29CQUNkLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osTUFBTSxFQUFFLE9BQU87b0JBQ2YsU0FBUyxFQUFFLFFBQVE7aUJBQ3BCO2FBQ0Y7U0FDRixDQUFDO1FBRUYsa0JBQWEsR0FBRztZQUNkLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRixDQUFDO1FBRUYsaUJBQVksR0FBRztZQUNiLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsT0FBTztpQkFDaEI7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLE1BQU0sRUFBRSxPQUFPO29CQUNmLFNBQVMsRUFBRSxRQUFRO2lCQUNwQjthQUNGO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLFdBQVcsRUFBRSxRQUFRO2FBQ3RCO1NBQ0YsQ0FBQztRQUVGLGNBQVMsR0FBZ0QsRUFBRSxDQUFDO1FBTW5ELGFBQVEsR0FBRyxLQUFLLENBQUM7SUErQnRCLENBQUM7SUFFTCxjQUFjLENBQUMsRUFBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN0RCxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYTtRQUNsRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxJQUFJLEtBQUssVUFBVSxJQUFJLGFBQWEsRUFBRTtZQUN4QyxNQUFNLGVBQWUsR0FBRztnQkFDdEIsUUFBUSxFQUFFLEVBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUM7Z0JBQ3JELFFBQVEsRUFBRSxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDO2dCQUN4RCxTQUFTLEVBQUUsRUFBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQztnQkFDMUQsT0FBTyxFQUFFLEVBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUM7YUFDMUQsQ0FBQztZQUNGLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JHLE1BQU0sS0FBSyxHQUFHO29CQUNaLElBQUksRUFBRTt3QkFDSixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7NEJBQ2pDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzt5QkFDMUI7cUJBQ0Y7b0JBQ0QsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtpQkFDOUIsQ0FBQztnQkFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7b0JBQy9CLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7b0JBQzdCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEtBQUssY0FBYyxFQUFFO3dCQUN6SCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDcEUsS0FBSyxFQUFFLFVBQVU7NEJBQ2pCLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzs0QkFDbEIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUU7eUJBQ3BDLENBQUMsQ0FBQyxDQUFDO3FCQUNMO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzt5QkFDbkIsQ0FBQyxDQUFDLENBQUM7cUJBQ0w7Z0JBQ0gsQ0FBQyxFQUNDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQzthQUNoQztTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDN0I7Z0JBQ0UsSUFBSSxFQUFFO29CQUNKLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUMzRCxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDO2lCQUN6RixFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7YUFDakMsRUFBRSxJQUFJLENBQUM7aUJBQ1AsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDcEYsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFOzRCQUN0QixPQUFPO2dDQUNMLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO2dDQUN4QyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVM7NkJBQ25CLENBQUM7eUJBQ0g7NkJBQU07NEJBQ0wsT0FBTztnQ0FDTCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUc7Z0NBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTOzZCQUNuQixDQUFDO3lCQUNIO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO3FCQUFNO29CQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2lCQUNoQztnQkFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsS0FBSyxvQkFBb0IsRUFBRTtvQkFDdkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQzNELE9BQU87NEJBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7NEJBQzVELEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzt5QkFDbkIsQ0FBQztvQkFDSixDQUFDLENBQUMsQ0FBQztpQkFDSjtnQkFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsS0FBSyxtQkFBbUIsRUFBRTtvQkFDdEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQzFELE9BQU87NEJBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7NEJBQzVELEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzt5QkFDbkIsQ0FBQztvQkFDSixDQUFDLENBQUMsQ0FBQztpQkFDSjtnQkFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsS0FBSywyQkFBMkIsRUFBRTtvQkFDOUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ2hFLE9BQU87NEJBQ0wsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHOzRCQUNaLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzt5QkFDbkIsQ0FBQztvQkFDSixDQUFDLENBQUMsQ0FBQztpQkFDSjtnQkFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsS0FBSyxnQkFBZ0IsRUFBRTtvQkFDbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ3ZELE9BQU87NEJBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLOzRCQUNwRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVM7eUJBQ25CLENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEtBQUssc0JBQXNCLEVBQUU7b0JBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUMzRCxPQUFPOzRCQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDOzRCQUNoRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVM7eUJBQ25CLENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLEVBQ0MsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNSO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2pFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ3ZKO1FBQ0gsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekYsTUFBTSxhQUFhLEdBQXFCLEVBQUMsV0FBVyxFQUFFLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxFQUFDLENBQUM7UUFDM0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ25GLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDOztrSEE3UFUscUJBQXFCO3NHQUFyQixxQkFBcUIsd0hDZmxDLGdxRUFtQ0E7QURwQmEscUJBQXFCO0lBTmpDLFlBQVksRUFBRTtHQU1GLHFCQUFxQixDQThQakM7U0E5UFkscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCO3NQQWtFbkIsUUFBUTtzQkFBaEIsS0FBSztnQkFFTyxZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2VhcmNoUXVlcnksIFNlYXJjaFNlcnZpY2UsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTdG9yZWRRdWVyeSwgU3lzdGVtU2VydmljZSwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0lXaWRnZXRDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtJY2hhcnRzfSBmcm9tICcuL2ljaGFydHMnO1xuaW1wb3J0IHtBcHBTZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RU1QVFksIHRhcH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY2hhcnRzLXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnRzLXdpZGdldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0c1dpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQge1xuICBoaXN0b2dyYW06IGFueTtcbiAgc2hhcmVkT3B0aW9ucyA9IHtcbiAgICBjb2xvcjoge1xuICAgICAgdGV4dDogJyM5MjU2OTknLFxuICAgICAgbGFiZWw6ICcjOTI1Njk5J1xuICAgIH0sXG4gICAgbGVnZW5kOiB7XG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICBkb251dDoge1xuICAgICAgJ2FsaWdubWVudCc6ICdjZW50ZXInXG4gICAgfSxcblxuICAgIHRvb2xiYXI6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgaGVpZ2h0OiAnNDAwcHgnLFxuICAgIGN1cnZlOiAnY3VydmVNb25vdG9uZVgnLFxuICAgIGF4ZXM6IHtcbiAgICAgIGJvdHRvbToge1xuICAgICAgICBtYXBzVG86ICdkYXRlJyxcbiAgICAgICAgc2NhbGVUeXBlOiAndGltZScsXG4gICAgICB9LFxuICAgICAgbGVmdDoge1xuICAgICAgICBtYXBzVG86ICd2YWx1ZScsXG4gICAgICAgIHNjYWxlVHlwZTogJ2xpbmVhcicsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgY2hhcnRPcHRpb25zMiA9IHtcbiAgICAuLi50aGlzLnNoYXJlZE9wdGlvbnMsXG4gICAgY3VydmU6IHVuZGVmaW5lZCxcbiAgICBsZWdlbmQ6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gIH07XG5cbiAgY2hhcnRPcHRpb25zID0ge1xuICAgIC4uLnRoaXMuc2hhcmVkT3B0aW9ucyxcbiAgICBheGVzOiB7XG4gICAgICBsZWZ0OiB7XG4gICAgICAgIG1hcHNUbzogJ3ZhbHVlJyxcbiAgICAgIH0sXG4gICAgICBib3R0b206IHtcbiAgICAgICAgbWFwc1RvOiAnZ3JvdXAnLFxuICAgICAgICBzY2FsZVR5cGU6ICdsYWJlbHMnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGxlZ2VuZDoge1xuICAgICAgJ2FsaWdubWVudCc6ICdjZW50ZXInXG4gICAgfSxcbiAgfTtcblxuICBjaGFydERhdGE6IHtncm91cDogc3RyaW5nOyB2YWx1ZTogYW55OyBkYXRlOiBzdHJpbmd9W10gPSBbXTtcbiAgcHJpdmF0ZSBfcXVlcnk6IFNlYXJjaFF1ZXJ5O1xuICByZWZyZXNoaW5nUmVxdWVzdDogYm9vbGVhbjtcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuICBwcml2YXRlIF93aWRnZXRDb25maWc6IEljaGFydHMgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KCkgZWRpdE1vZGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IEljaGFydHMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5ICYmIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbikge1xuICAgICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5zdG9yZWRRdWVyeSk7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24pIHtcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlQ2hhcnREYXRhKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5hZ2dyZWdhdGlvblR5cGUsIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5oaXN0b2dyYW1UeXBlKTtcbiAgICAgICAgfVxuICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU2VhcmNoU2VydmljZTogQXBwU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2VcbiAgKSB7IH1cblxuICBnZXRTdG9yZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0U3RvcmVkUXVlcnkoaWQpLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIHRhcChzdG9yZWRRdWVyeSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBzdG9yZWRRdWVyeTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVDaGFydERhdGEoZmllbGQsIHR5cGUsIGhpc3RvZ3JhbVR5cGUpIHtcbiAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeU5hbWUgPSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5fcXVlcnkpO1xuICAgIGlmICh0eXBlID09PSAnREFURVRJTUUnICYmIGhpc3RvZ3JhbVR5cGUpIHtcbiAgICAgIGNvbnN0IGhpc3RvZ3JhbUNvbmZpZyA9IHtcbiAgICAgICAgJ3llYXJseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ3llYXInLCBmb3JtYXQ6ICd5eXl5J30sXG4gICAgICAgICd3ZWVrbHknOiB7Y2FsZW5kYXJfaW50ZXJ2YWw6ICd3ZWVrJywgZm9ybWF0OiAneXl5eS13dyd9LFxuICAgICAgICAnbW9udGhseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ21vbnRoJywgZm9ybWF0OiAneXl5eS1NTSd9LFxuICAgICAgICAnZGFpbHknOiB7Y2FsZW5kYXJfaW50ZXJ2YWw6ICdkYXknLCBmb3JtYXQ6ICd5eXl5LU1NLWRkJ31cbiAgICAgIH07XG4gICAgICBpZiAoaGlzdG9ncmFtQ29uZmlnLmhhc093blByb3BlcnR5KGhpc3RvZ3JhbVR5cGUpKSB7XG4gICAgICAgIHRoaXMuaGlzdG9ncmFtID0gaGlzdG9ncmFtQ29uZmlnW2hpc3RvZ3JhbVR5cGVdO1xuICAgICAgICB0aGlzLmhpc3RvZ3JhbS5zaXplID0gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNpemUgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSA6IDEwO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgICAgICBhZ2dzOiB7XG4gICAgICAgICAgICBbZmllbGQucmVwbGFjZSgnc3lzb2JqZWN0LicsICcnKV06IHtcbiAgICAgICAgICAgICAgaGlzdG9ncmFtOiB0aGlzLmhpc3RvZ3JhbVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4udGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKClcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmV4ZWN1dGVRdWVyeShxdWVyeSwgdHJ1ZSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgYWdncmVnYXRpb25LZXkgPSBPYmplY3Qua2V5cyhyZXMuYWdncmVnYXRpb25zKVswXTtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICAgIGlmICh0aGlzLndpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5jaGFydFR5cGUgPT09ICdsaW5lQ3VydmUnIHx8IHRoaXMud2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmNoYXJ0VHlwZSA9PT0gJ2xpbmVTdHJhaWdodCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9uc1thZ2dyZWdhdGlvbktleV0uYnVja2V0cy5tYXAoKGUpID0+ICh7XG4gICAgICAgICAgICAgIGdyb3VwOiAnZGF0YXNldDEnLFxuICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGUua2V5KS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnNbYWdncmVnYXRpb25LZXldLmJ1Y2tldHMubWFwKChlKSA9PiAoe1xuICAgICAgICAgICAgICBncm91cDogZS5rZXlfYXNfc3RyaW5nLFxuICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmV4ZWN1dGVRdWVyeShcbiAgICAgICAge1xuICAgICAgICAgIGFnZ3M6IHtcbiAgICAgICAgICAgIFtmaWVsZC5yZXBsYWNlKCdzeXNvYmplY3QuJywgJycpLnJlcGxhY2UoJ3N5c2RvY3VtZW50LicsICcnKV06XG4gICAgICAgICAgICAgIHtzaXplOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaXplIDogMTB9XG4gICAgICAgICAgfSwgLi4udGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKClcbiAgICAgICAgfSwgdHJ1ZSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX3F1ZXJ5Lm5hbWUgPSBxdWVyeU5hbWU7XG4gICAgICAgICAgaWYgKHJlcy5hZ2dyZWdhdGlvbnNbT2JqZWN0LmtleXMocmVzLmFnZ3JlZ2F0aW9ucylbMF1dLmJ1Y2tldHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zW09iamVjdC5rZXlzKHJlcy5hZ2dyZWdhdGlvbnMpWzBdXS5idWNrZXRzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ0JPT0xFQU4nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIGdyb3VwOiBlLmtleSA9PT0gMCA/ICdcXHUyNjEwJyA6ICdcXHUyNjExJyxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICBncm91cDogZS5rZXksXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gW107XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24gPT09ICdzeXNvYmplY3QubW9kaWZpZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnMubW9kaWZpZWQuYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncm91cDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLmFnZy50aW1lLicgKyBlLmtleSksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24gPT09ICdzeXNvYmplY3QuY3JlYXRlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9ucy5jcmVhdGVkLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC5hZ2cudGltZS4nICsgZS5rZXkpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uID09PSAnc3lzZG9jdW1lbnQubWltZXR5cGVncm91cCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9ucy5taW1ldHlwZWdyb3VwLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IGUua2V5LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uID09PSAnc3lzb2JqZWN0LnR5cGUnKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnMudHlwZS5idWNrZXRzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdyb3VwOiB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShlLmtleSkubGFiZWwsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24gPT09ICdzeXNkb2N1bWVudC5maWxlc2l6ZScpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9ucy5maWxlc2l6ZS5idWNrZXRzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdyb3VwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2guYWdnLmZpbGVzaXplLicgKyBlLmtleSksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRRdWVyeVRvQXBwU2VhcmNoKCkge1xuICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5zZXRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHttb2RhbDogJ3NlYXJjaCd9fV0pO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5KHRoaXMuX3dpZGdldENvbmZpZy5zdG9yZWRRdWVyeSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5zdG9yZWRRdWVyeSk7XG4gICAgICB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5ID0gdGhpcy5zdG9yZWRRdWVyeS5uYW1lO1xuICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbikge1xuICAgICAgICB0aGlzLmdlbmVyYXRlQ2hhcnREYXRhKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5hZ2dyZWdhdGlvblR5cGUsIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5oaXN0b2dyYW1UeXBlKTtcbiAgICAgIH1cbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIHRoaXMuY2hhcnREYXRhID0gW107XG4gICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBvbkVtaXRRdWVyeUNsaWNrKGV2ZW50KSB7XG4gICAgZGVsZXRlIHRoaXMuX3F1ZXJ5LmZpZWxkcztcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChVdGlscy5mb3JtRGF0YVN0cmluZ2lmeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSkpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmlQYXJhbVF1ZXJ5LnF1ZXJ5UGFyYW1zKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL3Jlc3VsdD8nICsgcXVlcnlQYXJhbXM7XG4gICAgd2luZG93Lm9wZW4odXJsLCBldmVudD8uY3RybEtleSB8fCB0aGlzLmVkaXRNb2RlID8gJ19ibGFuaycgOiAnX3NlbGYnKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwid2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnN0b3JlZFF1ZXJ5XCI+XG4gICAgICAgICAgICB7e3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zdG9yZWRRdWVyeX19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy10aXRsZVwiICpuZ0lmPVwidGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5XCI+XG4gICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc2F2ZWRfc2VhcmNoLnN2ZydcIiAoY2xpY2spPVwic2V0UXVlcnlUb0FwcFNlYXJjaCgpXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLnNhdmVkU2VhcmNoSWNvbid8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfb3Blbl90YWIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRW1pdFF1ZXJ5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAub3BlbmlucmVzdWx0bGlzdCd8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCIgKGNsaWNrKT1cInJlZnJlc2goKVwiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAucmVmcmVzaCd8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9oZWFkZXI+XG5cbjxtYWluIGNsYXNzPVwibG9hZGVyLW92ZXJsYXlfX21hc2tcIiAqbmdJZj1cInJlZnJlc2hpbmdSZXF1ZXN0XCI+XG4gICAgPGVvLWxvYWRpbmctc3Bpbm5lciBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG48L21haW4+XG5cbjxtYWluIGNsYXNzPVwiY2hhcnRcIiAqbmdJZj1cImNoYXJ0RGF0YS5sZW5ndGggPiAwICYmICFyZWZyZXNoaW5nUmVxdWVzdDsgZWxzZSB0cGxFbXB0eVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgW25nU3dpdGNoXT1cIndpZGdldENvbmZpZyEuZm9ybVZhbHVlLmNoYXJ0VHlwZVwiPlxuICAgICAgICA8aWJtLXNpbXBsZS1iYXItY2hhcnQgKm5nU3dpdGNoQ2FzZT1cIidiYXInXCIgW2RhdGFdPVwiY2hhcnREYXRhXCIgW29wdGlvbnNdPVwiY2hhcnRPcHRpb25zXCI+PC9pYm0tc2ltcGxlLWJhci1jaGFydD5cbiAgICAgICAgPGlibS1waWUtY2hhcnQgKm5nU3dpdGNoQ2FzZT1cIidwaWUnXCIgW2RhdGFdPVwiY2hhcnREYXRhXCIgW29wdGlvbnNdPVwiY2hhcnRPcHRpb25zXCI+PC9pYm0tcGllLWNoYXJ0PlxuICAgICAgICA8aWJtLWRvbnV0LWNoYXJ0ICpuZ1N3aXRjaENhc2U9XCInZG9udXQnXCIgW2RhdGFdPVwiY2hhcnREYXRhXCIgW29wdGlvbnNdPVwiY2hhcnRPcHRpb25zXCI+PC9pYm0tZG9udXQtY2hhcnQ+XG4gICAgICAgIDxpYm0tbGluZS1jaGFydCAqbmdTd2l0Y2hDYXNlPVwiJ2xpbmVTdHJhaWdodCdcIiBbZGF0YV09XCJjaGFydERhdGFcIiBbb3B0aW9uc109XCJjaGFydE9wdGlvbnMyXCI+PC9pYm0tbGluZS1jaGFydD5cbiAgICAgICAgPGlibS1saW5lLWNoYXJ0ICpuZ1N3aXRjaENhc2U9XCInbGluZUN1cnZlJ1wiIFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cInNoYXJlZE9wdGlvbnNcIj48L2libS1saW5lLWNoYXJ0PlxuICAgIDwvZGl2PlxuPC9tYWluPlxuPG5nLXRlbXBsYXRlICN0cGxFbXB0eT5cbiAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIiAqbmdJZj1cIiFyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19zYXZlZF9zZWFyY2guc3ZnJywgdGV4dDogJ2VvLndvcmtzcGFjZS53aWRnZXQuY29uZmlndXJhdGlvbi5ub3RPayd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -11,7 +11,9 @@ import * as i4 from "@angular/common";
|
|
|
11
11
|
import * as i5 from "../../../../../eo-framework/ui/error-message/error-message.component";
|
|
12
12
|
import * as i6 from "../../../../../eo-framework/form-elements/form-input/form-input.component";
|
|
13
13
|
import * as i7 from "../../../../../eo-framework/form-elements/codesystem/codesystem.component";
|
|
14
|
-
import * as i8 from "
|
|
14
|
+
import * as i8 from "../../../../../eo-framework/form-elements/number/number.component";
|
|
15
|
+
import * as i9 from "../../../../../eo-framework/form-elements/checkbox/checkbox.component";
|
|
16
|
+
import * as i10 from "../count-objects-widget.component";
|
|
15
17
|
let CountObjectsSetupComponent = class CountObjectsSetupComponent {
|
|
16
18
|
set widgetConfig(c) {
|
|
17
19
|
this._widgetConfig = c;
|
|
@@ -27,7 +29,12 @@ let CountObjectsSetupComponent = class CountObjectsSetupComponent {
|
|
|
27
29
|
this.setupForm = this.fb.group({
|
|
28
30
|
storedQuery: [null],
|
|
29
31
|
size: [],
|
|
32
|
+
countTileSuccessThreshold: [],
|
|
33
|
+
countTileWarningThreshold: [],
|
|
34
|
+
countTileErrorThreshold: [],
|
|
35
|
+
countTileThresholdInvert: [false],
|
|
30
36
|
});
|
|
37
|
+
this.countTileThresholdDesc = this.translate.instant('eo.widget.hitcount.form.desc.threshold');
|
|
31
38
|
this.storedQueriesPicker = {
|
|
32
39
|
title: this.translate.instant('eo.search.title.storedqueries'),
|
|
33
40
|
codesystem: null,
|
|
@@ -42,6 +49,9 @@ let CountObjectsSetupComponent = class CountObjectsSetupComponent {
|
|
|
42
49
|
this.getStoredQuerys();
|
|
43
50
|
}
|
|
44
51
|
setWidgetConfig() {
|
|
52
|
+
this.countTileThresholdDesc = this.setupForm.value.countTileThresholdInvert ?
|
|
53
|
+
this.translate.instant('eo.widget.hitcount.form.desc.threshold') :
|
|
54
|
+
this.translate.instant('eo.widget.hitcount.form.desc.threshold.inverted');
|
|
45
55
|
if (this.setupForm.valid && this.storedQueries) {
|
|
46
56
|
this.storedQuery = this.storedQueries.find((sq) => sq.name === this.setupForm.get('storedQuery').value);
|
|
47
57
|
this.widgetConfig = {
|
|
@@ -86,23 +96,26 @@ let CountObjectsSetupComponent = class CountObjectsSetupComponent {
|
|
|
86
96
|
})).subscribe(() => {
|
|
87
97
|
this.setupForm.patchValue({
|
|
88
98
|
storedQuery: this.storedQuery ? this.storedQuery.name : '',
|
|
99
|
+
countTileSuccessThreshold: this._widgetConfig?.formValue.countTileSuccessThreshold ? this._widgetConfig?.formValue.countTileSuccessThreshold : '',
|
|
100
|
+
countTileWarningThreshold: this._widgetConfig?.formValue.countTileWarningThreshold ? this._widgetConfig?.formValue.countTileWarningThreshold : '',
|
|
101
|
+
countTileErrorThreshold: this._widgetConfig?.formValue.countTileErrorThreshold ? this._widgetConfig?.formValue.countTileErrorThreshold : ''
|
|
89
102
|
});
|
|
90
103
|
});
|
|
91
104
|
}
|
|
92
105
|
}
|
|
93
106
|
};
|
|
94
107
|
CountObjectsSetupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CountObjectsSetupComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TranslateService }, { token: i3.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
-
CountObjectsSetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: CountObjectsSetupComponent, selector: "eo-count-objects-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n </form>\n</div>\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template
|
|
108
|
+
CountObjectsSetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: CountObjectsSetupComponent, selector: "eo-count-objects-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input class=\"label checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.countTileThresholdInvert' | translate\">\n <eo-checkbox formControlName=\"countTileThresholdInvert\">\n </eo-checkbox>\n </eo-form-input>\n\n <eo-form-input class=\"threshold-success\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.threshold.success' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"countTileSuccessThreshold\">\n </eo-number>\n </eo-form-input>\n <div class=\"desc\">{{countTileThresholdDesc}}</div>\n\n <eo-form-input class=\"threshold-warning\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.threshold.warning' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"countTileWarningThreshold\">\n </eo-number>\n </eo-form-input>\n <div class=\"desc\">{{countTileThresholdDesc}}</div>\n\n <eo-form-input class=\"threshold-error\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.threshold.error' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"countTileErrorThreshold\">\n </eo-number>\n </eo-form-input>\n <div class=\"desc\">{{countTileThresholdDesc}}</div>\n </form>\n</div>\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .checkboxCountTitle{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i6.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i7.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i8.NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.CountObjectsWidgetComponent, selector: "eo-count-objects-widget", inputs: ["widgetConfig"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
96
109
|
CountObjectsSetupComponent = __decorate([
|
|
97
110
|
UntilDestroy()
|
|
98
111
|
], CountObjectsSetupComponent);
|
|
99
112
|
export { CountObjectsSetupComponent };
|
|
100
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CountObjectsSetupComponent, decorators: [{
|
|
101
114
|
type: Component,
|
|
102
|
-
args: [{ selector: 'eo-count-objects-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n </form>\n</div>\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template
|
|
115
|
+
args: [{ selector: 'eo-count-objects-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input class=\"label checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.countTileThresholdInvert' | translate\">\n <eo-checkbox formControlName=\"countTileThresholdInvert\">\n </eo-checkbox>\n </eo-form-input>\n\n <eo-form-input class=\"threshold-success\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.threshold.success' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"countTileSuccessThreshold\">\n </eo-number>\n </eo-form-input>\n <div class=\"desc\">{{countTileThresholdDesc}}</div>\n\n <eo-form-input class=\"threshold-warning\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.threshold.warning' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"countTileWarningThreshold\">\n </eo-number>\n </eo-form-input>\n <div class=\"desc\">{{countTileThresholdDesc}}</div>\n\n <eo-form-input class=\"threshold-error\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.threshold.error' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"countTileErrorThreshold\">\n </eo-number>\n </eo-form-input>\n <div class=\"desc\">{{countTileThresholdDesc}}</div>\n </form>\n</div>\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .checkboxCountTitle{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}\n"] }]
|
|
103
116
|
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.TranslateService }, { type: i3.StoredQueriesService }]; }, propDecorators: { widgetConfigChange: [{
|
|
104
117
|
type: Output
|
|
105
118
|
}], widgetConfig: [{
|
|
106
119
|
type: Input
|
|
107
120
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtb2JqZWN0cy1zZXR1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jb3VudC1vYmplY3RzLXdpZGdldC9jb3VudC1vYmplY3RzLXNldHVwL2NvdW50LW9iamVjdHMtc2V0dXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy1zZXR1cC9jb3VudC1vYmplY3RzLXNldHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSTdFLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbkUsT0FBTyxFQUFvQyxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEUsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBUXJDLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBcUJyQyxJQUFhLFlBQVksQ0FBQyxDQUFxQjtRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUNVLEVBQXNCLEVBQ3RCLFNBQTJCLEVBQzNCLG9CQUEwQztRQUYxQyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQix5QkFB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QUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN2RCxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO3dCQUN4QixXQUFXLEVBQUUsRUFBRTtxQkFDaEIsQ0FBQyxDQUFDO29CQUNILE9BQU8sS0FBSyxDQUFDO2lCQUNkO2dCQUNELE1BQU0sS0FBSyxDQUFDO1lBQ2QsQ0FBQyxDQUNBLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztvQkFDeEIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO2lCQUMzRCxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0gsQ0FBQzs7dUhBbEdVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLCtKQ2Z2QyxvL0JBb0JjO0FETEQsMEJBQTBCO0lBTnRDLFlBQVksRUFBRTtHQU1GLDBCQUEwQixDQW1HdEM7U0FuR1ksMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCOzJLQU94QixrQkFBa0I7c0JBQTNCLE1BQU07Z0JBa0JNLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7Q291bnRPYmplY3RzQ29uZmlnfSBmcm9tICcuLi9jb3VudC1vYmplY3RzLm1vZGVsJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtTdG9yZWRRdWVyaWVzU2VydmljZSwgU3RvcmVkUXVlcnksIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtFTVBUWSwgY2F0Y2hFcnJvciwgdGFwfSBmcm9tICdyeGpzJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1jb3VudC1vYmplY3RzLXNldHVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdW50LW9iamVjdHMtc2V0dXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3VudC1vYmplY3RzLXNldHVwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ291bnRPYmplY3RzU2V0dXBDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0Q29tcG9uZW50LCBPbkluaXQge1xuXG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogQ291bnRPYmplY3RzQ29uZmlnO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb3VudE9iamVjdHNDb25maWc+KCk7XG4gIHN0b3JlZFF1ZXJpZXM6IFN0b3JlZFF1ZXJ5W107XG5cbiAgc2V0dXBGb3JtOiBVbnR5cGVkRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgc3RvcmVkUXVlcnk6IFtudWxsXSxcbiAgICBzaXplOiBbXSxcbiAgfSk7XG5cbiAgc3RvcmVkUXVlcmllc1BpY2tlciA9IHtcbiAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXMnKSxcbiAgICBjb2Rlc3lzdGVtOiBudWxsLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHBhcmFtZXRlcjogbnVsbCxcbiAgICB0eXBlczogbnVsbFxuICB9O1xuICBzZWxlY3RlZFNhdmVkU2VhcmNoTmFtZSA9ICcnO1xuICBzdG9yZWRRdWVyeTogU3RvcmVkUXVlcnk7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBDb3VudE9iamVjdHNDb25maWcpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnNldHVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldENvbmZpZygpO1xuICAgIH0pO1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnlzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFdpZGdldENvbmZpZygpIHtcbiAgICBpZiAodGhpcy5zZXR1cEZvcm0udmFsaWQgJiYgdGhpcy5zdG9yZWRRdWVyaWVzKSB7XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gdGhpcy5zdG9yZWRRdWVyaWVzLmZpbmQoKHNxKSA9PiBzcS5uYW1lID09PSB0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWUpO1xuICAgICAgdGhpcy53aWRnZXRDb25maWcgPSB7XG4gICAgICAgIHN0b3JlZFF1ZXJ5OiB0aGlzLnN0b3JlZFF1ZXJ5Py5pZCxcbiAgICAgICAgZm9ybVZhbHVlOiB0aGlzLnNldHVwRm9ybS52YWx1ZSxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSB0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWU7XG4gICAgICB9XG4gICAgICB0aGlzLndpZGdldENvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuX3dpZGdldENvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmVkUXVlcnlzKCkge1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2VcbiAgICAgIC5mZXRjaFN0b3JlZFF1ZXJpZXMoKS5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICkuc3Vic2NyaWJlKHN0b3JlZFF1ZXJpZXMgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSBzdG9yZWRRdWVyaWVzO1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNQaWNrZXIuY29kZXN5c3RlbSA9IHtcbiAgICAgICAgICBlbnRyaWVzOiB0aGlzLnN0b3JlZFF1ZXJpZXMubWFwKHN0b3JlZFF1ZXJ5ID0+ICh7XG4gICAgICAgICAgICBpZDogc3RvcmVkUXVlcnkuaWQsXG4gICAgICAgICAgICBsYWJlbDogc3RvcmVkUXVlcnkubmFtZSxcbiAgICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogc3RvcmVkUXVlcnkubmFtZSxcbiAgICAgICAgICAgIGRhdGE6IHN0b3JlZFF1ZXJ5Lm5hbWVcbiAgICAgICAgICB9KSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0U3RvcmVkUXVlcnkoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJ5KGlkKS5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICB0YXAoc3RvcmVkUXVlcnkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gc3RvcmVkUXVlcnk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSkge1xuICAgICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICBzdG9yZWRRdWVyeTogJycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIHN0b3JlZFF1ZXJ5OiB0aGlzLnN0b3JlZFF1ZXJ5ID8gdGhpcy5zdG9yZWRRdWVyeS5uYW1lIDogJycsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2V0dXBcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJzZXR1cEZvcm1cIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCAqbmdJZj1cInN0b3JlZFF1ZXJpZXNQaWNrZXI/LmNvZGVzeXN0ZW0/LmVudHJpZXNcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgIFtsYWJlbF09XCInZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXMnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LnN0b3JlZC5xdWVyaWVzLmRlc2NyaXB0aW9uJ1wiPlxuICAgICAgPGVvLWNvZGVzeXN0ZW0gZm9ybUNvbnRyb2xOYW1lPVwic3RvcmVkUXVlcnlcIiBbcGlja2VyVGl0bGVdPVwic3RvcmVkUXVlcmllc1BpY2tlci50aXRsZVwiXG4gICAgICAgIFtjb2Rlc3lzdGVtXT1cInN0b3JlZFF1ZXJpZXNQaWNrZXIuY29kZXN5c3RlbVwiXG4gICAgICAgIFtlbXB0eU1lc3NhZ2VdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuc3RvcmVkLnF1ZXJpZXMubGlzdC5ub3RBdmFpbGFibGUnXCI+PC9lby1jb2Rlc3lzdGVtPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9mb3JtPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJldmlld1wiICpuZ0lmPVwidGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5OyBlbHNlIHRwbEVtcHR5XCI+XG4gIDxlby1jb3VudC1vYmplY3RzLXdpZGdldCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8tY291bnQtb2JqZWN0cy13aWRnZXQ+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0cGxFbXB0eT5cbiAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfc2F2ZWRfc2VhcmNoLnN2ZycsIHRleHQ6ICdlby53b3Jrc3BhY2Uud2lkZ2V0LnN0b3JlZC5xdWVyaWVzLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtb2JqZWN0cy1zZXR1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jb3VudC1vYmplY3RzLXdpZGdldC9jb3VudC1vYmplY3RzLXNldHVwL2NvdW50LW9iamVjdHMtc2V0dXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy1zZXR1cC9jb3VudC1vYmplY3RzLXNldHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSTdFLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbkUsT0FBTyxFQUFvQyxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEUsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFRckMsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUEyQnJDLElBQWEsWUFBWSxDQUFDLENBQXFCO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ1UsRUFBc0IsRUFDdEIsU0FBMkIsRUFDM0Isb0JBQTBDO1FBRjFDLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHlC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QUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDMUQseUJBQXlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNqSix5QkFBeUIsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2pKLHVCQUF1QixFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDNUksQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7O3VIQTlHVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwrSkNmdkMsbXVFQWdEQTtBRGpDYSwwQkFBMEI7SUFOdEMsWUFBWSxFQUFFO0dBTUYsMEJBQTBCLENBK0d0QztTQS9HWSwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7MktBT3hCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkF3Qk0sWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lXaWRnZXRDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtDb3VudE9iamVjdHNDb25maWd9IGZyb20gJy4uL2NvdW50LW9iamVjdHMubW9kZWwnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1N0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTdG9yZWRRdWVyeSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0VNUFRZLCBjYXRjaEVycm9yLCB0YXB9IGZyb20gJ3J4anMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWNvdW50LW9iamVjdHMtc2V0dXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY291bnQtb2JqZWN0cy1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdW50LW9iamVjdHMtc2V0dXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb3VudE9iamVjdHNTZXR1cENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQsIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBDb3VudE9iamVjdHNDb25maWc7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvdW50T2JqZWN0c0NvbmZpZz4oKTtcbiAgc3RvcmVkUXVlcmllczogU3RvcmVkUXVlcnlbXTtcblxuICBzZXR1cEZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBzdG9yZWRRdWVyeTogW251bGxdLFxuICAgIHNpemU6IFtdLFxuICAgIGNvdW50VGlsZVN1Y2Nlc3NUaHJlc2hvbGQ6IFtdLFxuICAgIGNvdW50VGlsZVdhcm5pbmdUaHJlc2hvbGQ6IFtdLFxuICAgIGNvdW50VGlsZUVycm9yVGhyZXNob2xkOiBbXSxcbiAgICBjb3VudFRpbGVUaHJlc2hvbGRJbnZlcnQ6IFtmYWxzZV0sXG4gIH0pO1xuXG4gIGNvdW50VGlsZVRocmVzaG9sZERlc2MgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53aWRnZXQuaGl0Y291bnQuZm9ybS5kZXNjLnRocmVzaG9sZCcpO1xuXG4gIHN0b3JlZFF1ZXJpZXNQaWNrZXIgPSB7XG4gICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC50aXRsZS5zdG9yZWRxdWVyaWVzJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBwYXJhbWV0ZXI6IG51bGwsXG4gICAgdHlwZXM6IG51bGxcbiAgfTtcbiAgc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSAnJztcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRDb25maWcoYzogQ291bnRPYmplY3RzQ29uZmlnKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5zZXRXaWRnZXRDb25maWcoKTtcbiAgICB9KTtcbiAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRDb25maWcoKSB7XG4gICAgdGhpcy5jb3VudFRpbGVUaHJlc2hvbGREZXNjID0gdGhpcy5zZXR1cEZvcm0udmFsdWUuY291bnRUaWxlVGhyZXNob2xkSW52ZXJ0ID9cbiAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53aWRnZXQuaGl0Y291bnQuZm9ybS5kZXNjLnRocmVzaG9sZCcpIDpcbiAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53aWRnZXQuaGl0Y291bnQuZm9ybS5kZXNjLnRocmVzaG9sZC5pbnZlcnRlZCcpO1xuICAgIGlmICh0aGlzLnNldHVwRm9ybS52YWxpZCAmJiB0aGlzLnN0b3JlZFF1ZXJpZXMpIHtcbiAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJpZXMuZmluZCgoc3EpID0+IHNxLm5hbWUgPT09IHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZSk7XG4gICAgICB0aGlzLndpZGdldENvbmZpZyA9IHtcbiAgICAgICAgc3RvcmVkUXVlcnk6IHRoaXMuc3RvcmVkUXVlcnk/LmlkLFxuICAgICAgICBmb3JtVmFsdWU6IHRoaXMuc2V0dXBGb3JtLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWUgIT09IHRoaXMuc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNhdmVkU2VhcmNoTmFtZSA9IHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeXMoKSB7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZVxuICAgICAgLmZldGNoU3RvcmVkUXVlcmllcygpLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgKS5zdWJzY3JpYmUoc3RvcmVkUXVlcmllcyA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcmllcyA9IHN0b3JlZFF1ZXJpZXM7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcmllc1BpY2tlci5jb2Rlc3lzdGVtID0ge1xuICAgICAgICAgIGVudHJpZXM6IHRoaXMuc3RvcmVkUXVlcmllcy5tYXAoc3RvcmVkUXVlcnkgPT4gKHtcbiAgICAgICAgICAgIGlkOiBzdG9yZWRRdWVyeS5pZCxcbiAgICAgICAgICAgIGxhYmVsOiBzdG9yZWRRdWVyeS5uYW1lLFxuICAgICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiBzdG9yZWRRdWVyeS5uYW1lLFxuICAgICAgICAgICAgZGF0YTogc3RvcmVkUXVlcnkubmFtZVxuICAgICAgICAgIH0pKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0U3RvcmVkUXVlcnkoaWQpLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIHRhcChzdG9yZWRRdWVyeSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBzdG9yZWRRdWVyeTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5KHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgICAgdGhpcy5zZXR1cEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgIHN0b3JlZFF1ZXJ5OiAnJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgc3RvcmVkUXVlcnk6IHRoaXMuc3RvcmVkUXVlcnkgPyB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWUgOiAnJyxcbiAgICAgICAgICAgIGNvdW50VGlsZVN1Y2Nlc3NUaHJlc2hvbGQ6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZVN1Y2Nlc3NUaHJlc2hvbGQgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGVTdWNjZXNzVGhyZXNob2xkIDogJycsXG4gICAgICAgICAgICBjb3VudFRpbGVXYXJuaW5nVGhyZXNob2xkOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGVXYXJuaW5nVGhyZXNob2xkID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlV2FybmluZ1RocmVzaG9sZCA6ICcnLFxuICAgICAgICAgICAgY291bnRUaWxlRXJyb3JUaHJlc2hvbGQ6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZUVycm9yVGhyZXNob2xkID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlRXJyb3JUaHJlc2hvbGQgOiAnJ1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0ICpuZ0lmPVwic3RvcmVkUXVlcmllc1BpY2tlcj8uY29kZXN5c3RlbT8uZW50cmllc1wiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgW2xhYmVsXT1cIidlby5zZWFyY2gudGl0bGUuc3RvcmVkcXVlcmllcycgfCB0cmFuc2xhdGVcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbZGVzY3JpcHRpb25dPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuc3RvcmVkLnF1ZXJpZXMuZGVzY3JpcHRpb24nXCI+XG4gICAgICA8ZW8tY29kZXN5c3RlbSBmb3JtQ29udHJvbE5hbWU9XCJzdG9yZWRRdWVyeVwiIFtwaWNrZXJUaXRsZV09XCJzdG9yZWRRdWVyaWVzUGlja2VyLnRpdGxlXCJcbiAgICAgICAgW2NvZGVzeXN0ZW1dPVwic3RvcmVkUXVlcmllc1BpY2tlci5jb2Rlc3lzdGVtXCJcbiAgICAgICAgW2VtcHR5TWVzc2FnZV09XCInZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0Lm5vdEF2YWlsYWJsZSdcIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJsYWJlbCBjaGVja2JveFwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgW2xhYmVsXT1cIidlby53aWRnZXQuaGl0Y291bnQuZm9ybS5sYWJlbC5jb3VudFRpbGVUaHJlc2hvbGRJbnZlcnQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY291bnRUaWxlVGhyZXNob2xkSW52ZXJ0XCI+XG4gICAgICA8L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwidGhyZXNob2xkLXN1Y2Nlc3NcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgIFtsYWJlbF09XCInZW8ud2lkZ2V0LmhpdGNvdW50LmZvcm0ubGFiZWwudGhyZXNob2xkLnN1Y2Nlc3MnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tbnVtYmVyIFtzY2FsZV09XCIwXCIgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZFwiPlxuICAgICAgPC9lby1udW1iZXI+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJkZXNjXCI+e3tjb3VudFRpbGVUaHJlc2hvbGREZXNjfX08L2Rpdj5cblxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwidGhyZXNob2xkLXdhcm5pbmdcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgIFtsYWJlbF09XCInZW8ud2lkZ2V0LmhpdGNvdW50LmZvcm0ubGFiZWwudGhyZXNob2xkLndhcm5pbmcnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tbnVtYmVyIFtzY2FsZV09XCIwXCIgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRUaWxlV2FybmluZ1RocmVzaG9sZFwiPlxuICAgICAgPC9lby1udW1iZXI+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJkZXNjXCI+e3tjb3VudFRpbGVUaHJlc2hvbGREZXNjfX08L2Rpdj5cblxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwidGhyZXNob2xkLWVycm9yXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICBbbGFiZWxdPVwiJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmxhYmVsLnRocmVzaG9sZC5lcnJvcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxlby1udW1iZXIgW3NjYWxlXT1cIjBcIiBmb3JtQ29udHJvbE5hbWU9XCJjb3VudFRpbGVFcnJvclRocmVzaG9sZFwiPlxuICAgICAgPC9lby1udW1iZXI+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJkZXNjXCI+e3tjb3VudFRpbGVUaHJlc2hvbGREZXNjfX08L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJldmlld1wiICpuZ0lmPVwidGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5OyBlbHNlIHRwbEVtcHR5XCI+XG4gIDxlby1jb3VudC1vYmplY3RzLXdpZGdldCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8tY291bnQtb2JqZWN0cy13aWRnZXQ+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0cGxFbXB0eT5cbiAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfc2F2ZWRfc2VhcmNoLnN2ZycsIHRleHQ6ICdlby53b3Jrc3BhY2Uud2lkZ2V0LnN0b3JlZC5xdWVyaWVzLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -9,7 +9,15 @@ import * as i2 from "@angular/common";
|
|
|
9
9
|
import * as i3 from "../../../../eo-framework/ui/eo-icon/eo-icon.component";
|
|
10
10
|
import * as i4 from "../../../../eo-framework/ui/loading-spinner/loading-spinner.component";
|
|
11
11
|
let CountObjectsWidgetComponent = class CountObjectsWidgetComponent {
|
|
12
|
-
|
|
12
|
+
set countTileClass(c) {
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
if (this.elRef.nativeElement.children[0].children[0].classList.contains('clr') && c?.length) {
|
|
15
|
+
this.elRef.nativeElement.children[0].children[0].classList.add(c);
|
|
16
|
+
}
|
|
17
|
+
}, 500);
|
|
18
|
+
}
|
|
19
|
+
constructor(elRef, searchService, systemService, storedQueriesService) {
|
|
20
|
+
this.elRef = elRef;
|
|
13
21
|
this.searchService = searchService;
|
|
14
22
|
this.systemService = systemService;
|
|
15
23
|
this.storedQueriesService = storedQueriesService;
|
|
@@ -64,11 +72,35 @@ let CountObjectsWidgetComponent = class CountObjectsWidgetComponent {
|
|
|
64
72
|
.subscribe(() => {
|
|
65
73
|
this.refreshingRequest = false;
|
|
66
74
|
this.countTileResult = { count: Array.from(count.values()).reduce((acc, value) => acc + value, 0) };
|
|
75
|
+
this.setCountTileThresholdClass();
|
|
67
76
|
}, (error) => {
|
|
68
77
|
this.hitlistResult = null;
|
|
69
78
|
this.refreshingRequest = false;
|
|
70
79
|
});
|
|
71
80
|
}
|
|
81
|
+
setCountTileThresholdClass() {
|
|
82
|
+
this.countTileClass = '';
|
|
83
|
+
// success threshold set
|
|
84
|
+
if (this.meetsThreshold(this._widgetConfig.formValue.countTileSuccessThreshold)) {
|
|
85
|
+
this.countTileClass = 'success';
|
|
86
|
+
}
|
|
87
|
+
// warning threshold set
|
|
88
|
+
if (this.meetsThreshold(this._widgetConfig.formValue.countTileWarningThreshold)) {
|
|
89
|
+
this.countTileClass = 'warning';
|
|
90
|
+
}
|
|
91
|
+
// error threshold set
|
|
92
|
+
if (this.meetsThreshold(this._widgetConfig.formValue.countTileErrorThreshold)) {
|
|
93
|
+
this.countTileClass = 'error';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
meetsThreshold(threshold) {
|
|
97
|
+
if (!this.countTileResult?.count || threshold === null || threshold === undefined) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
return this._widgetConfig?.formValue.countTileThresholdInvert
|
|
101
|
+
? this.countTileResult.count >= threshold
|
|
102
|
+
: this.countTileResult.count <= threshold;
|
|
103
|
+
}
|
|
72
104
|
onEmitQueryClick() {
|
|
73
105
|
delete this._query.fields;
|
|
74
106
|
const uriParam = encodeURIComponent(Utils.formDataStringify(this._query.getQueryJson()));
|
|
@@ -78,16 +110,16 @@ let CountObjectsWidgetComponent = class CountObjectsWidgetComponent {
|
|
|
78
110
|
window.open(url);
|
|
79
111
|
}
|
|
80
112
|
};
|
|
81
|
-
CountObjectsWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CountObjectsWidgetComponent, deps: [{ token: i1.SearchService }, { token: i1.SystemService }, { token: i1.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
CountObjectsWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: CountObjectsWidgetComponent, selector: "eo-count-objects-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<a class=\"info\" [ngClass]=\"{visible: hitlistResult?.length > 0}\" *ngIf=\"hitlistResult && !refreshingRequest\"\n (click)=\"onEmitQueryClick()\">\n <div>\n <eo-icon [objectType]=\"hitlistResult[0]?.type\"></eo-icon>\n <div class=\"count\">{{this.countTileResult?.count}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.formValue.storedQuery}}</div>\n</a>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host{z-index:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;flex:0 0 auto;align-items:center}:host .info eo-icon{flex:0 0 auto;border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:2.5rem;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i4.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }] });
|
|
113
|
+
CountObjectsWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CountObjectsWidgetComponent, deps: [{ token: i0.ElementRef }, { token: i1.SearchService }, { token: i1.SystemService }, { token: i1.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
+
CountObjectsWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: CountObjectsWidgetComponent, selector: "eo-count-objects-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<a class=\"info\" [ngClass]=\"{visible: hitlistResult?.length > 0}\" *ngIf=\"hitlistResult && !refreshingRequest\"\n (click)=\"onEmitQueryClick()\">\n <div class=\"clr\">\n <eo-icon [objectType]=\"hitlistResult[0]?.type\"></eo-icon>\n <div class=\"count\">{{this.countTileResult?.count}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.formValue.storedQuery}}</div>\n</a>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host{z-index:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;flex:0 0 auto;align-items:center}:host .info eo-icon{flex:0 0 auto;border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:2.5rem;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}:host .info .clr.success{color:var(--color-success)}:host .info .clr.warning{color:var(--color-warning)}:host .info .clr.error{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i4.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }] });
|
|
83
115
|
CountObjectsWidgetComponent = __decorate([
|
|
84
116
|
UntilDestroy()
|
|
85
117
|
], CountObjectsWidgetComponent);
|
|
86
118
|
export { CountObjectsWidgetComponent };
|
|
87
119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CountObjectsWidgetComponent, decorators: [{
|
|
88
120
|
type: Component,
|
|
89
|
-
args: [{ selector: 'eo-count-objects-widget', template: "<a class=\"info\" [ngClass]=\"{visible: hitlistResult?.length > 0}\" *ngIf=\"hitlistResult && !refreshingRequest\"\n (click)=\"onEmitQueryClick()\">\n <div>\n <eo-icon [objectType]=\"hitlistResult[0]?.type\"></eo-icon>\n <div class=\"count\">{{this.countTileResult?.count}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.formValue.storedQuery}}</div>\n</a>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host{z-index:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;flex:0 0 auto;align-items:center}:host .info eo-icon{flex:0 0 auto;border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:2.5rem;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}\n"] }]
|
|
90
|
-
}], ctorParameters: function () { return [{ type: i1.SearchService }, { type: i1.SystemService }, { type: i1.StoredQueriesService }]; }, propDecorators: { widgetConfig: [{
|
|
121
|
+
args: [{ selector: 'eo-count-objects-widget', template: "<a class=\"info\" [ngClass]=\"{visible: hitlistResult?.length > 0}\" *ngIf=\"hitlistResult && !refreshingRequest\"\n (click)=\"onEmitQueryClick()\">\n <div class=\"clr\">\n <eo-icon [objectType]=\"hitlistResult[0]?.type\"></eo-icon>\n <div class=\"count\">{{this.countTileResult?.count}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.formValue.storedQuery}}</div>\n</a>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host{z-index:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;flex:0 0 auto;align-items:center}:host .info eo-icon{flex:0 0 auto;border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:2.5rem;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}:host .info .clr.success{color:var(--color-success)}:host .info .clr.warning{color:var(--color-warning)}:host .info .clr.error{color:var(--color-error)}\n"] }]
|
|
122
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SearchService }, { type: i1.SystemService }, { type: i1.StoredQueriesService }]; }, propDecorators: { widgetConfig: [{
|
|
91
123
|
type: Input
|
|
92
124
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtb2JqZWN0cy13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUErRSxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDakgsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUXpDLElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBU3RDLFlBQ1UsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIsb0JBQTBDO1FBRjFDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFDaEQsQ0FBQztJQUVMLElBQWEsWUFBWSxDQUFDLENBQXFCO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcs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QyxZQUFZLEVBQUU7R0FNRiwyQkFBMkIsQ0FzRnZDO1NBdEZZLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHlCQUF5QjttS0FtQnRCLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7Q291bnRPYmplY3RzQ29uZmlnLCBIaXRsaXN0Q291bnRUaWxlUmVzdWx0fSBmcm9tICcuL2NvdW50LW9iamVjdHMubW9kZWwnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtTZWFyY2hRdWVyeSwgU3RvcmVkUXVlcnksIFNlYXJjaFNlcnZpY2UsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7dGFwLCBtYXAsIEVNUFRZLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1jb3VudC1vYmplY3RzLXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3VudC1vYmplY3RzLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdW50LW9iamVjdHMtd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ291bnRPYmplY3RzV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSBfcXVlcnk6IFNlYXJjaFF1ZXJ5O1xuICByZWZyZXNoaW5nUmVxdWVzdDogYm9vbGVhbjtcbiAgY291bnRUaWxlUmVzdWx0OiBIaXRsaXN0Q291bnRUaWxlUmVzdWx0O1xuICBwcml2YXRlIF93aWRnZXRDb25maWc6IENvdW50T2JqZWN0c0NvbmZpZztcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuICBoaXRsaXN0UmVzdWx0OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZVxuICApIHsgfVxuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRDb25maWcoYzogQ291bnRPYmplY3RzQ29uZmlnKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSkge1xuICAgICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5zdG9yZWRRdWVyeSk7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICAgIHRoaXMuZXhlY3V0ZVF1ZXJ5KCk7XG4gICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgZ2V0U3RvcmVkUXVlcnkoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJ5KGlkKS5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICB0YXAoc3RvcmVkUXVlcnkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gc3RvcmVkUXVlcnk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGV4ZWN1dGVRdWVyeSgpIHtcbiAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gdHJ1ZTtcbiAgICBsZXQgY291bnQgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLl9xdWVyeSk7XG4gICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICBkZWxldGUgdGhpcy5fcXVlcnkubmFtZTtcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5leGVjdXRlUXVlcnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCksIGZhbHNlKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiB7XG4gICAgICAgIGNvbnN0IGhhc011bHRpcGxlVHlwZXMgPSByZXN1bHQuY29uZmlnLnR5cGUubmFtZSA9PT0gJ3N5c29iamVjdCc7XG4gICAgICAgIHJldHVybiByZXN1bHQuaGl0cy5oaXRzLm1hcChoaXQgPT4ge1xuICAgICAgICAgIGhpdC5fc291cmNlLnR5cGUgPSBoYXNNdWx0aXBsZVR5cGVzID8gJ3N5c29iamVjdCcgOiBoaXQuX3NvdXJjZS50eXBlO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAndHlwZSc6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGhpdC5fc291cmNlLnR5cGUpXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9KSwgc3dpdGNoTWFwKGhpdHMgPT4ge1xuICAgICAgICB0aGlzLmhpdGxpc3RSZXN1bHQgPSBoaXRzO1xuICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFNlYXJjaFN0YXRlKHthZ2dzOiB7dHlwZToge319LCAuLi50aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKX0pXG4gICAgICAgICAgLnBpcGUobWFwKHN0YXRlID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjb3VudCA9IHN0YXRlLmFnZ3JlZ2F0aW9ucy50eXBlO1xuICAgICAgICAgIH0pKTtcbiAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb3VudFRpbGVSZXN1bHQgPSB7Y291bnQ6IEFycmF5LmZyb20oY291bnQudmFsdWVzKCkpLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjICsgdmFsdWUsIDApfTtcbiAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuaGl0bGlzdFJlc3VsdCA9IG51bGw7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgfVxuXG4gIG9uRW1pdFF1ZXJ5Q2xpY2soKSB7XG4gICAgZGVsZXRlIHRoaXMuX3F1ZXJ5LmZpZWxkcztcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChVdGlscy5mb3JtRGF0YVN0cmluZ2lmeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSkpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmlQYXJhbVF1ZXJ5LnF1ZXJ5UGFyYW1zKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL3Jlc3VsdD8nICsgcXVlcnlQYXJhbXM7XG4gICAgd2luZG93Lm9wZW4odXJsKTtcbiAgfVxufVxuIiwiPGEgY2xhc3M9XCJpbmZvXCIgW25nQ2xhc3NdPVwie3Zpc2libGU6IGhpdGxpc3RSZXN1bHQ/Lmxlbmd0aCA+IDB9XCIgKm5nSWY9XCJoaXRsaXN0UmVzdWx0ICYmICFyZWZyZXNoaW5nUmVxdWVzdFwiXG4gIChjbGljayk9XCJvbkVtaXRRdWVyeUNsaWNrKClcIj5cbiAgPGRpdj5cbiAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJoaXRsaXN0UmVzdWx0WzBdPy50eXBlXCI+PC9lby1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJjb3VudFwiPnt7dGhpcy5jb3VudFRpbGVSZXN1bHQ/LmNvdW50fX08L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtc2dcIj57e3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5fX08L2Rpdj5cbjwvYT5cblxuPG1haW4gY2xhc3M9XCJsb2FkZXItb3ZlcmxheV9fbWFza1wiICpuZ0lmPVwicmVmcmVzaGluZ1JlcXVlc3RcIj5cbiAgPGVvLWxvYWRpbmctc3Bpbm5lciBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG48L21haW4+Il19
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtb2JqZWN0cy13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzNELE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUErRSxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDakgsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUXpDLElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBU3RDLElBQUksY0FBYyxDQUFDLENBQVM7UUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUU7Z0JBQzNGLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFD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LFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDbkYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDOzt3SEE1SFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIseUdDYnhDLGloQkFXTztBREVNLDJCQUEyQjtJQU52QyxZQUFZLEVBQUU7R0FNRiwyQkFBMkIsQ0E2SHZDO1NBN0hZLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHlCQUF5Qjs0TEE0QnRCLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7Q291bnRPYmplY3RzQ29uZmlnLCBIaXRsaXN0Q291bnRUaWxlUmVzdWx0fSBmcm9tICcuL2NvdW50LW9iamVjdHMubW9kZWwnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtTZWFyY2hRdWVyeSwgU3RvcmVkUXVlcnksIFNlYXJjaFNlcnZpY2UsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7dGFwLCBtYXAsIEVNUFRZLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1jb3VudC1vYmplY3RzLXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3VudC1vYmplY3RzLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdW50LW9iamVjdHMtd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ291bnRPYmplY3RzV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSBfcXVlcnk6IFNlYXJjaFF1ZXJ5O1xuICByZWZyZXNoaW5nUmVxdWVzdDogYm9vbGVhbjtcbiAgY291bnRUaWxlUmVzdWx0OiBIaXRsaXN0Q291bnRUaWxlUmVzdWx0O1xuICBwcml2YXRlIF93aWRnZXRDb25maWc6IENvdW50T2JqZWN0c0NvbmZpZztcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuICBoaXRsaXN0UmVzdWx0OiBhbnk7XG5cbiAgc2V0IGNvdW50VGlsZUNsYXNzKGM6IHN0cmluZykge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5jaGlsZHJlblswXS5jbGFzc0xpc3QuY29udGFpbnMoJ2NscicpICYmIGM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0uY2hpbGRyZW5bMF0uY2xhc3NMaXN0LmFkZChjKTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBDb3VudE9iamVjdHNDb25maWcpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5KHRoaXMuX3dpZGdldENvbmZpZy5zdG9yZWRRdWVyeSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcnkubmFtZTtcbiAgICAgICAgdGhpcy5leGVjdXRlUXVlcnkoKTtcbiAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0U3RvcmVkUXVlcnkoaWQpLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIHRhcChzdG9yZWRRdWVyeSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBzdG9yZWRRdWVyeTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZXhlY3V0ZVF1ZXJ5KCkge1xuICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSB0cnVlO1xuICAgIGxldCBjb3VudCA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcbiAgICBjb25zdCBxdWVyeU5hbWUgPSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZVxuICAgICAgLmV4ZWN1dGVRdWVyeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSwgZmFsc2UpXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgY29uc3QgaGFzTXVsdGlwbGVUeXBlcyA9IHJlc3VsdC5jb25maWcudHlwZS5uYW1lID09PSAnc3lzb2JqZWN0JztcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5oaXRzLmhpdHMubWFwKGhpdCA9PiB7XG4gICAgICAgICAgaGl0Ll9zb3VyY2UudHlwZSA9IGhhc011bHRpcGxlVHlwZXMgPyAnc3lzb2JqZWN0JyA6IGhpdC5fc291cmNlLnR5cGU7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICd0eXBlJzogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUoaGl0Ll9zb3VyY2UudHlwZSlcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH0pLCBzd2l0Y2hNYXAoaGl0cyA9PiB7XG4gICAgICAgIHRoaXMuaGl0bGlzdFJlc3VsdCA9IGhpdHM7XG4gICAgICAgIHRoaXMuX3F1ZXJ5Lm5hbWUgPSBxdWVyeU5hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0U2VhcmNoU3RhdGUoe2FnZ3M6IHt0eXBlOiB7fX0sIC4uLnRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpfSlcbiAgICAgICAgICAucGlwZShtYXAoc3RhdGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNvdW50ID0gc3RhdGUuYWdncmVnYXRpb25zLnR5cGU7XG4gICAgICAgICAgfSkpO1xuICAgICAgfSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvdW50VGlsZVJlc3VsdCA9IHtjb3VudDogQXJyYXkuZnJvbShjb3VudC52YWx1ZXMoKSkucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MgKyB2YWx1ZSwgMCl9O1xuICAgICAgICB0aGlzLnNldENvdW50VGlsZVRocmVzaG9sZENsYXNzKCk7XG4gICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmhpdGxpc3RSZXN1bHQgPSBudWxsO1xuICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvdW50VGlsZVRocmVzaG9sZENsYXNzKCk6IHZvaWQge1xuICAgIHRoaXMuY291bnRUaWxlQ2xhc3MgPSAnJztcbiAgICAvLyBzdWNjZXNzIHRocmVzaG9sZCBzZXRcbiAgICBpZiAoXG4gICAgICB0aGlzLm1lZXRzVGhyZXNob2xkKHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZClcbiAgICApIHtcbiAgICAgIHRoaXMuY291bnRUaWxlQ2xhc3MgPSAnc3VjY2Vzcyc7XG4gICAgfVxuICAgIC8vIHdhcm5pbmcgdGhyZXNob2xkIHNldFxuICAgIGlmIChcbiAgICAgIHRoaXMubWVldHNUaHJlc2hvbGQodGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5jb3VudFRpbGVXYXJuaW5nVGhyZXNob2xkKVxuICAgICkge1xuICAgICAgdGhpcy5jb3VudFRpbGVDbGFzcyA9ICd3YXJuaW5nJztcbiAgICB9XG4gICAgLy8gZXJyb3IgdGhyZXNob2xkIHNldFxuICAgIGlmICh0aGlzLm1lZXRzVGhyZXNob2xkKHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuY291bnRUaWxlRXJyb3JUaHJlc2hvbGQpKSB7XG4gICAgICB0aGlzLmNvdW50VGlsZUNsYXNzID0gJ2Vycm9yJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1lZXRzVGhyZXNob2xkKHRocmVzaG9sZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvdW50VGlsZVJlc3VsdD8uY291bnQgfHwgdGhyZXNob2xkID09PSBudWxsIHx8IHRocmVzaG9sZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGVUaHJlc2hvbGRJbnZlcnRcbiAgICAgID8gdGhpcy5jb3VudFRpbGVSZXN1bHQuY291bnQgPj0gdGhyZXNob2xkXG4gICAgICA6IHRoaXMuY291bnRUaWxlUmVzdWx0LmNvdW50IDw9IHRocmVzaG9sZDtcbiAgfVxuXG4gIG9uRW1pdFF1ZXJ5Q2xpY2soKSB7XG4gICAgZGVsZXRlIHRoaXMuX3F1ZXJ5LmZpZWxkcztcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChVdGlscy5mb3JtRGF0YVN0cmluZ2lmeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSkpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmlQYXJhbVF1ZXJ5LnF1ZXJ5UGFyYW1zKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL3Jlc3VsdD8nICsgcXVlcnlQYXJhbXM7XG4gICAgd2luZG93Lm9wZW4odXJsKTtcbiAgfVxufVxuIiwiPGEgY2xhc3M9XCJpbmZvXCIgW25nQ2xhc3NdPVwie3Zpc2libGU6IGhpdGxpc3RSZXN1bHQ/Lmxlbmd0aCA+IDB9XCIgKm5nSWY9XCJoaXRsaXN0UmVzdWx0ICYmICFyZWZyZXNoaW5nUmVxdWVzdFwiXG4gIChjbGljayk9XCJvbkVtaXRRdWVyeUNsaWNrKClcIj5cbiAgPGRpdiBjbGFzcz1cImNsclwiPlxuICAgIDxlby1pY29uIFtvYmplY3RUeXBlXT1cImhpdGxpc3RSZXN1bHRbMF0/LnR5cGVcIj48L2VvLWljb24+XG4gICAgPGRpdiBjbGFzcz1cImNvdW50XCI+e3t0aGlzLmNvdW50VGlsZVJlc3VsdD8uY291bnR9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1zZ1wiPnt7d2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc3RvcmVkUXVlcnl9fTwvZGl2PlxuPC9hPlxuXG48bWFpbiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICA8ZW8tbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvbWFpbj4iXX0=
|
package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtb2JqZWN0cy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2NvdW50LW9iamVjdHMtd2lkZ2V0L2NvdW50LW9iamVjdHMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ291bnRPYmplY3RzQ29uZmlnIHtcbiAgc3RvcmVkUXVlcnk6IHN0cmluZztcbiAgZm9ybVZhbHVlOiB7XG4gICAgLy8gbmFtZSBvZiB0aGUgc3RvcmVkUXVlcnkgZm9yIHRoZSB3aWRnZXQgdGl0bGVcbiAgICBzdG9yZWRRdWVyeTogc3RyaW5nO1xuICAgIGNvdW50VGlsZVN1Y2Nlc3NUaHJlc2hvbGQ/OiBudW1iZXI7XG4gICAgY291bnRUaWxlV2FybmluZ1RocmVzaG9sZD86IG51bWJlcjtcbiAgICBjb3VudFRpbGVFcnJvclRocmVzaG9sZD86IG51bWJlcjtcbiAgICBjb3VudFRpbGVUaHJlc2hvbGRJbnZlcnQ/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhpdGxpc3RDb3VudFRpbGVSZXN1bHQge1xuICBjb3VudDogbnVtYmVyO1xufVxuIl19
|