@eo-sdk/client 11.0.0-rc.2 → 11.0.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/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +17 -0
- 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 +25 -16
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +7 -0
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
- 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 +2 -0
- 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 +1 -0
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts.map +1 -1
- package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
- package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/codesystem-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -8
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/dynamic-list-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +1 -1
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +6 -2
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/util/services/utilities.service.d.ts +190 -0
- package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
- package/app/eo-framework-core/api/grid.service.d.ts +1 -5
- package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +13 -0
- package/assets/_default/i18n/en.json +17 -4
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +120 -12
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +87 -25
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +6 -4
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +7 -3
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +1 -1
- package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +3 -3
- package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +7 -10
- package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +4 -4
- package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +6 -6
- package/esm2022/app/eo-client/process-state/process-state.component.mjs +3 -3
- package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +4 -4
- package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +4 -5
- package/esm2022/app/eo-client/version-state/version-state.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +3 -3
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +3 -2
- package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
- package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +7 -5
- package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +6 -1
- package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +3 -3
- package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +1 -14
- package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +6 -33
- package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +1 -17
- package/esm2022/app/eo-framework/grid/filters/filesize-filter.component.mjs +2 -2
- package/esm2022/app/eo-framework/grid/grid.component.mjs +11 -12
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +42 -12
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +18 -27
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +2 -2
- package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +4 -4
- package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +7 -7
- package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -3
- package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -3
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +8 -5
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
- package/esm2022/app/eo-framework/util/services/utilities.service.mjs +4 -1
- package/esm2022/app/eo-framework-core/api/grid.service.mjs +9 -22
- package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +2 -2
- package/fesm2022/eo-sdk-client.mjs +386 -246
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/exclude-core-ng-package.js +11 -0
- package/misc/scripts/prebuild-about-state.js +2 -3
- package/package.json +4 -4
|
@@ -23,7 +23,8 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
23
23
|
if (this._widgetConfig?.formValue?.interval) {
|
|
24
24
|
this.rangeValues = this.generateRange(this._widgetConfig?.formValue?.interval, this._widgetConfig?.formValue?.startingpoint, this._widgetConfig?.formValue?.size);
|
|
25
25
|
}
|
|
26
|
-
this.generateChartData(this._widgetConfig?.formValue?.aggregation, this._widgetConfig?.aggregationType, this._widgetConfig?.formValue?.histogramType, this.rangeValues);
|
|
26
|
+
this.generateChartData(this._widgetConfig?.formValue?.aggregation, this._widgetConfig?.aggregationType, this._widgetConfig?.formValue?.histogramType, this.rangeValues, this._widgetConfig?.formValue?.sortRevert, this._widgetConfig?.formValue?.attributMetric, this._widgetConfig?.formValue?.metric, this._widgetConfig?.formValue?.minDocCount);
|
|
27
|
+
this.setLegendDiagramm();
|
|
27
28
|
}
|
|
28
29
|
}, (error) => {
|
|
29
30
|
if (error.status === 404) {
|
|
@@ -44,13 +45,11 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
44
45
|
this.translate = translate;
|
|
45
46
|
this.systemService = systemService;
|
|
46
47
|
this.sharedOptions = {
|
|
48
|
+
title: '',
|
|
47
49
|
color: {
|
|
48
50
|
text: '#925699',
|
|
49
51
|
label: '#925699'
|
|
50
52
|
},
|
|
51
|
-
legend: {
|
|
52
|
-
enabled: false,
|
|
53
|
-
},
|
|
54
53
|
resizable: true,
|
|
55
54
|
donut: {
|
|
56
55
|
'alignment': 'center'
|
|
@@ -60,38 +59,45 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
60
59
|
},
|
|
61
60
|
height: '400px',
|
|
62
61
|
curve: 'curveMonotoneX',
|
|
62
|
+
legend: {
|
|
63
|
+
'alignment': 'center'
|
|
64
|
+
},
|
|
63
65
|
axes: {
|
|
64
|
-
bottom: {
|
|
65
|
-
mapsTo: 'date',
|
|
66
|
-
scaleType: 'time',
|
|
67
|
-
},
|
|
68
66
|
left: {
|
|
69
67
|
mapsTo: 'value',
|
|
70
|
-
|
|
68
|
+
title: ''
|
|
69
|
+
},
|
|
70
|
+
bottom: {
|
|
71
|
+
mapsTo: 'group',
|
|
72
|
+
scaleType: 'labels',
|
|
73
|
+
title: ''
|
|
71
74
|
},
|
|
72
75
|
},
|
|
73
76
|
};
|
|
74
|
-
this.
|
|
77
|
+
this.lineStraightChartOption = {
|
|
75
78
|
...this.sharedOptions,
|
|
76
79
|
curve: undefined,
|
|
77
80
|
legend: {
|
|
78
81
|
enabled: false,
|
|
79
82
|
},
|
|
80
83
|
};
|
|
81
|
-
this.
|
|
84
|
+
this.lineCurveChartOption = {
|
|
82
85
|
...this.sharedOptions,
|
|
86
|
+
legend: {
|
|
87
|
+
enabled: false,
|
|
88
|
+
},
|
|
83
89
|
axes: {
|
|
90
|
+
bottom: {
|
|
91
|
+
mapsTo: 'date',
|
|
92
|
+
scaleType: 'time',
|
|
93
|
+
title: ''
|
|
94
|
+
},
|
|
84
95
|
left: {
|
|
85
96
|
mapsTo: 'value',
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
mapsTo: 'group',
|
|
89
|
-
scaleType: 'labels',
|
|
97
|
+
scaleType: 'linear',
|
|
98
|
+
title: ''
|
|
90
99
|
},
|
|
91
100
|
},
|
|
92
|
-
legend: {
|
|
93
|
-
'alignment': 'center'
|
|
94
|
-
},
|
|
95
101
|
};
|
|
96
102
|
this.chartData = [];
|
|
97
103
|
this.rangeValues = [];
|
|
@@ -113,7 +119,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
113
119
|
}
|
|
114
120
|
return rangeValues;
|
|
115
121
|
}
|
|
116
|
-
generateChartData(field, type, histogramType, rangeValues) {
|
|
122
|
+
generateChartData(field, type, histogramType, rangeValues, sort, attributMetric, metric, minDocCount) {
|
|
117
123
|
this.refreshingRequest = true;
|
|
118
124
|
const queryName = this._query.name;
|
|
119
125
|
delete this._query.name;
|
|
@@ -162,6 +168,45 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
162
168
|
this.refreshingRequest = false;
|
|
163
169
|
}
|
|
164
170
|
}
|
|
171
|
+
else if (attributMetric && metric) {
|
|
172
|
+
const fieldKey = field.replace('sysobject.', '').replace('sysdocument.', '');
|
|
173
|
+
const attributMetricKey = attributMetric.replace('sysobject.', '').replace('sysdocument.', '');
|
|
174
|
+
let aggsQquery;
|
|
175
|
+
aggsQquery = {
|
|
176
|
+
[fieldKey]: {
|
|
177
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
178
|
+
order: sort ? 'asc' : 'desc',
|
|
179
|
+
sort: attributMetricKey + '.value',
|
|
180
|
+
sub: {
|
|
181
|
+
[attributMetricKey]: {
|
|
182
|
+
metrics: this._widgetConfig?.formValue?.metric
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
this.searchService.executeQuery({
|
|
188
|
+
aggs: aggsQquery,
|
|
189
|
+
...this._query.getQueryJson()
|
|
190
|
+
}, true).subscribe((res) => {
|
|
191
|
+
this.refreshingRequest = false;
|
|
192
|
+
this._query.name = queryName;
|
|
193
|
+
if (res.aggregations[Object.keys(res.aggregations)[0]].buckets.length > 0) {
|
|
194
|
+
this.chartData = res.aggregations[Object.keys(res.aggregations)[0]].buckets.map((e) => {
|
|
195
|
+
return {
|
|
196
|
+
group: e.key.replace('_', '-'),
|
|
197
|
+
value: e[metric + '#' + attributMetric].value,
|
|
198
|
+
};
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
this.chartData = [];
|
|
203
|
+
this.refreshingRequest = false;
|
|
204
|
+
}
|
|
205
|
+
}, (error) => {
|
|
206
|
+
this.chartData = [];
|
|
207
|
+
this.refreshingRequest = false;
|
|
208
|
+
});
|
|
209
|
+
}
|
|
165
210
|
else {
|
|
166
211
|
const fieldKey = field.replace('sysobject.', '').replace('sysdocument.', '');
|
|
167
212
|
let aggsQquery;
|
|
@@ -169,13 +214,19 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
169
214
|
aggsQquery = {
|
|
170
215
|
[fieldKey]: {
|
|
171
216
|
size: this._widgetConfig?.formValue?.size || 10,
|
|
172
|
-
rg: rangeValues
|
|
217
|
+
rg: rangeValues,
|
|
218
|
+
order: sort ? 'asc' : 'desc',
|
|
219
|
+
sort: '_count',
|
|
220
|
+
min_doc_count: minDocCount
|
|
173
221
|
}
|
|
174
222
|
};
|
|
175
223
|
}
|
|
176
224
|
else {
|
|
177
225
|
aggsQquery = {
|
|
178
226
|
[fieldKey]: {
|
|
227
|
+
order: sort ? 'asc' : 'desc',
|
|
228
|
+
sort: '_count',
|
|
229
|
+
min_doc_count: minDocCount,
|
|
179
230
|
size: this._widgetConfig?.formValue?.size || 10,
|
|
180
231
|
}
|
|
181
232
|
};
|
|
@@ -197,7 +248,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
197
248
|
}
|
|
198
249
|
else {
|
|
199
250
|
return {
|
|
200
|
-
group: e.key,
|
|
251
|
+
group: e.key.replace('_', '-'),
|
|
201
252
|
value: e.doc_count,
|
|
202
253
|
};
|
|
203
254
|
}
|
|
@@ -257,12 +308,23 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
257
308
|
this.appSearchService.setQuery(this.storedQuery);
|
|
258
309
|
this.router.navigate([{ outlets: { modal: 'search' } }]);
|
|
259
310
|
}
|
|
311
|
+
setLegendDiagramm() {
|
|
312
|
+
this.sharedOptions.title = this.widgetConfig?.formValue.title;
|
|
313
|
+
this.sharedOptions.axes.bottom.title = this.widgetConfig?.formValue.xAxe;
|
|
314
|
+
this.sharedOptions.axes.left.title = this.widgetConfig?.formValue.yAxe;
|
|
315
|
+
this.lineCurveChartOption.title = this.widgetConfig?.formValue.title;
|
|
316
|
+
this.lineCurveChartOption.axes.bottom.title = this.widgetConfig?.formValue.xAxe;
|
|
317
|
+
this.lineCurveChartOption.axes.left.title = this.widgetConfig?.formValue.yAxe;
|
|
318
|
+
this.lineStraightChartOption.title = this.widgetConfig?.formValue.title;
|
|
319
|
+
this.lineStraightChartOption.axes.bottom.title = this.widgetConfig?.formValue.xAxe;
|
|
320
|
+
this.lineStraightChartOption.axes.left.title = this._widgetConfig?.formValue.yAxe;
|
|
321
|
+
}
|
|
260
322
|
refresh() {
|
|
261
323
|
this.getStoredQuery(this._widgetConfig.storedQuery).subscribe(() => {
|
|
262
324
|
this._query = this.searchService.buildQuery(this.storedQuery);
|
|
263
325
|
this._widgetConfig.formValue.storedQuery = this.storedQuery.name;
|
|
264
326
|
if (this._widgetConfig?.formValue?.aggregation) {
|
|
265
|
-
this.generateChartData(this._widgetConfig?.formValue?.aggregation, this._widgetConfig?.aggregationType, this._widgetConfig?.formValue?.histogramType, this.rangeValues);
|
|
327
|
+
this.generateChartData(this._widgetConfig?.formValue?.aggregation, this._widgetConfig?.aggregationType, this._widgetConfig?.formValue?.histogramType, this.rangeValues, this._widgetConfig?.formValue?.sortRevert, this._widgetConfig?.formValue?.attributMetric, this._widgetConfig?.formValue?.metric, this._widgetConfig?.formValue?.minDocCount);
|
|
266
328
|
}
|
|
267
329
|
}, (error) => {
|
|
268
330
|
this.chartData = [];
|
|
@@ -278,7 +340,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
278
340
|
window.open(url, event?.ctrlKey || this.editMode ? '_blank' : '_self');
|
|
279
341
|
}
|
|
280
342
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.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 }); }
|
|
281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ChartsWidgetComponent, selector: "eo-charts-widget", inputs: { editMode: "editMode", widgetConfig: "widgetConfig" }, ngImport: i0, template: "<header>\n <div class=\"header-title\">\n @if (widgetConfig?.formValue?.storedQuery) {\n <div class=\"title\">{{ widgetConfig?.formValue?.storedQuery }}</div>\n <div class=\"icons-title\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"\n (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 }\n </div>\n</header>\n\n@if (refreshingRequest) {\n <main class=\"loader-overlay__mask\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </main>\n} @else if (chartData.length > 0 && !refreshingRequest) {\n <main class=\"chart\">\n <div class=\"item\">\n @switch (widgetConfig!.formValue.chartType) {\n @case ('bar') {\n <ibm-simple-bar-chart [data]=\"chartData\" [options]=\"
|
|
343
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ChartsWidgetComponent, selector: "eo-charts-widget", inputs: { editMode: "editMode", widgetConfig: "widgetConfig" }, ngImport: i0, template: "<header>\n <div class=\"header-title\">\n @if (widgetConfig?.formValue?.storedQuery) {\n <div class=\"title\">{{ widgetConfig?.formValue?.storedQuery }}</div>\n <div class=\"icons-title\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"\n (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 }\n </div>\n</header>\n\n@if (refreshingRequest) {\n <main class=\"loader-overlay__mask\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </main>\n} @else if (chartData.length > 0 && !refreshingRequest) {\n <main class=\"chart\">\n <div class=\"item\">\n @switch (widgetConfig!.formValue.chartType) {\n @case ('bar') {\n <ibm-simple-bar-chart [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-simple-bar-chart>\n }\n @case ('pie') {\n <ibm-pie-chart [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-pie-chart>\n }\n @case ('donut') {\n <ibm-donut-chart [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-donut-chart>\n }\n @case ('lineStraight') {\n <ibm-line-chart [data]=\"chartData\" [options]=\"lineStraightChartOption\"></ibm-line-chart>\n }\n @case ('lineCurve') {\n <ibm-line-chart [data]=\"chartData\" [options]=\"lineCurveChartOption\"></ibm-line-chart>\n }\n }\n </div>\n </main>\n} @else {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n}\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);-webkit-animation:eoFadeIn .2s;animation:eoFadeIn .2s}:host main.chart{overflow-y:hidden}:host main.chart .item{height:92%;padding:calc(var(--app-pane-padding) / 2)}:host .empty{display:contents}::ng-deep .cds--cc--chart-wrapper text{fill:#000}::ng-deep .cds--chart-holder{height:100%!important}::ng-deep .cds--cc--chart-wrapper p{color:#000}::ng-deep .cds--cc--axes g.axis g.tick text{fill:#000}::ng-deep .cds--cc--title p.title,::ng-deep .yuv-widget-headline{font-size:var(--font-title)}::ng-deep .cds--cc--axes g.axis .axis-title{font-size:var(--font-subhead)}\n"], dependencies: [{ kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i5.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i6.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i7.SimpleBarChartComponent, selector: "ibm-simple-bar-chart" }, { kind: "component", type: i7.DonutChartComponent, selector: "ibm-donut-chart" }, { kind: "component", type: i7.LineChartComponent, selector: "ibm-line-chart" }, { kind: "component", type: i7.PieChartComponent, selector: "ibm-pie-chart" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
282
344
|
};
|
|
283
345
|
ChartsWidgetComponent = __decorate([
|
|
284
346
|
UntilDestroy()
|
|
@@ -286,10 +348,10 @@ ChartsWidgetComponent = __decorate([
|
|
|
286
348
|
export { ChartsWidgetComponent };
|
|
287
349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChartsWidgetComponent, decorators: [{
|
|
288
350
|
type: Component,
|
|
289
|
-
args: [{ selector: 'eo-charts-widget', template: "<header>\n <div class=\"header-title\">\n @if (widgetConfig?.formValue?.storedQuery) {\n <div class=\"title\">{{ widgetConfig?.formValue?.storedQuery }}</div>\n <div class=\"icons-title\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"\n (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 }\n </div>\n</header>\n\n@if (refreshingRequest) {\n <main class=\"loader-overlay__mask\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </main>\n} @else if (chartData.length > 0 && !refreshingRequest) {\n <main class=\"chart\">\n <div class=\"item\">\n @switch (widgetConfig!.formValue.chartType) {\n @case ('bar') {\n <ibm-simple-bar-chart [data]=\"chartData\" [options]=\"
|
|
351
|
+
args: [{ selector: 'eo-charts-widget', template: "<header>\n <div class=\"header-title\">\n @if (widgetConfig?.formValue?.storedQuery) {\n <div class=\"title\">{{ widgetConfig?.formValue?.storedQuery }}</div>\n <div class=\"icons-title\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"\n (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 }\n </div>\n</header>\n\n@if (refreshingRequest) {\n <main class=\"loader-overlay__mask\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </main>\n} @else if (chartData.length > 0 && !refreshingRequest) {\n <main class=\"chart\">\n <div class=\"item\">\n @switch (widgetConfig!.formValue.chartType) {\n @case ('bar') {\n <ibm-simple-bar-chart [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-simple-bar-chart>\n }\n @case ('pie') {\n <ibm-pie-chart [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-pie-chart>\n }\n @case ('donut') {\n <ibm-donut-chart [data]=\"chartData\" [options]=\"sharedOptions\"></ibm-donut-chart>\n }\n @case ('lineStraight') {\n <ibm-line-chart [data]=\"chartData\" [options]=\"lineStraightChartOption\"></ibm-line-chart>\n }\n @case ('lineCurve') {\n <ibm-line-chart [data]=\"chartData\" [options]=\"lineCurveChartOption\"></ibm-line-chart>\n }\n }\n </div>\n </main>\n} @else {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n}\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);-webkit-animation:eoFadeIn .2s;animation:eoFadeIn .2s}:host main.chart{overflow-y:hidden}:host main.chart .item{height:92%;padding:calc(var(--app-pane-padding) / 2)}:host .empty{display:contents}::ng-deep .cds--cc--chart-wrapper text{fill:#000}::ng-deep .cds--chart-holder{height:100%!important}::ng-deep .cds--cc--chart-wrapper p{color:#000}::ng-deep .cds--cc--axes g.axis g.tick text{fill:#000}::ng-deep .cds--cc--title p.title,::ng-deep .yuv-widget-headline{font-size:var(--font-title)}::ng-deep .cds--cc--axes g.axis .axis-title{font-size:var(--font-subhead)}\n"] }]
|
|
290
352
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.SearchService }, { type: i3.AppSearchService }, { type: i2.StoredQueriesService }, { type: i2.TranslateService }, { type: i2.SystemService }], propDecorators: { editMode: [{
|
|
291
353
|
type: Input
|
|
292
354
|
}], widgetConfig: [{
|
|
293
355
|
type: Input
|
|
294
356
|
}] } });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY2hhcnRzLXdpZGdldC9jaGFydHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWlHLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUluSSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRW5FLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBUXpCLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBaUVoQyxJQUFhLFlBQVksQ0FBQyxDQUFzQjtRQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFT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RyxVQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ25GLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQTdSVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix3SENmbEMsa29FQWtEQTs7QURuQ2EscUJBQXFCO0lBTmpDLFlBQVksRUFBRTtHQU1GLHFCQUFxQixDQThSakM7OzJGQTlSWSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCO29PQW1FbkIsUUFBUTtzQkFBaEIsS0FBSztnQkFFTyxZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2VhcmNoUXVlcnksIFNlYXJjaFNlcnZpY2UsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTdG9yZWRRdWVyeSwgU3lzdGVtU2VydmljZSwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0lXaWRnZXRDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtJY2hhcnRzfSBmcm9tICcuL2ljaGFydHMnO1xuaW1wb3J0IHtBcHBTZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RU1QVFksIHRhcH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY2hhcnRzLXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnRzLXdpZGdldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0c1dpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQge1xuICBoaXN0b2dyYW06IGFueTtcbiAgc2hhcmVkT3B0aW9ucyA9IHtcbiAgICBjb2xvcjoge1xuICAgICAgdGV4dDogJyM5MjU2OTknLFxuICAgICAgbGFiZWw6ICcjOTI1Njk5J1xuICAgIH0sXG4gICAgbGVnZW5kOiB7XG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICBkb251dDoge1xuICAgICAgJ2FsaWdubWVudCc6ICdjZW50ZXInXG4gICAgfSxcblxuICAgIHRvb2xiYXI6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgaGVpZ2h0OiAnNDAwcHgnLFxuICAgIGN1cnZlOiAnY3VydmVNb25vdG9uZVgnLFxuICAgIGF4ZXM6IHtcbiAgICAgIGJvdHRvbToge1xuICAgICAgICBtYXBzVG86ICdkYXRlJyxcbiAgICAgICAgc2NhbGVUeXBlOiAndGltZScsXG4gICAgICB9LFxuICAgICAgbGVmdDoge1xuICAgICAgICBtYXBzVG86ICd2YWx1ZScsXG4gICAgICAgIHNjYWxlVHlwZTogJ2xpbmVhcicsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgY2hhcnRPcHRpb25zMiA9IHtcbiAgICAuLi50aGlzLnNoYXJlZE9wdGlvbnMsXG4gICAgY3VydmU6IHVuZGVmaW5lZCxcbiAgICBsZWdlbmQ6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gIH07XG5cbiAgY2hhcnRPcHRpb25zID0ge1xuICAgIC4uLnRoaXMuc2hhcmVkT3B0aW9ucyxcbiAgICBheGVzOiB7XG4gICAgICBsZWZ0OiB7XG4gICAgICAgIG1hcHNUbzogJ3ZhbHVlJyxcbiAgICAgIH0sXG4gICAgICBib3R0b206IHtcbiAgICAgICAgbWFwc1RvOiAnZ3JvdXAnLFxuICAgICAgICBzY2FsZVR5cGU6ICdsYWJlbHMnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGxlZ2VuZDoge1xuICAgICAgJ2FsaWdubWVudCc6ICdjZW50ZXInXG4gICAgfSxcbiAgfTtcblxuICBjaGFydERhdGE6IHtncm91cDogc3RyaW5nOyB2YWx1ZTogYW55OyBkYXRlOiBzdHJpbmd9W10gPSBbXTtcbiAgcHJpdmF0ZSBfcXVlcnk6IFNlYXJjaFF1ZXJ5O1xuICByZWZyZXNoaW5nUmVxdWVzdDogYm9vbGVhbjtcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuICBwcml2YXRlIF93aWRnZXRDb25maWc6IEljaGFydHMgfCB1bmRlZmluZWQ7XG4gIHJhbmdlVmFsdWVzID0gW107XG5cbiAgQElucHV0KCkgZWRpdE1vZGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IEljaGFydHMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5ICYmIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbikge1xuICAgICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5zdG9yZWRRdWVyeSk7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24pIHtcbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmludGVydmFsKSB7XG4gICAgICAgICAgICB0aGlzLnJhbmdlVmFsdWVzID0gdGhpcy5nZW5lcmF0ZVJhbmdlKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5pbnRlcnZhbCwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnN0YXJ0aW5ncG9pbnQsIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYXJ0RGF0YSh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24sIHRoaXMuX3dpZGdldENvbmZpZz8uYWdncmVnYXRpb25UeXBlLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSwgdGhpcy5yYW5nZVZhbHVlcyk7XG4gICAgICAgIH1cbiAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlXG4gICkgeyB9XG5cbiAgZ2V0U3RvcmVkUXVlcnkoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJ5KGlkKS5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICB0YXAoc3RvcmVkUXVlcnkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gc3RvcmVkUXVlcnk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlUmFuZ2UoaW50ZXJ2YWwsIHN0YXJ0LCBzaXplKSB7XG4gICAgY29uc3QgcmFuZ2VWYWx1ZXMgPSBbXTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IHNpemU7IGorKykge1xuICAgICAgY29uc3QgcmFuZ2VJdGVtID0ge1xuICAgICAgICBvMTogcGFyc2VGbG9hdChzdGFydCArIGogKiBpbnRlcnZhbCksXG4gICAgICAgIG8yOiBwYXJzZUZsb2F0KHN0YXJ0ICsgKGogKyAxKSAqIGludGVydmFsKSxcbiAgICAgIH07XG4gICAgICByYW5nZVZhbHVlcy5wdXNoKHJhbmdlSXRlbSk7XG4gICAgfVxuICAgIHJldHVybiByYW5nZVZhbHVlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVDaGFydERhdGEoZmllbGQsIHR5cGUsIGhpc3RvZ3JhbVR5cGUsIHJhbmdlVmFsdWVzKSB7XG4gICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICBkZWxldGUgdGhpcy5fcXVlcnkubmFtZTtcbiAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcblxuICAgIGlmICh0eXBlID09PSAnREFURVRJTUUnICYmIGhpc3RvZ3JhbVR5cGUpIHtcbiAgICAgIGNvbnN0IGhpc3RvZ3JhbUNvbmZpZyA9IHtcbiAgICAgICAgJ3llYXJseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ3llYXInLCBmb3JtYXQ6ICd5eXl5J30sXG4gICAgICAgICd3ZWVrbHknOiB7Y2FsZW5kYXJfaW50ZXJ2YWw6ICd3ZWVrJywgZm9ybWF0OiAneXl5eS13dyd9LFxuICAgICAgICAnbW9udGhseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ21vbnRoJywgZm9ybWF0OiAneXl5eS1NTSd9LFxuICAgICAgICAnZGFpbHknOiB7Y2FsZW5kYXJfaW50ZXJ2YWw6ICdkYXknLCBmb3JtYXQ6ICd5eXl5LU1NLWRkJ31cbiAgICAgIH07XG4gICAgICBpZiAoaGlzdG9ncmFtQ29uZmlnLmhhc093blByb3BlcnR5KGhpc3RvZ3JhbVR5cGUpKSB7XG4gICAgICAgIHRoaXMuaGlzdG9ncmFtID0gaGlzdG9ncmFtQ29uZmlnW2hpc3RvZ3JhbVR5cGVdO1xuICAgICAgICB0aGlzLmhpc3RvZ3JhbS5zaXplID0gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNpemUgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSA6IDEwO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgICAgICBhZ2dzOiB7XG4gICAgICAgICAgICBbZmllbGQucmVwbGFjZSgnc3lzb2JqZWN0LicsICcnKV06IHtcbiAgICAgICAgICAgICAgaGlzdG9ncmFtOiB0aGlzLmhpc3RvZ3JhbVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4udGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKClcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmV4ZWN1dGVRdWVyeShxdWVyeSwgdHJ1ZSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgYWdncmVnYXRpb25LZXkgPSBPYmplY3Qua2V5cyhyZXMuYWdncmVnYXRpb25zKVswXTtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICAgIGlmICh0aGlzLndpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5jaGFydFR5cGUgPT09ICdsaW5lQ3VydmUnIHx8IHRoaXMud2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmNoYXJ0VHlwZSA9PT0gJ2xpbmVTdHJhaWdodCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9uc1thZ2dyZWdhdGlvbktleV0uYnVja2V0cy5tYXAoKGUpID0+ICh7XG4gICAgICAgICAgICAgIGdyb3VwOiAnZGF0YXNldDEnLFxuICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGUua2V5KS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnNbYWdncmVnYXRpb25LZXldLmJ1Y2tldHMubWFwKChlKSA9PiAoe1xuICAgICAgICAgICAgICBncm91cDogZS5rZXlfYXNfc3RyaW5nLFxuICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmllbGRLZXkgPSBmaWVsZC5yZXBsYWNlKCdzeXNvYmplY3QuJywgJycpLnJlcGxhY2UoJ3N5c2RvY3VtZW50LicsICcnKTtcbiAgICAgIGxldCBhZ2dzUXF1ZXJ5O1xuXG4gICAgICBpZiAoT2JqZWN0LmtleXMocmFuZ2VWYWx1ZXMpLmxlbmd0aCAhPT0gMCAmJiB0eXBlID09PSAnTlVNQkVSJykge1xuICAgICAgICBhZ2dzUXF1ZXJ5ID0ge1xuICAgICAgICAgIFtmaWVsZEtleV06IHtcbiAgICAgICAgICAgIHNpemU6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaXplIHx8IDEwLFxuICAgICAgICAgICAgcmc6IHJhbmdlVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWdnc1FxdWVyeSA9IHtcbiAgICAgICAgICBbZmllbGRLZXldOiB7XG4gICAgICAgICAgICBzaXplOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSB8fCAxMCxcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZXhlY3V0ZVF1ZXJ5KFxuICAgICAgICB7XG4gICAgICAgICAgICBhZ2dzOiBhZ2dzUXF1ZXJ5XG4gICAgICAgICAgLCAuLi50aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKVxuICAgICAgICB9LCB0cnVlKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fcXVlcnkubmFtZSA9IHF1ZXJ5TmFtZTtcbiAgICAgICAgICBpZiAocmVzLmFnZ3JlZ2F0aW9uc1tPYmplY3Qua2V5cyhyZXMuYWdncmVnYXRpb25zKVswXV0uYnVja2V0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnNbT2JqZWN0LmtleXMocmVzLmFnZ3JlZ2F0aW9ucylbMF1dLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnQk9PTEVBTicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgZ3JvdXA6IGUua2V5ID09PSAwID8gJ1xcdTI2MTAnIDogJ1xcdTI2MTEnLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIGdyb3VwOiBlLmtleSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c29iamVjdC5tb2RpZmllZCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9ucy5tb2RpZmllZC5idWNrZXRzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdyb3VwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2guYWdnLnRpbWUuJyArIGUua2V5KSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c29iamVjdC5jcmVhdGVkJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLmNyZWF0ZWQuYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncm91cDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLmFnZy50aW1lLicgKyBlLmtleSksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24gPT09ICdzeXNkb2N1bWVudC5taW1ldHlwZWdyb3VwJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLm1pbWV0eXBlZ3JvdXAuYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncm91cDogZS5rZXksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24gPT09ICdzeXNvYmplY3QudHlwZScpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9ucy50eXBlLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGUua2V5KS5sYWJlbCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c2RvY3VtZW50LmZpbGVzaXplJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLmZpbGVzaXplLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC5hZ2cuZmlsZXNpemUuJyArIGUua2V5KSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFF1ZXJ5VG9BcHBTZWFyY2goKSB7XG4gICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uKSB7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVDaGFydERhdGEodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uLCB0aGlzLl93aWRnZXRDb25maWc/LmFnZ3JlZ2F0aW9uVHlwZSwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/Lmhpc3RvZ3JhbVR5cGUsIHRoaXMucmFuZ2VWYWx1ZXMpO1xuICAgICAgfVxuICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uRW1pdFF1ZXJ5Q2xpY2soZXZlbnQpIHtcbiAgICBkZWxldGUgdGhpcy5fcXVlcnkuZmllbGRzO1xuICAgIGNvbnN0IHVyaVBhcmFtID0gZW5jb2RlVVJJQ29tcG9uZW50KFV0aWxzLmZvcm1EYXRhU3RyaW5naWZ5KHRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpKSk7XG4gICAgY29uc3QgdXJpUGFyYW1RdWVyeTogTmF2aWdhdGlvbkV4dHJhcyA9IHtxdWVyeVBhcmFtczogeydxdWVyeSc6IHVyaVBhcmFtfX07XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVyaVBhcmFtUXVlcnkucXVlcnlQYXJhbXMpLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy9kYXNoYm9hcmQnKVswXSArICcvcmVzdWx0PycgKyBxdWVyeVBhcmFtcztcbiAgICB3aW5kb3cub3Blbih1cmwsIGV2ZW50Py5jdHJsS2V5IHx8IHRoaXMuZWRpdE1vZGUgPyAnX2JsYW5rJyA6ICdfc2VsZicpO1xuICB9XG59XG4iLCI8aGVhZGVyPlxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XG4gICAgQGlmICh3aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc3RvcmVkUXVlcnkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IHdpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zdG9yZWRRdWVyeSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImljb25zLXRpdGxlXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zYXZlZF9zZWFyY2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRRdWVyeVRvQXBwU2VhcmNoKClcIlxuICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5zYXZlZFNlYXJjaEljb24nfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfb3Blbl90YWIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVtaXRRdWVyeUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5vcGVuaW5yZXN1bHRsaXN0J3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiIChjbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5yZWZyZXNoJ3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2hlYWRlcj5cblxuQGlmIChyZWZyZXNoaW5nUmVxdWVzdCkge1xuICA8bWFpbiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCI+XG4gICAgPGVvLWxvYWRpbmctc3Bpbm5lciBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG4gIDwvbWFpbj5cbn0gQGVsc2UgaWYgKGNoYXJ0RGF0YS5sZW5ndGggPiAwICYmICFyZWZyZXNoaW5nUmVxdWVzdCkge1xuICA8bWFpbiBjbGFzcz1cImNoYXJ0XCI+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW1cIj5cbiAgICAgIEBzd2l0Y2ggKHdpZGdldENvbmZpZyEuZm9ybVZhbHVlLmNoYXJ0VHlwZSkge1xuICAgICAgICBAY2FzZSAoJ2JhcicpIHtcbiAgICAgICAgICA8aWJtLXNpbXBsZS1iYXItY2hhcnQgW2RhdGFdPVwiY2hhcnREYXRhXCIgW29wdGlvbnNdPVwiY2hhcnRPcHRpb25zXCI+PC9pYm0tc2ltcGxlLWJhci1jaGFydD5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ3BpZScpIHtcbiAgICAgICAgICA8aWJtLXBpZS1jaGFydCBbZGF0YV09XCJjaGFydERhdGFcIiBbb3B0aW9uc109XCJjaGFydE9wdGlvbnNcIj48L2libS1waWUtY2hhcnQ+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdkb251dCcpIHtcbiAgICAgICAgICA8aWJtLWRvbnV0LWNoYXJ0IFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cImNoYXJ0T3B0aW9uc1wiPjwvaWJtLWRvbnV0LWNoYXJ0PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnbGluZVN0cmFpZ2h0Jykge1xuICAgICAgICAgIDxpYm0tbGluZS1jaGFydCBbZGF0YV09XCJjaGFydERhdGFcIiBbb3B0aW9uc109XCJjaGFydE9wdGlvbnMyXCI+PC9pYm0tbGluZS1jaGFydD5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ2xpbmVDdXJ2ZScpIHtcbiAgICAgICAgICA8aWJtLWxpbmUtY2hhcnQgW2RhdGFdPVwiY2hhcnREYXRhXCIgW29wdGlvbnNdPVwic2hhcmVkT3B0aW9uc1wiPjwvaWJtLWxpbmUtY2hhcnQ+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9tYWluPlxufSBAZWxzZSB7XG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5jb25maWd1cmF0aW9uLm5vdE9rJ31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gIDwvZGl2PlxufVxuIl19
|
|
357
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY2hhcnRzLXdpZGdldC9jaGFydHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWlHLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUluSSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRW5FLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBUXpCLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBdUVoQyxJQUFhLFlBQVksQ0FBQyxDQUFzQjtRQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFT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QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDMUIsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sYUFBYSxHQUFxQixFQUFDLFdBQVcsRUFBRSxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsRUFBQyxDQUFDO1FBQzNFLE1BQU0sV0FBVyxHQUFHLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5RSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFdBQVcsQ0FBQztRQUNuRixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0F4V1UscUJBQXFCO2tHQUFyQixxQkFBcUIsd0hDZmxDLHNwRUFrREE7O0FEbkNhLHFCQUFxQjtJQU5qQyxZQUFZLEVBQUU7R0FNRixxQkFBcUIsQ0F5V2pDOzsyRkF6V1kscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjtvT0F5RW5CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRU8sWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlYXJjaFF1ZXJ5LCBTZWFyY2hTZXJ2aWNlLCBTdG9yZWRRdWVyaWVzU2VydmljZSwgU3RvcmVkUXVlcnksIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SWNoYXJ0c30gZnJvbSAnLi9pY2hhcnRzJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0VNUFRZLCB0YXB9IGZyb20gJ3J4anMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWNoYXJ0cy13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnRzLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0cy13aWRnZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFydHNXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0Q29tcG9uZW50IHtcbiAgaGlzdG9ncmFtOiBhbnk7XG4gIFxuICBzaGFyZWRPcHRpb25zID0ge1xuICAgIHRpdGxlOiAnJyxcbiAgICBjb2xvcjoge1xuICAgICAgdGV4dDogJyM5MjU2OTknLFxuICAgICAgbGFiZWw6ICcjOTI1Njk5J1xuICAgIH0sXG4gICAgcmVzaXphYmxlOiB0cnVlLFxuICAgIGRvbnV0OiB7XG4gICAgICAnYWxpZ25tZW50JzogJ2NlbnRlcidcbiAgICB9LFxuXG4gICAgdG9vbGJhcjoge1xuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgICBoZWlnaHQ6ICc0MDBweCcsXG4gICAgY3VydmU6ICdjdXJ2ZU1vbm90b25lWCcsXG4gICAgbGVnZW5kOiB7XG4gICAgICAnYWxpZ25tZW50JzogJ2NlbnRlcidcbiAgICB9LFxuICAgIGF4ZXM6IHtcbiAgICAgIGxlZnQ6IHtcbiAgICAgICAgbWFwc1RvOiAndmFsdWUnLFxuICAgICAgICB0aXRsZTogJydcbiAgICAgIH0sXG4gICAgICBib3R0b206IHtcbiAgICAgICAgbWFwc1RvOiAnZ3JvdXAnLFxuICAgICAgICBzY2FsZVR5cGU6ICdsYWJlbHMnLFxuICAgICAgICB0aXRsZTogJydcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBsaW5lU3RyYWlnaHRDaGFydE9wdGlvbiA9IHtcbiAgICAuLi50aGlzLnNoYXJlZE9wdGlvbnMsXG4gICAgY3VydmU6IHVuZGVmaW5lZCxcbiAgICBsZWdlbmQ6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gIH07XG5cbiAgbGluZUN1cnZlQ2hhcnRPcHRpb24gPSB7XG4gICAgLi4udGhpcy5zaGFyZWRPcHRpb25zLFxuICAgIGxlZ2VuZDoge1xuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgICBheGVzOiB7XG4gICAgICBib3R0b206IHtcbiAgICAgICAgbWFwc1RvOiAnZGF0ZScsXG4gICAgICAgIHNjYWxlVHlwZTogJ3RpbWUnLFxuICAgICAgICB0aXRsZTogJydcbiAgICAgIH0sXG4gICAgICBsZWZ0OiB7XG4gICAgICAgIG1hcHNUbzogJ3ZhbHVlJyxcbiAgICAgICAgc2NhbGVUeXBlOiAnbGluZWFyJyxcbiAgICAgICAgdGl0bGU6ICcnXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgY2hhcnREYXRhOiB7Z3JvdXA6IHN0cmluZzsgdmFsdWU6IGFueTsgZGF0ZTogc3RyaW5nfVtdID0gW107XG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeTtcbiAgcmVmcmVzaGluZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBJY2hhcnRzIHwgdW5kZWZpbmVkO1xuICByYW5nZVZhbHVlcyA9IFtdO1xuXG4gIEBJbnB1dCgpIGVkaXRNb2RlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBJY2hhcnRzIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSAmJiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24pIHtcbiAgICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5ID0gdGhpcy5zdG9yZWRRdWVyeS5uYW1lO1xuICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uKSB7XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5pbnRlcnZhbCkge1xuICAgICAgICAgICAgdGhpcy5yYW5nZVZhbHVlcyA9IHRoaXMuZ2VuZXJhdGVSYW5nZSh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaW50ZXJ2YWwsIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zdGFydGluZ3BvaW50LCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVDaGFydERhdGEodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uLCB0aGlzLl93aWRnZXRDb25maWc/LmFnZ3JlZ2F0aW9uVHlwZSxcbiAgICAgICAgICAgIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5oaXN0b2dyYW1UeXBlLFxuICAgICAgICAgICAgdGhpcy5yYW5nZVZhbHVlcywgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNvcnRSZXZlcnQsXG4gICAgICAgICAgICB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYXR0cmlidXRNZXRyaWMsXG4gICAgICAgICAgICB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8ubWV0cmljLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8ubWluRG9jQ291bnRcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuc2V0TGVnZW5kRGlhZ3JhbW0oKTtcbiAgICAgICAgfVxuICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU2VhcmNoU2VydmljZTogQXBwU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2VcbiAgKSB7IH1cblxuICBnZXRTdG9yZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0U3RvcmVkUXVlcnkoaWQpLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIHRhcChzdG9yZWRRdWVyeSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBzdG9yZWRRdWVyeTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVSYW5nZShpbnRlcnZhbCwgc3RhcnQsIHNpemUpIHtcbiAgICBjb25zdCByYW5nZVZhbHVlcyA9IFtdO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgc2l6ZTsgaisrKSB7XG4gICAgICBjb25zdCByYW5nZUl0ZW0gPSB7XG4gICAgICAgIG8xOiBwYXJzZUZsb2F0KHN0YXJ0ICsgaiAqIGludGVydmFsKSxcbiAgICAgICAgbzI6IHBhcnNlRmxvYXQoc3RhcnQgKyAoaiArIDEpICogaW50ZXJ2YWwpLFxuICAgICAgfTtcbiAgICAgIHJhbmdlVmFsdWVzLnB1c2gocmFuZ2VJdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIHJhbmdlVmFsdWVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUNoYXJ0RGF0YShmaWVsZCwgdHlwZSwgaGlzdG9ncmFtVHlwZSwgcmFuZ2VWYWx1ZXMsIHNvcnQsIGF0dHJpYnV0TWV0cmljLCBtZXRyaWMsIG1pbkRvY0NvdW50KSB7XG4gICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICBkZWxldGUgdGhpcy5fcXVlcnkubmFtZTtcbiAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcblxuICAgIGlmICh0eXBlID09PSAnREFURVRJTUUnICYmIGhpc3RvZ3JhbVR5cGUpIHtcbiAgICAgIGNvbnN0IGhpc3RvZ3JhbUNvbmZpZyA9IHtcbiAgICAgICAgJ3llYXJseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ3llYXInLCBmb3JtYXQ6ICd5eXl5J30sXG4gICAgICAgICd3ZWVrbHknOiB7Y2FsZW5kYXJfaW50ZXJ2YWw6ICd3ZWVrJywgZm9ybWF0OiAneXl5eS13dyd9LFxuICAgICAgICAnbW9udGhseSc6IHtjYWxlbmRhcl9pbnRlcnZhbDogJ21vbnRoJywgZm9ybWF0OiAneXl5eS1NTSd9LFxuICAgICAgICAnZGFpbHknOiB7Y2FsZW5kYXJfaW50ZXJ2YWw6ICdkYXknLCBmb3JtYXQ6ICd5eXl5LU1NLWRkJ31cbiAgICAgIH07XG4gICAgICBpZiAoaGlzdG9ncmFtQ29uZmlnLmhhc093blByb3BlcnR5KGhpc3RvZ3JhbVR5cGUpKSB7XG4gICAgICAgIHRoaXMuaGlzdG9ncmFtID0gaGlzdG9ncmFtQ29uZmlnW2hpc3RvZ3JhbVR5cGVdO1xuICAgICAgICB0aGlzLmhpc3RvZ3JhbS5zaXplID0gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNpemUgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSA6IDEwO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgICAgICBhZ2dzOiB7XG4gICAgICAgICAgICBbZmllbGQucmVwbGFjZSgnc3lzb2JqZWN0LicsICcnKV06IHtcbiAgICAgICAgICAgICAgaGlzdG9ncmFtOiB0aGlzLmhpc3RvZ3JhbVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4udGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKClcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmV4ZWN1dGVRdWVyeShxdWVyeSwgdHJ1ZSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgYWdncmVnYXRpb25LZXkgPSBPYmplY3Qua2V5cyhyZXMuYWdncmVnYXRpb25zKVswXTtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICAgIGlmICh0aGlzLndpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5jaGFydFR5cGUgPT09ICdsaW5lQ3VydmUnIHx8IHRoaXMud2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmNoYXJ0VHlwZSA9PT0gJ2xpbmVTdHJhaWdodCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9uc1thZ2dyZWdhdGlvbktleV0uYnVja2V0cy5tYXAoKGUpID0+ICh7XG4gICAgICAgICAgICAgIGdyb3VwOiAnZGF0YXNldDEnLFxuICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGUua2V5KS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnNbYWdncmVnYXRpb25LZXldLmJ1Y2tldHMubWFwKChlKSA9PiAoe1xuICAgICAgICAgICAgICBncm91cDogZS5rZXlfYXNfc3RyaW5nLFxuICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGF0dHJpYnV0TWV0cmljICYmIG1ldHJpYykge1xuICAgICAgY29uc3QgZmllbGRLZXkgPSBmaWVsZC5yZXBsYWNlKCdzeXNvYmplY3QuJywgJycpLnJlcGxhY2UoJ3N5c2RvY3VtZW50LicsICcnKTtcbiAgICAgIGNvbnN0IGF0dHJpYnV0TWV0cmljS2V5ID0gYXR0cmlidXRNZXRyaWMucmVwbGFjZSgnc3lzb2JqZWN0LicsICcnKS5yZXBsYWNlKCdzeXNkb2N1bWVudC4nLCAnJyk7XG4gICAgICBsZXQgYWdnc1FxdWVyeTtcbiAgICAgIGFnZ3NRcXVlcnkgPSB7XG4gICAgICAgIFtmaWVsZEtleV06IHtcbiAgICAgICAgICBzaXplOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSB8fCAxMCxcbiAgICAgICAgICBvcmRlcjogc29ydCA/ICdhc2MnIDogJ2Rlc2MnLFxuICAgICAgICAgIHNvcnQ6IGF0dHJpYnV0TWV0cmljS2V5ICsgJy52YWx1ZScsXG4gICAgICAgICAgc3ViOiB7XG4gICAgICAgICAgICBbYXR0cmlidXRNZXRyaWNLZXldOiB7XG4gICAgICAgICAgICAgIG1ldHJpY3M6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5tZXRyaWNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZXhlY3V0ZVF1ZXJ5KFxuICAgICAgICB7XG4gICAgICAgICAgYWdnczogYWdnc1FxdWVyeVxuICAgICAgICAgICwgLi4udGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKClcbiAgICAgICAgfSwgdHJ1ZSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fcXVlcnkubmFtZSA9IHF1ZXJ5TmFtZTtcbiAgICAgICAgICBpZiAocmVzLmFnZ3JlZ2F0aW9uc1tPYmplY3Qua2V5cyhyZXMuYWdncmVnYXRpb25zKVswXV0uYnVja2V0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnNbT2JqZWN0LmtleXMocmVzLmFnZ3JlZ2F0aW9ucylbMF1dLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IGUua2V5LnJlcGxhY2UoJ18nLCAnLScpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBlW21ldHJpYyArICcjJyArIGF0dHJpYnV0TWV0cmljXS52YWx1ZSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gW107XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpZWxkS2V5ID0gZmllbGQucmVwbGFjZSgnc3lzb2JqZWN0LicsICcnKS5yZXBsYWNlKCdzeXNkb2N1bWVudC4nLCAnJyk7XG4gICAgICBsZXQgYWdnc1FxdWVyeTtcblxuICAgICAgaWYgKE9iamVjdC5rZXlzKHJhbmdlVmFsdWVzKS5sZW5ndGggIT09IDAgJiYgdHlwZSA9PT0gJ05VTUJFUicpIHtcbiAgICAgICAgYWdnc1FxdWVyeSA9IHtcbiAgICAgICAgICBbZmllbGRLZXldOiB7XG4gICAgICAgICAgICBzaXplOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2l6ZSB8fCAxMCxcbiAgICAgICAgICAgIHJnOiByYW5nZVZhbHVlcyxcbiAgICAgICAgICAgIG9yZGVyOiBzb3J0ID8gJ2FzYycgOiAnZGVzYycsXG4gICAgICAgICAgICBzb3J0OiAnX2NvdW50JyxcbiAgICAgICAgICAgIG1pbl9kb2NfY291bnQ6IG1pbkRvY0NvdW50XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWdnc1FxdWVyeSA9IHtcbiAgICAgICAgICBbZmllbGRLZXldOiB7XG4gICAgICAgICAgICBvcmRlcjogc29ydCA/ICdhc2MnIDogJ2Rlc2MnLFxuICAgICAgICAgICAgc29ydDogJ19jb3VudCcsXG4gICAgICAgICAgICBtaW5fZG9jX2NvdW50OiBtaW5Eb2NDb3VudCxcbiAgICAgICAgICAgIHNpemU6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaXplIHx8IDEwLFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5leGVjdXRlUXVlcnkoXG4gICAgICAgIHtcbiAgICAgICAgICBhZ2dzOiBhZ2dzUXF1ZXJ5XG4gICAgICAgICAgLCAuLi50aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKVxuICAgICAgICB9LCB0cnVlKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fcXVlcnkubmFtZSA9IHF1ZXJ5TmFtZTtcbiAgICAgICAgICBpZiAocmVzLmFnZ3JlZ2F0aW9uc1tPYmplY3Qua2V5cyhyZXMuYWdncmVnYXRpb25zKVswXV0uYnVja2V0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IHJlcy5hZ2dyZWdhdGlvbnNbT2JqZWN0LmtleXMocmVzLmFnZ3JlZ2F0aW9ucylbMF1dLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnQk9PTEVBTicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgZ3JvdXA6IGUua2V5ID09PSAwID8gJ1xcdTI2MTAnIDogJ1xcdTI2MTEnLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIGdyb3VwOiBlLmtleS5yZXBsYWNlKCdfJywgJy0nKSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBlLmRvY19jb3VudCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c29iamVjdC5tb2RpZmllZCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9ucy5tb2RpZmllZC5idWNrZXRzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdyb3VwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2guYWdnLnRpbWUuJyArIGUua2V5KSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c29iamVjdC5jcmVhdGVkJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLmNyZWF0ZWQuYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncm91cDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLmFnZy50aW1lLicgKyBlLmtleSksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24gPT09ICdzeXNkb2N1bWVudC5taW1ldHlwZWdyb3VwJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLm1pbWV0eXBlZ3JvdXAuYnVja2V0cy5tYXAoKGUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncm91cDogZS5rZXksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGUuZG9jX2NvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uYWdncmVnYXRpb24gPT09ICdzeXNvYmplY3QudHlwZScpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnREYXRhID0gcmVzLmFnZ3JlZ2F0aW9ucy50eXBlLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGUua2V5KS5sYWJlbCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5hZ2dyZWdhdGlvbiA9PT0gJ3N5c2RvY3VtZW50LmZpbGVzaXplJykge1xuICAgICAgICAgICAgdGhpcy5jaGFydERhdGEgPSByZXMuYWdncmVnYXRpb25zLmZpbGVzaXplLmJ1Y2tldHMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC5hZ2cuZmlsZXNpemUuJyArIGUua2V5KSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS5kb2NfY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0RGF0YSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFF1ZXJ5VG9BcHBTZWFyY2goKSB7XG4gICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gIH1cblxuICBwcml2YXRlIHNldExlZ2VuZERpYWdyYW1tKCkge1xuICAgIHRoaXMuc2hhcmVkT3B0aW9ucy50aXRsZSA9IHRoaXMud2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUudGl0bGU7XG4gICAgdGhpcy5zaGFyZWRPcHRpb25zLmF4ZXMuYm90dG9tLnRpdGxlID0gdGhpcy53aWRnZXRDb25maWc/LmZvcm1WYWx1ZS54QXhlO1xuICAgIHRoaXMuc2hhcmVkT3B0aW9ucy5heGVzLmxlZnQudGl0bGUgPSB0aGlzLndpZGdldENvbmZpZz8uZm9ybVZhbHVlLnlBeGU7XG5cbiAgICB0aGlzLmxpbmVDdXJ2ZUNoYXJ0T3B0aW9uLnRpdGxlID0gdGhpcy53aWRnZXRDb25maWc/LmZvcm1WYWx1ZS50aXRsZTtcbiAgICB0aGlzLmxpbmVDdXJ2ZUNoYXJ0T3B0aW9uLmF4ZXMuYm90dG9tLnRpdGxlID0gdGhpcy53aWRnZXRDb25maWc/LmZvcm1WYWx1ZS54QXhlO1xuICAgIHRoaXMubGluZUN1cnZlQ2hhcnRPcHRpb24uYXhlcy5sZWZ0LnRpdGxlID0gdGhpcy53aWRnZXRDb25maWc/LmZvcm1WYWx1ZS55QXhlO1xuXG4gICAgdGhpcy5saW5lU3RyYWlnaHRDaGFydE9wdGlvbi50aXRsZSA9IHRoaXMud2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUudGl0bGU7XG4gICAgdGhpcy5saW5lU3RyYWlnaHRDaGFydE9wdGlvbi5heGVzLmJvdHRvbS50aXRsZSA9IHRoaXMud2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUueEF4ZTtcbiAgICB0aGlzLmxpbmVTdHJhaWdodENoYXJ0T3B0aW9uLmF4ZXMubGVmdC50aXRsZSA9IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnlBeGU7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uKSB7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVDaGFydERhdGEodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmFnZ3JlZ2F0aW9uLCB0aGlzLl93aWRnZXRDb25maWc/LmFnZ3JlZ2F0aW9uVHlwZSxcbiAgICAgICAgICB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSwgdGhpcy5yYW5nZVZhbHVlcywgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNvcnRSZXZlcnQsXG4gICAgICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmF0dHJpYnV0TWV0cmljLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8ubWV0cmljLFxuICAgICAgICAgIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5taW5Eb2NDb3VudCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIHRoaXMuY2hhcnREYXRhID0gW107XG4gICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBvbkVtaXRRdWVyeUNsaWNrKGV2ZW50KSB7XG4gICAgZGVsZXRlIHRoaXMuX3F1ZXJ5LmZpZWxkcztcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChVdGlscy5mb3JtRGF0YVN0cmluZ2lmeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSkpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmlQYXJhbVF1ZXJ5LnF1ZXJ5UGFyYW1zKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL3Jlc3VsdD8nICsgcXVlcnlQYXJhbXM7XG4gICAgd2luZG93Lm9wZW4odXJsLCBldmVudD8uY3RybEtleSB8fCB0aGlzLmVkaXRNb2RlID8gJ19ibGFuaycgOiAnX3NlbGYnKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgIEBpZiAod2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57eyB3aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc3RvcmVkUXVlcnkgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy10aXRsZVwiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc2F2ZWRfc2VhcmNoLnN2ZydcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0UXVlcnlUb0FwcFNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAuc2F2ZWRTZWFyY2hJY29uJ3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX29wZW5fdGFiLnN2ZydcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FbWl0UXVlcnlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAub3BlbmlucmVzdWx0bGlzdCd8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIiAoY2xpY2spPVwicmVmcmVzaCgpXCJcbiAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAucmVmcmVzaCd8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9oZWFkZXI+XG5cbkBpZiAocmVmcmVzaGluZ1JlcXVlc3QpIHtcbiAgPG1haW4gY2xhc3M9XCJsb2FkZXItb3ZlcmxheV9fbWFza1wiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwiJ2xhcmdlJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuICA8L21haW4+XG59IEBlbHNlIGlmIChjaGFydERhdGEubGVuZ3RoID4gMCAmJiAhcmVmcmVzaGluZ1JlcXVlc3QpIHtcbiAgPG1haW4gY2xhc3M9XCJjaGFydFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCI+XG4gICAgICBAc3dpdGNoICh3aWRnZXRDb25maWchLmZvcm1WYWx1ZS5jaGFydFR5cGUpIHtcbiAgICAgICAgQGNhc2UgKCdiYXInKSB7XG4gICAgICAgICAgPGlibS1zaW1wbGUtYmFyLWNoYXJ0IFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cInNoYXJlZE9wdGlvbnNcIj48L2libS1zaW1wbGUtYmFyLWNoYXJ0PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgncGllJykge1xuICAgICAgICAgIDxpYm0tcGllLWNoYXJ0IFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cInNoYXJlZE9wdGlvbnNcIj48L2libS1waWUtY2hhcnQ+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdkb251dCcpIHtcbiAgICAgICAgICA8aWJtLWRvbnV0LWNoYXJ0IFtkYXRhXT1cImNoYXJ0RGF0YVwiIFtvcHRpb25zXT1cInNoYXJlZE9wdGlvbnNcIj48L2libS1kb251dC1jaGFydD5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ2xpbmVTdHJhaWdodCcpIHtcbiAgICAgICAgICA8aWJtLWxpbmUtY2hhcnQgW2RhdGFdPVwiY2hhcnREYXRhXCIgW29wdGlvbnNdPVwibGluZVN0cmFpZ2h0Q2hhcnRPcHRpb25cIj48L2libS1saW5lLWNoYXJ0PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnbGluZUN1cnZlJykge1xuICAgICAgICAgIDxpYm0tbGluZS1jaGFydCBbZGF0YV09XCJjaGFydERhdGFcIiBbb3B0aW9uc109XCJsaW5lQ3VydmVDaGFydE9wdGlvblwiPjwvaWJtLWxpbmUtY2hhcnQ+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9tYWluPlxufSBAZWxzZSB7XG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5jb25maWd1cmF0aW9uLm5vdE9rJ31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gIDwvZGl2PlxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNoYXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2NoYXJ0cy13aWRnZXQvaWNoYXJ0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJY2hhcnRzIHtcbiAgICBzdG9yZWRRdWVyeTogc3RyaW5nO1xuICAgIGZvcm1WYWx1ZToge1xuICAgICAgICBjaGFydFR5cGU6IHN0cmluZztcbiAgICAgICAgLy8gbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIGZldGNoZWRcbiAgICAgICAgc2l6ZTogbnVtYmVyO1xuICAgICAgICBhZ2dyZWdhdGlvbjogc3RyaW5nO1xuICAgICAgICBzdG9yZWRRdWVyeTogc3RyaW5nO1xuICAgICAgICBoaXN0b2dyYW1UeXBlOiBzdHJpbmc7XG4gICAgICAgIGF0dHJpYnV0TWV0cmljOiBzdHJpbmc7XG4gICAgICAgIG1ldHJpYzogc3RyaW5nO1xuICAgICAgICAvLyByZXZlcnQgc29ydCBkaXJlY3Rpb24gZnJvbSBBU0MgdG8gREVTQ1xuICAgICAgICBzb3J0UmV2ZXJ0PzogYm9vbGVhbjtcbiAgICAgICAgaW50ZXJ2YWw6IG51bWJlcjtcbiAgICAgICAgbWluRG9jQ291bnQ6IG51bWJlcjtcbiAgICAgICAgc3RhcnRpbmdwb2ludDogbnVtYmVyO1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICB4QXhlOiBzdHJpbmc7XG4gICAgICAgIHlBeGU6IHN0cmluZztcbiAgICB9O1xuICAgIGFnZ3JlZ2F0aW9uVHlwZTogc3RyaW5nO1xufVxuXG4iXX0=
|
|
@@ -34,6 +34,7 @@ let CountObjectsSetupComponent = class CountObjectsSetupComponent {
|
|
|
34
34
|
countTileWarningThreshold: [],
|
|
35
35
|
countTileErrorThreshold: [],
|
|
36
36
|
countTileThresholdInvert: [false],
|
|
37
|
+
showZero: [true]
|
|
37
38
|
});
|
|
38
39
|
this.countTileThresholdDesc = this.translate.instant('eo.widget.hitcount.form.desc.threshold');
|
|
39
40
|
this.storedQueriesPicker = {
|
|
@@ -102,13 +103,14 @@ let CountObjectsSetupComponent = class CountObjectsSetupComponent {
|
|
|
102
103
|
storedQuery: this.storedQuery ? this.storedQuery.name : '',
|
|
103
104
|
countTileSuccessThreshold: this._widgetConfig?.formValue.countTileSuccessThreshold ? this._widgetConfig?.formValue.countTileSuccessThreshold : '',
|
|
104
105
|
countTileWarningThreshold: this._widgetConfig?.formValue.countTileWarningThreshold ? this._widgetConfig?.formValue.countTileWarningThreshold : '',
|
|
105
|
-
countTileErrorThreshold: this._widgetConfig?.formValue.countTileErrorThreshold ? this._widgetConfig?.formValue.countTileErrorThreshold : ''
|
|
106
|
+
countTileErrorThreshold: this._widgetConfig?.formValue.countTileErrorThreshold ? this._widgetConfig?.formValue.countTileErrorThreshold : '',
|
|
107
|
+
showZero: this._widgetConfig?.formValue?.showZero ? this._widgetConfig?.formValue?.showZero : '',
|
|
106
108
|
});
|
|
107
109
|
});
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CountObjectsSetupComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TranslateService }, { token: i3.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: CountObjectsSetupComponent, selector: "eo-count-objects-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange", widgetConfigStateChange: "widgetConfigStateChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n @if (storedQueriesPicker?.codesystem?.entries) {\n <eo-form-input [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\"\n [invalid]=\"setupForm.dirty && setupForm.get('storedQuery').invalid\">\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 @if (setupForm.dirty && setupForm.get('storedQuery').hasError('required')) {\n <div class=\"err-msg\" translate>\n eo.form.property.required\n </div>\n }\n }\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 <div class=\"desc\">{{ countTileThresholdDesc }}</div>\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\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\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 </form>\n</div>\n@if (setupForm.valid) {\n <div class=\"preview\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n </div>\n} @else {\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}
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: CountObjectsSetupComponent, selector: "eo-count-objects-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange", widgetConfigStateChange: "widgetConfigStateChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n @if (storedQueriesPicker?.codesystem?.entries) {\n <eo-form-input [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\"\n [invalid]=\"setupForm.dirty && setupForm.get('storedQuery').invalid\">\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 @if (setupForm.dirty && setupForm.get('storedQuery').hasError('required')) {\n <div class=\"err-msg\" translate>\n eo.form.property.required\n </div>\n }\n }\n\n <eo-form-input class=\"label checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.showZero' | translate\">\n <eo-checkbox formControlName=\"showZero\">\n </eo-checkbox>\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 <div class=\"desc\">{{ countTileThresholdDesc }}</div>\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\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\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 </form>\n</div>\n@if (setupForm.valid) {\n <div class=\"preview\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n </div>\n} @else {\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}", 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 .setup .desc{color:var(--text-color-caption)}: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: 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: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i5.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i6.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i7.NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: i8.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i9.CountObjectsWidgetComponent, selector: "eo-count-objects-widget", inputs: ["widgetConfig"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
112
114
|
};
|
|
113
115
|
CountObjectsSetupComponent = __decorate([
|
|
114
116
|
UntilDestroy()
|
|
@@ -116,7 +118,7 @@ CountObjectsSetupComponent = __decorate([
|
|
|
116
118
|
export { CountObjectsSetupComponent };
|
|
117
119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CountObjectsSetupComponent, decorators: [{
|
|
118
120
|
type: Component,
|
|
119
|
-
args: [{ selector: 'eo-count-objects-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n @if (storedQueriesPicker?.codesystem?.entries) {\n <eo-form-input [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\"\n [invalid]=\"setupForm.dirty && setupForm.get('storedQuery').invalid\">\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 @if (setupForm.dirty && setupForm.get('storedQuery').hasError('required')) {\n <div class=\"err-msg\" translate>\n eo.form.property.required\n </div>\n }\n }\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 <div class=\"desc\">{{ countTileThresholdDesc }}</div>\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\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\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 </form>\n</div>\n@if (setupForm.valid) {\n <div class=\"preview\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n </div>\n} @else {\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}
|
|
121
|
+
args: [{ selector: 'eo-count-objects-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n @if (storedQueriesPicker?.codesystem?.entries) {\n <eo-form-input [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\"\n [invalid]=\"setupForm.dirty && setupForm.get('storedQuery').invalid\">\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 @if (setupForm.dirty && setupForm.get('storedQuery').hasError('required')) {\n <div class=\"err-msg\" translate>\n eo.form.property.required\n </div>\n }\n }\n\n <eo-form-input class=\"label checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.widget.hitcount.form.label.showZero' | translate\">\n <eo-checkbox formControlName=\"showZero\">\n </eo-checkbox>\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 <div class=\"desc\">{{ countTileThresholdDesc }}</div>\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\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\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 </form>\n</div>\n@if (setupForm.valid) {\n <div class=\"preview\">\n <eo-count-objects-widget [widgetConfig]=\"widgetConfig\"></eo-count-objects-widget>\n </div>\n} @else {\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}", 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 .setup .desc{color:var(--text-color-caption)}:host .preview{background-color:var(--main-background);padding:var(--app-pane-padding);display:flex;justify-content:center;align-items:center;pointer-events:none}\n"] }]
|
|
120
122
|
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.TranslateService }, { type: i3.StoredQueriesService }], propDecorators: { widgetConfigChange: [{
|
|
121
123
|
type: Output
|
|
122
124
|
}], widgetConfigStateChange: [{
|
|
@@ -124,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
124
126
|
}], widgetConfig: [{
|
|
125
127
|
type: Input
|
|
126
128
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtb2JqZWN0cy1zZXR1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jb3VudC1vYmplY3RzLXdpZGdldC9jb3VudC1vYmplY3RzLXNldHVwL2NvdW50LW9iamVjdHMtc2V0dXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy1zZXR1cC9jb3VudC1vYmplY3RzLXNldHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBMEQsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQW9DLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBUXJDLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBNEJyQyxJQUFhLFlBQVksQ0FBQyxDQUFxQjtRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUNVLEVBQXNCLEVBQ3RCLFNBQTJCLEVBQzNCLG9CQUEwQztRQUYxQyxPQUFFLEdBQUYsRUFB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QjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7eUpBT3hCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBd0JNLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7Q291bnRPYmplY3RzQ29uZmlnfSBmcm9tICcuLi9jb3VudC1vYmplY3RzLm1vZGVsJztcbmltcG9ydCB7Rm9ybUNvbnRyb2xTdGF0dXMsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7RU1QVFksIGNhdGNoRXJyb3IsIHRhcH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY291bnQtb2JqZWN0cy1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3VudC1vYmplY3RzLXNldHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291bnQtb2JqZWN0cy1zZXR1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvdW50T2JqZWN0c1NldHVwQ29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCwgT25Jbml0IHtcblxuICBwcml2YXRlIF93aWRnZXRDb25maWc6IENvdW50T2JqZWN0c0NvbmZpZztcbiAgQE91dHB1dCgpIHdpZGdldENvbmZpZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q291bnRPYmplY3RzQ29uZmlnPigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Db250cm9sU3RhdHVzPigpO1xuICBzdG9yZWRRdWVyaWVzOiBTdG9yZWRRdWVyeVtdO1xuXG4gIHNldHVwRm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHN0b3JlZFF1ZXJ5OiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgc2l6ZTogW10sXG4gICAgY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZDogW10sXG4gICAgY291bnRUaWxlV2FybmluZ1RocmVzaG9sZDogW10sXG4gICAgY291bnRUaWxlRXJyb3JUaHJlc2hvbGQ6IFtdLFxuICAgIGNvdW50VGlsZVRocmVzaG9sZEludmVydDogW2ZhbHNlXSxcbiAgfSk7XG5cbiAgY291bnRUaWxlVGhyZXNob2xkRGVzYyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmRlc2MudGhyZXNob2xkJyk7XG5cbiAgc3RvcmVkUXVlcmllc1BpY2tlciA9IHtcbiAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXMnKSxcbiAgICBjb2Rlc3lzdGVtOiBudWxsLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHBhcmFtZXRlcjogbnVsbCxcbiAgICB0eXBlczogbnVsbFxuICB9O1xuICBzZWxlY3RlZFNhdmVkU2VhcmNoTmFtZSA9ICcnO1xuICBzdG9yZWRRdWVyeTogU3RvcmVkUXVlcnk7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBDb3VudE9iamVjdHNDb25maWcpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnNldHVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldENvbmZpZygpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0dXBGb3JtLnN0YXR1c0NoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCh2KSA9PiB7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ1N0YXRlQ2hhbmdlLmVtaXQodik7XG4gICAgfSk7XG4gICAgdGhpcy5nZXRTdG9yZWRRdWVyeXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlnKCkge1xuICAgIHRoaXMuY291bnRUaWxlVGhyZXNob2xkRGVzYyA9IHRoaXMuc2V0dXBGb3JtLnZhbHVlLmNvdW50VGlsZVRocmVzaG9sZEludmVydCA/XG4gICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud2lkZ2V0LmhpdGNvdW50LmZvcm0uZGVzYy50aHJlc2hvbGQnKSA6XG4gICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud2lkZ2V0LmhpdGNvdW50LmZvcm0uZGVzYy50aHJlc2hvbGQuaW52ZXJ0ZWQnKTtcbiAgICBpZiAodGhpcy5zZXR1cEZvcm0udmFsaWQgJiYgdGhpcy5zdG9yZWRRdWVyaWVzKSB7XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gdGhpcy5zdG9yZWRRdWVyaWVzLmZpbmQoKHNxKSA9PiBzcS5uYW1lID09PSB0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWUpO1xuICAgICAgdGhpcy53aWRnZXRDb25maWcgPSB7XG4gICAgICAgIHN0b3JlZFF1ZXJ5OiB0aGlzLnN0b3JlZFF1ZXJ5Py5pZCxcbiAgICAgICAgZm9ybVZhbHVlOiB0aGlzLnNldHVwRm9ybS52YWx1ZSxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSB0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWU7XG4gICAgICB9XG4gICAgICB0aGlzLndpZGdldENvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuX3dpZGdldENvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmVkUXVlcnlzKCkge1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2VcbiAgICAgIC5mZXRjaFN0b3JlZFF1ZXJpZXMoKS5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICkuc3Vic2NyaWJlKHN0b3JlZFF1ZXJpZXMgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSBzdG9yZWRRdWVyaWVzO1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNQaWNrZXIuY29kZXN5c3RlbSA9IHtcbiAgICAgICAgICBlbnRyaWVzOiB0aGlzLnN0b3JlZFF1ZXJpZXMubWFwKHN0b3JlZFF1ZXJ5ID0+ICh7XG4gICAgICAgICAgICBpZDogc3RvcmVkUXVlcnkuaWQsXG4gICAgICAgICAgICBsYWJlbDogc3RvcmVkUXVlcnkubmFtZSxcbiAgICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogc3RvcmVkUXVlcnkubmFtZSxcbiAgICAgICAgICAgIGRhdGE6IHN0b3JlZFF1ZXJ5Lm5hbWVcbiAgICAgICAgICB9KSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0U3RvcmVkUXVlcnkoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJ5KGlkKS5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICB0YXAoc3RvcmVkUXVlcnkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gc3RvcmVkUXVlcnk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSkge1xuICAgICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICBzdG9yZWRRdWVyeTogJycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIHN0b3JlZFF1ZXJ5OiB0aGlzLnN0b3JlZFF1ZXJ5ID8gdGhpcy5zdG9yZWRRdWVyeS5uYW1lIDogJycsXG4gICAgICAgICAgICBjb3VudFRpbGVTdWNjZXNzVGhyZXNob2xkOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGVTdWNjZXNzVGhyZXNob2xkID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZCA6ICcnLFxuICAgICAgICAgICAgY291bnRUaWxlV2FybmluZ1RocmVzaG9sZDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlV2FybmluZ1RocmVzaG9sZCA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZVdhcm5pbmdUaHJlc2hvbGQgOiAnJyxcbiAgICAgICAgICAgIGNvdW50VGlsZUVycm9yVGhyZXNob2xkOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGVFcnJvclRocmVzaG9sZCA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZUVycm9yVGhyZXNob2xkIDogJydcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2V0dXBcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJzZXR1cEZvcm1cIj5cbiAgICBAaWYgKHN0b3JlZFF1ZXJpZXNQaWNrZXI/LmNvZGVzeXN0ZW0/LmVudHJpZXMpIHtcbiAgICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidlby5zZWFyY2gudGl0bGUuc3RvcmVkcXVlcmllcycgfCB0cmFuc2xhdGVcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuc3RvcmVkLnF1ZXJpZXMuZGVzY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgIFtpbnZhbGlkXT1cInNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLmludmFsaWRcIj5cbiAgICAgICAgPGVvLWNvZGVzeXN0ZW0gZm9ybUNvbnRyb2xOYW1lPVwic3RvcmVkUXVlcnlcIiBbcGlja2VyVGl0bGVdPVwic3RvcmVkUXVlcmllc1BpY2tlci50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb2Rlc3lzdGVtXT1cInN0b3JlZFF1ZXJpZXNQaWNrZXIuY29kZXN5c3RlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtlbXB0eU1lc3NhZ2VdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuc3RvcmVkLnF1ZXJpZXMubGlzdC5ub3RBdmFpbGFibGUnXCI+PC9lby1jb2Rlc3lzdGVtPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgQGlmIChzZXR1cEZvcm0uZGlydHkgJiYgc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiIHRyYW5zbGF0ZT5cbiAgICAgICAgICBlby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkXG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIH1cblxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmxhYmVsLmNvdW50VGlsZVRocmVzaG9sZEludmVydCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb3VudFRpbGVUaHJlc2hvbGRJbnZlcnRcIj5cbiAgICAgIDwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJkZXNjXCI+e3sgY291bnRUaWxlVGhyZXNob2xkRGVzYyB9fTwvZGl2PlxuXG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJ0aHJlc2hvbGQtc3VjY2Vzc1wiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInZW8ud2lkZ2V0LmhpdGNvdW50LmZvcm0ubGFiZWwudGhyZXNob2xkLnN1Y2Nlc3MnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tbnVtYmVyIFtzY2FsZV09XCIwXCIgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZFwiPlxuICAgICAgPC9lby1udW1iZXI+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJ0aHJlc2hvbGQtd2FybmluZ1wiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInZW8ud2lkZ2V0LmhpdGNvdW50LmZvcm0ubGFiZWwudGhyZXNob2xkLndhcm5pbmcnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tbnVtYmVyIFtzY2FsZV09XCIwXCIgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRUaWxlV2FybmluZ1RocmVzaG9sZFwiPlxuICAgICAgPC9lby1udW1iZXI+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJ0aHJlc2hvbGQtZXJyb3JcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmxhYmVsLnRocmVzaG9sZC5lcnJvcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxlby1udW1iZXIgW3NjYWxlXT1cIjBcIiBmb3JtQ29udHJvbE5hbWU9XCJjb3VudFRpbGVFcnJvclRocmVzaG9sZFwiPlxuICAgICAgPC9lby1udW1iZXI+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG48L2Rpdj5cbkBpZiAoc2V0dXBGb3JtLnZhbGlkKSB7XG4gIDxkaXYgY2xhc3M9XCJwcmV2aWV3XCI+XG4gICAgPGVvLWNvdW50LW9iamVjdHMtd2lkZ2V0IFt3aWRnZXRDb25maWddPVwid2lkZ2V0Q29uZmlnXCI+PC9lby1jb3VudC1vYmplY3RzLXdpZGdldD5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfc2F2ZWRfc2VhcmNoLnN2ZycsIHRleHQ6ICdlby53b3Jrc3BhY2Uud2lkZ2V0LnN0b3JlZC5xdWVyaWVzLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgPC9kaXY+XG59XG4iXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtb2JqZWN0cy1zZXR1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jb3VudC1vYmplY3RzLXdpZGdldC9jb3VudC1vYmplY3RzLXNldHVwL2NvdW50LW9iamVjdHMtc2V0dXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvY291bnQtb2JqZWN0cy13aWRnZXQvY291bnQtb2JqZWN0cy1zZXR1cC9jb3VudC1vYmplY3RzLXNldHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBMEQsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQW9DLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBUXJDLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBNkJyQyxJQUFhLFlBQVksQ0FBQyxDQUFxQjtRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUNVLEVBQXNCLEVBQ3RCLFNBQTJCLEVBQzNCLG9CQUEwQztRQUYxQyxPQUFFLEdBQUYsRUFB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QUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7OEdBcEhVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLG1OQ2Z2QyxndEZBMkRDOztBRDVDWSwwQkFBMEI7SUFOdEMsWUFBWSxFQUFFO0dBTUYsMEJBQTBCLENBcUh0Qzs7MkZBckhZLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7eUpBT3hCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBeUJNLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7Q291bnRPYmplY3RzQ29uZmlnfSBmcm9tICcuLi9jb3VudC1vYmplY3RzLm1vZGVsJztcbmltcG9ydCB7Rm9ybUNvbnRyb2xTdGF0dXMsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7RU1QVFksIGNhdGNoRXJyb3IsIHRhcH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY291bnQtb2JqZWN0cy1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3VudC1vYmplY3RzLXNldHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291bnQtb2JqZWN0cy1zZXR1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvdW50T2JqZWN0c1NldHVwQ29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCwgT25Jbml0IHtcblxuICBwcml2YXRlIF93aWRnZXRDb25maWc6IENvdW50T2JqZWN0c0NvbmZpZztcbiAgQE91dHB1dCgpIHdpZGdldENvbmZpZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q291bnRPYmplY3RzQ29uZmlnPigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Db250cm9sU3RhdHVzPigpO1xuICBzdG9yZWRRdWVyaWVzOiBTdG9yZWRRdWVyeVtdO1xuXG4gIHNldHVwRm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHN0b3JlZFF1ZXJ5OiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgc2l6ZTogW10sXG4gICAgY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZDogW10sXG4gICAgY291bnRUaWxlV2FybmluZ1RocmVzaG9sZDogW10sXG4gICAgY291bnRUaWxlRXJyb3JUaHJlc2hvbGQ6IFtdLFxuICAgIGNvdW50VGlsZVRocmVzaG9sZEludmVydDogW2ZhbHNlXSxcbiAgICBzaG93WmVybzogW3RydWVdXG4gIH0pO1xuXG4gIGNvdW50VGlsZVRocmVzaG9sZERlc2MgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53aWRnZXQuaGl0Y291bnQuZm9ybS5kZXNjLnRocmVzaG9sZCcpO1xuXG4gIHN0b3JlZFF1ZXJpZXNQaWNrZXIgPSB7XG4gICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC50aXRsZS5zdG9yZWRxdWVyaWVzJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBwYXJhbWV0ZXI6IG51bGwsXG4gICAgdHlwZXM6IG51bGxcbiAgfTtcbiAgc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSAnJztcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRDb25maWcoYzogQ291bnRPYmplY3RzQ29uZmlnKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5zZXRXaWRnZXRDb25maWcoKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldHVwRm9ybS5zdGF0dXNDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgodikgPT4ge1xuICAgICAgdGhpcy53aWRnZXRDb25maWdTdGF0ZUNoYW5nZS5lbWl0KHYpO1xuICAgIH0pO1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnlzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFdpZGdldENvbmZpZygpIHtcbiAgICB0aGlzLmNvdW50VGlsZVRocmVzaG9sZERlc2MgPSB0aGlzLnNldHVwRm9ybS52YWx1ZS5jb3VudFRpbGVUaHJlc2hvbGRJbnZlcnQgP1xuICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmRlc2MudGhyZXNob2xkJykgOlxuICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmRlc2MudGhyZXNob2xkLmludmVydGVkJyk7XG4gICAgaWYgKHRoaXMuc2V0dXBGb3JtLnZhbGlkICYmIHRoaXMuc3RvcmVkUXVlcmllcykge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcmllcy5maW5kKChzcSkgPT4gc3EubmFtZSA9PT0gdGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlKTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnID0ge1xuICAgICAgICBzdG9yZWRRdWVyeTogdGhpcy5zdG9yZWRRdWVyeT8uaWQsXG4gICAgICAgIGZvcm1WYWx1ZTogdGhpcy5zZXR1cEZvcm0udmFsdWUsXG4gICAgICB9O1xuICAgICAgaWYgKHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZFNhdmVkU2VhcmNoTmFtZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lID0gdGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlO1xuICAgICAgfVxuICAgICAgdGhpcy53aWRnZXRDb25maWdDaGFuZ2UuZW1pdCh0aGlzLl93aWRnZXRDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIGdldFN0b3JlZFF1ZXJ5cygpIHtcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICAgICAuZmV0Y2hTdG9yZWRRdWVyaWVzKCkucGlwZShcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICApLnN1YnNjcmliZShzdG9yZWRRdWVyaWVzID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzID0gc3RvcmVkUXVlcmllcztcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzUGlja2VyLmNvZGVzeXN0ZW0gPSB7XG4gICAgICAgICAgZW50cmllczogdGhpcy5zdG9yZWRRdWVyaWVzLm1hcChzdG9yZWRRdWVyeSA9PiAoe1xuICAgICAgICAgICAgaWQ6IHN0b3JlZFF1ZXJ5LmlkLFxuICAgICAgICAgICAgbGFiZWw6IHN0b3JlZFF1ZXJ5Lm5hbWUsXG4gICAgICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHN0b3JlZFF1ZXJ5Lm5hbWUsXG4gICAgICAgICAgICBkYXRhOiBzdG9yZWRRdWVyeS5uYW1lXG4gICAgICAgICAgfSkpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKSksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldFN0b3JlZFF1ZXJ5KGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyeShpZCkucGlwZShcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgdGFwKHN0b3JlZFF1ZXJ5ID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyeSA9IHN0b3JlZFF1ZXJ5O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkpIHtcbiAgICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSkucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgc3RvcmVkUXVlcnk6ICcnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgICkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXR1cEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBzdG9yZWRRdWVyeTogdGhpcy5zdG9yZWRRdWVyeSA/IHRoaXMuc3RvcmVkUXVlcnkubmFtZSA6ICcnLFxuICAgICAgICAgICAgY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlU3VjY2Vzc1RocmVzaG9sZCA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZVN1Y2Nlc3NUaHJlc2hvbGQgOiAnJyxcbiAgICAgICAgICAgIGNvdW50VGlsZVdhcm5pbmdUaHJlc2hvbGQ6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZVdhcm5pbmdUaHJlc2hvbGQgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGVXYXJuaW5nVGhyZXNob2xkIDogJycsXG4gICAgICAgICAgICBjb3VudFRpbGVFcnJvclRocmVzaG9sZDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlRXJyb3JUaHJlc2hvbGQgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGVFcnJvclRocmVzaG9sZCA6ICcnLFxuICAgICAgICAgICAgc2hvd1plcm86IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaG93WmVybyA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaG93WmVybyA6ICcnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgIEBpZiAoc3RvcmVkUXVlcmllc1BpY2tlcj8uY29kZXN5c3RlbT8uZW50cmllcykge1xuICAgICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLnNlYXJjaC50aXRsZS5zdG9yZWRxdWVyaWVzJyB8IHRyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5kZXNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICAgW2ludmFsaWRdPVwic2V0dXBGb3JtLmRpcnR5ICYmIHNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykuaW52YWxpZFwiPlxuICAgICAgICA8ZW8tY29kZXN5c3RlbSBmb3JtQ29udHJvbE5hbWU9XCJzdG9yZWRRdWVyeVwiIFtwaWNrZXJUaXRsZV09XCJzdG9yZWRRdWVyaWVzUGlja2VyLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvZGVzeXN0ZW1dPVwic3RvcmVkUXVlcmllc1BpY2tlci5jb2Rlc3lzdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2VtcHR5TWVzc2FnZV09XCInZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0Lm5vdEF2YWlsYWJsZSdcIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICBAaWYgKHNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIGVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWRcbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgfVxuXG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJsYWJlbCBjaGVja2JveFwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmxhYmVsLnNob3daZXJvJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInNob3daZXJvXCI+XG4gICAgICA8L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICBcbiAgICA8ZW8tZm9ybS1pbnB1dCBjbGFzcz1cImxhYmVsIGNoZWNrYm94XCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidlby53aWRnZXQuaGl0Y291bnQuZm9ybS5sYWJlbC5jb3VudFRpbGVUaHJlc2hvbGRJbnZlcnQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY291bnRUaWxlVGhyZXNob2xkSW52ZXJ0XCI+XG4gICAgICA8L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZGl2IGNsYXNzPVwiZGVzY1wiPnt7IGNvdW50VGlsZVRocmVzaG9sZERlc2MgfX08L2Rpdj5cblxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwidGhyZXNob2xkLXN1Y2Nlc3NcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmxhYmVsLnRocmVzaG9sZC5zdWNjZXNzJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGVvLW51bWJlciBbc2NhbGVdPVwiMFwiIGZvcm1Db250cm9sTmFtZT1cImNvdW50VGlsZVN1Y2Nlc3NUaHJlc2hvbGRcIj5cbiAgICAgIDwvZW8tbnVtYmVyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwidGhyZXNob2xkLXdhcm5pbmdcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndpZGdldC5oaXRjb3VudC5mb3JtLmxhYmVsLnRocmVzaG9sZC53YXJuaW5nJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGVvLW51bWJlciBbc2NhbGVdPVwiMFwiIGZvcm1Db250cm9sTmFtZT1cImNvdW50VGlsZVdhcm5pbmdUaHJlc2hvbGRcIj5cbiAgICAgIDwvZW8tbnVtYmVyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwidGhyZXNob2xkLWVycm9yXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidlby53aWRnZXQuaGl0Y291bnQuZm9ybS5sYWJlbC50aHJlc2hvbGQuZXJyb3InIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tbnVtYmVyIFtzY2FsZV09XCIwXCIgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRUaWxlRXJyb3JUaHJlc2hvbGRcIj5cbiAgICAgIDwvZW8tbnVtYmVyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9mb3JtPlxuPC9kaXY+XG5AaWYgKHNldHVwRm9ybS52YWxpZCkge1xuICA8ZGl2IGNsYXNzPVwicHJldmlld1wiPlxuICAgIDxlby1jb3VudC1vYmplY3RzLXdpZGdldCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8tY291bnQtb2JqZWN0cy13aWRnZXQ+XG4gIDwvZGl2PlxufSBAZWxzZSB7XG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gIDwvZGl2PlxufSJdfQ==
|