@syncfusion/ej2-angular-charts 27.2.5 → 28.1.33-691821

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/CHANGELOG.md CHANGED
@@ -6,6 +6,33 @@
6
6
 
7
7
  #### Bug Fixes
8
8
 
9
+ - `#I659555` - Now, the minor gridlines and ticks are rendered in canvas mode.
10
+
11
+ #### New Features
12
+
13
+ - `#I567864` - Legends can be arranged horizontally or vertically, with a fixed-width option and a maximum column count for consistent and flexible presentation.
14
+ - `#I620773` - The crosshair now snaps to the nearest data point, providing improved precision and focus on individual data points.
15
+ - `#F194134` - Users can now customize the position of the zoom toolbar within the chart using drag-and-drop functionality, allowing easy repositioning anywhere within the chart area.
16
+ - Users can now customize the ARIA label, role, tab index, and focusable options for chart elements to improve accessibility and keyboard navigation.
17
+ - Added options for adjusting the spacing between the chart area and container.
18
+ - When hovering over a data point, the corresponding series is now highlighted, improving clarity and interaction with the tooltip.
19
+
20
+ #### Breaking Changes
21
+
22
+ - The default value of the `edgeLabelPlacement` property has been changed from `None` to `Shift` for better visibility of axis labels.
23
+
24
+ ### Stock Chart
25
+
26
+ #### New Features
27
+
28
+ - `#I620773` - The crosshair now snaps to the nearest data point, providing improved precision and focus on individual data points.
29
+
30
+ ## 27.2.5 (2024-12-03)
31
+
32
+ ### Chart
33
+
34
+ #### Bug Fixes
35
+
9
36
  - `#I653576` - Now, the data label for zero will not overlap with the previous rectangle in inverted stacking series.
10
37
  - `#I656631` - The data label for the polar and radar series renders properly, even when it collides with the axis.
11
38
  - `#I657609` - Now, the legend tooltip text updates properly when changes are made in the legend render event.
@@ -23,7 +50,7 @@
23
50
  - `#I653442` - The selection rectangle now renders properly in canvas mode.
24
51
  - `#I654149` - Now the spline series animation is proper when adding null values.
25
52
 
26
- ## 27.2.3 (2024-11-21)
53
+ ## 27.2.3 (2024-11-19)
27
54
 
28
55
  ### Chart
29
56
 
@@ -31,14 +58,14 @@
31
58
 
32
59
  - `#I650885` - Now, the subtitle will align properly without cut off.
33
60
  - `#I651405` - Legends with paging now render correctly when toggling in canvas mode.
34
-
61
+
35
62
  ### Stock Chart
36
63
 
37
64
  #### Bug Fixes
38
65
 
39
66
  - `#I652007` - The tick mark now remains consistent for the selected indicator after refresh or resize.
40
67
 
41
- ## 27.2.2 (2024-11-15)
68
+ ## 27.2.2 (2024-11-14)
42
69
 
43
70
  ### Chart
44
71
 
@@ -159,7 +186,7 @@
159
186
  - `#I539415`- Provided support for smooth animation transitions when zooming the chart.
160
187
  - Added support to disable risers in the step line series for enhanced customization.
161
188
 
162
- ### Accumulation chart
189
+ ### Accumulation Chart
163
190
 
164
191
  #### Features
165
192
 
@@ -167,7 +194,7 @@
167
194
  - Added support for rounded corners in pie, donut, pyramid, and funnel charts.
168
195
  - Provided pattern support for data points in accumulation charts.
169
196
 
170
- ## 26.2.13 (2024-09-10)
197
+ ## 26.2.14 (2024-09-10)
171
198
 
172
199
  ### Chart
173
200
 
package/README.md CHANGED
@@ -289,7 +289,7 @@ Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-componen
289
289
 
290
290
  ## License and copyright
291
291
 
