UNPKG

@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 19.4 kB
import { Directive, ContentChildren } from '@angular/core'; import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base'; import * as i0 from "@angular/core"; let input = ['accessibility', 'animation', 'bandColor', 'close', 'colorName', 'dPeriod', 'dashArray', 'dataSource', 'enableComplexProperty', 'fastPeriod', 'field', 'fill', 'high', 'kPeriod', 'low', 'lowerLine', 'macdLine', 'macdNegativeColor', 'macdPositiveColor', 'macdType', 'open', 'overBought', 'overSold', 'period', 'periodLine', 'pointColorMapping', 'query', 'segmentAxis', 'segments', 'seriesName', 'showZones', 'slowPeriod', 'standardDeviation', 'type', 'upperLine', 'visible', 'volume', 'width', 'xAxisName', 'xName', 'yAxisName']; let outputs = []; /** * Indicator Directive * ```html * <e-indicators> * <e-indicator></e-indicator> * </e-indicators> * ``` */ export class IndicatorDirective extends ComplexBase { constructor(viewContainerRef) { super(); this.viewContainerRef = viewContainerRef; setValue('currentInstance', this, this.viewContainerRef); this.registerEvents(outputs); this.directivePropList = input; } } IndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IndicatorDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); IndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: IndicatorDirective, selector: "e-indicators>e-indicator", inputs: { accessibility: "accessibility", animation: "animation", bandColor: "bandColor", close: "close", colorName: "colorName", dPeriod: "dPeriod", dashArray: "dashArray", dataSource: "dataSource", enableComplexProperty: "enableComplexProperty", 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", segmentAxis: "segmentAxis", segments: "segments", seriesName: "seriesName", showZones: "showZones", slowPeriod: "slowPeriod", standardDeviation: "standardDeviation", type: "type", upperLine: "upperLine", visible: "visible", 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: IndicatorDirective, decorators: [{ type: Directive, args: [{ selector: 'e-indicators>e-indicator', inputs: input, outputs: outputs, queries: {} }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } }); /** * Indicator Array Directive * @private */ export class IndicatorsDirective extends ArrayBase { constructor() { super('indicators'); } } IndicatorsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IndicatorsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); IndicatorsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: IndicatorsDirective, selector: "ej-chart>e-indicators", queries: [{ propertyName: "children", predicate: IndicatorDirective }], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IndicatorsDirective, decorators: [{ type: Directive, args: [{ selector: 'ej-chart>e-indicators', queries: { children: new ContentChildren(IndicatorDirective) }, }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWNhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2hhcnQvaW5kaWNhdG9ycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUloRixJQUFJLEtBQUssR0FBYSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDdGlCLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7OztHQU9HO0FBU0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQStCO0lBME9uRSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OytHQS9PUSxrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjs7QUFtUEQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQThCO0lBQ25FO1FBQ0ksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O2dIQUhRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNGQUhNLGtCQUFrQjsyRkFHM0MsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsa0JBQWtCLENBQUM7cUJBQ3BEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhY2Nlc3NpYmlsaXR5JywgJ2FuaW1hdGlvbicsICdiYW5kQ29sb3InLCAnY2xvc2UnLCAnY29sb3JOYW1lJywgJ2RQZXJpb2QnLCAnZGFzaEFycmF5JywgJ2RhdGFTb3VyY2UnLCAnZW5hYmxlQ29tcGxleFByb3BlcnR5JywgJ2Zhc3RQZXJpb2QnLCAnZmllbGQnLCAnZmlsbCcsICdoaWdoJywgJ2tQZXJpb2QnLCAnbG93JywgJ2xvd2VyTGluZScsICdtYWNkTGluZScsICdtYWNkTmVnYXRpdmVDb2xvcicsICdtYWNkUG9zaXRpdmVDb2xvcicsICdtYWNkVHlwZScsICdvcGVuJywgJ292ZXJCb3VnaHQnLCAnb3ZlclNvbGQnLCAncGVyaW9kJywgJ3BlcmlvZExpbmUnLCAncG9pbnRDb2xvck1hcHBpbmcnLCAncXVlcnknLCAnc2VnbWVudEF4aXMnLCAnc2VnbWVudHMnLCAnc2VyaWVzTmFtZScsICdzaG93Wm9uZXMnLCAnc2xvd1BlcmlvZCcsICdzdGFuZGFyZERldmlhdGlvbicsICd0eXBlJywgJ3VwcGVyTGluZScsICd2aXNpYmxlJywgJ3ZvbHVtZScsICd3aWR0aCcsICd4QXhpc05hbWUnLCAneE5hbWUnLCAneUF4aXNOYW1lJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogSW5kaWNhdG9yIERpcmVjdGl2ZVxuICogYGBgaHRtbFxuICogPGUtaW5kaWNhdG9ycz5cbiAqIDxlLWluZGljYXRvcj48L2UtaW5kaWNhdG9yPlxuICogPC9lLWluZGljYXRvcnM+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLWluZGljYXRvcnM+ZS1pbmRpY2F0b3InLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBJbmRpY2F0b3JEaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxJbmRpY2F0b3JEaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG5cblxuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSB0eXBlcyBvZiB0ZWNobmljYWwgaW5kaWNhdG9ycy4gVGhleSBhcmU6IFxuICAgICAqICogJ1NtYScgLSBQcmVkaWN0cyB0aGUgdHJlbmQgdXNpbmcgdGhlIFNpbXBsZSBNb3ZpbmcgQXZlcmFnZSBhcHByb2FjaC4gXG4gICAgICogKiAnRW1hJyAtIFByZWRpY3RzIHRoZSB0cmVuZCB1c2luZyB0aGUgRXhwb25lbnRpYWwgTW92aW5nIEF2ZXJhZ2UgYXBwcm9hY2guIFxuICAgICAqICogJ1RtYScgLSBQcmVkaWN0cyB0aGUgdHJlbmQgdXNpbmcgdGhlIFRyaWFuZ3VsYXIgTW92aW5nIEF2ZXJhZ2UgYXBwcm9hY2guIFxuICAgICAqICogJ0F0cicgLSBQcmVkaWN0cyB0aGUgdHJlbmQgdXNpbmcgdGhlIEF2ZXJhZ2UgVHJ1ZSBSYW5nZSBhcHByb2FjaC4gXG4gICAgICogKiAnQWNjdW11bGF0aW9uRGlzdHJpYnV0aW9uJyAtIFByZWRpY3RzIHRoZSB0cmVuZCB1c2luZyB0aGUgQWNjdW11bGF0aW9uIERpc3RyaWJ1dGlvbiBhcHByb2FjaC4gXG4gICAgICogKiAnTW9tZW50dW0nIC0gUHJlZGljdHMgdGhlIHRyZW5kIHVzaW5nIHRoZSBNb21lbnR1bSBhcHByb2FjaC4gXG4gICAgICogKiAnUnNpJyAtIFByZWRpY3RzIHRoZSB0cmVuZCB1c2luZyB0aGUgUmVsYXRpdmUgU3RyZW5ndGggSW5kZXggKFJTSSkgYXBwcm9hY2guIFxuICAgICAqICogJ01hY2QnIC0gUHJlZGljdHMgdGhlIHRyZW5kIHVzaW5nIHRoZSBNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlIChNQUNEKSBhcHByb2FjaC4gXG4gICAgICogKiAnU3RvY2hhc3RpYycgLSBQcmVkaWN0cyB0aGUgdHJlbmQgdXNpbmcgdGhlIFN0b2NoYXN0aWMgT3NjaWxsYXRvciBhcHByb2FjaC4gXG4gICAgICogKiAnQm9sbGluZ2VyQmFuZHMnIC0gUHJlZGljdHMgdGhlIHRyZW5kIHVzaW5nIHRoZSBCb2xsaW5nZXIgQmFuZHMgYXBwcm9hY2guXG4gICAgICogQGRlZmF1bHQgJ1NtYSdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGltcHJvdmUgYWNjZXNzaWJpbGl0eSBmb3IgdGVjaG5pY2FsIGluZGljYXRvciBlbGVtZW50cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWNjZXNzaWJpbGl0eTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyB0aGUgYW5pbWF0aW9uIG9mIHRoZSBzZXJpZXMuIFxuICAgICAqIEJ5IGRlZmF1bHQsIGFuaW1hdGlvbiBpcyBlbmFibGVkIHdpdGggYSBkdXJhdGlvbiBvZiAxMDAwIG1pbGxpc2Vjb25kcyAoYWJvdXQgMSBzZWNvbmQpLiBJdCBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBlbmFibGUgdG8gYGZhbHNlYC4gXG4gICAgICogVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGFyZSBzdXBwb3J0ZWQgaW4gYW5pbWF0aW9uOiBcbiAgICAgKiAqIGVuYWJsZTogSWYgc2V0IHRvIHRydWUsIHRoZSBzZXJpZXMgaXMgYW5pbWF0ZWQgb24gaW5pdGlhbCBsb2FkaW5nLiBcbiAgICAgKiAqIGR1cmF0aW9uOiBUaGUgZHVyYXRpb24gb2YgdGhlIGFuaW1hdGlvbiBpbiBtaWxsaXNlY29uZHMuIFxuICAgICAqICogZGVsYXk6IFRoZSBkZWxheSBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMsIGluIG1pbGxpc2Vjb25kcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYW5pbWF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIENvbmZpZ3VyZXMgdGhlIHNldHRpbmdzIGZvciBjdXN0b21pemluZyB0aGUgQm9sbGluZ2VyIEJhbmRzIGluIHRoZSBpbmRpY2F0b3IuXG4gICAgICogQGRlZmF1bHQgJ3JnYmEoMjExLDIxMSwyMTEsMC4yNSknXG4gICAgICovXG4gICAgcHVibGljIGJhbmRDb2xvcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBzb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgY2xvc2UgdmFsdWUuIFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIGJvdGggZmluYW5jaWFsIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2U6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGRhdGEgc291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIGNvbG9yIG1hcHBpbmcgdmFsdWUuIFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIHJhbmdlIGNvbG9yIG1hcHBpbmcuXG4gICAgICovXG4gICAgcHVibGljIGNvbG9yTmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBwZXJpb2Qgb3ZlciB3aGljaCBwcmljZSBjaGFuZ2VzIGRldGVybWluZSB0aGUgJUQgdmFsdWUgaW4gc3RvY2hhc3RpYyBpbmRpY2F0b3JzLlxuICAgICAqIEBkZWZhdWx0IDNcbiAgICAgKi9cbiAgICBwdWJsaWMgZFBlcmlvZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBwYXR0ZXJuIG9mIGRhc2hlcyBhbmQgZ2FwcyB1c2VkIHRvIHN0cm9rZSB0aGUgbGluZXMgaW4gYExpbmVgIHR5cGUgc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGRhc2hBcnJheTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGRhdGEgc291cmNlIGZvciB0aGUgc2VyaWVzLiBJdCBjYW4gYmUgYW4gYXJyYXkgb2YgSlNPTiBvYmplY3RzLCBvciBhbiBpbnN0YW5jZSBvZiBEYXRhTWFuYWdlci4gXG4gICAgICogXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YVNvdXJjZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gaW1wcm92ZSBjaGFydCBwZXJmb3JtYW5jZSB0aHJvdWdoIGRhdGEgbWFwcGluZyBmb3IgdGhlIHNlcmllcyBkYXRhIHNvdXJjZS5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVDb21wbGV4UHJvcGVydHk6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgZmFzdCBwZXJpb2QgdG8gZGVmaW5lIHRoZSBNQUNEIGxpbmUuXG4gICAgICogQGRlZmF1bHQgMjZcbiAgICAgKi9cbiAgICBwdWJsaWMgZmFzdFBlcmlvZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBmaWVsZCB1c2VkIHRvIGNvbXBhcmUgdGhlIGN1cnJlbnQgdmFsdWUgd2l0aCBwcmV2aW91cyB2YWx1ZXMuXG4gICAgICogQGRlZmF1bHQgJ0Nsb3NlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBmaWVsZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZmlsbCBjb2xvciBmb3IgdGhlIHNlcmllcywgd2hpY2ggYWNjZXB0cyB2YWx1ZXMgaW4gaGV4IG9yIHJnYmEgYXMgYSB2YWxpZCBDU1MgY29sb3Igc3RyaW5nLiBcbiAgICAgKiBJdCBhbHNvIHJlcHJlc2VudHMgdGhlIGNvbG9yIG9mIHRoZSBzaWduYWwgbGluZXMgaW4gdGVjaG5pY2FsIGluZGljYXRvcnMuIFxuICAgICAqIEZvciB0ZWNobmljYWwgaW5kaWNhdG9ycywgdGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2JsdWUnLCBhbmQgZm9yIHNlcmllcywgaXQgaXMgbnVsbC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZpbGw6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGRhdGEgc291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIGhpZ2ggdmFsdWUuIFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIGJvdGggZmluYW5jaWFsIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlnaDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBsb29rLWJhY2sgcGVyaW9kIGZvciBwcmljZSBjaGFuZ2VzIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSAlSyB2YWx1ZSBpbiBzdG9jaGFzdGljIGluZGljYXRvcnMuXG4gICAgICogQGRlZmF1bHQgMTRcbiAgICAgKi9cbiAgICBwdWJsaWMga1BlcmlvZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBzb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgbG93IHZhbHVlLiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBib3RoIGZpbmFuY2lhbCBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGxvdzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBsb3dlciBsaW5lIGluIHRlY2huaWNhbCBpbmRpY2F0b3JzLlxuICAgICAqL1xuICAgIHB1YmxpYyBsb3dlckxpbmU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgTUFDRCBsaW5lIGluIHRoZSBNQUNEIGluZGljYXRvci5cbiAgICAgKiBAZGVmYXVsdCB7IGNvbG9yOiAnI2ZmOTkzMycsIHdpZHRoOiAyIH1cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFjZExpbmU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjb2xvciBmb3IgbmVnYXRpdmUgYmFycyBpbiB0aGUgTUFDRCBpbmRpY2F0b3IuXG4gICAgICogQGRlZmF1bHQgJyNlNzRjM2QnXG4gICAgICovXG4gICAgcHVibGljIG1hY2ROZWdhdGl2ZUNvbG9yOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgY29sb3IgZm9yIHBvc2l0aXZlIGJhcnMgaW4gdGhlIE1BQ0QgaW5kaWNhdG9yLlxuICAgICAqIEBkZWZhdWx0ICcjMmVjZDcxJ1xuICAgICAqL1xuICAgIHB1YmxpYyBtYWNkUG9zaXRpdmVDb2xvcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIHRoZSBNQUNEIChNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlKSBpbmRpY2F0b3IuXG4gICAgICogQGRlZmF1bHQgJ0JvdGgnXG4gICAgICovXG4gICAgcHVibGljIG1hY2RUeXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBkYXRhIHNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSBvcGVuIHZhbHVlLiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBib3RoIGZpbmFuY2lhbCBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIG9wZW46IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBvdmVyLWJvdWdodCAodGhyZXNob2xkKSB2YWx1ZXMgYXBwbGljYWJsZSBmb3IgUlNJIGFuZCBzdG9jaGFzdGljIGluZGljYXRvcnMuXG4gICAgICogQGRlZmF1bHQgODBcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlckJvdWdodDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBvdmVyLXNvbGQgKHRocmVzaG9sZCkgdmFsdWVzIGZvciBSU0kgYW5kIHN0b2NoYXN0aWMgaW5kaWNhdG9ycy5cbiAgICAgKiBAZGVmYXVsdCAyMFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVyU29sZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBwZXJpb2Qgb3ZlciB3aGljaCBwcmljZSBjaGFuZ2VzIGFyZSBjb25zaWRlcmVkIGZvciB0cmVuZCBwcmVkaWN0aW9uLlxuICAgICAqIEBkZWZhdWx0IDE0XG4gICAgICovXG4gICAgcHVibGljIHBlcmlvZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBwZXJpb2QgbGluZSBpbiB0ZWNobmljYWwgaW5kaWNhdG9ycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGVyaW9kTGluZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgZGF0YSBzb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgY29sb3IgdmFsdWUgb2YgYSBwb2ludC4gXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHBvaW50Q29sb3JNYXBwaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBhIHF1ZXJ5IHRvIHNlbGVjdCBkYXRhIGZyb20gdGhlIGRhdGEgc291cmNlLiBUaGlzIHByb3BlcnR5IGlzIGFwcGxpY2FibGUgb25seSB3aGVuIHRoZSBkYXRhIHNvdXJjZSBpcyBhbiBgZWouRGF0YU1hbmFnZXJgLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHF1ZXJ5OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGF4aXMgYWxvbmcgd2hpY2ggdGhlIGxpbmUgc2VyaWVzIHdpbGwgYmUgc3BsaXQuXG4gICAgICovXG4gICAgcHVibGljIHNlZ21lbnRBeGlzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBhIGNvbGxlY3Rpb24gb2YgcmVnaW9ucyB1c2VkIHRvIGRpZmZlcmVudGlhdGUgYSBsaW5lIHNlcmllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VnbWVudHM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBzZXJpZXMgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyB0aGUgaW5kaWNhdG9yIGRhdGEuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VyaWVzTmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgb3Zlci1ib3VnaHQgYW5kIG92ZXItc29sZCByZWdpb25zLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1pvbmVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIHNsb3cgcGVyaW9kIGZvciBkZWZpbmluZyB0aGUgTUFDRCBsaW5lLlxuICAgICAqIEBkZWZhdWx0IDEyXG4gICAgICovXG4gICAgcHVibGljIHNsb3dQZXJpb2Q6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgc3RhbmRhcmQgZGV2aWF0aW9uIHZhbHVlcyB1c2VkIHRvIGRlZmluZSB0aGUgdXBwZXIgYW5kIGxvd2VyIEJvbGxpbmdlciBCYW5kcy5cbiAgICAgKiBAZGVmYXVsdCAyXG4gICAgICovXG4gICAgcHVibGljIHN0YW5kYXJkRGV2aWF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHVwcGVyIGxpbmUgaW4gdGVjaG5pY2FsIGluZGljYXRvcnMuXG4gICAgICovXG4gICAgcHVibGljIHVwcGVyTGluZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgc2VyaWVzIHdpbGwgYmUgdmlzaWJsZS4gSWYgc2V0IHRvIGBmYWxzZWAsIHRoZSBzZXJpZXMgd2lsbCBiZSBoaWRkZW4uXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGRhdGEgc291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHZvbHVtZSB2YWx1ZSBpbiBjYW5kbGUgY2hhcnRzLiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBib3RoIGZpbmFuY2lhbCBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHZvbHVtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgc3Ryb2tlIHdpZHRoIGZvciB0aGUgc2VyaWVzLCBhcHBsaWNhYmxlIG9ubHkgZm9yIGBMaW5lYCB0eXBlIHNlcmllcy4gXG4gICAgICogSXQgYWxzbyByZXByZXNlbnRzIHRoZSBzdHJva2Ugd2lkdGggb2YgdGhlIHNpZ25hbCBsaW5lcyBpbiB0ZWNobmljYWwgaW5kaWNhdG9ycy5cbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBob3Jpem9udGFsIGF4aXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXJpZXMuIEl0IHJlcXVpcmVzIGBheGVzYCBvZiB0aGUgY2hhcnQuIFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnMuIFxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgeEF4aXNOYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBkYXRhIHNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSB4IHZhbHVlLiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIHRvIGJvdGggc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9ycy5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB4TmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgdmVydGljYWwgYXhpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNlcmllcy4gSXQgcmVxdWlyZXMgYGF4ZXNgIG9mIHRoZSBjaGFydC4gXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9ycy4gXG4gICAgICogXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB5QXhpc05hbWU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEluZGljYXRvciBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWotY2hhcnQ+ZS1pbmRpY2F0b3JzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKEluZGljYXRvckRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBJbmRpY2F0b3JzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEluZGljYXRvcnNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2luZGljYXRvcnMnKTtcbiAgICB9XG59Il19