nuxeo-development-framework 5.7.8 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +153 -73
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/index.js +1 -2
- package/esm2015/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.js +38 -0
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +61 -9
- package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +6 -6
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +6 -6
- package/fesm2015/nuxeo-development-framework.js +145 -71
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/reports/ndf-reports/models/graph-definition.d.ts +6 -0
- package/lib/components/reports/ndf-reports/options/index.d.ts +0 -1
- package/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.d.ts +14 -0
- package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +6 -1
- package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +1 -0
- package/package.json +1 -1
- package/src/docs/ndf-table.doc.md +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/options.js +0 -15
- package/lib/components/reports/ndf-reports/options/options.d.ts +0 -2
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { ChartUtils } from '../../charts';
|
|
4
|
-
import {
|
|
4
|
+
import { getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getVerticalBarOptions } from '../options';
|
|
5
5
|
import { replaceDatasetColors } from '../utilities';
|
|
6
6
|
import { getCssColors } from '../../charts/utility';
|
|
7
|
+
import { Evaluator } from '../../../../shared';
|
|
8
|
+
import _ from 'lodash';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
import * as i1 from "./chart-plugins-registry.service";
|
|
11
|
+
import * as i2 from "./chart-callbacks-register.services";
|
|
12
|
+
import * as i3 from "@ngx-translate/core";
|
|
9
13
|
export class ReportConfigMapperService {
|
|
10
|
-
constructor(_chartPluginsRegistry) {
|
|
14
|
+
constructor(_chartPluginsRegistry, _chartPluginsCallbacks, _translateService) {
|
|
11
15
|
this._chartPluginsRegistry = _chartPluginsRegistry;
|
|
16
|
+
this._chartPluginsCallbacks = _chartPluginsCallbacks;
|
|
17
|
+
this._translateService = _translateService;
|
|
12
18
|
}
|
|
13
19
|
/**
|
|
14
20
|
* Prepares a graph chart configuration by converting plugin names to actual plugin objects
|
|
@@ -16,8 +22,28 @@ export class ReportConfigMapperService {
|
|
|
16
22
|
* @returns The prepared graph chart with plugin objects
|
|
17
23
|
*/
|
|
18
24
|
prepareGraphConfig(config) {
|
|
19
|
-
const _a = config.chart, { plugins, colors, options, direction, overrides } = _a, rest = __rest(_a, ["plugins", "colors", "options", "direction", "overrides"]);
|
|
20
|
-
const chart = Object.assign(Object.assign({}, rest), { overrides:
|
|
25
|
+
const _a = config.chart, { plugins, callbacks, colors, options, direction, overrides } = _a, rest = __rest(_a, ["plugins", "callbacks", "colors", "options", "direction", "overrides"]);
|
|
26
|
+
const chart = Object.assign(Object.assign({}, rest), { overrides: {
|
|
27
|
+
verticalBar: this._getChartOptions({
|
|
28
|
+
type: 'bar',
|
|
29
|
+
options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
|
|
30
|
+
direction: 'vertical',
|
|
31
|
+
callbacks
|
|
32
|
+
}),
|
|
33
|
+
horizontalBar: this._getChartOptions({
|
|
34
|
+
type: 'bar',
|
|
35
|
+
options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
|
|
36
|
+
direction: 'horizontal',
|
|
37
|
+
callbacks
|
|
38
|
+
}),
|
|
39
|
+
doughnut: this._getChartOptions({
|
|
40
|
+
type: 'doughnut',
|
|
41
|
+
options: overrides === null || overrides === void 0 ? void 0 : overrides.doughnut,
|
|
42
|
+
callbacks
|
|
43
|
+
}),
|
|
44
|
+
line: this._getChartOptions({ type: 'line', options: overrides === null || overrides === void 0 ? void 0 : overrides.line, callbacks }),
|
|
45
|
+
pie: this._getChartOptions({ type: 'pie', options: overrides === null || overrides === void 0 ? void 0 : overrides.pie, callbacks })
|
|
46
|
+
}, options: this._getChartOptions({ type: config.chart.type, options, direction, callbacks }) });
|
|
21
47
|
if (Array.isArray(plugins) && plugins.length > 0) {
|
|
22
48
|
chart.plugins = this._preparePlugins(plugins);
|
|
23
49
|
}
|
|
@@ -72,7 +98,7 @@ export class ReportConfigMapperService {
|
|
|
72
98
|
return acc;
|
|
73
99
|
}, []);
|
|
74
100
|
}
|
|
75
|
-
_getChartOptions(type, options, direction = 'horizontal') {
|
|
101
|
+
_getChartOptions({ type, options, direction = 'horizontal', callbacks }) {
|
|
76
102
|
var _a;
|
|
77
103
|
const _optionsMap = {
|
|
78
104
|
verticalBar: getVerticalBarOptions,
|
|
@@ -82,19 +108,45 @@ export class ReportConfigMapperService {
|
|
|
82
108
|
pie: getPieOptions
|
|
83
109
|
};
|
|
84
110
|
const key = type === 'bar' ? `${direction}Bar` : type;
|
|
85
|
-
|
|
111
|
+
const _options = ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
|
|
112
|
+
if (Array.isArray(callbacks) && callbacks.length > 0) {
|
|
113
|
+
const _callbacks = this._prepareCallbacks(callbacks, key);
|
|
114
|
+
if (_callbacks === null || _callbacks === void 0 ? void 0 : _callbacks.plugins) {
|
|
115
|
+
_.merge(_options, _callbacks);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return _options;
|
|
86
119
|
}
|
|
87
120
|
_prepareColors(colors) {
|
|
88
121
|
const _colors = getCssColors(colors || []);
|
|
89
122
|
return [..._colors, ...ChartUtils.getColors()];
|
|
90
123
|
}
|
|
124
|
+
_prepareCallbacks(callbacks, type) {
|
|
125
|
+
const data = {};
|
|
126
|
+
callbacks
|
|
127
|
+
.filter((call) => !!call.path && !!call.callback)
|
|
128
|
+
.forEach((callback) => {
|
|
129
|
+
try {
|
|
130
|
+
const fn = Evaluator.evaluate(callback.callback, {
|
|
131
|
+
type,
|
|
132
|
+
translate: this._translateService,
|
|
133
|
+
register: this._chartPluginsCallbacks,
|
|
134
|
+
}, 'callback');
|
|
135
|
+
if (fn && typeof fn === 'function') {
|
|
136
|
+
_.set(data, callback.path, fn);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch (e) { }
|
|
140
|
+
});
|
|
141
|
+
return { plugins: data };
|
|
142
|
+
}
|
|
91
143
|
}
|
|
92
|
-
ReportConfigMapperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, deps: [{ token: i1.ChartPluginsRegistry }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
144
|
+
ReportConfigMapperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, deps: [{ token: i1.ChartPluginsRegistry }, { token: i2.ChartCallbacksRegisterService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
145
|
ReportConfigMapperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, providedIn: 'root' });
|
|
94
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, decorators: [{
|
|
95
147
|
type: Injectable,
|
|
96
148
|
args: [{
|
|
97
149
|
providedIn: 'root'
|
|
98
150
|
}]
|
|
99
|
-
}], ctorParameters: function () { return [{ type: i1.ChartPluginsRegistry }]; } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNvbmZpZy1tYXBwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9yZXBvcnQtY29uZmlnLW1hcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUNOLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUtwRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3JDLFlBQTZCLHFCQUEyQztRQUEzQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO0lBQUcsQ0FBQztJQUU1RTs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsTUFBNEI7UUFDOUMsTUFBTSxLQUE4RCxNQUFNLENBQUMsS0FBSyxFQUExRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLE9BQTBCLEVBQXJCLElBQUksY0FBekQsMERBQTJELENBQWUsQ0FBQztRQUVqRixNQUFNLEtBQUssbUNBQ1AsSUFBSSxLQUNQLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFB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QUM7SUFDMUMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFnQjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O3VIQWhIVyx5QkFBeUI7MkhBQXpCLHlCQUF5QixjQUZ6QixNQUFNOzRGQUVOLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcblx0Q3VzdG9tQ2hhcnQsXHJcblx0Q3VzdG9tQ2hhcnREZWZpbml0aW9uLFxyXG5cdERpZ2l0Q2hhcnQsXHJcblx0RGlnaXRDaGFydERlZmluaXRpb24sXHJcblx0RHluYW1pY0xpbmVDaGFydCxcclxuXHREeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbixcclxuXHREeW5hbWljTGluZUNoYXJ0T3B0aW9ucyxcclxuXHRHcmFwaENoYXJ0LFxyXG5cdEdyYXBoQ2hhcnREZWZpbml0aW9uLFxyXG5cdEdyYXBoQ2hhcnRPcHRpb25zXHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQ2hhcnRQbHVnaW5zUmVnaXN0cnkgfSBmcm9tICcuL2NoYXJ0LXBsdWdpbnMtcmVnaXN0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXJ0T3B0aW9ucywgQ2hhcnRUeXBlLCBQbHVnaW4gfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IENoYXJ0VXRpbHMgfSBmcm9tICcuLi8uLi9jaGFydHMnO1xyXG5pbXBvcnQge1xyXG5cdGdldENoYXJ0c09wdGlvbnMsXHJcblx0Z2V0RG91Z2hudXRPcHRpb25zLFxyXG5cdGdldEhvcml6b250YWxCYXJPcHRpb25zLFxyXG5cdGdldExpbmVPcHRpb25zLFxyXG5cdGdldFBpZU9wdGlvbnMsXHJcblx0Z2V0VmVydGljYWxCYXJPcHRpb25zXHJcbn0gZnJvbSAnLi4vb3B0aW9ucyc7XHJcbmltcG9ydCB7IHJlcGxhY2VEYXRhc2V0Q29sb3JzIH0gZnJvbSAnLi4vdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgZ2V0Q3NzQ29sb3JzIH0gZnJvbSAnLi4vLi4vY2hhcnRzL3V0aWxpdHknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Q29uZmlnTWFwcGVyU2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhcnRQbHVnaW5zUmVnaXN0cnk6IENoYXJ0UGx1Z2luc1JlZ2lzdHJ5KSB7fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmVwYXJlcyBhIGdyYXBoIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIGNvbmZpZyBUaGUgZ3JhcGggY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBncmFwaCBjaGFydCB3aXRoIHBsdWdpbiBvYmplY3RzXHJcblx0ICovXHJcblx0cHJlcGFyZUdyYXBoQ29uZmlnKGNvbmZpZzogR3JhcGhDaGFydERlZmluaXRpb24pOiBHcmFwaENoYXJ0IHtcclxuXHRcdGNvbnN0IHsgcGx1Z2lucywgY29sb3JzLCBvcHRpb25zLCBkaXJlY3Rpb24sIG92ZXJyaWRlcywgLi4ucmVzdCB9ID0gY29uZmlnLmNoYXJ0O1xyXG5cclxuXHRcdGNvbnN0IGNoYXJ0OiBHcmFwaENoYXJ0T3B0aW9ucyA9IHtcclxuXHRcdFx0Li4ucmVzdCxcclxuXHRcdFx0b3ZlcnJpZGVzOiBnZXRDaGFydHNPcHRpb25zKG92ZXJyaWRlcyksXHJcblx0XHRcdG9wdGlvbnM6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyhjb25maWcuY2hhcnQudHlwZSwgb3B0aW9ucywgZGlyZWN0aW9uKVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0Y2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNoYXJ0LmNvbG9ycyA9IHRoaXMuX3ByZXBhcmVDb2xvcnMoY29sb3JzKTtcclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGNoYXJ0OiBjaGFydFxyXG5cdFx0fSBhcyBHcmFwaENoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJlcGFyZXMgYSBkeW5hbWljIGxpbmUgY2hhcnQgY29uZmlndXJhdGlvbiBieSBjb252ZXJ0aW5nIHBsdWdpbiBuYW1lcyB0byBhY3R1YWwgcGx1Z2luIG9iamVjdHNcclxuXHQgKiBAcGFyYW0gY29uZmlnIFRoZSBkeW5hbWljIGxpbmUgY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBkeW5hbWljIGxpbmUgY2hhcnQgd2l0aCBwbHVnaW4gb2JqZWN0c1xyXG5cdCAqL1xyXG5cdHByZXBhcmVHcmFwaExpbmVDb25maWcoY29uZmlnOiBEeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbik6IER5bmFtaWNMaW5lQ2hhcnQge1xyXG5cdFx0Y29uc3QgeyBwbHVnaW5zLCBvcHRpb25zLCAuLi5yZXN0IH0gPSBjb25maWcuY2hhcnQ7XHJcblxyXG5cdFx0Y29uc3QgY2hhcnQ6IER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zID0ge1xyXG5cdFx0XHQuLi5yZXN0LFxyXG5cdFx0XHRvcHRpb25zOiBnZXRMaW5lT3B0aW9ucyhvcHRpb25zKVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoY2hhcnQuZGF0YXNldHMgJiYgISFjaGFydC5kYXRhc2V0cy5sZW5ndGgpIHtcclxuXHRcdFx0Y2hhcnQuZGF0YXNldHMgPSByZXBsYWNlRGF0YXNldENvbG9ycyhjaGFydC5kYXRhc2V0cyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkocGx1Z2lucykgJiYgcGx1Z2lucy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGNoYXJ0LnBsdWdpbnMgPSB0aGlzLl9wcmVwYXJlUGx1Z2lucyhwbHVnaW5zKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGNvbG9yczogdGhpcy5fcHJlcGFyZUNvbG9ycyhjb25maWc/LmNvbG9ycyksXHJcblx0XHRcdGNoYXJ0OiBjaGFydFxyXG5cdFx0fSBhcyBEeW5hbWljTGluZUNoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJlcGFyZXMgYSBjdXN0b20gY2hhcnQgY29uZmlndXJhdGlvblxyXG5cdCAqIEBwYXJhbSBjb25maWdcclxuXHQgKi9cclxuXHRwcmVwYXJlQ3VzdG9tQ29uZmlnKGNvbmZpZzogQ3VzdG9tQ2hhcnREZWZpbml0aW9uKTogQ3VzdG9tQ2hhcnQge1xyXG5cdFx0cmV0dXJuIGNvbmZpZyBhcyBDdXN0b21DaGFydDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByZXBhcmVzIGEgZGlnaXQgY2hhcnQgY29uZmlndXJhdGlvblxyXG5cdCAqIEBwYXJhbSBjb25maWcgVGhlIGRpZ2l0IGNoYXJ0IGRlZmluaXRpb25cclxuXHQgKiBAcmV0dXJucyBUaGUgcHJlcGFyZWQgZGlnaXQgY2hhcnQgKGN1cnJlbnRseSBqdXN0IHJldHVybnMgdGhlIGlucHV0IGFzIGlzKVxyXG5cdCAqL1xyXG5cdHByZXBhcmVEaWdpdENvbmZpZyhjb25maWc6IERpZ2l0Q2hhcnREZWZpbml0aW9uKTogRGlnaXRDaGFydCB7XHJcblx0XHRyZXR1cm4gY29uZmlnIGFzIERpZ2l0Q2hhcnQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBwbHVnaW4gbmFtZXMgdG8gYW4gYXJyYXkgb2YgcGx1Z2luIG9iamVjdHNcclxuXHQgKiBAcGFyYW0gcGx1Z2lucyBBcnJheSBvZiBwbHVnaW4gbmFtZXNcclxuXHQgKiBAcmV0dXJucyBBcnJheSBvZiBwbHVnaW4gb2JqZWN0cyBvciB1bmRlZmluZWQgaWYgbm8gcGx1Z2luc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnM6IHN0cmluZ1tdKTogdW5kZWZpbmVkIHwgUGx1Z2luPENoYXJ0VHlwZT5bXSB7XHJcblx0XHRyZXR1cm4gcGx1Z2lucy5yZWR1Y2UoKGFjYywgcGxnTmFtZSkgPT4ge1xyXG5cdFx0XHRpZiAoIXBsZ05hbWUgfHwgdHlwZW9mIHBsZ05hbWUgIT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdFx0fVxyXG5cdFx0XHRjb25zdCBwbHVnaW4gPSB0aGlzLl9jaGFydFBsdWdpbnNSZWdpc3RyeS5nZXQocGxnTmFtZSk7XHJcblx0XHRcdGlmIChwbHVnaW4pIHtcclxuXHRcdFx0XHRyZXR1cm4gWy4uLmFjYywgcGx1Z2luXTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwgW10pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfZ2V0Q2hhcnRPcHRpb25zKFxyXG5cdFx0dHlwZTogQ2hhcnRUeXBlLFxyXG5cdFx0b3B0aW9uczogQ2hhcnRPcHRpb25zLFxyXG5cdFx0ZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnXHJcblx0KSB7XHJcblx0XHRjb25zdCBfb3B0aW9uc01hcCA9IHtcclxuXHRcdFx0dmVydGljYWxCYXI6IGdldFZlcnRpY2FsQmFyT3B0aW9ucyxcclxuXHRcdFx0aG9yaXpvbnRhbEJhcjogZ2V0SG9yaXpvbnRhbEJhck9wdGlvbnMsXHJcblx0XHRcdGRvdWdobnV0OiBnZXREb3VnaG51dE9wdGlvbnMsXHJcblx0XHRcdGxpbmU6IGdldExpbmVPcHRpb25zLFxyXG5cdFx0XHRwaWU6IGdldFBpZU9wdGlvbnNcclxuXHRcdH07XHJcblxyXG5cdFx0Y29uc3Qga2V5ID0gdHlwZSA9PT0gJ2JhcicgPyBgJHtkaXJlY3Rpb259QmFyYCA6IHR5cGU7XHJcblx0XHRyZXR1cm4gX29wdGlvbnNNYXBba2V5XT8uKG9wdGlvbnMpIHx8IHt9O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUNvbG9ycyhjb2xvcnM6IHN0cmluZ1tdKSB7XHJcblx0XHRjb25zdCBfY29sb3JzID0gZ2V0Q3NzQ29sb3JzKGNvbG9ycyB8fCBbXSk7XHJcblx0XHRyZXR1cm4gWy4uLl9jb2xvcnMsIC4uLkNoYXJ0VXRpbHMuZ2V0Q29sb3JzKCldO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
151
|
+
}], ctorParameters: function () { return [{ type: i1.ChartPluginsRegistry }, { type: i2.ChartCallbacksRegisterService }, { type: i3.TranslateService }]; } });
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNvbmZpZy1tYXBwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9yZXBvcnQtY29uZmlnLW1hcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZ0IzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFNdkIsTUFBTSxPQUFPLHlCQUF5QjtJQUNyQyxZQUNrQixxQkFBMkMsRUFDM0Msc0JBQXFELEVBQ3JELGlCQUFvQztRQUZwQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQzNDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBK0I7UUFDckQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNuRCxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLE1BQTRCO1FBQzlDLE1BQU0sS0FBeUUsTUFBTSxDQUFDLEtBQUssRUFBckYsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsT0FBMEIsRUFBckIsSUFBSSxjQUFwRSx1RUFBc0UsQ0FBZSxDQUFDO1FBRTVGLE1BQU0sS0FBSyxtQ0FDUCxJQUFJLEtBQ1AsU0FBUyxFQUFFO2dCQUNWLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2xDLElBQUksRUFBRSxLQUFLO29CQUNYLE9BQU8sRUFBRSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsV0FBVztvQkFDL0IsU0FBUyxFQUFFLFVBQVU7b0JBQ3JCLFNBQVM7aUJBQ1QsQ0FBQztnQkFDRixhQUFhLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDO29CQUNwQyxJQUFJLEVBQUUsS0FBSztvQkFDWCxPQUFPLEVBQUUsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLFdBQVc7b0JBQy9CLFNBQVMsRUFBRSxZQUFZO29CQUN2QixTQUFTO2lCQUNULENBQUM7Z0JBRUYsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDL0IsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLE9BQU8sRUFBRSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsUUFBUTtvQkFDNUIsU0FBUztpQkFDVCxDQUFDO2dCQUNGLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO2dCQUNsRixHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQzthQUMvRSxFQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUMxRixDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQyxPQUFPLGdDQUNILE1BQU0sS0FDVCxLQUFLLEVBQUUsS0FBSyxHQUNFLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxzQkFBc0IsQ0FBQyxNQUFrQztRQUN4RCxNQUFNLEtBQWdDLE1BQU0sQ0FBQyxLQUFLLEVBQTVDLEVBQUUsT0FBTyxFQUFFLE9BQU8sT0FBMEIsRUFBckIsSUFBSSxjQUEzQixzQkFBNkIsQ0FBZSxDQUFDO1FBRW5ELE1BQU0sS0FBSyxtQ0FDUCxJQUFJLEtBQ1AsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FDaEMsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDOUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxnQ0FDSCxNQUFNLEtBQ1QsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sQ0FBQyxFQUMzQyxLQUFLLEVBQUUsS0FBSyxHQUNRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE1BQTZCO1FBQ2hELE9BQU8sTUFBcUIsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLE1BQTRCO1FBQzlDLE9BQU8sTUFBb0IsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGVBQWUsQ0FBQyxPQUFpQjtRQUN4QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7Z0JBQzVDLE9BQU8sR0FBRyxDQUFDO2FBQ1g7WUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELElBQUksTUFBTSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN4QjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEVBQ3hCLElBQUksRUFDSixPQUFPLEVBQ1AsU0FBUyxHQUFHLFlBQVksRUFDeEIsU0FBUyxFQU1UOztRQUNBLE1BQU0sV0FBVyxHQUFHO1lBQ25CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsYUFBYSxFQUFFLHVCQUF1QjtZQUN0QyxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLElBQUksRUFBRSxjQUFjO1lBQ3BCLEdBQUcsRUFBRSxhQUFhO1NBQ2xCLENBQUM7UUFFRixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFdEQsTUFBTSxRQUFRLEdBQUcsQ0FBQSxNQUFBLFdBQVcsQ0FBQyxHQUFHLENBQUMsK0NBQWhCLFdBQVcsRUFBUSxPQUFPLENBQUMsS0FBSSxFQUFFLENBQUM7UUFFbkQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUksR0FBRyxDQUFDLENBQUM7WUFDNUQsSUFBSSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsT0FBTyxFQUFFO2dCQUN4QixDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUM5QjtTQUNEO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDakIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFnQjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxTQUErQixFQUFFLElBQVc7UUFDckUsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWhCLFNBQVM7YUFDUCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2hELE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JCLElBQUk7Z0JBQ0gsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FDNUIsUUFBUSxDQUFDLFFBQVEsRUFDakI7b0JBQ0MsSUFBSTtvQkFDSixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtvQkFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxzQkFBc0I7aUJBQ3JDLEVBQ0QsVUFBVSxDQUNWLENBQUM7Z0JBQ0YsSUFBSSxFQUFFLElBQUksT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFO29CQUNuQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUMvQjthQUNEO1lBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOzt1SEFqTFcseUJBQXlCOzJIQUF6Qix5QkFBeUIsY0FGekIsTUFBTTs0RkFFTix5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdENhbGxiYWNrRGVmaW5pdGlvbixcclxuXHRDdXN0b21DaGFydCxcclxuXHRDdXN0b21DaGFydERlZmluaXRpb24sXHJcblx0RGlnaXRDaGFydCxcclxuXHREaWdpdENoYXJ0RGVmaW5pdGlvbixcclxuXHREeW5hbWljTGluZUNoYXJ0LFxyXG5cdER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLFxyXG5cdER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zLFxyXG5cdEdyYXBoQ2hhcnQsXHJcblx0R3JhcGhDaGFydERlZmluaXRpb24sXHJcblx0R3JhcGhDaGFydE9wdGlvbnNcclxufSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDaGFydFBsdWdpbnNSZWdpc3RyeSB9IGZyb20gJy4vY2hhcnQtcGx1Z2lucy1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhcnRPcHRpb25zLCBDaGFydFR5cGUsIFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgQ2hhcnRVdGlscyB9IGZyb20gJy4uLy4uL2NoYXJ0cyc7XHJcbmltcG9ydCB7XHJcblx0Z2V0RG91Z2hudXRPcHRpb25zLFxyXG5cdGdldEhvcml6b250YWxCYXJPcHRpb25zLFxyXG5cdGdldExpbmVPcHRpb25zLFxyXG5cdGdldFBpZU9wdGlvbnMsXHJcblx0Z2V0VmVydGljYWxCYXJPcHRpb25zXHJcbn0gZnJvbSAnLi4vb3B0aW9ucyc7XHJcbmltcG9ydCB7IHJlcGxhY2VEYXRhc2V0Q29sb3JzIH0gZnJvbSAnLi4vdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgZ2V0Q3NzQ29sb3JzIH0gZnJvbSAnLi4vLi4vY2hhcnRzL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBDYWxsYmFjaywgQ2hhcnRDYWxsYmFja3NSZWdpc3RlclNlcnZpY2UgfSBmcm9tICcuL2NoYXJ0LWNhbGxiYWNrcy1yZWdpc3Rlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEV2YWx1YXRvciB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydENvbmZpZ01hcHBlclNlcnZpY2Uge1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBfY2hhcnRQbHVnaW5zUmVnaXN0cnk6IENoYXJ0UGx1Z2luc1JlZ2lzdHJ5LFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBfY2hhcnRQbHVnaW5zQ2FsbGJhY2tzOiBDaGFydENhbGxiYWNrc1JlZ2lzdGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmVwYXJlcyBhIGdyYXBoIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIGNvbmZpZyBUaGUgZ3JhcGggY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBncmFwaCBjaGFydCB3aXRoIHBsdWdpbiBvYmplY3RzXHJcblx0ICovXHJcblx0cHJlcGFyZUdyYXBoQ29uZmlnKGNvbmZpZzogR3JhcGhDaGFydERlZmluaXRpb24pOiBHcmFwaENoYXJ0IHtcclxuXHRcdGNvbnN0IHsgcGx1Z2lucywgY2FsbGJhY2tzLCBjb2xvcnMsIG9wdGlvbnMsIGRpcmVjdGlvbiwgb3ZlcnJpZGVzLCAuLi5yZXN0IH0gPSBjb25maWcuY2hhcnQ7XHJcblxyXG5cdFx0Y29uc3QgY2hhcnQ6IEdyYXBoQ2hhcnRPcHRpb25zID0ge1xyXG5cdFx0XHQuLi5yZXN0LFxyXG5cdFx0XHRvdmVycmlkZXM6IHtcclxuXHRcdFx0XHR2ZXJ0aWNhbEJhcjogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHtcclxuXHRcdFx0XHRcdHR5cGU6ICdiYXInLFxyXG5cdFx0XHRcdFx0b3B0aW9uczogb3ZlcnJpZGVzPy52ZXJ0aWNhbEJhcixcclxuXHRcdFx0XHRcdGRpcmVjdGlvbjogJ3ZlcnRpY2FsJyxcclxuXHRcdFx0XHRcdGNhbGxiYWNrc1xyXG5cdFx0XHRcdH0pLFxyXG5cdFx0XHRcdGhvcml6b250YWxCYXI6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7XHJcblx0XHRcdFx0XHR0eXBlOiAnYmFyJyxcclxuXHRcdFx0XHRcdG9wdGlvbnM6IG92ZXJyaWRlcz8udmVydGljYWxCYXIsXHJcblx0XHRcdFx0XHRkaXJlY3Rpb246ICdob3Jpem9udGFsJyxcclxuXHRcdFx0XHRcdGNhbGxiYWNrc1xyXG5cdFx0XHRcdH0pLFxyXG5cclxuXHRcdFx0XHRkb3VnaG51dDogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHtcclxuXHRcdFx0XHRcdHR5cGU6ICdkb3VnaG51dCcsXHJcblx0XHRcdFx0XHRvcHRpb25zOiBvdmVycmlkZXM/LmRvdWdobnV0LFxyXG5cdFx0XHRcdFx0Y2FsbGJhY2tzXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0bGluZTogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHsgdHlwZTogJ2xpbmUnLCBvcHRpb25zOiBvdmVycmlkZXM/LmxpbmUsIGNhbGxiYWNrcyB9KSxcclxuXHRcdFx0XHRwaWU6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7IHR5cGU6ICdwaWUnLCBvcHRpb25zOiBvdmVycmlkZXM/LnBpZSwgY2FsbGJhY2tzIH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdG9wdGlvbnM6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7IHR5cGU6IGNvbmZpZy5jaGFydC50eXBlLCBvcHRpb25zLCBkaXJlY3Rpb24sIGNhbGxiYWNrcyB9KVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0Y2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNoYXJ0LmNvbG9ycyA9IHRoaXMuX3ByZXBhcmVDb2xvcnMoY29sb3JzKTtcclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGNoYXJ0OiBjaGFydFxyXG5cdFx0fSBhcyBHcmFwaENoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJlcGFyZXMgYSBkeW5hbWljIGxpbmUgY2hhcnQgY29uZmlndXJhdGlvbiBieSBjb252ZXJ0aW5nIHBsdWdpbiBuYW1lcyB0byBhY3R1YWwgcGx1Z2luIG9iamVjdHNcclxuXHQgKiBAcGFyYW0gY29uZmlnIFRoZSBkeW5hbWljIGxpbmUgY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBkeW5hbWljIGxpbmUgY2hhcnQgd2l0aCBwbHVnaW4gb2JqZWN0c1xyXG5cdCAqL1xyXG5cdHByZXBhcmVHcmFwaExpbmVDb25maWcoY29uZmlnOiBEeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbik6IER5bmFtaWNMaW5lQ2hhcnQge1xyXG5cdFx0Y29uc3QgeyBwbHVnaW5zLCBvcHRpb25zLCAuLi5yZXN0IH0gPSBjb25maWcuY2hhcnQ7XHJcblxyXG5cdFx0Y29uc3QgY2hhcnQ6IER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zID0ge1xyXG5cdFx0XHQuLi5yZXN0LFxyXG5cdFx0XHRvcHRpb25zOiBnZXRMaW5lT3B0aW9ucyhvcHRpb25zKVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoY2hhcnQuZGF0YXNldHMgJiYgISFjaGFydC5kYXRhc2V0cy5sZW5ndGgpIHtcclxuXHRcdFx0Y2hhcnQuZGF0YXNldHMgPSByZXBsYWNlRGF0YXNldENvbG9ycyhjaGFydC5kYXRhc2V0cyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkocGx1Z2lucykgJiYgcGx1Z2lucy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGNoYXJ0LnBsdWdpbnMgPSB0aGlzLl9wcmVwYXJlUGx1Z2lucyhwbHVnaW5zKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGNvbG9yczogdGhpcy5fcHJlcGFyZUNvbG9ycyhjb25maWc/LmNvbG9ycyksXHJcblx0XHRcdGNoYXJ0OiBjaGFydFxyXG5cdFx0fSBhcyBEeW5hbWljTGluZUNoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJlcGFyZXMgYSBjdXN0b20gY2hhcnQgY29uZmlndXJhdGlvblxyXG5cdCAqIEBwYXJhbSBjb25maWdcclxuXHQgKi9cclxuXHRwcmVwYXJlQ3VzdG9tQ29uZmlnKGNvbmZpZzogQ3VzdG9tQ2hhcnREZWZpbml0aW9uKTogQ3VzdG9tQ2hhcnQge1xyXG5cdFx0cmV0dXJuIGNvbmZpZyBhcyBDdXN0b21DaGFydDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByZXBhcmVzIGEgZGlnaXQgY2hhcnQgY29uZmlndXJhdGlvblxyXG5cdCAqIEBwYXJhbSBjb25maWcgVGhlIGRpZ2l0IGNoYXJ0IGRlZmluaXRpb25cclxuXHQgKiBAcmV0dXJucyBUaGUgcHJlcGFyZWQgZGlnaXQgY2hhcnQgKGN1cnJlbnRseSBqdXN0IHJldHVybnMgdGhlIGlucHV0IGFzIGlzKVxyXG5cdCAqL1xyXG5cdHByZXBhcmVEaWdpdENvbmZpZyhjb25maWc6IERpZ2l0Q2hhcnREZWZpbml0aW9uKTogRGlnaXRDaGFydCB7XHJcblx0XHRyZXR1cm4gY29uZmlnIGFzIERpZ2l0Q2hhcnQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBwbHVnaW4gbmFtZXMgdG8gYW4gYXJyYXkgb2YgcGx1Z2luIG9iamVjdHNcclxuXHQgKiBAcGFyYW0gcGx1Z2lucyBBcnJheSBvZiBwbHVnaW4gbmFtZXNcclxuXHQgKiBAcmV0dXJucyBBcnJheSBvZiBwbHVnaW4gb2JqZWN0cyBvciB1bmRlZmluZWQgaWYgbm8gcGx1Z2luc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnM6IHN0cmluZ1tdKTogdW5kZWZpbmVkIHwgUGx1Z2luPENoYXJ0VHlwZT5bXSB7XHJcblx0XHRyZXR1cm4gcGx1Z2lucy5yZWR1Y2UoKGFjYywgcGxnTmFtZSkgPT4ge1xyXG5cdFx0XHRpZiAoIXBsZ05hbWUgfHwgdHlwZW9mIHBsZ05hbWUgIT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdFx0fVxyXG5cdFx0XHRjb25zdCBwbHVnaW4gPSB0aGlzLl9jaGFydFBsdWdpbnNSZWdpc3RyeS5nZXQocGxnTmFtZSk7XHJcblx0XHRcdGlmIChwbHVnaW4pIHtcclxuXHRcdFx0XHRyZXR1cm4gWy4uLmFjYywgcGx1Z2luXTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwgW10pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfZ2V0Q2hhcnRPcHRpb25zKHtcclxuXHRcdHR5cGUsXHJcblx0XHRvcHRpb25zLFxyXG5cdFx0ZGlyZWN0aW9uID0gJ2hvcml6b250YWwnLFxyXG5cdFx0Y2FsbGJhY2tzXHJcblx0fToge1xyXG5cdFx0dHlwZTogQ2hhcnRUeXBlO1xyXG5cdFx0b3B0aW9uczogQ2hhcnRPcHRpb25zO1xyXG5cdFx0ZGlyZWN0aW9uPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcclxuXHRcdGNhbGxiYWNrcz86IENhbGxiYWNrRGVmaW5pdGlvbltdO1xyXG5cdH0pIHtcclxuXHRcdGNvbnN0IF9vcHRpb25zTWFwID0ge1xyXG5cdFx0XHR2ZXJ0aWNhbEJhcjogZ2V0VmVydGljYWxCYXJPcHRpb25zLFxyXG5cdFx0XHRob3Jpem9udGFsQmFyOiBnZXRIb3Jpem9udGFsQmFyT3B0aW9ucyxcclxuXHRcdFx0ZG91Z2hudXQ6IGdldERvdWdobnV0T3B0aW9ucyxcclxuXHRcdFx0bGluZTogZ2V0TGluZU9wdGlvbnMsXHJcblx0XHRcdHBpZTogZ2V0UGllT3B0aW9uc1xyXG5cdFx0fTtcclxuXHJcblx0XHRjb25zdCBrZXkgPSB0eXBlID09PSAnYmFyJyA/IGAke2RpcmVjdGlvbn1CYXJgIDogdHlwZTtcclxuXHJcblx0XHRjb25zdCBfb3B0aW9ucyA9IF9vcHRpb25zTWFwW2tleV0/LihvcHRpb25zKSB8fCB7fTtcclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShjYWxsYmFja3MpICYmIGNhbGxiYWNrcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGNvbnN0IF9jYWxsYmFja3MgPSB0aGlzLl9wcmVwYXJlQ2FsbGJhY2tzKGNhbGxiYWNrcyAsICBrZXkpO1xyXG5cdFx0XHRpZiAoX2NhbGxiYWNrcz8ucGx1Z2lucykge1xyXG5cdFx0XHRcdF8ubWVyZ2UoX29wdGlvbnMsIF9jYWxsYmFja3MpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIF9vcHRpb25zO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUNvbG9ycyhjb2xvcnM6IHN0cmluZ1tdKSB7XHJcblx0XHRjb25zdCBfY29sb3JzID0gZ2V0Q3NzQ29sb3JzKGNvbG9ycyB8fCBbXSk7XHJcblx0XHRyZXR1cm4gWy4uLl9jb2xvcnMsIC4uLkNoYXJ0VXRpbHMuZ2V0Q29sb3JzKCldO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUNhbGxiYWNrcyhjYWxsYmFja3M6IENhbGxiYWNrRGVmaW5pdGlvbltdLCB0eXBlOnN0cmluZykge1xyXG5cdFx0Y29uc3QgZGF0YSA9IHt9O1xyXG5cclxuXHRcdGNhbGxiYWNrc1xyXG5cdFx0XHQuZmlsdGVyKChjYWxsKSA9PiAhIWNhbGwucGF0aCAmJiAhIWNhbGwuY2FsbGJhY2spXHJcblx0XHRcdC5mb3JFYWNoKChjYWxsYmFjaykgPT4ge1xyXG5cdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRjb25zdCBmbiA9IEV2YWx1YXRvci5ldmFsdWF0ZShcclxuXHRcdFx0XHRcdFx0Y2FsbGJhY2suY2FsbGJhY2ssXHJcblx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHR0eXBlLFxyXG5cdFx0XHRcdFx0XHRcdHRyYW5zbGF0ZTogdGhpcy5fdHJhbnNsYXRlU2VydmljZSxcclxuXHRcdFx0XHRcdFx0XHRyZWdpc3RlcjogdGhpcy5fY2hhcnRQbHVnaW5zQ2FsbGJhY2tzLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHQnY2FsbGJhY2snXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0aWYgKGZuICYmIHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdFx0XHRfLnNldChkYXRhLCBjYWxsYmFjay5wYXRoLCBmbik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBjYXRjaCAoZSkge31cclxuXHRcdFx0fSk7XHJcblx0XHRyZXR1cm4geyBwbHVnaW5zOiBkYXRhIH07XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
export function mapToNdfTableConfig(report, details) {
|
|
3
|
-
var _a, _b, _c, _d;
|
|
3
|
+
var _a, _b, _c, _d, _e;
|
|
4
4
|
const _request = report.request;
|
|
5
5
|
const _detailsConfig = details.source;
|
|
6
6
|
const customUrl = _.merge({
|
|
7
7
|
url: `/api/v1${_request === null || _request === void 0 ? void 0 : _request.customUrl.url}`,
|
|
8
8
|
method: _request === null || _request === void 0 ? void 0 : _request.customUrl.method
|
|
9
|
-
}, ((_a = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _a === void 0 ? void 0 : _a.customUrl) || {});
|
|
10
|
-
const _headers = ((
|
|
11
|
-
const _queryParam = ((
|
|
9
|
+
}, ((_a = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _a === void 0 ? void 0 : _a.customUrl) || {}, { payload: ((_b = _detailsConfig.request) === null || _b === void 0 ? void 0 : _b.payload) || {} });
|
|
10
|
+
const _headers = ((_c = _detailsConfig.request) === null || _c === void 0 ? void 0 : _c.headers) || _request.headers || {};
|
|
11
|
+
const _queryParam = ((_d = _detailsConfig.request) === null || _d === void 0 ? void 0 : _d.params) || _request.params || {};
|
|
12
12
|
const _sortingBy = _.merge({
|
|
13
13
|
sortBy: 'dc:modified',
|
|
14
14
|
sortOrder: 'desc'
|
|
@@ -38,8 +38,8 @@ export function mapToNdfTableConfig(report, details) {
|
|
|
38
38
|
queryParam: _queryParam,
|
|
39
39
|
quickFilters: _detailsConfig.quickFilters,
|
|
40
40
|
sortingBy: _sortingBy,
|
|
41
|
-
requestActions: (
|
|
41
|
+
requestActions: (_e = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _e === void 0 ? void 0 : _e.actions
|
|
42
42
|
};
|
|
43
43
|
return data;
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy10YWJsZS5tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbmRmLXJlcG9ydHMvdXRpbGl0aWVzL3JlcG9ydHMtdGFibGUubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUd2QixNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBd0IsRUFBRSxPQUE0Qjs7SUFDekYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNoQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBNkIsQ0FBQztJQUU3RCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUN4QjtRQUNDLEdBQUcsRUFBRSxVQUFVLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ3hDLE1BQU0sRUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsU0FBUyxDQUFDLE1BQWE7S0FDekMsRUFDRCxDQUFBLE1BQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLE9BQU8sMENBQUUsU0FBUyxLQUFJLEVBQUUsRUFDeEMsRUFBRSxPQUFPLEVBQUUsQ0FBQSxNQUFBLGNBQWMsQ0FBQyxPQUFPLDBDQUFFLE9BQU8sS0FBSSxFQUFFLEVBQUUsQ0FDbEQsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLENBQUEsTUFBQSxjQUFjLENBQUMsT0FBTywwQ0FBRSxPQUFPLEtBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDM0UsTUFBTSxXQUFXLEdBQUcsQ0FBQSxNQUFBLGNBQWMsQ0FBQyxPQUFPLDBDQUFFLE1BQU0sS0FBSSxRQUFRLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUU1RSxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUN6QjtRQUNDLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLFNBQVMsRUFBRSxNQUFNO0tBQ2pCLEVBQ0QsY0FBYyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFFRixNQUFNLElBQUksR0FBbUI7UUFDNUIsT0FBTyxFQUFFO1lBQ1IsT0FBTyxFQUFFLGNBQWMsQ0FBQyxjQUFjO1lBQ3RDLE9BQU8sRUFBRTtnQkFDUixJQUFJLEVBQUUsU0FBUztnQkFDZixNQUFNLEVBQUUsRUFBRTtnQkFDVixLQUFLLEVBQUU7b0JBQ04sT0FBTyxFQUFFLEtBQUs7b0JBQ2QsWUFBWSxFQUFFLEtBQUs7aUJBQ25CO2FBQ0Q7WUFDRCxNQUFNLEVBQUUsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLE1BQU07U0FDOUI7UUFDRCxVQUFVLEVBQUUsQ0FBQztRQUNiLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFLE1BQU07UUFDakIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNLElBQUksRUFBRTtRQUNuQyxNQUFNLEVBQUUsQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsTUFBTSxLQUFJLEVBQUU7UUFDcEMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZO1FBQzFFLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxJQUFJLEVBQUU7UUFDckMsU0FBUyxFQUFFLFNBQVM7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsVUFBVSxFQUFFLFdBQVc7UUFDdkIsWUFBWSxFQUFFLGNBQWMsQ0FBQyxZQUFZO1FBQ3pDLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLGNBQWMsRUFBRSxNQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxPQUFPLDBDQUFFLE9BQU87S0FDaEQsQ0FBQztJQUVGLE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5kZlRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdGFibGVzL25kZi10YWJsZS9tb2RlbHMnO1xyXG5cclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgTmRmUmVwb3J0c0NvbmZpZywgUmVwb3J0Q29uZmlnT3B0aW9ucywgUmVwb3J0RGV0YWlsc0NvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9OZGZUYWJsZUNvbmZpZyhyZXBvcnQ6IE5kZlJlcG9ydHNDb25maWcsIGRldGFpbHM6IFJlcG9ydERldGFpbHNDb25maWcpOiBOZGZUYWJsZUNvbmZpZyB7XHJcblx0Y29uc3QgX3JlcXVlc3QgPSByZXBvcnQucmVxdWVzdDtcclxuXHRjb25zdCBfZGV0YWlsc0NvbmZpZyA9IGRldGFpbHMuc291cmNlIGFzIFJlcG9ydENvbmZpZ09wdGlvbnM7XHJcblxyXG5cdGNvbnN0IGN1c3RvbVVybCA9IF8ubWVyZ2UoXHJcblx0XHR7XHJcblx0XHRcdHVybDogYC9hcGkvdjEke19yZXF1ZXN0Py5jdXN0b21VcmwudXJsfWAsXHJcblx0XHRcdG1ldGhvZDogX3JlcXVlc3Q/LmN1c3RvbVVybC5tZXRob2QgYXMgYW55XHJcblx0XHR9LFxyXG5cdFx0X2RldGFpbHNDb25maWc/LnJlcXVlc3Q/LmN1c3RvbVVybCB8fCB7fSxcclxuXHRcdHsgcGF5bG9hZDogX2RldGFpbHNDb25maWcucmVxdWVzdD8ucGF5bG9hZCB8fCB7fSB9XHJcblx0KTtcclxuXHJcblx0Y29uc3QgX2hlYWRlcnMgPSBfZGV0YWlsc0NvbmZpZy5yZXF1ZXN0Py5oZWFkZXJzIHx8IF9yZXF1ZXN0LmhlYWRlcnMgfHwge307XHJcblx0Y29uc3QgX3F1ZXJ5UGFyYW0gPSBfZGV0YWlsc0NvbmZpZy5yZXF1ZXN0Py5wYXJhbXMgfHwgX3JlcXVlc3QucGFyYW1zIHx8IHt9O1xyXG5cclxuXHRjb25zdCBfc29ydGluZ0J5ID0gXy5tZXJnZShcclxuXHRcdHtcclxuXHRcdFx0c29ydEJ5OiAnZGM6bW9kaWZpZWQnLFxyXG5cdFx0XHRzb3J0T3JkZXI6ICdkZXNjJ1xyXG5cdFx0fSxcclxuXHRcdF9kZXRhaWxzQ29uZmlnLnNvcnRpbmdCeSB8fCB7fVxyXG5cdCk7XHJcblxyXG5cdGNvbnN0IGRhdGE6IE5kZlRhYmxlQ29uZmlnID0ge1xyXG5cdFx0b3B0aW9uczoge1xyXG5cdFx0XHRjb2x1bW5zOiBfZGV0YWlsc0NvbmZpZy5jb2x1bW5zT3B0aW9ucyxcclxuXHRcdFx0ZmlsdGVyczoge1xyXG5cdFx0XHRcdG1vZGU6ICdwYXlsb2FkJyxcclxuXHRcdFx0XHRmaWVsZHM6IFtdLFxyXG5cdFx0XHRcdHBhbmVsOiB7XHJcblx0XHRcdFx0XHR2aXNpYmxlOiBmYWxzZSxcclxuXHRcdFx0XHRcdHRvZ2dsZUJ1dHRvbjogZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGV4cG9ydDogX2RldGFpbHNDb25maWc/LmV4cG9ydFxyXG5cdFx0fSxcclxuXHRcdHBhZ2VOdW1iZXI6IDEsXHJcblx0XHRwYWdlU2l6ZTogMTAsXHJcblx0XHRmdWxsV2lkdGg6ICdhdXRvJyxcclxuXHRcdHByZWZpeDogX2RldGFpbHNDb25maWcucHJlZml4IHx8ICcnLFxyXG5cdFx0ZmllbGRzOiBfZGV0YWlsc0NvbmZpZz8uZmllbGRzIHx8IHt9LFxyXG5cdFx0cGFnZVByb3ZpZGVyOiBfcmVxdWVzdC5wYWdlUHJvdmlkZXIgfHwgX2RldGFpbHNDb25maWcucmVxdWVzdC5wYWdlUHJvdmlkZXIsXHJcblx0XHRjb2x1bW5zOiBfZGV0YWlsc0NvbmZpZy5jb2x1bW5zIHx8IFtdLFxyXG5cdFx0Y3VzdG9tVXJsOiBjdXN0b21VcmwsXHJcblx0XHRoZWFkZXJzOiBfaGVhZGVycyxcclxuXHRcdHF1ZXJ5UGFyYW06IF9xdWVyeVBhcmFtLFxyXG5cdFx0cXVpY2tGaWx0ZXJzOiBfZGV0YWlsc0NvbmZpZy5xdWlja0ZpbHRlcnMsXHJcblx0XHRzb3J0aW5nQnk6IF9zb3J0aW5nQnksXHJcblx0XHRyZXF1ZXN0QWN0aW9uczogX2RldGFpbHNDb25maWc/LnJlcXVlc3Q/LmFjdGlvbnNcclxuXHR9O1xyXG5cclxuXHRyZXR1cm4gZGF0YTtcclxufVxyXG4iXX0=
|
package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js
CHANGED
|
@@ -149,7 +149,7 @@ export class DynamicTableComponent {
|
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
getData(payload = {}, headers = {}) {
|
|
152
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
152
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
153
153
|
this.loading = true; // internal loading
|
|
154
154
|
this.onLoading.emit(true); // external loading
|
|
155
155
|
let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.range ? { dublincore_created_agg: this.range } : {})), this.filterParams), this.queryParam), this.quickFilter), (Object.keys(this.sortingBy || {}).length
|
|
@@ -174,15 +174,15 @@ export class DynamicTableComponent {
|
|
|
174
174
|
let _customPayload = {
|
|
175
175
|
params: Object.assign(Object.assign({}, params), (((_c = this.customFilters) === null || _c === void 0 ? void 0 : _c.params) || {})),
|
|
176
176
|
headers: _headers,
|
|
177
|
-
payload: ((_d = this.
|
|
177
|
+
payload: _.merge({}, ((_d = this.customUrl) === null || _d === void 0 ? void 0 : _d.payload) || {}, ((_e = this.customFilters) === null || _e === void 0 ? void 0 : _e.payload) || {})
|
|
178
178
|
};
|
|
179
|
-
if (((
|
|
179
|
+
if (((_f = this.requestActions) === null || _f === void 0 ? void 0 : _f.beforeSubmit) && typeof ((_g = this.requestActions) === null || _g === void 0 ? void 0 : _g.beforeSubmit) === 'string') {
|
|
180
180
|
try {
|
|
181
181
|
if (this.customUrl) {
|
|
182
|
-
_customPayload = Evaluator.evaluate((
|
|
182
|
+
_customPayload = Evaluator.evaluate((_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit, { criteria: _customPayload }, 'payload');
|
|
183
183
|
}
|
|
184
184
|
else {
|
|
185
|
-
_providerPayload = Evaluator.evaluate((
|
|
185
|
+
_providerPayload = Evaluator.evaluate((_j = this.requestActions) === null || _j === void 0 ? void 0 : _j.beforeSubmit, { criteria: _providerPayload }, 'payload');
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
catch (e) {
|
|
@@ -374,4 +374,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
374
374
|
}], pageSizes: [{
|
|
375
375
|
type: Input
|
|
376
376
|
}] } });
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHckUsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFXSCxNQUFNLE9BQU8scUJBQXFCO0lBOEdqQyxZQUNTLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3ZCLG1CQUF3QyxFQUN4QyxHQUFzQjtRQUh0QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFFBQUcsR0FB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O2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRU4sWUFBWTtzQkFEWCxLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFTRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdFRlbXBsYXRlUmVmLFxyXG5cdFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFTVBUWV9URU1QTEFURSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZW1wdHktc3RhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRHluYW1pY1RhYmxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2R5bmFtaWMtdGFibGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvci9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBFdmFsdWF0ZWRTdHJpbmcsIEV2YWx1YXRvciB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcblxyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYW4gYWRkaXRpb25hbCBsYXllciB0aGF0IHVzZXMgW1RhYmxlIENvbXBvbmVudF17QGxpbmsgVGFibGVDb21wb25lbnR9IGludGVybmFsbHksXHJcbiAqIHlvdSBjYW4gdXNlIHRoaXMgY29tcG9uZW50IHRvIGNvbmZpZ3VyZSBhIHBhZ2UgcHJvdmlkZXIgbGlzdGluZyBvdXQgb2YgdGhlIGJveCBlYXNpbHksXHJcbiAqIGFuZCBpdCB3aWxsIGhhbmRsZSBhbGwgb2YgdGhlIGJhc2ljIGZlYXR1cmVzIHN1Y2ggYXMgZ2V0dGluZyBkYXRhIGZyb20gQVBJLCBMaXN0aW5nLCBQYWdpbmF0aW9uLCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmdcclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqIEB0aXRsZVxyXG4gKiBEeW5hbWljIFRhYmxlXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy10YWJsZVxyXG4gKiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICogICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gKiAgICBbcGFnZVNpemVdPVwiUGFnZVNpemVcIlxyXG4gKiAgICBbcGFnZVByb3ZpZGVyXT1cInBhZ2VQcm92aWRlclwiXHJcbiAqICAgIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gKiAgICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAqICAgIFtlbnRpdHlUeXBlXT1cIidhbGwnXCJcclxuICogICAgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gKiAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAqICAgIFtyb3dDdXJzb3JdPVwidHJ1ZVwiXHJcbiAqICAgIFtxdWVyeVBhcmFtXT1cInF1ZXJ5UGFyYW1cIlxyXG4gKiAgICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICogICAgKG9uUm93U2VsZWN0ZWQpPVwib3BlblZpZXdlcigkZXZlbnQpXCJcclxuICogICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLXRhYmxlPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjdHMtZHluYW1pYy10YWJsZScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG5cdGhvc3Q6IHtcclxuXHRcdCdbY2xhc3MubG9hZGluZy1yZXN1bHRzXSc6ICdsb2FkaW5nJyxcclxuXHRcdCdbY2xhc3Mubm8tZGF0YV0nOiAncm93cy5sZW5ndGggPD0gMCdcclxuXHR9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0LyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyAgKi9cclxuXHRAT3V0cHV0KCkgb25Sb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93IHRvIGNhdGNoIGluZGV4Ki9cclxuXHRAT3V0cHV0KCkgb25Sb3dJbmRleFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0byBlbWl0IHdoZW4gcGVyZm9ybSBhY3Rpb24gb24gcm93IChkZWx0ZSwgZWRpdCwgLi4uICkgKi9cclxuXHRAT3V0cHV0KCkgYWN0aW9uT25Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHRvIGVtaXQgdG8gdGhlIGhpZ2hlciBsZXZlbCAgd2hlbiBnZXR0aW5nIGRhdGEgZnJvbSBhcGkgaXMgZmluaXNoZWQgKi9cclxuXHRAT3V0cHV0KCkgb25HZXR0aW5nRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdCBlbWl0IHdoZW4gc2VsZWN0aW5nIG11bHRpcGxlIHJvdyAqL1xyXG5cdEBPdXRwdXQoKSBvbk11bHRpUm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHQgZW1pdCB3aGVuIHN0YXJ0IGdldHRpbmcgZGF0YSBhbmQgd2hlbiBmaW5pc2ggKi9cclxuXHRAT3V0cHV0KCkgb25Mb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHRAT3V0cHV0KCkgc29ydENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc29ydEJ5OiBzdHJpbmc7IHNvcnRPcmRlcjogc3RyaW5nIH0+KCk7XHJcblx0LyoqXHJcblx0ICogQGRlcHJlY2F0ZWQgVXNlIGBvblBhZ2VgIGluc3RlYWQuXHJcblx0ICogQHNlZSBvblBhZ2VcclxuXHQgKi9cclxuXHRAT3V0cHV0KCkgb25QYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHRAT3V0cHV0KCkgb25QYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlRXZlbnQ+KCk7XHJcblxyXG5cdEBPdXRwdXQoKSBvbkxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dCgpIG9uSW5pdGlhbGl6ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogQXJyYXkgb2YgY29sdW1ucyAqL1xyXG5cdEBJbnB1dCgpIGNvbHVtbnM7XHJcblx0LyoqIEFycmF5IG9mIGNvbHVtbnMgb24gc21hbGxlciBzY3JlZW5zICovXHJcblx0QElucHV0KCkgcmVzcG9uc2l2ZUNvbHVtbnM/O1xyXG5cdC8qKiBEZWZpbmVzIHRoZSBwYWdlIGluIHdoaWNoIHRhYmxlIGlzIGJlaW5nIHVzZWQgKi9cclxuXHRASW5wdXQoKSBlbnRpdHlUeXBlOiBzdHJpbmc7XHJcblx0LyoqIFRyYW5zbGF0aW9ucyBwcmVmaXggKi9cclxuXHRASW5wdXQoKSBwcmVmaXggPSAnJztcclxuXHQvKiogSGVhZGVycyB0byBiZSBzZW50IHdpdGggQVBJIFJlcXVlc3QgKi9cclxuXHRASW5wdXQoKSBoZWFkZXJzO1xyXG5cdC8qKiBGaWVsZHMga2V5bWFwIHRvIGJlIG1hcHBlZCBpbiB0aGUgYWRhcHRlciAqL1xyXG5cdEBJbnB1dCgpIGZpZWxkcztcclxuXHQvKiogUGFnZSBQcm92aWRlciBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHJldHJpZXZlIGRhdGEgKi9cclxuXHRASW5wdXQoKSBwYWdlUHJvdmlkZXI7XHJcblx0LyoqIENvbnRyb2xzIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0YWJsZSAqL1xyXG5cdEBJbnB1dCgpIHBhZ2VTaXplID0gMTA7XHJcblxyXG5cdEBJbnB1dCgpIGlzTGVnYWN5TW9kZSA9IHRydWU7XHJcblx0QElucHV0KCkgc2hvd1RvdGFsUmVjb3JkID0gZmFsc2U7XHJcblxyXG5cdEBDb250ZW50Q2hpbGQoRU1QVFlfVEVNUExBVEUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG5cdGVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG5cdHByaXZhdGUgX3BhZ2VOdW1iZXIgPSAxO1xyXG5cdEBJbnB1dCgpIHNldCBwYWdlTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuXHRcdHRoaXMuX3BhZ2VOdW1iZXIgPSBpc05hTigrdmFsdWUpID8gMSA6ICt2YWx1ZTtcclxuXHR9XHJcblxyXG5cdGdldCBwYWdlTnVtKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXI7XHJcblx0fVxyXG5cclxuXHQvKiogU29ydGluZyBjb2x1bW4gKi9cclxuXHRASW5wdXQoKSBzb3J0aW5nQnk6IHtcclxuXHRcdHNvcnRCeT86IHN0cmluZztcclxuXHRcdHNvcnRPcmRlcj86IHN0cmluZztcclxuXHR9ID0ge307XHJcblx0QElucHV0KCkgcXVlcnlQYXJhbT8gPSB7fTtcclxuXHJcblx0QElucHV0KCkgY3VzdG9tRmlsdGVyczoge1xyXG5cdFx0cGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHRcdHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdH0gPSB7fTtcclxuXHJcblx0QElucHV0KCkgcXVpY2tGaWx0ZXI/O1xyXG5cdC8qKiBDb250cm9scyBpZiBpdCByZXBvcnQgcGFnZSAqL1xyXG5cdEBJbnB1dCgpIHJlcG9ydDtcclxuXHQvKiogdG8gbWFrZSBjdXJzb3Igd2hlbiBob3ZlciBvbiByb3cgb3Igbm90ICovXHJcblx0QElucHV0KCkgcm93Q3Vyc29yPztcclxuXHRASW5wdXQoKSBmdWxsV2lkdGg/ID0gJ2F1dG8nO1xyXG5cdC8qKiAnbGlzdCcgZm9yIG5vcmFtbCB0YWJsZSAnY2FyZCcgZm9yIGNhcmRzIG1vZGUgbGlrZSBpbiBtZW1vcyAqL1xyXG5cdEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuXHJcblx0QElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG5cdC8qKiBhY3Rpb24gdG8gYmUgdXNlZCBpbiBjYXNlIG9mIGNhcmQgbW9kZSAqL1xyXG5cdEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuXHRASW5wdXQoKSBkZWZ1bHRTb3J0OiBhbnkgPSB7IG5hbWU6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH07XHJcblx0QElucHV0KCkgcmFuZ2U7XHJcblx0QElucHV0KCkgaXNTZWFyY2hQYWdlID0gZmFsc2U7XHJcblx0LyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG5cdEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG5cdC8qKiB0byBzaG93IDFzdCByb3cgd2l0aCBjdXN0b20gdGVtcGxhdGUgaW4gdGhlIHRhYmxlKi9cclxuXHRASW5wdXQoKSBjdXN0b21GaXJzdFJvdyA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIGhpZ2hsaWdodFNlbGVjdGVkQ2FyZCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dBY3Rpb25zQXNNZW51ID0gZmFsc2U7IC8vIGZsYWdlIHRvIHNob3cgYWN0aW9uIGluIG1lbnUgb3Igc2lkZSBieSBzaWRlXHJcblx0QElucHV0KClcclxuXHRmaWx0ZXJQYXJhbXMgPSB7fTtcclxuXHJcblx0QElucHV0KCkgc2tpcEFnZ3JlZ2F0aW9uOiAnbmV2ZXInIHwgJ29uUGFnZUNoYW5nZScgPSAnb25QYWdlQ2hhbmdlJztcclxuXHRASW5wdXQoKSBjdXN0b21Vcmw6IHsgdXJsOiBzdHJpbmc7IG1ldGhvZDogJ1BPU1QnIHwgJ0dFVCcgfTtcclxuXHRASW5wdXQoKSBmb3JtYXQgPSAnTU1NTSBkLCB5JztcclxuXHJcblx0QElucHV0KCkgcmVxdWVzdEFjdGlvbnM/OiB7XHJcblx0XHRiZWZvcmVTdWJtaXQ/OiBFdmFsdWF0ZWRTdHJpbmc8J3BheWxvYWQnPjtcclxuXHR9O1xyXG5cclxuXHRyb3dzID0gW107XHJcblx0dG90YWxSZWNvcmRzID0gMDtcclxuXHRteURhdGFTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHRsb2FkaW5nO1xyXG5cdHNvcnRpbmcgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBwYWdlU2l6ZXM6IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgc2l6ZTogbnVtYmVyIH0+ID0gW107XHJcblxyXG5cdGluaXRpYWxpemVkID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBhZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgY2FsbEFwaTogQ2FsbEFwaVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGR5bmFtaWNUYWJsZVNlcnZpY2U6IER5bmFtaWNUYWJsZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5teURhdGFTdWJzY3JpcHRpb24gPSB0aGlzLmR5bmFtaWNUYWJsZVNlcnZpY2UucmVmcmVzaERhdGEucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoZmlsdGVyRGF0YSkgPT4ge1xyXG5cdFx0XHRpZiAoZmlsdGVyRGF0YSkge1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJEYXRhIH07XHJcblx0XHRcdFx0Ly8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcblx0XHRcdFx0dGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5nZXREYXRhKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy5teURhdGFTdWJzY3JpcHRpb24gPyB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogJyc7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhjaGFuZ2VzKS5zb21lKChjKSA9PiBjLmlzRmlyc3RDaGFuZ2UoKSk7XHJcblx0XHRpZiAoaXNGaXJzdENoYW5nZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgaGFzQ2hhbmdlZCA9IChpdGVtczogc3RyaW5nW10pID0+XHJcblx0XHRcdGl0ZW1zLnNvbWUoKGtleSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGlzRXF1YWwgPSBfLmlzRXF1YWwoY2hhbmdlc1trZXldPy5wcmV2aW91c1ZhbHVlIHx8IG51bGwsIGNoYW5nZXNba2V5XT8uY3VycmVudFZhbHVlIHx8IG51bGwpO1xyXG5cdFx0XHRcdHJldHVybiAhaXNFcXVhbDtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0aWYgKGhhc0NoYW5nZWQoWydxdWVyeVBhcmFtJywgJ3F1aWNrRmlsdGVyJywgJ2N1c3RvbUZpbHRlcnMnXSkpIHtcclxuXHRcdFx0aWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuXHRcdFx0XHR0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTsgLy8gUmVzZXQgcGFnZSBudW1iZXIgYmVmb3JlIHJlY2FsbGluZyBBUEkgd2l0aCBmaWx0ZXJzXHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5nZXREYXRhKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGhhc0NoYW5nZWQoWydzb3J0aW5nQnknXSkpIHtcclxuXHRcdFx0dGhpcy5nZXREYXRhKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9yZXNldFBhZ2VOdW1iZXIoKSB7XHJcblx0XHR0aGlzLl9wYWdlTnVtYmVyID0gMTtcclxuXHRcdHRoaXMub25QYWdlQ2hhbmdlLmVtaXQodGhpcy5fcGFnZU51bWJlcik7XHJcblx0XHR0aGlzLm9uUGFnZS5lbWl0KHtcclxuXHRcdFx0cGFnZUluZGV4OiB0aGlzLl9wYWdlTnVtYmVyLFxyXG5cdFx0XHRwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuXHRcdFx0bGVuZ3RoOiB0aGlzLnRvdGFsUmVjb3Jkc1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRnZXREYXRhKHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSwgaGVhZGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9KSB7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlOyAvLyBpbnRlcm5hbCBsb2FkaW5nXHJcblx0XHR0aGlzLm9uTG9hZGluZy5lbWl0KHRydWUpOyAvLyBleHRlcm5hbCBsb2FkaW5nXHJcblx0XHRsZXQgcGFyYW1zID0ge1xyXG5cdFx0XHQuLi4odGhpcy5yYW5nZSA/IHsgZHVibGluY29yZV9jcmVhdGVkX2FnZzogdGhpcy5yYW5nZSB9IDoge30pLFxyXG5cdFx0XHQuLi50aGlzLmZpbHRlclBhcmFtcywgLy8gdXNlZCB0byBnZXQgZmlsdGVyIGRhdGEgYW5kIHNldCBpdCBpbiBvdXIgcGFyYW1zXHJcblx0XHRcdC4uLnRoaXMucXVlcnlQYXJhbSwgLy8gdXNlZCB0byBnZXQgcGFyYW1zIGZyb20gb3VyIGNvbmZpZ1xyXG5cdFx0XHQuLi50aGlzLnF1aWNrRmlsdGVyLFxyXG5cdFx0XHQuLi4oT2JqZWN0LmtleXModGhpcy5zb3J0aW5nQnkgfHwge30pLmxlbmd0aFxyXG5cdFx0XHRcdD8ge1xyXG5cdFx0XHRcdFx0XHRzb3J0Qnk6IHRoaXMuc29ydGluZ0J5Py5zb3J0QnksXHJcblx0XHRcdFx0XHRcdHNvcnRPcmRlcjogdGhpcy5zb3J0aW5nQnk/LnNvcnRPcmRlclxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDoge30pLFxyXG5cdFx0XHRjdXJyZW50UGFnZUluZGV4OiArdGhpcy5wYWdlTnVtIC0gMSxcclxuXHRcdFx0Li4uKHRoaXMucGFnZVNpemUgPyB7IHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0gOiB7fSksXHJcblx0XHRcdG9mZnNldDogMCxcclxuXHRcdFx0Li4ucGF5bG9hZFxyXG5cdFx0fTtcclxuXHJcblx0XHQvLyBkb24ndCByZWZyZXNoIGFsbCB0YWJsZSBpbiBjYXNlIG9mIHNvcnRpbmcgb25seVxyXG5cdFx0aWYgKCF0aGlzLnNvcnRpbmcgJiYgdGhpcy5pc0xlZ2FjeU1vZGUpIHtcclxuXHRcdFx0Ly8gdXNlZCB0byBub3QgcmVmcmVzaGluZyBhbGwgdGFibGUgaW4gY2FzZSBvZiBzb3J0aW5nIHNpbmNlIHRhYmxlIGxvc2Ugc29ydGluZyBzdGF0ZSB3aGVuIHJlZnJlc2ggYWxsIHRhYmxlXHJcblx0XHRcdHRoaXMucm93cyA9IFtdOyAvLyB1c2VkIHRvIHJlZnJlc2ggdGFibGUgdG8gZmVlbCBjaGFuZ2VzIGluIGFjdGlvbnMgd2hlbiBwZXJmb3JtIGFjdGlvbiBhbmQgbmVlZCB0byByZWZyZXNoIGFjdGlvbnNcclxuXHRcdH1cclxuXHRcdHRoaXMuc29ydGluZyA9IGZhbHNlOyAvLyByZXNldCBzb3J0aW5nIHN0YXR1cyB0byBmYWxzZSBhbmQgZm9yIG5leHQgc29ydGluZyBmdW5jIHNvcnRpbmcgc2V0IGl0IHRvIHRydWUgYWdhaW5cclxuXHJcblx0XHRjb25zdCBfaGVhZGVycyA9IHtcclxuXHRcdFx0Li4udGhpcy5oZWFkZXJzLFxyXG5cdFx0XHQuLi5oZWFkZXJzXHJcblx0XHR9O1xyXG5cclxuXHRcdGxldCBfcHJvdmlkZXJQYXlsb2FkID0ge1xyXG5cdFx0XHRxdWVyeToge1xyXG5cdFx0XHRcdHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcblx0XHRcdFx0Li4ucGFyYW1zXHJcblx0XHRcdH0sXHJcblx0XHRcdG9wdGlvbnM6IHtcclxuXHRcdFx0XHRoZWFkZXJzOiBfaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cclxuXHRcdGxldCBfY3VzdG9tUGF5bG9hZCA9IHtcclxuXHRcdFx0cGFyYW1zOiB7XHJcblx0XHRcdFx0Li4ucGFyYW1zLFxyXG5cdFx0XHRcdC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0aGVhZGVyczogX2hlYWRlcnMsXHJcblx0XHRcdHBheWxvYWQ6IHRoaXMuY3VzdG9tRmlsdGVycz8ucGF5bG9hZCB8fCB7fVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAodGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0ICYmIHR5cGVvZiB0aGlzLnJlcXVlc3RBY3Rpb25zPy5iZWZvcmVTdWJtaXQgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHRyeSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuY3VzdG9tVXJsKSB7XHJcblx0XHRcdFx0XHRfY3VzdG9tUGF5bG9hZCA9IEV2YWx1YXRvci5ldmFsdWF0ZShcclxuXHRcdFx0XHRcdFx0dGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0LFxyXG5cdFx0XHRcdFx0XHR7IGNyaXRlcmlhOiBfY3VzdG9tUGF5bG9hZCB9LFxyXG5cdFx0XHRcdFx0XHQncGF5bG9hZCdcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdF9wcm92aWRlclBheWxvYWQgPSBFdmFsdWF0b3IuZXZhbHVhdGUoXHJcblx0XHRcdFx0XHRcdHRoaXMucmVxdWVzdEFjdGlvbnM/LmJlZm9yZVN1Ym1pdCxcclxuXHRcdFx0XHRcdFx0eyBjcml0ZXJpYTogX3Byb3ZpZGVyUGF5bG9hZCB9LFxyXG5cdFx0XHRcdFx0XHQncGF5bG9hZCdcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5lcnJvcihlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5JCA9IHRoaXMuY3VzdG9tVXJsXHJcblx0XHRcdD8gdGhpcy5jYWxsQXBpLmN1c3RvbVF1ZXJ5KHRoaXMuY3VzdG9tVXJsLCBfY3VzdG9tUGF5bG9hZC5wYXJhbXMsIF9jdXN0b21QYXlsb2FkLmhlYWRlcnMsIF9jdXN0b21QYXlsb2FkLnBheWxvYWQpXHJcblx0XHRcdDogdGhpcy5jYWxsQXBpLnF1ZXJ5KF9wcm92aWRlclBheWxvYWQucXVlcnksIF9wcm92aWRlclBheWxvYWQub3B0aW9ucyk7XHJcblxyXG5cdFx0cXVlcnkkXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdG1hcCgoZGF0YTogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PiB0aGlzLmFkYXB0ZXIuYWRhcHRJbihpdGVtLCB0aGlzLmZpZWxkcykpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGRhdGE7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0Y2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHR0aHJvdyBlcnI7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLm9uTG9hZGluZy5lbWl0KGZhbHNlKTtcclxuXHRcdFx0XHR0aGlzLm9uTG9hZC5lbWl0KHJlcyk7XHJcblx0XHRcdFx0aWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLm9uSW5pdGlhbGl6ZS5lbWl0KHJlcyk7XHJcblx0XHRcdFx0XHR0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmVzLmVudHJpZXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiYgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXMpIHtcclxuXHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzWydjcmVhdG9yRnVsbE9iamVjdCddID0geyAuLi5lbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvciB9O1xyXG5cdFx0XHRcdFx0XHRlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvciA9XHJcblx0XHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXM/LmZpcnN0TmFtZSArXHJcblx0XHRcdFx0XHRcdFx0JyAnICtcclxuXHRcdFx0XHRcdFx0XHRlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvcj8ucHJvcGVydGllcz8ubGFzdE5hbWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAoZWxlbWVudC5wcm9wZXJ0aWVzICYmIGVsZW1lbnQucHJvcGVydGllcz8uYXNzaWduZWUpIHtcclxuXHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmFzc2lnbmVlID0gZWxlbWVudC5wcm9wZXJ0aWVzPy5hc3NpZ25lZS5mdWxsTmFtZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy5yZXN1bHRzQ291bnQ7XHJcblx0XHRcdFx0dGhpcy5yb3dzID0gcmVzLmVudHJpZXM7XHJcblx0XHRcdFx0dGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdC8vIGVtaXQgZGF0YSB0byBvdXRzaWRlIGluIGNhc2Ugb2Ygc2VhcmNoIHBhZ2UgZm9yIHRoZSBmaXJzdCB0aW1lIG9ubHkgdG8gcHJldmVudCByZWZyZXNoaW5nIGFnZ3JlZ2F0aW9uIHdpdGggZXZlcnkgcGFnZSBjaGFuZ2VcclxuXHRcdFx0XHQvLyBhbmQgZm9yIGFueSBvdGhlciBwYWdlIHR5cGUgZW1pdCBkYXRhIGRpcmVjdGx5IGluIGFsbCBwYWdlIG51bWJlcnNcclxuXHRcdFx0XHRpZiAoKHRoaXMuaXNTZWFyY2hQYWdlICYmIHRoaXMucGFnZU51bSA9PT0gMSkgfHwgIXRoaXMuaXNTZWFyY2hQYWdlKSB0aGlzLm9uR2V0dGluZ0RhdGEuZW1pdChyZXMpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8vIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdoZW4gY2xpY2tpbmcgb24gc2luZ2xlIHJvd1xyXG5cdHJvd0RldGFpbHMoZXZlbnQpIHtcclxuXHRcdHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdGluZGV4RGV0YWlscyhldmVudCkge1xyXG5cdFx0dGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcblx0fVxyXG5cclxuXHQvL2Z1bmN0aW9uIHRvIGhhbmRsZSBhbGwgb3BlcmF0aW9ucyBvbiBzaW5nbGUgcm93IChkZWxldGUgLCBlZGl0ICwgLi4uKVxyXG5cdHBlcmZvcm1BY3Rpb24oYWN0aW9uKSB7XHJcblx0XHR0aGlzLmFjdGlvbk9uUm93LmVtaXQoYWN0aW9uKTtcclxuXHR9XHJcblxyXG5cdC8vIGhhbmRsZSBzb3J0aW5nIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHRhYmxlXHJcblx0b25Tb3J0KHNvcnRPYmplY3QpIHtcclxuXHRcdHRoaXMuc29ydENoYW5nZWQuZW1pdChzb3J0T2JqZWN0KTtcclxuXHRcdHRoaXMuc29ydGluZ0J5ID0gc29ydE9iamVjdDtcclxuXHRcdHRoaXMuc29ydGluZyA9IHRydWU7XHJcblx0XHR0aGlzLmdldERhdGEoe30sIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge30pO1xyXG5cdH1cclxuXHJcblx0b25NdWx0aVJvd1NlbGVjdFZhbHVlKGV2ZW50KSB7XHJcblx0XHR0aGlzLm9uTXVsdGlSb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7XHJcblx0XHR0aGlzLl9wYWdlTnVtYmVyID0gZXZlbnQ7XHJcblx0XHR0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuXHRcdHRoaXMub25QYWdlLmVtaXQoe1xyXG5cdFx0XHRwYWdlSW5kZXg6IHRoaXMuX3BhZ2VOdW1iZXIsXHJcblx0XHRcdHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG5cdFx0XHRsZW5ndGg6IHRoaXMudG90YWxSZWNvcmRzXHJcblx0XHR9KTtcclxuXHRcdHRoaXMuZ2V0RGF0YSh7fSwgdGhpcy5za2lwQWdncmVnYXRpb24gPT09ICdvblBhZ2VDaGFuZ2UnID8geyBza2lwQWdncmVnYXRlczogJ3RydWUnIH0gOiB7fSk7XHJcblx0fVxyXG5cclxuXHRvbkNoYW5nZVBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuXHRcdHRoaXMucGFnZVNpemUgPSBwYWdlU2l6ZTtcclxuXHRcdHRoaXMuX3Jlc2V0UGFnZU51bWJlcigpO1xyXG5cdFx0dGhpcy5nZXREYXRhKHt9LCB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndyYXBwaW5nIHRhYmxlLXdyYXBwaW5nXCI+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGVnYWN5TW9kZVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd3MubGVuZ3RoXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGN0cy1zcGlubmVyPjwvY3RzLXNwaW5uZXI+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIiAqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIj5cclxuXHRcdDxuZy1jb250YWluZXIgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdCpuZ0lmPVwiIWluaXRpYWxpemVkXCJcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25cIlxyXG5cdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEwIH1cIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInBhZ2luYXRpb24taW5lci13cmFwZXIgbXktM1wiXHJcblx0XHRbbmdDbGFzc109XCJ7IHJlbGF0aXZlOiBwYWdlU2l6ZXM/Lmxlbmd0aCB9XCJcclxuXHRcdCpuZ0lmPVwicm93cy5sZW5ndGggXCJcclxuXHQ+XHJcblx0XHQ8Y3RzLXBhZ2luYXRpb25cclxuICAgICAgKm5nSWY9XCJ0b3RhbFJlY29yZHMgPiBwYWdlU2l6ZVwiXHJcblx0XHRcdFtwYWdlXT1cInBhZ2VOdW1cIlxyXG5cdFx0XHQoY2hhbmdlKT1cInBhZ2luYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFtzaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0W2NvdW50XT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHQ+PC9jdHMtcGFnaW5hdGlvbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBuZGZQYWdlU2l6ZXMgZmxleCBnYXAteC0zIGl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcblx0XHRcdDxuZGYtcGFnZS1zaXplcy1saXN0XHJcblx0XHRcdFx0Km5nSWY9XCJwYWdlU2l6ZXM/Lmxlbmd0aFwiXHJcblx0XHRcdFx0W3BhZ2VTaXplc109XCJwYWdlU2l6ZXNcIlxyXG5cdFx0XHRcdFtzZWxlY3RlZFBhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0XHQob25DaGFuZ2VQYWdlU2l6ZSk9XCJvbkNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdDwvbmRmLXBhZ2Utc2l6ZXMtbGlzdD5cclxuXHJcblx0XHRcdDxzcGFuICpuZ0lmPVwic2hvd1RvdGFsUmVjb3JkXCI+e3sgJ1RBQkxFLnRvdGFsUmVjb3JkcycgfCB0cmFuc2xhdGU6IHsgY291bnQ6IHRvdGFsUmVjb3JkcyB9IH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxuZy1jb250YWluZXJcclxuXHRcdCpuZ0lmPVwiaXNMZWdhY3lNb2RlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5VGVtcGxhdGUgfHwgbGVnYWN5RGVmYXVsdEVtcHR5U3RhdGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsb2FkaW5nLCByb3dzOiByb3dzLCBpbml0aWFsaXplZDogaW5pdGlhbGl6ZWQgfVwiXHJcblx0PjwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8bmctY29udGFpbmVyXHJcblx0XHQqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZSB8fCBkZWZhdWx0RW1wdHlTdGF0ZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxvYWRpbmcsIHJvd3M6IHJvd3MsIGluaXRpYWxpemVkOiBpbml0aWFsaXplZCB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0YWJsZT5cclxuXHQ8Y3RzLXRhYmxlXHJcblx0XHRbcm93c109XCJyb3dzXCJcclxuXHRcdFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG5cdFx0W3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuXHRcdFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuXHRcdFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuXHRcdFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG5cdFx0W3ByZWZpeF09XCJwcmVmaXhcIlxyXG5cdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG5cdFx0W3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG5cdFx0W2NvbXBvbmVudE5hbWVdPVwiY29tcG9uZW50TmFtZVwiXHJcblx0XHRbbXVsdGlTZWxlY3RSb3dzXT1cIm11bHRpU2VsZWN0Um93c1wiXHJcblx0XHRbdGFibGVBY3Rpb25zXT1cInRhYmxlQWN0aW9uc1wiXHJcblx0XHRbc2hvd0FjdGlvbnNBc01lbnVdPVwic2hvd0FjdGlvbnNBc01lbnVcIlxyXG5cdFx0W2RlZnVsdFNvcnRdPVwiZGVmdWx0U29ydFwiXHJcblx0XHRbZm9ybWF0XT1cImZvcm1hdFwiXHJcblx0XHRbaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkXT1cImhpZ2hsaWdodFNlbGVjdGVkQ2FyZFwiXHJcblx0XHRbY3VzdG9tRmlyc3RSb3ddPVwiY3VzdG9tRmlyc3RSb3dcIlxyXG5cdFx0KG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuXHRcdChvblJvd0luZGV4U2VsZWN0ZWQpPVwiaW5kZXhEZXRhaWxzKCRldmVudClcIlxyXG5cdFx0KG9uTXVsdGlSb3dTZWxlY3RlZCk9XCJvbk11bHRpUm93U2VsZWN0VmFsdWUoJGV2ZW50KVwiXHJcblx0XHQoYWN0aW9uT25Sb3cpPVwicGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcclxuXHRcdChvblNvcnRpbmcpPVwib25Tb3J0KCRldmVudClcIlxyXG5cdD48L2N0cy10YWJsZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGVnYWN5RGVmYXVsdEVtcHR5U3RhdGU+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdub0RhdGEnIDogJ25vRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIiAqbmdJZj1cImxvYWRpbmcgJiYgcm93cy5sZW5ndGggPT09IDBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdHt7IChwcmVmaXggPyBwcmVmaXggKyAnZ2V0dGluZ0RhdGEnIDogJ2dldHRpbmdEYXRhJykgfCB0cmFuc2xhdGUgfX1cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0RW1wdHlTdGF0ZT5cclxuXHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIiAqbmdJZj1cIiFsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ25vRGF0YScgOiAnbm9EYXRhJykgfCB0cmFuc2xhdGUgfX1cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgKm5nSWY9XCJsb2FkaW5nICYmIGluaXRpYWxpemVkXCIgY2xhc3M9XCJsb2FkaW5nLWNvbnRlbnRcIj5cclxuXHRcdDxtYXQtc3Bpbm5lciBbZGlhbWV0ZXJdPVwiMTAwXCI+PC9tYXQtc3Bpbm5lcj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc2tlbGV0b24gbGV0LXJvd3M+XHJcblx0PHRhYmxlIGNsYXNzPVwidy1mdWxsXCI+XHJcblx0XHQ8dGhlYWQgKm5nSWY9XCJmYWxzZVwiPlxyXG5cdFx0XHQ8dHIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItZ3JlZW4tOTAwXCI+XHJcblx0XHRcdFx0PHRoICpuZ0lmPVwibXVsdGlTZWxlY3RSb3dzXCIgY2xhc3M9XCJwLTMgcHktNFwiIHN0eWxlPVwid2lkdGg6IDYwcHhcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gd2lkdGg9XCI2MHB4XCIgaGVpZ2h0PVwiMS4zcmVtXCI+PC9hcHAtc2tlbGV0b24+XHJcblx0XHRcdFx0PC90aD5cclxuXHRcdFx0XHQ8dGggKm5nRm9yPVwibGV0IG51bSBvZiBbXS5jb25zdHJ1Y3Rvcihjb2x1bW5zPy5sZW5ndGggfHwgNCk7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInB4LTMgcHktNFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiBbcmFuZG9tV2lkdGhdPVwidHJ1ZVwiIGhlaWdodD1cIjEuN3JlbVwiPjwvYXBwLXNrZWxldG9uPlxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdDwvdHI+XHJcblx0XHQ8L3RoZWFkPlxyXG5cdFx0PHRib2R5PlxyXG5cdFx0XHQ8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBbXS5jb25zdHJ1Y3Rvcihyb3dzIHx8IDEwKTsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmF5LTIwMFwiPlxyXG5cdFx0XHRcdDx0ZCAqbmdJZj1cIm11bHRpU2VsZWN0Um93c1wiIGNsYXNzPVwicC0zIHB5LTRcIiBzdHlsZT1cIndpZHRoOiA1MHB4XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIHdpZHRoPVwiNTBweFwiIGhlaWdodD1cIjEuM3JlbVwiPjwvYXBwLXNrZWxldG9uPlxyXG5cdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0PHRkICpuZ0Zvcj1cImxldCBjb2wgb2YgW10uY29uc3RydWN0b3IoY29sdW1ucz8ubGVuZ3RoIHx8IDQpOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJwLTMgcHktNFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiBbcmFuZG9tV2lkdGhdPVwidHJ1ZVwiIGhlaWdodD1cIjEuM3JlbVwiPjwvYXBwLXNrZWxldG9uPlxyXG5cdFx0XHRcdDwvdGQ+XHJcblx0XHRcdDwvdHI+XHJcblx0XHQ8L3Rib2R5PlxyXG5cdDwvdGFibGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHckUsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFXSCxNQUFNLE9BQU8scUJBQXFCO0lBOEdqQyxZQUNTLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3ZCLG1CQUF3QyxFQUN4QyxHQUFzQjtRQUh0QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFFBQUcsR0FB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RyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFTixZQUFZO3NCQURYLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQVNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdENvbXBvbmVudCxcclxuXHRDb250ZW50Q2hpbGQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0Vmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEVNUFRZX1RFTVBMQVRFIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9lbXB0eS1zdGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHluYW1pYy10YWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IEV2YWx1YXRlZFN0cmluZywgRXZhbHVhdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkJztcclxuXHJcbi8qKlxyXG4gKiB0aGlzIGNvbXBvbmVudCBpcyBhbiBhZGRpdGlvbmFsIGxheWVyIHRoYXQgdXNlcyBbVGFibGUgQ29tcG9uZW50XXtAbGluayBUYWJsZUNvbXBvbmVudH0gaW50ZXJuYWxseSxcclxuICogeW91IGNhbiB1c2UgdGhpcyBjb21wb25lbnQgdG8gY29uZmlndXJlIGEgcGFnZSBwcm92aWRlciBsaXN0aW5nIG91dCBvZiB0aGUgYm94IGVhc2lseSxcclxuICogYW5kIGl0IHdpbGwgaGFuZGxlIGFsbCBvZiB0aGUgYmFzaWMgZmVhdHVyZXMgc3VjaCBhcyBnZXR0aW5nIGRhdGEgZnJvbSBBUEksIExpc3RpbmcsIFBhZ2luYXRpb24sIHNvcnRpbmcgYW5kIGZpbHRlcmluZ1xyXG4gKiAhW1NjcmVlbnNob3QtMV0oLi4vc2NyZWVuc2hvdHMvZHluYW1pY1RhYmxlLnBuZylcclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgVGFibGVcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy1keW5hbWljLXRhYmxlXHJcbiAqICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gKiAgICBbcmVzcG9uc2l2ZUNvbHVtbnNdPVwicmVzcG9uc2l2ZUNvbHVtbnNcIlxyXG4gKiAgICBbZnVsbFdpZHRoXT1cImZ1bGxXaWR0aFwiXHJcbiAqICAgIFtwYWdlU2l6ZV09XCJQYWdlU2l6ZVwiXHJcbiAqICAgIFtwYWdlUHJvdmlkZXJdPVwicGFnZVByb3ZpZGVyXCJcclxuICogICAgW3F1aWNrRmlsdGVyXT1cImZpbHRlclwiXHJcbiAqICAgIFtzb3J0aW5nQnldPVwic29ydGluZ0J5XCJcclxuICogICAgW2VudGl0eVR5cGVdPVwiJ2FsbCdcIlxyXG4gKiAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAqICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICogICAgW3Jvd0N1cnNvcl09XCJ0cnVlXCJcclxuICogICAgW3F1ZXJ5UGFyYW1dPVwicXVlcnlQYXJhbVwiXHJcbiAqICAgIFtoZWFkZXJzXT1cImhlYWRlcnNcIlxyXG4gKiAgICAob25Sb3dTZWxlY3RlZCk9XCJvcGVuVmlld2VyKCRldmVudClcIlxyXG4gKiAgICAoYWN0aW9uT25Sb3cpPVwicGVyZm9ybUFjdGlvbigkZXZlbnQpXCI+XHJcbiAqIDwvY3RzLWR5bmFtaWMtdGFibGU+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N0cy1keW5hbWljLXRhYmxlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vZHluYW1pYy10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0aG9zdDoge1xyXG5cdFx0J1tjbGFzcy5sb2FkaW5nLXJlc3VsdHNdJzogJ2xvYWRpbmcnLFxyXG5cdFx0J1tjbGFzcy5uby1kYXRhXSc6ICdyb3dzLmxlbmd0aCA8PSAwJ1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHQvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93ICAqL1xyXG5cdEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG5cdEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG5cdEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG5cdEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0IGVtaXQgd2hlbiBzZWxlY3RpbmcgbXVsdGlwbGUgcm93ICovXHJcblx0QE91dHB1dCgpIG9uTXVsdGlSb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdCBlbWl0IHdoZW4gc3RhcnQgZ2V0dGluZyBkYXRhIGFuZCB3aGVuIGZpbmlzaCAqL1xyXG5cdEBPdXRwdXQoKSBvbkxvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdEBPdXRwdXQoKSBzb3J0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzb3J0Qnk6IHN0cmluZzsgc29ydE9yZGVyOiBzdHJpbmcgfT4oKTtcclxuXHQvKipcclxuXHQgKiBAZGVwcmVjYXRlZCBVc2UgYG9uUGFnZWAgaW5zdGVhZC5cclxuXHQgKiBAc2VlIG9uUGFnZVxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoKSBvblBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdEBPdXRwdXQoKSBvblBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4oKTtcclxuXHJcblx0QE91dHB1dCgpIG9uTG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KCkgb25Jbml0aWFsaXplID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBBcnJheSBvZiBjb2x1bW5zICovXHJcblx0QElucHV0KCkgY29sdW1ucztcclxuXHQvKiogQXJyYXkgb2YgY29sdW1ucyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cclxuXHRASW5wdXQoKSByZXNwb25zaXZlQ29sdW1ucz87XHJcblx0LyoqIERlZmluZXMgdGhlIHBhZ2UgaW4gd2hpY2ggdGFibGUgaXMgYmVpbmcgdXNlZCAqL1xyXG5cdEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZztcclxuXHQvKiogVHJhbnNsYXRpb25zIHByZWZpeCAqL1xyXG5cdEBJbnB1dCgpIHByZWZpeCA9ICcnO1xyXG5cdC8qKiBIZWFkZXJzIHRvIGJlIHNlbnQgd2l0aCBBUEkgUmVxdWVzdCAqL1xyXG5cdEBJbnB1dCgpIGhlYWRlcnM7XHJcblx0LyoqIEZpZWxkcyBrZXltYXAgdG8gYmUgbWFwcGVkIGluIHRoZSBhZGFwdGVyICovXHJcblx0QElucHV0KCkgZmllbGRzO1xyXG5cdC8qKiBQYWdlIFByb3ZpZGVyIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmV0cmlldmUgZGF0YSAqL1xyXG5cdEBJbnB1dCgpIHBhZ2VQcm92aWRlcjtcclxuXHQvKiogQ29udHJvbHMgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRhYmxlICovXHJcblx0QElucHV0KCkgcGFnZVNpemUgPSAxMDtcclxuXHJcblx0QElucHV0KCkgaXNMZWdhY3lNb2RlID0gdHJ1ZTtcclxuXHRASW5wdXQoKSBzaG93VG90YWxSZWNvcmQgPSBmYWxzZTtcclxuXHJcblx0QENvbnRlbnRDaGlsZChFTVBUWV9URU1QTEFURSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXHJcblx0ZW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHJcblx0cHJpdmF0ZSBfcGFnZU51bWJlciA9IDE7XHJcblx0QElucHV0KCkgc2V0IHBhZ2VOdW1iZXIodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xyXG5cdFx0dGhpcy5fcGFnZU51bWJlciA9IGlzTmFOKCt2YWx1ZSkgPyAxIDogK3ZhbHVlO1xyXG5cdH1cclxuXHJcblx0Z2V0IHBhZ2VOdW0oKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fcGFnZU51bWJlcjtcclxuXHR9XHJcblxyXG5cdC8qKiBTb3J0aW5nIGNvbHVtbiAqL1xyXG5cdEBJbnB1dCgpIHNvcnRpbmdCeToge1xyXG5cdFx0c29ydEJ5Pzogc3RyaW5nO1xyXG5cdFx0c29ydE9yZGVyPzogc3RyaW5nO1xyXG5cdH0gPSB7fTtcclxuXHRASW5wdXQoKSBxdWVyeVBhcmFtPyA9IHt9O1xyXG5cclxuXHRASW5wdXQoKSBjdXN0b21GaWx0ZXJzOiB7XHJcblx0XHRwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdFx0cGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0fSA9IHt9O1xyXG5cclxuXHRASW5wdXQoKSBxdWlja0ZpbHRlcj87XHJcblx0LyoqIENvbnRyb2xzIGlmIGl0IHJlcG9ydCBwYWdlICovXHJcblx0QElucHV0KCkgcmVwb3J0O1xyXG5cdC8qKiB0byBtYWtlIGN1cnNvciB3aGVuIGhvdmVyIG9uIHJvdyBvciBub3QgKi9cclxuXHRASW5wdXQoKSByb3dDdXJzb3I/O1xyXG5cdEBJbnB1dCgpIGZ1bGxXaWR0aD8gPSAnYXV0byc7XHJcblx0LyoqICdsaXN0JyBmb3Igbm9yYW1sIHRhYmxlICdjYXJkJyBmb3IgY2FyZHMgbW9kZSBsaWtlIGluIG1lbW9zICovXHJcblx0QElucHV0KCkgdGFibGVNb2RlID0gJ2xpc3QnO1xyXG5cclxuXHRASW5wdXQoKSBjb21wb25lbnROYW1lOiBzdHJpbmc7XHJcblx0LyoqIGFjdGlvbiB0byBiZSB1c2VkIGluIGNhc2Ugb2YgY2FyZCBtb2RlICovXHJcblx0QElucHV0KCkgdGFibGVBY3Rpb25zO1xyXG5cdEBJbnB1dCgpIGRlZnVsdFNvcnQ6IGFueSA9IHsgbmFtZTogJ3Byb3BlcnRpZXMuY3JlYXRlZEF0JywgZGlyOiAnZGVzYycgfTtcclxuXHRASW5wdXQoKSByYW5nZTtcclxuXHRASW5wdXQoKSBpc1NlYXJjaFBhZ2UgPSBmYWxzZTtcclxuXHQvKiogYWxsb3cgbXVsdGlzZWxlY3Qgcm93cyB3aXRoIGNoZWNrYm94ICovXHJcblx0QElucHV0KCkgbXVsdGlTZWxlY3RSb3dzID0gZmFsc2U7XHJcblx0LyoqIHRvIHNob3cgMXN0IHJvdyB3aXRoIGN1c3RvbSB0ZW1wbGF0ZSBpbiB0aGUgdGFibGUqL1xyXG5cdEBJbnB1dCgpIGN1c3RvbUZpcnN0Um93ID0gZmFsc2U7XHJcblx0QElucHV0KCkgaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0FjdGlvbnNBc01lbnUgPSBmYWxzZTsgLy8gZmxhZ2UgdG8gc2hvdyBhY3Rpb24gaW4gbWVudSBvciBzaWRlIGJ5IHNpZGVcclxuXHRASW5wdXQoKVxyXG5cdGZpbHRlclBhcmFtcyA9IHt9O1xyXG5cclxuXHRASW5wdXQoKSBza2lwQWdncmVnYXRpb246ICduZXZlcicgfCAnb25QYWdlQ2hhbmdlJyA9ICdvblBhZ2VDaGFuZ2UnO1xyXG5cdEBJbnB1dCgpIGN1c3RvbVVybDogeyB1cmw6IHN0cmluZzsgbWV0aG9kOiAnUE9TVCcgfCAnR0VUJzsgcGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIGFueT4gfTtcclxuXHRASW5wdXQoKSBmb3JtYXQgPSAnTU1NTSBkLCB5JztcclxuXHJcblx0QElucHV0KCkgcmVxdWVzdEFjdGlvbnM/OiB7XHJcblx0XHRiZWZvcmVTdWJtaXQ/OiBFdmFsdWF0ZWRTdHJpbmc8J3BheWxvYWQnPjtcclxuXHR9O1xyXG5cclxuXHRyb3dzID0gW107XHJcblx0dG90YWxSZWNvcmRzID0gMDtcclxuXHRteURhdGFTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHRsb2FkaW5nO1xyXG5cdHNvcnRpbmcgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBwYWdlU2l6ZXM6IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgc2l6ZTogbnVtYmVyIH0+ID0gW107XHJcblxyXG5cdGluaXRpYWxpemVkID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBhZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgY2FsbEFwaTogQ2FsbEFwaVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGR5bmFtaWNUYWJsZVNlcnZpY2U6IER5bmFtaWNUYWJsZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5teURhdGFTdWJzY3JpcHRpb24gPSB0aGlzLmR5bmFtaWNUYWJsZVNlcnZpY2UucmVmcmVzaERhdGEucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoZmlsdGVyRGF0YSkgPT4ge1xyXG5cdFx0XHRpZiAoZmlsdGVyRGF0YSkge1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJEYXRhIH07XHJcblx0XHRcdFx0Ly8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcblx0XHRcdFx0dGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5nZXREYXRhKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy5teURhdGFTdWJzY3JpcHRpb24gPyB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogJyc7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhjaGFuZ2VzKS5zb21lKChjKSA9PiBjLmlzRmlyc3RDaGFuZ2UoKSk7XHJcblx0XHRpZiAoaXNGaXJzdENoYW5nZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgaGFzQ2hhbmdlZCA9IChpdGVtczogc3RyaW5nW10pID0+XHJcblx0XHRcdGl0ZW1zLnNvbWUoKGtleSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGlzRXF1YWwgPSBfLmlzRXF1YWwoY2hhbmdlc1trZXldPy5wcmV2aW91c1ZhbHVlIHx8IG51bGwsIGNoYW5nZXNba2V5XT8uY3VycmVudFZhbHVlIHx8IG51bGwpO1xyXG5cdFx0XHRcdHJldHVybiAhaXNFcXVhbDtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0aWYgKGhhc0NoYW5nZWQoWydxdWVyeVBhcmFtJywgJ3F1aWNrRmlsdGVyJywgJ2N1c3RvbUZpbHRlcnMnXSkpIHtcclxuXHRcdFx0aWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuXHRcdFx0XHR0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTsgLy8gUmVzZXQgcGFnZSBudW1iZXIgYmVmb3JlIHJlY2FsbGluZyBBUEkgd2l0aCBmaWx0ZXJzXHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5nZXREYXRhKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGhhc0NoYW5nZWQoWydzb3J0aW5nQnknXSkpIHtcclxuXHRcdFx0dGhpcy5nZXREYXRhKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9yZXNldFBhZ2VOdW1iZXIoKSB7XHJcblx0XHR0aGlzLl9wYWdlTnVtYmVyID0gMTtcclxuXHRcdHRoaXMub25QYWdlQ2hhbmdlLmVtaXQodGhpcy5fcGFnZU51bWJlcik7XHJcblx0XHR0aGlzLm9uUGFnZS5lbWl0KHtcclxuXHRcdFx0cGFnZUluZGV4OiB0aGlzLl9wYWdlTnVtYmVyLFxyXG5cdFx0XHRwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuXHRcdFx0bGVuZ3RoOiB0aGlzLnRvdGFsUmVjb3Jkc1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRnZXREYXRhKHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSwgaGVhZGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9KSB7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlOyAvLyBpbnRlcm5hbCBsb2FkaW5nXHJcblx0XHR0aGlzLm9uTG9hZGluZy5lbWl0KHRydWUpOyAvLyBleHRlcm5hbCBsb2FkaW5nXHJcblx0XHRsZXQgcGFyYW1zID0ge1xyXG5cdFx0XHQuLi4odGhpcy5yYW5nZSA/IHsgZHVibGluY29yZV9jcmVhdGVkX2FnZzogdGhpcy5yYW5nZSB9IDoge30pLFxyXG5cdFx0XHQuLi50aGlzLmZpbHRlclBhcmFtcywgLy8gdXNlZCB0byBnZXQgZmlsdGVyIGRhdGEgYW5kIHNldCBpdCBpbiBvdXIgcGFyYW1zXHJcblx0XHRcdC4uLnRoaXMucXVlcnlQYXJhbSwgLy8gdXNlZCB0byBnZXQgcGFyYW1zIGZyb20gb3VyIGNvbmZpZ1xyXG5cdFx0XHQuLi50aGlzLnF1aWNrRmlsdGVyLFxyXG5cdFx0XHQuLi4oT2JqZWN0LmtleXModGhpcy5zb3J0aW5nQnkgfHwge30pLmxlbmd0aFxyXG5cdFx0XHRcdD8ge1xyXG5cdFx0XHRcdFx0XHRzb3J0Qnk6IHRoaXMuc29ydGluZ0J5Py5zb3J0QnksXHJcblx0XHRcdFx0XHRcdHNvcnRPcmRlcjogdGhpcy5zb3J0aW5nQnk/LnNvcnRPcmRlclxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDoge30pLFxyXG5cdFx0XHRjdXJyZW50UGFnZUluZGV4OiArdGhpcy5wYWdlTnVtIC0gMSxcclxuXHRcdFx0Li4uKHRoaXMucGFnZVNpemUgPyB7IHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0gOiB7fSksXHJcblx0XHRcdG9mZnNldDogMCxcclxuXHRcdFx0Li4ucGF5bG9hZFxyXG5cdFx0fTtcclxuXHJcblx0XHQvLyBkb24ndCByZWZyZXNoIGFsbCB0YWJsZSBpbiBjYXNlIG9mIHNvcnRpbmcgb25seVxyXG5cdFx0aWYgKCF0aGlzLnNvcnRpbmcgJiYgdGhpcy5pc0xlZ2FjeU1vZGUpIHtcclxuXHRcdFx0Ly8gdXNlZCB0byBub3QgcmVmcmVzaGluZyBhbGwgdGFibGUgaW4gY2FzZSBvZiBzb3J0aW5nIHNpbmNlIHRhYmxlIGxvc2Ugc29ydGluZyBzdGF0ZSB3aGVuIHJlZnJlc2ggYWxsIHRhYmxlXHJcblx0XHRcdHRoaXMucm93cyA9IFtdOyAvLyB1c2VkIHRvIHJlZnJlc2ggdGFibGUgdG8gZmVlbCBjaGFuZ2VzIGluIGFjdGlvbnMgd2hlbiBwZXJmb3JtIGFjdGlvbiBhbmQgbmVlZCB0byByZWZyZXNoIGFjdGlvbnNcclxuXHRcdH1cclxuXHRcdHRoaXMuc29ydGluZyA9IGZhbHNlOyAvLyByZXNldCBzb3J0aW5nIHN0YXR1cyB0byBmYWxzZSBhbmQgZm9yIG5leHQgc29ydGluZyBmdW5jIHNvcnRpbmcgc2V0IGl0IHRvIHRydWUgYWdhaW5cclxuXHJcblx0XHRjb25zdCBfaGVhZGVycyA9IHtcclxuXHRcdFx0Li4udGhpcy5oZWFkZXJzLFxyXG5cdFx0XHQuLi5oZWFkZXJzXHJcblx0XHR9O1xyXG5cclxuXHRcdGxldCBfcHJvdmlkZXJQYXlsb2FkID0ge1xyXG5cdFx0XHRxdWVyeToge1xyXG5cdFx0XHRcdHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcblx0XHRcdFx0Li4ucGFyYW1zXHJcblx0XHRcdH0sXHJcblx0XHRcdG9wdGlvbnM6IHtcclxuXHRcdFx0XHRoZWFkZXJzOiBfaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cclxuXHRcdGxldCBfY3VzdG9tUGF5bG9hZCA9IHtcclxuXHRcdFx0cGFyYW1zOiB7XHJcblx0XHRcdFx0Li4ucGFyYW1zLFxyXG5cdFx0XHRcdC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0aGVhZGVyczogX2hlYWRlcnMsXHJcblx0XHRcdHBheWxvYWQ6IF8ubWVyZ2Uoe30sIHRoaXMuY3VzdG9tVXJsPy5wYXlsb2FkIHx8IHt9LCB0aGlzLmN1c3RvbUZpbHRlcnM/LnBheWxvYWQgfHwge30pXHJcblx0XHR9O1xyXG5cclxuXHRcdGlmICh0aGlzLnJlcXVlc3RBY3Rpb25zPy5iZWZvcmVTdWJtaXQgJiYgdHlwZW9mIHRoaXMucmVxdWVzdEFjdGlvbnM/LmJlZm9yZVN1Ym1pdCA9PT0gJ3N0cmluZycpIHtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRpZiAodGhpcy5jdXN0b21VcmwpIHtcclxuXHRcdFx0XHRcdF9jdXN0b21QYXlsb2FkID0gRXZhbHVhdG9yLmV2YWx1YXRlKFxyXG5cdFx0XHRcdFx0XHR0aGlzLnJlcXVlc3RBY3Rpb25zPy5iZWZvcmVTdWJtaXQsXHJcblx0XHRcdFx0XHRcdHsgY3JpdGVyaWE6IF9jdXN0b21QYXlsb2FkIH0sXHJcblx0XHRcdFx0XHRcdCdwYXlsb2FkJ1xyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0X3Byb3ZpZGVyUGF5bG9hZCA9IEV2YWx1YXRvci5ldmFsdWF0ZShcclxuXHRcdFx0XHRcdFx0dGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0LFxyXG5cdFx0XHRcdFx0XHR7IGNyaXRlcmlhOiBfcHJvdmlkZXJQYXlsb2FkIH0sXHJcblx0XHRcdFx0XHRcdCdwYXlsb2FkJ1xyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gY2F0Y2ggKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKGUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcXVlcnkkID0gdGhpcy5jdXN0b21VcmxcclxuXHRcdFx0PyB0aGlzLmNhbGxBcGkuY3VzdG9tUXVlcnkodGhpcy5jdXN0b21VcmwsIF9jdXN0b21QYXlsb2FkLnBhcmFtcywgX2N1c3RvbVBheWxvYWQuaGVhZGVycywgX2N1c3RvbVBheWxvYWQucGF5bG9hZClcclxuXHRcdFx0OiB0aGlzLmNhbGxBcGkucXVlcnkoX3Byb3ZpZGVyUGF5bG9hZC5xdWVyeSwgX3Byb3ZpZGVyUGF5bG9hZC5vcHRpb25zKTtcclxuXHJcblx0XHRxdWVyeSRcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0bWFwKChkYXRhOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+IHRoaXMuYWRhcHRlci5hZGFwdEluKGl0ZW0sIHRoaXMuZmllbGRzKSk7XHJcblx0XHRcdFx0XHRyZXR1cm4gZGF0YTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0XHRjYXRjaEVycm9yKChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRocm93IGVycjtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMub25Mb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG5cdFx0XHRcdHRoaXMub25Mb2FkLmVtaXQocmVzKTtcclxuXHRcdFx0XHRpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMub25Jbml0aWFsaXplLmVtaXQocmVzKTtcclxuXHRcdFx0XHRcdHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXMuZW50cmllcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcblx0XHRcdFx0XHRpZiAoZWxlbWVudC5wcm9wZXJ0aWVzICYmIGVsZW1lbnQucHJvcGVydGllcz8uY3JlYXRvciAmJiBlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvcj8ucHJvcGVydGllcykge1xyXG5cdFx0XHRcdFx0XHRlbGVtZW50LnByb3BlcnRpZXNbJ2NyZWF0b3JGdWxsT2JqZWN0J10gPSB7IC4uLmVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yIH07XHJcblx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yID1cclxuXHRcdFx0XHRcdFx0XHRlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvcj8ucHJvcGVydGllcz8uZmlyc3ROYW1lICtcclxuXHRcdFx0XHRcdFx0XHQnICcgK1xyXG5cdFx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5sYXN0TmFtZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChlbGVtZW50LnByb3BlcnRpZXMgJiYgZWxlbWVudC5wcm9wZXJ0aWVzPy5hc3NpZ25lZSkge1xyXG5cdFx0XHRcdFx0XHRlbGVtZW50LnByb3BlcnRpZXMuYXNzaWduZWUgPSBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlLmZ1bGxOYW1lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHRoaXMudG90YWxSZWNvcmRzID0gcmVzLnJlc3VsdHNDb3VudDtcclxuXHRcdFx0XHR0aGlzLnJvd3MgPSByZXMuZW50cmllcztcclxuXHRcdFx0XHR0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0Ly8gZW1pdCBkYXRhIHRvIG91dHNpZGUgaW4gY2FzZSBvZiBzZWFyY2ggcGFnZSBmb3IgdGhlIGZpcnN0IHRpbWUgb25seSB0byBwcmV2ZW50IHJlZnJlc2hpbmcgYWdncmVnYXRpb24gd2l0aCBldmVyeSBwYWdlIGNoYW5nZVxyXG5cdFx0XHRcdC8vIGFuZCBmb3IgYW55IG90aGVyIHBhZ2UgdHlwZSBlbWl0IGRhdGEgZGlyZWN0bHkgaW4gYWxsIHBhZ2UgbnVtYmVyc1xyXG5cdFx0XHRcdGlmICgodGhpcy5pc1NlYXJjaFBhZ2UgJiYgdGhpcy5wYWdlTnVtID09PSAxKSB8fCAhdGhpcy5pc1NlYXJjaFBhZ2UpIHRoaXMub25HZXR0aW5nRGF0YS5lbWl0KHJlcyk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Ly8gZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiBjbGlja2luZyBvbiBzaW5nbGUgcm93XHJcblx0cm93RGV0YWlscyhldmVudCkge1xyXG5cdFx0dGhpcy5vblJvd1NlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0aW5kZXhEZXRhaWxzKGV2ZW50KSB7XHJcblx0XHR0aGlzLm9uUm93SW5kZXhTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdC8vZnVuY3Rpb24gdG8gaGFuZGxlIGFsbCBvcGVyYXRpb25zIG9uIHNpbmdsZSByb3cgKGRlbGV0ZSAsIGVkaXQgLCAuLi4pXHJcblx0cGVyZm9ybUFjdGlvbihhY3Rpb24pIHtcclxuXHRcdHRoaXMuYWN0aW9uT25Sb3cuZW1pdChhY3Rpb24pO1xyXG5cdH1cclxuXHJcblx0Ly8gaGFuZGxlIHNvcnRpbmcgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGVcclxuXHRvblNvcnQoc29ydE9iamVjdCkge1xyXG5cdFx0dGhpcy5zb3J0Q2hhbmdlZC5lbWl0KHNvcnRPYmplY3QpO1xyXG5cdFx0dGhpcy5zb3J0aW5nQnkgPSBzb3J0T2JqZWN0O1xyXG5cdFx0dGhpcy5zb3J0aW5nID0gdHJ1ZTtcclxuXHRcdHRoaXMuZ2V0RGF0YSh7fSwgdGhpcy5za2lwQWdncmVnYXRpb24gPT09ICdvblBhZ2VDaGFuZ2UnID8geyBza2lwQWdncmVnYXRlczogJ3RydWUnIH0gOiB7fSk7XHJcblx0fVxyXG5cclxuXHRvbk11bHRpUm93U2VsZWN0VmFsdWUoZXZlbnQpIHtcclxuXHRcdHRoaXMub25NdWx0aVJvd1NlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHBhZ2luYXRpb25DaGFuZ2UoZXZlbnQpIHtcclxuXHRcdHRoaXMuX3BhZ2VOdW1iZXIgPSBldmVudDtcclxuXHRcdHRoaXMub25QYWdlQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG5cdFx0dGhpcy5vblBhZ2UuZW1pdCh7XHJcblx0XHRcdHBhZ2VJbmRleDogdGhpcy5fcGFnZU51bWJlcixcclxuXHRcdFx0cGFnZVNpemU6IHRoaXMucGFnZVNpemUsXHJcblx0XHRcdGxlbmd0aDogdGhpcy50b3RhbFJlY29yZHNcclxuXHRcdH0pO1xyXG5cdFx0dGhpcy5nZXREYXRhKHt9LCB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9KTtcclxuXHR9XHJcblxyXG5cdG9uQ2hhbmdlUGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xyXG5cdFx0dGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xyXG5cdFx0dGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7XHJcblx0XHR0aGlzLmdldERhdGEoe30sIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge30pO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid3JhcHBpbmcgdGFibGUtd3JhcHBpbmdcIj5cclxuXHQ8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMZWdhY3lNb2RlXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtcmVwb3NpdGlvblwiPlxyXG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwicm93cy5sZW5ndGhcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZVwiPjwvbmctY29udGFpbmVyPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG5cdFx0XHQ8Y3RzLXNwaW5uZXI+PC9jdHMtc3Bpbm5lcj5cclxuXHRcdDwvbmctY29udGFpbmVyPlxyXG5cdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwidGFibGUtcmVwb3NpdGlvblwiICpuZ0lmPVwiIWlzTGVnYWN5TW9kZVwiPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0Km5nSWY9XCIhaW5pdGlhbGl6ZWRcIlxyXG5cdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJza2VsZXRvblwiXHJcblx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogMTAgfVwiXHJcblx0XHQ+PC9uZy1jb250YWluZXI+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXZcclxuXHRcdGNsYXNzPVwicGFnaW5hdGlvbi1pbmVyLXdyYXBlciBteS0zXCJcclxuXHRcdFtuZ0NsYXNzXT1cInsgcmVsYXRpdmU6IHBhZ2VTaXplcz8ubGVuZ3RoIH1cIlxyXG5cdFx0Km5nSWY9XCJyb3dzLmxlbmd0aCBcIlxyXG5cdD5cclxuXHRcdDxjdHMtcGFnaW5hdGlvblxyXG4gICAgICAqbmdJZj1cInRvdGFsUmVjb3JkcyA+IHBhZ2VTaXplXCJcclxuXHRcdFx0W3BhZ2VdPVwicGFnZU51bVwiXHJcblx0XHRcdChjaGFuZ2UpPVwicGFnaW5hdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0W3NpemVdPVwicGFnZVNpemVcIlxyXG5cdFx0XHRbY291bnRdPVwidG90YWxSZWNvcmRzXCJcclxuXHRcdD48L2N0cy1wYWdpbmF0aW9uPlxyXG5cdFx0PGRpdiBjbGFzcz1cImFic29sdXRlIG5kZlBhZ2VTaXplcyBmbGV4IGdhcC14LTMgaXRlbXMtY2VudGVyIG10LTJcIj5cclxuXHRcdFx0PG5kZi1wYWdlLXNpemVzLWxpc3RcclxuXHRcdFx0XHQqbmdJZj1cInBhZ2VTaXplcz8ubGVuZ3RoXCJcclxuXHRcdFx0XHRbcGFnZVNpemVzXT1cInBhZ2VTaXplc1wiXHJcblx0XHRcdFx0W3NlbGVjdGVkUGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG5cdFx0XHRcdChvbkNoYW5nZVBhZ2VTaXplKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXHJcblx0XHRcdD5cclxuXHRcdFx0PC9uZGYtcGFnZS1zaXplcy1saXN0PlxyXG5cclxuXHRcdFx0PHNwYW4gKm5nSWY9XCJzaG93VG90YWxSZWNvcmRcIj57eyAnVEFCTEUudG90YWxSZWNvcmRzJyB8IHRyYW5zbGF0ZTogeyBjb3VudDogdG90YWxSZWNvcmRzIH0gfX08L3NwYW4+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PG5nLWNvbnRhaW5lclxyXG5cdFx0Km5nSWY9XCJpc0xlZ2FjeU1vZGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZSB8fCBsZWdhY3lEZWZhdWx0RW1wdHlTdGF0ZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxvYWRpbmcsIHJvd3M6IHJvd3MsIGluaXRpYWxpemVkOiBpbml0aWFsaXplZCB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcblxyXG5cdDxuZy1jb250YWluZXJcclxuXHRcdCpuZ0lmPVwiIWlzTGVnYWN5TW9kZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eVRlbXBsYXRlIHx8IGRlZmF1bHRFbXB0eVN0YXRlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbG9hZGluZywgcm93czogcm93cywgaW5pdGlhbGl6ZWQ6IGluaXRpYWxpemVkIH1cIlxyXG5cdD48L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3RhYmxlPlxyXG5cdDxjdHMtdGFibGVcclxuXHRcdFtyb3dzXT1cInJvd3NcIlxyXG5cdFx0W2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcblx0XHRbcmVzcG9uc2l2ZUNvbHVtbnNdPVwicmVzcG9uc2l2ZUNvbHVtbnNcIlxyXG5cdFx0W3Jvd0N1cnNvcl09XCJyb3dDdXJzb3JcIlxyXG5cdFx0W2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG5cdFx0W2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiXHJcblx0XHRbcHJlZml4XT1cInByZWZpeFwiXHJcblx0XHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHRbdGFibGVNb2RlXT1cInRhYmxlTW9kZVwiXHJcblx0XHRbY29tcG9uZW50TmFtZV09XCJjb21wb25lbnROYW1lXCJcclxuXHRcdFttdWx0aVNlbGVjdFJvd3NdPVwibXVsdGlTZWxlY3RSb3dzXCJcclxuXHRcdFt0YWJsZUFjdGlvbnNdPVwidGFibGVBY3Rpb25zXCJcclxuXHRcdFtzaG93QWN0aW9uc0FzTWVudV09XCJzaG93QWN0aW9uc0FzTWVudVwiXHJcblx0XHRbZGVmdWx0U29ydF09XCJkZWZ1bHRTb3J0XCJcclxuXHRcdFtmb3JtYXRdPVwiZm9ybWF0XCJcclxuXHRcdFtoaWdobGlnaHRTZWxlY3RlZENhcmRdPVwiaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkXCJcclxuXHRcdFtjdXN0b21GaXJzdFJvd109XCJjdXN0b21GaXJzdFJvd1wiXHJcblx0XHQob25Sb3dTZWxlY3RlZCk9XCJyb3dEZXRhaWxzKCRldmVudClcIlxyXG5cdFx0KG9uUm93SW5kZXhTZWxlY3RlZCk9XCJpbmRleERldGFpbHMoJGV2ZW50KVwiXHJcblx0XHQob25NdWx0aVJvd1NlbGVjdGVkKT1cIm9uTXVsdGlSb3dTZWxlY3RWYWx1ZSgkZXZlbnQpXCJcclxuXHRcdChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIlxyXG5cdFx0KG9uU29ydGluZyk9XCJvblNvcnQoJGV2ZW50KVwiXHJcblx0PjwvY3RzLXRhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsZWdhY3lEZWZhdWx0RW1wdHlTdGF0ZT5cclxuXHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIiAqbmdJZj1cIiFsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ25vRGF0YScgOiAnbm9EYXRhJykgfCB0cmFuc2xhdGUgfX1cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwibG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdnZXR0aW5nRGF0YScgOiAnZ2V0dGluZ0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eVN0YXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgcm93cy5sZW5ndGggPT09IDBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdHt7IChwcmVmaXggPyBwcmVmaXggKyAnbm9EYXRhJyA6ICdub0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiAqbmdJZj1cImxvYWRpbmcgJiYgaW5pdGlhbGl6ZWRcIiBjbGFzcz1cImxvYWRpbmctY29udGVudFwiPlxyXG5cdFx0PG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCIxMDBcIj48L21hdC1zcGlubmVyPlxyXG5cdDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNza2VsZXRvbiBsZXQtcm93cz5cclxuXHQ8dGFibGUgY2xhc3M9XCJ3LWZ1bGxcIj5cclxuXHRcdDx0aGVhZCAqbmdJZj1cImZhbHNlXCI+XHJcblx0XHRcdDx0ciBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmVlbi05MDBcIj5cclxuXHRcdFx0XHQ8dGggKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIiBjbGFzcz1cInAtMyBweS00XCIgc3R5bGU9XCJ3aWR0aDogNjBweFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiB3aWR0aD1cIjYwcHhcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdDx0aCAqbmdGb3I9XCJsZXQgbnVtIG9mIFtdLmNvbnN0cnVjdG9yKGNvbHVtbnM/Lmxlbmd0aCB8fCA0KTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicHgtMyBweS00XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIFtyYW5kb21XaWR0aF09XCJ0cnVlXCIgaGVpZ2h0PVwiMS43cmVtXCI+PC9hcHAtc2tlbGV0b24+XHJcblx0XHRcdFx0PC90aD5cclxuXHRcdFx0PC90cj5cclxuXHRcdDwvdGhlYWQ+XHJcblx0XHQ8dGJvZHk+XHJcblx0XHRcdDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIFtdLmNvbnN0cnVjdG9yKHJvd3MgfHwgMTApOyBsZXQgaW5kZXggPSBpbmRleFwiIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwXCI+XHJcblx0XHRcdFx0PHRkICpuZ0lmPVwibXVsdGlTZWxlY3RSb3dzXCIgY2xhc3M9XCJwLTMgcHktNFwiIHN0eWxlPVwid2lkdGg6IDUwcHhcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiMS4zcmVtXCI+PC9hcHAtc2tlbGV0b24+XHJcblx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHQ8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBbXS5jb25zdHJ1Y3Rvcihjb2x1bW5zPy5sZW5ndGggfHwgNCk7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInAtMyBweS00XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIFtyYW5kb21XaWR0aF09XCJ0cnVlXCIgaGVpZ2h0PVwiMS4zcmVtXCI+PC9hcHAtc2tlbGV0b24+XHJcblx0XHRcdFx0PC90ZD5cclxuXHRcdFx0PC90cj5cclxuXHRcdDwvdGJvZHk+XHJcblx0PC90YWJsZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|