@syncfusion/ej2-angular-charts
Version:
Feature-rich chart control with built-in support for over 25 chart types, technical indictors, trendline, zooming, tooltip, selection, crosshair and trackball. for Angular
54 lines • 16.3 kB
JavaScript
import { Directive, ContentChildren } from '@angular/core';
import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
import * as i0 from "@angular/core";
let input = ['animation', 'bandColor', 'close', 'dPeriod', 'dashArray', 'dataSource', 'fastPeriod', 'field', 'fill', 'high', 'kPeriod', 'low', 'lowerLine', 'macdLine', 'macdNegativeColor', 'macdPositiveColor', 'macdType', 'open', 'overBought', 'overSold', 'period', 'periodLine', 'pointColorMapping', 'query', 'seriesName', 'showZones', 'slowPeriod', 'standardDeviation', 'type', 'upperLine', 'volume', 'width', 'xAxisName', 'xName', 'yAxisName'];
let outputs = [];
/**
* Indicator Directive
* ```html
* <e-stockchart-indicators>
* <e-stockchart-indicator></e-stockchart-indicator>
* </e-stockchart-indicators>
* ```
*/
export class StockChartIndicatorDirective extends ComplexBase {
constructor(viewContainerRef) {
super();
this.viewContainerRef = viewContainerRef;
setValue('currentInstance', this, this.viewContainerRef);
this.registerEvents(outputs);
this.directivePropList = input;
}
}
StockChartIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartIndicatorDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
StockChartIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartIndicatorDirective, selector: "e-stockchart-indicators>e-stockchart-indicator", inputs: { animation: "animation", bandColor: "bandColor", close: "close", dPeriod: "dPeriod", dashArray: "dashArray", dataSource: "dataSource", fastPeriod: "fastPeriod", field: "field", fill: "fill", high: "high", kPeriod: "kPeriod", low: "low", lowerLine: "lowerLine", macdLine: "macdLine", macdNegativeColor: "macdNegativeColor", macdPositiveColor: "macdPositiveColor", macdType: "macdType", open: "open", overBought: "overBought", overSold: "overSold", period: "period", periodLine: "periodLine", pointColorMapping: "pointColorMapping", query: "query", seriesName: "seriesName", showZones: "showZones", slowPeriod: "slowPeriod", standardDeviation: "standardDeviation", type: "type", upperLine: "upperLine", volume: "volume", width: "width", xAxisName: "xAxisName", xName: "xName", yAxisName: "yAxisName" }, usesInheritance: true, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartIndicatorDirective, decorators: [{
type: Directive,
args: [{
selector: 'e-stockchart-indicators>e-stockchart-indicator',
inputs: input,
outputs: outputs,
queries: {}
}]
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
/**
* StockChartIndicator Array Directive
* @private
*/
export class StockChartIndicatorsDirective extends ArrayBase {
constructor() {
super('indicators');
}
}
StockChartIndicatorsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartIndicatorsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
StockChartIndicatorsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartIndicatorsDirective, selector: "ejs-stockchart>e-stockchart-indicators", queries: [{ propertyName: "children", predicate: StockChartIndicatorDirective }], usesInheritance: true, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartIndicatorsDirective, decorators: [{
type: Directive,
args: [{
selector: 'ejs-stockchart>e-stockchart-indicators',
queries: {
children: new ContentChildren(StockChartIndicatorDirective)
},
}]
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWNhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvY2stY2hhcnQvaW5kaWNhdG9ycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUloRixJQUFJLEtBQUssR0FBYSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ3pjLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7OztHQU9HO0FBU0gsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFdBQXlDO0lBZ012RixZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O3lIQXJNUSw0QkFBNEI7NkdBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQVJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnREFBZ0Q7b0JBQzFELE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjs7QUF5TUQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFNBQXdDO0lBQ3ZGO1FBQ0ksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OzBIQUhRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLHVHQUhKLDRCQUE0QjsyRkFHckQsNkJBQTZCO2tCQU56QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsNEJBQTRCLENBQUM7cUJBQzlEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhbmltYXRpb24nLCAnYmFuZENvbG9yJywgJ2Nsb3NlJywgJ2RQZXJpb2QnLCAnZGFzaEFycmF5JywgJ2RhdGFTb3VyY2UnLCAnZmFzdFBlcmlvZCcsICdmaWVsZCcsICdmaWxsJywgJ2hpZ2gnLCAna1BlcmlvZCcsICdsb3cnLCAnbG93ZXJMaW5lJywgJ21hY2RMaW5lJywgJ21hY2ROZWdhdGl2ZUNvbG9yJywgJ21hY2RQb3NpdGl2ZUNvbG9yJywgJ21hY2RUeXBlJywgJ29wZW4nLCAnb3ZlckJvdWdodCcsICdvdmVyU29sZCcsICdwZXJpb2QnLCAncGVyaW9kTGluZScsICdwb2ludENvbG9yTWFwcGluZycsICdxdWVyeScsICdzZXJpZXNOYW1lJywgJ3Nob3dab25lcycsICdzbG93UGVyaW9kJywgJ3N0YW5kYXJkRGV2aWF0aW9uJywgJ3R5cGUnLCAndXBwZXJMaW5lJywgJ3ZvbHVtZScsICd3aWR0aCcsICd4QXhpc05hbWUnLCAneE5hbWUnLCAneUF4aXNOYW1lJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogSW5kaWNhdG9yIERpcmVjdGl2ZVxuICogYGBgaHRtbFxuICogPGUtc3RvY2tjaGFydC1pbmRpY2F0b3JzPlxuICogPGUtc3RvY2tjaGFydC1pbmRpY2F0b3I+PC9lLXN0b2NrY2hhcnQtaW5kaWNhdG9yPlxuICogPC9lLXN0b2NrY2hhcnQtaW5kaWNhdG9ycz5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Utc3RvY2tjaGFydC1pbmRpY2F0b3JzPmUtc3RvY2tjaGFydC1pbmRpY2F0b3InLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0NoYXJ0SW5kaWNhdG9yRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8U3RvY2tDaGFydEluZGljYXRvckRpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHR5cGUgb2YgdGhlIHRlY2huaWNhbCBpbmRpY2F0b3IuXG4gICAgICogQGRlZmF1bHQgJ1NtYSdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGN1c3RvbWl6aW5nIGFuaW1hdGlvbiBmb3IgdGhlIHNlcmllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYW5pbWF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIHRoZSBCb2xsaW5nZXJCYW5kIGluIHRoZSBpbmRpY2F0b3IuXG4gICAgICogQGRlZmF1bHQgJ3JnYmEoMjExLDIxMSwyMTEsMC4yNSknXG4gICAgICovXG4gICAgcHVibGljIGJhbmRDb2xvcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgRGF0YVNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSBjbG9zZSB2YWx1ZSBvZiB5IFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnNcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBwZXJpb2QsIHRoZSBwcmljZSBjaGFuZ2VzIG92ZXIgd2hpY2ggd2lsbCBkZWZpbmUgdGhlICVEIHZhbHVlIGluIHN0b2NoYXN0aWMgaW5kaWNhdG9ycy5cbiAgICAgKiBAZGVmYXVsdCAzXG4gICAgICovXG4gICAgcHVibGljIGRQZXJpb2Q6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgcGF0dGVybiBvZiBkYXNoZXMgYW5kIGdhcHMgdG8gc3Ryb2tlIHRoZSBsaW5lcyBpbiBgTGluZWAgdHlwZSBzZXJpZXMuXG4gICAgICogQGRlZmF1bHQgJzAnXG4gICAgICovXG4gICAgcHVibGljIGRhc2hBcnJheTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIERhdGFTb3VyY2UgZm9yIHRoZSBzZXJpZXMuIEl0IGNhbiBiZSBhbiBhcnJheSBvZiBKU09OIG9iamVjdHMgb3IgYW4gaW5zdGFuY2Ugb2YgRGF0YU1hbmFnZXIuIFxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGRhdGFTb3VyY2U6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgZmFzdCBwZXJpb2QgdG8gZGVmaW5lIHRoZSBNYWNkIGxpbmUuXG4gICAgICogQGRlZmF1bHQgMjZcbiAgICAgKi9cbiAgICBwdWJsaWMgZmFzdFBlcmlvZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBmaWVsZCB0byBjb21wYXJlIHRoZSBjdXJyZW50IHZhbHVlIHdpdGggcHJldmlvdXMgdmFsdWVzLlxuICAgICAqIEBkZWZhdWx0ICdDbG9zZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgZmllbGQ6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGZpbGwgY29sb3IgZm9yIHRoZSBzZXJpZXMgdGhhdCBhY2NlcHRzIHZhbHVlIGluIGhleCBhbmQgcmdiYSBhcyBhIHZhbGlkIENTUyBjb2xvciBzdHJpbmcuIFxuICAgICAqIEl0IGFsc28gcmVwcmVzZW50cyB0aGUgY29sb3Igb2YgdGhlIHNpZ25hbCBsaW5lcyBpbiB0ZWNobmljYWwgaW5kaWNhdG9ycy4gXG4gICAgICogRm9yIHRlY2huaWNhbCBpbmRpY2F0b3JzLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAnYmx1ZScgYW5kIGZvciBzZXJpZXMsIGl0IGhhcyBudWxsLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZmlsbDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgRGF0YVNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSBoaWdoIHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGhpZ2g6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgbG9vayBiYWNrIHBlcmlvZCwgdGhlIHByaWNlIGNoYW5nZXMgb3ZlciB3aGljaCB3aWxsIGRlZmluZSB0aGUgJUsgdmFsdWUgaW4gc3RvY2hhc3RpYyBpbmRpY2F0b3JzLlxuICAgICAqIEBkZWZhdWx0IDE0XG4gICAgICovXG4gICAgcHVibGljIGtQZXJpb2Q6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgbG93IHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGxvdzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIGxvd2VyIGxpbmUgaW4gdGVjaG5pY2FsIGluZGljYXRvcnMuXG4gICAgICovXG4gICAgcHVibGljIGxvd2VyTGluZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSB0aGUgTWFjZExpbmUgb2YgTWFjZCBpbmRpY2F0b3IuXG4gICAgICogQGRlZmF1bHQgeyBjb2xvcjogJyNmZjk5MzMnLCB3aWR0aDogMiB9XG4gICAgICovXG4gICAgcHVibGljIG1hY2RMaW5lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGNvbG9yIG9mIHRoZSBuZWdhdGl2ZSBiYXJzIGluIE1hY2QgaW5kaWNhdG9ycy5cbiAgICAgKiBAZGVmYXVsdCAnI2U3NGMzZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFjZE5lZ2F0aXZlQ29sb3I6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgY29sb3Igb2YgdGhlIHBvc2l0aXZlIGJhcnMgaW4gTWFjZCBpbmRpY2F0b3JzLlxuICAgICAqIEBkZWZhdWx0ICcjMmVjZDcxJ1xuICAgICAqL1xuICAgIHB1YmxpYyBtYWNkUG9zaXRpdmVDb2xvcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIHRoZSBNYWNkIGluZGljYXRvci5cbiAgICAgKiBAZGVmYXVsdCAnQm90aCdcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFjZFR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgb3BlbiB2YWx1ZSBvZiB5IFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnNcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIG92ZXItYm91Z2h0KHRocmVzaG9sZCkgdmFsdWVzLiBJdCBpcyBhcHBsaWNhYmxlIGZvciBSU0kgYW5kIHN0b2NoYXN0aWMgaW5kaWNhdG9ycy5cbiAgICAgKiBAZGVmYXVsdCA4MFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVyQm91Z2h0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIG92ZXItc29sZCh0aHJlc2hvbGQpIHZhbHVlcy4gSXQgaXMgYXBwbGljYWJsZSBmb3IgUlNJIGFuZCBzdG9jaGFzdGljIGluZGljYXRvcnMuXG4gICAgICogQGRlZmF1bHQgMjBcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlclNvbGQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgcGVyaW9kLCB0aGUgcHJpY2UgY2hhbmdlcyBvdmVyIHdoaWNoIHdpbGwgYmUgY29uc2lkZXJlZCB0byBwcmVkaWN0IHRoZSB0cmVuZC5cbiAgICAgKiBAZGVmYXVsdCAxNFxuICAgICAqL1xuICAgIHB1YmxpYyBwZXJpb2Q6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiBwZXJpb2QgbGluZSBpbiB0ZWNobmljYWwgaW5kaWNhdG9ycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGVyaW9kTGluZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgRGF0YVNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSBjb2xvciB2YWx1ZSBvZiBwb2ludCBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBzZXJpZXNcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBwb2ludENvbG9yTWFwcGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgcXVlcnkgdG8gc2VsZWN0IGRhdGEgZnJvbSBEYXRhU291cmNlLiBUaGlzIHByb3BlcnR5IGlzIGFwcGxpY2FibGUgb25seSB3aGVuIHRoZSBEYXRhU291cmNlIGlzIGBlai5EYXRhTWFuYWdlcmAuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBxdWVyeTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBuYW1lIG9mIHRoZSBzZXJpZXMsIHRoZSBkYXRhIG9mIHdoaWNoIGhhcyB0byBiZSBkZXBpY3RlZCBhcyBpbmRpY2F0b3IuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VyaWVzTmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBFbmFibGVzL0Rpc2FibGVzIHRoZSBvdmVyLWJvdWdodCBhbmQgb3Zlci1zb2xkIHJlZ2lvbnMuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93Wm9uZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgc2xvdyBwZXJpb2QgdG8gZGVmaW5lIHRoZSBNYWNkIGxpbmUuXG4gICAgICogQGRlZmF1bHQgMTJcbiAgICAgKi9cbiAgICBwdWJsaWMgc2xvd1BlcmlvZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBzdGFuZGFyZCBkZXZpYXRpb24gdmFsdWVzIHRoYXQgaGVscHMgdG8gZGVmaW5lIHRoZSB1cHBlciBhbmQgbG93ZXIgYm9sbGluZ2VyIGJhbmRzLlxuICAgICAqIEBkZWZhdWx0IDJcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhbmRhcmREZXZpYXRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgdXBwZXIgbGluZSBpbiB0ZWNobmljYWwgaW5kaWNhdG9ycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBwZXJMaW5lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGRhdGEgc291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHZvbHVtZSB2YWx1ZSBpbiBjYW5kbGUgY2hhcnRzIFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIGZpbmFuY2lhbCBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgdm9sdW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBzdHJva2Ugd2lkdGggZm9yIHRoZSBzZXJpZXMgdGhhdCBpcyBhcHBsaWNhYmxlIG9ubHkgZm9yIGBMaW5lYCB0eXBlIHNlcmllcy4gXG4gICAgICogSXQgYWxzbyByZXByZXNlbnRzIHRoZSBzdHJva2Ugd2lkdGggb2YgdGhlIHNpZ25hbCBsaW5lcyBpbiB0ZWNobmljYWwgaW5kaWNhdG9ycy5cbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBob3Jpem9udGFsIGF4aXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXJpZXMuIEl0IHJlcXVpcmVzIGBheGVzYCBvZiB0aGUgY2hhcnQuIFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnMgXG4gICAgICogXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB4QXhpc05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgeCB2YWx1ZS4gXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHhOYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSB2ZXJ0aWNhbCBheGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VyaWVzLiBJdCByZXF1aXJlcyBgYXhlc2Agb2YgdGhlIGNoYXJ0LiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzIFxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgeUF4aXNOYW1lOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBTdG9ja0NoYXJ0SW5kaWNhdG9yIEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtc3RvY2tjaGFydD5lLXN0b2NrY2hhcnQtaW5kaWNhdG9ycycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZHJlbjogbmV3IENvbnRlbnRDaGlsZHJlbihTdG9ja0NoYXJ0SW5kaWNhdG9yRGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrQ2hhcnRJbmRpY2F0b3JzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPFN0b2NrQ2hhcnRJbmRpY2F0b3JzRGlyZWN0aXZlPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdpbmRpY2F0b3JzJyk7XG4gICAgfVxufSJdfQ==