@syncfusion/ej2-angular-charts 30.2.5 → 30.2.6-ngcc
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/@syncfusion/ej2-angular-charts.es5.js +5029 -0
- package/@syncfusion/ej2-angular-charts.es5.js.map +1 -0
- package/@syncfusion/ej2-angular-charts.js +4747 -0
- package/@syncfusion/ej2-angular-charts.js.map +1 -0
- package/LICENSE +10 -0
- package/dist/ej2-angular-charts.umd.js +5719 -0
- package/dist/ej2-angular-charts.umd.js.map +1 -0
- package/dist/ej2-angular-charts.umd.min.js +11 -0
- package/dist/ej2-angular-charts.umd.min.js.map +1 -0
- package/ej2-angular-charts.d.ts +13 -0
- package/ej2-angular-charts.metadata.json +1 -0
- package/package.json +8 -21
- package/public_api.d.ts +1 -1
- package/schematics/utils/lib-details.js +2 -2
- package/schematics/utils/lib-details.ts +2 -2
- package/src/accumulation-chart/accumulationchart-all.module.d.ts +15 -21
- package/src/accumulation-chart/accumulationchart.component.d.ts +58 -61
- package/src/accumulation-chart/accumulationchart.module.d.ts +5 -13
- package/src/accumulation-chart/annotations.directive.d.ts +80 -85
- package/src/accumulation-chart/series.directive.d.ts +244 -249
- package/src/bullet-chart/bulletchart-all.module.d.ts +8 -14
- package/src/bullet-chart/bulletchart.component.d.ts +38 -41
- package/src/bullet-chart/bulletchart.module.d.ts +5 -12
- package/src/bullet-chart/ranges.directive.d.ts +68 -73
- package/src/chart/annotations.directive.d.ts +96 -101
- package/src/chart/axes.directive.d.ts +382 -387
- package/src/chart/categories.directive.d.ts +69 -74
- package/src/chart/chart-all.module.d.ts +66 -72
- package/src/chart/chart.component.d.ts +86 -89
- package/src/chart/chart.module.d.ts +5 -24
- package/src/chart/columns.directive.d.ts +30 -35
- package/src/chart/indicators.directive.d.ts +250 -255
- package/src/chart/multilevellabels.directive.d.ts +57 -62
- package/src/chart/rangecolorsettings.directive.d.ts +36 -41
- package/src/chart/rows.directive.d.ts +30 -35
- package/src/chart/segments.directive.d.ts +41 -46
- package/src/chart/selecteddataindexes.directive.d.ts +32 -37
- package/src/chart/series.directive.d.ts +483 -488
- package/src/chart/striplines.directive.d.ts +166 -171
- package/src/chart/trendlines.directive.d.ts +112 -117
- package/src/chart3d/axes.directive.d.ts +266 -271
- package/src/chart3d/chart3d-all.module.d.ts +20 -26
- package/src/chart3d/chart3d.component.d.ts +62 -65
- package/src/chart3d/chart3d.module.d.ts +5 -16
- package/src/chart3d/columns.directive.d.ts +26 -31
- package/src/chart3d/rows.directive.d.ts +26 -31
- package/src/chart3d/selecteddataindexes.directive.d.ts +32 -37
- package/src/chart3d/series.directive.d.ts +172 -177
- package/src/circularchart3d/circularchart3d-all.module.d.ts +13 -19
- package/src/circularchart3d/circularchart3d.component.d.ts +55 -58
- package/src/circularchart3d/circularchart3d.module.d.ts +5 -13
- package/src/circularchart3d/selecteddataindexes.directive.d.ts +32 -37
- package/src/circularchart3d/series.directive.d.ts +142 -147
- package/src/index.d.ts +63 -63
- package/src/range-navigator/rangenavigator-all.module.d.ts +8 -14
- package/src/range-navigator/rangenavigator.component.d.ts +41 -44
- package/src/range-navigator/rangenavigator.module.d.ts +5 -12
- package/src/range-navigator/series.directive.d.ts +78 -83
- package/src/smithchart/series.directive.d.ts +88 -93
- package/src/smithchart/smithchart-all.module.d.ts +8 -14
- package/src/smithchart/smithchart.component.d.ts +41 -44
- package/src/smithchart/smithchart.module.d.ts +5 -12
- package/src/sparkline/rangebandsettings.directive.d.ts +33 -38
- package/src/sparkline/sparkline-all.module.d.ts +7 -13
- package/src/sparkline/sparkline.component.d.ts +43 -46
- package/src/sparkline/sparkline.module.d.ts +5 -12
- package/src/stock-chart/annotations.directive.d.ts +84 -89
- package/src/stock-chart/axes.directive.d.ts +286 -291
- package/src/stock-chart/indicators.directive.d.ts +208 -213
- package/src/stock-chart/periods.directive.d.ts +42 -47
- package/src/stock-chart/rows.directive.d.ts +30 -35
- package/src/stock-chart/selecteddataindexes.directive.d.ts +32 -37
- package/src/stock-chart/series.directive.d.ts +242 -247
- package/src/stock-chart/stockchart-all.module.d.ts +7 -13
- package/src/stock-chart/stockchart.component.d.ts +65 -68
- package/src/stock-chart/stockchart.module.d.ts +5 -20
- package/src/stock-chart/stockevents.directive.d.ts +83 -88
- package/src/stock-chart/trendlines.directive.d.ts +113 -118
- package/CHANGELOG.md +0 -3598
- package/esm2020/public_api.mjs +0 -2
- package/esm2020/src/accumulation-chart/accumulationchart-all.module.mjs +0 -53
- package/esm2020/src/accumulation-chart/accumulationchart.component.mjs +0 -146
- package/esm2020/src/accumulation-chart/accumulationchart.module.mjs +0 -43
- package/esm2020/src/accumulation-chart/annotations.directive.mjs +0 -62
- package/esm2020/src/accumulation-chart/series.directive.mjs +0 -62
- package/esm2020/src/bullet-chart/bulletchart-all.module.mjs +0 -32
- package/esm2020/src/bullet-chart/bulletchart.component.mjs +0 -85
- package/esm2020/src/bullet-chart/bulletchart.module.mjs +0 -34
- package/esm2020/src/bullet-chart/ranges.directive.mjs +0 -54
- package/esm2020/src/chart/annotations.directive.mjs +0 -60
- package/esm2020/src/chart/axes.directive.mjs +0 -58
- package/esm2020/src/chart/categories.directive.mjs +0 -59
- package/esm2020/src/chart/chart-all.module.mjs +0 -206
- package/esm2020/src/chart/chart.component.mjs +0 -525
- package/esm2020/src/chart/chart.module.mjs +0 -142
- package/esm2020/src/chart/columns.directive.mjs +0 -52
- package/esm2020/src/chart/indicators.directive.mjs +0 -54
- package/esm2020/src/chart/multilevellabels.directive.mjs +0 -60
- package/esm2020/src/chart/rangecolorsettings.directive.mjs +0 -52
- package/esm2020/src/chart/rows.directive.mjs +0 -52
- package/esm2020/src/chart/segments.directive.mjs +0 -58
- package/esm2020/src/chart/selecteddataindexes.directive.mjs +0 -52
- package/esm2020/src/chart/series.directive.mjs +0 -68
- package/esm2020/src/chart/striplines.directive.mjs +0 -56
- package/esm2020/src/chart/trendlines.directive.mjs +0 -58
- package/esm2020/src/chart3d/axes.directive.mjs +0 -52
- package/esm2020/src/chart3d/chart3d-all.module.mjs +0 -68
- package/esm2020/src/chart3d/chart3d.component.mjs +0 -189
- package/esm2020/src/chart3d/chart3d.module.mjs +0 -70
- package/esm2020/src/chart3d/columns.directive.mjs +0 -52
- package/esm2020/src/chart3d/rows.directive.mjs +0 -52
- package/esm2020/src/chart3d/selecteddataindexes.directive.mjs +0 -52
- package/esm2020/src/chart3d/series.directive.mjs +0 -62
- package/esm2020/src/circularchart3d/circularchart3d-all.module.mjs +0 -47
- package/esm2020/src/circularchart3d/circularchart3d.component.mjs +0 -125
- package/esm2020/src/circularchart3d/circularchart3d.module.mjs +0 -43
- package/esm2020/src/circularchart3d/selecteddataindexes.directive.mjs +0 -52
- package/esm2020/src/circularchart3d/series.directive.mjs +0 -62
- package/esm2020/src/index.mjs +0 -64
- package/esm2020/src/range-navigator/rangenavigator-all.module.mjs +0 -32
- package/esm2020/src/range-navigator/rangenavigator.component.mjs +0 -127
- package/esm2020/src/range-navigator/rangenavigator.module.mjs +0 -34
- package/esm2020/src/range-navigator/series.directive.mjs +0 -54
- package/esm2020/src/smithchart/series.directive.mjs +0 -46
- package/esm2020/src/smithchart/smithchart-all.module.mjs +0 -32
- package/esm2020/src/smithchart/smithchart.component.mjs +0 -78
- package/esm2020/src/smithchart/smithchart.module.mjs +0 -34
- package/esm2020/src/sparkline/rangebandsettings.directive.mjs +0 -46
- package/esm2020/src/sparkline/sparkline-all.module.mjs +0 -29
- package/esm2020/src/sparkline/sparkline.component.mjs +0 -71
- package/esm2020/src/sparkline/sparkline.module.mjs +0 -34
- package/esm2020/src/stock-chart/annotations.directive.mjs +0 -60
- package/esm2020/src/stock-chart/axes.directive.mjs +0 -52
- package/esm2020/src/stock-chart/indicators.directive.mjs +0 -54
- package/esm2020/src/stock-chart/periods.directive.mjs +0 -54
- package/esm2020/src/stock-chart/rows.directive.mjs +0 -52
- package/esm2020/src/stock-chart/selecteddataindexes.directive.mjs +0 -52
- package/esm2020/src/stock-chart/series.directive.mjs +0 -58
- package/esm2020/src/stock-chart/stockchart-all.module.mjs +0 -29
- package/esm2020/src/stock-chart/stockchart.component.mjs +0 -337
- package/esm2020/src/stock-chart/stockchart.module.mjs +0 -106
- package/esm2020/src/stock-chart/stockevents.directive.mjs +0 -54
- package/esm2020/src/stock-chart/trendlines.directive.mjs +0 -59
- package/esm2020/syncfusion-ej2-angular-charts.mjs +0 -5
- package/fesm2015/syncfusion-ej2-angular-charts.mjs +0 -4376
- package/fesm2015/syncfusion-ej2-angular-charts.mjs.map +0 -1
- package/fesm2020/syncfusion-ej2-angular-charts.mjs +0 -4376
- package/fesm2020/syncfusion-ej2-angular-charts.mjs.map +0 -1
- package/syncfusion-ej2-angular-charts.d.ts +0 -5
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Directive, ContentChildren, ContentChild } from '@angular/core';
|
|
2
|
-
import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
|
|
3
|
-
import { StockChartTrendlinesDirective } from './trendlines.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
let input = ['animation', 'bearFillColor', 'border', 'bullFillColor', 'cardinalSplineTension', 'close', 'columnSpacing', 'columnWidth', 'cornerRadius', 'dashArray', 'dataSource', 'emptyPointSettings', 'enableSolidCandles', 'enableTooltip', 'fill', 'high', 'lastValueLabel', 'legendImageUrl', 'legendShape', 'low', 'marker', 'name', 'opacity', 'open', 'pointColorMapping', 'query', 'selectionStyle', 'showNearestTooltip', 'tooltipMappingName', 'trendlines', 'type', 'visible', 'volume', 'width', 'xAxisName', 'xName', 'yAxisName', 'yName'];
|
|
6
|
-
let outputs = [];
|
|
7
|
-
/**
|
|
8
|
-
* Series Directive
|
|
9
|
-
* ```html
|
|
10
|
-
* <e-stockchart-series-collection>
|
|
11
|
-
* <e-stockchart-series></e-stockchart-series>
|
|
12
|
-
* </e-stockchart-series-collection>
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
export class StockChartSeriesDirective extends ComplexBase {
|
|
16
|
-
constructor(viewContainerRef) {
|
|
17
|
-
super();
|
|
18
|
-
this.viewContainerRef = viewContainerRef;
|
|
19
|
-
this.tags = ['trendlines'];
|
|
20
|
-
setValue('currentInstance', this, this.viewContainerRef);
|
|
21
|
-
this.registerEvents(outputs);
|
|
22
|
-
this.directivePropList = input;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
StockChartSeriesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
-
StockChartSeriesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartSeriesDirective, selector: "e-stockchart-series-collection>e-stockchart-series", inputs: { animation: "animation", bearFillColor: "bearFillColor", border: "border", bullFillColor: "bullFillColor", cardinalSplineTension: "cardinalSplineTension", close: "close", columnSpacing: "columnSpacing", columnWidth: "columnWidth", cornerRadius: "cornerRadius", dashArray: "dashArray", dataSource: "dataSource", emptyPointSettings: "emptyPointSettings", enableSolidCandles: "enableSolidCandles", enableTooltip: "enableTooltip", fill: "fill", high: "high", lastValueLabel: "lastValueLabel", legendImageUrl: "legendImageUrl", legendShape: "legendShape", low: "low", marker: "marker", name: "name", opacity: "opacity", open: "open", pointColorMapping: "pointColorMapping", query: "query", selectionStyle: "selectionStyle", showNearestTooltip: "showNearestTooltip", tooltipMappingName: "tooltipMappingName", trendlines: "trendlines", type: "type", visible: "visible", volume: "volume", width: "width", xAxisName: "xAxisName", xName: "xName", yAxisName: "yAxisName", yName: "yName" }, queries: [{ propertyName: "childTrendlines", first: true, predicate: StockChartTrendlinesDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesDirective, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: 'e-stockchart-series-collection>e-stockchart-series',
|
|
31
|
-
inputs: input,
|
|
32
|
-
outputs: outputs,
|
|
33
|
-
queries: {
|
|
34
|
-
childTrendlines: new ContentChild(StockChartTrendlinesDirective)
|
|
35
|
-
}
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
|
38
|
-
/**
|
|
39
|
-
* StockChartSeries Array Directive
|
|
40
|
-
* @private
|
|
41
|
-
*/
|
|
42
|
-
export class StockChartSeriesCollectionDirective extends ArrayBase {
|
|
43
|
-
constructor() {
|
|
44
|
-
super('series');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
StockChartSeriesCollectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesCollectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
-
StockChartSeriesCollectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartSeriesCollectionDirective, selector: "ejs-stockchart>e-stockchart-series-collection", queries: [{ propertyName: "children", predicate: StockChartSeriesDirective }], usesInheritance: true, ngImport: i0 });
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesCollectionDirective, decorators: [{
|
|
50
|
-
type: Directive,
|
|
51
|
-
args: [{
|
|
52
|
-
selector: 'ejs-stockchart>e-stockchart-series-collection',
|
|
53
|
-
queries: {
|
|
54
|
-
children: new ContentChildren(StockChartSeriesDirective)
|
|
55
|
-
},
|
|
56
|
-
}]
|
|
57
|
-
}], ctorParameters: function () { return []; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9jay1jaGFydC9zZXJpZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXZFLElBQUksS0FBSyxHQUFhLENBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JpQixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7R0FPRztBQVNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUFzQztJQWdPakYsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQTVOOUMsU0FBSSxHQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7UUE4Tm5DLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O3NIQXJPUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixtbUNBSEksNkJBQTZCOzJGQUcxRCx5QkFBeUI7a0JBUnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9EQUFvRDtvQkFDOUQsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCxlQUFlLEVBQUUsSUFBSSxZQUFZLENBQUMsNkJBQTZCLENBQUM7cUJBQ25FO2lCQUNKOztBQXlPRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsU0FBOEM7SUFDbkc7UUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7Z0lBSFEsbUNBQW1DO29IQUFuQyxtQ0FBbUMsOEdBSFYseUJBQXlCOzJGQUdsRCxtQ0FBbUM7a0JBTi9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtDQUErQztvQkFDekQsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQztxQkFDM0Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5pbXBvcnQgeyBTdG9ja0NoYXJ0VHJlbmRsaW5lc0RpcmVjdGl2ZSB9IGZyb20gJy4vdHJlbmRsaW5lcy5kaXJlY3RpdmUnO1xuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhbmltYXRpb24nLCAnYmVhckZpbGxDb2xvcicsICdib3JkZXInLCAnYnVsbEZpbGxDb2xvcicsICdjYXJkaW5hbFNwbGluZVRlbnNpb24nLCAnY2xvc2UnLCAnY29sdW1uU3BhY2luZycsICdjb2x1bW5XaWR0aCcsICdjb3JuZXJSYWRpdXMnLCAnZGFzaEFycmF5JywgJ2RhdGFTb3VyY2UnLCAnZW1wdHlQb2ludFNldHRpbmdzJywgJ2VuYWJsZVNvbGlkQ2FuZGxlcycsICdlbmFibGVUb29sdGlwJywgJ2ZpbGwnLCAnaGlnaCcsICdsYXN0VmFsdWVMYWJlbCcsICdsZWdlbmRJbWFnZVVybCcsICdsZWdlbmRTaGFwZScsICdsb3cnLCAnbWFya2VyJywgJ25hbWUnLCAnb3BhY2l0eScsICdvcGVuJywgJ3BvaW50Q29sb3JNYXBwaW5nJywgJ3F1ZXJ5JywgJ3NlbGVjdGlvblN0eWxlJywgJ3Nob3dOZWFyZXN0VG9vbHRpcCcsICd0b29sdGlwTWFwcGluZ05hbWUnLCAndHJlbmRsaW5lcycsICd0eXBlJywgJ3Zpc2libGUnLCAndm9sdW1lJywgJ3dpZHRoJywgJ3hBeGlzTmFtZScsICd4TmFtZScsICd5QXhpc05hbWUnLCAneU5hbWUnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBTZXJpZXMgRGlyZWN0aXZlXG4gKiBgYGBodG1sXG4gKiA8ZS1zdG9ja2NoYXJ0LXNlcmllcy1jb2xsZWN0aW9uPlxuICogPGUtc3RvY2tjaGFydC1zZXJpZXM+PC9lLXN0b2NrY2hhcnQtc2VyaWVzPlxuICogPC9lLXN0b2NrY2hhcnQtc2VyaWVzLWNvbGxlY3Rpb24+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLXN0b2NrY2hhcnQtc2VyaWVzLWNvbGxlY3Rpb24+ZS1zdG9ja2NoYXJ0LXNlcmllcycsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkVHJlbmRsaW5lczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0VHJlbmRsaW5lc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrQ2hhcnRTZXJpZXNEaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxTdG9ja0NoYXJ0U2VyaWVzRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuICAgIHB1YmxpYyBjaGlsZFRyZW5kbGluZXM6IGFueTtcbiAgICBwdWJsaWMgdGFnczogc3RyaW5nW10gPSBbJ3RyZW5kbGluZXMnXTtcbiAgICAvKiogXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIHNlcmllcyBhcmUgXG4gICAgICogKiBMaW5lIFxuICAgICAqICogQ29sdW1uIFxuICAgICAqICogQXJlYSBcbiAgICAgKiAqIFNwbGluZSBcbiAgICAgKiAqIEhpbG8gXG4gICAgICogKiBIaWxvT3BlbkNsb3NlIFxuICAgICAqICogQ2FuZGxlXG4gICAgICogQGRlZmF1bHQgJ0NhbmRsZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGN1c3RvbWl6aW5nIGFuaW1hdGlvbiBmb3IgdGhlIHNlcmllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYW5pbWF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaXMgdXNlZCBpbiBzdG9jayBjaGFydHMgdG8gdmlzdWFsaXplIHRoZSBwcmljZSBtb3ZlbWVudHMgaW4gc3RvY2suIFxuICAgICAqIEl0IGRlZmluZXMgdGhlIGNvbG9yIG9mIHRoZSBjYW5kbGUvcG9pbnQsIHdoZW4gdGhlIG9wZW5pbmcgcHJpY2UgaXMgbGVzcyB0aGFuIHRoZSBjbG9zaW5nIHByaWNlLlxuICAgICAqIEBkZWZhdWx0ICcjMmVjZDcxJ1xuICAgICAqL1xuICAgIHB1YmxpYyBiZWFyRmlsbENvbG9yOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgdG8gY3VzdG9taXppbmcgdGhlIGJvcmRlciBvZiB0aGUgc2VyaWVzLiBUaGlzIGlzIGFwcGxpY2FibGUgb25seSBmb3IgYENvbHVtbmAgYW5kIGBCYXJgIHR5cGUgc2VyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBib3JkZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIGluIGZpbmFuY2lhbCBjaGFydHMgdG8gdmlzdWFsaXplIHRoZSBwcmljZSBtb3ZlbWVudHMgaW4gc3RvY2suIFxuICAgICAqIEl0IGRlZmluZXMgdGhlIGNvbG9yIG9mIHRoZSBjYW5kbGUvcG9pbnQsIHdoZW4gdGhlIG9wZW5pbmcgcHJpY2UgaXMgaGlnaGVyIHRoYW4gdGhlIGNsb3NpbmcgcHJpY2UuXG4gICAgICogQGRlZmF1bHQgJyNlNzRjM2QnXG4gICAgICovXG4gICAgcHVibGljIGJ1bGxGaWxsQ29sb3I6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgZGVmaW5lcyB0ZW5zaW9uIG9mIGNhcmRpbmFsIHNwbGluZSB0eXBlcy5cbiAgICAgKiBAZGVmYXVsdCAwLjVcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FyZGluYWxTcGxpbmVUZW5zaW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBEYXRhU291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIGNsb3NlIHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRvIHJlbmRlciB0aGUgY29sdW1uIHNlcmllcyBwb2ludHMgd2l0aCBwYXJ0aWN1bGFyIGNvbHVtbiBzcGFjaW5nLiBJdCB0YWtlcyB2YWx1ZSBmcm9tIDAgLSAxLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sdW1uU3BhY2luZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUbyByZW5kZXIgdGhlIGNvbHVtbiBzZXJpZXMgcG9pbnRzIHdpdGggcGFydGljdWxhciBjb2x1bW4gd2lkdGguIElmIHRoZSBzZXJpZXMgdHlwZSBpcyBoaXN0b2dyYW0gdGhlIFxuICAgICAqIGRlZmF1bHQgdmFsdWUgaXMgMSBvdGhlcndpc2UgMC43LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2x1bW5XaWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUbyByZW5kZXIgdGhlIGNvbHVtbiBzZXJpZXMgcG9pbnRzIHdpdGggcGFydGljdWxhciByb3VuZGVkIGNvcm5lci5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29ybmVyUmFkaXVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHBhdHRlcm4gb2YgZGFzaGVzIGFuZCBnYXBzIHRvIHN0cm9rZSB0aGUgbGluZXMgaW4gYExpbmVgIHR5cGUgc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0ICcwJ1xuICAgICAqL1xuICAgIHB1YmxpYyBkYXNoQXJyYXk6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBEYXRhU291cmNlIGZvciB0aGUgc2VyaWVzLiBJdCBjYW4gYmUgYW4gYXJyYXkgb2YgSlNPTiBvYmplY3RzIG9yIGFuIGluc3RhbmNlIG9mIERhdGFNYW5hZ2VyLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGRhdGFTb3VyY2U6IGFueTtcbiAgICAvKiogXG4gICAgICogb3B0aW9ucyB0byBjdXN0b21pemUgdGhlIGVtcHR5IHBvaW50cyBpbiBzZXJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGVtcHR5UG9pbnRTZXR0aW5nczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIHByb3BlcnR5IGlzIGFwcGxpY2FibGUgZm9yIGNhbmRsZSBzZXJpZXMuIFxuICAgICAqIEl0IGVuYWJsZXMvZGlzYWJsZXMgdG8gdmlzdWFsbHkgY29tcGFyZSB0aGUgY3VycmVudCB2YWx1ZXMgd2l0aCB0aGUgcHJldmlvdXMgdmFsdWVzIGluIHN0b2NrLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZVNvbGlkQ2FuZGxlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdHJ1ZSwgdGhlIFRvb2x0aXAgZm9yIHNlcmllcyB3aWxsIGJlIHZpc2libGUuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVUb29sdGlwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBmaWxsIGNvbG9yIGZvciB0aGUgc2VyaWVzIHRoYXQgYWNjZXB0cyB2YWx1ZSBpbiBoZXggYW5kIHJnYmEgYXMgYSB2YWxpZCBDU1MgY29sb3Igc3RyaW5nLiBcbiAgICAgKiBJdCBhbHNvIHJlcHJlc2VudHMgdGhlIGNvbG9yIG9mIHRoZSBzaWduYWwgbGluZXMgaW4gdGVjaG5pY2FsIGluZGljYXRvcnMuIFxuICAgICAqIEZvciB0ZWNobmljYWwgaW5kaWNhdG9ycywgdGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2JsdWUnIGFuZCBmb3Igc2VyaWVzLCBpdCBoYXMgbnVsbC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZpbGw6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgaGlnaCB2YWx1ZSBvZiB5IFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnNcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBoaWdoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIGFuZCBkaXNwbGF5aW5nIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBzZXJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGxhc3RWYWx1ZUxhYmVsOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBVUkwgZm9yIHRoZSBJbWFnZSB0aGF0IGlzIHRvIGJlIGRpc3BsYXllZCBhcyBhIExlZ2VuZCBpY29uLiAgSXQgcmVxdWlyZXMgIGBsZWdlbmRTaGFwZWAgdmFsdWUgdG8gYmUgYW4gYEltYWdlYC5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBsZWdlbmRJbWFnZVVybDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgc2hhcGUgb2YgdGhlIGxlZ2VuZC4gRWFjaCBzZXJpZXMgaGFzIGl0cyBvd24gbGVnZW5kIHNoYXBlLiBUaGV5IGFyZSBcbiAgICAgKiAqIENpcmNsZSAtIFJlbmRlcnMgYSBjaXJjbGUuIFxuICAgICAqICogUmVjdGFuZ2xlIC0gUmVuZGVycyBhIHJlY3RhbmdsZS4gXG4gICAgICogKiBUcmlhbmdsZSAtIFJlbmRlcnMgYSB0cmlhbmdsZS4gXG4gICAgICogKiBEaWFtb25kIC0gUmVuZGVycyBhIGRpYW1vbmQuIFxuICAgICAqICogQ3Jvc3MgLSBSZW5kZXJzIGEgY3Jvc3MuIFxuICAgICAqICogSG9yaXpvbnRhbExpbmUgLSBSZW5kZXJzIGEgaG9yaXpvbnRhbExpbmUuIFxuICAgICAqICogVmVydGljYWxMaW5lIC0gUmVuZGVycyBhIHZlcnRpY2FsTGluZS4gXG4gICAgICogKiBQZW50YWdvbiAtIFJlbmRlcnMgYSBwZW50YWdvbi4gXG4gICAgICogKiBJbnZlcnRlZFRyaWFuZ2xlIC0gUmVuZGVycyBhIGludmVydGVkVHJpYW5nbGUuIFxuICAgICAqICogU2VyaWVzVHlwZSAtUmVuZGVyIGEgbGVnZW5kIHNoYXBlIGJhc2VkIG9uIHNlcmllcyB0eXBlLiBcbiAgICAgKiAqIEltYWdlIC1SZW5kZXIgYSBpbWFnZS4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnU2VyaWVzVHlwZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVnZW5kU2hhcGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgbG93IHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGxvdzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBkaXNwbGF5aW5nIGFuZCBjdXN0b21pemluZyBtYXJrZXJzIGZvciBpbmRpdmlkdWFsIHBvaW50cyBpbiBhIHNlcmllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFya2VyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJpZXMgdmlzaWJsZSBpbiBsZWdlbmQuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgb3BhY2l0eSBvZiB0aGUgc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBwdWJsaWMgb3BhY2l0eTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgRGF0YVNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSBvcGVuIHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIG9wZW46IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgY29sb3IgdmFsdWUgb2YgcG9pbnQgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9pbnRDb2xvck1hcHBpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHF1ZXJ5IHRvIHNlbGVjdCBkYXRhIGZyb20gRGF0YVNvdXJjZS4gVGhpcyBwcm9wZXJ0eSBpcyBhcHBsaWNhYmxlIG9ubHkgd2hlbiB0aGUgRGF0YVNvdXJjZSBpcyBgZWouRGF0YU1hbmFnZXJgLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgcXVlcnk6IGFueTtcbiAgICAvKiogXG4gICAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgc2VsZWN0ZWQgc2VyaWVzIG9yIHBvaW50cy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdGlvblN0eWxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGRpc3BsYXkgb2YgdG9vbHRpcHMgZm9yIHRoZSBuZWFyZXN0IGRhdGEgcG9pbnQgdG8gdGhlIGN1cnNvciBmb3Igc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd05lYXJlc3RUb29sdGlwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBwcm92aWRlZCB2YWx1ZSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgYSBUb29sdGlwIG5hbWVcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0b29sdGlwTWFwcGluZ05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgY29sbGVjdGlvbiBvZiB0cmVuZGxpbmVzIHRoYXQgYXJlIHVzZWQgdG8gcHJlZGljdCB0aGUgdHJlbmRcbiAgICAgKi9cbiAgICBwdWJsaWMgdHJlbmRsaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHZpc2liaWxpdHkgb2Ygc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgdmlzaWJsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBkYXRhIHNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSB2b2x1bWUgdmFsdWUgaW4gY2FuZGxlIGNoYXJ0cyBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBmaW5hbmNpYWwgc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHZvbHVtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgc3Ryb2tlIHdpZHRoIGZvciB0aGUgc2VyaWVzIHRoYXQgaXMgYXBwbGljYWJsZSBvbmx5IGZvciBgTGluZWAgdHlwZSBzZXJpZXMuIFxuICAgICAqIEl0IGFsc28gcmVwcmVzZW50cyB0aGUgc3Ryb2tlIHdpZHRoIG9mIHRoZSBzaWduYWwgbGluZXMgaW4gdGVjaG5pY2FsIGluZGljYXRvcnMuXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgaG9yaXpvbnRhbCBheGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VyaWVzLiBJdCByZXF1aXJlcyBgYXhlc2Agb2YgdGhlIGNoYXJ0LiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB4QXhpc05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgeCB2YWx1ZS4gXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHhOYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSB2ZXJ0aWNhbCBheGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VyaWVzLiBJdCByZXF1aXJlcyBgYXhlc2Agb2YgdGhlIGNoYXJ0LiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB5QXhpc05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgeSB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB5TmFtZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogU3RvY2tDaGFydFNlcmllcyBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXN0b2NrY2hhcnQ+ZS1zdG9ja2NoYXJ0LXNlcmllcy1jb2xsZWN0aW9uJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKFN0b2NrQ2hhcnRTZXJpZXNEaXJlY3RpdmUpXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tDaGFydFNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8U3RvY2tDaGFydFNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3NlcmllcycpO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { StockChartModule } from './stockchart.module';
|
|
4
|
-
import { StockLegend } from '@syncfusion/ej2-charts';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export const StockLegendService = { provide: 'ChartsStockLegend', useValue: StockLegend };
|
|
7
|
-
/**
|
|
8
|
-
* NgModule definition for the StockChart component with providers.
|
|
9
|
-
*/
|
|
10
|
-
export class StockChartAllModule {
|
|
11
|
-
}
|
|
12
|
-
StockChartAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
-
StockChartAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, imports: [CommonModule, StockChartModule], exports: [StockChartModule] });
|
|
14
|
-
StockChartAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, providers: [
|
|
15
|
-
StockLegendService
|
|
16
|
-
], imports: [[CommonModule, StockChartModule], StockChartModule] });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
imports: [CommonModule, StockChartModule],
|
|
21
|
-
exports: [
|
|
22
|
-
StockChartModule
|
|
23
|
-
],
|
|
24
|
-
providers: [
|
|
25
|
-
StockLegendService
|
|
26
|
-
]
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2tjaGFydC1hbGwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b2NrLWNoYXJ0L3N0b2NrY2hhcnQtYWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFBOztBQUdsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBRXhHOztHQUVHO0FBVUgsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBUmxCLFlBQVksRUFBRSxnQkFBZ0IsYUFFcEMsZ0JBQWdCO2lIQU1YLG1CQUFtQixhQUpsQjtRQUNOLGtCQUFrQjtLQUNyQixZQU5RLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLEVBRXJDLGdCQUFnQjsyRkFNWCxtQkFBbUI7a0JBVC9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxPQUFPLEVBQUU7d0JBQ0wsZ0JBQWdCO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUM7d0JBQ04sa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3RvY2tDaGFydFRyZW5kbGluZURpcmVjdGl2ZSwgU3RvY2tDaGFydFRyZW5kbGluZXNEaXJlY3RpdmUgfSBmcm9tICcuL3RyZW5kbGluZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRTZXJpZXNEaXJlY3RpdmUsIFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZXJpZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRBeGlzRGlyZWN0aXZlLCBTdG9ja0NoYXJ0QXhlc0RpcmVjdGl2ZSB9IGZyb20gJy4vYXhlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydFJvd0RpcmVjdGl2ZSwgU3RvY2tDaGFydFJvd3NEaXJlY3RpdmUgfSBmcm9tICcuL3Jvd3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRBbm5vdGF0aW9uRGlyZWN0aXZlLCBTdG9ja0NoYXJ0QW5ub3RhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2Fubm90YXRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0U2VsZWN0ZWREYXRhSW5kZXhEaXJlY3RpdmUsIFN0b2NrQ2hhcnRTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3RlZGRhdGFpbmRleGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0UGVyaW9kRGlyZWN0aXZlLCBTdG9ja0NoYXJ0UGVyaW9kc0RpcmVjdGl2ZSB9IGZyb20gJy4vcGVyaW9kcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tFdmVudERpcmVjdGl2ZSwgU3RvY2tFdmVudHNEaXJlY3RpdmUgfSBmcm9tICcuL3N0b2NrZXZlbnRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0SW5kaWNhdG9yRGlyZWN0aXZlLCBTdG9ja0NoYXJ0SW5kaWNhdG9yc0RpcmVjdGl2ZSB9IGZyb20gJy4vaW5kaWNhdG9ycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydENvbXBvbmVudCB9IGZyb20gJy4vc3RvY2tjaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RvY2tDaGFydE1vZHVsZSB9IGZyb20gJy4vc3RvY2tjaGFydC5tb2R1bGUnO1xuaW1wb3J0IHtTdG9ja0xlZ2VuZH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWNoYXJ0cydcblxuXG5leHBvcnQgY29uc3QgU3RvY2tMZWdlbmRTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnQ2hhcnRzU3RvY2tMZWdlbmQnLCB1c2VWYWx1ZTogU3RvY2tMZWdlbmR9O1xuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBTdG9ja0NoYXJ0IGNvbXBvbmVudCB3aXRoIHByb3ZpZGVycy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTdG9ja0NoYXJ0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFN0b2NrQ2hhcnRNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczpbXG4gICAgICAgIFN0b2NrTGVnZW5kU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tDaGFydEFsbE1vZHVsZSB7IH0iXX0=
|
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, ChangeDetectionStrategy, ContentChild } from '@angular/core';
|
|
3
|
-
import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
|
|
4
|
-
import { StockChart } from '@syncfusion/ej2-charts';
|
|
5
|
-
import { Template } from '@syncfusion/ej2-angular-base';
|
|
6
|
-
import { StockChartSeriesCollectionDirective } from './series.directive';
|
|
7
|
-
import { StockChartAxesDirective } from './axes.directive';
|
|
8
|
-
import { StockChartRowsDirective } from './rows.directive';
|
|
9
|
-
import { StockChartAnnotationsDirective } from './annotations.directive';
|
|
10
|
-
import { StockChartSelectedDataIndexesDirective } from './selecteddataindexes.directive';
|
|
11
|
-
import { StockChartPeriodsDirective } from './periods.directive';
|
|
12
|
-
import { StockEventsDirective } from './stockevents.directive';
|
|
13
|
-
import { StockChartIndicatorsDirective } from './indicators.directive';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
export const inputs = ['annotations', 'axes', 'background', 'border', 'chartArea', 'crosshair', 'dataSource', 'enableCustomRange', 'enablePeriodSelector', 'enablePersistence', 'enableRtl', 'enableSelector', 'exportType', 'height', 'indicatorType', 'indicators', 'isMultiSelect', 'isSelect', 'isTransposed', 'legendSettings', 'locale', 'margin', 'periods', 'primaryXAxis', 'primaryYAxis', 'rows', 'selectedDataIndexes', 'selectionMode', 'series', 'seriesType', 'stockEvents', 'theme', 'title', 'titleStyle', 'tooltip', 'trendlineType', 'width', 'zoomSettings'];
|
|
16
|
-
export const outputs = ['axisLabelRender', 'beforeExport', 'legendClick', 'legendRender', 'load', 'loaded', 'onZooming', 'pointClick', 'pointMove', 'rangeChange', 'selectorRender', 'seriesRender', 'stockChartMouseClick', 'stockChartMouseDown', 'stockChartMouseLeave', 'stockChartMouseMove', 'stockChartMouseUp', 'stockEventRender', 'tooltipRender', 'dataSourceChange'];
|
|
17
|
-
export const twoWays = ['dataSource'];
|
|
18
|
-
/**
|
|
19
|
-
* Stock Chart Component
|
|
20
|
-
* ```html
|
|
21
|
-
* <ejs-stockchart></ejs-stockchart>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
let StockChartComponent = class StockChartComponent extends StockChart {
|
|
25
|
-
constructor(ngEle, srenderer, viewContainerRef, injector) {
|
|
26
|
-
super();
|
|
27
|
-
this.ngEle = ngEle;
|
|
28
|
-
this.srenderer = srenderer;
|
|
29
|
-
this.viewContainerRef = viewContainerRef;
|
|
30
|
-
this.injector = injector;
|
|
31
|
-
this.tags = ['series', 'axes', 'rows', 'annotations', 'selectedDataIndexes', 'periods', 'stockEvents', 'indicators'];
|
|
32
|
-
this.element = this.ngEle.nativeElement;
|
|
33
|
-
this.injectedModules = this.injectedModules || [];
|
|
34
|
-
try {
|
|
35
|
-
let mod = this.injector.get('ChartsLineSeries');
|
|
36
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
37
|
-
this.injectedModules.push(mod);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch { }
|
|
41
|
-
try {
|
|
42
|
-
let mod = this.injector.get('ChartsColumnSeries');
|
|
43
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
44
|
-
this.injectedModules.push(mod);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch { }
|
|
48
|
-
try {
|
|
49
|
-
let mod = this.injector.get('ChartsSplineSeries');
|
|
50
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
51
|
-
this.injectedModules.push(mod);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch { }
|
|
55
|
-
try {
|
|
56
|
-
let mod = this.injector.get('ChartsSplineAreaSeries');
|
|
57
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
58
|
-
this.injectedModules.push(mod);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
catch { }
|
|
62
|
-
try {
|
|
63
|
-
let mod = this.injector.get('ChartsStripLine');
|
|
64
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
65
|
-
this.injectedModules.push(mod);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
catch { }
|
|
69
|
-
try {
|
|
70
|
-
let mod = this.injector.get('ChartsAreaSeries');
|
|
71
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
72
|
-
this.injectedModules.push(mod);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
catch { }
|
|
76
|
-
try {
|
|
77
|
-
let mod = this.injector.get('ChartsRangeAreaSeries');
|
|
78
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
79
|
-
this.injectedModules.push(mod);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch { }
|
|
83
|
-
try {
|
|
84
|
-
let mod = this.injector.get('ChartsTooltip');
|
|
85
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
86
|
-
this.injectedModules.push(mod);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch { }
|
|
90
|
-
try {
|
|
91
|
-
let mod = this.injector.get('ChartsCrosshair');
|
|
92
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
93
|
-
this.injectedModules.push(mod);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch { }
|
|
97
|
-
try {
|
|
98
|
-
let mod = this.injector.get('ChartsDateTime');
|
|
99
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
100
|
-
this.injectedModules.push(mod);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch { }
|
|
104
|
-
try {
|
|
105
|
-
let mod = this.injector.get('ChartsZoom');
|
|
106
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
107
|
-
this.injectedModules.push(mod);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
catch { }
|
|
111
|
-
try {
|
|
112
|
-
let mod = this.injector.get('ChartsDataLabel');
|
|
113
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
114
|
-
this.injectedModules.push(mod);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
catch { }
|
|
118
|
-
try {
|
|
119
|
-
let mod = this.injector.get('ChartsSelection');
|
|
120
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
121
|
-
this.injectedModules.push(mod);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
catch { }
|
|
125
|
-
try {
|
|
126
|
-
let mod = this.injector.get('ChartsChartAnnotation');
|
|
127
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
128
|
-
this.injectedModules.push(mod);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
catch { }
|
|
132
|
-
try {
|
|
133
|
-
let mod = this.injector.get('ChartsHiloSeries');
|
|
134
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
135
|
-
this.injectedModules.push(mod);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch { }
|
|
139
|
-
try {
|
|
140
|
-
let mod = this.injector.get('ChartsHiloOpenCloseSeries');
|
|
141
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
142
|
-
this.injectedModules.push(mod);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
catch { }
|
|
146
|
-
try {
|
|
147
|
-
let mod = this.injector.get('ChartsCandleSeries');
|
|
148
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
149
|
-
this.injectedModules.push(mod);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
catch { }
|
|
153
|
-
try {
|
|
154
|
-
let mod = this.injector.get('ChartsSmaIndicator');
|
|
155
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
156
|
-
this.injectedModules.push(mod);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
catch { }
|
|
160
|
-
try {
|
|
161
|
-
let mod = this.injector.get('ChartsTmaIndicator');
|
|
162
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
163
|
-
this.injectedModules.push(mod);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
catch { }
|
|
167
|
-
try {
|
|
168
|
-
let mod = this.injector.get('ChartsEmaIndicator');
|
|
169
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
170
|
-
this.injectedModules.push(mod);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
catch { }
|
|
174
|
-
try {
|
|
175
|
-
let mod = this.injector.get('ChartsAccumulationDistributionIndicator');
|
|
176
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
177
|
-
this.injectedModules.push(mod);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
catch { }
|
|
181
|
-
try {
|
|
182
|
-
let mod = this.injector.get('ChartsMacdIndicator');
|
|
183
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
184
|
-
this.injectedModules.push(mod);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
catch { }
|
|
188
|
-
try {
|
|
189
|
-
let mod = this.injector.get('ChartsAtrIndicator');
|
|
190
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
191
|
-
this.injectedModules.push(mod);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
catch { }
|
|
195
|
-
try {
|
|
196
|
-
let mod = this.injector.get('ChartsRsiIndicator');
|
|
197
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
198
|
-
this.injectedModules.push(mod);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
catch { }
|
|
202
|
-
try {
|
|
203
|
-
let mod = this.injector.get('ChartsMomentumIndicator');
|
|
204
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
205
|
-
this.injectedModules.push(mod);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
catch { }
|
|
209
|
-
try {
|
|
210
|
-
let mod = this.injector.get('ChartsStochasticIndicator');
|
|
211
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
212
|
-
this.injectedModules.push(mod);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
catch { }
|
|
216
|
-
try {
|
|
217
|
-
let mod = this.injector.get('ChartsBollingerBands');
|
|
218
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
219
|
-
this.injectedModules.push(mod);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
catch { }
|
|
223
|
-
try {
|
|
224
|
-
let mod = this.injector.get('ChartsTrendlines');
|
|
225
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
226
|
-
this.injectedModules.push(mod);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
catch { }
|
|
230
|
-
try {
|
|
231
|
-
let mod = this.injector.get('ChartsRangeTooltip');
|
|
232
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
233
|
-
this.injectedModules.push(mod);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
catch { }
|
|
237
|
-
try {
|
|
238
|
-
let mod = this.injector.get('ChartsExport');
|
|
239
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
240
|
-
this.injectedModules.push(mod);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
catch { }
|
|
244
|
-
try {
|
|
245
|
-
let mod = this.injector.get('ChartsStockLegend');
|
|
246
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
247
|
-
this.injectedModules.push(mod);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
catch { }
|
|
251
|
-
try {
|
|
252
|
-
let mod = this.injector.get('ChartsDateTimeCategory');
|
|
253
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
254
|
-
this.injectedModules.push(mod);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
catch { }
|
|
258
|
-
try {
|
|
259
|
-
let mod = this.injector.get('ChartsLastValueLabel');
|
|
260
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
261
|
-
this.injectedModules.push(mod);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
catch { }
|
|
265
|
-
this.registerEvents(outputs);
|
|
266
|
-
this.addTwoWay.call(this, twoWays);
|
|
267
|
-
setValue('currentInstance', this, this.viewContainerRef);
|
|
268
|
-
this.context = new ComponentBase();
|
|
269
|
-
}
|
|
270
|
-
ngOnInit() {
|
|
271
|
-
this.context.ngOnInit(this);
|
|
272
|
-
}
|
|
273
|
-
ngAfterViewInit() {
|
|
274
|
-
this.context.ngAfterViewInit(this);
|
|
275
|
-
}
|
|
276
|
-
ngOnDestroy() {
|
|
277
|
-
this.context.ngOnDestroy(this);
|
|
278
|
-
}
|
|
279
|
-
ngAfterContentChecked() {
|
|
280
|
-
this.tagObjects[0].instance = this.childSeries;
|
|
281
|
-
if (this.childAxes) {
|
|
282
|
-
this.tagObjects[1].instance = this.childAxes;
|
|
283
|
-
}
|
|
284
|
-
if (this.childRows) {
|
|
285
|
-
this.tagObjects[2].instance = this.childRows;
|
|
286
|
-
}
|
|
287
|
-
if (this.childAnnotations) {
|
|
288
|
-
this.tagObjects[3].instance = this.childAnnotations;
|
|
289
|
-
}
|
|
290
|
-
if (this.childSelectedDataIndexes) {
|
|
291
|
-
this.tagObjects[4].instance = this.childSelectedDataIndexes;
|
|
292
|
-
}
|
|
293
|
-
if (this.childPeriods) {
|
|
294
|
-
this.tagObjects[5].instance = this.childPeriods;
|
|
295
|
-
}
|
|
296
|
-
if (this.childStockEvents) {
|
|
297
|
-
this.tagObjects[6].instance = this.childStockEvents;
|
|
298
|
-
}
|
|
299
|
-
if (this.childIndicators) {
|
|
300
|
-
this.tagObjects[7].instance = this.childIndicators;
|
|
301
|
-
}
|
|
302
|
-
this.context.ngAfterContentChecked(this);
|
|
303
|
-
}
|
|
304
|
-
};
|
|
305
|
-
StockChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
-
StockChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: StockChartComponent, selector: "ejs-stockchart", inputs: { annotations: "annotations", axes: "axes", background: "background", border: "border", chartArea: "chartArea", crosshair: "crosshair", dataSource: "dataSource", enableCustomRange: "enableCustomRange", enablePeriodSelector: "enablePeriodSelector", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableSelector: "enableSelector", exportType: "exportType", height: "height", indicatorType: "indicatorType", indicators: "indicators", isMultiSelect: "isMultiSelect", isSelect: "isSelect", isTransposed: "isTransposed", legendSettings: "legendSettings", locale: "locale", margin: "margin", periods: "periods", primaryXAxis: "primaryXAxis", primaryYAxis: "primaryYAxis", rows: "rows", selectedDataIndexes: "selectedDataIndexes", selectionMode: "selectionMode", series: "series", seriesType: "seriesType", stockEvents: "stockEvents", theme: "theme", title: "title", titleStyle: "titleStyle", tooltip: "tooltip", trendlineType: "trendlineType", width: "width", zoomSettings: "zoomSettings" }, outputs: { axisLabelRender: "axisLabelRender", beforeExport: "beforeExport", legendClick: "legendClick", legendRender: "legendRender", load: "load", loaded: "loaded", onZooming: "onZooming", pointClick: "pointClick", pointMove: "pointMove", rangeChange: "rangeChange", selectorRender: "selectorRender", seriesRender: "seriesRender", stockChartMouseClick: "stockChartMouseClick", stockChartMouseDown: "stockChartMouseDown", stockChartMouseLeave: "stockChartMouseLeave", stockChartMouseMove: "stockChartMouseMove", stockChartMouseUp: "stockChartMouseUp", stockEventRender: "stockEventRender", tooltipRender: "tooltipRender", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "tooltip_template", first: true, predicate: ["tooltipTemplate"], descendants: true }, { propertyName: "childSeries", first: true, predicate: StockChartSeriesCollectionDirective, descendants: true }, { propertyName: "childAxes", first: true, predicate: StockChartAxesDirective, descendants: true }, { propertyName: "childRows", first: true, predicate: StockChartRowsDirective, descendants: true }, { propertyName: "childAnnotations", first: true, predicate: StockChartAnnotationsDirective, descendants: true }, { propertyName: "childSelectedDataIndexes", first: true, predicate: StockChartSelectedDataIndexesDirective, descendants: true }, { propertyName: "childPeriods", first: true, predicate: StockChartPeriodsDirective, descendants: true }, { propertyName: "childStockEvents", first: true, predicate: StockEventsDirective, descendants: true }, { propertyName: "childIndicators", first: true, predicate: StockChartIndicatorsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
307
|
-
__decorate([
|
|
308
|
-
Template()
|
|
309
|
-
], StockChartComponent.prototype, "tooltip_template", void 0);
|
|
310
|
-
StockChartComponent = __decorate([
|
|
311
|
-
ComponentMixins([ComponentBase])
|
|
312
|
-
], StockChartComponent);
|
|
313
|
-
export { StockChartComponent };
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartComponent, decorators: [{
|
|
315
|
-
type: Component,
|
|
316
|
-
args: [{
|
|
317
|
-
selector: 'ejs-stockchart',
|
|
318
|
-
inputs: inputs,
|
|
319
|
-
outputs: outputs,
|
|
320
|
-
template: '',
|
|
321
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
322
|
-
queries: {
|
|
323
|
-
childSeries: new ContentChild(StockChartSeriesCollectionDirective),
|
|
324
|
-
childAxes: new ContentChild(StockChartAxesDirective),
|
|
325
|
-
childRows: new ContentChild(StockChartRowsDirective),
|
|
326
|
-
childAnnotations: new ContentChild(StockChartAnnotationsDirective),
|
|
327
|
-
childSelectedDataIndexes: new ContentChild(StockChartSelectedDataIndexesDirective),
|
|
328
|
-
childPeriods: new ContentChild(StockChartPeriodsDirective),
|
|
329
|
-
childStockEvents: new ContentChild(StockEventsDirective),
|
|
330
|
-
childIndicators: new ContentChild(StockChartIndicatorsDirective)
|
|
331
|
-
}
|
|
332
|
-
}]
|
|
333
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { tooltip_template: [{
|
|
334
|
-
type: ContentChild,
|
|
335
|
-
args: ['tooltipTemplate']
|
|
336
|
-
}] } });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2tjaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvY2stY2hhcnQvc3RvY2tjaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLHVCQUF1QixFQUFpRCxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUosT0FBTyxFQUFFLGFBQWEsRUFBK0IsZUFBZSxFQUEwQixRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3SSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV2RSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFdBQVcsRUFBQyxZQUFZLEVBQUMsbUJBQW1CLEVBQUMsc0JBQXNCLEVBQUMsbUJBQW1CLEVBQUMsV0FBVyxFQUFDLGdCQUFnQixFQUFDLFlBQVksRUFB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RkFDaEIsOEJBQThCLDJGQUN0QixzQ0FBc0MsK0VBQ2xELDBCQUEwQixtRkFDdEIsb0JBQW9CLGtGQUNyQiw2QkFBNkIsdUVBVnpELEVBQUU7QUFnRFo7SUFEQyxRQUFRLEVBQUU7NkRBQ2tCO0FBbENwQixtQkFBbUI7SUFEL0IsZUFBZSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7R0FDcEIsbUJBQW1CLENBNlQvQjtTQTdUWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFsQi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLE1BQU07b0JBQ2QsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUU7d0JBQ0wsV0FBVyxFQUFFLElBQUksWUFBWSxDQUFDLG1DQUFtQyxDQUFDO3dCQUNsRSxTQUFTLEVBQUUsSUFBSSxZQUFZLENBQUMsdUJBQXVCLENBQUM7d0JBQ3BELFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDcEQsZ0JBQWdCLEVBQUUsSUFBSSxZQUFZLENBQUMsOEJBQThCLENBQUM7d0JBQ2xFLHdCQUF3QixFQUFFLElBQUksWUFBWSxDQUFDLHNDQUFzQyxDQUFDO3dCQUNsRixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsMEJBQTBCLENBQUM7d0JBQzFELGdCQUFnQixFQUFFLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDO3dCQUN4RCxlQUFlLEVBQUUsSUFBSSxZQUFZLENBQUMsNkJBQTZCLENBQUM7cUJBQ25FO2lCQUNKOytLQW9DVSxnQkFBZ0I7c0JBRnRCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIEluamVjdG9yLCBWYWx1ZVByb3ZpZGVyLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgU3RvY2tDaGFydCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZXJpZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRBeGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9heGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0Um93c0RpcmVjdGl2ZSB9IGZyb20gJy4vcm93cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydEFubm90YXRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydFNlbGVjdGVkRGF0YUluZGV4ZXNEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdGVkZGF0YWluZGV4ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRQZXJpb2RzRGlyZWN0aXZlIH0gZnJvbSAnLi9wZXJpb2RzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0V2ZW50c0RpcmVjdGl2ZSB9IGZyb20gJy4vc3RvY2tldmVudHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRJbmRpY2F0b3JzRGlyZWN0aXZlIH0gZnJvbSAnLi9pbmRpY2F0b3JzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhbm5vdGF0aW9ucycsJ2F4ZXMnLCdiYWNrZ3JvdW5kJywnYm9yZGVyJywnY2hhcnRBcmVhJywnY3Jvc3NoYWlyJywnZGF0YVNvdXJjZScsJ2VuYWJsZUN1c3RvbVJhbmdlJywnZW5hYmxlUGVyaW9kU2VsZWN0b3InLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVNlbGVjdG9yJywnZXhwb3J0VHlwZScsJ2hlaWdodCcsJ2luZGljYXRvclR5cGUnLCdpbmRpY2F0b3JzJywnaXNNdWx0aVNlbGVjdCcsJ2lzU2VsZWN0JywnaXNUcmFuc3Bvc2VkJywnbGVnZW5kU2V0dGluZ3MnLCdsb2NhbGUnLCdtYXJnaW4nLCdwZXJpb2RzJywncHJpbWFyeVhBeGlzJywncHJpbWFyeVlBeGlzJywncm93cycsJ3NlbGVjdGVkRGF0YUluZGV4ZXMnLCdzZWxlY3Rpb25Nb2RlJywnc2VyaWVzJywnc2VyaWVzVHlwZScsJ3N0b2NrRXZlbnRzJywndGhlbWUnLCd0aXRsZScsJ3RpdGxlU3R5bGUnLCd0b29sdGlwJywndHJlbmRsaW5lVHlwZScsJ3dpZHRoJywnem9vbVNldHRpbmdzJ107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2F4aXNMYWJlbFJlbmRlcicsJ2JlZm9yZUV4cG9ydCcsJ2xlZ2VuZENsaWNrJywnbGVnZW5kUmVuZGVyJywnbG9hZCcsJ2xvYWRlZCcsJ29uWm9vbWluZycsJ3BvaW50Q2xpY2snLCdwb2ludE1vdmUnLCdyYW5nZUNoYW5nZScsJ3NlbGVjdG9yUmVuZGVyJywnc2VyaWVzUmVuZGVyJywnc3RvY2tDaGFydE1vdXNlQ2xpY2snLCdzdG9ja0NoYXJ0TW91c2VEb3duJywnc3RvY2tDaGFydE1vdXNlTGVhdmUnLCdzdG9ja0NoYXJ0TW91c2VNb3ZlJywnc3RvY2tDaGFydE1vdXNlVXAnLCdzdG9ja0V2ZW50UmVuZGVyJywndG9vbHRpcFJlbmRlcicsJ2RhdGFTb3VyY2VDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsnZGF0YVNvdXJjZSddO1xuXG4vKipcbiAqIFN0b2NrIENoYXJ0IENvbXBvbmVudFxuICogYGBgaHRtbFxuICogPGVqcy1zdG9ja2NoYXJ0PjwvZWpzLXN0b2NrY2hhcnQ+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtc3RvY2tjaGFydCcsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgb3V0cHV0czogb3V0cHV0cyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFNlcmllczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0U2VyaWVzQ29sbGVjdGlvbkRpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEF4ZXM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydEF4ZXNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRSb3dzOiBuZXcgQ29udGVudENoaWxkKFN0b2NrQ2hhcnRSb3dzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQW5ub3RhdGlvbnM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydEFubm90YXRpb25zRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0U2VsZWN0ZWREYXRhSW5kZXhlc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZFBlcmlvZHM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydFBlcmlvZHNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRTdG9ja0V2ZW50czogbmV3IENvbnRlbnRDaGlsZChTdG9ja0V2ZW50c0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEluZGljYXRvcnM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydEluZGljYXRvcnNEaXJlY3RpdmUpXG4gICAgfVxufSlcbkBDb21wb25lbnRNaXhpbnMoW0NvbXBvbmVudEJhc2VdKVxuZXhwb3J0IGNsYXNzIFN0b2NrQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBTdG9ja0NoYXJ0IGltcGxlbWVudHMgSUNvbXBvbmVudEJhc2Uge1xuICAgIHB1YmxpYyBjb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyB0YWdPYmplY3RzOiBhbnk7XG5cdGF4aXNMYWJlbFJlbmRlcjogYW55O1xuXHRiZWZvcmVFeHBvcnQ6IGFueTtcblx0bGVnZW5kQ2xpY2s6IGFueTtcblx0bGVnZW5kUmVuZGVyOiBhbnk7XG5cdGxvYWQ6IGFueTtcblx0bG9hZGVkOiBhbnk7XG5cdG9uWm9vbWluZzogYW55O1xuXHRwb2ludENsaWNrOiBhbnk7XG5cdHBvaW50TW92ZTogYW55O1xuXHRyYW5nZUNoYW5nZTogYW55O1xuXHRzZWxlY3RvclJlbmRlcjogYW55O1xuXHRzZXJpZXNSZW5kZXI6IGFueTtcblx0c3RvY2tDaGFydE1vdXNlQ2xpY2s6IGFueTtcblx0c3RvY2tDaGFydE1vdXNlRG93bjogYW55O1xuXHRzdG9ja0NoYXJ0TW91c2VMZWF2ZTogYW55O1xuXHRzdG9ja0NoYXJ0TW91c2VNb3ZlOiBhbnk7XG5cdHN0b2NrQ2hhcnRNb3VzZVVwOiBhbnk7XG5cdHN0b2NrRXZlbnRSZW5kZXI6IGFueTtcblx0dG9vbHRpcFJlbmRlcjogYW55O1xuXHRwdWJsaWMgZGF0YVNvdXJjZUNoYW5nZTogYW55O1xuICAgIHB1YmxpYyBjaGlsZFNlcmllczogUXVlcnlMaXN0PFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRBeGVzOiBRdWVyeUxpc3Q8U3RvY2tDaGFydEF4ZXNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFJvd3M6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0Um93c0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkQW5ub3RhdGlvbnM6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0QW5ub3RhdGlvbnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFNlbGVjdGVkRGF0YUluZGV4ZXM6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0U2VsZWN0ZWREYXRhSW5kZXhlc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkUGVyaW9kczogUXVlcnlMaXN0PFN0b2NrQ2hhcnRQZXJpb2RzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRTdG9ja0V2ZW50czogUXVlcnlMaXN0PFN0b2NrRXZlbnRzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRJbmRpY2F0b3JzOiBRdWVyeUxpc3Q8U3RvY2tDaGFydEluZGljYXRvcnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsnc2VyaWVzJywgJ2F4ZXMnLCAncm93cycsICdhbm5vdGF0aW9ucycsICdzZWxlY3RlZERhdGFJbmRleGVzJywgJ3BlcmlvZHMnLCAnc3RvY2tFdmVudHMnLCAnaW5kaWNhdG9ycyddO1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcF90ZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ0VsZTogRWxlbWVudFJlZiwgcHJpdmF0ZSBzcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMubmdFbGUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMgPSB0aGlzLmluamVjdGVkTW9kdWxlcyB8fCBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0xpbmVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0NvbHVtblNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3BsaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTcGxpbmVBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdHJpcExpbmUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0FyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlQXJlYVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzVG9vbHRpcCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ3Jvc3NoYWlyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRlVGltZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzWm9vbScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRGF0YUxhYmVsJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0NoYXJ0QW5ub3RhdGlvbicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzSGlsb1NlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzSGlsb09wZW5DbG9zZVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ2FuZGxlU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTbWFJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1RtYUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRW1hSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBY2N1bXVsYXRpb25EaXN0cmlidXRpb25JbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c01hY2RJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0F0ckluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzUnNpSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNb21lbnR1bUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RvY2hhc3RpY0luZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQm9sbGluZ2VyQmFuZHMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1RyZW5kbGluZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlVG9vbHRpcCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRXhwb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdG9ja0xlZ2VuZCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRGF0ZVRpbWVDYXRlZ29yeScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTGFzdFZhbHVlTGFiZWwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ09iamVjdHNbMF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU2VyaWVzO1xuICAgICAgICBpZiAodGhpcy5jaGlsZEF4ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzFdLmluc3RhbmNlID0gdGhpcy5jaGlsZEF4ZXMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRSb3dzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1syXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRSb3dzIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoaWxkQW5ub3RhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzNdLmluc3RhbmNlID0gdGhpcy5jaGlsZEFubm90YXRpb25zIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlcyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGlsZFBlcmlvZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzVdLmluc3RhbmNlID0gdGhpcy5jaGlsZFBlcmlvZHMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRTdG9ja0V2ZW50cykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNl0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU3RvY2tFdmVudHMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRJbmRpY2F0b3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s3XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRJbmRpY2F0b3JzIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
|