ca-components 1.0.64 → 1.0.66
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/esm2022/lib/components/ca-chart/ca-chart.component.mjs +82 -22
- package/esm2022/lib/components/ca-chart/enums/chart-annotation-type.enum.mjs +10 -0
- package/esm2022/lib/components/ca-chart/enums/chart-event-properties.enum.mjs +7 -7
- package/esm2022/lib/components/ca-chart/enums/index.mjs +2 -1
- package/esm2022/lib/components/ca-chart/models/chart-annotation.model.mjs +2 -0
- package/esm2022/lib/components/ca-chart/models/chart-config.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/index.mjs +2 -1
- package/esm2022/lib/components/ca-filters/components/ca-money-filter/ca-money-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-input/ca-input.component.mjs +3 -3
- package/esm2022/lib/components/ca-input/config/ca-input.config.mjs +1 -1
- package/esm2022/lib/components/ca-input/pipes/input-class.pipe.mjs +11 -3
- package/esm2022/lib/components/ca-input/pipes/input-container-class.pipe.mjs +2 -1
- package/esm2022/lib/components/ca-input/pipes/label-class.pipe.mjs +11 -6
- package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +3 -3
- package/esm2022/lib/utils/helpers/uuid.helper.mjs +6 -0
- package/fesm2022/ca-components.mjs +131 -42
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-chart/ca-chart.component.d.ts +3 -0
- package/lib/components/ca-chart/enums/chart-annotation-type.enum.d.ts +8 -0
- package/lib/components/ca-chart/enums/chart-event-properties.enum.d.ts +1 -1
- package/lib/components/ca-chart/enums/index.d.ts +1 -0
- package/lib/components/ca-chart/models/chart-annotation.model.d.ts +10 -0
- package/lib/components/ca-chart/models/chart-config.model.d.ts +3 -0
- package/lib/components/ca-chart/models/index.d.ts +1 -0
- package/lib/components/ca-input/config/ca-input.config.d.ts +1 -0
- package/lib/components/ca-input/pipes/label-class.pipe.d.ts +1 -1
- package/lib/utils/helpers/uuid.helper.d.ts +1 -0
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import { AngularSvgIconModule } from 'angular-svg-icon';
|
|
|
5
5
|
import { Chart, } from 'chart.js/auto';
|
|
6
6
|
import annotationPlugin from 'chartjs-plugin-annotation';
|
|
7
7
|
// Enums
|
|
8
|
-
import {
|
|
8
|
+
import { EChartEventProperties, ChartPluginIdsStringEnum, CubicInterpolationStringEnum, ChartEventTypesStringEnum, ChartFontPropertiesStringEnum, EChartAnnotationType, } from './enums';
|
|
9
9
|
// Helpers
|
|
10
10
|
import { ChartHelper } from './utils/helpers';
|
|
11
11
|
// Guards
|
|
@@ -104,25 +104,10 @@ export class CaChartComponent {
|
|
|
104
104
|
item?.color2 &&
|
|
105
105
|
item?.color !== item?.color2 ?
|
|
106
106
|
ChartHelper.createGradient(this.chartContext, this.chartCanvas, item?.color, item?.color2) : item?.color,
|
|
107
|
-
fill: item?.fill
|
|
107
|
+
fill: item?.fill
|
|
108
108
|
};
|
|
109
|
-
this.
|
|
110
|
-
|
|
111
|
-
annotation: {
|
|
112
|
-
annotations: {
|
|
113
|
-
...this._chartConfig.chartOptions.plugins?.annotation?.annotations,
|
|
114
|
-
[item.label]: {
|
|
115
|
-
id: `annotation-${indx}`,
|
|
116
|
-
type: 'line',
|
|
117
|
-
scaleID: item.yAxisId || 'y-axis-0',
|
|
118
|
-
value: item.shiftValue,
|
|
119
|
-
borderColor: item.color,
|
|
120
|
-
borderWidth: item.borderWidth || 2,
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
const yScale = this.chart.scales[ChartEventProperties.Y_AXIS_0];
|
|
109
|
+
this.updateChartAnnotations(item, indx);
|
|
110
|
+
const yScale = this.chart.scales[EChartEventProperties.Y_AXIS_0];
|
|
126
111
|
const shiftValuePx = yScale.getPixelForValue(item.shiftValue || 0);
|
|
127
112
|
const shiftValueAdjusted = shiftValuePx / yScale.maxHeight;
|
|
128
113
|
return {
|
|
@@ -195,6 +180,14 @@ export class CaChartComponent {
|
|
|
195
180
|
max: 1,
|
|
196
181
|
},
|
|
197
182
|
},
|
|
183
|
+
onHover: (event, dataItem) => {
|
|
184
|
+
if (!this._chartConfig.hasVerticalDashedAnnotation)
|
|
185
|
+
return;
|
|
186
|
+
this.resetAnnotations();
|
|
187
|
+
if (!dataItem || !dataItem?.length)
|
|
188
|
+
return;
|
|
189
|
+
this.setVerticalDashedAnnotationLine(dataItem[0].element.x);
|
|
190
|
+
},
|
|
198
191
|
};
|
|
199
192
|
}
|
|
200
193
|
setChartDataProperties() {
|
|
@@ -234,8 +227,8 @@ export class CaChartComponent {
|
|
|
234
227
|
this.chart.draw();
|
|
235
228
|
return;
|
|
236
229
|
}
|
|
237
|
-
const mouseHorizontalCoordinate = nativeEvent[
|
|
238
|
-
const xScale = this.chart.scales[
|
|
230
|
+
const mouseHorizontalCoordinate = nativeEvent[EChartEventProperties.X];
|
|
231
|
+
const xScale = this.chart.scales[EChartEventProperties.X];
|
|
239
232
|
const tickPositions = ChartHelper.calculateTickPositions(xScale);
|
|
240
233
|
const newHoveredIndex = tickPositions.findIndex((tickPos) => mouseHorizontalCoordinate >
|
|
241
234
|
tickPos - (tickPositions[1] - tickPositions[0]) / 2 &&
|
|
@@ -262,6 +255,36 @@ export class CaChartComponent {
|
|
|
262
255
|
},
|
|
263
256
|
];
|
|
264
257
|
}
|
|
258
|
+
updateChartAnnotations(item, indx) {
|
|
259
|
+
if (!this._chartConfig.annotations?.length)
|
|
260
|
+
return;
|
|
261
|
+
this._chartConfig.
|
|
262
|
+
annotations?.
|
|
263
|
+
forEach((annotation, key) => {
|
|
264
|
+
this._chartConfig.chartOptions.plugins = {
|
|
265
|
+
...this._chartConfig.chartOptions.plugins,
|
|
266
|
+
annotation: {
|
|
267
|
+
...this._chartConfig.chartOptions?.plugins?.annotation,
|
|
268
|
+
annotations: {
|
|
269
|
+
...this._chartConfig.
|
|
270
|
+
chartOptions?.
|
|
271
|
+
plugins?.
|
|
272
|
+
annotation?.
|
|
273
|
+
annotations,
|
|
274
|
+
[`${item.label}-${indx}-${key}`]: {
|
|
275
|
+
id: annotation.id || `annotation-${indx}-${key}`,
|
|
276
|
+
type: annotation.type,
|
|
277
|
+
scaleID: annotation.axis || item.yAxisId,
|
|
278
|
+
value: annotation.value || item.shiftValue,
|
|
279
|
+
borderColor: annotation.color || '#DADADA',
|
|
280
|
+
borderWidth: annotation.borderWidth || 2,
|
|
281
|
+
borderDash: annotation.borderDash || [0, 0],
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
};
|
|
286
|
+
});
|
|
287
|
+
}
|
|
265
288
|
setMultipleYAxis(chartData) {
|
|
266
289
|
let absoluteMax;
|
|
267
290
|
chartData.datasets.forEach((dataset, index) => {
|
|
@@ -295,6 +318,43 @@ export class CaChartComponent {
|
|
|
295
318
|
}
|
|
296
319
|
});
|
|
297
320
|
}
|
|
321
|
+
resetAnnotations() {
|
|
322
|
+
this._chartConfig.chartOptions.plugins =
|
|
323
|
+
{
|
|
324
|
+
...this._chartConfig.chartOptions.plugins,
|
|
325
|
+
annotation: {}
|
|
326
|
+
};
|
|
327
|
+
this.chart.update();
|
|
328
|
+
}
|
|
329
|
+
setVerticalDashedAnnotationLine(xCord, color) {
|
|
330
|
+
const xScale = this.chart.scales[EChartEventProperties.X];
|
|
331
|
+
const valueFromPixel = xScale.getValueForPixel(xCord);
|
|
332
|
+
if (valueFromPixel === undefined)
|
|
333
|
+
return;
|
|
334
|
+
this._chartConfig.chartOptions.plugins = {
|
|
335
|
+
...this._chartConfig.chartOptions.plugins,
|
|
336
|
+
annotation: {
|
|
337
|
+
...this._chartConfig.chartOptions?.plugins?.annotation,
|
|
338
|
+
annotations: {
|
|
339
|
+
...this._chartConfig.
|
|
340
|
+
chartOptions?.
|
|
341
|
+
plugins?.
|
|
342
|
+
annotation?.
|
|
343
|
+
annotations,
|
|
344
|
+
[`x-dashed`]: {
|
|
345
|
+
id: `x-dashed`,
|
|
346
|
+
type: EChartAnnotationType.LINE,
|
|
347
|
+
scaleID: EChartEventProperties.X,
|
|
348
|
+
value: valueFromPixel,
|
|
349
|
+
borderColor: color || '#DADADA',
|
|
350
|
+
borderWidth: 2,
|
|
351
|
+
borderDash: [5, 5],
|
|
352
|
+
},
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
};
|
|
356
|
+
this.chart.update();
|
|
357
|
+
}
|
|
298
358
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
299
359
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaChartComponent, isStandalone: true, selector: "app-ca-chart", inputs: { chartConfig: "chartConfig", isDatasetHovered: "isDatasetHovered" }, viewQueries: [{ propertyName: "chartCanvas", first: true, predicate: ["chartCanvas"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"isChartDataAvailable; else noDataTemplate\">\n <div\n [ngStyle]=\"{\n height: _chartConfig.height + 'px',\n width: _chartConfig.width + '%',\n }\"\n >\n <canvas #chartCanvas> </canvas>\n </div>\n</ng-container>\n<ng-template #noDataTemplate>\n <div\n class=\"d-flex justify-content-center align-items-center\"\n [ngStyle]=\"{\n height: _chartConfig.height + 'px',\n width: _chartConfig.width + '%',\n }\"\n >\n <svg-icon\n [src]=\"_chartConfig.noDataImage\"\n alt=\"No data available\"\n class=\"no-data-svg\"\n ></svg-icon>\n </div>\n</ng-template>\n", styles: [".no-data-svg{width:100%;height:auto;max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i2.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }] }); }
|
|
300
360
|
}
|
|
@@ -309,4 +369,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
309
369
|
}], isDatasetHovered: [{
|
|
310
370
|
type: Input
|
|
311
371
|
}] } });
|
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvY2EtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvY2EtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxTQUFTO0FBQ1QsT0FBTyxFQUVMLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLGdCQUFnQixNQUFNLDJCQUEyQixDQUFDO0FBRXpELFFBQVE7QUFDUixPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4Qiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDZCQUE2QixHQUM5QixNQUFNLFNBQVMsQ0FBQztBQUVqQixVQUFVO0FBQ1YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLFNBQVM7QUFDVCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFVaEQsUUFBUTtBQUNSLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQVNwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLElBQWEsV0FBVyxDQUFDLEtBQTBCO1FBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxL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QyxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsY0FBYyxjQUdaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQzt3REFHbkIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUVYLFdBQVc7c0JBQXZCLEtBQUs7Z0JBa0JPLGdCQUFnQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW55T2JqZWN0IH0gZnJvbSAnY2hhcnQuanMvZGlzdC90eXBlcy9iYXNpYyc7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBDaGFydHNcbmltcG9ydCB7XG4gIENhdGVnb3J5U2NhbGUsXG4gIENoYXJ0LFxuICBDaGFydFR5cGUsXG4gIExpbmVhclNjYWxlLFxuICBQbHVnaW4sXG59IGZyb20gJ2NoYXJ0LmpzL2F1dG8nO1xuaW1wb3J0IGFubm90YXRpb25QbHVnaW4gZnJvbSAnY2hhcnRqcy1wbHVnaW4tYW5ub3RhdGlvbic7XG5cbi8vIEVudW1zXG5pbXBvcnQge1xuICBDaGFydENvbG9yc1N0cmluZ0VudW0sXG4gIENoYXJ0RXZlbnRQcm9wZXJ0aWVzLFxuICBDaGFydFBsdWdpbklkc1N0cmluZ0VudW0sXG4gIENoYXJ0VHlwZXNTdHJpbmdFbnVtLFxuICBDdWJpY0ludGVycG9sYXRpb25TdHJpbmdFbnVtLFxuICBDaGFydEV2ZW50VHlwZXNTdHJpbmdFbnVtLFxuICBDaGFydEZvbnRQcm9wZXJ0aWVzU3RyaW5nRW51bSxcbn0gZnJvbSAnLi9lbnVtcyc7XG5cbi8vIEhlbHBlcnNcbmltcG9ydCB7IENoYXJ0SGVscGVyIH0gZnJvbSAnLi91dGlscy9oZWxwZXJzJztcblxuLy8gR3VhcmRzXG5pbXBvcnQgeyBDaGFydFR5cGVHdWFyZCB9IGZyb20gJy4vdXRpbHMvZ3VhcmRzJztcblxuLy9Nb2RlbHNcbmltcG9ydCB7XG4gIElDaGFydERhdGEsXG4gIElMaW5lRGF0YXNldCxcbiAgSUNoYXJ0Q29uZmlndXJhdGlvbixcbiAgSUJhc2VEYXRhc2V0XG59IGZyb20gJy4vbW9kZWxzJztcblxuLy9Db25maWdcbmltcG9ydCB7IENhQmFzZUNoYXJ0RGF0YXNldENvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQW5ndWxhclN2Z0ljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDYUNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NoYXJ0Q2FudmFzJykgY2hhcnRDYW52YXMhOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIHNldCBjaGFydENvbmZpZyh2YWx1ZTogSUNoYXJ0Q29uZmlndXJhdGlvbikge1xuICAgIHRoaXMuX2NoYXJ0Q29uZmlnID0gdmFsdWU7XG4gICAgdGhpcy5pc0NoYXJ0RGF0YUF2YWlsYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YS5kYXRhc2V0cy5mb3JFYWNoKChpdGVtOiBJQmFzZURhdGFzZXQpID0+IHtcbiAgICAgIGl0ZW0uZGF0YS5mb3JFYWNoKCh2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10pID0+IHtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICBpZiAodmFsdWVbMF0gIT09IDAgfHwgdmFsdWVbMV0gIT09IDApXG4gICAgICAgICAgICB0aGlzLmlzQ2hhcnREYXRhQXZhaWxhYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgaWYgKHZhbHVlICE9PSAwKVxuICAgICAgICAgICAgdGhpcy5pc0NoYXJ0RGF0YUF2YWlsYWJsZSA9IHRydWU7XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvL2ZvciB0ZXN0aW5nIGhvdmVyIHN0YXRlIG9uIGRhdGFzZXRcbiAgQElucHV0KCkgc2V0IGlzRGF0YXNldEhvdmVyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0RhdGFzZXRIb3ZlcmVkID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuY2hhcnQpIHtcbiAgICAgIHRoaXMudXBkYXRlRGF0YXNldEJhY2tncm91bmRPbkhvdmVyKFxuICAgICAgICAnU2FsZXMnLFxuICAgICAgICAnIzY2OTJGMScsXG4gICAgICAgIHRoaXMuX2lzRGF0YXNldEhvdmVyZWRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGFydCE6IENoYXJ0O1xuICBwcml2YXRlIGNoYXJ0Q29udGV4dCE6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgcHJpdmF0ZSBwbHVnaW5zPzogUGx1Z2luPENoYXJ0VHlwZSwgQW55T2JqZWN0PltdO1xuICBwcml2YXRlIF9pc0RhdGFzZXRIb3ZlcmVkITogYm9vbGVhbjtcbiAgcHJpdmF0ZSBvcmlnaW5hbENoYXJ0RGF0YXNldCA9XG4gICAgQ2FCYXNlQ2hhcnREYXRhc2V0Q29uZmlnLmdldEJhc2VDaGFydERhdGFzZXRDb25maWcoKTtcblxuICBwdWJsaWMgX2NoYXJ0Q29uZmlnITogSUNoYXJ0Q29uZmlndXJhdGlvbjtcbiAgcHVibGljIGlzQ2hhcnREYXRhQXZhaWxhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0NoYXJ0RGF0YUF2YWlsYWJsZSAmJiAhY2hhbmdlc1snY2hhcnRDb25maWcnXS5maXJzdENoYW5nZSlcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0NoYXJ0RGF0YUF2YWlsYWJsZSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplQW5ub3RhdGlvblBsdWdpbigpO1xuICAgICAgdGhpcy5jcmVhdGVDaGFydCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUFubm90YXRpb25QbHVnaW4oKTogdm9pZCB7XG4gICAgQ2hhcnQucmVnaXN0ZXIoYW5ub3RhdGlvblBsdWdpbik7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGF0YXNldEJhY2tncm91bmRPbkhvdmVyKFxuICAgIGRhdGFTZXRMYWJlbDogc3RyaW5nLFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgaXNEYXRhc2V0SG92ZXJlZDogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBpZiAoaXNEYXRhc2V0SG92ZXJlZCkge1xuICAgICAgdGhpcy5vcmlnaW5hbENoYXJ0RGF0YXNldCA9IEpTT04ucGFyc2UoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YS5kYXRhc2V0cylcbiAgICAgICk7XG4gICAgICBjb25zdCBncmFkaWVudCA9IENoYXJ0SGVscGVyLmNyZWF0ZUdyYWRpZW50KFxuICAgICAgICB0aGlzLmNoYXJ0Q29udGV4dCxcbiAgICAgICAgdGhpcy5jaGFydENhbnZhcyxcbiAgICAgICAgY29sb3IsXG4gICAgICAgIGNvbG9yXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9jaGFydENvbmZpZy5jaGFydERhdGEuZGF0YXNldHMgPVxuICAgICAgICB0aGlzLl9jaGFydENvbmZpZy5jaGFydERhdGEuZGF0YXNldHMubWFwKChkYXRhc2V0KSA9PiB7XG4gICAgICAgICAgaWYgKGRhdGFzZXQubGFiZWwgPT09IGRhdGFTZXRMYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uZGF0YXNldCxcbiAgICAgICAgICAgICAgZmlsbDogdHJ1ZSxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBncmFkaWVudCxcbiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYm9yZGVyQ29sb3JXaXRoT3BhY2l0eSA9IENoYXJ0SGVscGVyLnJnYlRvUmdiYShcbiAgICAgICAgICAgICAgZGF0YXNldC5ib3JkZXJDb2xvcixcbiAgICAgICAgICAgICAgMC4yXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uZGF0YXNldCxcbiAgICAgICAgICAgICAgZmlsbDogZmFsc2UsXG4gICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJDb2xvcldpdGhPcGFjaXR5LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZVxuICAgICAgdGhpcy5fY2hhcnRDb25maWcuY2hhcnREYXRhLmRhdGFzZXRzID0gSlNPTi5wYXJzZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5vcmlnaW5hbENoYXJ0RGF0YXNldClcbiAgICAgICk7XG5cbiAgICB0aGlzLmNoYXJ0LnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDaGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0Q29udGV4dCA9IHRoaXMuY2hhcnRDYW52YXMubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcpO1xuICAgIHRoaXMuc2V0Q2hhcnRPcHRpb25zUHJvcGVydGllcygpO1xuICAgIHRoaXMuc2V0Q2hhcnREYXRhUHJvcGVydGllcygpO1xuICAgIHRoaXMuc2V0Q2hhcnRQbHVnaW5zUHJvcGVydGllcygpO1xuXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmNoYXJ0Q29udGV4dCwge1xuICAgICAgdHlwZTogdGhpcy5fY2hhcnRDb25maWcuY2hhcnRUeXBlLFxuICAgICAgZGF0YTogdGhpcy5fY2hhcnRDb25maWcuY2hhcnREYXRhLFxuICAgICAgb3B0aW9uczogdGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zLFxuICAgICAgcGx1Z2luczogdGhpcy5wbHVnaW5zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jaGFydC5jb25maWcuZGF0YS5kYXRhc2V0cyA9IFtcbiAgICAgIC4uLnRoaXMuX2NoYXJ0Q29uZmlnPy5cbiAgICAgICAgY2hhcnREYXRhPy5cbiAgICAgICAgZGF0YXNldHM/Lm1hcCgoaXRlbTogSUJhc2VEYXRhc2V0LCBpbmR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICBpZiAoIWl0ZW0uc2hpZnRWYWx1ZSlcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjpcbiAgICAgICAgICAgICAgICBpdGVtPy5jb2xvciAmJlxuICAgICAgICAgICAgICAgICAgaXRlbT8uY29sb3IyICYmXG4gICAgICAgICAgICAgICAgICBpdGVtPy5jb2xvciAhPT0gaXRlbT8uY29sb3IyID9cbiAgICAgICAgICAgICAgICAgIENoYXJ0SGVscGVyLmNyZWF0ZUdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0Q29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydENhbnZhcyxcbiAgICAgICAgICAgICAgICAgICAgaXRlbT8uY29sb3IsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LmNvbG9yMiAsXG4gICAgICAgICAgICAgICAgICApIDogaXRlbT8uY29sb3IsXG4gICAgICAgICAgICAgIGZpbGw6IGl0ZW0/LmZpbGwgfHwgZmFsc2VcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0T3B0aW9ucy5wbHVnaW5zID0ge1xuICAgICAgICAgICAgLi4udGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zLnBsdWdpbnMsXG4gICAgICAgICAgICBhbm5vdGF0aW9uOiB7XG4gICAgICAgICAgICAgIGFubm90YXRpb25zOiB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zLnBsdWdpbnM/LmFubm90YXRpb24/LmFubm90YXRpb25zLFxuICAgICAgICAgICAgICAgIFtpdGVtLmxhYmVsXToge1xuICAgICAgICAgICAgICAgICAgaWQ6IGBhbm5vdGF0aW9uLSR7aW5keH1gLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgICAgICAgc2NhbGVJRDogaXRlbS55QXhpc0lkIHx8ICd5LWF4aXMtMCcsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5zaGlmdFZhbHVlLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGl0ZW0uY29sb3IsXG4gICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogaXRlbS5ib3JkZXJXaWR0aCB8fCAyLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgeVNjYWxlID0gdGhpcy5jaGFydC5zY2FsZXNbQ2hhcnRFdmVudFByb3BlcnRpZXMuWV9BWElTXzBdIGFzXG4gICAgICAgICAgICB8IENhdGVnb3J5U2NhbGVcbiAgICAgICAgICAgIHwgTGluZWFyU2NhbGU7XG5cbiAgICAgICAgICBjb25zdCBzaGlmdFZhbHVlUHg6IG51bWJlciA9IHlTY2FsZS5nZXRQaXhlbEZvclZhbHVlKGl0ZW0uc2hpZnRWYWx1ZSB8fCAwKTtcbiAgICAgICAgICBjb25zdCBzaGlmdFZhbHVlQWRqdXN0ZWQ6IG51bWJlciA9XG4gICAgICAgICAgICBzaGlmdFZhbHVlUHggLyB5U2NhbGUubWF4SGVpZ2h0O1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IENoYXJ0SGVscGVyLmNyZWF0ZUdyYWRpZW50V2l0aFNoaWZ0VmFsdWUoXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRDb250ZXh0LFxuICAgICAgICAgICAgICB5U2NhbGUubWF4SGVpZ2h0LFxuICAgICAgICAgICAgICBpdGVtLmNvbG9yIHx8ICcnLFxuICAgICAgICAgICAgICBpdGVtLmNvbG9yMiB8fCAnJyxcbiAgICAgICAgICAgICAgc2hpZnRWYWx1ZUFkanVzdGVkLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6XG4gICAgICAgICAgICAgIENoYXJ0SGVscGVyLmNyZWF0ZUdyYWRpZW50V2l0aFNoaWZ0VmFsdWUoXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydENvbnRleHQsXG4gICAgICAgICAgICAgICAgeVNjYWxlLm1heEhlaWdodCxcbiAgICAgICAgICAgICAgICBpdGVtLmNvbG9yIHx8ICcnLFxuICAgICAgICAgICAgICAgIGl0ZW0uY29sb3IyIHx8ICcnLFxuICAgICAgICAgICAgICAgIHNoaWZ0VmFsdWVBZGp1c3RlZCxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZpbGw6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgXTtcbiAgICB0aGlzLmNoYXJ0LnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDaGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0Py5kZXN0cm95KCk7XG4gICAgdGhpcy5jcmVhdGVDaGFydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGFydE9wdGlvbnNQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxhYmVscyA9IHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YS5sYWJlbHM7XG4gICAgdGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgICAgY2xpcDogZmFsc2UsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBib3R0b206IC0yNVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeDoge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxuICAgICAgICAgIGdyaWQ6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICBjb2xvcjogQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLlhfQVhJU19MQUJFTF9DT0xPUixcbiAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgc2l6ZTogMTEsXG4gICAgICAgICAgICAgIGZhbWlseTogQ2hhcnRGb250UHJvcGVydGllc1N0cmluZ0VudW0uRk9OVF9GQU1JTFlfTU9OVFNFUlJBVCxcbiAgICAgICAgICAgICAgd2VpZ2h0OiBDaGFydEZvbnRQcm9wZXJ0aWVzU3RyaW5nRW51bS5GT05UX1dFSUdIVF9CT0xERVIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXV0b1NraXA6IHRydWUsXG4gICAgICAgICAgICBhdXRvU2tpcFBhZGRpbmc6IDEyLFxuICAgICAgICAgICAgbWF4Um90YXRpb246IDAsXG4gICAgICAgICAgICBtaW5Sb3RhdGlvbjogMCxcbiAgICAgICAgICAgIC8vaXNwaXMgbGFibGUgdSAyIHJlZGEgemEgZGFuZSAtIGNla2Egc2UgZGl6YWogemEgcHJpa2F6IGRhbmFcbiAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAodmFsdWU6IHN0cmluZyB8IG51bWJlciwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IHN0cmluZ1tdIHtcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBsYWJlbHNbaW5kZXhdO1xuICAgICAgICAgICAgICBjb25zdCBtdWx0aUxpbmVMYWJlbCA9IGxhYmVsID8gbGFiZWwuc3BsaXQoJyAnKSA6IFtdO1xuICAgICAgICAgICAgICByZXR1cm4gbXVsdGlMaW5lTGFiZWw7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzcGxheTogdGhpcy5fY2hhcnRDb25maWcuc2hvd1hBeGlzTGFiZWxzLFxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxuICAgICAgICAgIG9mZnNldDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgeToge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBtYXg6IDEsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNldENoYXJ0RGF0YVByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLl9jaGFydENvbmZpZy5jaGFydFR5cGUgPSBDaGFydFR5cGVzU3RyaW5nRW51bS5MSU5FKSkge1xuICAgICAgdGhpcy5fY2hhcnRDb25maWcuY2hhcnREYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQpID0+IHtcbiAgICAgICAgZGF0YXNldC5vcmRlciA9IGRhdGFzZXQub3JkZXI7XG4gICAgICAgIGlmIChDaGFydFR5cGVHdWFyZC5pc0xpbmVEYXRhc2V0KGRhdGFzZXQpKSB7XG4gICAgICAgICAgZGF0YXNldC50ZW5zaW9uID0gZGF0YXNldC50ZW5zaW9uID8/IDAuNTtcbiAgICAgICAgICBkYXRhc2V0LmN1YmljSW50ZXJwb2xhdGlvbk1vZGUgPVxuICAgICAgICAgICAgZGF0YXNldC5jdWJpY0ludGVycG9sYXRpb25Nb2RlID8/XG4gICAgICAgICAgICBDdWJpY0ludGVycG9sYXRpb25TdHJpbmdFbnVtLk1PTk9UT05FO1xuICAgICAgICAgIGRhdGFzZXQucG9pbnRCb3JkZXJDb2xvciA9XG4gICAgICAgICAgICBkYXRhc2V0LnBvaW50Qm9yZGVyQ29sb3IgPz8gQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLlRSQU5TUEFSRU5UO1xuICAgICAgICAgIGRhdGFzZXQucG9pbnRCYWNrZ3JvdW5kQ29sb3IgPVxuICAgICAgICAgICAgZGF0YXNldC5wb2ludEJhY2tncm91bmRDb2xvciA/PyBDaGFydENvbG9yc1N0cmluZ0VudW0uVFJBTlNQQVJFTlQ7XG4gICAgICAgICAgZGF0YXNldC5wb2ludEJvcmRlcldpZHRoID0gZGF0YXNldC5wb2ludEJvcmRlcldpZHRoID8/IDI7XG4gICAgICAgICAgZGF0YXNldC5zcGFuR2FwcyA9IGRhdGFzZXQuc3BhbkdhcHMgPz8gZmFsc2U7XG4gICAgICAgICAgZGF0YXNldC5zaG93TGluZSA9IGRhdGFzZXQuc2hvd0xpbmUgPz8gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldE11bHRpcGxlWUF4aXModGhpcy5fY2hhcnRDb25maWcuY2hhcnREYXRhKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldENoYXJ0UGx1Z2luc1Byb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgbGV0IGhvdmVyZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICB0aGlzLnBsdWdpbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGlkOiBDaGFydFBsdWdpbklkc1N0cmluZ0VudW0uSElHSExJR0hUX1NFR01FTlRfT05fSE9WRVIsXG4gICAgICAgIGFmdGVyRXZlbnQ6IChjaGFydCwgZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuX2NoYXJ0Q29uZmlnLnNob3dUb29sdGlwQmFja2dyb3VuZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5hdGl2ZUV2ZW50ID0gZXZlbnQuZXZlbnQubmF0aXZlIGFzIE1vdXNlRXZlbnQ7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC5ldmVudC50eXBlID09PSBDaGFydEV2ZW50VHlwZXNTdHJpbmdFbnVtLk1PVVNFX09VVCAmJlxuICAgICAgICAgICAgaG92ZXJlZEluZGV4ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBob3ZlcmVkSW5kZXggPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5jaGFydC5kcmF3KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbW91c2VIb3Jpem9udGFsQ29vcmRpbmF0ZSA9IG5hdGl2ZUV2ZW50W0NoYXJ0RXZlbnRQcm9wZXJ0aWVzLlhdO1xuICAgICAgICAgIGNvbnN0IHhTY2FsZSA9IHRoaXMuY2hhcnQuc2NhbGVzW0NoYXJ0RXZlbnRQcm9wZXJ0aWVzLlhdIGFzXG4gICAgICAgICAgICB8IENhdGVnb3J5U2NhbGVcbiAgICAgICAgICAgIHwgTGluZWFyU2NhbGU7XG5cbiAgICAgICAgICBjb25zdCB0aWNrUG9zaXRpb25zID0gQ2hhcnRIZWxwZXIuY2FsY3VsYXRlVGlja1Bvc2l0aW9ucyh4U2NhbGUpO1xuICAgICAgICAgIGNvbnN0IG5ld0hvdmVyZWRJbmRleCA9IHRpY2tQb3NpdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHRpY2tQb3MpID0+XG4gICAgICAgICAgICAgIG1vdXNlSG9yaXpvbnRhbENvb3JkaW5hdGUgPlxuICAgICAgICAgICAgICB0aWNrUG9zIC0gKHRpY2tQb3NpdGlvbnNbMV0gLSB0aWNrUG9zaXRpb25zWzBdKSAvIDIgJiZcbiAgICAgICAgICAgICAgbW91c2VIb3Jpem9udGFsQ29vcmRpbmF0ZSA8PVxuICAgICAgICAgICAgICB0aWNrUG9zICsgKHRpY2tQb3NpdGlvbnNbMV0gLSB0aWNrUG9zaXRpb25zWzBdKSAvIDJcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKG5ld0hvdmVyZWRJbmRleCAhPT0gaG92ZXJlZEluZGV4KSB7XG4gICAgICAgICAgICBob3ZlcmVkSW5kZXggPSBuZXdIb3ZlcmVkSW5kZXggPT09IC0xID8gbnVsbCA6IG5ld0hvdmVyZWRJbmRleDtcbiAgICAgICAgICAgIHRoaXMuY2hhcnQuZHJhdygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlRHJhdzogKCkgPT4ge1xuICAgICAgICAgIGlmIChob3ZlcmVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgY2hhcnRBcmVhLFxuICAgICAgICAgICAgICBzY2FsZXM6IHsgeDogeFNjYWxlIH0sXG4gICAgICAgICAgICB9ID0gdGhpcy5jaGFydDtcbiAgICAgICAgICAgIENoYXJ0SGVscGVyLmhpZ2hsaWdodFNlZ21lbnQoXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRDb250ZXh0LFxuICAgICAgICAgICAgICB4U2NhbGUgYXMgQ2F0ZWdvcnlTY2FsZSB8IExpbmVhclNjYWxlLFxuICAgICAgICAgICAgICBjaGFydEFyZWEsXG4gICAgICAgICAgICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmhlaWdodCxcbiAgICAgICAgICAgICAgaG92ZXJlZEluZGV4XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiBDaGFydFBsdWdpbklkc1N0cmluZ0VudW0uSElHSExJR0hUX1BPSU5UX09OX0hPVkVSLFxuICAgICAgICBhZnRlckRyYXc6ICgpID0+IHtcbiAgICAgICAgICBpZiAoaG92ZXJlZEluZGV4ICE9PSBudWxsKVxuICAgICAgICAgICAgQ2hhcnRIZWxwZXIuaGlnaGxpZ2h0UG9pbnQoXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRDb250ZXh0LFxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0LFxuICAgICAgICAgICAgICBob3ZlcmVkSW5kZXgsXG4gICAgICAgICAgICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TXVsdGlwbGVZQXhpcyhjaGFydERhdGE6IElDaGFydERhdGE8SUxpbmVEYXRhc2V0Pik6IHZvaWQge1xuICAgIGxldCBhYnNvbHV0ZU1heDogbnVtYmVyO1xuICAgIGNoYXJ0RGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBkYXRhc2V0LnR5cGUgPT0gQ2hhcnRUeXBlc1N0cmluZ0VudW0uTElORSB8fFxuICAgICAgICBkYXRhc2V0LnR5cGUgPT0gQ2hhcnRUeXBlc1N0cmluZ0VudW0uQkFSXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeUF4aXNJRCA9IHRoaXMuX2NoYXJ0Q29uZmlnLmlzTXVsdGlZQXhpc1xuICAgICAgICAgID8gYHktYXhpcy0ke2luZGV4fWBcbiAgICAgICAgICA6IGRhdGFzZXQueUF4aXNJZCB8fCAneS1heGlzLTAnO1xuXG4gICAgICAgIGNoYXJ0RGF0YS5kYXRhc2V0c1tpbmRleF0gPSB7XG4gICAgICAgICAgLi4uZGF0YXNldCxcbiAgICAgICAgICB5QXhpc0lELFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBtaW5WYWx1ZSA9IENoYXJ0SGVscGVyLmNhbGN1bGF0ZU1pblZhbHVlKFxuICAgICAgICAgIGRhdGFzZXQuZGF0YSBhcyBudW1iZXJbXVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBtYXhWYWx1ZSA9IENoYXJ0SGVscGVyLmNhbGN1bGF0ZU1heFZhbHVlKFxuICAgICAgICAgIGRhdGFzZXQuZGF0YSBhcyBudW1iZXJbXVxuICAgICAgICApO1xuICAgICAgICBpZiAoIWFic29sdXRlTWF4IHx8IG1heFZhbHVlID4gYWJzb2x1dGVNYXgpIGFic29sdXRlTWF4ID0gbWF4VmFsdWU7XG4gICAgICAgIGNvbnN0IHBhZGRpbmcgPSBtYXhWYWx1ZSAqIDAuMDM7XG4gICAgICAgIGNvbnN0IG1pblZhbHVlQWRqdXN0ZWQgPSBwYWRkaW5nID09IDAgPyBtaW5WYWx1ZSA6IDA7XG4gICAgICAgIGNvbnN0IG1heFZhbHVlQWRqdXN0ZWQgPSBhYnNvbHV0ZU1heCArIHBhZGRpbmc7XG5cbiAgICAgICAgdGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zLnNjYWxlcyA9IHtcbiAgICAgICAgICAuLi50aGlzLl9jaGFydENvbmZpZy5jaGFydE9wdGlvbnMuc2NhbGVzLFxuICAgICAgICAgIFt5QXhpc0lEXToge1xuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcbiAgICAgICAgICAgIG1pbjogbWluVmFsdWVBZGp1c3RlZCxcbiAgICAgICAgICAgIG1heDogbWF4VmFsdWVBZGp1c3RlZCxcbiAgICAgICAgICAgIC8vIE92byBqZSBqYWtvIGJpdG5vLCBtb3JhbW8gb3Z1IG9zdSBzYSBzdGFja2VkIHBhcmFtZXRyb20gbmFtamVzdGl0aVxuICAgICAgICAgICAgc3RhY2tlZDogdGhpcy5fY2hhcnRDb25maWcuaXNTdGFja2VkLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NoYXJ0RGF0YUF2YWlsYWJsZTsgZWxzZSBub0RhdGFUZW1wbGF0ZVwiPlxuICA8ZGl2XG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgaGVpZ2h0OiBfY2hhcnRDb25maWcuaGVpZ2h0ICsgJ3B4JyxcbiAgICAgIHdpZHRoOiBfY2hhcnRDb25maWcud2lkdGggKyAnJScsXG4gICAgfVwiXG4gID5cbiAgICA8Y2FudmFzICNjaGFydENhbnZhcz4gPC9jYW52YXM+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI25vRGF0YVRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgIGhlaWdodDogX2NoYXJ0Q29uZmlnLmhlaWdodCArICdweCcsXG4gICAgICB3aWR0aDogX2NoYXJ0Q29uZmlnLndpZHRoICsgJyUnLFxuICAgIH1cIlxuICA+XG4gICAgPHN2Zy1pY29uXG4gICAgICBbc3JjXT1cIl9jaGFydENvbmZpZy5ub0RhdGFJbWFnZVwiXG4gICAgICBhbHQ9XCJObyBkYXRhIGF2YWlsYWJsZVwiXG4gICAgICBjbGFzcz1cIm5vLWRhdGEtc3ZnXCJcbiAgICA+PC9zdmctaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
372
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvY2EtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvY2EtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxTQUFTO0FBQ1QsT0FBTyxFQUVMLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLGdCQUFnQixNQUFNLDJCQUEyQixDQUFDO0FBRXpELFFBQVE7QUFDUixPQUFPLEVBRUwscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUV4Qiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3QixvQkFBb0IsR0FDckIsTUFBTSxTQUFTLENBQUM7QUFFakIsVUFBVTtBQUNWLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5QyxTQUFTO0FBQ1QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWWhELFFBQVE7QUFDUixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFTcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixJQUFhLFdBQVcsQ0FBQyxLQUEwQjtRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMs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QUdaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQzt3REFHbkIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUVYLFdBQVc7c0JBQXZCLEtBQUs7Z0JBa0JPLGdCQUFnQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW55T2JqZWN0IH0gZnJvbSAnY2hhcnQuanMvZGlzdC90eXBlcy9iYXNpYyc7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBDaGFydHNcbmltcG9ydCB7XG4gIENhdGVnb3J5U2NhbGUsXG4gIENoYXJ0LFxuICBDaGFydEV2ZW50LFxuICBDaGFydFR5cGUsXG4gIExpbmVhclNjYWxlLFxuICBQbHVnaW4sXG59IGZyb20gJ2NoYXJ0LmpzL2F1dG8nO1xuaW1wb3J0IGFubm90YXRpb25QbHVnaW4gZnJvbSAnY2hhcnRqcy1wbHVnaW4tYW5ub3RhdGlvbic7XG5cbi8vIEVudW1zXG5pbXBvcnQge1xuICBDaGFydENvbG9yc1N0cmluZ0VudW0sXG4gIEVDaGFydEV2ZW50UHJvcGVydGllcyxcbiAgQ2hhcnRQbHVnaW5JZHNTdHJpbmdFbnVtLFxuICBDaGFydFR5cGVzU3RyaW5nRW51bSxcbiAgQ3ViaWNJbnRlcnBvbGF0aW9uU3RyaW5nRW51bSxcbiAgQ2hhcnRFdmVudFR5cGVzU3RyaW5nRW51bSxcbiAgQ2hhcnRGb250UHJvcGVydGllc1N0cmluZ0VudW0sXG4gIEVDaGFydEFubm90YXRpb25UeXBlLFxufSBmcm9tICcuL2VudW1zJztcblxuLy8gSGVscGVyc1xuaW1wb3J0IHsgQ2hhcnRIZWxwZXIgfSBmcm9tICcuL3V0aWxzL2hlbHBlcnMnO1xuXG4vLyBHdWFyZHNcbmltcG9ydCB7IENoYXJ0VHlwZUd1YXJkIH0gZnJvbSAnLi91dGlscy9ndWFyZHMnO1xuXG4vL01vZGVsc1xuaW1wb3J0IHtcbiAgSUNoYXJ0RGF0YSxcbiAgSUxpbmVEYXRhc2V0LFxuICBJQ2hhcnRDb25maWd1cmF0aW9uLFxuICBJQmFzZURhdGFzZXQsXG4gIElDaGFydEFubm90YXRpb25cbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWN0aXZlRWxlbWVudCB9IGZyb20gJ2NoYXJ0LmpzL2Rpc3QvcGx1Z2lucy9wbHVnaW4udG9vbHRpcCc7XG5cbi8vQ29uZmlnXG5pbXBvcnQgeyBDYUJhc2VDaGFydERhdGFzZXRDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYS1jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFuZ3VsYXJTdmdJY29uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdjaGFydENhbnZhcycpIGNoYXJ0Q2FudmFzITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBzZXQgY2hhcnRDb25maWcodmFsdWU6IElDaGFydENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLl9jaGFydENvbmZpZyA9IHZhbHVlO1xuICAgIHRoaXMuaXNDaGFydERhdGFBdmFpbGFibGUgPSBmYWxzZTtcblxuICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YS5kYXRhc2V0cy5mb3JFYWNoKChpdGVtOiBJQmFzZURhdGFzZXQpID0+IHtcbiAgICAgIGl0ZW0uZGF0YS5mb3JFYWNoKCh2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10pID0+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgaWYgKHZhbHVlWzBdICE9PSAwIHx8IHZhbHVlWzFdICE9PSAwKVxuICAgICAgICAgICAgdGhpcy5pc0NoYXJ0RGF0YUF2YWlsYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgIGlmICh2YWx1ZSAhPT0gMClcbiAgICAgICAgICAgIHRoaXMuaXNDaGFydERhdGFBdmFpbGFibGUgPSB0cnVlO1xuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLy9mb3IgdGVzdGluZyBob3ZlciBzdGF0ZSBvbiBkYXRhc2V0XG4gIEBJbnB1dCgpIHNldCBpc0RhdGFzZXRIb3ZlcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNEYXRhc2V0SG92ZXJlZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmNoYXJ0KSB7XG4gICAgICB0aGlzLnVwZGF0ZURhdGFzZXRCYWNrZ3JvdW5kT25Ib3ZlcihcbiAgICAgICAgJ1NhbGVzJyxcbiAgICAgICAgJyM2NjkyRjEnLFxuICAgICAgICB0aGlzLl9pc0RhdGFzZXRIb3ZlcmVkXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hhcnQhOiBDaGFydDtcbiAgcHJpdmF0ZSBjaGFydENvbnRleHQhOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIHByaXZhdGUgcGx1Z2lucz86IFBsdWdpbjxDaGFydFR5cGUsIEFueU9iamVjdD5bXTtcbiAgcHJpdmF0ZSBfaXNEYXRhc2V0SG92ZXJlZCE6IGJvb2xlYW47XG4gIHByaXZhdGUgb3JpZ2luYWxDaGFydERhdGFzZXQgPVxuICAgIENhQmFzZUNoYXJ0RGF0YXNldENvbmZpZy5nZXRCYXNlQ2hhcnREYXRhc2V0Q29uZmlnKCk7XG5cbiAgcHVibGljIF9jaGFydENvbmZpZyE6IElDaGFydENvbmZpZ3VyYXRpb247XG4gIHB1YmxpYyBpc0NoYXJ0RGF0YUF2YWlsYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDaGFydERhdGFBdmFpbGFibGUgJiYgIWNoYW5nZXNbJ2NoYXJ0Q29uZmlnJ10uZmlyc3RDaGFuZ2UpXG4gICAgICB0aGlzLnVwZGF0ZUNoYXJ0KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDaGFydERhdGFBdmFpbGFibGUpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUFubm90YXRpb25QbHVnaW4oKTtcbiAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVBbm5vdGF0aW9uUGx1Z2luKCk6IHZvaWQge1xuICAgIENoYXJ0LnJlZ2lzdGVyKGFubm90YXRpb25QbHVnaW4pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURhdGFzZXRCYWNrZ3JvdW5kT25Ib3ZlcihcbiAgICBkYXRhU2V0TGFiZWw6IHN0cmluZyxcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGlzRGF0YXNldEhvdmVyZWQ6IGJvb2xlYW5cbiAgKTogdm9pZCB7XG4gICAgaWYgKGlzRGF0YXNldEhvdmVyZWQpIHtcbiAgICAgIHRoaXMub3JpZ2luYWxDaGFydERhdGFzZXQgPSBKU09OLnBhcnNlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLl9jaGFydENvbmZpZy5jaGFydERhdGEuZGF0YXNldHMpXG4gICAgICApO1xuICAgICAgY29uc3QgZ3JhZGllbnQgPSBDaGFydEhlbHBlci5jcmVhdGVHcmFkaWVudChcbiAgICAgICAgdGhpcy5jaGFydENvbnRleHQsXG4gICAgICAgIHRoaXMuY2hhcnRDYW52YXMsXG4gICAgICAgIGNvbG9yLFxuICAgICAgICBjb2xvclxuICAgICAgKTtcblxuICAgICAgdGhpcy5fY2hhcnRDb25maWcuY2hhcnREYXRhLmRhdGFzZXRzID1cbiAgICAgICAgdGhpcy5fY2hhcnRDb25maWcuY2hhcnREYXRhLmRhdGFzZXRzLm1hcCgoZGF0YXNldCkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhc2V0LmxhYmVsID09PSBkYXRhU2V0TGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmRhdGFzZXQsXG4gICAgICAgICAgICAgIGZpbGw6IHRydWUsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZ3JhZGllbnQsXG4gICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGJvcmRlckNvbG9yV2l0aE9wYWNpdHkgPSBDaGFydEhlbHBlci5yZ2JUb1JnYmEoXG4gICAgICAgICAgICAgIGRhdGFzZXQuYm9yZGVyQ29sb3IsXG4gICAgICAgICAgICAgIDAuMlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmRhdGFzZXQsXG4gICAgICAgICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3JXaXRoT3BhY2l0eSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2VcbiAgICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YS5kYXRhc2V0cyA9IEpTT04ucGFyc2UoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMub3JpZ2luYWxDaGFydERhdGFzZXQpXG4gICAgICApO1xuXG4gICAgdGhpcy5jaGFydC51cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2hhcnQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydENvbnRleHQgPSB0aGlzLmNoYXJ0Q2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB0aGlzLnNldENoYXJ0T3B0aW9uc1Byb3BlcnRpZXMoKTtcbiAgICB0aGlzLnNldENoYXJ0RGF0YVByb3BlcnRpZXMoKTtcbiAgICB0aGlzLnNldENoYXJ0UGx1Z2luc1Byb3BlcnRpZXMoKTtcblxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jaGFydENvbnRleHQsIHtcbiAgICAgIHR5cGU6IHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0VHlwZSxcbiAgICAgIGRhdGE6IHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YSxcbiAgICAgIG9wdGlvbnM6IHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0T3B0aW9ucyxcbiAgICAgIHBsdWdpbnM6IHRoaXMucGx1Z2lucyxcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhcnQuY29uZmlnLmRhdGEuZGF0YXNldHMgPSBbXG4gICAgICAuLi50aGlzLl9jaGFydENvbmZpZz8uXG4gICAgICAgIGNoYXJ0RGF0YT8uXG4gICAgICAgIGRhdGFzZXRzPy5tYXAoKGl0ZW06IElCYXNlRGF0YXNldCwgaW5keDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgaWYgKCFpdGVtLnNoaWZ0VmFsdWUpXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6XG4gICAgICAgICAgICAgICAgaXRlbT8uY29sb3IgJiZcbiAgICAgICAgICAgICAgICAgIGl0ZW0/LmNvbG9yMiAmJlxuICAgICAgICAgICAgICAgICAgaXRlbT8uY29sb3IgIT09IGl0ZW0/LmNvbG9yMiA/XG4gICAgICAgICAgICAgICAgICBDaGFydEhlbHBlci5jcmVhdGVHcmFkaWVudChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydENvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhcnRDYW52YXMsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LmNvbG9yLFxuICAgICAgICAgICAgICAgICAgICBpdGVtPy5jb2xvcjIgLFxuICAgICAgICAgICAgICAgICAgKSA6IGl0ZW0/LmNvbG9yLFxuICAgICAgICAgICAgICBmaWxsOiBpdGVtPy5maWxsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNoYXJ0QW5ub3RhdGlvbnMoaXRlbSwgaW5keCk7XG5cbiAgICAgICAgICBjb25zdCB5U2NhbGUgPSB0aGlzLmNoYXJ0LnNjYWxlc1tFQ2hhcnRFdmVudFByb3BlcnRpZXMuWV9BWElTXzBdIGFzXG4gICAgICAgICAgICB8IENhdGVnb3J5U2NhbGVcbiAgICAgICAgICAgIHwgTGluZWFyU2NhbGU7XG5cbiAgICAgICAgICBjb25zdCBzaGlmdFZhbHVlUHg6IG51bWJlciA9IHlTY2FsZS5nZXRQaXhlbEZvclZhbHVlKGl0ZW0uc2hpZnRWYWx1ZSB8fCAwKTtcbiAgICAgICAgICBjb25zdCBzaGlmdFZhbHVlQWRqdXN0ZWQ6IG51bWJlciA9XG4gICAgICAgICAgICBzaGlmdFZhbHVlUHggLyB5U2NhbGUubWF4SGVpZ2h0O1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IENoYXJ0SGVscGVyLmNyZWF0ZUdyYWRpZW50V2l0aFNoaWZ0VmFsdWUoXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRDb250ZXh0LFxuICAgICAgICAgICAgICB5U2NhbGUubWF4SGVpZ2h0LFxuICAgICAgICAgICAgICBpdGVtLmNvbG9yIHx8ICcnLFxuICAgICAgICAgICAgICBpdGVtLmNvbG9yMiB8fCAnJyxcbiAgICAgICAgICAgICAgc2hpZnRWYWx1ZUFkanVzdGVkLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6XG4gICAgICAgICAgICAgIENoYXJ0SGVscGVyLmNyZWF0ZUdyYWRpZW50V2l0aFNoaWZ0VmFsdWUoXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydENvbnRleHQsXG4gICAgICAgICAgICAgICAgeVNjYWxlLm1heEhlaWdodCxcbiAgICAgICAgICAgICAgICBpdGVtLmNvbG9yIHx8ICcnLFxuICAgICAgICAgICAgICAgIGl0ZW0uY29sb3IyIHx8ICcnLFxuICAgICAgICAgICAgICAgIHNoaWZ0VmFsdWVBZGp1c3RlZCxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZpbGw6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgXTtcbiAgICB0aGlzLmNoYXJ0LnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDaGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0Py5kZXN0cm95KCk7XG4gICAgdGhpcy5jcmVhdGVDaGFydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGFydE9wdGlvbnNQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxhYmVscyA9IHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YS5sYWJlbHM7XG4gICAgdGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgICAgY2xpcDogZmFsc2UsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBib3R0b206IC0yNVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeDoge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxuICAgICAgICAgIGdyaWQ6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICBjb2xvcjogQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLlhfQVhJU19MQUJFTF9DT0xPUixcbiAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgc2l6ZTogMTEsXG4gICAgICAgICAgICAgIGZhbWlseTogQ2hhcnRGb250UHJvcGVydGllc1N0cmluZ0VudW0uRk9OVF9GQU1JTFlfTU9OVFNFUlJBVCxcbiAgICAgICAgICAgICAgd2VpZ2h0OiBDaGFydEZvbnRQcm9wZXJ0aWVzU3RyaW5nRW51bS5GT05UX1dFSUdIVF9CT0xERVIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXV0b1NraXA6IHRydWUsXG4gICAgICAgICAgICBhdXRvU2tpcFBhZGRpbmc6IDEyLFxuICAgICAgICAgICAgbWF4Um90YXRpb246IDAsXG4gICAgICAgICAgICBtaW5Sb3RhdGlvbjogMCxcbiAgICAgICAgICAgIC8vaXNwaXMgbGFibGUgdSAyIHJlZGEgemEgZGFuZSAtIGNla2Egc2UgZGl6YWogemEgcHJpa2F6IGRhbmFcbiAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAodmFsdWU6IHN0cmluZyB8IG51bWJlciwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IHN0cmluZ1tdIHtcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBsYWJlbHNbaW5kZXhdO1xuICAgICAgICAgICAgICBjb25zdCBtdWx0aUxpbmVMYWJlbCA9IGxhYmVsID8gbGFiZWwuc3BsaXQoJyAnKSA6IFtdO1xuICAgICAgICAgICAgICByZXR1cm4gbXVsdGlMaW5lTGFiZWw7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzcGxheTogdGhpcy5fY2hhcnRDb25maWcuc2hvd1hBeGlzTGFiZWxzLFxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxuICAgICAgICAgIG9mZnNldDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgeToge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBtYXg6IDEsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb25Ib3ZlcjogKGV2ZW50OiBDaGFydEV2ZW50LCBkYXRhSXRlbTogQWN0aXZlRWxlbWVudFtdKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5fY2hhcnRDb25maWcuaGFzVmVydGljYWxEYXNoZWRBbm5vdGF0aW9uKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5yZXNldEFubm90YXRpb25zKCk7XG5cbiAgICAgICAgaWYgKCFkYXRhSXRlbSB8fCAhZGF0YUl0ZW0/Lmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuc2V0VmVydGljYWxEYXNoZWRBbm5vdGF0aW9uTGluZShkYXRhSXRlbVswXS5lbGVtZW50LngpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGFydERhdGFQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIGlmICgodGhpcy5fY2hhcnRDb25maWcuY2hhcnRUeXBlID0gQ2hhcnRUeXBlc1N0cmluZ0VudW0uTElORSkpIHtcbiAgICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0KSA9PiB7XG4gICAgICAgIGRhdGFzZXQub3JkZXIgPSBkYXRhc2V0Lm9yZGVyO1xuICAgICAgICBpZiAoQ2hhcnRUeXBlR3VhcmQuaXNMaW5lRGF0YXNldChkYXRhc2V0KSkge1xuICAgICAgICAgIGRhdGFzZXQudGVuc2lvbiA9IGRhdGFzZXQudGVuc2lvbiA/PyAwLjU7XG4gICAgICAgICAgZGF0YXNldC5jdWJpY0ludGVycG9sYXRpb25Nb2RlID1cbiAgICAgICAgICAgIGRhdGFzZXQuY3ViaWNJbnRlcnBvbGF0aW9uTW9kZSA/P1xuICAgICAgICAgICAgQ3ViaWNJbnRlcnBvbGF0aW9uU3RyaW5nRW51bS5NT05PVE9ORTtcbiAgICAgICAgICBkYXRhc2V0LnBvaW50Qm9yZGVyQ29sb3IgPVxuICAgICAgICAgICAgZGF0YXNldC5wb2ludEJvcmRlckNvbG9yID8/IENoYXJ0Q29sb3JzU3RyaW5nRW51bS5UUkFOU1BBUkVOVDtcbiAgICAgICAgICBkYXRhc2V0LnBvaW50QmFja2dyb3VuZENvbG9yID1cbiAgICAgICAgICAgIGRhdGFzZXQucG9pbnRCYWNrZ3JvdW5kQ29sb3IgPz8gQ2hhcnRDb2xvcnNTdHJpbmdFbnVtLlRSQU5TUEFSRU5UO1xuICAgICAgICAgIGRhdGFzZXQucG9pbnRCb3JkZXJXaWR0aCA9IGRhdGFzZXQucG9pbnRCb3JkZXJXaWR0aCA/PyAyO1xuICAgICAgICAgIGRhdGFzZXQuc3BhbkdhcHMgPSBkYXRhc2V0LnNwYW5HYXBzID8/IGZhbHNlO1xuICAgICAgICAgIGRhdGFzZXQuc2hvd0xpbmUgPSBkYXRhc2V0LnNob3dMaW5lID8/IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5zZXRNdWx0aXBsZVlBeGlzKHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGFydFBsdWdpbnNQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIGxldCBob3ZlcmVkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgdGhpcy5wbHVnaW5zID0gW1xuICAgICAge1xuICAgICAgICBpZDogQ2hhcnRQbHVnaW5JZHNTdHJpbmdFbnVtLkhJR0hMSUdIVF9TRUdNRU5UX09OX0hPVkVSLFxuICAgICAgICBhZnRlckV2ZW50OiAoY2hhcnQsIGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLl9jaGFydENvbmZpZy5zaG93VG9vbHRpcEJhY2tncm91bmQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBuYXRpdmVFdmVudCA9IGV2ZW50LmV2ZW50Lm5hdGl2ZSBhcyBNb3VzZUV2ZW50O1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQuZXZlbnQudHlwZSA9PT0gQ2hhcnRFdmVudFR5cGVzU3RyaW5nRW51bS5NT1VTRV9PVVQgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJbmRleCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaG92ZXJlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuY2hhcnQuZHJhdygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG1vdXNlSG9yaXpvbnRhbENvb3JkaW5hdGUgPSBuYXRpdmVFdmVudFtFQ2hhcnRFdmVudFByb3BlcnRpZXMuWF07XG4gICAgICAgICAgY29uc3QgeFNjYWxlID0gdGhpcy5jaGFydC5zY2FsZXNbRUNoYXJ0RXZlbnRQcm9wZXJ0aWVzLlhdIGFzXG4gICAgICAgICAgICB8IENhdGVnb3J5U2NhbGVcbiAgICAgICAgICAgIHwgTGluZWFyU2NhbGU7XG5cbiAgICAgICAgICBjb25zdCB0aWNrUG9zaXRpb25zID0gQ2hhcnRIZWxwZXIuY2FsY3VsYXRlVGlja1Bvc2l0aW9ucyh4U2NhbGUpO1xuICAgICAgICAgIGNvbnN0IG5ld0hvdmVyZWRJbmRleCA9IHRpY2tQb3NpdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHRpY2tQb3MpID0+XG4gICAgICAgICAgICAgIG1vdXNlSG9yaXpvbnRhbENvb3JkaW5hdGUgPlxuICAgICAgICAgICAgICB0aWNrUG9zIC0gKHRpY2tQb3NpdGlvbnNbMV0gLSB0aWNrUG9zaXRpb25zWzBdKSAvIDIgJiZcbiAgICAgICAgICAgICAgbW91c2VIb3Jpem9udGFsQ29vcmRpbmF0ZSA8PVxuICAgICAgICAgICAgICB0aWNrUG9zICsgKHRpY2tQb3NpdGlvbnNbMV0gLSB0aWNrUG9zaXRpb25zWzBdKSAvIDJcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKG5ld0hvdmVyZWRJbmRleCAhPT0gaG92ZXJlZEluZGV4KSB7XG4gICAgICAgICAgICBob3ZlcmVkSW5kZXggPSBuZXdIb3ZlcmVkSW5kZXggPT09IC0xID8gbnVsbCA6IG5ld0hvdmVyZWRJbmRleDtcbiAgICAgICAgICAgIHRoaXMuY2hhcnQuZHJhdygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlRHJhdzogKCkgPT4ge1xuICAgICAgICAgIGlmIChob3ZlcmVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgY2hhcnRBcmVhLFxuICAgICAgICAgICAgICBzY2FsZXM6IHsgeDogeFNjYWxlIH0sXG4gICAgICAgICAgICB9ID0gdGhpcy5jaGFydDtcbiAgICAgICAgICAgIENoYXJ0SGVscGVyLmhpZ2hsaWdodFNlZ21lbnQoXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRDb250ZXh0LFxuICAgICAgICAgICAgICB4U2NhbGUgYXMgQ2F0ZWdvcnlTY2FsZSB8IExpbmVhclNjYWxlLFxuICAgICAgICAgICAgICBjaGFydEFyZWEsXG4gICAgICAgICAgICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmhlaWdodCxcbiAgICAgICAgICAgICAgaG92ZXJlZEluZGV4XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiBDaGFydFBsdWdpbklkc1N0cmluZ0VudW0uSElHSExJR0hUX1BPSU5UX09OX0hPVkVSLFxuICAgICAgICBhZnRlckRyYXc6ICgpID0+IHtcbiAgICAgICAgICBpZiAoaG92ZXJlZEluZGV4ICE9PSBudWxsKVxuICAgICAgICAgICAgQ2hhcnRIZWxwZXIuaGlnaGxpZ2h0UG9pbnQoXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRDb250ZXh0LFxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0LFxuICAgICAgICAgICAgICBob3ZlcmVkSW5kZXgsXG4gICAgICAgICAgICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0RGF0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2hhcnRBbm5vdGF0aW9ucyhpdGVtOiBJQmFzZURhdGFzZXQsIGluZHg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY2hhcnRDb25maWcuYW5ub3RhdGlvbnM/Lmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fY2hhcnRDb25maWcuXG4gICAgICBhbm5vdGF0aW9ucz8uXG4gICAgICBmb3JFYWNoKChhbm5vdGF0aW9uOiBJQ2hhcnRBbm5vdGF0aW9uLCBrZXk6IG51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLl9jaGFydENvbmZpZy5jaGFydE9wdGlvbnMucGx1Z2lucyA9IHtcbiAgICAgICAgICAuLi50aGlzLl9jaGFydENvbmZpZy5jaGFydE9wdGlvbnMucGx1Z2lucyxcbiAgICAgICAgICBhbm5vdGF0aW9uOiB7XG4gICAgICAgICAgICAuLi50aGlzLl9jaGFydENvbmZpZy5jaGFydE9wdGlvbnM/LnBsdWdpbnM/LmFubm90YXRpb24sXG4gICAgICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICAgICAuLi50aGlzLl9jaGFydENvbmZpZy5cbiAgICAgICAgICAgICAgICBjaGFydE9wdGlvbnM/LlxuICAgICAgICAgICAgICAgIHBsdWdpbnM/LlxuICAgICAgICAgICAgICAgIGFubm90YXRpb24/LlxuICAgICAgICAgICAgICAgIGFubm90YXRpb25zLFxuICAgICAgICAgICAgICBbYCR7aXRlbS5sYWJlbH0tJHtpbmR4fS0ke2tleX1gXToge1xuICAgICAgICAgICAgICAgIGlkOiBhbm5vdGF0aW9uLmlkIHx8IGBhbm5vdGF0aW9uLSR7aW5keH0tJHtrZXl9YCxcbiAgICAgICAgICAgICAgICB0eXBlOiBhbm5vdGF0aW9uLnR5cGUsXG4gICAgICAgICAgICAgICAgc2NhbGVJRDogYW5ub3RhdGlvbi5heGlzIHx8IGl0ZW0ueUF4aXNJZCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogYW5ub3RhdGlvbi52YWx1ZSB8fCBpdGVtLnNoaWZ0VmFsdWUsXG4gICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGFubm90YXRpb24uY29sb3IgfHwgJyNEQURBREEnLFxuICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiBhbm5vdGF0aW9uLmJvcmRlcldpZHRoIHx8IDIsXG4gICAgICAgICAgICAgICAgYm9yZGVyRGFzaDogYW5ub3RhdGlvbi5ib3JkZXJEYXNoIHx8IFswLCAwXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRNdWx0aXBsZVlBeGlzKGNoYXJ0RGF0YTogSUNoYXJ0RGF0YTxJTGluZURhdGFzZXQ+KTogdm9pZCB7XG4gICAgbGV0IGFic29sdXRlTWF4OiBudW1iZXI7XG4gICAgY2hhcnREYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGRhdGFzZXQudHlwZSA9PSBDaGFydFR5cGVzU3RyaW5nRW51bS5MSU5FIHx8XG4gICAgICAgIGRhdGFzZXQudHlwZSA9PSBDaGFydFR5cGVzU3RyaW5nRW51bS5CQVJcbiAgICAgICkge1xuICAgICAgICBjb25zdCB5QXhpc0lEID0gdGhpcy5fY2hhcnRDb25maWcuaXNNdWx0aVlBeGlzXG4gICAgICAgICAgPyBgeS1heGlzLSR7aW5kZXh9YFxuICAgICAgICAgIDogZGF0YXNldC55QXhpc0lkIHx8ICd5LWF4aXMtMCc7XG5cbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzW2luZGV4XSA9IHtcbiAgICAgICAgICAuLi5kYXRhc2V0LFxuICAgICAgICAgIHlBeGlzSUQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG1pblZhbHVlID0gQ2hhcnRIZWxwZXIuY2FsY3VsYXRlTWluVmFsdWUoXG4gICAgICAgICAgZGF0YXNldC5kYXRhIGFzIG51bWJlcltdXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG1heFZhbHVlID0gQ2hhcnRIZWxwZXIuY2FsY3VsYXRlTWF4VmFsdWUoXG4gICAgICAgICAgZGF0YXNldC5kYXRhIGFzIG51bWJlcltdXG4gICAgICAgICk7XG4gICAgICAgIGlmICghYWJzb2x1dGVNYXggfHwgbWF4VmFsdWUgPiBhYnNvbHV0ZU1heCkgYWJzb2x1dGVNYXggPSBtYXhWYWx1ZTtcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IG1heFZhbHVlICogMC4wMztcbiAgICAgICAgY29uc3QgbWluVmFsdWVBZGp1c3RlZCA9IHBhZGRpbmcgPT0gMCA/IG1pblZhbHVlIDogMDtcbiAgICAgICAgY29uc3QgbWF4VmFsdWVBZGp1c3RlZCA9IGFic29sdXRlTWF4ICsgcGFkZGluZztcblxuICAgICAgICB0aGlzLl9jaGFydENvbmZpZy5jaGFydE9wdGlvbnMuc2NhbGVzID0ge1xuICAgICAgICAgIC4uLnRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0T3B0aW9ucy5zY2FsZXMsXG4gICAgICAgICAgW3lBeGlzSURdOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcbiAgICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxuICAgICAgICAgICAgbWluOiBtaW5WYWx1ZUFkanVzdGVkLFxuICAgICAgICAgICAgbWF4OiBtYXhWYWx1ZUFkanVzdGVkLFxuICAgICAgICAgICAgLy8gT3ZvIGplIGpha28gYml0bm8sIG1vcmFtbyBvdnUgb3N1IHNhIHN0YWNrZWQgcGFyYW1ldHJvbSBuYW1qZXN0aXRpXG4gICAgICAgICAgICBzdGFja2VkOiB0aGlzLl9jaGFydENvbmZpZy5pc1N0YWNrZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRBbm5vdGF0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGFydENvbmZpZy5jaGFydE9wdGlvbnMucGx1Z2lucyA9XG4gICAge1xuICAgICAgLi4udGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zLnBsdWdpbnMsXG4gICAgICBhbm5vdGF0aW9uOiB7fVxuICAgIH1cbiAgICB0aGlzLmNoYXJ0LnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWZXJ0aWNhbERhc2hlZEFubm90YXRpb25MaW5lKHhDb3JkOiBudW1iZXIsIGNvbG9yPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgeFNjYWxlID0gdGhpcy5jaGFydC5zY2FsZXNbRUNoYXJ0RXZlbnRQcm9wZXJ0aWVzLlhdIGFzXG4gICAgICB8IENhdGVnb3J5U2NhbGVcbiAgICAgIHwgTGluZWFyU2NhbGU7XG5cbiAgICBjb25zdCB2YWx1ZUZyb21QaXhlbDogbnVtYmVyIHwgdW5kZWZpbmVkID0geFNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoeENvcmQpO1xuXG4gICAgaWYgKHZhbHVlRnJvbVBpeGVsID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIHRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0T3B0aW9ucy5wbHVnaW5zID0ge1xuICAgICAgLi4udGhpcy5fY2hhcnRDb25maWcuY2hhcnRPcHRpb25zLnBsdWdpbnMsXG4gICAgICBhbm5vdGF0aW9uOiB7XG4gICAgICAgIC4uLnRoaXMuX2NoYXJ0Q29uZmlnLmNoYXJ0T3B0aW9ucz8ucGx1Z2lucz8uYW5ub3RhdGlvbixcbiAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAuLi50aGlzLl9jaGFydENvbmZpZy5cbiAgICAgICAgICAgIGNoYXJ0T3B0aW9ucz8uXG4gICAgICAgICAgICBwbHVnaW5zPy5cbiAgICAgICAgICAgIGFubm90YXRpb24/LlxuICAgICAgICAgICAgYW5ub3RhdGlvbnMsXG4gICAgICAgICAgW2B4LWRhc2hlZGBdOiB7XG4gICAgICAgICAgICBpZDogYHgtZGFzaGVkYCxcbiAgICAgICAgICAgIHR5cGU6IEVDaGFydEFubm90YXRpb25UeXBlLkxJTkUsXG4gICAgICAgICAgICBzY2FsZUlEOiBFQ2hhcnRFdmVudFByb3BlcnRpZXMuWCxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZUZyb21QaXhlbCxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvciB8fCAnI0RBREFEQScsXG4gICAgICAgICAgICBib3JkZXJXaWR0aDogMixcbiAgICAgICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuY2hhcnQudXBkYXRlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NoYXJ0RGF0YUF2YWlsYWJsZTsgZWxzZSBub0RhdGFUZW1wbGF0ZVwiPlxuICA8ZGl2XG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgaGVpZ2h0OiBfY2hhcnRDb25maWcuaGVpZ2h0ICsgJ3B4JyxcbiAgICAgIHdpZHRoOiBfY2hhcnRDb25maWcud2lkdGggKyAnJScsXG4gICAgfVwiXG4gID5cbiAgICA8Y2FudmFzICNjaGFydENhbnZhcz4gPC9jYW52YXM+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI25vRGF0YVRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgIGhlaWdodDogX2NoYXJ0Q29uZmlnLmhlaWdodCArICdweCcsXG4gICAgICB3aWR0aDogX2NoYXJ0Q29uZmlnLndpZHRoICsgJyUnLFxuICAgIH1cIlxuICA+XG4gICAgPHN2Zy1pY29uXG4gICAgICBbc3JjXT1cIl9jaGFydENvbmZpZy5ub0RhdGFJbWFnZVwiXG4gICAgICBhbHQ9XCJObyBkYXRhIGF2YWlsYWJsZVwiXG4gICAgICBjbGFzcz1cIm5vLWRhdGEtc3ZnXCJcbiAgICA+PC9zdmctaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var EChartAnnotationType;
|
|
2
|
+
(function (EChartAnnotationType) {
|
|
3
|
+
EChartAnnotationType["LINE"] = "line";
|
|
4
|
+
EChartAnnotationType["BOX"] = "box";
|
|
5
|
+
EChartAnnotationType["ELLIPSE"] = "ellipse";
|
|
6
|
+
EChartAnnotationType["LABEL"] = "label";
|
|
7
|
+
EChartAnnotationType["POINT"] = "point";
|
|
8
|
+
EChartAnnotationType["POLYGON"] = "polygon";
|
|
9
|
+
})(EChartAnnotationType || (EChartAnnotationType = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYW5ub3RhdGlvbi10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC9lbnVtcy9jaGFydC1hbm5vdGF0aW9uLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFPWDtBQVBELFdBQVksb0JBQW9CO0lBQzVCLHFDQUFhLENBQUE7SUFDYixtQ0FBVyxDQUFBO0lBQ1gsMkNBQW1CLENBQUE7SUFDbkIsdUNBQWUsQ0FBQTtJQUNmLHVDQUFlLENBQUE7SUFDZiwyQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBUFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQU8vQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVDaGFydEFubm90YXRpb25UeXBlIHtcbiAgICBMSU5FID0gJ2xpbmUnLFxuICAgIEJPWCA9ICdib3gnLFxuICAgIEVMTElQU0UgPSAnZWxsaXBzZScsXG4gICAgTEFCRUwgPSAnbGFiZWwnLFxuICAgIFBPSU5UID0gJ3BvaW50JyxcbiAgICBQT0xZR09OID0gJ3BvbHlnb24nLFxufSJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export var
|
|
2
|
-
(function (
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
})(
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var EChartEventProperties;
|
|
2
|
+
(function (EChartEventProperties) {
|
|
3
|
+
EChartEventProperties["X"] = "x";
|
|
4
|
+
EChartEventProperties["Y"] = "y";
|
|
5
|
+
EChartEventProperties["Y_AXIS_0"] = "y-axis-0";
|
|
6
|
+
})(EChartEventProperties || (EChartEventProperties = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZXZlbnQtcHJvcGVydGllcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvZW51bXMvY2hhcnQtZXZlbnQtcHJvcGVydGllcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFCQUlYO0FBSkQsV0FBWSxxQkFBcUI7SUFDN0IsZ0NBQU8sQ0FBQTtJQUNQLGdDQUFPLENBQUE7SUFDUCw4Q0FBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUloQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVDaGFydEV2ZW50UHJvcGVydGllcyB7XG4gICAgWCA9ICd4JyxcbiAgICBZID0gJ3knLFxuICAgIFlfQVhJU18wID0gJ3ktYXhpcy0wJ1xufSJdfQ==
|
|
@@ -6,4 +6,5 @@ export * from './chart-event-types.enum';
|
|
|
6
6
|
export * from './chart-event-properties.enum';
|
|
7
7
|
export * from './chart-images.enum';
|
|
8
8
|
export * from './chart-font-properties.enum';
|
|
9
|
-
|
|
9
|
+
export * from './chart-annotation-type.enum';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhcnQtdHlwZXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2N1YmljLWludGVycG9sYXRpb24tbW9kZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtY29sb3JzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1wbHVnaW4taWRzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1ldmVudC10eXBlcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtZXZlbnQtcHJvcGVydGllcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtaW1hZ2VzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1mb250LXByb3BlcnRpZXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWFubm90YXRpb24tdHlwZS5lbnVtJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYW5ub3RhdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWNoYXJ0L21vZGVscy9jaGFydC1hbm5vdGF0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEVDaGFydEFubm90YXRpb25UeXBlLFxuICAgIEVDaGFydEV2ZW50UHJvcGVydGllc1xufSBmcm9tIFwiLi4vZW51bXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhcnRBbm5vdGF0aW9uIHtcbiAgICBpZD86IHN0cmluZztcbiAgICB2YWx1ZTogbnVtYmVyO1xuICAgIHR5cGU6IEVDaGFydEFubm90YXRpb25UeXBlO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJvcmRlcldpZHRoPzogbnVtYmVyO1xuICAgIC8vIFRha2VzIHRoZSB3aWR0aCBvZiB0aGUgZGFzaCBhbmQgc3BhY2luZyBiZXR3ZWVuIHRoZW1cbiAgICBib3JkZXJEYXNoPzogW251bWJlciwgbnVtYmVyXTtcbiAgICBheGlzOiBFQ2hhcnRFdmVudFByb3BlcnRpZXM7XG59Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQvbW9kZWxzL2NoYXJ0LWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnRPcHRpb25zLCBDaGFydFR5cGUgfSBmcm9tICdjaGFydC5qcyc7XG5cbi8vIE1vZGVsc1xuaW1wb3J0IHsgSUJhc2VEYXRhc2V0LCBJQ2hhcnREYXRhIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElDaGFydEFubm90YXRpb24gfSBmcm9tICcuL2NoYXJ0LWFubm90YXRpb24ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDaGFydENvbmZpZ3VyYXRpb24ge1xuICBjaGFydFR5cGU6IENoYXJ0VHlwZTtcbiAgY2hhcnREYXRhOiBJQ2hhcnREYXRhPElCYXNlRGF0YXNldD47XG4gIGNoYXJ0T3B0aW9uczogQ2hhcnRPcHRpb25zO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgbm9EYXRhSW1hZ2U6IHN0cmluZztcbiAgaXNNdWx0aVlBeGlzPzogYm9vbGVhbjtcbiAgaXNTdGFja2VkPzogYm9vbGVhbjtcbiAgc2hvd1Rvb2x0aXBCYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgc2hvd1hBeGlzTGFiZWxzPzogYm9vbGVhbjtcbiAgYW5ub3RhdGlvbnM/OiBJQ2hhcnRBbm5vdGF0aW9uW107XG4gIC8vIFRPRE8gTWF5YmUgYWRqdXN0IGxhdGVyIG9yIGdlbmVyYWxpemUgaWYgbmV3IHVzZSBjYXNlcyBhcHBlYXJcbiAgaGFzVmVydGljYWxEYXNoZWRBbm5vdGF0aW9uPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -2,4 +2,5 @@ export * from './chart-data.model';
|
|
|
2
2
|
export * from './chart-base-dataset.model';
|
|
3
3
|
export * from './chart-line-dataset.model';
|
|
4
4
|
export * from './chart-config.model';
|
|
5
|
-
|
|
5
|
+
export * from './chart-annotation.model';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGFydC1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYmFzZS1kYXRhc2V0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtbGluZS1kYXRhc2V0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtY29uZmlnLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYW5ub3RhdGlvbi5tb2RlbCc7Il19
|