@syncfusion/ej2-angular-charts 32.2.3 → 32.2.4-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.
Files changed (150) hide show
  1. package/@syncfusion/ej2-angular-charts.es5.js +5029 -0
  2. package/@syncfusion/ej2-angular-charts.es5.js.map +1 -0
  3. package/@syncfusion/ej2-angular-charts.js +4747 -0
  4. package/@syncfusion/ej2-angular-charts.js.map +1 -0
  5. package/LICENSE +10 -0
  6. package/README.md +1 -8
  7. package/dist/ej2-angular-charts.umd.js +5719 -0
  8. package/dist/ej2-angular-charts.umd.js.map +1 -0
  9. package/dist/ej2-angular-charts.umd.min.js +11 -0
  10. package/dist/ej2-angular-charts.umd.min.js.map +1 -0
  11. package/ej2-angular-charts.d.ts +13 -0
  12. package/ej2-angular-charts.metadata.json +1 -0
  13. package/package.json +47 -29
  14. package/public_api.d.ts +1 -1
  15. package/schematics/utils/lib-details.js +2 -2
  16. package/schematics/utils/lib-details.ts +2 -2
  17. package/src/accumulation-chart/accumulationchart-all.module.d.ts +15 -21
  18. package/src/accumulation-chart/accumulationchart.component.d.ts +58 -61
  19. package/src/accumulation-chart/accumulationchart.module.d.ts +5 -13
  20. package/src/accumulation-chart/annotations.directive.d.ts +80 -85
  21. package/src/accumulation-chart/series.directive.d.ts +244 -249
  22. package/src/bullet-chart/bulletchart-all.module.d.ts +8 -14
  23. package/src/bullet-chart/bulletchart.component.d.ts +38 -41
  24. package/src/bullet-chart/bulletchart.module.d.ts +5 -12
  25. package/src/bullet-chart/ranges.directive.d.ts +68 -73
  26. package/src/chart/annotations.directive.d.ts +96 -101
  27. package/src/chart/axes.directive.d.ts +381 -409
  28. package/src/chart/categories.directive.d.ts +69 -74
  29. package/src/chart/chart-all.module.d.ts +66 -72
  30. package/src/chart/chart.component.d.ts +86 -89
  31. package/src/chart/chart.module.d.ts +5 -24
  32. package/src/chart/columns.directive.d.ts +30 -35
  33. package/src/chart/indicators.directive.d.ts +250 -255
  34. package/src/chart/multilevellabels.directive.d.ts +57 -62
  35. package/src/chart/rangecolorsettings.directive.d.ts +36 -41
  36. package/src/chart/rows.directive.d.ts +30 -35
  37. package/src/chart/segments.directive.d.ts +41 -46
  38. package/src/chart/selecteddataindexes.directive.d.ts +32 -37
  39. package/src/chart/series.directive.d.ts +483 -488
  40. package/src/chart/striplines.directive.d.ts +166 -171
  41. package/src/chart/trendlines.directive.d.ts +112 -117
  42. package/src/chart3d/axes.directive.d.ts +266 -271
  43. package/src/chart3d/chart3d-all.module.d.ts +20 -26
  44. package/src/chart3d/chart3d.component.d.ts +62 -65
  45. package/src/chart3d/chart3d.module.d.ts +5 -16
  46. package/src/chart3d/columns.directive.d.ts +26 -31
  47. package/src/chart3d/rows.directive.d.ts +26 -31
  48. package/src/chart3d/selecteddataindexes.directive.d.ts +32 -37
  49. package/src/chart3d/series.directive.d.ts +172 -177
  50. package/src/circularchart3d/circularchart3d-all.module.d.ts +13 -19
  51. package/src/circularchart3d/circularchart3d.component.d.ts +55 -58
  52. package/src/circularchart3d/circularchart3d.module.d.ts +5 -13
  53. package/src/circularchart3d/selecteddataindexes.directive.d.ts +32 -37
  54. package/src/circularchart3d/series.directive.d.ts +142 -147
  55. package/src/index.d.ts +63 -63
  56. package/src/range-navigator/rangenavigator-all.module.d.ts +8 -14
  57. package/src/range-navigator/rangenavigator.component.d.ts +41 -44
  58. package/src/range-navigator/rangenavigator.module.d.ts +5 -12
  59. package/src/range-navigator/series.directive.d.ts +78 -83
  60. package/src/smithchart/series.directive.d.ts +88 -93
  61. package/src/smithchart/smithchart-all.module.d.ts +8 -14
  62. package/src/smithchart/smithchart.component.d.ts +41 -44
  63. package/src/smithchart/smithchart.module.d.ts +5 -12
  64. package/src/sparkline/rangebandsettings.directive.d.ts +33 -38
  65. package/src/sparkline/sparkline-all.module.d.ts +7 -13
  66. package/src/sparkline/sparkline.component.d.ts +43 -46
  67. package/src/sparkline/sparkline.module.d.ts +5 -12
  68. package/src/stock-chart/annotations.directive.d.ts +84 -89
  69. package/src/stock-chart/axes.directive.d.ts +286 -291
  70. package/src/stock-chart/indicators.directive.d.ts +208 -213
  71. package/src/stock-chart/periods.directive.d.ts +42 -47
  72. package/src/stock-chart/rows.directive.d.ts +30 -35
  73. package/src/stock-chart/selecteddataindexes.directive.d.ts +32 -37
  74. package/src/stock-chart/series.directive.d.ts +242 -247
  75. package/src/stock-chart/stockchart-all.module.d.ts +7 -13
  76. package/src/stock-chart/stockchart.component.d.ts +65 -68
  77. package/src/stock-chart/stockchart.module.d.ts +5 -20
  78. package/src/stock-chart/stockevents.directive.d.ts +83 -88
  79. package/src/stock-chart/trendlines.directive.d.ts +113 -118
  80. package/CHANGELOG.md +0 -3799
  81. package/esm2020/public_api.mjs +0 -2
  82. package/esm2020/src/accumulation-chart/accumulationchart-all.module.mjs +0 -53
  83. package/esm2020/src/accumulation-chart/accumulationchart.component.mjs +0 -146
  84. package/esm2020/src/accumulation-chart/accumulationchart.module.mjs +0 -43
  85. package/esm2020/src/accumulation-chart/annotations.directive.mjs +0 -62
  86. package/esm2020/src/accumulation-chart/series.directive.mjs +0 -62
  87. package/esm2020/src/bullet-chart/bulletchart-all.module.mjs +0 -32
  88. package/esm2020/src/bullet-chart/bulletchart.component.mjs +0 -85
  89. package/esm2020/src/bullet-chart/bulletchart.module.mjs +0 -34
  90. package/esm2020/src/bullet-chart/ranges.directive.mjs +0 -54
  91. package/esm2020/src/chart/annotations.directive.mjs +0 -60
  92. package/esm2020/src/chart/axes.directive.mjs +0 -58
  93. package/esm2020/src/chart/categories.directive.mjs +0 -59
  94. package/esm2020/src/chart/chart-all.module.mjs +0 -206
  95. package/esm2020/src/chart/chart.component.mjs +0 -525
  96. package/esm2020/src/chart/chart.module.mjs +0 -142
  97. package/esm2020/src/chart/columns.directive.mjs +0 -52
  98. package/esm2020/src/chart/indicators.directive.mjs +0 -54
  99. package/esm2020/src/chart/multilevellabels.directive.mjs +0 -60
  100. package/esm2020/src/chart/rangecolorsettings.directive.mjs +0 -52
  101. package/esm2020/src/chart/rows.directive.mjs +0 -52
  102. package/esm2020/src/chart/segments.directive.mjs +0 -58
  103. package/esm2020/src/chart/selecteddataindexes.directive.mjs +0 -52
  104. package/esm2020/src/chart/series.directive.mjs +0 -68
  105. package/esm2020/src/chart/striplines.directive.mjs +0 -56
  106. package/esm2020/src/chart/trendlines.directive.mjs +0 -58
  107. package/esm2020/src/chart3d/axes.directive.mjs +0 -52
  108. package/esm2020/src/chart3d/chart3d-all.module.mjs +0 -68
  109. package/esm2020/src/chart3d/chart3d.component.mjs +0 -189
  110. package/esm2020/src/chart3d/chart3d.module.mjs +0 -70
  111. package/esm2020/src/chart3d/columns.directive.mjs +0 -52
  112. package/esm2020/src/chart3d/rows.directive.mjs +0 -52
  113. package/esm2020/src/chart3d/selecteddataindexes.directive.mjs +0 -52
  114. package/esm2020/src/chart3d/series.directive.mjs +0 -62
  115. package/esm2020/src/circularchart3d/circularchart3d-all.module.mjs +0 -47
  116. package/esm2020/src/circularchart3d/circularchart3d.component.mjs +0 -125
  117. package/esm2020/src/circularchart3d/circularchart3d.module.mjs +0 -43
  118. package/esm2020/src/circularchart3d/selecteddataindexes.directive.mjs +0 -52
  119. package/esm2020/src/circularchart3d/series.directive.mjs +0 -62
  120. package/esm2020/src/index.mjs +0 -64
  121. package/esm2020/src/range-navigator/rangenavigator-all.module.mjs +0 -32
  122. package/esm2020/src/range-navigator/rangenavigator.component.mjs +0 -127
  123. package/esm2020/src/range-navigator/rangenavigator.module.mjs +0 -34
  124. package/esm2020/src/range-navigator/series.directive.mjs +0 -54
  125. package/esm2020/src/smithchart/series.directive.mjs +0 -46
  126. package/esm2020/src/smithchart/smithchart-all.module.mjs +0 -32
  127. package/esm2020/src/smithchart/smithchart.component.mjs +0 -78
  128. package/esm2020/src/smithchart/smithchart.module.mjs +0 -34
  129. package/esm2020/src/sparkline/rangebandsettings.directive.mjs +0 -46
  130. package/esm2020/src/sparkline/sparkline-all.module.mjs +0 -29
  131. package/esm2020/src/sparkline/sparkline.component.mjs +0 -71
  132. package/esm2020/src/sparkline/sparkline.module.mjs +0 -34
  133. package/esm2020/src/stock-chart/annotations.directive.mjs +0 -60
  134. package/esm2020/src/stock-chart/axes.directive.mjs +0 -52
  135. package/esm2020/src/stock-chart/indicators.directive.mjs +0 -54
  136. package/esm2020/src/stock-chart/periods.directive.mjs +0 -54
  137. package/esm2020/src/stock-chart/rows.directive.mjs +0 -52
  138. package/esm2020/src/stock-chart/selecteddataindexes.directive.mjs +0 -52
  139. package/esm2020/src/stock-chart/series.directive.mjs +0 -58
  140. package/esm2020/src/stock-chart/stockchart-all.module.mjs +0 -29
  141. package/esm2020/src/stock-chart/stockchart.component.mjs +0 -337
  142. package/esm2020/src/stock-chart/stockchart.module.mjs +0 -106
  143. package/esm2020/src/stock-chart/stockevents.directive.mjs +0 -54
  144. package/esm2020/src/stock-chart/trendlines.directive.mjs +0 -59
  145. package/esm2020/syncfusion-ej2-angular-charts.mjs +0 -5
  146. package/fesm2015/syncfusion-ej2-angular-charts.mjs +0 -4376
  147. package/fesm2015/syncfusion-ej2-angular-charts.mjs.map +0 -1
  148. package/fesm2020/syncfusion-ej2-angular-charts.mjs +0 -4376
  149. package/fesm2020/syncfusion-ej2-angular-charts.mjs.map +0 -1
  150. 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', 'noDataTemplate', '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", noDataTemplate: "noDataTemplate", 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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Q3ZCLHVCQUF1QixtRkFDaEIsOEJBQThCLDJGQUN0QixzQ0FBc0MsK0VBQ2xELDBCQUEwQixtRkFDdEIsb0JBQW9CLGtGQUNyQiw2QkFBNkIsdUVBVnpELEVBQUU7QUFnRFo7SUFEQyxRQUFRLEVBQUU7NkRBQ2tCO0FBbENwQixtQkFBbUI7SUFEL0IsZUFBZSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7R0FDcEIsbUJBQW1CLENBNlQvQjtTQTdUWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFsQi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLE1BQU07b0JBQ2QsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUU7d0JBQ0wsV0FBVyxFQUFFLElBQUksWUFBWSxDQUFDLG1DQUFtQyxDQUFDO3dCQUNsRSxTQUFTLEVBQUUsSUFBSSxZQUFZLENBQUMsdUJBQXVCLENBQUM7d0JBQ3BELFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDcEQsZ0JBQWdCLEVBQUUsSUFBSSxZQUFZLENBQUMsOEJBQThCLENBQUM7d0JBQ2xFLHdCQUF3QixFQUFFLElBQUksWUFBWSxDQUFDLHNDQUFzQyxDQUFDO3dCQUNsRixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsMEJBQTBCLENBQUM7d0JBQzFELGdCQUFnQixFQUFFLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDO3dCQUN4RCxlQUFlLEVBQUUsSUFBSSxZQUFZLENBQUMsNkJBQTZCLENBQUM7cUJBQ25FO2lCQUNKOytLQW9DVSxnQkFBZ0I7c0JBRnRCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIEluamVjdG9yLCBWYWx1ZVByb3ZpZGVyLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgU3RvY2tDaGFydCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZXJpZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRBeGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9heGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0Um93c0RpcmVjdGl2ZSB9IGZyb20gJy4vcm93cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydEFubm90YXRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydFNlbGVjdGVkRGF0YUluZGV4ZXNEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdGVkZGF0YWluZGV4ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRQZXJpb2RzRGlyZWN0aXZlIH0gZnJvbSAnLi9wZXJpb2RzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0V2ZW50c0RpcmVjdGl2ZSB9IGZyb20gJy4vc3RvY2tldmVudHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRJbmRpY2F0b3JzRGlyZWN0aXZlIH0gZnJvbSAnLi9pbmRpY2F0b3JzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhbm5vdGF0aW9ucycsJ2F4ZXMnLCdiYWNrZ3JvdW5kJywnYm9yZGVyJywnY2hhcnRBcmVhJywnY3Jvc3NoYWlyJywnZGF0YVNvdXJjZScsJ2VuYWJsZUN1c3RvbVJhbmdlJywnZW5hYmxlUGVyaW9kU2VsZWN0b3InLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVNlbGVjdG9yJywnZXhwb3J0VHlwZScsJ2hlaWdodCcsJ2luZGljYXRvclR5cGUnLCdpbmRpY2F0b3JzJywnaXNNdWx0aVNlbGVjdCcsJ2lzU2VsZWN0JywnaXNUcmFuc3Bvc2VkJywnbGVnZW5kU2V0dGluZ3MnLCdsb2NhbGUnLCdtYXJnaW4nLCdub0RhdGFUZW1wbGF0ZScsJ3BlcmlvZHMnLCdwcmltYXJ5WEF4aXMnLCdwcmltYXJ5WUF4aXMnLCdyb3dzJywnc2VsZWN0ZWREYXRhSW5kZXhlcycsJ3NlbGVjdGlvbk1vZGUnLCdzZXJpZXMnLCdzZXJpZXNUeXBlJywnc3RvY2tFdmVudHMnLCd0aGVtZScsJ3RpdGxlJywndGl0bGVTdHlsZScsJ3Rvb2x0aXAnLCd0cmVuZGxpbmVUeXBlJywnd2lkdGgnLCd6b29tU2V0dGluZ3MnXTtcbmV4cG9ydCBjb25zdCBvdXRwdXRzOiBzdHJpbmdbXSA9IFsnYXhpc0xhYmVsUmVuZGVyJywnYmVmb3JlRXhwb3J0JywnbGVnZW5kQ2xpY2snLCdsZWdlbmRSZW5kZXInLCdsb2FkJywnbG9hZGVkJywnb25ab29taW5nJywncG9pbnRDbGljaycsJ3BvaW50TW92ZScsJ3JhbmdlQ2hhbmdlJywnc2VsZWN0b3JSZW5kZXInLCdzZXJpZXNSZW5kZXInLCdzdG9ja0NoYXJ0TW91c2VDbGljaycsJ3N0b2NrQ2hhcnRNb3VzZURvd24nLCdzdG9ja0NoYXJ0TW91c2VMZWF2ZScsJ3N0b2NrQ2hhcnRNb3VzZU1vdmUnLCdzdG9ja0NoYXJ0TW91c2VVcCcsJ3N0b2NrRXZlbnRSZW5kZXInLCd0b29sdGlwUmVuZGVyJywnZGF0YVNvdXJjZUNoYW5nZSddO1xuZXhwb3J0IGNvbnN0IHR3b1dheXM6IHN0cmluZ1tdID0gWydkYXRhU291cmNlJ107XG5cbi8qKlxuICogU3RvY2sgQ2hhcnQgQ29tcG9uZW50XG4gKiBgYGBodG1sXG4gKiA8ZWpzLXN0b2NrY2hhcnQ+PC9lanMtc3RvY2tjaGFydD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1zdG9ja2NoYXJ0JyxcbiAgICBpbnB1dHM6IGlucHV0cyxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkU2VyaWVzOiBuZXcgQ29udGVudENoaWxkKFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQXhlczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0QXhlc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZFJvd3M6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydFJvd3NEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRBbm5vdGF0aW9uczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0QW5ub3RhdGlvbnNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRTZWxlY3RlZERhdGFJbmRleGVzOiBuZXcgQ29udGVudENoaWxkKFN0b2NrQ2hhcnRTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkUGVyaW9kczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0UGVyaW9kc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZFN0b2NrRXZlbnRzOiBuZXcgQ29udGVudENoaWxkKFN0b2NrRXZlbnRzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkSW5kaWNhdG9yczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0SW5kaWNhdG9yc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuQENvbXBvbmVudE1peGlucyhbQ29tcG9uZW50QmFzZV0pXG5leHBvcnQgY2xhc3MgU3RvY2tDaGFydENvbXBvbmVudCBleHRlbmRzIFN0b2NrQ2hhcnQgaW1wbGVtZW50cyBJQ29tcG9uZW50QmFzZSB7XG4gICAgcHVibGljIGNvbnRleHQgOiBhbnk7XG4gICAgcHVibGljIHRhZ09iamVjdHM6IGFueTtcblx0YXhpc0xhYmVsUmVuZGVyOiBhbnk7XG5cdGJlZm9yZUV4cG9ydDogYW55O1xuXHRsZWdlbmRDbGljazogYW55O1xuXHRsZWdlbmRSZW5kZXI6IGFueTtcblx0bG9hZDogYW55O1xuXHRsb2FkZWQ6IGFueTtcblx0b25ab29taW5nOiBhbnk7XG5cdHBvaW50Q2xpY2s6IGFueTtcblx0cG9pbnRNb3ZlOiBhbnk7XG5cdHJhbmdlQ2hhbmdlOiBhbnk7XG5cdHNlbGVjdG9yUmVuZGVyOiBhbnk7XG5cdHNlcmllc1JlbmRlcjogYW55O1xuXHRzdG9ja0NoYXJ0TW91c2VDbGljazogYW55O1xuXHRzdG9ja0NoYXJ0TW91c2VEb3duOiBhbnk7XG5cdHN0b2NrQ2hhcnRNb3VzZUxlYXZlOiBhbnk7XG5cdHN0b2NrQ2hhcnRNb3VzZU1vdmU6IGFueTtcblx0c3RvY2tDaGFydE1vdXNlVXA6IGFueTtcblx0c3RvY2tFdmVudFJlbmRlcjogYW55O1xuXHR0b29sdGlwUmVuZGVyOiBhbnk7XG5cdHB1YmxpYyBkYXRhU291cmNlQ2hhbmdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkU2VyaWVzOiBRdWVyeUxpc3Q8U3RvY2tDaGFydFNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEF4ZXM6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0QXhlc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkUm93czogUXVlcnlMaXN0PFN0b2NrQ2hhcnRSb3dzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRBbm5vdGF0aW9uczogUXVlcnlMaXN0PFN0b2NrQ2hhcnRBbm5vdGF0aW9uc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlczogUXVlcnlMaXN0PFN0b2NrQ2hhcnRTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRQZXJpb2RzOiBRdWVyeUxpc3Q8U3RvY2tDaGFydFBlcmlvZHNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFN0b2NrRXZlbnRzOiBRdWVyeUxpc3Q8U3RvY2tFdmVudHNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEluZGljYXRvcnM6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0SW5kaWNhdG9yc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydzZXJpZXMnLCAnYXhlcycsICdyb3dzJywgJ2Fubm90YXRpb25zJywgJ3NlbGVjdGVkRGF0YUluZGV4ZXMnLCAncGVyaW9kcycsICdzdG9ja0V2ZW50cycsICdpbmRpY2F0b3JzJ107XG4gICAgQENvbnRlbnRDaGlsZCgndG9vbHRpcFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0b29sdGlwX3RlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nRWxlOiBFbGVtZW50UmVmLCBwcml2YXRlIHNyZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5uZ0VsZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcyA9IHRoaXMuaW5qZWN0ZWRNb2R1bGVzIHx8IFtdO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTGluZVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ29sdW1uU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTcGxpbmVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1NwbGluZUFyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0cmlwTGluZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQXJlYVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzUmFuZ2VBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNUb29sdGlwJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNDcm9zc2hhaXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0RhdGVUaW1lJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNab29tJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRhTGFiZWwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1NlbGVjdGlvbicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ2hhcnRBbm5vdGF0aW9uJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaWxvU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaWxvT3BlbkNsb3NlU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNDYW5kbGVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1NtYUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzVG1hSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNFbWFJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0FjY3VtdWxhdGlvbkRpc3RyaWJ1dGlvbkluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTWFjZEluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQXRySW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNSc2lJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c01vbWVudHVtSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdG9jaGFzdGljSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNCb2xsaW5nZXJCYW5kcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzVHJlbmRsaW5lcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzUmFuZ2VUb29sdGlwJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0b2NrTGVnZW5kJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRlVGltZUNhdGVnb3J5Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNMYXN0VmFsdWVMYWJlbCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuYWRkVHdvV2F5LmNhbGwodGhpcywgdHdvV2F5cyk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLmNvbnRleHQgID0gbmV3IENvbXBvbmVudEJhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uSW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlclZpZXdJbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25EZXN0cm95KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFnT2JqZWN0c1swXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRTZXJpZXM7XG4gICAgICAgIGlmICh0aGlzLmNoaWxkQXhlcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkQXhlcyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGlsZFJvd3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzJdLmluc3RhbmNlID0gdGhpcy5jaGlsZFJvd3MgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRBbm5vdGF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbM10uaW5zdGFuY2UgPSB0aGlzLmNoaWxkQW5ub3RhdGlvbnMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRTZWxlY3RlZERhdGFJbmRleGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s0XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRTZWxlY3RlZERhdGFJbmRleGVzIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoaWxkUGVyaW9kcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkUGVyaW9kcyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGlsZFN0b2NrRXZlbnRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s2XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRTdG9ja0V2ZW50cyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGlsZEluZGljYXRvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzddLmluc3RhbmNlID0gdGhpcy5jaGlsZEluZGljYXRvcnMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJDb250ZW50Q2hlY2tlZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJFdmVudHM6IChldmVudExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xuICAgIHB1YmxpYyBhZGRUd29XYXk6IChwcm9wTGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG59XG5cbiJdfQ==