292
- > This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 80+ [Angular UI components](https://www.syncfusion.com/angular-components), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
292
+ > This is a commercial product and requires a paid license for possession or use.Syncfusion<sup>®</sup> Essential Studio<sup>®</sup>licensed software, including this component, is subject to the terms and conditions ofSyncfusion<sup>®</sup> Essential Studio<sup>®</sup>[EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 80+ [Angular UI components](https://www.syncfusion.com/angular-components), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
293
293
 
294
294
  > A free community [license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
295
295
 
@@ -6,7 +6,7 @@ import { Template } from '@syncfusion/ej2-angular-base';
6
6
  import { AccumulationSeriesCollectionDirective } from './series.directive';
7
7
  import { AccumulationAnnotationsDirective } from './annotations.directive';
8
8
  import * as i0 from "@angular/core";
9
- export const inputs = ['allowExport', 'annotations', 'background', 'backgroundImage', 'border', 'center', 'centerLabel', 'currencyCode', 'dataSource', 'enableAnimation', 'enableBorderOnMouseMove', 'enableExport', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableSmartLabels', 'height', 'highlightColor', 'highlightMode', 'highlightPattern', 'isMultiSelect', 'legendSettings', 'locale', 'margin', 'selectedDataIndexes', 'selectionMode', 'selectionPattern', 'series', 'subTitle', 'subTitleStyle', 'theme', 'title', 'titleStyle', 'tooltip', 'useGroupingSeparator', 'width'];
9
+ export const inputs = ['accessibility', 'allowExport', 'annotations', 'background', 'backgroundImage', 'border', 'center', 'centerLabel', 'currencyCode', 'dataSource', 'enableAnimation', 'enableBorderOnMouseMove', 'enableExport', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableSmartLabels', 'focusBorderColor', 'focusBorderMargin', 'focusBorderWidth', 'height', 'highlightColor', 'highlightMode', 'highlightPattern', 'isMultiSelect', 'legendSettings', 'locale', 'margin', 'selectedDataIndexes', 'selectionMode', 'selectionPattern', 'series', 'subTitle', 'subTitleStyle', 'theme', 'title', 'titleStyle', 'tooltip', 'useGroupingSeparator', 'width'];
10
10
  export const outputs = ['afterExport', 'animationComplete', 'annotationRender', 'beforePrint', 'beforeResize', 'chartDoubleClick', 'chartMouseClick', 'chartMouseDown', 'chartMouseLeave', 'chartMouseMove', 'chartMouseUp', 'legendClick', 'legendRender', 'load', 'loaded', 'pointClick', 'pointMove', 'pointRender', 'resized', 'selectionComplete', 'seriesRender', 'textRender', 'tooltipRender', 'dataSourceChange'];
11
11
  export const twoWays = ['dataSource'];
12
12
  /**
@@ -118,7 +118,7 @@ let AccumulationChartComponent = class AccumulationChartComponent extends Accumu
118
118
  }
119
119
  };
120
120
  AccumulationChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AccumulationChartComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
121
- AccumulationChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AccumulationChartComponent, selector: "ejs-accumulationchart", inputs: { allowExport: "allowExport", annotations: "annotations", background: "background", backgroundImage: "backgroundImage", border: "border", center: "center", centerLabel: "centerLabel", currencyCode: "currencyCode", dataSource: "dataSource", enableAnimation: "enableAnimation", enableBorderOnMouseMove: "enableBorderOnMouseMove", enableExport: "enableExport", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableSmartLabels: "enableSmartLabels", height: "height", highlightColor: "highlightColor", highlightMode: "highlightMode", highlightPattern: "highlightPattern", isMultiSelect: "isMultiSelect", legendSettings: "legendSettings", locale: "locale", margin: "margin", selectedDataIndexes: "selectedDataIndexes", selectionMode: "selectionMode", selectionPattern: "selectionPattern", series: "series", subTitle: "subTitle", subTitleStyle: "subTitleStyle", theme: "theme", title: "title", titleStyle: "titleStyle", tooltip: "tooltip", useGroupingSeparator: "useGroupingSeparator", width: "width" }, outputs: { afterExport: "afterExport", animationComplete: "animationComplete", annotationRender: "annotationRender", beforePrint: "beforePrint", beforeResize: "beforeResize", chartDoubleClick: "chartDoubleClick", chartMouseClick: "chartMouseClick", chartMouseDown: "chartMouseDown", chartMouseLeave: "chartMouseLeave", chartMouseMove: "chartMouseMove", chartMouseUp: "chartMouseUp", legendClick: "legendClick", legendRender: "legendRender", load: "load", loaded: "loaded", pointClick: "pointClick", pointMove: "pointMove", pointRender: "pointRender", resized: "resized", selectionComplete: "selectionComplete", seriesRender: "seriesRender", textRender: "textRender", tooltipRender: "tooltipRender", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "tooltip_template", first: true, predicate: ["tooltipTemplate"], descendants: true }, { propertyName: "childSeries", first: true, predicate: AccumulationSeriesCollectionDirective, descendants: true }, { propertyName: "childAnnotations", first: true, predicate: AccumulationAnnotationsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
121
+ AccumulationChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AccumulationChartComponent, selector: "ejs-accumulationchart", inputs: { accessibility: "accessibility", allowExport: "allowExport", annotations: "annotations", background: "background", backgroundImage: "backgroundImage", border: "border", center: "center", centerLabel: "centerLabel", currencyCode: "currencyCode", dataSource: "dataSource", enableAnimation: "enableAnimation", enableBorderOnMouseMove: "enableBorderOnMouseMove", enableExport: "enableExport", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableSmartLabels: "enableSmartLabels", focusBorderColor: "focusBorderColor", focusBorderMargin: "focusBorderMargin", focusBorderWidth: "focusBorderWidth", height: "height", highlightColor: "highlightColor", highlightMode: "highlightMode", highlightPattern: "highlightPattern", isMultiSelect: "isMultiSelect", legendSettings: "legendSettings", locale: "locale", margin: "margin", selectedDataIndexes: "selectedDataIndexes", selectionMode: "selectionMode", selectionPattern: "selectionPattern", series: "series", subTitle: "subTitle", subTitleStyle: "subTitleStyle", theme: "theme", title: "title", titleStyle: "titleStyle", tooltip: "tooltip", useGroupingSeparator: "useGroupingSeparator", width: "width" }, outputs: { afterExport: "afterExport", animationComplete: "animationComplete", annotationRender: "annotationRender", beforePrint: "beforePrint", beforeResize: "beforeResize", chartDoubleClick: "chartDoubleClick", chartMouseClick: "chartMouseClick", chartMouseDown: "chartMouseDown", chartMouseLeave: "chartMouseLeave", chartMouseMove: "chartMouseMove", chartMouseUp: "chartMouseUp", legendClick: "legendClick", legendRender: "legendRender", load: "load", loaded: "loaded", pointClick: "pointClick", pointMove: "pointMove", pointRender: "pointRender", resized: "resized", selectionComplete: "selectionComplete", seriesRender: "seriesRender", textRender: "textRender", tooltipRender: "tooltipRender", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "tooltip_template", first: true, predicate: ["tooltipTemplate"], descendants: true }, { propertyName: "childSeries", first: true, predicate: AccumulationSeriesCollectionDirective, descendants: true }, { propertyName: "childAnnotations", first: true, predicate: AccumulationAnnotationsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
122
122
  __decorate([
123
123
  Template()
124
124
  ], AccumulationChartComponent.prototype, "tooltip_template", void 0);
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
143
143
  type: ContentChild,
144
144
  args: ['tooltipTemplate']
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjdW11bGF0aW9uY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY3VtdWxhdGlvbi1jaGFydC9hY2N1bXVsYXRpb25jaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLHVCQUF1QixFQUFpRCxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUosT0FBTyxFQUFFLGFBQWEsRUFBK0IsZUFBZSxFQUEwQixRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTNFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBYSxDQUFDLGFBQWEsRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsYUFBYSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMseUJBQXlCLEVBQUMsY0FBYyxFQUFDLHFCQUFxQixFQUFDLG1CQUFtQixFQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxRQUFRLEVBQUMsZ0JBQWdCLEVBQUMsZUFBZSxFQUFDLGtCQUFrQixFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLHFCQUFxQixFQUFDLGVBQWUsRUFBQyxrQkFBa0IsRUFBQyxRQUFRLEVBQUMsVUFBVSxFQUFDLGVBQWUsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsc0JBQXNCLEVBQUMsT0FBTyxDQUFD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QUFRLEdBQUcsSUFBSSxDQUFDLGdCQUF1QixDQUFDO1NBQzlEO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBSUosQ0FBQTt1SEF4SVksMEJBQTBCOzJHQUExQiwwQkFBMEIseTlEQUxELHFDQUFxQyxtRkFDaEMsZ0NBQWdDLHVFQUo3RCxFQUFFO0FBd0NaO0lBREMsUUFBUSxFQUFFO29FQUNrQjtBQWhDcEIsMEJBQTBCO0lBRHRDLGVBQWUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0dBQ3BCLDBCQUEwQixDQXdJdEM7U0F4SVksMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBWnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsTUFBTSxFQUFFLE1BQU07b0JBQ2QsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUU7d0JBQ0wsV0FBVyxFQUFFLElBQUksWUFBWSxDQUFDLHFDQUFxQyxDQUFDO3dCQUNwRSxnQkFBZ0IsRUFBRSxJQUFJLFlBQVksQ0FBQyxnQ0FBZ0MsQ0FBQztxQkFDdkU7aUJBQ0o7K0tBa0NVLGdCQUFnQjtzQkFGdEIsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgSW5qZWN0b3IsIFZhbHVlUHJvdmlkZXIsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSwgSUNvbXBvbmVudEJhc2UsIGFwcGx5TWl4aW5zLCBDb21wb25lbnRNaXhpbnMsIFByb3BlcnR5Q29sbGVjdGlvbkluZm8sIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBBY2N1bXVsYXRpb25DaGFydCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IEFjY3VtdWxhdGlvblNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL3Nlcmllcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWNjdW11bGF0aW9uQW5ub3RhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2Fubm90YXRpb25zLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhbGxvd0V4cG9ydCcsJ2Fubm90YXRpb25zJywnYmFja2dyb3VuZCcsJ2JhY2tncm91bmRJbWFnZScsJ2JvcmRlcicsJ2NlbnRlcicsJ2NlbnRlckxhYmVsJywnY3VycmVuY3lDb2RlJywnZGF0YVNvdXJjZScsJ2VuYWJsZUFuaW1hdGlvbicsJ2VuYWJsZUJvcmRlck9uTW91c2VNb3ZlJywnZW5hYmxlRXhwb3J0JywnZW5hYmxlSHRtbFNhbml0aXplcicsJ2VuYWJsZVBlcnNpc3RlbmNlJywnZW5hYmxlUnRsJywnZW5hYmxlU21hcnRMYWJlbHMnLCdoZWlnaHQnLCdoaWdobGlnaHRDb2xvcicsJ2hpZ2hsaWdodE1vZGUnLCdoaWdobGlnaHRQYXR0ZXJuJywnaXNNdWx0aVNlbGVjdCcsJ2xlZ2VuZFNldHRpbmdzJywnbG9jYWxlJywnbWFyZ2luJywnc2VsZWN0ZWREYXRhSW5kZXhlcycsJ3NlbGVjdGlvbk1vZGUnLCdzZWxlY3Rpb25QYXR0ZXJuJywnc2VyaWVzJywnc3ViVGl0bGUnLCdzdWJUaXRsZVN0eWxlJywndGhlbWUnLCd0aXRsZScsJ3RpdGxlU3R5bGUnLCd0b29sdGlwJywndXNlR3JvdXBpbmdTZXBhcmF0b3InLCd3aWR0aCddO1xuZXhwb3J0IGNvbnN0IG91dHB1dHM6IHN0cmluZ1tdID0gWydhZnRlckV4cG9ydCcsJ2FuaW1hdGlvbkNvbXBsZXRlJywnYW5ub3RhdGlvblJlbmRlcicsJ2JlZm9yZVByaW50JywnYmVmb3JlUmVzaXplJywnY2hhcnREb3VibGVDbGljaycsJ2NoYXJ0TW91c2VDbGljaycsJ2NoYXJ0TW91c2VEb3duJywnY2hhcnRNb3VzZUxlYXZlJywnY2hhcnRNb3VzZU1vdmUnLCdjaGFydE1vdXNlVXAnLCdsZWdlbmRDbGljaycsJ2xlZ2VuZFJlbmRlcicsJ2xvYWQnLCdsb2FkZWQnLCdwb2ludENsaWNrJywncG9pbnRNb3ZlJywncG9pbnRSZW5kZXInLCdyZXNpemVkJywnc2VsZWN0aW9uQ29tcGxldGUnLCdzZXJpZXNSZW5kZXInLCd0ZXh0UmVuZGVyJywndG9vbHRpcFJlbmRlcicsJ2RhdGFTb3VyY2VDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsnZGF0YVNvdXJjZSddO1xuXG4vKipcbiAqIEFjY3VtdWxhdGlvbkNoYXJ0IENvbXBvbmVudFxuICogYGBgaHRtbFxuICogPGVqcy1hY2N1bXVsYXRpb25jaGFydD48L2Vqcy1hY2N1bXVsYXRpb25jaGFydD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1hY2N1bXVsYXRpb25jaGFydCcsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgb3V0cHV0czogb3V0cHV0cyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFNlcmllczogbmV3IENvbnRlbnRDaGlsZChBY2N1bXVsYXRpb25TZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQW5ub3RhdGlvbnM6IG5ldyBDb250ZW50Q2hpbGQoQWNjdW11bGF0aW9uQW5ub3RhdGlvbnNEaXJlY3RpdmUpXG4gICAgfVxufSlcbkBDb21wb25lbnRNaXhpbnMoW0NvbXBvbmVudEJhc2VdKVxuZXhwb3J0IGNsYXNzIEFjY3VtdWxhdGlvbkNoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQWNjdW11bGF0aW9uQ2hhcnQgaW1wbGVtZW50cyBJQ29tcG9uZW50QmFzZSB7XG4gICAgcHVibGljIGNvbnRleHQgOiBhbnk7XG4gICAgcHVibGljIHRhZ09iamVjdHM6IGFueTtcblx0YWZ0ZXJFeHBvcnQ6IGFueTtcblx0YW5pbWF0aW9uQ29tcGxldGU6IGFueTtcblx0YW5ub3RhdGlvblJlbmRlcjogYW55O1xuXHRiZWZvcmVQcmludDogYW55O1xuXHRiZWZvcmVSZXNpemU6IGFueTtcblx0Y2hhcnREb3VibGVDbGljazogYW55O1xuXHRjaGFydE1vdXNlQ2xpY2s6IGFueTtcblx0Y2hhcnRNb3VzZURvd246IGFueTtcblx0Y2hhcnRNb3VzZUxlYXZlOiBhbnk7XG5cdGNoYXJ0TW91c2VNb3ZlOiBhbnk7XG5cdGNoYXJ0TW91c2VVcDogYW55O1xuXHRsZWdlbmRDbGljazogYW55O1xuXHRsZWdlbmRSZW5kZXI6IGFueTtcblx0bG9hZDogYW55O1xuXHRsb2FkZWQ6IGFueTtcblx0cG9pbnRDbGljazogYW55O1xuXHRwb2ludE1vdmU6IGFueTtcblx0cG9pbnRSZW5kZXI6IGFueTtcblx0cmVzaXplZDogYW55O1xuXHRzZWxlY3Rpb25Db21wbGV0ZTogYW55O1xuXHRzZXJpZXNSZW5kZXI6IGFueTtcblx0dGV4dFJlbmRlcjogYW55O1xuXHR0b29sdGlwUmVuZGVyOiBhbnk7XG5cdHB1YmxpYyBkYXRhU291cmNlQ2hhbmdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkU2VyaWVzOiBRdWVyeUxpc3Q8QWNjdW11bGF0aW9uU2VyaWVzQ29sbGVjdGlvbkRpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkQW5ub3RhdGlvbnM6IFF1ZXJ5TGlzdDxBY2N1bXVsYXRpb25Bbm5vdGF0aW9uc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydzZXJpZXMnLCAnYW5ub3RhdGlvbnMnXTtcbiAgICBAQ29udGVudENoaWxkKCd0b29sdGlwVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBfdGVtcGxhdGU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLm5nRWxlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzID0gdGhpcy5pbmplY3RlZE1vZHVsZXMgfHwgW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNQaWVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0Z1bm5lbFNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzUHlyYW1pZFNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uVG9vbHRpcCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uTGVnZW5kJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBY2N1bXVsYXRpb25TZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0FjY3VtdWxhdGlvbkhpZ2hsaWdodCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uRGF0YUxhYmVsJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBY2N1bXVsYXRpb25Bbm5vdGF0aW9uJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ09iamVjdHNbMF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU2VyaWVzO1xuICAgICAgICBpZiAodGhpcy5jaGlsZEFubm90YXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1sxXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRBbm5vdGF0aW9ucyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlckNvbnRlbnRDaGVja2VkKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckV2ZW50czogKGV2ZW50TGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHVibGljIGFkZFR3b1dheTogKHByb3BMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuIl19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjdW11bGF0aW9uY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY3VtdWxhdGlvbi1jaGFydC9hY2N1bXVsYXRpb25jaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLHVCQUF1QixFQUFpRCxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUosT0FBTyxFQUFFLGFBQWEsRUFBK0IsZUFBZSxFQUEwQixRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTNFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBYSxDQUFDLGVBQWUsRUFBQyxhQUFhLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLGFBQWEsRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLHlCQUF5QixFQUFDLGNBQWMsRUFBQyxxQkFBcUIsRUFBQyxtQkFBbUIsRUFBQyxXQUFXLEVBQUMsbUJBQW1CLEVBQUMsa0JBQWtCLEVBQUMsbUJBQW1CLEVBQUMsa0JBQWtCLEVBQUMsUUFBUSxFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyxrQkFBa0IsRUFBQyxlQUFlLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxxQkFBcUIsRUFBQyxlQUFlLEVBQUMsa0JBQWtCLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxlQUFlLEVBQUMsT0FBTyxFQUFDLE9BQU8s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RUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBdUIsQ0FBQztTQUM5RDtRQUNULElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUlKLENBQUE7dUhBeElZLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDZtRUFMRCxxQ0FBcUMsbUZBQ2hDLGdDQUFnQyx1RUFKN0QsRUFBRTtBQXdDWjtJQURDLFFBQVEsRUFBRTtvRUFDa0I7QUFoQ3BCLDBCQUEwQjtJQUR0QyxlQUFlLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztHQUNwQiwwQkFBMEIsQ0F3SXRDO1NBeElZLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQVp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLE1BQU0sRUFBRSxNQUFNO29CQUNkLE9BQU8sRUFBRSxPQUFPO29CQUNoQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFO3dCQUNMLFdBQVcsRUFBRSxJQUFJLFlBQVksQ0FBQyxxQ0FBcUMsQ0FBQzt3QkFDcEUsZ0JBQWdCLEVBQUUsSUFBSSxZQUFZLENBQUMsZ0NBQWdDLENBQUM7cUJBQ3ZFO2lCQUNKOytLQWtDVSxnQkFBZ0I7c0JBRnRCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIEluamVjdG9yLCBWYWx1ZVByb3ZpZGVyLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgQWNjdW11bGF0aW9uQ2hhcnQgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItY2hhcnRzJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBBY2N1bXVsYXRpb25TZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZXJpZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFjY3VtdWxhdGlvbkFubm90YXRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgaW5wdXRzOiBzdHJpbmdbXSA9IFsnYWNjZXNzaWJpbGl0eScsJ2FsbG93RXhwb3J0JywnYW5ub3RhdGlvbnMnLCdiYWNrZ3JvdW5kJywnYmFja2dyb3VuZEltYWdlJywnYm9yZGVyJywnY2VudGVyJywnY2VudGVyTGFiZWwnLCdjdXJyZW5jeUNvZGUnLCdkYXRhU291cmNlJywnZW5hYmxlQW5pbWF0aW9uJywnZW5hYmxlQm9yZGVyT25Nb3VzZU1vdmUnLCdlbmFibGVFeHBvcnQnLCdlbmFibGVIdG1sU2FuaXRpemVyJywnZW5hYmxlUGVyc2lzdGVuY2UnLCdlbmFibGVSdGwnLCdlbmFibGVTbWFydExhYmVscycsJ2ZvY3VzQm9yZGVyQ29sb3InLCdmb2N1c0JvcmRlck1hcmdpbicsJ2ZvY3VzQm9yZGVyV2lkdGgnLCdoZWlnaHQnLCdoaWdobGlnaHRDb2xvcicsJ2hpZ2hsaWdodE1vZGUnLCdoaWdobGlnaHRQYXR0ZXJuJywnaXNNdWx0aVNlbGVjdCcsJ2xlZ2VuZFNldHRpbmdzJywnbG9jYWxlJywnbWFyZ2luJywnc2VsZWN0ZWREYXRhSW5kZXhlcycsJ3NlbGVjdGlvbk1vZGUnLCdzZWxlY3Rpb25QYXR0ZXJuJywnc2VyaWVzJywnc3ViVGl0bGUnLCdzdWJUaXRsZVN0eWxlJywndGhlbWUnLCd0aXRsZScsJ3RpdGxlU3R5bGUnLCd0b29sdGlwJywndXNlR3JvdXBpbmdTZXBhcmF0b3InLCd3aWR0aCddO1xuZXhwb3J0IGNvbnN0IG91dHB1dHM6IHN0cmluZ1tdID0gWydhZnRlckV4cG9ydCcsJ2FuaW1hdGlvbkNvbXBsZXRlJywnYW5ub3RhdGlvblJlbmRlcicsJ2JlZm9yZVByaW50JywnYmVmb3JlUmVzaXplJywnY2hhcnREb3VibGVDbGljaycsJ2NoYXJ0TW91c2VDbGljaycsJ2NoYXJ0TW91c2VEb3duJywnY2hhcnRNb3VzZUxlYXZlJywnY2hhcnRNb3VzZU1vdmUnLCdjaGFydE1vdXNlVXAnLCdsZWdlbmRDbGljaycsJ2xlZ2VuZFJlbmRlcicsJ2xvYWQnLCdsb2FkZWQnLCdwb2ludENsaWNrJywncG9pbnRNb3ZlJywncG9pbnRSZW5kZXInLCdyZXNpemVkJywnc2VsZWN0aW9uQ29tcGxldGUnLCdzZXJpZXNSZW5kZXInLCd0ZXh0UmVuZGVyJywndG9vbHRpcFJlbmRlcicsJ2RhdGFTb3VyY2VDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsnZGF0YVNvdXJjZSddO1xuXG4vKipcbiAqIEFjY3VtdWxhdGlvbkNoYXJ0IENvbXBvbmVudFxuICogYGBgaHRtbFxuICogPGVqcy1hY2N1bXVsYXRpb25jaGFydD48L2Vqcy1hY2N1bXVsYXRpb25jaGFydD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1hY2N1bXVsYXRpb25jaGFydCcsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgb3V0cHV0czogb3V0cHV0cyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFNlcmllczogbmV3IENvbnRlbnRDaGlsZChBY2N1bXVsYXRpb25TZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQW5ub3RhdGlvbnM6IG5ldyBDb250ZW50Q2hpbGQoQWNjdW11bGF0aW9uQW5ub3RhdGlvbnNEaXJlY3RpdmUpXG4gICAgfVxufSlcbkBDb21wb25lbnRNaXhpbnMoW0NvbXBvbmVudEJhc2VdKVxuZXhwb3J0IGNsYXNzIEFjY3VtdWxhdGlvbkNoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQWNjdW11bGF0aW9uQ2hhcnQgaW1wbGVtZW50cyBJQ29tcG9uZW50QmFzZSB7XG4gICAgcHVibGljIGNvbnRleHQgOiBhbnk7XG4gICAgcHVibGljIHRhZ09iamVjdHM6IGFueTtcblx0YWZ0ZXJFeHBvcnQ6IGFueTtcblx0YW5pbWF0aW9uQ29tcGxldGU6IGFueTtcblx0YW5ub3RhdGlvblJlbmRlcjogYW55O1xuXHRiZWZvcmVQcmludDogYW55O1xuXHRiZWZvcmVSZXNpemU6IGFueTtcblx0Y2hhcnREb3VibGVDbGljazogYW55O1xuXHRjaGFydE1vdXNlQ2xpY2s6IGFueTtcblx0Y2hhcnRNb3VzZURvd246IGFueTtcblx0Y2hhcnRNb3VzZUxlYXZlOiBhbnk7XG5cdGNoYXJ0TW91c2VNb3ZlOiBhbnk7XG5cdGNoYXJ0TW91c2VVcDogYW55O1xuXHRsZWdlbmRDbGljazogYW55O1xuXHRsZWdlbmRSZW5kZXI6IGFueTtcblx0bG9hZDogYW55O1xuXHRsb2FkZWQ6IGFueTtcblx0cG9pbnRDbGljazogYW55O1xuXHRwb2ludE1vdmU6IGFueTtcblx0cG9pbnRSZW5kZXI6IGFueTtcblx0cmVzaXplZDogYW55O1xuXHRzZWxlY3Rpb25Db21wbGV0ZTogYW55O1xuXHRzZXJpZXNSZW5kZXI6IGFueTtcblx0dGV4dFJlbmRlcjogYW55O1xuXHR0b29sdGlwUmVuZGVyOiBhbnk7XG5cdHB1YmxpYyBkYXRhU291cmNlQ2hhbmdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkU2VyaWVzOiBRdWVyeUxpc3Q8QWNjdW11bGF0aW9uU2VyaWVzQ29sbGVjdGlvbkRpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkQW5ub3RhdGlvbnM6IFF1ZXJ5TGlzdDxBY2N1bXVsYXRpb25Bbm5vdGF0aW9uc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydzZXJpZXMnLCAnYW5ub3RhdGlvbnMnXTtcbiAgICBAQ29udGVudENoaWxkKCd0b29sdGlwVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBfdGVtcGxhdGU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLm5nRWxlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzID0gdGhpcy5pbmplY3RlZE1vZHVsZXMgfHwgW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNQaWVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0Z1bm5lbFNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzUHlyYW1pZFNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uVG9vbHRpcCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uTGVnZW5kJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBY2N1bXVsYXRpb25TZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0FjY3VtdWxhdGlvbkhpZ2hsaWdodCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uRGF0YUxhYmVsJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBY2N1bXVsYXRpb25Bbm5vdGF0aW9uJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ09iamVjdHNbMF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU2VyaWVzO1xuICAgICAgICBpZiAodGhpcy5jaGlsZEFubm90YXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1sxXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRBbm5vdGF0aW9ucyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlckNvbnRlbnRDaGVja2VkKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckV2ZW50czogKGV2ZW50TGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHVibGljIGFkZFR3b1dheTogKHByb3BMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuIl19
@@ -3,7 +3,7 @@ import { Directive, ContentChildren, ContentChild } from '@angular/core';
3
3
  import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
4
4
  import { Template } from '@syncfusion/ej2-angular-base';
5
5
  import * as i0 from "@angular/core";
6
- let input = ['animation', 'applyPattern', 'border', 'borderRadius', 'dashArray', 'dataLabel', 'dataSource', 'emptyPointSettings', 'enableTooltip', 'endAngle', 'explode', 'explodeAll', 'explodeIndex', 'explodeOffset', 'gapRatio', 'groupMode', 'groupTo', 'height', 'innerRadius', 'legendImageUrl', 'legendShape', 'name', 'neckHeight', 'neckWidth', 'opacity', 'palettes', 'pointColorMapping', 'pyramidMode', 'query', 'radius', 'selectionStyle', 'startAngle', 'tooltipMappingName', 'type', 'visible', 'width', 'xName', 'yName'];
6
+ let input = ['accessibility', 'animation', 'applyPattern', 'border', 'borderRadius', 'dashArray', 'dataLabel', 'dataSource', 'emptyPointSettings', 'enableTooltip', 'endAngle', 'explode', 'explodeAll', 'explodeIndex', 'explodeOffset', 'gapRatio', 'groupMode', 'groupTo', 'height', 'innerRadius', 'legendImageUrl', 'legendShape', 'name', 'neckHeight', 'neckWidth', 'opacity', 'palettes', 'pointColorMapping', 'pyramidMode', 'query', 'radius', 'selectionStyle', 'startAngle', 'tooltipMappingName', 'type', 'visible', 'width', 'xName', 'yName'];
7
7
  let outputs = [];
8
8
  /**
9
9
  * AccumulationSeries Directive
@@ -23,7 +23,7 @@ export class AccumulationSeriesDirective extends ComplexBase {
23
23
  }
24
24
  }
25
25
  AccumulationSeriesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AccumulationSeriesDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
26
- AccumulationSeriesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AccumulationSeriesDirective, selector: "e-accumulation-series-collection>e-accumulation-series", inputs: { animation: "animation", applyPattern: "applyPattern", border: "border", borderRadius: "borderRadius", dashArray: "dashArray", dataLabel: "dataLabel", dataSource: "dataSource", emptyPointSettings: "emptyPointSettings", enableTooltip: "enableTooltip", endAngle: "endAngle", explode: "explode", explodeAll: "explodeAll", explodeIndex: "explodeIndex", explodeOffset: "explodeOffset", gapRatio: "gapRatio", groupMode: "groupMode", groupTo: "groupTo", height: "height", innerRadius: "innerRadius", legendImageUrl: "legendImageUrl", legendShape: "legendShape", name: "name", neckHeight: "neckHeight", neckWidth: "neckWidth", opacity: "opacity", palettes: "palettes", pointColorMapping: "pointColorMapping", pyramidMode: "pyramidMode", query: "query", radius: "radius", selectionStyle: "selectionStyle", startAngle: "startAngle", tooltipMappingName: "tooltipMappingName", type: "type", visible: "visible", width: "width", xName: "xName", yName: "yName" }, queries: [{ propertyName: "dataLabel_template", first: true, predicate: ["dataLabelTemplate"], descendants: true }], usesInheritance: true, ngImport: i0 });
26
+ AccumulationSeriesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AccumulationSeriesDirective, selector: "e-accumulation-series-collection>e-accumulation-series", inputs: { accessibility: "accessibility", animation: "animation", applyPattern: "applyPattern", border: "border", borderRadius: "borderRadius", dashArray: "dashArray", dataLabel: "dataLabel", dataSource: "dataSource", emptyPointSettings: "emptyPointSettings", enableTooltip: "enableTooltip", endAngle: "endAngle", explode: "explode", explodeAll: "explodeAll", explodeIndex: "explodeIndex", explodeOffset: "explodeOffset", gapRatio: "gapRatio", groupMode: "groupMode", groupTo: "groupTo", height: "height", innerRadius: "innerRadius", legendImageUrl: "legendImageUrl", legendShape: "legendShape", name: "name", neckHeight: "neckHeight", neckWidth: "neckWidth", opacity: "opacity", palettes: "palettes", pointColorMapping: "pointColorMapping", pyramidMode: "pyramidMode", query: "query", radius: "radius", selectionStyle: "selectionStyle", startAngle: "startAngle", tooltipMappingName: "tooltipMappingName", type: "type", visible: "visible", width: "width", xName: "xName", yName: "yName" }, queries: [{ propertyName: "dataLabel_template", first: true, predicate: ["dataLabelTemplate"], descendants: true }], usesInheritance: true, ngImport: i0 });
27
27
  __decorate([
28
28
  Template()
29
29
  ], AccumulationSeriesDirective.prototype, "dataLabel_template", void 0);
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
59
59
  },
60
60
  }]
61
61
  }], ctorParameters: function () { return []; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2N1bXVsYXRpb24tY2hhcnQvc2VyaWVzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN0aEIsSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzNCOzs7Ozs7O0dBT0c7QUFTSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsV0FBd0M7SUEwTnJGLFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFFakQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7d0hBL05RLDJCQUEyQjs0R0FBM0IsMkJBQTJCO0FBd05wQztJQURDLFFBQVEsRUFBRTt1RUFDb0I7MkZBeE50QiwyQkFBMkI7a0JBUnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdEQUF3RDtvQkFDbEUsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQXlOVSxrQkFBa0I7c0JBRnhCLFlBQVk7dUJBQUMsbUJBQW1COztBQVlyQzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8scUNBQXNDLFNBQVEsU0FBZ0Q7SUFDdkc7UUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7a0lBSFEscUNBQXFDO3NIQUFyQyxxQ0FBcUMsc0hBSFosMkJBQTJCOzJGQUdwRCxxQ0FBcUM7a0JBTmpELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVEQUF1RDtvQkFDakUsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQztxQkFDN0Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhbmltYXRpb24nLCAnYXBwbHlQYXR0ZXJuJywgJ2JvcmRlcicsICdib3JkZXJSYWRpdXMnLCAnZGFzaEFycmF5JywgJ2RhdGFMYWJlbCcsICdkYXRhU291cmNlJywgJ2VtcHR5UG9pbnRTZXR0aW5ncycsICdlbmFibGVUb29sdGlwJywgJ2VuZEFuZ2xlJywgJ2V4cGxvZGUnLCAnZXhwbG9kZUFsbCcsICdleHBsb2RlSW5kZXgnLCAnZXhwbG9kZU9mZnNldCcsICdnYXBSYXRpbycsICdncm91cE1vZGUnLCAnZ3JvdXBUbycsICdoZWlnaHQnLCAnaW5uZXJSYWRpdXMnLCAnbGVnZW5kSW1hZ2VVcmwnLCAnbGVnZW5kU2hhcGUnLCAnbmFtZScsICduZWNrSGVpZ2h0JywgJ25lY2tXaWR0aCcsICdvcGFjaXR5JywgJ3BhbGV0dGVzJywgJ3BvaW50Q29sb3JNYXBwaW5nJywgJ3B5cmFtaWRNb2RlJywgJ3F1ZXJ5JywgJ3JhZGl1cycsICdzZWxlY3Rpb25TdHlsZScsICdzdGFydEFuZ2xlJywgJ3Rvb2x0aXBNYXBwaW5nTmFtZScsICd0eXBlJywgJ3Zpc2libGUnLCAnd2lkdGgnLCAneE5hbWUnLCAneU5hbWUnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBBY2N1bXVsYXRpb25TZXJpZXMgRGlyZWN0aXZlXG4gKiBgYGBodG1sXG4gKiA8ZS1hY2N1bXVsYXRpb24tc2VyaWVzLWNvbGxlY3Rpb24+XG4gKiA8ZS1hY2N1bXVsYXRpb24tc2VyaWVzPjwvZS1hY2N1bXVsYXRpb24tc2VyaWVzPlxuICogPC9lLWFjY3VtdWxhdGlvbi1zZXJpZXMtY29sbGVjdGlvbj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2UtYWNjdW11bGF0aW9uLXNlcmllcy1jb2xsZWN0aW9uPmUtYWNjdW11bGF0aW9uLXNlcmllcycsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFjY3VtdWxhdGlvblNlcmllc0RpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEFjY3VtdWxhdGlvblNlcmllc0RpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBzZXJpZXMgaW4gdGhlIGFjY3VtdWxhdGlvbiBjaGFydC5cbiAgICAgKiBAZGVmYXVsdCAnUGllJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIHRoZSBhbmltYXRpb24gb2YgdGhlIHNlcmllcy4gXG4gICAgICogQnkgZGVmYXVsdCwgYW5pbWF0aW9uIGlzIGVuYWJsZWQgd2l0aCBhIGR1cmF0aW9uIG9mIDEwMDAgbWlsbGlzZWNvbmRzIChhYm91dCAxIHNlY29uZCkuIEl0IGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIGVuYWJsZSB0byBgZmFsc2VgLiBcbiAgICAgKiBUaGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIHN1cHBvcnRlZCBpbiBhbmltYXRpb246IFxuICAgICAqICogZW5hYmxlOiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHNlcmllcyBpcyBhbmltYXRlZCBvbiBpbml0aWFsIGxvYWRpbmcuIFxuICAgICAqICogZHVyYXRpb246IFRoZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uIGluIG1pbGxpc2Vjb25kcy4gXG4gICAgICogKiBkZWxheTogVGhlIGRlbGF5IGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cywgaW4gbWlsbGlzZWNvbmRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBhbmltYXRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogV2hlbiBzZXQgdG8gdHJ1ZSwgYSBkaWZmZXJlbnQgcGF0dGVybiBpcyBhcHBsaWVkIHRvIGVhY2ggc2xpY2Ugb2YgdGhlIHBpZS5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBhcHBseVBhdHRlcm46IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIGJvcmRlciBvZiB0aGUgc2VyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBib3JkZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9uIGZvciBjdXN0b21pemluZyB0aGUgYm9yZGVyIHJhZGl1cy5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGJvcmRlclJhZGl1czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBwYXR0ZXJuIG9mIGRhc2hlcyBhbmQgZ2FwcyBmb3IgdGhlIHNlcmllcyBib3JkZXIuXG4gICAgICogQGRlZmF1bHQgJzAnXG4gICAgICovXG4gICAgcHVibGljIGRhc2hBcnJheTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBsYWJlbCBwcm9wZXJ0eSBjYW4gYmUgdXNlZCB0byBzaG93IHRoZSBkYXRhIGxhYmVsIGFuZCBjdXN0b21pemUgaXRzIHBvc2l0aW9uIGFuZCBzdHlsaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRhTGFiZWw6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBkYXRhIHNvdXJjZSBmb3IgdGhlIHNlcmllcy4gSXQgY2FuIGJlIGFuIGFycmF5IG9mIEpTT04gb2JqZWN0cywgb3IgYW4gaW5zdGFuY2Ugb2YgRGF0YU1hbmFnZXIuIFxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGRhdGFTb3VyY2U6IGFueTtcbiAgICAvKiogXG4gICAgICogQ3VzdG9taXphdGlvbiBvcHRpb25zIGZvciB0aGUgYXBwZWFyYW5jZSBvZiBlbXB0eSBwb2ludHMgaW4gdGhlIHNlcmllcywgd2hlcmUgYG51bGxgIG9yIGB1bmRlZmluZWRgIHZhbHVlcyBhcmUgY29uc2lkZXJlZCBhcyBlbXB0eSBwb2ludHMuXG4gICAgICovXG4gICAgcHVibGljIGVtcHR5UG9pbnRTZXR0aW5nczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDb250cm9scyB3aGV0aGVyIHRoZSB0b29sdGlwIGZvciB0aGUgYWNjdW11bGF0aW9uIGNoYXJ0IHNlcmllcyBpcyBlbmFibGVkIG9yIGRpc2FibGVkLiBTZXQgdG8gdHJ1ZSB0byBkaXNwbGF5IHRvb2x0aXBzIG9uIGhvdmVyLCBvciBmYWxzZSB0byBoaWRlIHRoZW0uXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVUb29sdGlwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgZW5kaW5nIGFuZ2xlIGZvciB0aGUgc2VyaWVzLCBpbiBkZWdyZWVzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5kQW5nbGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHNlcmllcyBwb2ludHMgd2lsbCBleHBsb2RlIG9uIG1vdXNlIGNsaWNrIG9yIHRvdWNoLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGV4cGxvZGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIGFsbCB0aGUgcG9pbnRzIGluIHRoZSBzZXJpZXMgd2lsbCBleHBsb2RlIG9uIGxvYWQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZXhwbG9kZUFsbDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJbmRleCBvZiB0aGUgcG9pbnQgaW4gdGhlIHNlcmllcyB0byBiZSBleHBsb2RlZCBvbiBpbml0aWFsIGxvYWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGJsYXpvcmRlZmF1bHR2YWx1ZSBEb3VibGUuTmFOXG4gICAgICovXG4gICAgcHVibGljIGV4cGxvZGVJbmRleDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGRpc3RhbmNlIG9mIHRoZSBwb2ludCBmcm9tIHRoZSBjZW50ZXIsIHdoaWNoIGNhbiBiZSBkZWZpbmVkIGluIGJvdGggcGl4ZWxzIGFuZCBwZXJjZW50YWdlLlxuICAgICAqIEBkZWZhdWx0ICczMCUnXG4gICAgICovXG4gICAgcHVibGljIGV4cGxvZGVPZmZzZXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgc2VnbWVudHMgb2YgYSBmdW5uZWwgb3IgcHlyYW1pZCBzZXJpZXMuIFxuICAgICAqIFRoZSByYW5nZSBpcyBmcm9tIDAgdG8gMS5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGdhcFJhdGlvOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEluIHRoZSBhY2N1bXVsYXRpb24gc2VyaWVzLCB5LXZhbHVlcyBsZXNzIHRoYW4gYGdyb3VwTW9kZWAgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgc2xpY2UgbmFtZWQgJ290aGVycycuXG4gICAgICogQGRlZmF1bHQgVmFsdWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ3JvdXBNb2RlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB5LXZhbHVlcyBvZiB0aGUgYWNjdW11bGF0aW9uIHNlcmllcyB0aGF0IGFyZSBsZXNzIHRoYW4gYGdyb3VwVG9gIGFyZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIHNsaWNlIG5hbWVkICdvdGhlcnMnLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ3JvdXBUbzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBoZWlnaHQgb2YgdGhlIGZ1bm5lbCBvciBweXJhbWlkIHNlcmllcyByZWxhdGl2ZSB0byB0aGUgY2hhcnQgYXJlYS5cbiAgICAgKiBAZGVmYXVsdCAnODAlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBoZWlnaHQ6IGFueTtcbiAgICAvKiogXG4gICAgICogV2hlbiB0aGUgYGlubmVyUmFkaXVzYCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gMCUsIGEgZG9udXQgc2hhcGUgd2lsbCBhcHBlYXIgaW4gdGhlIHBpZSBzZXJpZXMuIEl0IGFjY2VwdHMgb25seSBwZXJjZW50YWdlIHZhbHVlcy5cbiAgICAgKiBAZGVmYXVsdCAnMCdcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5uZXJSYWRpdXM6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIFVSTCBmb3IgdGhlIGltYWdlIHRvIGJlIGRpc3BsYXllZCBhcyBhIGxlZ2VuZCBpY29uLiBcbiAgICAgKiA+IE5vdGUgdGhhdCBgbGVnZW5kU2hhcGVgIG11c3QgYmUgc2V0IHRvIGBJbWFnZWAuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVnZW5kSW1hZ2VVcmw6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBzaGFwZSBvZiB0aGUgbGVnZW5kIGljb24gZm9yIGVhY2ggZGF0YSBwb2ludC4gXG4gICAgICogQXZhaWxhYmxlIHNoYXBlcyBmb3IgbGVnZW5kOiBcbiAgICAgKiAqIENpcmNsZSAtIFJlbmRlcnMgYSBjaXJjdWxhciBpY29uLiBcbiAgICAgKiAqIFJlY3RhbmdsZSAtIFJlbmRlcnMgYSByZWN0YW5ndWxhciBpY29uLiBcbiAgICAgKiAqIFRyaWFuZ2xlIC0gUmVuZGVycyBhIHRyaWFuZ3VsYXIgaWNvbi4gXG4gICAgICogKiBEaWFtb25kIC0gUmVuZGVycyBhIGRpYW1vbmQtc2hhcGVkIGljb24uIFxuICAgICAqICogQ3Jvc3MgLSBSZW5kZXJzIGEgY3Jvc3Mtc2hhcGVkIGljb24uIFxuICAgICAqICogSG9yaXpvbnRhbExpbmUgLSBSZW5kZXJzIGEgaG9yaXpvbnRhbCBsaW5lIGljb24uIFxuICAgICAqICogVmVydGljYWxMaW5lIC0gUmVuZGVycyBhIHZlcnRpY2FsIGxpbmUgaWNvbi4gXG4gICAgICogKiBQZW50YWdvbiAtIFJlbmRlcnMgYSBwZW50YWdvbi1zaGFwZWQgaWNvbi4gXG4gICAgICogKiBJbnZlcnRlZFRyaWFuZ2xlIC0gUmVuZGVycyBhbiBpbnZlcnRlZCB0cmlhbmdsZS1zaGFwZWQgaWNvbi4gXG4gICAgICogKiBTZXJpZXNUeXBlIC0gVXNlcyB0aGUgZGVmYXVsdCBpY29uIHNoYXBlIGJhc2VkIG9uIHRoZSBzZXJpZXMgdHlwZS4gXG4gICAgICogKiBJbWFnZSAtIFJlbmRlcnMgYSBjdXN0b20gaW1hZ2UgZm9yIHRoZSBsZWdlbmQgaWNvbi5cbiAgICAgKiBAZGVmYXVsdCAnU2VyaWVzVHlwZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVnZW5kU2hhcGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBuYW1lYCBwcm9wZXJ0eSBhbGxvd3MgZm9yIHNldHRpbmcgYSBuYW1lIGZvciB0aGUgc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgaGVpZ2h0IG9mIHRoZSBmdW5uZWwgbmVjayByZWxhdGl2ZSB0byB0aGUgY2hhcnQgYXJlYS5cbiAgICAgKiBAZGVmYXVsdCAnMjAlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBuZWNrSGVpZ2h0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBmdW5uZWwgbmVjayByZWxhdGl2ZSB0byB0aGUgY2hhcnQgYXJlYS5cbiAgICAgKiBAZGVmYXVsdCAnMjAlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBuZWNrV2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgc2VyaWVzLCB3aXRoIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxIHdoZXJlIDAgaXMgZnVsbHkgdHJhbnNwYXJlbnQgYW5kIDEgaXMgZnVsbHkgb3BhcXVlLlxuICAgICAqIEBkZWZhdWx0IDEuXG4gICAgICovXG4gICAgcHVibGljIG9wYWNpdHk6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBwYWxldHRlc2AgYXJyYXkgZGVmaW5lcyBhIHNldCBvZiBjb2xvcnMgdXNlZCBmb3IgcmVuZGVyaW5nIHRoZSBhY2N1bXVsYXRpb24gY2hhcnQncyBwb2ludHMuIEVhY2ggY29sb3IgaW4gdGhlIGFycmF5IGlzIGFwcGxpZWQgdG8gZWFjaCBwb2ludCBpbiBvcmRlci5cbiAgICAgKiBAZGVmYXVsdCBbXVxuICAgICAqL1xuICAgIHB1YmxpYyBwYWxldHRlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBzb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgY29sb3IgdmFsdWUgb2YgYSBwb2ludC4gXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHBvaW50Q29sb3JNYXBwaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgaG93IHRoZSB2YWx1ZXMgYXJlIHJlcHJlc2VudGVkLCBlaXRoZXIgdGhyb3VnaCB0aGUgaGVpZ2h0IG9yIHN1cmZhY2UgYXJlYSBvZiB0aGUgc2VnbWVudHMuXG4gICAgICogQGRlZmF1bHQgJ0xpbmVhcidcbiAgICAgKi9cbiAgICBwdWJsaWMgcHlyYW1pZE1vZGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIGEgcXVlcnkgdG8gc2VsZWN0IGRhdGEgZnJvbSB0aGUgZGF0YSBzb3VyY2UuIFRoaXMgcHJvcGVydHkgaXMgYXBwbGljYWJsZSBvbmx5IHdoZW4gdGhlIGRhdGEgc291cmNlIGlzIGFuIGBlai5EYXRhTWFuYWdlcmAuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBxdWVyeTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHJhZGl1cyBvZiB0aGUgcGllIHNlcmllcyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNoYXJ0J3Mgc2l6ZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHJhZGl1czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYHNlbGVjdGlvblN0eWxlYCBwcm9wZXJ0eSBpcyB1c2VkIHRvIHNwZWNpZnkgY3VzdG9tIENTUyBzdHlsZXMgZm9yIHRoZSBzZWxlY3RlZCBzZXJpZXMgb3IgcG9pbnRzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0aW9uU3R5bGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBzdGFydGluZyBhbmdsZSBmb3IgdGhlIHNlcmllcywgaW4gZGVncmVlcy5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0QW5nbGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGRhdGEgc291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHZhbHVlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdG9vbHRpcC5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0b29sdGlwTWFwcGluZ05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBzZXJpZXMgd2lsbCBiZSB2aXNpYmxlLiBJZiBzZXQgdG8gZmFsc2UsIHRoZSBzZXJpZXMgd2lsbCBiZSBoaWRkZW4uXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBmdW5uZWwgb3IgcHlyYW1pZCBzZXJpZXMgcmVsYXRpdmUgdG8gdGhlIGNoYXJ0IGFyZWEuXG4gICAgICogQGRlZmF1bHQgJzgwJSdcbiAgICAgKi9cbiAgICBwdWJsaWMgd2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGRhdGEgc291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHggdmFsdWUuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgeE5hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGRhdGEgc291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHkgdmFsdWUuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgeU5hbWU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdkYXRhTGFiZWxUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZGF0YUxhYmVsX3RlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBBY2N1bXVsYXRpb25TZXJpZXMgQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2VqLWFjY3VtdWxhdGlvbmNoYXJ0PmUtYWNjdW11bGF0aW9uLXNlcmllcy1jb2xsZWN0aW9uJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKEFjY3VtdWxhdGlvblNlcmllc0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBY2N1bXVsYXRpb25TZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEFjY3VtdWxhdGlvblNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3NlcmllcycpO1xuICAgIH1cbn0iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2N1bXVsYXRpb24tY2hhcnQvc2VyaWVzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdmlCLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7OztHQU9HO0FBU0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFdBQXdDO0lBOE5yRixZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O3dIQW5PUSwyQkFBMkI7NEdBQTNCLDJCQUEyQjtBQTROcEM7SUFEQyxRQUFRLEVBQUU7dUVBQ29COzJGQTVOdEIsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3REFBd0Q7b0JBQ2xFLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjt1R0E2TlUsa0JBQWtCO3NCQUZ4QixZQUFZO3VCQUFDLG1CQUFtQjs7QUFZckM7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLFNBQWdEO0lBQ3ZHO1FBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7O2tJQUhRLHFDQUFxQztzSEFBckMscUNBQXFDLHNIQUhaLDJCQUEyQjsyRkFHcEQscUNBQXFDO2tCQU5qRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1REFBdUQ7b0JBQ2pFLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsMkJBQTJCLENBQUM7cUJBQzdEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWNjZXNzaWJpbGl0eScsICdhbmltYXRpb24nLCAnYXBwbHlQYXR0ZXJuJywgJ2JvcmRlcicsICdib3JkZXJSYWRpdXMnLCAnZGFzaEFycmF5JywgJ2RhdGFMYWJlbCcsICdkYXRhU291cmNlJywgJ2VtcHR5UG9pbnRTZXR0aW5ncycsICdlbmFibGVUb29sdGlwJywgJ2VuZEFuZ2xlJywgJ2V4cGxvZGUnLCAnZXhwbG9kZUFsbCcsICdleHBsb2RlSW5kZXgnLCAnZXhwbG9kZU9mZnNldCcsICdnYXBSYXRpbycsICdncm91cE1vZGUnLCAnZ3JvdXBUbycsICdoZWlnaHQnLCAnaW5uZXJSYWRpdXMnLCAnbGVnZW5kSW1hZ2VVcmwnLCAnbGVnZW5kU2hhcGUnLCAnbmFtZScsICduZWNrSGVpZ2h0JywgJ25lY2tXaWR0aCcsICdvcGFjaXR5JywgJ3BhbGV0dGVzJywgJ3BvaW50Q29sb3JNYXBwaW5nJywgJ3B5cmFtaWRNb2RlJywgJ3F1ZXJ5JywgJ3JhZGl1cycsICdzZWxlY3Rpb25TdHlsZScsICdzdGFydEFuZ2xlJywgJ3Rvb2x0aXBNYXBwaW5nTmFtZScsICd0eXBlJywgJ3Zpc2libGUnLCAnd2lkdGgnLCAneE5hbWUnLCAneU5hbWUnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBBY2N1bXVsYXRpb25TZXJpZXMgRGlyZWN0aXZlXG4gKiBgYGBodG1sXG4gKiA8ZS1hY2N1bXVsYXRpb24tc2VyaWVzLWNvbGxlY3Rpb24+XG4gKiA8ZS1hY2N1bXVsYXRpb24tc2VyaWVzPjwvZS1hY2N1bXVsYXRpb24tc2VyaWVzPlxuICogPC9lLWFjY3VtdWxhdGlvbi1zZXJpZXMtY29sbGVjdGlvbj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2UtYWNjdW11bGF0aW9uLXNlcmllcy1jb2xsZWN0aW9uPmUtYWNjdW11bGF0aW9uLXNlcmllcycsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFjY3VtdWxhdGlvblNlcmllc0RpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEFjY3VtdWxhdGlvblNlcmllc0RpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBzZXJpZXMgaW4gdGhlIGFjY3VtdWxhdGlvbiBjaGFydC5cbiAgICAgKiBAZGVmYXVsdCAnUGllJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5IGZvciBzZXJpZXMgZWxlbWVudHMuXG4gICAgICovXG4gICAgcHVibGljIGFjY2Vzc2liaWxpdHk6IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIGFuaW1hdGlvbiBvZiB0aGUgc2VyaWVzLiBcbiAgICAgKiBCeSBkZWZhdWx0LCBhbmltYXRpb24gaXMgZW5hYmxlZCB3aXRoIGEgZHVyYXRpb24gb2YgMTAwMCBtaWxsaXNlY29uZHMgKGFib3V0IDEgc2Vjb25kKS4gSXQgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgZW5hYmxlIHRvIGBmYWxzZWAuIFxuICAgICAqIFRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBhcmUgc3VwcG9ydGVkIGluIGFuaW1hdGlvbjogXG4gICAgICogKiBlbmFibGU6IElmIHNldCB0byB0cnVlLCB0aGUgc2VyaWVzIGlzIGFuaW1hdGVkIG9uIGluaXRpYWwgbG9hZGluZy4gXG4gICAgICogKiBkdXJhdGlvbjogVGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLiBcbiAgICAgKiAqIGRlbGF5OiBUaGUgZGVsYXkgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzLCBpbiBtaWxsaXNlY29uZHMuXG4gICAgICovXG4gICAgcHVibGljIGFuaW1hdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byB0cnVlLCBhIGRpZmZlcmVudCBwYXR0ZXJuIGlzIGFwcGxpZWQgdG8gZWFjaCBzbGljZSBvZiB0aGUgcGllLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGFwcGx5UGF0dGVybjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyB0aGUgYm9yZGVyIG9mIHRoZSBzZXJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGJvcmRlcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb24gZm9yIGN1c3RvbWl6aW5nIHRoZSBib3JkZXIgcmFkaXVzLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgYm9yZGVyUmFkaXVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHBhdHRlcm4gb2YgZGFzaGVzIGFuZCBnYXBzIGZvciB0aGUgc2VyaWVzIGJvcmRlci5cbiAgICAgKiBAZGVmYXVsdCAnMCdcbiAgICAgKi9cbiAgICBwdWJsaWMgZGFzaEFycmF5OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBkYXRhIGxhYmVsIHByb3BlcnR5IGNhbiBiZSB1c2VkIHRvIHNob3cgdGhlIGRhdGEgbGFiZWwgYW5kIGN1c3RvbWl6ZSBpdHMgcG9zaXRpb24gYW5kIHN0eWxpbmcuXG4gICAgICovXG4gICAgcHVibGljIGRhdGFMYWJlbDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGRhdGEgc291cmNlIGZvciB0aGUgc2VyaWVzLiBJdCBjYW4gYmUgYW4gYXJyYXkgb2YgSlNPTiBvYmplY3RzLCBvciBhbiBpbnN0YW5jZSBvZiBEYXRhTWFuYWdlci4gXG4gICAgICogXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YVNvdXJjZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDdXN0b21pemF0aW9uIG9wdGlvbnMgZm9yIHRoZSBhcHBlYXJhbmNlIG9mIGVtcHR5IHBvaW50cyBpbiB0aGUgc2VyaWVzLCB3aGVyZSBgbnVsbGAgb3IgYHVuZGVmaW5lZGAgdmFsdWVzIGFyZSBjb25zaWRlcmVkIGFzIGVtcHR5IHBvaW50cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW1wdHlQb2ludFNldHRpbmdzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIENvbnRyb2xzIHdoZXRoZXIgdGhlIHRvb2x0aXAgZm9yIHRoZSBhY2N1bXVsYXRpb24gY2hhcnQgc2VyaWVzIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQuIFNldCB0byB0cnVlIHRvIGRpc3BsYXkgdG9vbHRpcHMgb24gaG92ZXIsIG9yIGZhbHNlIHRvIGhpZGUgdGhlbS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZVRvb2x0aXA6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBlbmRpbmcgYW5nbGUgZm9yIHRoZSBzZXJpZXMsIGluIGRlZ3JlZXMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBlbmRBbmdsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgc2VyaWVzIHBvaW50cyB3aWxsIGV4cGxvZGUgb24gbW91c2UgY2xpY2sgb3IgdG91Y2guXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZXhwbG9kZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgYWxsIHRoZSBwb2ludHMgaW4gdGhlIHNlcmllcyB3aWxsIGV4cGxvZGUgb24gbG9hZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBleHBsb2RlQWxsOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEluZGV4IG9mIHRoZSBwb2ludCBpbiB0aGUgc2VyaWVzIHRvIGJlIGV4cGxvZGVkIG9uIGluaXRpYWwgbG9hZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZWlnbm9yZSBcbiAgICAgKiBAYmxhem9yZGVmYXVsdHZhbHVlIERvdWJsZS5OYU5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXhwbG9kZUluZGV4OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHBvaW50IGZyb20gdGhlIGNlbnRlciwgd2hpY2ggY2FuIGJlIGRlZmluZWQgaW4gYm90aCBwaXhlbHMgYW5kIHBlcmNlbnRhZ2UuXG4gICAgICogQGRlZmF1bHQgJzMwJSdcbiAgICAgKi9cbiAgICBwdWJsaWMgZXhwbG9kZU9mZnNldDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBzZWdtZW50cyBvZiBhIGZ1bm5lbCBvciBweXJhbWlkIHNlcmllcy4gXG4gICAgICogVGhlIHJhbmdlIGlzIGZyb20gMCB0byAxLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2FwUmF0aW86IGFueTtcbiAgICAvKiogXG4gICAgICogSW4gdGhlIGFjY3VtdWxhdGlvbiBzZXJpZXMsIHktdmFsdWVzIGxlc3MgdGhhbiBgZ3JvdXBNb2RlYCBhcmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBzbGljZSBuYW1lZCAnb3RoZXJzJy5cbiAgICAgKiBAZGVmYXVsdCBWYWx1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBncm91cE1vZGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHktdmFsdWVzIG9mIHRoZSBhY2N1bXVsYXRpb24gc2VyaWVzIHRoYXQgYXJlIGxlc3MgdGhhbiBgZ3JvdXBUb2AgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgc2xpY2UgbmFtZWQgJ290aGVycycuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBncm91cFRvOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGhlaWdodCBvZiB0aGUgZnVubmVsIG9yIHB5cmFtaWQgc2VyaWVzIHJlbGF0aXZlIHRvIHRoZSBjaGFydCBhcmVhLlxuICAgICAqIEBkZWZhdWx0ICc4MCUnXG4gICAgICovXG4gICAgcHVibGljIGhlaWdodDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHRoZSBgaW5uZXJSYWRpdXNgIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiAwJSwgYSBkb251dCBzaGFwZSB3aWxsIGFwcGVhciBpbiB0aGUgcGllIHNlcmllcy4gSXQgYWNjZXB0cyBvbmx5IHBlcmNlbnRhZ2UgdmFsdWVzLlxuICAgICAqIEBkZWZhdWx0ICcwJ1xuICAgICAqL1xuICAgIHB1YmxpYyBpbm5lclJhZGl1czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgVVJMIGZvciB0aGUgaW1hZ2UgdG8gYmUgZGlzcGxheWVkIGFzIGEgbGVnZW5kIGljb24uIFxuICAgICAqID4gTm90ZSB0aGF0IGBsZWdlbmRTaGFwZWAgbXVzdCBiZSBzZXQgdG8gYEltYWdlYC5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBsZWdlbmRJbWFnZVVybDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHNoYXBlIG9mIHRoZSBsZWdlbmQgaWNvbiBmb3IgZWFjaCBkYXRhIHBvaW50LiBcbiAgICAgKiBBdmFpbGFibGUgc2hhcGVzIGZvciBsZWdlbmQ6IFxuICAgICAqICogQ2lyY2xlIC0gUmVuZGVycyBhIGNpcmN1bGFyIGljb24uIFxuICAgICAqICogUmVjdGFuZ2xlIC0gUmVuZGVycyBhIHJlY3Rhbmd1bGFyIGljb24uIFxuICAgICAqICogVHJpYW5nbGUgLSBSZW5kZXJzIGEgdHJpYW5ndWxhciBpY29uLiBcbiAgICAgKiAqIERpYW1vbmQgLSBSZW5kZXJzIGEgZGlhbW9uZC1zaGFwZWQgaWNvbi4gXG4gICAgICogKiBDcm9zcyAtIFJlbmRlcnMgYSBjcm9zcy1zaGFwZWQgaWNvbi4gXG4gICAgICogKiBIb3Jpem9udGFsTGluZSAtIFJlbmRlcnMgYSBob3Jpem9udGFsIGxpbmUgaWNvbi4gXG4gICAgICogKiBWZXJ0aWNhbExpbmUgLSBSZW5kZXJzIGEgdmVydGljYWwgbGluZSBpY29uLiBcbiAgICAgKiAqIFBlbnRhZ29uIC0gUmVuZGVycyBhIHBlbnRhZ29uLXNoYXBlZCBpY29uLiBcbiAgICAgKiAqIEludmVydGVkVHJpYW5nbGUgLSBSZW5kZXJzIGFuIGludmVydGVkIHRyaWFuZ2xlLXNoYXBlZCBpY29uLiBcbiAgICAgKiAqIFNlcmllc1R5cGUgLSBVc2VzIHRoZSBkZWZhdWx0IGljb24gc2hhcGUgYmFzZWQgb24gdGhlIHNlcmllcyB0eXBlLiBcbiAgICAgKiAqIEltYWdlIC0gUmVuZGVycyBhIGN1c3RvbSBpbWFnZSBmb3IgdGhlIGxlZ2VuZCBpY29uLlxuICAgICAqIEBkZWZhdWx0ICdTZXJpZXNUeXBlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBsZWdlbmRTaGFwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYG5hbWVgIHByb3BlcnR5IGFsbG93cyBmb3Igc2V0dGluZyBhIG5hbWUgZm9yIHRoZSBzZXJpZXMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBoZWlnaHQgb2YgdGhlIGZ1bm5lbCBuZWNrIHJlbGF0aXZlIHRvIHRoZSBjaGFydCBhcmVhLlxuICAgICAqIEBkZWZhdWx0ICcyMCUnXG4gICAgICovXG4gICAgcHVibGljIG5lY2tIZWlnaHQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGZ1bm5lbCBuZWNrIHJlbGF0aXZlIHRvIHRoZSBjaGFydCBhcmVhLlxuICAgICAqIEBkZWZhdWx0ICcyMCUnXG4gICAgICovXG4gICAgcHVibGljIG5lY2tXaWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBvcGFjaXR5IG9mIHRoZSBzZXJpZXMsIHdpdGggYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEgd2hlcmUgMCBpcyBmdWxseSB0cmFuc3BhcmVudCBhbmQgMSBpcyBmdWxseSBvcGFxdWUuXG4gICAgICogQGRlZmF1bHQgMS5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BhY2l0eTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYHBhbGV0dGVzYCBhcnJheSBkZWZpbmVzIGEgc2V0IG9mIGNvbG9ycyB1c2VkIGZvciByZW5kZXJpbmcgdGhlIGFjY3VtdWxhdGlvbiBjaGFydCdzIHBvaW50cy4gRWFjaCBjb2xvciBpbiB0aGUgYXJyYXkgaXMgYXBwbGllZCB0byBlYWNoIHBvaW50IGluIG9yZGVyLlxuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICovXG4gICAgcHVibGljIHBhbGV0dGVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBkYXRhIHNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSBjb2xvciB2YWx1ZSBvZiBhIHBvaW50LiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBzZXJpZXMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9pbnRDb2xvck1hcHBpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBob3cgdGhlIHZhbHVlcyBhcmUgcmVwcmVzZW50ZWQsIGVpdGhlciB0aHJvdWdoIHRoZSBoZWlnaHQgb3Igc3VyZmFjZSBhcmVhIG9mIHRoZSBzZWdtZW50cy5cbiAgICAgKiBAZGVmYXVsdCAnTGluZWFyJ1xuICAgICAqL1xuICAgIHB1YmxpYyBweXJhbWlkTW9kZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgYSBxdWVyeSB0byBzZWxlY3QgZGF0YSBmcm9tIHRoZSBkYXRhIHNvdXJjZS4gVGhpcyBwcm9wZXJ0eSBpcyBhcHBsaWNhYmxlIG9ubHkgd2hlbiB0aGUgZGF0YSBzb3VyY2UgaXMgYW4gYGVqLkRhdGFNYW5hZ2VyYC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHF1ZXJ5OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgcmFkaXVzIG9mIHRoZSBwaWUgc2VyaWVzIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY2hhcnQncyBzaXplLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmFkaXVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBgc2VsZWN0aW9uU3R5bGVgIHByb3BlcnR5IGlzIHVzZWQgdG8gc3BlY2lmeSBjdXN0b20gQ1NTIHN0eWxlcyBmb3IgdGhlIHNlbGVjdGVkIHNlcmllcyBvciBwb2ludHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3Rpb25TdHlsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHN0YXJ0aW5nIGFuZ2xlIGZvciB0aGUgc2VyaWVzLCBpbiBkZWdyZWVzLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnRBbmdsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBzb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgdmFsdWUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSB0b29sdGlwLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHRvb2x0aXBNYXBwaW5nTmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHNlcmllcyB3aWxsIGJlIHZpc2libGUuIElmIHNldCB0byBmYWxzZSwgdGhlIHNlcmllcyB3aWxsIGJlIGhpZGRlbi5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHZpc2libGU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGZ1bm5lbCBvciBweXJhbWlkIHNlcmllcyByZWxhdGl2ZSB0byB0aGUgY2hhcnQgYXJlYS5cbiAgICAgKiBAZGVmYXVsdCAnODAlJ1xuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBzb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgeCB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB4TmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBzb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgeSB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB5TmFtZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2RhdGFMYWJlbFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXRhTGFiZWxfdGVtcGxhdGU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEFjY3VtdWxhdGlvblNlcmllcyBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWotYWNjdW11bGF0aW9uY2hhcnQ+ZS1hY2N1bXVsYXRpb24tc2VyaWVzLWNvbGxlY3Rpb24nLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oQWNjdW11bGF0aW9uU2VyaWVzRGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFjY3VtdWxhdGlvblNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8QWNjdW11bGF0aW9uU2VyaWVzQ29sbGVjdGlvbkRpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignc2VyaWVzJyk7XG4gICAgfVxufSJdfQ==
@@ -3,7 +3,7 @@ import { Directive, ContentChildren, ContentChild } from '@angular/core';
3
3
  import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
4
4
  import { Template } from '@syncfusion/ej2-angular-base';
5
5
  import * as i0 from "@angular/core";
6
- let input = ['content', 'coordinateUnits', 'description', 'horizontalAlignment', 'region', 'verticalAlignment', 'x', 'xAxisName', 'y', 'yAxisName'];
6
+ let input = ['accessibility', 'content', 'coordinateUnits', 'description', 'horizontalAlignment', 'region', 'verticalAlignment', 'x', 'xAxisName', 'y', 'yAxisName'];
7
7
  let outputs = [];
8
8
  /**
9
9
  * Annotation Directive
@@ -21,7 +21,7 @@ export class AnnotationDirective extends ComplexBase {
21
21
  }
22
22
  }
23
23
  AnnotationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AnnotationDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
- AnnotationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AnnotationDirective, selector: "e-annotations>e-annotation", inputs: { content: "content", coordinateUnits: "coordinateUnits", description: "description", horizontalAlignment: "horizontalAlignment", region: "region", verticalAlignment: "verticalAlignment", x: "x", xAxisName: "xAxisName", y: "y", yAxisName: "yAxisName" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0 });
24
+ AnnotationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AnnotationDirective, selector: "e-annotations>e-annotation", inputs: { accessibility: "accessibility", content: "content", coordinateUnits: "coordinateUnits", description: "description", horizontalAlignment: "horizontalAlignment", region: "region", verticalAlignment: "verticalAlignment", x: "x", xAxisName: "xAxisName", y: "y", yAxisName: "yAxisName" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0 });
25
25
  __decorate([
26
26
  Template()
27
27
  ], AnnotationDirective.prototype, "content", void 0);
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
57
57
  },
58
58
  }]
59
59
  }], ctorParameters: function () { return []; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2Fubm90YXRpb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDOUosSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzNCOzs7OztHQUtHO0FBU0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQWdDO0lBK0VyRSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O2dIQXBGUSxtQkFBbUI7b0dBQW5CLG1CQUFtQjtBQTZFNUI7SUFEQyxRQUFRLEVBQUU7b0RBQ1M7MkZBN0VYLG1CQUFtQjtrQkFSL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLEVBRVI7aUJBQ0o7dUdBOEVVLE9BQU87c0JBRmIsWUFBWTt1QkFBQyxTQUFTOztBQVkzQjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsU0FBK0I7SUFDckU7UUFDSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7aUhBSFEsb0JBQW9CO3FHQUFwQixvQkFBb0Isd0ZBSEssbUJBQW1COzJGQUc1QyxvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztxQkFDckQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydjb250ZW50JywgJ2Nvb3JkaW5hdGVVbml0cycsICdkZXNjcmlwdGlvbicsICdob3Jpem9udGFsQWxpZ25tZW50JywgJ3JlZ2lvbicsICd2ZXJ0aWNhbEFsaWdubWVudCcsICd4JywgJ3hBeGlzTmFtZScsICd5JywgJ3lBeGlzTmFtZSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIEFubm90YXRpb24gRGlyZWN0aXZlXG4gKiBgYGBodG1sXG4gKiA8ZS1hbm5vdGF0aW9ucz48ZS1hbm5vdGF0aW9uPjwvZS1hbm5vdGF0aW9uPjxlLWFubm90YXRpb25zPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS1hbm5vdGF0aW9ucz5lLWFubm90YXRpb24nLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8QW5ub3RhdGlvbkRpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgY29vcmRpbmF0ZSB1bml0cyBvZiB0aGUgYW5ub3RhdGlvbi4gXG4gICAgICogVGhlIG9wdGlvbnMgYXJlOiBcbiAgICAgKiAqIFBpeGVsIC0gUmVuZGVycyB0aGUgYW5ub3RhdGlvbiBiYXNlZCBvbiB4IGFuZCB5IHBpeGVsIHZhbHVlcy4gXG4gICAgICogKiBQb2ludCAtIFJlbmRlcnMgdGhlIGFubm90YXRpb24gYmFzZWQgb24geCBhbmQgeSBheGlzIHZhbHVlcy5cbiAgICAgKiBAZGVmYXVsdCAnUGl4ZWwnXG4gICAgICovXG4gICAgcHVibGljIGNvb3JkaW5hdGVVbml0czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBIGRlc2NyaXB0aW9uIGZvciB0aGUgYW5ub3RhdGlvbiB0aGF0IHByb3ZpZGVzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgaXRzIGNvbnRlbnQgZm9yIHNjcmVlbiByZWFkZXJzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGFubm90YXRpb24uIFxuICAgICAqIFRoZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBOZWFyIC0gQWxpZ25zIHRoZSBhbm5vdGF0aW9uIGVsZW1lbnQgdG8gdGhlIGxlZnQgc2lkZS4gXG4gICAgICogKiBGYXIgLSBBbGlnbnMgdGhlIGFubm90YXRpb24gZWxlbWVudCB0byB0aGUgcmlnaHQgc2lkZS4gXG4gICAgICogKiBDZW50ZXIgLSBBbGlnbnMgdGhlIGFubm90YXRpb24gZWxlbWVudCB0byB0aGUgbWlkcG9pbnQuXG4gICAgICogQGRlZmF1bHQgJ0NlbnRlcidcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBwdWJsaWMgaG9yaXpvbnRhbEFsaWdubWVudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHJlZ2lvbnMgb2YgdGhlIGFubm90YXRpb24uIFxuICAgICAqIFRoZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBDaGFydCAtIFJlbmRlcnMgdGhlIGFubm90YXRpb24gYmFzZWQgb24gY2hhcnQgY29vcmRpbmF0ZXMuIFxuICAgICAqICogU2VyaWVzIC0gUmVuZGVycyB0aGUgYW5ub3RhdGlvbiBiYXNlZCBvbiBzZXJpZXMgY29vcmRpbmF0ZXMuXG4gICAgICogQGRlZmF1bHQgJ0NoYXJ0J1xuICAgICAqL1xuICAgIHB1YmxpYyByZWdpb246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgYW5ub3RhdGlvbi4gXG4gICAgICogVGhlIG9wdGlvbnMgYXJlIFxuICAgICAqICogVG9wIC0gQWxpZ25zIHRoZSBhbm5vdGF0aW9uIGVsZW1lbnQgdG8gdGhlIHRvcCBzaWRlLiBcbiAgICAgKiAqIEJvdHRvbSAtIEFsaWducyB0aGUgYW5ub3RhdGlvbiBlbGVtZW50IHRvIHRoZSBib3R0b20gc2lkZS4gXG4gICAgICogKiBNaWRkbGUgLSBBbGlnbnMgdGhlIGFubm90YXRpb24gZWxlbWVudCB0byB0aGUgbWlkcG9pbnQuXG4gICAgICogQGRlZmF1bHQgJ01pZGRsZSdcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBwdWJsaWMgdmVydGljYWxBbGlnbm1lbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGNvb3JkaW5hdGVVbml0YCBpcyBzZXQgdG8gYFBpeGVsYCwgeCBzcGVjaWZpZXMgdGhlIHBpeGVsIHZhbHVlLiBcbiAgICAgKiBJZiBgY29vcmRpbmF0ZVVuaXRgIGlzIHNldCB0byBgUG9pbnRgLCB4IHNwZWNpZmllcyB0aGUgYXhpcyB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnMCdcbiAgICAgKiBAYXNwdHlwZSBvYmplY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgeDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgaG9yaXpvbnRhbCBheGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYW5ub3RhdGlvbi4gXG4gICAgICogUmVxdWlyZXMgdGhlIGBheGVzYCBvZiB0aGUgY2hhcnQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB4QXhpc05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGNvb3JkaW5hdGVVbml0YCBpcyBzZXQgdG8gYFBpeGVsYCwgeSBzcGVjaWZpZXMgdGhlIHBpeGVsIHZhbHVlLiBcbiAgICAgKiBJZiBgY29vcmRpbmF0ZVVuaXRgIGlzIHNldCB0byBgUG9pbnRgLCB5IHNwZWNpZmllcyB0aGUgYXhpcyB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnMCdcbiAgICAgKi9cbiAgICBwdWJsaWMgeTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgdmVydGljYWwgYXhpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGFubm90YXRpb24uIFxuICAgICAqIFJlcXVpcmVzIHRoZSBgYXhlc2Agb2YgdGhlIGNoYXJ0LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgeUF4aXNOYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBjb250ZW50IG9mIHRoZSBhbm5vdGF0aW9uLCB3aGljaCBhbHNvIGFjY2VwdHMgdGhlIElEIG9mIHRoZSBjdXN0b20gZWxlbWVudC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY29udGVudCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY29udGVudDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQW5ub3RhdGlvbiBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWNoYXJ0PmUtYW5ub3RhdGlvbnMnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oQW5ub3RhdGlvbkRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxBbm5vdGF0aW9uc0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignYW5ub3RhdGlvbnMnKTtcbiAgICB9XG59Il19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2Fubm90YXRpb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQy9LLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7R0FLRztBQVNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFnQztJQW9GckUsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUVqRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOztnSEF6RlEsbUJBQW1CO29HQUFuQixtQkFBbUI7QUFrRjVCO0lBREMsUUFBUSxFQUFFO29EQUNTOzJGQWxGWCxtQkFBbUI7a0JBUi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQW1GVSxPQUFPO3NCQUZiLFlBQVk7dUJBQUMsU0FBUzs7QUFZM0I7OztHQUdHO0FBT0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQStCO0lBQ3JFO1FBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O2lIQUhRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHdGQUhLLG1CQUFtQjsyRkFHNUMsb0JBQW9CO2tCQU5oQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsbUJBQW1CLENBQUM7cUJBQ3JEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWNjZXNzaWJpbGl0eScsICdjb250ZW50JywgJ2Nvb3JkaW5hdGVVbml0cycsICdkZXNjcmlwdGlvbicsICdob3Jpem9udGFsQWxpZ25tZW50JywgJ3JlZ2lvbicsICd2ZXJ0aWNhbEFsaWdubWVudCcsICd4JywgJ3hBeGlzTmFtZScsICd5JywgJ3lBeGlzTmFtZSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIEFubm90YXRpb24gRGlyZWN0aXZlXG4gKiBgYGBodG1sXG4gKiA8ZS1hbm5vdGF0aW9ucz48ZS1hbm5vdGF0aW9uPjwvZS1hbm5vdGF0aW9uPjxlLWFubm90YXRpb25zPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS1hbm5vdGF0aW9ucz5lLWFubm90YXRpb24nLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8QW5ub3RhdGlvbkRpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5IGZvciBjaGFydCBhbm5vdGF0aW9uIGVsZW1lbnRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBhY2Nlc3NpYmlsaXR5OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgY29vcmRpbmF0ZSB1bml0cyBvZiB0aGUgYW5ub3RhdGlvbi4gXG4gICAgICogVGhlIG9wdGlvbnMgYXJlOiBcbiAgICAgKiAqIFBpeGVsIC0gUmVuZGVycyB0aGUgYW5ub3RhdGlvbiBiYXNlZCBvbiB4IGFuZCB5IHBpeGVsIHZhbHVlcy4gXG4gICAgICogKiBQb2ludCAtIFJlbmRlcnMgdGhlIGFubm90YXRpb24gYmFzZWQgb24geCBhbmQgeSBheGlzIHZhbHVlcy5cbiAgICAgKiBAZGVmYXVsdCAnUGl4ZWwnXG4gICAgICovXG4gICAgcHVibGljIGNvb3JkaW5hdGVVbml0czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBIGRlc2NyaXB0aW9uIGZvciB0aGUgYW5ub3RhdGlvbiB0aGF0IHByb3ZpZGVzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgaXRzIGNvbnRlbnQgZm9yIHNjcmVlbiByZWFkZXJzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGFubm90YXRpb24uIFxuICAgICAqIFRoZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBOZWFyIC0gQWxpZ25zIHRoZSBhbm5vdGF0aW9uIGVsZW1lbnQgdG8gdGhlIGxlZnQgc2lkZS4gXG4gICAgICogKiBGYXIgLSBBbGlnbnMgdGhlIGFubm90YXRpb24gZWxlbWVudCB0byB0aGUgcmlnaHQgc2lkZS4gXG4gICAgICogKiBDZW50ZXIgLSBBbGlnbnMgdGhlIGFubm90YXRpb24gZWxlbWVudCB0byB0aGUgbWlkcG9pbnQuXG4gICAgICogQGRlZmF1bHQgJ0NlbnRlcidcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBwdWJsaWMgaG9yaXpvbnRhbEFsaWdubWVudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHJlZ2lvbnMgb2YgdGhlIGFubm90YXRpb24uIFxuICAgICAqIFRoZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBDaGFydCAtIFJlbmRlcnMgdGhlIGFubm90YXRpb24gYmFzZWQgb24gY2hhcnQgY29vcmRpbmF0ZXMuIFxuICAgICAqICogU2VyaWVzIC0gUmVuZGVycyB0aGUgYW5ub3RhdGlvbiBiYXNlZCBvbiBzZXJpZXMgY29vcmRpbmF0ZXMuXG4gICAgICogQGRlZmF1bHQgJ0NoYXJ0J1xuICAgICAqL1xuICAgIHB1YmxpYyByZWdpb246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgYW5ub3RhdGlvbi4gXG4gICAgICogVGhlIG9wdGlvbnMgYXJlIFxuICAgICAqICogVG9wIC0gQWxpZ25zIHRoZSBhbm5vdGF0aW9uIGVsZW1lbnQgdG8gdGhlIHRvcCBzaWRlLiBcbiAgICAgKiAqIEJvdHRvbSAtIEFsaWducyB0aGUgYW5ub3RhdGlvbiBlbGVtZW50IHRvIHRoZSBib3R0b20gc2lkZS4gXG4gICAgICogKiBNaWRkbGUgLSBBbGlnbnMgdGhlIGFubm90YXRpb24gZWxlbWVudCB0byB0aGUgbWlkcG9pbnQuXG4gICAgICogQGRlZmF1bHQgJ01pZGRsZSdcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBwdWJsaWMgdmVydGljYWxBbGlnbm1lbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGNvb3JkaW5hdGVVbml0YCBpcyBzZXQgdG8gYFBpeGVsYCwgeCBzcGVjaWZpZXMgdGhlIHBpeGVsIHZhbHVlLiBcbiAgICAgKiBJZiBgY29vcmRpbmF0ZVVuaXRgIGlzIHNldCB0byBgUG9pbnRgLCB4IHNwZWNpZmllcyB0aGUgYXhpcyB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnMCdcbiAgICAgKiBAYXNwdHlwZSBvYmplY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgeDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgaG9yaXpvbnRhbCBheGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYW5ub3RhdGlvbi4gXG4gICAgICogUmVxdWlyZXMgdGhlIGBheGVzYCBvZiB0aGUgY2hhcnQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB4QXhpc05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGNvb3JkaW5hdGVVbml0YCBpcyBzZXQgdG8gYFBpeGVsYCwgeSBzcGVjaWZpZXMgdGhlIHBpeGVsIHZhbHVlLiBcbiAgICAgKiBJZiBgY29vcmRpbmF0ZVVuaXRgIGlzIHNldCB0byBgUG9pbnRgLCB5IHNwZWNpZmllcyB0aGUgYXhpcyB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnMCdcbiAgICAgKi9cbiAgICBwdWJsaWMgeTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgdmVydGljYWwgYXhpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGFubm90YXRpb24uIFxuICAgICAqIFJlcXVpcmVzIHRoZSBgYXhlc2Agb2YgdGhlIGNoYXJ0LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgeUF4aXNOYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBjb250ZW50IG9mIHRoZSBhbm5vdGF0aW9uLCB3aGljaCBhbHNvIGFjY2VwdHMgdGhlIElEIG9mIHRoZSBjdXN0b20gZWxlbWVudC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY29udGVudCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY29udGVudDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQW5ub3RhdGlvbiBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWNoYXJ0PmUtYW5ub3RhdGlvbnMnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oQW5ub3RhdGlvbkRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxBbm5vdGF0aW9uc0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignYW5ub3RhdGlvbnMnKTtcbiAgICB9XG59Il19
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
55
55
  },
56
56
  }]
57
57
  }], ctorParameters: function () { return []; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hhcnQvYXhlcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFekUsSUFBSSxLQUFLLEdBQWEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ3hoQyxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7O0dBS0c7QUFVSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQTBCO0lBd1d6RCxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBblc5QyxTQUFJLEdBQWEsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQXFXdkQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7MEdBN1dRLGFBQWE7OEZBQWIsYUFBYSxrL0RBSmdCLG1CQUFtQix3RkFDYix5QkFBeUI7MkZBRzVELGFBQWE7a0JBVHpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsZUFBZSxFQUFFLElBQUksWUFBWSxDQUFDLG1CQUFtQixDQUFDO3dCQUN0RCxxQkFBcUIsRUFBRSxJQUFJLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztxQkFDckU7aUJBQ0o7O0FBaVhEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBd0I7SUFDdkQ7UUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7MEdBSFEsYUFBYTs4RkFBYixhQUFhLGlGQUhZLGFBQWE7MkZBR3RDLGFBQWE7a0JBTnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUM7cUJBQy9DO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuaW1wb3J0IHsgU3RyaXBMaW5lc0RpcmVjdGl2ZSB9IGZyb20gJy4vc3RyaXBsaW5lcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTXVsdGlMZXZlbExhYmVsc0RpcmVjdGl2ZSB9IGZyb20gJy4vbXVsdGlsZXZlbGxhYmVscy5kaXJlY3RpdmUnO1xuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydib3JkZXInLCAnY29lZmZpY2llbnQnLCAnY29sdW1uSW5kZXgnLCAnY3Jvc3Nlc0F0JywgJ2Nyb3NzZXNJbkF4aXMnLCAnY3Jvc3NoYWlyVG9vbHRpcCcsICdkZXNjcmlwdGlvbicsICdkZXNpcmVkSW50ZXJ2YWxzJywgJ2VkZ2VMYWJlbFBsYWNlbWVudCcsICdlbmFibGVBdXRvSW50ZXJ2YWxPblpvb21pbmcnLCAnZW5hYmxlU2Nyb2xsYmFyT25ab29taW5nJywgJ2VuYWJsZVRyaW0nLCAnaW50ZXJ2YWwnLCAnaW50ZXJ2YWxUeXBlJywgJ2lzSW5kZXhlZCcsICdpc0ludmVyc2VkJywgJ2xhYmVsRm9ybWF0JywgJ2xhYmVsSW50ZXJzZWN0QWN0aW9uJywgJ2xhYmVsUGFkZGluZycsICdsYWJlbFBsYWNlbWVudCcsICdsYWJlbFBvc2l0aW9uJywgJ2xhYmVsUm90YXRpb24nLCAnbGFiZWxTdHlsZScsICdsaW5lQnJlYWtBbGlnbm1lbnQnLCAnbGluZVN0eWxlJywgJ2xvZ0Jhc2UnLCAnbWFqb3JHcmlkTGluZXMnLCAnbWFqb3JUaWNrTGluZXMnLCAnbWF4aW11bScsICdtYXhpbXVtTGFiZWxXaWR0aCcsICdtYXhpbXVtTGFiZWxzJywgJ21pbmltdW0nLCAnbWlub3JHcmlkTGluZXMnLCAnbWlub3JUaWNrTGluZXMnLCAnbWlub3JUaWNrc1BlckludGVydmFsJywgJ211bHRpTGV2ZWxMYWJlbHMnLCAnbmFtZScsICdvcHBvc2VkUG9zaXRpb24nLCAncGxhY2VOZXh0VG9BeGlzTGluZScsICdwbG90T2Zmc2V0JywgJ3Bsb3RPZmZzZXRCb3R0b20nLCAncGxvdE9mZnNldExlZnQnLCAncGxvdE9mZnNldFJpZ2h0JywgJ3Bsb3RPZmZzZXRUb3AnLCAncmFuZ2VQYWRkaW5nJywgJ3Jvd0luZGV4JywgJ3Njcm9sbGJhclNldHRpbmdzJywgJ3NrZWxldG9uJywgJ3NrZWxldG9uVHlwZScsICdzcGFuJywgJ3N0YXJ0QW5nbGUnLCAnc3RhcnRGcm9tWmVybycsICdzdHJpcExpbmVzJywgJ3RhYkluZGV4JywgJ3RpY2tQb3NpdGlvbicsICd0aXRsZScsICd0aXRsZVBhZGRpbmcnLCAndGl0bGVSb3RhdGlvbicsICd0aXRsZVN0eWxlJywgJ3ZhbHVlVHlwZScsICd2aXNpYmxlJywgJ3pvb21GYWN0b3InLCAnem9vbVBvc2l0aW9uJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogQXhpcyBEaXJlY3RpdmVcbiAqIGBgYGh0bWxcbiAqIDxlLWF4ZXM+PGUtYXhpcz48L2UtYXhpcz48L2UtYXhlcz5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2UtYXhlcz5lLWF4aXMnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFN0cmlwTGluZXM6IG5ldyBDb250ZW50Q2hpbGQoU3RyaXBMaW5lc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZE11bHRpTGV2ZWxMYWJlbHM6IG5ldyBDb250ZW50Q2hpbGQoTXVsdGlMZXZlbExhYmVsc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEF4aXNEaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxBeGlzRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuICAgIHB1YmxpYyBjaGlsZFN0cmlwTGluZXM6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRNdWx0aUxldmVsTGFiZWxzOiBhbnk7XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydzdHJpcExpbmVzJywgJ211bHRpTGV2ZWxMYWJlbHMnXTtcbiAgICAvKiogXG4gICAgICogQ29uZmlndXJlcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgYm9yZGVyIGFyb3VuZCBtdWx0aS1sZXZlbCBsYWJlbHMsIGluY2x1ZGluZyB0aGUgY29sb3IsIHdpZHRoLCBhbmQgdHlwZSBvZiB0aGUgYm9yZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBib3JkZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBjb2VmZmljaWVudGAgdmFsdWUgYWRqdXN0cyB0aGUgc2l6ZSBvZiB0aGUgcG9sYXIgcmFkYXIgY2hhcnQncyByYWRpdXMuIEEgaGlnaGVyIHZhbHVlIGluY3JlYXNlcyB0aGUgcmFkaXVzIHNpemUsIHdoaWxlIGEgc21hbGxlciB2YWx1ZSBkZWNyZWFzZXMgaXQuXG4gICAgICogQGRlZmF1bHQgMTAwXG4gICAgICovXG4gICAgcHVibGljIGNvZWZmaWNpZW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgaW5kZXggb2YgdGhlIGNvbHVtbiB3aGVyZSB0aGUgYXhpcyBpcyBhc3NvY2lhdGVkIHdoZW4gdGhlIGNoYXJ0IGFyZWEgaXMgZGl2aWRlZCBpbnRvIG11bHRpcGxlIHBsb3QgYXJlYXMgdXNpbmcgYGNvbHVtbnNgLiBcbiAgICAgKiBcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGNvbHVtbkluZGV4OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdmFsdWUgYXQgd2hpY2ggdGhlIGF4aXMgbGluZSBpbnRlcnNlY3RzIHdpdGggdGhlIHZlcnRpY2FsIGF4aXMgb3IgdmljZSB2ZXJzYS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGNyb3NzZXNBdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGF4aXMgd2l0aCB3aGljaCB0aGUgYXhpcyBsaW5lIHNob3VsZCBpbnRlcnNlY3QuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjcm9zc2VzSW5BeGlzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgdG8gY3VzdG9taXplIHRoZSBhcHBlYXJhbmNlIGFuZCBiZWhhdmlvciBvZiB0aGUgY3Jvc3NoYWlyIHRvb2x0aXAgdGhhdCBhcHBlYXJzIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgY2hhcnQuXG4gICAgICovXG4gICAgcHVibGljIGNyb3NzaGFpclRvb2x0aXA6IGFueTtcbiAgICAvKiogXG4gICAgICogQSBkZXNjcmlwdGlvbiBmb3IgdGhlIGF4aXMgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IGl0cyBjb250ZW50IGZvciBzY3JlZW4gcmVhZGVycy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBgZGVzaXJlZEludGVydmFsc2AgcHJvcGVydHkgYWxsb3dzIHRoZSBheGlzIHRvIGNhbGN1bGF0ZSBpbnRlcnZhbHMgdGhhdCBhcmUgcm91Z2hseSBlcXVhbCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciwgcHJvbW90aW5nIGEgbW9yZSByZWFkYWJsZSBhbmQgZXZlbmx5IHNwYWNlZCBheGlzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqL1xuICAgIHB1YmxpYyBkZXNpcmVkSW50ZXJ2YWxzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBgZWRnZUxhYmVsUGxhY2VtZW50YCBwcm9wZXJ0eSBlbnN1cmVzIHRoYXQgbGFiZWxzIHBvc2l0aW9uZWQgYXQgdGhlIGVkZ2VzIG9mIHRoZSBheGlzIGRvIG5vdCBvdmVybGFwIHdpdGggdGhlIGF4aXMgYm91bmRhcmllcyBvciBvdGhlciBjaGFydCBlbGVtZW50cywgb2ZmZXJpbmcgc2V2ZXJhbCBvcHRpb25zIHRvIGltcHJvdmUgY2hhcnQgcmVhZGFiaWxpdHkgYnkgbWFuYWdpbmcgZWRnZSBsYWJlbHMgZWZmZWN0aXZlbHkuIFxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBOb25lOiBObyBhY3Rpb24gd2lsbCBiZSBwZXJmb3JtZWQgb24gZWRnZSBsYWJlbHMuIFxuICAgICAqICogSGlkZTogRWRnZSBsYWJlbHMgd2lsbCBiZSBoaWRkZW4gdG8gcHJldmVudCBvdmVybGFwLiBcbiAgICAgKiAqIFNoaWZ0OiBFZGdlIGxhYmVscyB3aWxsIGJlIHNoaWZ0ZWQgdG8gZml0IHdpdGhpbiB0aGUgYXhpcyBib3VuZHMgd2l0aG91dCBvdmVybGFwcGluZy5cbiAgICAgKiBAZGVmYXVsdCAnTm9uZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgZWRnZUxhYmVsUGxhY2VtZW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byB0cnVlLCB0aGUgYXhpcyBpbnRlcnZhbCB3aWxsIGJlIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGUgem9vbWVkIHJhbmdlLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlQXV0b0ludGVydmFsT25ab29taW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byB0cnVlLCBhIHNjcm9sbGJhciB3aWxsIGFwcGVhciB3aGlsZSB6b29taW5nIHRvIGhlbHAgbmF2aWdhdGUgdGhyb3VnaCB0aGUgem9vbWVkIGNvbnRlbnQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVTY3JvbGxiYXJPblpvb21pbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIGF4aXMgbGFiZWxzIHdpbGwgYmUgdHJpbW1lZCBiYXNlZCBvbiB0aGUgYG1heGltdW1MYWJlbFdpZHRoYC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVUcmltOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgaW50ZXJ2YWwgZm9yIHRoZSBheGlzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqL1xuICAgIHB1YmxpYyBpbnRlcnZhbDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYGludGVydmFsVHlwZWAgcHJvcGVydHkgZGVmaW5lcyBob3cgdGhlIGludGVydmFscyBvbiBhIGRhdGUtdGltZSBheGlzIGFyZSBjYWxjdWxhdGVkIGFuZCBkaXNwbGF5ZWQuIFxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBBdXRvOiBBdXRvbWF0aWNhbGx5IGRldGVybWluZXMgdGhlIGludGVydmFsIHR5cGUgYmFzZWQgb24gdGhlIGRhdGEgYW5kIGNoYXJ0IHNldHRpbmdzLiBcbiAgICAgKiAqIFllYXJzOiBTZXRzIHRoZSBpbnRlcnZhbCBvZiB0aGUgYXhpcyBpbiB5ZWFycy4gXG4gICAgICogKiBNb250aHM6IFNldHMgdGhlIGludGVydmFsIG9mIHRoZSBheGlzIGluIG1vbnRocy4gXG4gICAgICogKiBEYXlzOiBTZXRzIHRoZSBpbnRlcnZhbCBvZiB0aGUgYXhpcyBpbiBkYXlzLiBcbiAgICAgKiAqIEhvdXJzOiBTZXRzIHRoZSBpbnRlcnZhbCBvZiB0aGUgYXhpcyBpbiBob3Vycy4gXG4gICAgICogKiBNaW51dGVzOiBTZXRzIHRoZSBpbnRlcnZhbCBvZiB0aGUgYXhpcyBpbiBtaW51dGVzLlxuICAgICAqIEBkZWZhdWx0ICdBdXRvJ1xuICAgICAqL1xuICAgIHB1YmxpYyBpbnRlcnZhbFR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIGRhdGEgcG9pbnRzIGFyZSByZW5kZXJlZCBiYXNlZCBvbiB0aGVpciBpbmRleC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc0luZGV4ZWQ6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBheGlzIHdpbGwgYmUgcmVuZGVyZWQgaW4gYW4gaW52ZXJzZWQgbWFubmVyLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGlzSW52ZXJzZWQ6IGFueTtcbiAgICAvKiogXG4gICAgICogVXNlZCB0byBmb3JtYXQgdGhlIGF4aXMgbGFiZWwuIFRoaXMgcHJvcGVydHkgYWNjZXB0cyBnbG9iYWwgc3RyaW5nIGZvcm1hdHMgc3VjaCBhcyBgQ2AsIGBuMWAsIGBQYCwgZXRjLiBcbiAgICAgKiBJdCBhbHNvIGFjY2VwdHMgcGxhY2Vob2xkZXJzIGxpa2UgYHt2YWx1ZX3CsENgLCB3aGVyZSBge3ZhbHVlfWAgcmVwcmVzZW50cyB0aGUgYXhpcyBsYWJlbCAoZS5nLiwgMjDCsEMpLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGxhYmVsRm9ybWF0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIHRha2Ugd2hlbiBheGlzIGxhYmVscyBpbnRlcnNlY3Qgd2l0aCBlYWNoIG90aGVyLiBcbiAgICAgKiBUaGUgYXZhaWxhYmxlIG9wdGlvbnMgYXJlOiBcbiAgICAgKiAqIE5vbmU6IFNob3dzIGFsbCBsYWJlbHMgd2l0aG91dCBhbnkgbW9kaWZpY2F0aW9uLiBcbiAgICAgKiAqIEhpZGU6IEhpZGVzIHRoZSBsYWJlbCBpZiBpdCBpbnRlcnNlY3RzIHdpdGggYW5vdGhlciBsYWJlbC4gXG4gICAgICogKiBUcmltOiBUcmltcyB0aGUgbGFiZWwgdGV4dCB0byBmaXQgd2l0aGluIHRoZSBhdmFpbGFibGUgc3BhY2UuIFxuICAgICAqICogV3JhcDogV3JhcHMgdGhlIGxhYmVsIHRleHQgdG8gZml0IHdpdGhpbiB0aGUgYXZhaWxhYmxlIHNwYWNlLiBcbiAgICAgKiAqIE11bHRpcGxlUm93czogRGlzcGxheXMgdGhlIGxhYmVsIHRleHQgaW4gbXVsdGlwbGUgcm93cyB0byBhdm9pZCBpbnRlcnNlY3Rpb24uIFxuICAgICAqICogUm90YXRlNDU6IFJvdGF0ZXMgdGhlIGxhYmVsIHRleHQgYnkgNDUgZGVncmVlcyB0byBhdm9pZCBpbnRlcnNlY3Rpb24uIFxuICAgICAqICogUm90YXRlOTA6IFJvdGF0ZXMgdGhlIGxhYmVsIHRleHQgYnkgOTAgZGVncmVlcyB0byBhdm9pZCBpbnRlcnNlY3Rpb24uXG4gICAgICogQGRlZmF1bHQgVHJpbVxuICAgICAqL1xuICAgIHB1YmxpYyBsYWJlbEludGVyc2VjdEFjdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYGxhYmVsUGFkZGluZ2AgcHJvcGVydHkgYWRqdXN0cyB0aGUgZGlzdGFuY2UgdG8gZW5zdXJlIGEgY2xlYXIgc3BhY2UgYmV0d2VlbiB0aGUgYXhpcyBsYWJlbHMgYW5kIHRoZSBheGlzIGxpbmUuXG4gICAgICogQGRlZmF1bHQgNVxuICAgICAqL1xuICAgIHB1YmxpYyBsYWJlbFBhZGRpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBsYWJlbFBsYWNlbWVudGAgcHJvcGVydHkgY29udHJvbHMgd2hlcmUgdGhlIGNhdGVnb3J5IGF4aXMgbGFiZWxzIGFyZSByZW5kZXJlZCBpbiByZWxhdGlvbiB0byB0aGUgYXhpcyB0aWNrcy4gXG4gICAgICogQXZhaWxhYmxlIG9wdGlvbnMgYXJlOiBcbiAgICAgKiAqIEJldHdlZW5UaWNrczogUmVuZGVycyB0aGUgbGFiZWwgYmV0d2VlbiB0aGUgYXhpcyB0aWNrcy4gXG4gICAgICogKiBPblRpY2tzOiBSZW5kZXJzIHRoZSBsYWJlbCBkaXJlY3RseSBvbiB0aGUgYXhpcyB0aWNrcy5cbiAgICAgKiBAZGVmYXVsdCAnQmV0d2VlblRpY2tzJ1xuICAgICAqL1xuICAgIHB1YmxpYyBsYWJlbFBsYWNlbWVudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYGxhYmVsUG9zaXRpb25gIHByb3BlcnR5IGRldGVybWluZXMgd2hlcmUgdGhlIGF4aXMgbGFiZWxzIGFyZSByZW5kZXJlZCBpbiByZWxhdGlvbiB0byB0aGUgYXhpcyBsaW5lLiBcbiAgICAgKiBBdmFpbGFibGUgb3B0aW9ucyBhcmU6IFxuICAgICAqICogSW5zaWRlOiBSZW5kZXJzIHRoZSBsYWJlbHMgaW5zaWRlIHRoZSBheGlzIGxpbmUuIFxuICAgICAqICogT3V0c2lkZTogUmVuZGVycyB0aGUgbGFiZWxzIG91dHNpZGUgdGhlIGF4aXMgbGluZS5cbiAgICAgKiBAZGVmYXVsdCAnT3V0c2lkZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxQb3NpdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYW5nbGUgdG8gd2hpY2ggdGhlIGF4aXMgbGFiZWwgZ2V0cyByb3RhdGVkLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxSb3RhdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIHByb3BlcnR5IGFsbG93cyBkZWZpbmluZyB2YXJpb3VzIGZvbnQgc2V0dGluZ3MgdG8gY29udHJvbCBob3cgdGhlIGxhYmVscyBhcmUgZGlzcGxheWVkIG9uIHRoZSBheGlzLlxuICAgICAqL1xuICAgIHB1YmxpYyBsYWJlbFN0eWxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERldGVybWluZXMgdGhlIGFsaWdubWVudCBvZiBsYWJlbHMgd2hlbiBhIGxpbmUgYnJlYWsgb2NjdXJzIGluIHRoZSBheGlzIGxhYmVscy5cbiAgICAgKiBAZGVmYXVsdCAnQ2VudGVyJ1xuICAgICAqL1xuICAgIHB1YmxpYyBsaW5lQnJlYWtBbGlnbm1lbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIGF4aXMgbGluZXMuXG4gICAgICovXG4gICAgcHVibGljIGxpbmVTdHlsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGJhc2UgdmFsdWUgZm9yIGEgbG9nYXJpdGhtaWMgYXhpcy4gXG4gICAgICogPiBOb3RlIHRoYXQgYHZhbHVlVHlwZWAgbXVzdCBiZSBzZXQgdG8gYExvZ2FyaXRobWljYCBmb3IgdGhpcyBmZWF0dXJlIHRvIHdvcmsuXG4gICAgICogQGRlZmF1bHQgMTBcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nQmFzZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyBtYWpvciBncmlkIGxpbmVzIG9uIHRoZSBheGlzLlxuICAgICAqL1xuICAgIHB1YmxpYyBtYWpvckdyaWRMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyBtYWpvciB0aWNrIGxpbmVzIG9uIHRoZSBheGlzLlxuICAgICAqL1xuICAgIHB1YmxpYyBtYWpvclRpY2tMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIGF4aXMgcmFuZ2UsIHdoaWNoIHNldHMgdGhlIHVwcGVyIGJvdW5kIG9mIHRoZSBheGlzIGFuZCBkZWZpbmVzIHRoZSBsYXJnZXN0IHZhbHVlIGRpc3BsYXllZCBvbiB0aGUgY2hhcnQsIGhlbHBpbmcgdG8gY29udHJvbCB0aGUgdmlzaWJsZSByYW5nZSBvZiBkYXRhLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgbWF4aW11bTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gd2lkdGggb2YgYW4gYXhpcyBsYWJlbC5cbiAgICAgKiBAZGVmYXVsdCAzNC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWF4aW11bUxhYmVsV2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBsYWJlbHMgcGVyIDEwMCBwaXhlbHMgcmVsYXRpdmUgdG8gdGhlIGF4aXMgbGVuZ3RoLlxuICAgICAqIEBkZWZhdWx0IDNcbiAgICAgKi9cbiAgICBwdWJsaWMgbWF4aW11bUxhYmVsczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIGF4aXMgcmFuZ2UsIHdoaWNoIHNldHMgdGhlIGxvd2VyIGJvdW5kIG9mIHRoZSBheGlzIGFuZCBkZWZpbmVzIHRoZSBzbWFsbGVzdCB2YWx1ZSB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIG9uIHRoZSBjaGFydCB0byBjb250cm9sIHRoZSB2aXNpYmxlIHJhbmdlIG9mIGRhdGEuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBtaW5pbXVtOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIG1pbm9yIGdyaWQgbGluZXMgb24gdGhlIGF4aXMuXG4gICAgICovXG4gICAgcHVibGljIG1pbm9yR3JpZExpbmVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIG1pbm9yIHRpY2sgbGluZXMgb24gdGhlIGF4aXMuXG4gICAgICovXG4gICAgcHVibGljIG1pbm9yVGlja0xpbmVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIG1pbm9yIHRpY2tzIHBlciBpbnRlcnZhbC5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIG1pbm9yVGlja3NQZXJJbnRlcnZhbDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBNdWx0aS1sZXZlbCBsYWJlbHMgYXJlIHVzZWQgdG8gZGlzcGxheSBoaWVyYXJjaGljYWwgb3IgZ3JvdXBlZCBsYWJlbHMgb24gdGhlIGF4aXMsIGFsbG93aW5nIGZvciBhIG1vcmUgZGV0YWlsZWQgYW5kIHN0cnVjdHVyZWQgZGF0YSByZXByZXNlbnRhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgbXVsdGlMZXZlbExhYmVsczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciBhbiBheGlzLiBUbyBhc3NvY2lhdGUgYW4gYXhpcyB3aXRoIGEgc2VyaWVzLCBzZXQgdGhpcyBuYW1lIHRvIHRoZSBgeEF4aXNOYW1lYCBvciBgeUF4aXNOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBzZXJpZXMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGF4aXMgd2lsbCByZW5kZXIgb24gdGhlIG9wcG9zaXRlIHNpZGUgb2YgaXRzIGRlZmF1bHQgcG9zaXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgb3Bwb3NlZFBvc2l0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIGF4aXMgZWxlbWVudHMsIHN1Y2ggYXMgYXhpcyBsYWJlbHMgYW5kIHRoZSBheGlzIHRpdGxlLCBzaG91bGQgYmUgY3Jvc3NlZCBieSB0aGUgYXhpcyBsaW5lLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgcGxhY2VOZXh0VG9BeGlzTGluZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHBhZGRpbmcgb24gdGhlIHRvcCwgYm90dG9tLCBsZWZ0IGFuZCByaWdodCBzaWRlcyBvZiB0aGUgY2hhcnQgYXJlYSwgaW4gcGl4ZWxzLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgcGxvdE9mZnNldDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGJvdHRvbSBwYWRkaW5nIGZvciB0aGUgY2hhcnQgYXJlYSwgaW4gcGl4ZWxzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgcGxvdE9mZnNldEJvdHRvbTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGxlZnQgcGFkZGluZyBmb3IgdGhlIGNoYXJ0IGFyZWEsIGluIHBpeGVscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHBsb3RPZmZzZXRMZWZ0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgcmlnaHQgcGFkZGluZyBmb3IgdGhlIGNoYXJ0IGFyZWEsIGluIHBpeGVscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHBsb3RPZmZzZXRSaWdodDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRvcCBwYWRkaW5nIGZvciB0aGUgY2hhcnQgYXJlYSwgaW4gcGl4ZWxzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgcGxvdE9mZnNldFRvcDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYHJhbmdlUGFkZGluZ2AgcHJvcGVydHkgZGV0ZXJtaW5lcyBob3cgcGFkZGluZyBpcyBhcHBsaWVkIHRvIHRoZSBheGlzIHJhbmdlLCBhZmZlY3RpbmcgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGNoYXJ0IGJ5IGFkanVzdGluZyB0aGUgbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZXMgb2YgdGhlIGF4aXMuIFxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBOb25lOiBObyBwYWRkaW5nIGlzIGFwcGxpZWQgdG8gdGhlIGF4aXMuIFxuICAgICAqICogTm9ybWFsOiBQYWRkaW5nIGlzIGFwcGxpZWQgYmFzZWQgb24gdGhlIHJhbmdlIGNhbGN1bGF0aW9uLiBcbiAgICAgKiAqIEFkZGl0aW9uYWw6IFRoZSBpbnRlcnZhbCBvZiB0aGUgYXhpcyBpcyBhZGRlZCBhcyBwYWRkaW5nIHRvIGJvdGggdGhlIG1pbmltdW0gYW5kIG1heGltdW0gdmFsdWVzIG9mIHRoZSByYW5nZS4gXG4gICAgICogKiBSb3VuZDogVGhlIGF4aXMgcmFuZ2UgaXMgcm91bmRlZCB0byB0aGUgbmVhcmVzdCBwb3NzaWJsZSB2YWx1ZSB0aGF0IGlzIGRpdmlzaWJsZSBieSB0aGUgaW50ZXJ2YWwuXG4gICAgICogQGRlZmF1bHQgJ0F1dG8nXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlUGFkZGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGluZGV4IG9mIHRoZSByb3cgd2hlcmUgdGhlIGF4aXMgaXMgYXNzb2NpYXRlZCB3aGVuIHRoZSBjaGFydCBhcmVhIGlzIGRpdmlkZWQgaW50byBtdWx0aXBsZSBwbG90IGFyZWFzIHVzaW5nIGByb3dzYC4gXG4gICAgICogXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyByb3dJbmRleDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDb25maWd1cmVzIHRoZSBzY3JvbGxiYXIgd2l0aCBvcHRpb25zIGZvciBjdXN0b21pemF0aW9uLCBpbmNsdWRpbmcgYXBwZWFyYW5jZSwgYmVoYXZpb3IsIGFuZCBsYXp5IGxvYWRpbmcgc2V0dGluZ3MuXG4gICAgICovXG4gICAgcHVibGljIHNjcm9sbGJhclNldHRpbmdzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgc2tlbGV0b24gZm9ybWF0IHVzZWQgZm9yIHByb2Nlc3NpbmcgZGF0ZS10aW1lIHZhbHVlcy5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBza2VsZXRvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGZvcm1hdCB0eXBlIHRvIGJlIHVzZWQgaW4gZGF0ZS10aW1lIGZvcm1hdHRpbmcuXG4gICAgICogQGRlZmF1bHQgJ0RhdGVUaW1lJ1xuICAgICAqIEBkZXByZWNhdGVkIFxuICAgICAqL1xuICAgIHB1YmxpYyBza2VsZXRvblR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgYGNvbHVtbnNgIG9yIGByb3dzYCB0aGF0IGFuIGF4aXMgc3BhbnMgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIHB1YmxpYyBzcGFuOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgc3RhcnQgYW5nbGUgZm9yIHRoZSBzZXJpZXMgaW4gYSBwb2xhciBvciByYWRhciBjaGFydCwgbWVhc3VyZWQgaW4gZGVncmVlcyBmcm9tIHRoZSBob3Jpem9udGFsIGF4aXMsIGRldGVybWluaW5nIHRoZSBpbml0aWFsIGFuZ2xlIGZyb20gd2hpY2ggdGhlIHNlcmllcyBiZWdpbnMuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGFydEFuZ2xlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byB0cnVlLCB0aGUgYXhpcyBzdGFydHMgZnJvbSB6ZXJvLiBcbiAgICAgKiBJZiBzZXQgdG8gZmFsc2UsIHRoZSBheGlzIHN0YXJ0cyBmcm9tIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBkYXRhLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnRGcm9tWmVybzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGNvbGxlY3Rpb24gb2Ygc3RyaXAgbGluZXMgZm9yIHRoZSBheGlzLCB3aGljaCBhcmUgdmlzdWFsIGVsZW1lbnRzIHVzZWQgdG8gbWFyayBvciBoaWdobGlnaHQgc3BlY2lmaWMgcmFuZ2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdHJpcExpbmVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBgdGFiSW5kZXhgIHZhbHVlIGZvciB0aGUgYXhpcywgZGV0ZXJtaW5pbmcgaXRzIHBvc2l0aW9uIGluIHRoZSB0YWIgb3JkZXIuXG4gICAgICogQGRlZmF1bHQgMlxuICAgICAqL1xuICAgIHB1YmxpYyB0YWJJbmRleDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYHRpY2tQb3NpdGlvbmAgcHJvcGVydHkgZGV0ZXJtaW5lcyB3aGVyZSB0aGUgYXhpcyB0aWNrcyBhcmUgcmVuZGVyZWQgaW4gcmVsYXRpb24gdG8gdGhlIGF4aXMgbGluZS4gXG4gICAgICogQXZhaWxhYmxlIG9wdGlvbnMgYXJlOiBcbiAgICAgKiAqIEluc2lkZTogUmVuZGVycyB0aGUgdGlja3MgaW5zaWRlIHRoZSBheGlzIGxpbmUuIFxuICAgICAqICogT3V0c2lkZTogUmVuZGVycyB0aGUgdGlja3Mgb3V0c2lkZSB0aGUgYXhpcyBsaW5lLlxuICAgICAqIEBkZWZhdWx0ICdPdXRzaWRlJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0aWNrUG9zaXRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB0aXRsZSBvZiBhbiBheGlzLCBkaXNwbGF5ZWQgYWxvbmcgdGhlIGF4aXMgdG8gcHJvdmlkZSBjb250ZXh0IGFib3V0IHRoZSByZXByZXNlbnRlZCBkYXRhLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHRpdGxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgcGFkZGluZyBiZXR3ZWVuIHRoZSBheGlzIHRpdGxlIGFuZCB0aGUgYXhpcyBsYWJlbHMuXG4gICAgICogQGRlZmF1bHQgNVxuICAgICAqL1xuICAgIHB1YmxpYyB0aXRsZVBhZGRpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBhbiBhbmdsZSBmb3Igcm90YXRpbmcgdGhlIGF4aXMgdGl0bGUuIEJ5IGRlZmF1bHQsIHRoZSBhbmdsZSBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBwb3NpdGlvbiBhbmQgb3JpZW50YXRpb24gb2YgdGhlIGF4aXMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB0aXRsZVJvdGF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBheGlzIHRpdGxlLCBpbmNsdWRpbmcgZm9udCBmYW1pbHksIHNpemUsIHN0eWxlLCB3ZWlnaHQsIGFuZCBjb2xvci5cbiAgICAgKi9cbiAgICBwdWJsaWMgdGl0bGVTdHlsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYHZhbHVlVHlwZWAgcHJvcGVydHkgZGVmaW5lcyB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgdGhlIGF4aXMgY2FuIG1hbmFnZSwgZW5zdXJpbmcgY29ycmVjdCByZW5kZXJpbmcgYmFzZWQgb24gdGhlIGRhdGEgdHlwZS4gVGhpcyBwcm9wZXJ0eSBzdXBwb3J0cyBtdWx0aXBsZSBkYXRhIHR5cGVzLCBlYWNoIHN1aXRlZCBmb3IgZGlmZmVyZW50IGtpbmRzIG9mIGRhdGEgdmlzdWFsaXphdGlvbi4gXG4gICAgICogQXZhaWxhYmxlIG9wdGlvbnMgaW5jbHVkZTogXG4gICAgICogKiBEb3VibGU6IFVzZWQgZm9yIHJlbmRlcmluZyBhIG51bWVyaWMgYXhpcyB0byBhY2NvbW1vZGF0ZSBudW1lcmljIGRhdGEuIFxuICAgICAqICogRGF0ZVRpbWU6IFV0aWxpemVkIGZvciByZW5kZXJpbmcgYSBkYXRlLXRpbWUgYXhpcyB0byBtYW5hZ2UgZGF0ZS10aW1lIGRhdGEuIFxuICAgICAqICogQ2F0ZWdvcnk6IEVtcGxveWVkIGZvciByZW5kZXJpbmcgYSBjYXRlZ29yeSBheGlzIHRvIG1hbmFnZSBjYXRlZ29yaWNhbCBkYXRhLiBcbiAgICAgKiAqIExvZ2FyaXRobWljOiBBcHBsaWVkIGZvciByZW5kZXJpbmcgYSBsb2dhcml0aG1pYyBheGlzIHRvIGhhbmRsZSBhIHdpZGUgcmFuZ2Ugb2YgdmFsdWVzLiBcbiAgICAgKiAqIERhdGVUaW1lQ2F0ZWdvcnk6IFVzZWQgdG8gcmVuZGVyIGEgZGF0ZS10aW1lIGNhdGVnb3J5IGF4aXMgZm9yIG1hbmFnaW5nIGJ1c2luZXNzIGRheXMuXG4gICAgICogQGRlZmF1bHQgJ0RvdWJsZSdcbiAgICAgKiBAYmxhem9ydHlwZSBTeW5jZnVzaW9uLkVKMi5CbGF6b3IuQ2hhcnRzLlZhbHVlVHlwZVxuICAgICAqIEBpc2VudW1lcmF0aW9uIHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsdWVUeXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byB0cnVlLCBheGlzIGxhYmVscyB3aWxsIGJlIHZpc2libGUgaW4gdGhlIGNoYXJ0LiBCeSBkZWZhdWx0LCBheGlzIGxhYmVscyBhcmUgZW5hYmxlZC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHZpc2libGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGF4aXMgaXMgc2NhbGVkIGJ5IHRoaXMgZmFjdG9yLiBXaGVuIGB6b29tRmFjdG9yYCBpcyAwLjUsIHRoZSBjaGFydCBpcyBzY2FsZWQgYnkgMjAwJSBhbG9uZyB0aGlzIGF4aXMuIFxuICAgICAqID4gTm90ZSB0aGUgdmFsdWUgcmFuZ2VzIGZyb20gMCB0byAxLlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBwdWJsaWMgem9vbUZhY3RvcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBwb3NpdGlvbiBvZiB0aGUgem9vbWVkIGF4aXMgb24gdGhlIGNoYXJ0LCB3aXRoIHRoZSBgem9vbVBvc2l0aW9uYCBwcm9wZXJ0eSBzcGVjaWZ5aW5nIHRoZSBwb3NpdGlvbiB3aXRoaW4gdGhlIHpvb21lZCByYW5nZSwgZnJvbSAwIChzdGFydCkgdG8gMSAoZW5kKS5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIHpvb21Qb3NpdGlvbjogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQXhpcyBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWNoYXJ0PmUtYXhlcycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZHJlbjogbmV3IENvbnRlbnRDaGlsZHJlbihBeGlzRGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEF4ZXNEaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8QXhlc0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignYXhlcycpO1xuICAgIH1cbn0iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hhcnQvYXhlcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFekUsSUFBSSxLQUFLLEdBQWEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ3hoQyxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7O0dBS0c7QUFVSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQTBCO0lBd1d6RCxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBblc5QyxTQUFJLEdBQWEsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQXFXdkQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7MEdBN1dRLGFBQWE7OEZBQWIsYUFBYSxrL0RBSmdCLG1CQUFtQix3RkFDYix5QkFBeUI7MkZBRzVELGFBQWE7a0JBVHpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsZUFBZSxFQUFFLElBQUksWUFBWSxDQUFDLG1CQUFtQixDQUFDO3dCQUN0RCxxQkFBcUIsRUFBRSxJQUFJLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztxQkFDckU7aUJBQ0o7O0FBaVhEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBd0I7SUFDdkQ7UUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7MEdBSFEsYUFBYTs4RkFBYixhQUFhLGlGQUhZLGFBQWE7MkZBR3RDLGFBQWE7a0JBTnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUM7cUJBQy9DO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuaW1wb3J0IHsgU3RyaXBMaW5lc0RpcmVjdGl2ZSB9IGZyb20gJy4vc3RyaXBsaW5lcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTXVsdGlMZXZlbExhYmVsc0RpcmVjdGl2ZSB9IGZyb20gJy4vbXVsdGlsZXZlbGxhYmVscy5kaXJlY3RpdmUnO1xuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydib3JkZXInLCAnY29lZmZpY2llbnQnLCAnY29sdW1uSW5kZXgnLCAnY3Jvc3Nlc0F0JywgJ2Nyb3NzZXNJbkF4aXMnLCAnY3Jvc3NoYWlyVG9vbHRpcCcsICdkZXNjcmlwdGlvbicsICdkZXNpcmVkSW50ZXJ2YWxzJywgJ2VkZ2VMYWJlbFBsYWNlbWVudCcsICdlbmFibGVBdXRvSW50ZXJ2YWxPblpvb21pbmcnLCAnZW5hYmxlU2Nyb2xsYmFyT25ab29taW5nJywgJ2VuYWJsZVRyaW0nLCAnaW50ZXJ2YWwnLCAnaW50ZXJ2YWxUeXBlJywgJ2lzSW5kZXhlZCcsICdpc0ludmVyc2VkJywgJ2xhYmVsRm9ybWF0JywgJ2xhYmVsSW50ZXJzZWN0QWN0aW9uJywgJ2xhYmVsUGFkZGluZycsICdsYWJlbFBsYWNlbWVudCcsICdsYWJlbFBvc2l0aW9uJywgJ2xhYmVsUm90YXRpb24nLCAnbGFiZWxTdHlsZScsICdsaW5lQnJlYWtBbGlnbm1lbnQnLCAnbGluZVN0eWxlJywgJ2xvZ0Jhc2UnLCAnbWFqb3JHcmlkTGluZXMnLCAnbWFqb3JUaWNrTGluZXMnLCAnbWF4aW11bScsICdtYXhpbXVtTGFiZWxXaWR0aCcsICdtYXhpbXVtTGFiZWxzJywgJ21pbmltdW0nLCAnbWlub3JHcmlkTGluZXMnLCAnbWlub3JUaWNrTGluZXMnLCAnbWlub3JUaWNrc1BlckludGVydmFsJywgJ211bHRpTGV2ZWxMYWJlbHMnLCAnbmFtZScsICdvcHBvc2VkUG9zaXRpb24nLCAncGxhY2VOZXh0VG9BeGlzTGluZScsICdwbG90T2Zmc2V0JywgJ3Bsb3RPZmZzZXRCb3R0b20nLCAncGxvdE9mZnNldExlZnQnLCAncGxvdE9mZnNldFJpZ2h0JywgJ3Bsb3RPZmZzZXRUb3AnLCAncmFuZ2VQYWRkaW5nJywgJ3Jvd0luZGV4JywgJ3Njcm9sbGJhclNldHRpbmdzJywgJ3NrZWxldG9uJywgJ3NrZWxldG9uVHlwZScsICdzcGFuJywgJ3N0YXJ0QW5nbGUnLCAnc3RhcnRGcm9tWmVybycsICdzdHJpcExpbmVzJywgJ3RhYkluZGV4JywgJ3RpY2tQb3NpdGlvbicsICd0aXRsZScsICd0aXRsZVBhZGRpbmcnLCAndGl0bGVSb3RhdGlvbicsICd0aXRsZVN0eWxlJywgJ3ZhbHVlVHlwZScsICd2aXNpYmxlJywgJ3pvb21GYWN0b3InLCAnem9vbVBvc2l0aW9uJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogQXhpcyBEaXJlY3RpdmVcbiAqIGBgYGh0bWxcbiAqIDxlLWF4ZXM+PGUtYXhpcz48L2UtYXhpcz48L2UtYXhlcz5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2UtYXhlcz5lLWF4aXMnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFN0cmlwTGluZXM6IG5ldyBDb250ZW50Q2hpbGQoU3RyaXBMaW5lc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZE11bHRpTGV2ZWxMYWJlbHM6IG5ldyBDb250ZW50Q2hpbGQoTXVsdGlMZXZlbExhYmVsc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEF4aXNEaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxBeGlzRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuICAgIHB1YmxpYyBjaGlsZFN0cmlwTGluZXM6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRNdWx0aUxldmVsTGFiZWxzOiBhbnk7XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydzdHJpcExpbmVzJywgJ211bHRpTGV2ZWxMYWJlbHMnXTtcbiAgICAvKiogXG4gICAgICogQ29uZmlndXJlcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgYm9yZGVyIGFyb3VuZCBtdWx0aS1sZXZlbCBsYWJlbHMsIGluY2x1ZGluZyB0aGUgY29sb3IsIHdpZHRoLCBhbmQgdHlwZSBvZiB0aGUgYm9yZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBib3JkZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBjb2VmZmljaWVudGAgdmFsdWUgYWRqdXN0cyB0aGUgc2l6ZSBvZiB0aGUgcG9sYXIgcmFkYXIgY2hhcnQncyByYWRpdXMuIEEgaGlnaGVyIHZhbHVlIGluY3JlYXNlcyB0aGUgcmFkaXVzIHNpemUsIHdoaWxlIGEgc21hbGxlciB2YWx1ZSBkZWNyZWFzZXMgaXQuXG4gICAgICogQGRlZmF1bHQgMTAwXG4gICAgICovXG4gICAgcHVibGljIGNvZWZmaWNpZW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgaW5kZXggb2YgdGhlIGNvbHVtbiB3aGVyZSB0aGUgYXhpcyBpcyBhc3NvY2lhdGVkIHdoZW4gdGhlIGNoYXJ0IGFyZWEgaXMgZGl2aWRlZCBpbnRvIG11bHRpcGxlIHBsb3QgYXJlYXMgdXNpbmcgYGNvbHVtbnNgLiBcbiAgICAgKiBcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGNvbHVtbkluZGV4OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdmFsdWUgYXQgd2hpY2ggdGhlIGF4aXMgbGluZSBpbnRlcnNlY3RzIHdpdGggdGhlIHZlcnRpY2FsIGF4aXMgb3IgdmljZSB2ZXJzYS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGNyb3NzZXNBdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGF4aXMgd2l0aCB3aGljaCB0aGUgYXhpcyBsaW5lIHNob3VsZCBpbnRlcnNlY3QuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjcm9zc2VzSW5BeGlzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgdG8gY3VzdG9taXplIHRoZSBhcHBlYXJhbmNlIGFuZCBiZWhhdmlvciBvZiB0aGUgY3Jvc3NoYWlyIHRvb2x0aXAgdGhhdCBhcHBlYXJzIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgY2hhcnQuXG4gICAgICovXG4gICAgcHVibGljIGNyb3NzaGFpclRvb2x0aXA6IGFueTtcbiAgICAvKiogXG4gICAgICogQSBkZXNjcmlwdGlvbiBmb3IgdGhlIGF4aXMgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IGl0cyBjb250ZW50IGZvciBzY3JlZW4gcmVhZGVycy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBgZGVzaXJlZEludGVydmFsc2AgcHJvcGVydHkgYWxsb3dzIHRoZSBheGlzIHRvIGNhbGN1bGF0ZSBpbnRlcnZhbHMgdGhhdCBhcmUgcm91Z2hseSBlcXVhbCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciwgcHJvbW90aW5nIGEgbW9yZSByZWFkYWJsZSBhbmQgZXZlbmx5IHNwYWNlZCBheGlzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqL1xuICAgIHB1YmxpYyBkZXNpcmVkSW50ZXJ2YWxzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBgZWRnZUxhYmVsUGxhY2VtZW50YCBwcm9wZXJ0eSBlbnN1cmVzIHRoYXQgbGFiZWxzIHBvc2l0aW9uZWQgYXQgdGhlIGVkZ2VzIG9mIHRoZSBheGlzIGRvIG5vdCBvdmVybGFwIHdpdGggdGhlIGF4aXMgYm91bmRhcmllcyBvciBvdGhlciBjaGFydCBlbGVtZW50cywgb2ZmZXJpbmcgc2V2ZXJhbCBvcHRpb25zIHRvIGltcHJvdmUgY2hhcnQgcmVhZGFiaWxpdHkgYnkgbWFuYWdpbmcgZWRnZSBsYWJlbHMgZWZmZWN0aXZlbHkuIFxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBOb25lOiBObyBhY3Rpb24gd2lsbCBiZSBwZXJmb3JtZWQgb24gZWRnZSBsYWJlbHMuIFxuICAgICAqICogSGlkZTogRWRnZSBsYWJlbHMgd2lsbCBiZSBoaWRkZW4gdG8gcHJldmVudCBvdmVybGFwLiBcbiAgICAgKiAqIFNoaWZ0OiBFZGdlIGxhYmVscyB3aWxsIGJlIHNoaWZ0ZWQgdG8gZml0IHdpdGhpbiB0aGUgYXhpcyBib3VuZHMgd2l0aG91dCBvdmVybGFwcGluZy5cbiAgICAgKiBAZGVmYXVsdCAnU2hpZnQnXG4gICAgICovXG4gICAgcHVibGljIGVkZ2VMYWJlbFBsYWNlbWVudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGF4aXMgaW50ZXJ2YWwgd2lsbCBiZSBjYWxjdWxhdGVkIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gdGhlIHpvb21lZCByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZUF1dG9JbnRlcnZhbE9uWm9vbWluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgYSBzY3JvbGxiYXIgd2lsbCBhcHBlYXIgd2hpbGUgem9vbWluZyB0byBoZWxwIG5hdmlnYXRlIHRocm91Z2ggdGhlIHpvb21lZCBjb250ZW50LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlU2Nyb2xsYmFyT25ab29taW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byB0cnVlLCBheGlzIGxhYmVscyB3aWxsIGJlIHRyaW1tZWQgYmFzZWQgb24gdGhlIGBtYXhpbXVtTGFiZWxXaWR0aGAuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlVHJpbTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGludGVydmFsIGZvciB0aGUgYXhpcy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZWlnbm9yZSBcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJ2YWw6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBpbnRlcnZhbFR5cGVgIHByb3BlcnR5IGRlZmluZXMgaG93IHRoZSBpbnRlcnZhbHMgb24gYSBkYXRlLXRpbWUgYXhpcyBhcmUgY2FsY3VsYXRlZCBhbmQgZGlzcGxheWVkLiBcbiAgICAgKiBBdmFpbGFibGUgb3B0aW9ucyBhcmU6IFxuICAgICAqICogQXV0bzogQXV0b21hdGljYWxseSBkZXRlcm1pbmVzIHRoZSBpbnRlcnZhbCB0eXBlIGJhc2VkIG9uIHRoZSBkYXRhIGFuZCBjaGFydCBzZXR0aW5ncy4gXG4gICAgICogKiBZZWFyczogU2V0cyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4geWVhcnMuIFxuICAgICAqICogTW9udGhzOiBTZXRzIHRoZSBpbnRlcnZhbCBvZiB0aGUgYXhpcyBpbiBtb250aHMuIFxuICAgICAqICogRGF5czogU2V0cyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4gZGF5cy4gXG4gICAgICogKiBIb3VyczogU2V0cyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4gaG91cnMuIFxuICAgICAqICogTWludXRlczogU2V0cyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4gbWludXRlcy5cbiAgICAgKiBAZGVmYXVsdCAnQXV0bydcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJ2YWxUeXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byB0cnVlLCBkYXRhIHBvaW50cyBhcmUgcmVuZGVyZWQgYmFzZWQgb24gdGhlaXIgaW5kZXguXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJbmRleGVkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byB0cnVlLCB0aGUgYXhpcyB3aWxsIGJlIHJlbmRlcmVkIGluIGFuIGludmVyc2VkIG1hbm5lci5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc0ludmVyc2VkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFVzZWQgdG8gZm9ybWF0IHRoZSBheGlzIGxhYmVsLiBUaGlzIHByb3BlcnR5IGFjY2VwdHMgZ2xvYmFsIHN0cmluZyBmb3JtYXRzIHN1Y2ggYXMgYENgLCBgbjFgLCBgUGAsIGV0Yy4gXG4gICAgICogSXQgYWxzbyBhY2NlcHRzIHBsYWNlaG9sZGVycyBsaWtlIGB7dmFsdWV9wrBDYCwgd2hlcmUgYHt2YWx1ZX1gIHJlcHJlc2VudHMgdGhlIGF4aXMgbGFiZWwgKGUuZy4sIDIwwrBDKS5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBsYWJlbEZvcm1hdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGFjdGlvbiB0byB0YWtlIHdoZW4gYXhpcyBsYWJlbHMgaW50ZXJzZWN0IHdpdGggZWFjaCBvdGhlci4gXG4gICAgICogVGhlIGF2YWlsYWJsZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBOb25lOiBTaG93cyBhbGwgbGFiZWxzIHdpdGhvdXQgYW55IG1vZGlmaWNhdGlvbi4gXG4gICAgICogKiBIaWRlOiBIaWRlcyB0aGUgbGFiZWwgaWYgaXQgaW50ZXJzZWN0cyB3aXRoIGFub3RoZXIgbGFiZWwuIFxuICAgICAqICogVHJpbTogVHJpbXMgdGhlIGxhYmVsIHRleHQgdG8gZml0IHdpdGhpbiB0aGUgYXZhaWxhYmxlIHNwYWNlLiBcbiAgICAgKiAqIFdyYXA6IFdyYXBzIHRoZSBsYWJlbCB0ZXh0IHRvIGZpdCB3aXRoaW4gdGhlIGF2YWlsYWJsZSBzcGFjZS4gXG4gICAgICogKiBNdWx0aXBsZVJvd3M6IERpc3BsYXlzIHRoZSBsYWJlbCB0ZXh0IGluIG11bHRpcGxlIHJvd3MgdG8gYXZvaWQgaW50ZXJzZWN0aW9uLiBcbiAgICAgKiAqIFJvdGF0ZTQ1OiBSb3RhdGVzIHRoZSBsYWJlbCB0ZXh0IGJ5IDQ1IGRlZ3JlZXMgdG8gYXZvaWQgaW50ZXJzZWN0aW9uLiBcbiAgICAgKiAqIFJvdGF0ZTkwOiBSb3RhdGVzIHRoZSBsYWJlbCB0ZXh0IGJ5IDkwIGRlZ3JlZXMgdG8gYXZvaWQgaW50ZXJzZWN0aW9uLlxuICAgICAqIEBkZWZhdWx0IFRyaW1cbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxJbnRlcnNlY3RBY3Rpb246IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBsYWJlbFBhZGRpbmdgIHByb3BlcnR5IGFkanVzdHMgdGhlIGRpc3RhbmNlIHRvIGVuc3VyZSBhIGNsZWFyIHNwYWNlIGJldHdlZW4gdGhlIGF4aXMgbGFiZWxzIGFuZCB0aGUgYXhpcyBsaW5lLlxuICAgICAqIEBkZWZhdWx0IDVcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxQYWRkaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBgbGFiZWxQbGFjZW1lbnRgIHByb3BlcnR5IGNvbnRyb2xzIHdoZXJlIHRoZSBjYXRlZ29yeSBheGlzIGxhYmVscyBhcmUgcmVuZGVyZWQgaW4gcmVsYXRpb24gdG8gdGhlIGF4aXMgdGlja3MuIFxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBCZXR3ZWVuVGlja3M6IFJlbmRlcnMgdGhlIGxhYmVsIGJldHdlZW4gdGhlIGF4aXMgdGlja3MuIFxuICAgICAqICogT25UaWNrczogUmVuZGVycyB0aGUgbGFiZWwgZGlyZWN0bHkgb24gdGhlIGF4aXMgdGlja3MuXG4gICAgICogQGRlZmF1bHQgJ0JldHdlZW5UaWNrcydcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxQbGFjZW1lbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBsYWJlbFBvc2l0aW9uYCBwcm9wZXJ0eSBkZXRlcm1pbmVzIHdoZXJlIHRoZSBheGlzIGxhYmVscyBhcmUgcmVuZGVyZWQgaW4gcmVsYXRpb24gdG8gdGhlIGF4aXMgbGluZS4gXG4gICAgICogQXZhaWxhYmxlIG9wdGlvbnMgYXJlOiBcbiAgICAgKiAqIEluc2lkZTogUmVuZGVycyB0aGUgbGFiZWxzIGluc2lkZSB0aGUgYXhpcyBsaW5lLiBcbiAgICAgKiAqIE91dHNpZGU6IFJlbmRlcnMgdGhlIGxhYmVscyBvdXRzaWRlIHRoZSBheGlzIGxpbmUuXG4gICAgICogQGRlZmF1bHQgJ091dHNpZGUnXG4gICAgICovXG4gICAgcHVibGljIGxhYmVsUG9zaXRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGFuZ2xlIHRvIHdoaWNoIHRoZSBheGlzIGxhYmVsIGdldHMgcm90YXRlZC5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGxhYmVsUm90YXRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogVGhpcyBwcm9wZXJ0eSBhbGxvd3MgZGVmaW5pbmcgdmFyaW91cyBmb250IHNldHRpbmdzIHRvIGNvbnRyb2wgaG93IHRoZSBsYWJlbHMgYXJlIGRpc3BsYXllZCBvbiB0aGUgYXhpcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxTdHlsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZXRlcm1pbmVzIHRoZSBhbGlnbm1lbnQgb2YgbGFiZWxzIHdoZW4gYSBsaW5lIGJyZWFrIG9jY3VycyBpbiB0aGUgYXhpcyBsYWJlbHMuXG4gICAgICogQGRlZmF1bHQgJ0NlbnRlcidcbiAgICAgKi9cbiAgICBwdWJsaWMgbGluZUJyZWFrQWxpZ25tZW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIHRoZSBheGlzIGxpbmVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5lU3R5bGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBiYXNlIHZhbHVlIGZvciBhIGxvZ2FyaXRobWljIGF4aXMuIFxuICAgICAqID4gTm90ZSB0aGF0IGB2YWx1ZVR5cGVgIG11c3QgYmUgc2V0IHRvIGBMb2dhcml0aG1pY2AgZm9yIHRoaXMgZmVhdHVyZSB0byB3b3JrLlxuICAgICAqIEBkZWZhdWx0IDEwXG4gICAgICovXG4gICAgcHVibGljIGxvZ0Jhc2U6IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgbWFqb3IgZ3JpZCBsaW5lcyBvbiB0aGUgYXhpcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFqb3JHcmlkTGluZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgbWFqb3IgdGljayBsaW5lcyBvbiB0aGUgYXhpcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFqb3JUaWNrTGluZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBheGlzIHJhbmdlLCB3aGljaCBzZXRzIHRoZSB1cHBlciBib3VuZCBvZiB0aGUgYXhpcyBhbmQgZGVmaW5lcyB0aGUgbGFyZ2VzdCB2YWx1ZSBkaXNwbGF5ZWQgb24gdGhlIGNoYXJ0LCBoZWxwaW5nIHRvIGNvbnRyb2wgdGhlIHZpc2libGUgcmFuZ2Ugb2YgZGF0YS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIG1heGltdW06IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGFuIGF4aXMgbGFiZWwuXG4gICAgICogQGRlZmF1bHQgMzQuXG4gICAgICovXG4gICAgcHVibGljIG1heGltdW1MYWJlbFdpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbGFiZWxzIHBlciAxMDAgcGl4ZWxzIHJlbGF0aXZlIHRvIHRoZSBheGlzIGxlbmd0aC5cbiAgICAgKiBAZGVmYXVsdCAzXG4gICAgICovXG4gICAgcHVibGljIG1heGltdW1MYWJlbHM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBheGlzIHJhbmdlLCB3aGljaCBzZXRzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgYXhpcyBhbmQgZGVmaW5lcyB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBvbiB0aGUgY2hhcnQgdG8gY29udHJvbCB0aGUgdmlzaWJsZSByYW5nZSBvZiBkYXRhLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgbWluaW11bTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyBtaW5vciBncmlkIGxpbmVzIG9uIHRoZSBheGlzLlxuICAgICAqL1xuICAgIHB1YmxpYyBtaW5vckdyaWRMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyBtaW5vciB0aWNrIGxpbmVzIG9uIHRoZSBheGlzLlxuICAgICAqL1xuICAgIHB1YmxpYyBtaW5vclRpY2tMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBtaW5vciB0aWNrcyBwZXIgaW50ZXJ2YWwuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyBtaW5vclRpY2tzUGVySW50ZXJ2YWw6IGFueTtcbiAgICAvKiogXG4gICAgICogTXVsdGktbGV2ZWwgbGFiZWxzIGFyZSB1c2VkIHRvIGRpc3BsYXkgaGllcmFyY2hpY2FsIG9yIGdyb3VwZWQgbGFiZWxzIG9uIHRoZSBheGlzLCBhbGxvd2luZyBmb3IgYSBtb3JlIGRldGFpbGVkIGFuZCBzdHJ1Y3R1cmVkIGRhdGEgcmVwcmVzZW50YXRpb24uXG4gICAgICovXG4gICAgcHVibGljIG11bHRpTGV2ZWxMYWJlbHM6IGFueTtcbiAgICAvKiogXG4gICAgICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYW4gYXhpcy4gVG8gYXNzb2NpYXRlIGFuIGF4aXMgd2l0aCBhIHNlcmllcywgc2V0IHRoaXMgbmFtZSB0byB0aGUgYHhBeGlzTmFtZWAgb3IgYHlBeGlzTmFtZWAgcHJvcGVydGllcyBvZiB0aGUgc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBheGlzIHdpbGwgcmVuZGVyIG9uIHRoZSBvcHBvc2l0ZSBzaWRlIG9mIGl0cyBkZWZhdWx0IHBvc2l0aW9uLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIG9wcG9zZWRQb3NpdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciBheGlzIGVsZW1lbnRzLCBzdWNoIGFzIGF4aXMgbGFiZWxzIGFuZCB0aGUgYXhpcyB0aXRsZSwgc2hvdWxkIGJlIGNyb3NzZWQgYnkgdGhlIGF4aXMgbGluZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHBsYWNlTmV4dFRvQXhpc0xpbmU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBwYWRkaW5nIG9uIHRoZSB0b3AsIGJvdHRvbSwgbGVmdCBhbmQgcmlnaHQgc2lkZXMgb2YgdGhlIGNoYXJ0IGFyZWEsIGluIHBpeGVscy5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIHBsb3RPZmZzZXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBib3R0b20gcGFkZGluZyBmb3IgdGhlIGNoYXJ0IGFyZWEsIGluIHBpeGVscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHBsb3RPZmZzZXRCb3R0b206IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBsZWZ0IHBhZGRpbmcgZm9yIHRoZSBjaGFydCBhcmVhLCBpbiBwaXhlbHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBwbG90T2Zmc2V0TGVmdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHJpZ2h0IHBhZGRpbmcgZm9yIHRoZSBjaGFydCBhcmVhLCBpbiBwaXhlbHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBwbG90T2Zmc2V0UmlnaHQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB0b3AgcGFkZGluZyBmb3IgdGhlIGNoYXJ0IGFyZWEsIGluIHBpeGVscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHBsb3RPZmZzZXRUb3A6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGByYW5nZVBhZGRpbmdgIHByb3BlcnR5IGRldGVybWluZXMgaG93IHBhZGRpbmcgaXMgYXBwbGllZCB0byB0aGUgYXhpcyByYW5nZSwgYWZmZWN0aW5nIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjaGFydCBieSBhZGp1c3RpbmcgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gdmFsdWVzIG9mIHRoZSBheGlzLiBcbiAgICAgKiBBdmFpbGFibGUgb3B0aW9ucyBhcmU6IFxuICAgICAqICogTm9uZTogTm8gcGFkZGluZyBpcyBhcHBsaWVkIHRvIHRoZSBheGlzLiBcbiAgICAgKiAqIE5vcm1hbDogUGFkZGluZyBpcyBhcHBsaWVkIGJhc2VkIG9uIHRoZSByYW5nZSBjYWxjdWxhdGlvbi4gXG4gICAgICogKiBBZGRpdGlvbmFsOiBUaGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaXMgYWRkZWQgYXMgcGFkZGluZyB0byBib3RoIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcyBvZiB0aGUgcmFuZ2UuIFxuICAgICAqICogUm91bmQ6IFRoZSBheGlzIHJhbmdlIGlzIHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgcG9zc2libGUgdmFsdWUgdGhhdCBpcyBkaXZpc2libGUgYnkgdGhlIGludGVydmFsLlxuICAgICAqIEBkZWZhdWx0ICdBdXRvJ1xuICAgICAqL1xuICAgIHB1YmxpYyByYW5nZVBhZGRpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBpbmRleCBvZiB0aGUgcm93IHdoZXJlIHRoZSBheGlzIGlzIGFzc29jaWF0ZWQgd2hlbiB0aGUgY2hhcnQgYXJlYSBpcyBkaXZpZGVkIGludG8gbXVsdGlwbGUgcGxvdCBhcmVhcyB1c2luZyBgcm93c2AuIFxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgcm93SW5kZXg6IGFueTtcbiAgICAvKiogXG4gICAgICogQ29uZmlndXJlcyB0aGUgc2Nyb2xsYmFyIHdpdGggb3B0aW9ucyBmb3IgY3VzdG9taXphdGlvbiwgaW5jbHVkaW5nIGFwcGVhcmFuY2UsIGJlaGF2aW9yLCBhbmQgbGF6eSBsb2FkaW5nIHNldHRpbmdzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzY3JvbGxiYXJTZXR0aW5nczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHNrZWxldG9uIGZvcm1hdCB1c2VkIGZvciBwcm9jZXNzaW5nIGRhdGUtdGltZSB2YWx1ZXMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgc2tlbGV0b246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBmb3JtYXQgdHlwZSB0byBiZSB1c2VkIGluIGRhdGUtdGltZSBmb3JtYXR0aW5nLlxuICAgICAqIEBkZWZhdWx0ICdEYXRlVGltZSdcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2tlbGV0b25UeXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGBjb2x1bW5zYCBvciBgcm93c2AgdGhhdCBhbiBheGlzIHNwYW5zIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBwdWJsaWMgc3BhbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHN0YXJ0IGFuZ2xlIGZvciB0aGUgc2VyaWVzIGluIGEgcG9sYXIgb3IgcmFkYXIgY2hhcnQsIG1lYXN1cmVkIGluIGRlZ3JlZXMgZnJvbSB0aGUgaG9yaXpvbnRhbCBheGlzLCBkZXRlcm1pbmluZyB0aGUgaW5pdGlhbCBhbmdsZSBmcm9tIHdoaWNoIHRoZSBzZXJpZXMgYmVnaW5zLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnRBbmdsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGF4aXMgc3RhcnRzIGZyb20gemVyby4gXG4gICAgICogSWYgc2V0IHRvIGZhbHNlLCB0aGUgYXhpcyBzdGFydHMgZnJvbSB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgZGF0YS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0RnJvbVplcm86IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjb2xsZWN0aW9uIG9mIHN0cmlwIGxpbmVzIGZvciB0aGUgYXhpcywgd2hpY2ggYXJlIHZpc3VhbCBlbGVtZW50cyB1c2VkIHRvIG1hcmsgb3IgaGlnaGxpZ2h0IHNwZWNpZmljIHJhbmdlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RyaXBMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYHRhYkluZGV4YCB2YWx1ZSBmb3IgdGhlIGF4aXMsIGRldGVybWluaW5nIGl0cyBwb3NpdGlvbiBpbiB0aGUgdGFiIG9yZGVyLlxuICAgICAqIEBkZWZhdWx0IDJcbiAgICAgKi9cbiAgICBwdWJsaWMgdGFiSW5kZXg6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGB0aWNrUG9zaXRpb25gIHByb3BlcnR5IGRldGVybWluZXMgd2hlcmUgdGhlIGF4aXMgdGlja3MgYXJlIHJlbmRlcmVkIGluIHJlbGF0aW9uIHRvIHRoZSBheGlzIGxpbmUuIFxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGFyZTogXG4gICAgICogKiBJbnNpZGU6IFJlbmRlcnMgdGhlIHRpY2tzIGluc2lkZSB0aGUgYXhpcyBsaW5lLiBcbiAgICAgKiAqIE91dHNpZGU6IFJlbmRlcnMgdGhlIHRpY2tzIG91dHNpZGUgdGhlIGF4aXMgbGluZS5cbiAgICAgKiBAZGVmYXVsdCAnT3V0c2lkZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgdGlja1Bvc2l0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdGl0bGUgb2YgYW4gYXhpcywgZGlzcGxheWVkIGFsb25nIHRoZSBheGlzIHRvIHByb3ZpZGUgY29udGV4dCBhYm91dCB0aGUgcmVwcmVzZW50ZWQgZGF0YS5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0aXRsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHBhZGRpbmcgYmV0d2VlbiB0aGUgYXhpcyB0aXRsZSBhbmQgdGhlIGF4aXMgbGFiZWxzLlxuICAgICAqIEBkZWZhdWx0IDVcbiAgICAgKi9cbiAgICBwdWJsaWMgdGl0bGVQYWRkaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgYW4gYW5nbGUgZm9yIHJvdGF0aW5nIHRoZSBheGlzIHRpdGxlLiBCeSBkZWZhdWx0LCB0aGUgYW5nbGUgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgcG9zaXRpb24gYW5kIG9yaWVudGF0aW9uIG9mIHRoZSBheGlzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgdGl0bGVSb3RhdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgYXhpcyB0aXRsZSwgaW5jbHVkaW5nIGZvbnQgZmFtaWx5LCBzaXplLCBzdHlsZSwgd2VpZ2h0LCBhbmQgY29sb3IuXG4gICAgICovXG4gICAgcHVibGljIHRpdGxlU3R5bGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGB2YWx1ZVR5cGVgIHByb3BlcnR5IGRlZmluZXMgdGhlIHR5cGUgb2YgZGF0YSB0aGF0IHRoZSBheGlzIGNhbiBtYW5hZ2UsIGVuc3VyaW5nIGNvcnJlY3QgcmVuZGVyaW5nIGJhc2VkIG9uIHRoZSBkYXRhIHR5cGUuIFRoaXMgcHJvcGVydHkgc3VwcG9ydHMgbXVsdGlwbGUgZGF0YSB0eXBlcywgZWFjaCBzdWl0ZWQgZm9yIGRpZmZlcmVudCBraW5kcyBvZiBkYXRhIHZpc3VhbGl6YXRpb24uIFxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGluY2x1ZGU6IFxuICAgICAqICogRG91YmxlOiBVc2VkIGZvciByZW5kZXJpbmcgYSBudW1lcmljIGF4aXMgdG8gYWNjb21tb2RhdGUgbnVtZXJpYyBkYXRhLiBcbiAgICAgKiAqIERhdGVUaW1lOiBVdGlsaXplZCBmb3IgcmVuZGVyaW5nIGEgZGF0ZS10aW1lIGF4aXMgdG8gbWFuYWdlIGRhdGUtdGltZSBkYXRhLiBcbiAgICAgKiAqIENhdGVnb3J5OiBFbXBsb3llZCBmb3IgcmVuZGVyaW5nIGEgY2F0ZWdvcnkgYXhpcyB0byBtYW5hZ2UgY2F0ZWdvcmljYWwgZGF0YS4gXG4gICAgICogKiBMb2dhcml0aG1pYzogQXBwbGllZCBmb3IgcmVuZGVyaW5nIGEgbG9nYXJpdGhtaWMgYXhpcyB0byBoYW5kbGUgYSB3aWRlIHJhbmdlIG9mIHZhbHVlcy4gXG4gICAgICogKiBEYXRlVGltZUNhdGVnb3J5OiBVc2VkIHRvIHJlbmRlciBhIGRhdGUtdGltZSBjYXRlZ29yeSBheGlzIGZvciBtYW5hZ2luZyBidXNpbmVzcyBkYXlzLlxuICAgICAqIEBkZWZhdWx0ICdEb3VibGUnXG4gICAgICogQGJsYXpvcnR5cGUgU3luY2Z1c2lvbi5FSjIuQmxhem9yLkNoYXJ0cy5WYWx1ZVR5cGVcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHZhbHVlVHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgYXhpcyBsYWJlbHMgd2lsbCBiZSB2aXNpYmxlIGluIHRoZSBjaGFydC4gQnkgZGVmYXVsdCwgYXhpcyBsYWJlbHMgYXJlIGVuYWJsZWQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBheGlzIGlzIHNjYWxlZCBieSB0aGlzIGZhY3Rvci4gV2hlbiBgem9vbUZhY3RvcmAgaXMgMC41LCB0aGUgY2hhcnQgaXMgc2NhbGVkIGJ5IDIwMCUgYWxvbmcgdGhpcyBheGlzLiBcbiAgICAgKiA+IE5vdGUgdGhlIHZhbHVlIHJhbmdlcyBmcm9tIDAgdG8gMS5cbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgcHVibGljIHpvb21GYWN0b3I6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIHpvb21lZCBheGlzIG9uIHRoZSBjaGFydCwgd2l0aCB0aGUgYHpvb21Qb3NpdGlvbmAgcHJvcGVydHkgc3BlY2lmeWluZyB0aGUgcG9zaXRpb24gd2l0aGluIHRoZSB6b29tZWQgcmFuZ2UsIGZyb20gMCAoc3RhcnQpIHRvIDEgKGVuZCkuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyB6b29tUG9zaXRpb246IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEF4aXMgQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1jaGFydD5lLWF4ZXMnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oQXhpc0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBeGVzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEF4ZXNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2F4ZXMnKTtcbiAgICB9XG59Il19