ca-components 1.1.94 → 1.1.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scss/input-dropdown.scss +182 -80
- package/esm2022/lib/components/ca-chart/ca-chart.component.mjs +141 -146
- package/esm2022/lib/components/ca-chart/models/chart-line-dataset.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/utils/helpers/chart.helper.mjs +10 -2
- package/esm2022/lib/components/ca-input/config/ca-input.config.mjs +1 -1
- package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +12 -4
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-broker/ca-input-dropdown-load-broker-item/ca-input-dropdown-load-broker-item.component.mjs +37 -0
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-broker/ca-input-dropdown-load-broker.component.mjs +5 -8
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd-item/ca-input-dropdown-load-dispatches-ttd-item.mjs +44 -0
- package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd.component.mjs +6 -9
- package/esm2022/lib/components/ca-input-dropdown/pipes/dropdown-options.pipe.mjs +1 -1
- package/esm2022/lib/components/ca-input-dropdown/utils/svg-routes/index.mjs +2 -0
- package/esm2022/lib/components/ca-progress-bar/ca-progress-bar.component.mjs +3 -3
- package/fesm2022/ca-components.mjs +230 -163
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-chart/ca-chart.component.d.ts +1 -0
- package/lib/components/ca-chart/models/chart-line-dataset.model.d.ts +3 -0
- package/lib/components/ca-chart/utils/helpers/chart.helper.d.ts +3 -0
- package/lib/components/ca-input/config/ca-input.config.d.ts +1 -0
- package/lib/components/ca-input-dropdown/ca-input-dropdown.component.d.ts +1 -0
- package/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-broker/ca-input-dropdown-load-broker-item/ca-input-dropdown-load-broker-item.component.d.ts +10 -0
- package/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd-item/ca-input-dropdown-load-dispatches-ttd-item.d.ts +14 -0
- package/lib/components/ca-input-dropdown/utils/svg-routes/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbGluZS1kYXRhc2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvbW9kZWxzL2NoYXJ0LWxpbmUtZGF0YXNldC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyaXB0YWJsZUNvbnRleHQgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBJQmFzZURhdGFzZXQgfSBmcm9tICcuL2NoYXJ0LWJhc2UtZGF0YXNldC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpbmVEYXRhc2V0IGV4dGVuZHMgSUJhc2VEYXRhc2V0IHtcbiAgcG9pbnRIb3ZlckJvcmRlcldpZHRoPzogbnVtYmVyO1xuICBwb2ludEhvdmVyQm9yZGVyQ29sb3I/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IENhbnZhc0dyYWRpZW50O1xuICBwb2ludEhvdmVyQmFja2dyb3VuZENvbG9yPzogc3RyaW5nIHwgc3RyaW5nW10gfCBDYW52YXNHcmFkaWVudDtcbiAgdGVuc2lvbj86IG51bWJlcjtcbiAgY3ViaWNJbnRlcnBvbGF0aW9uTW9kZT86IHN0cmluZztcbiAgcG9pbnRSYWRpdXM/OiBudW1iZXI7XG4gIHBvaW50Qm9yZGVyV2lkdGg/OiBudW1iZXI7XG4gIHBvaW50Qm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIHBvaW50QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBwb2ludEhvdmVyUmFkaXVzPzogbnVtYmVyO1xuICBzaG93TGluZT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -106,7 +106,7 @@ export class ChartHelper {
|
|
|
106
106
|
ctx.save();
|
|
107
107
|
const datasetMeta = chart.getDatasetMeta(0);
|
|
108
108
|
const xCoord = datasetMeta?.data[0]?.x;
|
|
109
|
-
const yCoord = datasetMeta?.data[0]?.y / 3 * 2 +
|
|
109
|
+
const yCoord = (datasetMeta?.data[0]?.y / 3) * 2 +
|
|
110
110
|
position.indx * 20 +
|
|
111
111
|
position.offsetTop;
|
|
112
112
|
if (xCoord === undefined || yCoord == undefined)
|
|
@@ -119,20 +119,25 @@ export class ChartHelper {
|
|
|
119
119
|
ctx.restore();
|
|
120
120
|
}
|
|
121
121
|
static highlightPoint(ctx, chart, index, chartData) {
|
|
122
|
+
console.log(ctx, chart, index, chartData, 'higlightPOint');
|
|
122
123
|
chartData.datasets.forEach((dataset, datasetIndex) => {
|
|
124
|
+
console.log('test 111');
|
|
123
125
|
const meta = chart.getDatasetMeta(datasetIndex);
|
|
124
126
|
if (!meta || !meta.data[index])
|
|
125
127
|
return;
|
|
128
|
+
console.log('test 222');
|
|
126
129
|
const point = meta.data[index];
|
|
127
130
|
const yScale = chart.scales[dataset.yAxisID || 'y-axis-0'];
|
|
128
131
|
const xScale = chart.scales['x'];
|
|
129
132
|
const value = dataset.data[index];
|
|
130
133
|
if (value === undefined || value === null)
|
|
131
134
|
return;
|
|
135
|
+
console.log('test 333');
|
|
132
136
|
const xPixel = xScale.getPixelForValue(index);
|
|
133
137
|
const yPixel = Math.abs(yScale.getPixelForValue(value));
|
|
134
138
|
if (!point)
|
|
135
139
|
return;
|
|
140
|
+
console.log('test 444');
|
|
136
141
|
ctx.save();
|
|
137
142
|
ctx.beginPath();
|
|
138
143
|
ctx.arc(xPixel, yPixel, 4, 0, 2 * Math.PI);
|
|
@@ -169,5 +174,8 @@ export class ChartHelper {
|
|
|
169
174
|
// Return the RGBA string
|
|
170
175
|
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
171
176
|
}
|
|
177
|
+
static calculateDatasetMaxValue(datasets) {
|
|
178
|
+
return Math.max(...datasets.flatMap((dataset) => dataset.data));
|
|
179
|
+
}
|
|
172
180
|
}
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvdXRpbHMvaGVscGVycy9jaGFydC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLFdBQVc7SUFFZixNQUFNLENBQUMsU0FBUyxDQUFDLFFBQWdCLEVBQUUsVUFBa0IsQ0FBQztRQUMzRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLFFBQVE7aUJBQ0wsS0FBSyxDQUFDLEVBQUUsQ0FBQztpQkFDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7aUJBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNqQyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUUxQixPQUFPLFFBQVEsR0FBRyxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssT0FBTyxHQUFHLENBQUM7SUFDdkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBYyxjQUFjLEVBQUUsT0FBZTtRQUM1RCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFD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LE9BQU8sVUFBVSxDQUFDO1FBRWpDLGlDQUFpQztRQUNqQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUU3Qix5QkFBeUI7UUFDekIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO0lBQzVDLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBDaGFydCwge1xuICBDYXRlZ29yeVNjYWxlLFxuICBDaGFydEFyZWEsXG4gIExpbmVhclNjYWxlLFxufSBmcm9tICdjaGFydC5qcy9hdXRvJztcbmltcG9ydCB7IENoYXJ0Q29sb3JzU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IElCYXNlRGF0YXNldCwgSUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBDaGFydEhlbHBlciB7XG5cbiAgcHVibGljIHN0YXRpYyBoZXhUb1JnYmEoY29sb3JIZXg6IHN0cmluZywgb3BhY2l0eTogbnVtYmVyID0gMSk6IHN0cmluZyB7XG4gICAgY29sb3JIZXggPSBjb2xvckhleC5yZXBsYWNlKC9eIy8sICcnKTtcblxuICAgIGlmIChjb2xvckhleC5sZW5ndGggPT09IDMpIHtcbiAgICAgIGNvbG9ySGV4XG4gICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgLm1hcCgoY2hhcikgPT4gY2hhciArIGNoYXIpXG4gICAgICAgIC5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaWdpbnQgPSBwYXJzZUludChjb2xvckhleCwgMTYpO1xuICAgIGNvbnN0IHJlZCA9IChiaWdpbnQgPj4gMTYpICYgMjU1O1xuICAgIGNvbnN0IGdyZWVuID0gKGJpZ2ludCA+PiA4KSAmIDI1NTtcbiAgICBjb25zdCBibHVlID0gYmlnaW50ICYgMjU1O1xuXG4gICAgcmV0dXJuIGByZ2JhKCR7cmVkfSwgJHtncmVlbn0sICR7Ymx1ZX0sICR7b3BhY2l0eX0pYDtcbiAgfVxuXG4gIHN0YXRpYyByZ2JUb1JnYmEocmdiOiBzdHJpbmcgPSAncmdiKDAsIDAsIDApJywgb3BhY2l0eTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCByZ2JWYWx1ZXMgPSByZ2IubWF0Y2goL1xcZCsvZyk7XG5cbiAgICBpZiAocmdiVmFsdWVzICYmIHJnYlZhbHVlcy5sZW5ndGggPj0gMykge1xuXG4gICAgICBjb25zdCByZWQgPSByZ2JWYWx1ZXNbMF07XG4gICAgICBjb25zdCBncmVlbiA9IHJnYlZhbHVlc1sxXTtcbiAgICAgIGNvbnN0IGJsdWUgPSByZ2JWYWx1ZXNbMl07XG5cbiAgICAgIHJldHVybiBgcmdiYSgke3JlZH0sICR7Z3JlZW59LCAke2JsdWV9LCAke29wYWNpdHl9KWA7XG4gICAgfSBlbHNlXG4gICAgICByZXR1cm4gcmdiO1xuICB9XG5cbiAgc3RhdGljIGNoYW5nZU9wYWNpdHlPZlJnYk9yUmdiYShjb2xvcjogc3RyaW5nLCBvcGFjaXR5OiBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgY29uc3QgcmdiYVJlZ2V4ID0gL15yZ2JhP1xcKChcXGR7MSwzfSksXFxzKihcXGR7MSwzfSksXFxzKihcXGR7MSwzfSkoPzosXFxzKihcXGQ/XFwuP1xcZCspKT9cXCkkLztcblxuICAgIGNvbnN0IG1hdGNoID0gY29sb3IubWF0Y2gocmdiYVJlZ2V4KTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGNvbnN0IHJlZCA9IHBhcnNlSW50KG1hdGNoWzFdLCAxMCk7XG4gICAgICBjb25zdCBncmVlbiA9IHBhcnNlSW50KG1hdGNoWzJdLCAxMCk7XG4gICAgICBjb25zdCBibHVlID0gcGFyc2VJbnQobWF0Y2hbM10sIDEwKTtcblxuICAgICAgcmV0dXJuIGByZ2JhKCR7cmVkfSwgJHtncmVlbn0sICR7Ymx1ZX0sICR7b3BhY2l0eX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9XG5cbiAgc3RhdGljIGNhbGN1bGF0ZU1pblZhbHVlKGRhdGE6IG51bWJlcltdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5taW4oLi4uZGF0YSk7XG4gIH1cblxuICBzdGF0aWMgY2FsY3VsYXRlTWF4VmFsdWUoZGF0YTogbnVtYmVyW10pOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heCguLi5kYXRhKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVHcmFkaWVudChcbiAgICBjaGFydENvbnRleHQ6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICBjaGFydENhbnZhczogRWxlbWVudFJlZixcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGNvbG9yMjogc3RyaW5nLFxuICAgIG9wYWNpdHlDb2xvcjE6IG51bWJlciA9IDEsXG4gICAgb3BhY2l0eUNvbG9yMjogbnVtYmVyID0gMSxcbiAgICBhcmVDb2xvcnNJblJnYmFGb3JtYXQ6IGJvb2xlYW4gPSBmYWxzZVxuICApOiBDYW52YXNHcmFkaWVudCB7XG4gICAgY29uc3QgZ3JhZGllbnQgPSBjaGFydENvbnRleHQuY3JlYXRlTGluZWFyR3JhZGllbnQoXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICBjaGFydENhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodFxuICAgICk7XG4gICAgbGV0IGZpbGxDb2xvclRvcCA9ICcnO1xuICAgIGxldCBmaWxsQ29sb3JCb3R0b20gPSAnJztcbiAgICBpZiAoYXJlQ29sb3JzSW5SZ2JhRm9ybWF0KSB7XG4gICAgICBmaWxsQ29sb3JUb3AgPSB0aGlzLmNoYW5nZU9wYWNpdHlPZlJnYk9yUmdiYShjb2xvciwgb3BhY2l0eUNvbG9yMSk7XG4gICAgICBmaWxsQ29sb3JCb3R0b20gPSB0aGlzLmNoYW5nZU9wYWNpdHlPZlJnYk9yUmdiYShjb2xvcjIsIG9wYWNpdHlDb2xvcjIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWxsQ29sb3JUb3AgPSB0aGlzLmhleFRvUmdiYShjb2xvciwgb3BhY2l0eUNvbG9yMSk7XG4gICAgICBmaWxsQ29sb3JCb3R0b20gPSB0aGlzLmhleFRvUmdiYShjb2xvcjIsIG9wYWNpdHlDb2xvcjIpO1xuICAgIH1cbiAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgZmlsbENvbG9yVG9wKTtcbiAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMC44LCBmaWxsQ29sb3JCb3R0b20pO1xuXG4gICAgcmV0dXJuIGdyYWRpZW50O1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUdyYWRpZW50V2l0aFNoaWZ0VmFsdWUoXG4gICAgY2hhcnRDb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgY2hhcnRIZWlnaHQ6IG51bWJlcixcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGNvbG9yMjogc3RyaW5nLFxuICAgIHNoaWZ0VmFsdWU6IG51bWJlcixcbiAgICBoYXNGYWRlPzogYm9vbGVhblxuICApOiBDYW52YXNHcmFkaWVudCB7XG4gICAgY29uc3QgZ3JhZGllbnQgPSBjaGFydENvbnRleHQuY3JlYXRlTGluZWFyR3JhZGllbnQoXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICBjaGFydEhlaWdodFxuICAgICk7XG5cbiAgICBjb25zdCBmaWxsQ29sb3JUb3AgPSB0aGlzLmhleFRvUmdiYShjb2xvciwgMC44KTtcbiAgICBjb25zdCBmaWxsQ29sb3JCb3R0b20gPSB0aGlzLmhleFRvUmdiYShjb2xvcjIsIDAuOCk7XG5cbiAgICBpZiAoIWhhc0ZhZGUpIHtcbiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCBmaWxsQ29sb3JUb3ApO1xuICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKHNoaWZ0VmFsdWUsIGZpbGxDb2xvclRvcCk7XG4gICAgICBncmFkaWVudC5hZGRDb2xvclN0b3Aoc2hpZnRWYWx1ZSwgZmlsbENvbG9yQm90dG9tKTtcbiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgxLCBmaWxsQ29sb3JCb3R0b20pO1xuICAgICAgcmV0dXJuIGdyYWRpZW50O1xuICAgIH1cblxuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCBmaWxsQ29sb3JUb3ApO1xuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcChzaGlmdFZhbHVlLCBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEUpO1xuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcChzaGlmdFZhbHVlLCBmaWxsQ29sb3JCb3R0b20pO1xuICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgxLCBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEUpO1xuXG4gICAgcmV0dXJuIGdyYWRpZW50O1xuICB9XG5cbiAgc3RhdGljIGNhbGN1bGF0ZVRpY2tQb3NpdGlvbnMoeFNjYWxlOiBDYXRlZ29yeVNjYWxlIHwgTGluZWFyU2NhbGUpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHhTY2FsZS50aWNrcy5tYXAoKF8sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICB4U2NhbGUuZ2V0UGl4ZWxGb3JUaWNrKGluZGV4KVxuICAgICk7XG4gIH1cblxuICBzdGF0aWMgaGlnaGxpZ2h0U2VnbWVudChcbiAgICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICB4U2NhbGU6IENhdGVnb3J5U2NhbGUgfCBMaW5lYXJTY2FsZSxcbiAgICBjaGFydEFyZWE6IENoYXJ0QXJlYSxcbiAgICBjaGFydEhlaWdodDogbnVtYmVyLFxuICAgIGluZGV4OiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgeyBzZWdtZW50U3RhcnQsIHNlZ21lbnRXaWR0aCB9ID0gQ2hhcnRIZWxwZXIuZ2V0U2VnbWVudFBvc2l0aW9uKFxuICAgICAgeFNjYWxlLFxuICAgICAgaW5kZXhcbiAgICApO1xuICAgIGNvbnN0IGJvcmRlclJhZGl1cyA9IDI7XG5cbiAgICBjdHguc2F2ZSgpO1xuICAgIGN0eC5maWxsU3R5bGUgPSBDaGFydENvbG9yc1N0cmluZ0VudW0uSE9WRVJfU0VHTUVOVDtcblxuICAgIC8vIERyYXcgc2VnbWVudCB3aXRoIGJvcmRlci1yYWRpdXMgYXQgdGhlIHRvcCBjb3JuZXJzXG4gICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgIGN0eC5tb3ZlVG8oc2VnbWVudFN0YXJ0ICsgYm9yZGVyUmFkaXVzLCBjaGFydEFyZWEudG9wKTtcbiAgICBjdHgubGluZVRvKHNlZ21lbnRTdGFydCArIHNlZ21lbnRXaWR0aCAtIGJvcmRlclJhZGl1cywgY2hhcnRBcmVhLnRvcCk7XG4gICAgY3R4LmFyY1RvKFxuICAgICAgc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoLFxuICAgICAgY2hhcnRBcmVhLnRvcCxcbiAgICAgIHNlZ21lbnRTdGFydCArIHNlZ21lbnRXaWR0aCxcbiAgICAgIGNoYXJ0QXJlYS50b3AgKyBib3JkZXJSYWRpdXMsXG4gICAgICBib3JkZXJSYWRpdXNcbiAgICApO1xuICAgIGN0eC5saW5lVG8oc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoLCBjaGFydEhlaWdodCk7XG4gICAgY3R4LmxpbmVUbyhzZWdtZW50U3RhcnQsIGNoYXJ0SGVpZ2h0KTtcbiAgICBjdHgubGluZVRvKHNlZ21lbnRTdGFydCwgY2hhcnRBcmVhLnRvcCArIGJvcmRlclJhZGl1cyk7XG4gICAgY3R4LmFyY1RvKFxuICAgICAgc2VnbWVudFN0YXJ0LFxuICAgICAgY2hhcnRBcmVhLnRvcCxcbiAgICAgIHNlZ21lbnRTdGFydCArIGJvcmRlclJhZGl1cyxcbiAgICAgIGNoYXJ0QXJlYS50b3AsXG4gICAgICBib3JkZXJSYWRpdXNcbiAgICApO1xuICAgIGN0eC5jbG9zZVBhdGgoKTtcblxuICAgIGN0eC5maWxsKCk7XG4gICAgY3R4LnJlc3RvcmUoKTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgYSBkdW1iIGZ1bmN0aW9uIHdob3NlIG9ubHkgZnVuY3Rpb24gaXMgb25seSB0byBwb3NpdGlvbiBsZWdlbmQgZWxlbWVudHMgb25lIGJlbG93IHVuZGVyXG4gIC8vIENhbGwgaXQgaW4gbmdGb3JcbiAgcHVibGljIHN0YXRpYyBkcmF3RG91Z2hudXRMZWdlbmQoXG4gICAgY2hhcnQ6IENoYXJ0LFxuICAgIHBvc2l0aW9uOiB7XG4gICAgICBpbmR4OiBudW1iZXIsXG4gICAgICAvLyBUT0RPIGlmIG5lZWRlZCwgY29udmVydCB0byBvYmplY3RcbiAgICAgIG9mZnNldFRvcDogbnVtYmVyO1xuICAgIH0sXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIC8vIEluaXRpYWwgaWRlYVxuICAgIGZvbnRTaXplOiBudW1iZXIgPSAxOCxcbiAgICBjb2xvcjogc3RyaW5nID0gJyM0MjQyNDInXG4gICk6IHZvaWQge1xuXG4gICAgY29uc3QgeyBjdHggfSA9IGNoYXJ0O1xuXG4gICAgaWYgKCFjdHgpIHJldHVybjtcblxuICAgIGN0eC5zYXZlKCk7XG5cbiAgICBjb25zdCBkYXRhc2V0TWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKDApO1xuICAgIGNvbnN0IHhDb29yZCA9IGRhdGFzZXRNZXRhPy5kYXRhWzBdPy54O1xuICAgIGNvbnN0IHlDb29yZCA9IGRhdGFzZXRNZXRhPy5kYXRhWzBdPy55IC8gMyAqIDIgK1xuICAgICAgcG9zaXRpb24uaW5keCAqIDIwICtcbiAgICAgIHBvc2l0aW9uLm9mZnNldFRvcDtcblxuICAgIGlmICh4Q29vcmQgPT09IHVuZGVmaW5lZCB8fCB5Q29vcmQgPT0gdW5kZWZpbmVkKSByZXR1cm47XG5cbiAgICBjdHguZm9udCA9IGBib2xkICR7Zm9udFNpemV9cHggc2Fucy1zZXJpZmA7XG4gICAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yO1xuICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7XG4gICAgY3R4LmZpbGxUZXh0KHRleHQsIHhDb29yZCwgeUNvb3JkKTtcblxuICAgIGN0eC5yZXN0b3JlKCk7XG4gIH1cblxuICBzdGF0aWMgaGlnaGxpZ2h0UG9pbnQoXG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgY2hhcnQ6IENoYXJ0LFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgY2hhcnREYXRhOiBJQ2hhcnREYXRhPElCYXNlRGF0YXNldD5cbiAgKTogdm9pZCB7XG4gICAgY2hhcnREYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgPT4ge1xuICAgICAgY29uc3QgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7XG5cbiAgICAgIGlmICghbWV0YSB8fCAhbWV0YS5kYXRhW2luZGV4XSkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBwb2ludCA9IG1ldGEuZGF0YVtpbmRleF07XG4gICAgICBjb25zdCB5U2NhbGUgPSBjaGFydC5zY2FsZXNbZGF0YXNldC55QXhpc0lEIHx8ICd5LWF4aXMtMCddO1xuICAgICAgY29uc3QgeFNjYWxlID0gY2hhcnQuc2NhbGVzWyd4J107XG5cbiAgICAgIGNvbnN0IHZhbHVlID0gZGF0YXNldC5kYXRhW2luZGV4XTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHhQaXhlbCA9IHhTY2FsZS5nZXRQaXhlbEZvclZhbHVlKGluZGV4KTtcbiAgICAgIGNvbnN0IHlQaXhlbCA9IE1hdGguYWJzKHlTY2FsZS5nZXRQaXhlbEZvclZhbHVlKHZhbHVlIGFzIG51bWJlcikpO1xuXG4gICAgICBpZiAoIXBvaW50KSByZXR1cm47XG5cbiAgICAgIGN0eC5zYXZlKCk7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICBjdHguYXJjKHhQaXhlbCwgeVBpeGVsLCA0LCAwLCAyICogTWF0aC5QSSk7XG4gICAgICBjdHguZmlsbFN0eWxlID0gQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLldISVRFO1xuICAgICAgY3R4LmZpbGwoKTtcbiAgICAgIGN0eC5saW5lV2lkdGggPSAyO1xuICAgICAgY3R4LnN0cm9rZVN0eWxlID1cbiAgICAgICAgZGF0YXNldC5ib3JkZXJDb2xvciB8fCBDaGFydENvbG9yc1N0cmluZ0VudW0uVFJBTlNQQVJFTlQ7XG4gICAgICBjdHguc3Ryb2tlKCk7XG4gICAgICBjdHgucmVzdG9yZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0U2VnbWVudFBvc2l0aW9uKFxuICAgIHhTY2FsZTogQ2F0ZWdvcnlTY2FsZSB8IExpbmVhclNjYWxlLFxuICAgIGluZGV4OiBudW1iZXJcbiAgKTogeyBzZWdtZW50U3RhcnQ6IG51bWJlcjsgc2VnbWVudFdpZHRoOiBudW1iZXIgfSB7XG4gICAgY29uc3QgdGlja1Bvc2l0aW9ucyA9IENoYXJ0SGVscGVyLmNhbGN1bGF0ZVRpY2tQb3NpdGlvbnMoeFNjYWxlKTtcbiAgICBjb25zdCBzZWdtZW50V2lkdGggPSB0aWNrUG9zaXRpb25zWzFdIC0gdGlja1Bvc2l0aW9uc1swXTtcbiAgICBjb25zdCBzZWdtZW50U3RhcnQgPSB0aWNrUG9zaXRpb25zW2luZGV4XSAtIHNlZ21lbnRXaWR0aCAvIDI7XG4gICAgcmV0dXJuIHsgc2VnbWVudFN0YXJ0LCBzZWdtZW50V2lkdGggfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29udmVydFJnYlRvUmdiYShjb2xvclZhbHVlOiBzdHJpbmcsIGFscGhhOiBudW1iZXIgPSAxKTogc3RyaW5nIHtcbiAgICBpZiAoYWxwaGEgPCAwIHx8IGFscGhhID4gMSkgcmV0dXJuIGNvbG9yVmFsdWU7XG5cbiAgICBjb25zdCByZ2JhTWF0Y2ggPSBjb2xvclZhbHVlLm1hdGNoKC9yZ2JhXFwoKFxcZCspLFxccyooXFxkKyksXFxzKihcXGQrKSxcXHMqKFxcZCsoXFwuXFxkKyk/KVxcKS8pO1xuXG4gICAgaWYgKHJnYmFNYXRjaCkge1xuICAgICAgY29uc3QgWywgciwgZywgYl0gPSByZ2JhTWF0Y2g7XG4gICAgICAvLyBSZXR1cm4gdXBkYXRlZCBSR0JBIHdpdGggdGhlIG5ldyBhbHBoYVxuICAgICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7YWxwaGF9KWA7XG4gICAgfVxuXG4gICAgLy8gRXh0cmFjdCB0aGUgUkdCIHZhbHVlcyB1c2luZyBhIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgIGNvbnN0IHJnYk1hdGNoID0gY29sb3JWYWx1ZS5tYXRjaCgvcmdiXFwoKFxcZCspLFxccyooXFxkKyksXFxzKihcXGQrKVxcKS8pO1xuICAgIGlmICghcmdiTWF0Y2gpIHJldHVybiBjb2xvclZhbHVlO1xuXG4gICAgLy8gRGVzdHJ1Y3R1cmUgdGhlIG1hdGNoZWQgdmFsdWVzXG4gICAgY29uc3QgWywgciwgZywgYl0gPSByZ2JNYXRjaDtcblxuICAgIC8vIFJldHVybiB0aGUgUkdCQSBzdHJpbmdcbiAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthbHBoYX0pYDtcbiAgfVxuXG59XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvdXRpbHMvaGVscGVycy9jaGFydC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLFdBQVc7SUFDYixNQUFNLENBQUMsU0FBUyxDQUFDLFFBQWdCLEVBQUUsVUFBa0IsQ0FBQztRQUN6RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLFFBQVE7aUJBQ0gsS0FBSyxDQUFDLEVBQUUsQ0FBQztpQkFDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7aUJBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFMUIsT0FBTyxRQUFRLEdBQUcsS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLE9BQU8sR0FBRyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWMsY0FBYyxFQUFFLE9BQWU7UUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FB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QUksU0FBUyxFQUFFLENBQUM7WUFDWixNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUM5Qix5Q0FBeUM7WUFDekMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO1FBQzlDLENBQUM7UUFFRCxvREFBb0Q7UUFDcEQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxVQUFVLENBQUM7UUFFakMsaUNBQWlDO1FBQ2pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTdCLHlCQUF5QjtRQUN6QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7SUFDOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDbEMsUUFBOEI7UUFFOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IENoYXJ0LCB7IENhdGVnb3J5U2NhbGUsIENoYXJ0QXJlYSwgTGluZWFyU2NhbGUgfSBmcm9tICdjaGFydC5qcy9hdXRvJztcbmltcG9ydCB7IENoYXJ0Q29sb3JzU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IElCYXNlRGF0YXNldCwgSUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBDaGFydEhlbHBlciB7XG4gICAgcHVibGljIHN0YXRpYyBoZXhUb1JnYmEoY29sb3JIZXg6IHN0cmluZywgb3BhY2l0eTogbnVtYmVyID0gMSk6IHN0cmluZyB7XG4gICAgICAgIGNvbG9ySGV4ID0gY29sb3JIZXgucmVwbGFjZSgvXiMvLCAnJyk7XG5cbiAgICAgICAgaWYgKGNvbG9ySGV4Lmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgY29sb3JIZXhcbiAgICAgICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAgICAgLm1hcCgoY2hhcikgPT4gY2hhciArIGNoYXIpXG4gICAgICAgICAgICAgICAgLmpvaW4oJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmlnaW50ID0gcGFyc2VJbnQoY29sb3JIZXgsIDE2KTtcbiAgICAgICAgY29uc3QgcmVkID0gKGJpZ2ludCA+PiAxNikgJiAyNTU7XG4gICAgICAgIGNvbnN0IGdyZWVuID0gKGJpZ2ludCA+PiA4KSAmIDI1NTtcbiAgICAgICAgY29uc3QgYmx1ZSA9IGJpZ2ludCAmIDI1NTtcblxuICAgICAgICByZXR1cm4gYHJnYmEoJHtyZWR9LCAke2dyZWVufSwgJHtibHVlfSwgJHtvcGFjaXR5fSlgO1xuICAgIH1cblxuICAgIHN0YXRpYyByZ2JUb1JnYmEocmdiOiBzdHJpbmcgPSAncmdiKDAsIDAsIDApJywgb3BhY2l0eTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmdiVmFsdWVzID0gcmdiLm1hdGNoKC9cXGQrL2cpO1xuXG4gICAgICAgIGlmIChyZ2JWYWx1ZXMgJiYgcmdiVmFsdWVzLmxlbmd0aCA+PSAzKSB7XG4gICAgICAgICAgICBjb25zdCByZWQgPSByZ2JWYWx1ZXNbMF07XG4gICAgICAgICAgICBjb25zdCBncmVlbiA9IHJnYlZhbHVlc1sxXTtcbiAgICAgICAgICAgIGNvbnN0IGJsdWUgPSByZ2JWYWx1ZXNbMl07XG5cbiAgICAgICAgICAgIHJldHVybiBgcmdiYSgke3JlZH0sICR7Z3JlZW59LCAke2JsdWV9LCAke29wYWNpdHl9KWA7XG4gICAgICAgIH0gZWxzZSByZXR1cm4gcmdiO1xuICAgIH1cblxuICAgIHN0YXRpYyBjaGFuZ2VPcGFjaXR5T2ZSZ2JPclJnYmEoY29sb3I6IHN0cmluZywgb3BhY2l0eTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmdiYVJlZ2V4ID1cbiAgICAgICAgICAgIC9ecmdiYT9cXCgoXFxkezEsM30pLFxccyooXFxkezEsM30pLFxccyooXFxkezEsM30pKD86LFxccyooXFxkP1xcLj9cXGQrKSk/XFwpJC87XG5cbiAgICAgICAgY29uc3QgbWF0Y2ggPSBjb2xvci5tYXRjaChyZ2JhUmVnZXgpO1xuICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZCA9IHBhcnNlSW50KG1hdGNoWzFdLCAxMCk7XG4gICAgICAgICAgICBjb25zdCBncmVlbiA9IHBhcnNlSW50KG1hdGNoWzJdLCAxMCk7XG4gICAgICAgICAgICBjb25zdCBibHVlID0gcGFyc2VJbnQobWF0Y2hbM10sIDEwKTtcblxuICAgICAgICAgICAgcmV0dXJuIGByZ2JhKCR7cmVkfSwgJHtncmVlbn0sICR7Ymx1ZX0sICR7b3BhY2l0eX0pYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sb3I7XG4gICAgfVxuXG4gICAgc3RhdGljIGNhbGN1bGF0ZU1pblZhbHVlKGRhdGE6IG51bWJlcltdKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWluKC4uLmRhdGEpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjYWxjdWxhdGVNYXhWYWx1ZShkYXRhOiBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heCguLi5kYXRhKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlR3JhZGllbnQoXG4gICAgICAgIGNoYXJ0Q29udGV4dDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgICAgICBjaGFydENhbnZhczogRWxlbWVudFJlZixcbiAgICAgICAgY29sb3I6IHN0cmluZyxcbiAgICAgICAgY29sb3IyOiBzdHJpbmcsXG4gICAgICAgIG9wYWNpdHlDb2xvcjE6IG51bWJlciA9IDEsXG4gICAgICAgIG9wYWNpdHlDb2xvcjI6IG51bWJlciA9IDEsXG4gICAgICAgIGFyZUNvbG9yc0luUmdiYUZvcm1hdDogYm9vbGVhbiA9IGZhbHNlXG4gICAgKTogQ2FudmFzR3JhZGllbnQge1xuICAgICAgICBjb25zdCBncmFkaWVudCA9IGNoYXJ0Q29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudChcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIGNoYXJ0Q2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0XG4gICAgICAgICk7XG4gICAgICAgIGxldCBmaWxsQ29sb3JUb3AgPSAnJztcbiAgICAgICAgbGV0IGZpbGxDb2xvckJvdHRvbSA9ICcnO1xuICAgICAgICBpZiAoYXJlQ29sb3JzSW5SZ2JhRm9ybWF0KSB7XG4gICAgICAgICAgICBmaWxsQ29sb3JUb3AgPSB0aGlzLmNoYW5nZU9wYWNpdHlPZlJnYk9yUmdiYShjb2xvciwgb3BhY2l0eUNvbG9yMSk7XG4gICAgICAgICAgICBmaWxsQ29sb3JCb3R0b20gPSB0aGlzLmNoYW5nZU9wYWNpdHlPZlJnYk9yUmdiYShcbiAgICAgICAgICAgICAgICBjb2xvcjIsXG4gICAgICAgICAgICAgICAgb3BhY2l0eUNvbG9yMlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbGxDb2xvclRvcCA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yLCBvcGFjaXR5Q29sb3IxKTtcbiAgICAgICAgICAgIGZpbGxDb2xvckJvdHRvbSA9IHRoaXMuaGV4VG9SZ2JhKGNvbG9yMiwgb3BhY2l0eUNvbG9yMik7XG4gICAgICAgIH1cbiAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGZpbGxDb2xvclRvcCk7XG4gICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLjgsIGZpbGxDb2xvckJvdHRvbSk7XG5cbiAgICAgICAgcmV0dXJuIGdyYWRpZW50O1xuICAgIH1cblxuICAgIHN0YXRpYyBjcmVhdGVHcmFkaWVudFdpdGhTaGlmdFZhbHVlKFxuICAgICAgICBjaGFydENvbnRleHQ6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICAgICAgY2hhcnRIZWlnaHQ6IG51bWJlcixcbiAgICAgICAgY29sb3I6IHN0cmluZyxcbiAgICAgICAgY29sb3IyOiBzdHJpbmcsXG4gICAgICAgIHNoaWZ0VmFsdWU6IG51bWJlcixcbiAgICAgICAgaGFzRmFkZT86IGJvb2xlYW5cbiAgICApOiBDYW52YXNHcmFkaWVudCB7XG4gICAgICAgIGNvbnN0IGdyYWRpZW50ID0gY2hhcnRDb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgY2hhcnRIZWlnaHRcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBmaWxsQ29sb3JUb3AgPSB0aGlzLmhleFRvUmdiYShjb2xvciwgMC44KTtcbiAgICAgICAgY29uc3QgZmlsbENvbG9yQm90dG9tID0gdGhpcy5oZXhUb1JnYmEoY29sb3IyLCAwLjgpO1xuXG4gICAgICAgIGlmICghaGFzRmFkZSkge1xuICAgICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGZpbGxDb2xvclRvcCk7XG4gICAgICAgICAgICBncmFkaWVudC5hZGRDb2xvclN0b3Aoc2hpZnRWYWx1ZSwgZmlsbENvbG9yVG9wKTtcbiAgICAgICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcChzaGlmdFZhbHVlLCBmaWxsQ29sb3JCb3R0b20pO1xuICAgICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIGZpbGxDb2xvckJvdHRvbSk7XG4gICAgICAgICAgICByZXR1cm4gZ3JhZGllbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgZmlsbENvbG9yVG9wKTtcbiAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKHNoaWZ0VmFsdWUsIENoYXJ0Q29sb3JzU3RyaW5nRW51bS5XSElURSk7XG4gICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcChzaGlmdFZhbHVlLCBmaWxsQ29sb3JCb3R0b20pO1xuICAgICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMSwgQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLldISVRFKTtcblxuICAgICAgICByZXR1cm4gZ3JhZGllbnQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGNhbGN1bGF0ZVRpY2tQb3NpdGlvbnMoXG4gICAgICAgIHhTY2FsZTogQ2F0ZWdvcnlTY2FsZSB8IExpbmVhclNjYWxlXG4gICAgKTogbnVtYmVyW10ge1xuICAgICAgICByZXR1cm4geFNjYWxlLnRpY2tzLm1hcCgoXywgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICAgIHhTY2FsZS5nZXRQaXhlbEZvclRpY2soaW5kZXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGhpZ2hsaWdodFNlZ21lbnQoXG4gICAgICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgICAgICB4U2NhbGU6IENhdGVnb3J5U2NhbGUgfCBMaW5lYXJTY2FsZSxcbiAgICAgICAgY2hhcnRBcmVhOiBDaGFydEFyZWEsXG4gICAgICAgIGNoYXJ0SGVpZ2h0OiBudW1iZXIsXG4gICAgICAgIGluZGV4OiBudW1iZXJcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBzZWdtZW50U3RhcnQsIHNlZ21lbnRXaWR0aCB9ID0gQ2hhcnRIZWxwZXIuZ2V0U2VnbWVudFBvc2l0aW9uKFxuICAgICAgICAgICAgeFNjYWxlLFxuICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYm9yZGVyUmFkaXVzID0gMjtcblxuICAgICAgICBjdHguc2F2ZSgpO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLkhPVkVSX1NFR01FTlQ7XG5cbiAgICAgICAgLy8gRHJhdyBzZWdtZW50IHdpdGggYm9yZGVyLXJhZGl1cyBhdCB0aGUgdG9wIGNvcm5lcnNcbiAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICBjdHgubW92ZVRvKHNlZ21lbnRTdGFydCArIGJvcmRlclJhZGl1cywgY2hhcnRBcmVhLnRvcCk7XG4gICAgICAgIGN0eC5saW5lVG8oc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoIC0gYm9yZGVyUmFkaXVzLCBjaGFydEFyZWEudG9wKTtcbiAgICAgICAgY3R4LmFyY1RvKFxuICAgICAgICAgICAgc2VnbWVudFN0YXJ0ICsgc2VnbWVudFdpZHRoLFxuICAgICAgICAgICAgY2hhcnRBcmVhLnRvcCxcbiAgICAgICAgICAgIHNlZ21lbnRTdGFydCArIHNlZ21lbnRXaWR0aCxcbiAgICAgICAgICAgIGNoYXJ0QXJlYS50b3AgKyBib3JkZXJSYWRpdXMsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXNcbiAgICAgICAgKTtcbiAgICAgICAgY3R4LmxpbmVUbyhzZWdtZW50U3RhcnQgKyBzZWdtZW50V2lkdGgsIGNoYXJ0SGVpZ2h0KTtcbiAgICAgICAgY3R4LmxpbmVUbyhzZWdtZW50U3RhcnQsIGNoYXJ0SGVpZ2h0KTtcbiAgICAgICAgY3R4LmxpbmVUbyhzZWdtZW50U3RhcnQsIGNoYXJ0QXJlYS50b3AgKyBib3JkZXJSYWRpdXMpO1xuICAgICAgICBjdHguYXJjVG8oXG4gICAgICAgICAgICBzZWdtZW50U3RhcnQsXG4gICAgICAgICAgICBjaGFydEFyZWEudG9wLFxuICAgICAgICAgICAgc2VnbWVudFN0YXJ0ICsgYm9yZGVyUmFkaXVzLFxuICAgICAgICAgICAgY2hhcnRBcmVhLnRvcCxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1c1xuICAgICAgICApO1xuICAgICAgICBjdHguY2xvc2VQYXRoKCk7XG5cbiAgICAgICAgY3R4LmZpbGwoKTtcbiAgICAgICAgY3R4LnJlc3RvcmUoKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIGEgZHVtYiBmdW5jdGlvbiB3aG9zZSBvbmx5IGZ1bmN0aW9uIGlzIG9ubHkgdG8gcG9zaXRpb24gbGVnZW5kIGVsZW1lbnRzIG9uZSBiZWxvdyB1bmRlclxuICAgIC8vIENhbGwgaXQgaW4gbmdGb3JcbiAgICBwdWJsaWMgc3RhdGljIGRyYXdEb3VnaG51dExlZ2VuZChcbiAgICAgICAgY2hhcnQ6IENoYXJ0LFxuICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgaW5keDogbnVtYmVyO1xuICAgICAgICAgICAgLy8gVE9ETyBpZiBuZWVkZWQsIGNvbnZlcnQgdG8gb2JqZWN0XG4gICAgICAgICAgICBvZmZzZXRUb3A6IG51bWJlcjtcbiAgICAgICAgfSxcbiAgICAgICAgdGV4dDogc3RyaW5nLFxuICAgICAgICAvLyBJbml0aWFsIGlkZWFcbiAgICAgICAgZm9udFNpemU6IG51bWJlciA9IDE4LFxuICAgICAgICBjb2xvcjogc3RyaW5nID0gJyM0MjQyNDInXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSBjaGFydDtcblxuICAgICAgICBpZiAoIWN0eCkgcmV0dXJuO1xuXG4gICAgICAgIGN0eC5zYXZlKCk7XG5cbiAgICAgICAgY29uc3QgZGF0YXNldE1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YSgwKTtcbiAgICAgICAgY29uc3QgeENvb3JkID0gZGF0YXNldE1ldGE/LmRhdGFbMF0/Lng7XG4gICAgICAgIGNvbnN0IHlDb29yZCA9XG4gICAgICAgICAgICAoZGF0YXNldE1ldGE/LmRhdGFbMF0/LnkgLyAzKSAqIDIgK1xuICAgICAgICAgICAgcG9zaXRpb24uaW5keCAqIDIwICtcbiAgICAgICAgICAgIHBvc2l0aW9uLm9mZnNldFRvcDtcblxuICAgICAgICBpZiAoeENvb3JkID09PSB1bmRlZmluZWQgfHwgeUNvb3JkID09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgICAgIGN0eC5mb250ID0gYGJvbGQgJHtmb250U2l6ZX1weCBzYW5zLXNlcmlmYDtcbiAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yO1xuICAgICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcbiAgICAgICAgY3R4LmZpbGxUZXh0KHRleHQsIHhDb29yZCwgeUNvb3JkKTtcblxuICAgICAgICBjdHgucmVzdG9yZSgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBoaWdobGlnaHRQb2ludChcbiAgICAgICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgICAgIGNoYXJ0OiBDaGFydCxcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgY2hhcnREYXRhOiBJQ2hhcnREYXRhPElCYXNlRGF0YXNldD5cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc29sZS5sb2coY3R4LCBjaGFydCwgaW5kZXgsIGNoYXJ0RGF0YSwgJ2hpZ2xpZ2h0UE9pbnQnKTtcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ3Rlc3QgMTExJyk7XG4gICAgICAgICAgICBjb25zdCBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTtcblxuICAgICAgICAgICAgaWYgKCFtZXRhIHx8ICFtZXRhLmRhdGFbaW5kZXhdKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0ZXN0IDIyMicpO1xuXG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG1ldGEuZGF0YVtpbmRleF07XG4gICAgICAgICAgICBjb25zdCB5U2NhbGUgPSBjaGFydC5zY2FsZXNbZGF0YXNldC55QXhpc0lEIHx8ICd5LWF4aXMtMCddO1xuICAgICAgICAgICAgY29uc3QgeFNjYWxlID0gY2hhcnQuc2NhbGVzWyd4J107XG5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YXNldC5kYXRhW2luZGV4XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0ZXN0IDMzMycpO1xuXG4gICAgICAgICAgICBjb25zdCB4UGl4ZWwgPSB4U2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZShpbmRleCk7XG4gICAgICAgICAgICBjb25zdCB5UGl4ZWwgPSBNYXRoLmFicyh5U2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZSh2YWx1ZSBhcyBudW1iZXIpKTtcblxuICAgICAgICAgICAgaWYgKCFwb2ludCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZygndGVzdCA0NDQnKTtcblxuICAgICAgICAgICAgY3R4LnNhdmUoKTtcbiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgICAgIGN0eC5hcmMoeFBpeGVsLCB5UGl4ZWwsIDQsIDAsIDIgKiBNYXRoLlBJKTtcbiAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEU7XG4gICAgICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICAgICAgY3R4LmxpbmVXaWR0aCA9IDI7XG4gICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPVxuICAgICAgICAgICAgICAgIGRhdGFzZXQuYm9yZGVyQ29sb3IgfHwgQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLlRSQU5TUEFSRU5UO1xuICAgICAgICAgICAgY3R4LnN0cm9rZSgpO1xuICAgICAgICAgICAgY3R4LnJlc3RvcmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0U2VnbWVudFBvc2l0aW9uKFxuICAgICAgICB4U2NhbGU6IENhdGVnb3J5U2NhbGUgfCBMaW5lYXJTY2FsZSxcbiAgICAgICAgaW5kZXg6IG51bWJlclxuICAgICk6IHsgc2VnbWVudFN0YXJ0OiBudW1iZXI7IHNlZ21lbnRXaWR0aDogbnVtYmVyIH0ge1xuICAgICAgICBjb25zdCB0aWNrUG9zaXRpb25zID0gQ2hhcnRIZWxwZXIuY2FsY3VsYXRlVGlja1Bvc2l0aW9ucyh4U2NhbGUpO1xuICAgICAgICBjb25zdCBzZWdtZW50V2lkdGggPSB0aWNrUG9zaXRpb25zWzFdIC0gdGlja1Bvc2l0aW9uc1swXTtcbiAgICAgICAgY29uc3Qgc2VnbWVudFN0YXJ0ID0gdGlja1Bvc2l0aW9uc1tpbmRleF0gLSBzZWdtZW50V2lkdGggLyAyO1xuICAgICAgICByZXR1cm4geyBzZWdtZW50U3RhcnQsIHNlZ21lbnRXaWR0aCB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY29udmVydFJnYlRvUmdiYShcbiAgICAgICAgY29sb3JWYWx1ZTogc3RyaW5nLFxuICAgICAgICBhbHBoYTogbnVtYmVyID0gMVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGlmIChhbHBoYSA8IDAgfHwgYWxwaGEgPiAxKSByZXR1cm4gY29sb3JWYWx1ZTtcblxuICAgICAgICBjb25zdCByZ2JhTWF0Y2ggPSBjb2xvclZhbHVlLm1hdGNoKFxuICAgICAgICAgICAgL3JnYmFcXCgoXFxkKyksXFxzKihcXGQrKSxcXHMqKFxcZCspLFxccyooXFxkKyhcXC5cXGQrKT8pXFwpL1xuICAgICAgICApO1xuXG4gICAgICAgIGlmIChyZ2JhTWF0Y2gpIHtcbiAgICAgICAgICAgIGNvbnN0IFssIHIsIGcsIGJdID0gcmdiYU1hdGNoO1xuICAgICAgICAgICAgLy8gUmV0dXJuIHVwZGF0ZWQgUkdCQSB3aXRoIHRoZSBuZXcgYWxwaGFcbiAgICAgICAgICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2FscGhhfSlgO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXh0cmFjdCB0aGUgUkdCIHZhbHVlcyB1c2luZyBhIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgICAgICBjb25zdCByZ2JNYXRjaCA9IGNvbG9yVmFsdWUubWF0Y2goL3JnYlxcKChcXGQrKSxcXHMqKFxcZCspLFxccyooXFxkKylcXCkvKTtcbiAgICAgICAgaWYgKCFyZ2JNYXRjaCkgcmV0dXJuIGNvbG9yVmFsdWU7XG5cbiAgICAgICAgLy8gRGVzdHJ1Y3R1cmUgdGhlIG1hdGNoZWQgdmFsdWVzXG4gICAgICAgIGNvbnN0IFssIHIsIGcsIGJdID0gcmdiTWF0Y2g7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBSR0JBIHN0cmluZ1xuICAgICAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthbHBoYX0pYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNhbGN1bGF0ZURhdGFzZXRNYXhWYWx1ZShcbiAgICAgICAgZGF0YXNldHM6IHsgZGF0YTogbnVtYmVyW10gfVtdXG4gICAgKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KC4uLmRhdGFzZXRzLmZsYXRNYXAoKGRhdGFzZXQpID0+IGRhdGFzZXQuZGF0YSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJTXVsdGlwbGVJbnB1dCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICBzZWNvbmRfdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgbG9nb05hbWU/OiBzdHJpbmc7XG4gICAgaXNJbWc/OiBib29sZWFuO1xuICAgIGlzU3ZnPzogYm9vbGVhbjtcbiAgICBmb2xkZXI/OiBzdHJpbmc7XG4gICAgc3ViRm9sZGVyPzogc3RyaW5nO1xuICAgIGxvZ29UeXBlPzogc3RyaW5nO1xuICAgIGlzT3duZXI/OiBib29sZWFuO1xuICAgIGlzUHJvZ3Jlc3NCYXI/OiBib29sZWFuO1xuICAgIGlzQ291bnRlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhSW5wdXREYXRlVGltZVBpY2tlciB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlzSWNvbkhpZGRlbj86IGJvb2xlYW47XG4gICAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7IC8vIC0gJ2RhdGV0aW1lY2xhc3MnIC0+IGRhdGUvdGltZSBwaWNrZXJzLCAnZGF0ZXRpbWVjbGFzcyBkYXJrIC0+IGRhdGUvdGltZSBwaWNrZXJzIGRhcmtcbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgICBpc0Z1dHVyZURhdGVEaXNhYmxlZD86IGJvb2xlYW47IC8vIGRpc2FibGVkIGZ1dHVyZSBkYXRlc1xuICAgIGV4cGlyZWREYXRlSW52YWxpZD86IGJvb2xlYW47IC8vIGFjY2VwdCBvbmx5IGRhdGVzIHRoYXQgZGlkbid0IGV4cGlyZVxuICAgIGlzRnJvbURhdGU/OiBib29sZWFuO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhSW5wdXRXaXRoRHJvcGRvd24ge1xuICAgIHdpdGhUZXh0OiBib29sZWFuO1xuICAgIHN2ZzogYm9vbGVhbjtcbiAgICBpbWFnZTogYm9vbGVhbjtcbiAgICBpY29uc1BhdGg/OiBzdHJpbmc7XG4gICAgYWN0aXZlSXRlbUljb25LZXk/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIG5hbWVJbml0aWFsc0luc3RlYWRVcmw/OiBzdHJpbmc7IC8vIGlmIHVybCBkb2VzIG5vdCBleGlzdCwgYnV0IG11c3QgcmVuZGVyIGluaXRpYWxzIG9mIG5hbWVcbiAgICB0ZW1wbGF0ZT86IHN0cmluZzsgLy8gdHJ1Y2ssIHRyYWlsZXIuLi5cbiAgICBjb2xvcj86IHN0cmluZzsgLy8gY29sb3JzIHN0b3JlIGluIGJhY2tlLWVuZCBkeW5hbWljbHlcbiAgICBjbGFzcz86IHN0cmluZzsgLy8gY29sb3JzIHN0b3JlIGluIGZyb250LWVuZFxuICAgIHJlbW92ZT86IGJvb2xlYW47IC8vIHJlbW92ZSBzdmcgaW4gZm9jdXMgbW9kZSBhbmQgd2hlbiB1c2VyIGFyZSB0eXBpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNhSW5wdXQge1xuICAgIGlkPzogbnVtYmVyOyAvLyBvbmx5IGZvciBmb3JtIGFycmF5IHRvIGluZGVmaWVyIGVsZW1lbnRcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGxhYmVsSW5JbnB1dD86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7IC8vIG9ubHkgZm9yIGRyb3Bkb3duLCBvdGhlcndpc2UgcGxhY2Vob2xkZXIgaXMgbGFiZWwgISEhXG4gICAgcGxhY2Vob2xkZXJJY29uPzogc3RyaW5nO1xuICAgIHBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZT86IHN0cmluZztcbiAgICBpc1BsYWNlSG9sZGVySWNvblJpZ2h0U2lkZUR5bmFtaWNDb2xvcj86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXJJY29uRm9sbGxvd1RleHRPblJpZ2h0U2lkZT86IHN0cmluZztcbiAgICBwbGFjZWhvbGRlckljb25Db2xvcj86IHN0cmluZztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgcGxhY2Vob2xkZXJJbnN0ZWFkT2ZMYWJlbD86IGJvb2xlYW47XG4gICAgaW5wdXRDdXJzb3JPblJpZ2h0U2lkZT86IGJvb2xlYW47XG4gICAgaXNSZXF1aXJlZD86IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgcGF0dGVybj86IHN0cmluZztcbiAgICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gICAgc2hvd0NvdW50PzogYm9vbGVhbjtcbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIG1pblZhbHVlPzogbnVtYmVyO1xuICAgIG1heFZhbHVlPzogbnVtYmVyO1xuICAgIG1pbj86IG51bWJlcjtcbiAgICBtYXg/OiBudW1iZXI7XG4gICAgc3RlcD86IG51bWJlcjsgLy8gc3RlcCBmb3IgaW5wdXQgdHlwZT1cIm51bWJlclwiO1xuICAgIG1hc2s/OiBzdHJpbmc7IC8vIG9ubHkgZm9yIHBob25lIHR5cGUgb2YgaW5wdXRcbiAgICB0ZXh0VHJhbnNmb3JtPzpcbiAgICAgICAgfCAnY2FwaXRhbGl6ZSdcbiAgICAgICAgfCAndXBwZXJjYXNlJ1xuICAgICAgICB8ICdsb3dlcmNhc2UnXG4gICAgICAgIHwgJ2NhcGl0YWxpemVkY2FzZSc7XG4gICAgdGV4dEFsaWduPzogc3RyaW5nIHwgJ2NlbnRlcic7XG4gICAgYmxhY2tJbnB1dD86IGJvb2xlYW47IC8vIGhhcyBvbmx5IGJsYWNrIGJhY2tncm91bmQgJiYgaW5wdXQgY2xlYXIsIG5vIHZhbGlkYXRpb25zXG4gICAgYmx1ZUlucHV0PzogYm9vbGVhbjtcbiAgICBpbmNvcnJlY3RJbnB1dD86IGJvb2xlYW47XG4gICAgZGFuZ2VyTWFyaz86IGJvb2xlYW47XG4gICAgYXV0b0ZvY3VzPzogYm9vbGVhbjtcbiAgICBoaWRlQ2xlYXI/OiBib29sZWFuO1xuICAgIGhpZGVSZXF1aXJlZENoZWNrPzogYm9vbGVhbjtcbiAgICBoaWRlRXJyb3JNZXNzYWdlPzogYm9vbGVhbjtcbiAgICBoaWRlRGFuZ2VyTWFyaz86IGJvb2xlYW47XG4gICAgaGlkZURyb3Bkb3duQXJyb3c/OiBib29sZWFuO1xuICAgIHJlcXVpcmVkTGFiZWw/OiBib29sZWFuO1xuICAgIGVycm9ySW5zaWRlSW5wdXQ/OiBib29sZWFuO1xuICAgIHJlbW92ZUlucHV0PzogYm9vbGVhbjtcbiAgICByZWFkT25seT86IGJvb2xlYW47XG4gICAgdGhvdXNhbmRTZXBhcmF0b3I/OiBib29sZWFuOyAvLyB0eXBlIG9mIGlucHV0IG11c3QgYmUgJ3RleHQnXG4gICAgcHJpY2VTZXBhcmF0b3I/OiBib29sZWFuO1xuICAgIHByaWNlU2VwYXJhdG9yTGltaXRhdGlvbj86IG51bWJlcjsgLy8gNyAtIDk5OSw5OTkuMDAgOyA2IC0gOTksMDAwLjAwIDsgNSAtIDksMDAwLjAwIGl0ZC4uLiAobXVzdCBpbmNsdWRpbmcgYW5kIGNvbW1hKVxuICAgIGxvYWRpbmdTcGlubmVyPzoge1xuICAgICAgICBzaXplPzogc3RyaW5nOyAvLyBzbWFsbCwgYmlnXG4gICAgICAgIGNvbG9yPzogc3RyaW5nOyAvLyBibGFjaywgZ3JheSwgd2hpdGUsIGJsdWVMaWdodCwgYmx1ZURhcmtcbiAgICAgICAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIGFkZHJlc3NGbGFnPzogc3RyaW5nOyAvLyBhZGRlZCB0ZXh0IGluIHJpZ2h0IGNvcm5lciBhbmQgdGhpcyBmbGFnIHdpbGwgYmUgZGlzYWJsZWQgY2xlYXIgYnV0dG9uLCBpbnZhbGlkIGRhbmdlciBtYXJrXG4gICAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7IC8vIC0gJ2RhdGV0aW1lY2xhc3MnIC0+IGRhdGUvdGltZSBwaWNrZXJzLCAnZGF0ZXRpbWVjbGFzcyBkYXJrIC0+IGRhdGUvdGltZSBwaWNrZXJzIGRhcmtcbiAgICBpc0ljb25JbnB1dD86IGJvb2xlYW47IC8vIGRpc3BsYXkgaWNvbiBpbnN0ZWFkIG9mIHJlZ3VsYXIgaW5wdXRcbiAgICBpc1ZhbGlkSWNvbj86IGJvb2xlYW47IC8vIGRpc3BsYXkgaWNvbiBpbnN0ZWFkIG9mIHJlZ3VsYXIgaW5wdXRcbiAgICBpbnB1dEljb24/OiBzdHJpbmc7IC8vIGRpc3BsYXkgaWNvbiBpbnN0ZWFkIG9mIHJlZ3VsYXIgaW5wdXRcblxuICAgIC8vICoqKioqKioqKioqKioqKioqIE11bHRpcGxlIElucHV0cyAmIExhYmVscyAqKioqKioqKioqKioqKioqKlxuICAgIG11bHRpcGxlSW5wdXRWYWx1ZXM/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJTXVsdGlwbGVJbnB1dCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICBzZWNvbmRfdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgbG9nb05hbWU/OiBzdHJpbmc7XG4gICAgaXNJbWc/OiBib29sZWFuO1xuICAgIGlzU3ZnPzogYm9vbGVhbjtcbiAgICBmb2xkZXI/OiBzdHJpbmc7XG4gICAgc3ViRm9sZGVyPzogc3RyaW5nO1xuICAgIGxvZ29UeXBlPzogc3RyaW5nO1xuICAgIGlzT3duZXI/OiBib29sZWFuO1xuICAgIGlzUHJvZ3Jlc3NCYXI/OiBib29sZWFuO1xuICAgIGlzQ291bnRlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhSW5wdXREYXRlVGltZVBpY2tlciB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlzSWNvbkhpZGRlbj86IGJvb2xlYW47XG4gICAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7IC8vIC0gJ2RhdGV0aW1lY2xhc3MnIC0+IGRhdGUvdGltZSBwaWNrZXJzLCAnZGF0ZXRpbWVjbGFzcyBkYXJrIC0+IGRhdGUvdGltZSBwaWNrZXJzIGRhcmtcbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgICBpc0Z1dHVyZURhdGVEaXNhYmxlZD86IGJvb2xlYW47IC8vIGRpc2FibGVkIGZ1dHVyZSBkYXRlc1xuICAgIGV4cGlyZWREYXRlSW52YWxpZD86IGJvb2xlYW47IC8vIGFjY2VwdCBvbmx5IGRhdGVzIHRoYXQgZGlkbid0IGV4cGlyZVxuICAgIGlzRnJvbURhdGU/OiBib29sZWFuO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhSW5wdXRXaXRoRHJvcGRvd24ge1xuICAgIHdpdGhUZXh0OiBib29sZWFuO1xuICAgIHN2ZzogYm9vbGVhbjtcbiAgICBpbWFnZTogYm9vbGVhbjtcbiAgICBpY29uc1BhdGg/OiBzdHJpbmc7XG4gICAgYWN0aXZlSXRlbUljb25LZXk/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIG5hbWVJbml0aWFsc0luc3RlYWRVcmw/OiBzdHJpbmc7IC8vIGlmIHVybCBkb2VzIG5vdCBleGlzdCwgYnV0IG11c3QgcmVuZGVyIGluaXRpYWxzIG9mIG5hbWVcbiAgICB0ZW1wbGF0ZT86IHN0cmluZzsgLy8gdHJ1Y2ssIHRyYWlsZXIuLi5cbiAgICBjb2xvcj86IHN0cmluZzsgLy8gY29sb3JzIHN0b3JlIGluIGJhY2tlLWVuZCBkeW5hbWljbHlcbiAgICBjbGFzcz86IHN0cmluZzsgLy8gY29sb3JzIHN0b3JlIGluIGZyb250LWVuZFxuICAgIHJlbW92ZT86IGJvb2xlYW47IC8vIHJlbW92ZSBzdmcgaW4gZm9jdXMgbW9kZSBhbmQgd2hlbiB1c2VyIGFyZSB0eXBpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNhSW5wdXQge1xuICAgIGlkPzogbnVtYmVyOyAvLyBvbmx5IGZvciBmb3JtIGFycmF5IHRvIGluZGVmaWVyIGVsZW1lbnRcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGxhYmVsSW5JbnB1dD86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7IC8vIG9ubHkgZm9yIGRyb3Bkb3duLCBvdGhlcndpc2UgcGxhY2Vob2xkZXIgaXMgbGFiZWwgISEhXG4gICAgcGxhY2Vob2xkZXJJY29uPzogc3RyaW5nO1xuICAgIHBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZT86IHN0cmluZztcbiAgICBpc1BsYWNlSG9sZGVySWNvblJpZ2h0U2lkZUR5bmFtaWNDb2xvcj86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXJJY29uRm9sbGxvd1RleHRPblJpZ2h0U2lkZT86IHN0cmluZztcbiAgICBwbGFjZWhvbGRlckljb25Db2xvcj86IHN0cmluZztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgcGxhY2Vob2xkZXJJbnN0ZWFkT2ZMYWJlbD86IGJvb2xlYW47XG4gICAgaW5wdXRDdXJzb3JPblJpZ2h0U2lkZT86IGJvb2xlYW47XG4gICAgaXNSZXF1aXJlZD86IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgcGF0dGVybj86IHN0cmluZztcbiAgICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gICAgc2hvd0NvdW50PzogYm9vbGVhbjtcbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIG1pblZhbHVlPzogbnVtYmVyO1xuICAgIG1heFZhbHVlPzogbnVtYmVyO1xuICAgIG1pbj86IG51bWJlcjtcbiAgICBtYXg/OiBudW1iZXI7XG4gICAgc3RlcD86IG51bWJlcjsgLy8gc3RlcCBmb3IgaW5wdXQgdHlwZT1cIm51bWJlclwiO1xuICAgIG1hc2s/OiBzdHJpbmc7IC8vIG9ubHkgZm9yIHBob25lIHR5cGUgb2YgaW5wdXRcbiAgICB0ZXh0VHJhbnNmb3JtPzpcbiAgICAgICAgfCAnY2FwaXRhbGl6ZSdcbiAgICAgICAgfCAndXBwZXJjYXNlJ1xuICAgICAgICB8ICdsb3dlcmNhc2UnXG4gICAgICAgIHwgJ2NhcGl0YWxpemVkY2FzZSc7XG4gICAgdGV4dEFsaWduPzogc3RyaW5nIHwgJ2NlbnRlcic7XG4gICAgYmxhY2tJbnB1dD86IGJvb2xlYW47IC8vIGhhcyBvbmx5IGJsYWNrIGJhY2tncm91bmQgJiYgaW5wdXQgY2xlYXIsIG5vIHZhbGlkYXRpb25zXG4gICAgYmx1ZUlucHV0PzogYm9vbGVhbjtcbiAgICBpbmNvcnJlY3RJbnB1dD86IGJvb2xlYW47XG4gICAgZGFuZ2VyTWFyaz86IGJvb2xlYW47XG4gICAgYXV0b0ZvY3VzPzogYm9vbGVhbjtcbiAgICBoaWRlQ2xlYXI/OiBib29sZWFuO1xuICAgIGhpZGVSZXF1aXJlZENoZWNrPzogYm9vbGVhbjtcbiAgICBoaWRlRXJyb3JNZXNzYWdlPzogYm9vbGVhbjtcbiAgICBoaWRlRGFuZ2VyTWFyaz86IGJvb2xlYW47XG4gICAgaGlkZURyb3Bkb3duQXJyb3c/OiBib29sZWFuO1xuICAgIHJlcXVpcmVkTGFiZWw/OiBib29sZWFuO1xuICAgIGVycm9ySW5zaWRlSW5wdXQ/OiBib29sZWFuO1xuICAgIHJlbW92ZUlucHV0PzogYm9vbGVhbjtcbiAgICByZWFkT25seT86IGJvb2xlYW47XG4gICAgdGhvdXNhbmRTZXBhcmF0b3I/OiBib29sZWFuOyAvLyB0eXBlIG9mIGlucHV0IG11c3QgYmUgJ3RleHQnXG4gICAgcHJpY2VTZXBhcmF0b3I/OiBib29sZWFuO1xuICAgIHByaWNlU2VwYXJhdG9yTGltaXRhdGlvbj86IG51bWJlcjsgLy8gNyAtIDk5OSw5OTkuMDAgOyA2IC0gOTksMDAwLjAwIDsgNSAtIDksMDAwLjAwIGl0ZC4uLiAobXVzdCBpbmNsdWRpbmcgYW5kIGNvbW1hKVxuICAgIGxvYWRpbmdTcGlubmVyPzoge1xuICAgICAgICBzaXplPzogc3RyaW5nOyAvLyBzbWFsbCwgYmlnXG4gICAgICAgIGNvbG9yPzogc3RyaW5nOyAvLyBibGFjaywgZ3JheSwgd2hpdGUsIGJsdWVMaWdodCwgYmx1ZURhcmtcbiAgICAgICAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIGFkZHJlc3NGbGFnPzogc3RyaW5nOyAvLyBhZGRlZCB0ZXh0IGluIHJpZ2h0IGNvcm5lciBhbmQgdGhpcyBmbGFnIHdpbGwgYmUgZGlzYWJsZWQgY2xlYXIgYnV0dG9uLCBpbnZhbGlkIGRhbmdlciBtYXJrXG4gICAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7IC8vIC0gJ2RhdGV0aW1lY2xhc3MnIC0+IGRhdGUvdGltZSBwaWNrZXJzLCAnZGF0ZXRpbWVjbGFzcyBkYXJrIC0+IGRhdGUvdGltZSBwaWNrZXJzIGRhcmtcbiAgICBpc0ljb25JbnB1dD86IGJvb2xlYW47IC8vIGRpc3BsYXkgaWNvbiBpbnN0ZWFkIG9mIHJlZ3VsYXIgaW5wdXRcbiAgICBpc1ZhbGlkSWNvbj86IGJvb2xlYW47IC8vIGRpc3BsYXkgaWNvbiBpbnN0ZWFkIG9mIHJlZ3VsYXIgaW5wdXRcbiAgICBpbnB1dEljb24/OiBzdHJpbmc7IC8vIGRpc3BsYXkgaWNvbiBpbnN0ZWFkIG9mIHJlZ3VsYXIgaW5wdXRcblxuICAgIC8vICoqKioqKioqKioqKioqKioqIE11bHRpcGxlIElucHV0cyAmIExhYmVscyAqKioqKioqKioqKioqKioqKlxuICAgIG11bHRpcGxlSW5wdXRWYWx1ZXM/OiB7XG4gICAgICAgIG9wdGlvbnM6IElNdWx0aXBsZUlucHV0W107XG4gICAgICAgIGN1c3RvbUNsYXNzOiBzdHJpbmc7XG4gICAgfTtcbiAgICBtdWx0aXBsZUxhYmVsPzoge1xuICAgICAgICBsYWJlbHM6IHN0cmluZ1tdOyAvLyBbJ0RyaXZlcicsICdUcnVjayAjJywgJ1RyYWlsZXIgIyddXG4gICAgICAgIHNlYXJjaExhYmVscz86IHN0cmluZ1tdO1xuICAgICAgICBjdXN0b21DbGFzczogc3RyaW5nO1xuICAgIH07XG4gICAgaXNJbnB1dEJhY2tncm91bmRSZW1vdmVkPzogYm9vbGVhbjtcbiAgICBpc0JsdWVUZXh0PzogYm9vbGVhbjtcblxuICAgIC8vICoqKioqKioqKioqKioqKioqIElucHV0IEFjdGlvbnMgKGNvbmZpcm0tY2FuY2VsIGJ1dHRvbnMpICoqKioqKioqKioqKioqKioqXG4gICAgY29tbWFuZHM/OiB7XG4gICAgICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgICAgIHR5cGU/OiBzdHJpbmc7IC8vIGV4YW1wbGVzOiAgJ2luY3JlbWVudC1kZWNyZW1lbnQnLCAnY29uZmlybS1jYW5jZWwnXG4gICAgICAgIGZpcnN0Q29tbWFuZD86IHtcbiAgICAgICAgICAgIHBvcHVwPzoge1xuICAgICAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBzdmc/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIHNlY29uZENvbW1hbmQ/OiB7XG4gICAgICAgICAgICBwb3B1cD86IHtcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgc3ZnPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICB0aGlyZENvbW1hbmQ/OiB7XG4gICAgICAgICAgICBwb3B1cD86IHtcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgc3ZnPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBzZXRUaW1lb3V0PzogbnVtYmVyOyAvLyBpZiBtdXN0IGtlZXAgZm9jdXMgb24gaW5wdXRcbiAgICAgICAgYmx1ZUNvbW1hbmRzPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZzsgLy8gZGVmYXVsdCBpbnB1dCB2YWx1ZSBmb3IgUmVzZXQgY29tbWFuZFxuXG4gICAgLy8gKioqKioqKioqKioqKioqKiogRFJPUERPV05TICoqKioqKioqKioqKioqKioqXG5cbiAgICAvLyBQdXJlIERyb3Bkb3duXG4gICAgaXNEcm9wZG93bj86IGJvb2xlYW47XG4gICAgZHJvcGRvd25XaWR0aENsYXNzPzogc3RyaW5nOyAvLyBMb29rIGluIHRhLWlucHV0LWRyb2Rvd24uc2NzcyBmb3IgaW1wbGVtZW50YXRpb24gY2xhc3MgKHdpZHRoIG9mIGRyb3Bkb3ducylcbiAgICBkcm9wZG93bkltYWdlSW5wdXQ/OiBJQ2FJbnB1dFdpdGhEcm9wZG93biB8IG51bGw7XG4gICAgaXNJbnZhbGlkU2VhcmNoSW5Ecm9wZG93bj86IGJvb2xlYW47XG4gICAgc2VsZWN0ZWREcm9wZG93bj86IGJvb2xlYW47XG4gICAgbWVyZ2VEcm9wZG93bkJvZHlXaXRoSW5wdXQ/OiBib29sZWFuO1xuICAgIGhpZGVBbGxJdGVtc0luSW5wdXREcm9wZG93bj86IGJvb2xlYW47XG4gICAgaXNCbHVlRHJvcGRvd24/OiBib29sZWFuO1xuICAgIGlzSXRlbVNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBpc0Rpc3BsYXlpbmdDdXN0b21QZXJpb2RSYW5nZT86IGJvb2xlYW47XG4gICAgaXNVc2luZ0N1c3RvbVBlcmlvZFJhbmdlPzogYm9vbGVhbjtcblxuICAgIC8vIEFkZHJlc3MgRHJvcGRvd25cbiAgICBpc0Rpc3BhdGNoTG9jYXRpb25Ecm9wZG93bj86IGJvb2xlYW47XG5cbiAgICAvLyBMYWJlbCBkcm9wZG93blxuICAgIGRyb3Bkb3duTGFiZWw/OiBib29sZWFuO1xuICAgIGRyb3Bkb3duTGFiZWxOZXc/OiBib29sZWFuO1xuXG4gICAgLy8gTXVsdGlTZWxlY3QgRHJvcGRvd25cbiAgICBtdWx0aXNlbGVjdERyb3Bkb3duPzogYm9vbGVhbjtcbiAgICBtdWx0aVNlbGVjdERyb3Bkb3duQWN0aXZlPzogYm9vbGVhbjtcbiAgICBtdWx0aVNlbGVjdEl0ZW1SYW5nZT86IGJvb2xlYW47XG5cbiAgICAvLyBEYXRlVGltZSBQaWNrZXJcbiAgICBpc0Zyb21EYXRlPzogYm9vbGVhbjtcbiAgICBoaWRlQ29sb3JWYWxpZGF0aW9ucz86IGJvb2xlYW47IC8vIHJlZ3VsYXIgY29sb3IgZm9yIGlucHV0cywgbm8gYmx1ZSB2YWxpZGF0aW9uXG4gICAgZXhwaXJlZERhdGVJbnZhbGlkPzogYm9vbGVhbjsgLy8gYWNjZXB0IG9ubHkgZGF0ZXMgdGhhdCBkaWRuJ3QgZXhwaXJlXG4gICAgaXNGdXR1cmVEYXRlRGlzYWJsZWQ/OiBib29sZWFuOyAvLyBkaXNhYmxlZCBmdXR1cmUgZGF0ZXNcbiAgICBmaXhlZFBsYWNob2xkZXI/OiBzdHJpbmc7XG4gICAgc3RhdHVzU3R5bGU/OiBib29sZWFuO1xuICAgIGlzSWNvbkhpZGRlbj86IGJvb2xlYW47XG4gICAgaXNSZW1vdmVkSWNvbk1vdmVkT25MZWZ0PzogYm9vbGVhbjtcbiAgICByZW1vdmVMZWFkaW5nWmVybz86IGJvb2xlYW47XG4gICAgbmVnYXRpdmVMZWFkaW5nWmVybz86IGJvb2xlYW47XG4gICAgaXNIb3ZlclJvdz86IGJvb2xlYW47XG4gICAgbWludXRlc0dhcEZpdmU/OiBib29sZWFuO1xuXG4gICAgdXBkYXRlQXNUb3VjaGVkT25FZGl0PzogYm9vbGVhbjtcbn1cbiJdfQ==
|