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

52 lines 21.6 kB
import { Directive, ContentChildren } from '@angular/core'; import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base'; import * as i0 from "@angular/core"; let input = ['coefficient', 'crossesAt', 'crossesInAxis', 'crosshairTooltip', 'description', 'desiredIntervals', 'edgeLabelPlacement', 'enableAutoIntervalOnZooming', 'enableTrim', 'interval', 'intervalType', 'isInversed', 'labelFormat', 'labelIntersectAction', 'labelPlacement', 'labelPosition', 'labelRotation', 'labelStyle', 'lineStyle', 'logBase', 'majorGridLines', 'majorTickLines', 'maximum', 'maximumLabelWidth', 'maximumLabels', 'minimum', 'minorGridLines', 'minorTickLines', 'minorTicksPerInterval', 'name', 'opposedPosition', 'placeNextToAxisLine', 'plotOffset', 'rangePadding', 'rowIndex', 'skeleton', 'skeletonType', 'span', 'startAngle', 'stripLines', 'tabIndex', 'tickPosition', 'title', 'titleStyle', 'valueType', 'visible', 'zoomFactor', 'zoomPosition']; let outputs = []; /** * Axis Directive * ```html * <e-stockchart-axes><e-stockchart-axis></e-stockchart-axis></e-stockchart-axes> * ``` */ export class StockChartAxisDirective extends ComplexBase { constructor(viewContainerRef) { super(); this.viewContainerRef = viewContainerRef; setValue('currentInstance', this, this.viewContainerRef); this.registerEvents(outputs); this.directivePropList = input; } } StockChartAxisDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAxisDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); StockChartAxisDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartAxisDirective, selector: "e-stockchart-axes>e-stockchart-axis", inputs: { coefficient: "coefficient", crossesAt: "crossesAt", crossesInAxis: "crossesInAxis", crosshairTooltip: "crosshairTooltip", description: "description", desiredIntervals: "desiredIntervals", edgeLabelPlacement: "edgeLabelPlacement", enableAutoIntervalOnZooming: "enableAutoIntervalOnZooming", enableTrim: "enableTrim", interval: "interval", intervalType: "intervalType", isInversed: "isInversed", labelFormat: "labelFormat", labelIntersectAction: "labelIntersectAction", labelPlacement: "labelPlacement", labelPosition: "labelPosition", labelRotation: "labelRotation", labelStyle: "labelStyle", lineStyle: "lineStyle", logBase: "logBase", majorGridLines: "majorGridLines", majorTickLines: "majorTickLines", maximum: "maximum", maximumLabelWidth: "maximumLabelWidth", maximumLabels: "maximumLabels", minimum: "minimum", minorGridLines: "minorGridLines", minorTickLines: "minorTickLines", minorTicksPerInterval: "minorTicksPerInterval", name: "name", opposedPosition: "opposedPosition", placeNextToAxisLine: "placeNextToAxisLine", plotOffset: "plotOffset", rangePadding: "rangePadding", rowIndex: "rowIndex", skeleton: "skeleton", skeletonType: "skeletonType", span: "span", startAngle: "startAngle", stripLines: "stripLines", tabIndex: "tabIndex", tickPosition: "tickPosition", title: "title", titleStyle: "titleStyle", valueType: "valueType", visible: "visible", zoomFactor: "zoomFactor", zoomPosition: "zoomPosition" }, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAxisDirective, decorators: [{ type: Directive, args: [{ selector: 'e-stockchart-axes>e-stockchart-axis', inputs: input, outputs: outputs, queries: {} }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } }); /** * StockChartAxis Array Directive * @private */ export class StockChartAxesDirective extends ArrayBase { constructor() { super('axes'); } } StockChartAxesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAxesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); StockChartAxesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartAxesDirective, selector: "ejs-stockchart>e-stockchart-axes", queries: [{ propertyName: "children", predicate: StockChartAxisDirective }], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAxesDirective, decorators: [{ type: Directive, args: [{ selector: 'ejs-stockchart>e-stockchart-axes', queries: { children: new ContentChildren(StockChartAxisDirective) }, }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvY2stY2hhcnQvYXhlcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUloRixJQUFJLEtBQUssR0FBYSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSw2QkFBNkIsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzN3QixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7O0dBS0c7QUFTSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsV0FBb0M7SUFnUjdFLFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFFakQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7b0hBclJRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBUm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKOztBQXlSRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBa0M7SUFDM0U7UUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7b0hBSFEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsaUdBSEUsdUJBQXVCOzJGQUdoRCx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQztxQkFDekQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2NvZWZmaWNpZW50JywgJ2Nyb3NzZXNBdCcsICdjcm9zc2VzSW5BeGlzJywgJ2Nyb3NzaGFpclRvb2x0aXAnLCAnZGVzY3JpcHRpb24nLCAnZGVzaXJlZEludGVydmFscycsICdlZGdlTGFiZWxQbGFjZW1lbnQnLCAnZW5hYmxlQXV0b0ludGVydmFsT25ab29taW5nJywgJ2VuYWJsZVRyaW0nLCAnaW50ZXJ2YWwnLCAnaW50ZXJ2YWxUeXBlJywgJ2lzSW52ZXJzZWQnLCAnbGFiZWxGb3JtYXQnLCAnbGFiZWxJbnRlcnNlY3RBY3Rpb24nLCAnbGFiZWxQbGFjZW1lbnQnLCAnbGFiZWxQb3NpdGlvbicsICdsYWJlbFJvdGF0aW9uJywgJ2xhYmVsU3R5bGUnLCAnbGluZVN0eWxlJywgJ2xvZ0Jhc2UnLCAnbWFqb3JHcmlkTGluZXMnLCAnbWFqb3JUaWNrTGluZXMnLCAnbWF4aW11bScsICdtYXhpbXVtTGFiZWxXaWR0aCcsICdtYXhpbXVtTGFiZWxzJywgJ21pbmltdW0nLCAnbWlub3JHcmlkTGluZXMnLCAnbWlub3JUaWNrTGluZXMnLCAnbWlub3JUaWNrc1BlckludGVydmFsJywgJ25hbWUnLCAnb3Bwb3NlZFBvc2l0aW9uJywgJ3BsYWNlTmV4dFRvQXhpc0xpbmUnLCAncGxvdE9mZnNldCcsICdyYW5nZVBhZGRpbmcnLCAncm93SW5kZXgnLCAnc2tlbGV0b24nLCAnc2tlbGV0b25UeXBlJywgJ3NwYW4nLCAnc3RhcnRBbmdsZScsICdzdHJpcExpbmVzJywgJ3RhYkluZGV4JywgJ3RpY2tQb3NpdGlvbicsICd0aXRsZScsICd0aXRsZVN0eWxlJywgJ3ZhbHVlVHlwZScsICd2aXNpYmxlJywgJ3pvb21GYWN0b3InLCAnem9vbVBvc2l0aW9uJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogQXhpcyBEaXJlY3RpdmVcbiAqIGBgYGh0bWxcbiAqIDxlLXN0b2NrY2hhcnQtYXhlcz48ZS1zdG9ja2NoYXJ0LWF4aXM+PC9lLXN0b2NrY2hhcnQtYXhpcz48L2Utc3RvY2tjaGFydC1heGVzPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS1zdG9ja2NoYXJ0LWF4ZXM+ZS1zdG9ja2NoYXJ0LWF4aXMnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0NoYXJ0QXhpc0RpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPFN0b2NrQ2hhcnRBeGlzRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuXG5cbiAgICAvKiogXG4gICAgICogVGhlIHBvbGFyIHJhZGFyIHJhZGl1cyBwb3NpdGlvbi5cbiAgICAgKiBAZGVmYXVsdCAxMDBcbiAgICAgKi9cbiAgICBwdWJsaWMgY29lZmZpY2llbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB2YWx1ZSBhdCB3aGljaCB0aGUgYXhpcyBsaW5lIGhhcyB0byBiZSBpbnRlcnNlY3Qgd2l0aCB0aGUgdmVydGljYWwgYXhpcyBvciB2aWNlIHZlcnNhLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgY3Jvc3Nlc0F0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBheGlzIG5hbWUgd2l0aCB3aGljaCB0aGUgYXhpcyBsaW5lIGhhcyB0byBiZSBjcm9zc2VkLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgY3Jvc3Nlc0luQXhpczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGN1c3RvbWl6ZSB0aGUgY3Jvc3NoYWlyIFRvb2xUaXAuXG4gICAgICovXG4gICAgcHVibGljIGNyb3NzaGFpclRvb2x0aXA6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVzY3JpcHRpb24gZm9yIGF4aXMgYW5kIGl0cyBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogV2l0aCB0aGlzIHByb3BlcnR5LCB5b3UgY2FuIHJlcXVlc3QgYXhpcyB0byBjYWxjdWxhdGUgaW50ZXJ2YWxzIGFwcHJveGltYXRlbHkgZXF1YWwgdG8geW91ciBzcGVjaWZpZWQgaW50ZXJ2YWwuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICovXG4gICAgcHVibGljIGRlc2lyZWRJbnRlcnZhbHM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBwb3NpdGlvbiBvZiBsYWJlbHMgYXQgdGhlIGVkZ2Ugb2YgdGhlIGF4aXMuVGhleSBhcmUsIFxuICAgICAqICogTm9uZTogTm8gYWN0aW9uIHdpbGwgYmUgcGVyZm9ybWVkLiBcbiAgICAgKiAqIEhpZGU6IEVkZ2UgbGFiZWwgd2lsbCBiZSBoaWRkZW4uIFxuICAgICAqICogU2hpZnQ6IFNoaWZ0cyB0aGUgZWRnZSBsYWJlbHMuXG4gICAgICogQGRlZmF1bHQgJ05vbmUnXG4gICAgICovXG4gICAgcHVibGljIGVkZ2VMYWJlbFBsYWNlbWVudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgYXhpcyBpbnRlcnZhbCB3aWxsIGJlIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSB3aXRoIHJlc3BlY3QgdG8gdGhlIHpvb21lZCByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZUF1dG9JbnRlcnZhbE9uWm9vbWluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIFRyaW0gcHJvcGVydHkgZm9yIGFuIGF4aXMuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlVHJpbTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGludGVydmFsIGZvciBhbiBheGlzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqL1xuICAgIHB1YmxpYyBpbnRlcnZhbDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHR5cGVzIGxpa2UgYFllYXJzYCwgYE1vbnRoc2AsIGBEYXlzYCwgYEhvdXJzYCwgYE1pbnV0ZXNgLCBgU2Vjb25kc2AgaW4gZGF0ZSB0aW1lIGF4aXMuVGhleSBhcmUsIFxuICAgICAqICogQXV0bzogRGVmaW5lcyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgYmFzZWQgb24gZGF0YS4gXG4gICAgICogKiBZZWFyczogRGVmaW5lcyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4geWVhcnMuIFxuICAgICAqICogTW9udGhzOiBEZWZpbmVzIHRoZSBpbnRlcnZhbCBvZiB0aGUgYXhpcyBpbiBtb250aHMuIFxuICAgICAqICogRGF5czogRGVmaW5lcyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4gZGF5cy4gXG4gICAgICogKiBIb3VyczogRGVmaW5lcyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4gaG91cnMuIFxuICAgICAqICogTWludXRlczogRGVmaW5lcyB0aGUgaW50ZXJ2YWwgb2YgdGhlIGF4aXMgaW4gbWludXRlcy5cbiAgICAgKiBAZGVmYXVsdCAnQXV0bydcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJ2YWxUeXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IHNwZWNpZmllcyB3aGV0aGVyIHRoZSBheGlzIHRvIGJlIHJlbmRlcmVkIGluIGludmVyc2VkIG1hbm5lciBvciBub3QuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJbnZlcnNlZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBVc2VkIHRvIGZvcm1hdCB0aGUgYXhpcyBsYWJlbCB0aGF0IGFjY2VwdHMgYW55IGdsb2JhbCBzdHJpbmcgZm9ybWF0IGxpa2UgJ0MnLCAnbjEnLCAnUCcgZXRjLiBcbiAgICAgKiBJdCBhbHNvIGFjY2VwdHMgcGxhY2Vob2xkZXIgbGlrZSAne3ZhbHVlfcKwQycgaW4gd2hpY2ggdmFsdWUgcmVwcmVzZW50IHRoZSBheGlzIGxhYmVsLCBlLmcsIDIwwrBDLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGxhYmVsRm9ybWF0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgYWN0aW9ucyBsaWtlIGBIaWRlYCwgYFJvdGF0ZTQ1YCwgYW5kIGBSb3RhdGU5MGAgd2hlbiB0aGUgYXhpcyBsYWJlbHMgaW50ZXJzZWN0IHdpdGggZWFjaCBvdGhlci5UaGV5IGFyZSwgXG4gICAgICogKiBOb25lOiBTaG93cyBhbGwgdGhlIGxhYmVscy4gXG4gICAgICogKiBIaWRlOiBIaWRlcyB0aGUgbGFiZWwgd2hlbiBpdCBpbnRlcnNlY3RzLiBcbiAgICAgKiAqIFJvdGF0ZTQ1OiBSb3RhdGVzIHRoZSBsYWJlbCB0byA0NSBkZWdyZWUgd2hlbiBpdCBpbnRlcnNlY3RzLiBcbiAgICAgKiAqIFJvdGF0ZTkwOiBSb3RhdGVzIHRoZSBsYWJlbCB0byA5MCBkZWdyZWUgd2hlbiBpdCBpbnRlcnNlY3RzLlxuICAgICAqIEBkZWZhdWx0IEhpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxJbnRlcnNlY3RBY3Rpb246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBwbGFjZW1lbnQgb2YgYSBsYWJlbCBmb3IgY2F0ZWdvcnkgYXhpcy4gVGhleSBhcmUsIFxuICAgICAqICogYmV0d2VlblRpY2tzOiBSZW5kZXJzIHRoZSBsYWJlbCBiZXR3ZWVuIHRoZSB0aWNrcy4gXG4gICAgICogKiBvblRpY2tzOiBSZW5kZXJzIHRoZSBsYWJlbCBvbiB0aGUgdGlja3MuXG4gICAgICogQGRlZmF1bHQgJ0JldHdlZW5UaWNrcydcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxQbGFjZW1lbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBwbGFjZW1lbnQgb2YgYSBsYWJlbHMgdG8gdGhlIGF4aXMgbGluZS4gVGhleSBhcmUsIFxuICAgICAqICogaW5zaWRlOiBSZW5kZXJzIHRoZSBsYWJlbHMgaW5zaWRlIHRvIHRoZSBheGlzIGxpbmUuIFxuICAgICAqICogb3V0c2lkZTogUmVuZGVycyB0aGUgbGFiZWxzIG91dHNpZGUgdG8gdGhlIGF4aXMgbGluZS5cbiAgICAgKiBAZGVmYXVsdCAnT3V0c2lkZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxQb3NpdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYW5nbGUgdG8gd2hpY2ggdGhlIGF4aXMgbGFiZWwgZ2V0cyByb3RhdGVkLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxSb3RhdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGN1c3RvbWl6ZSB0aGUgYXhpcyBsYWJlbC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbGFiZWxTdHlsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyBheGlzIGxpbmVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5lU3R5bGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGJhc2UgdmFsdWUgZm9yIGxvZ2FyaXRobWljIGF4aXMuIEl0IHJlcXVpcmVzIGB2YWx1ZVR5cGVgIHRvIGJlIGBMb2dhcml0aG1pY2AuXG4gICAgICogQGRlZmF1bHQgMTBcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nQmFzZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyBtYWpvciBncmlkIGxpbmVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBtYWpvckdyaWRMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBjdXN0b21pemluZyBtYWpvciB0aWNrIGxpbmVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBtYWpvclRpY2tMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gcmFuZ2Ugb2YgYW4gYXhpcy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIG1heGltdW06IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGFuIGF4aXMgbGFiZWwuXG4gICAgICogQGRlZmF1bHQgMzQuXG4gICAgICovXG4gICAgcHVibGljIG1heGltdW1MYWJlbFdpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBsYWJlbCBjb3VudCBwZXIgMTAwIHBpeGVscyB3aXRoIHJlc3BlY3QgdG8gdGhlIGF4aXMgbGVuZ3RoLlxuICAgICAqIEBkZWZhdWx0IDNcbiAgICAgKi9cbiAgICBwdWJsaWMgbWF4aW11bUxhYmVsczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gcmFuZ2Ugb2YgYW4gYXhpcy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIG1pbmltdW06IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgbWlub3IgZ3JpZCBsaW5lcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWlub3JHcmlkTGluZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgbWlub3IgdGljayBsaW5lcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWlub3JUaWNrTGluZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgbWlub3IgdGlja3MgcGVyIGludGVydmFsLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgbWlub3JUaWNrc1BlckludGVydmFsOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFVuaXF1ZSBpZGVudGlmaWVyIG9mIGFuIGF4aXMuIFxuICAgICAqIFRvIGFzc29jaWF0ZSBhbiBheGlzIHdpdGggdGhlIHNlcmllcywgc2V0IHRoaXMgbmFtZSB0byB0aGUgeEF4aXNOYW1lL3lBeGlzTmFtZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZXJpZXMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGF4aXMgd2lsbCByZW5kZXIgYXQgdGhlIG9wcG9zaXRlIHNpZGUgb2YgaXRzIGRlZmF1bHQgcG9zaXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgb3Bwb3NlZFBvc2l0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIGF4aXMgZWxlbWVudHMgbGlrZSBheGlzIGxhYmVscywgYXhpcyB0aXRsZSwgZXRjIGhhcyB0byBiZSBjcm9zc2VkIHdpdGggYXhpcyBsaW5lLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgcGxhY2VOZXh0VG9BeGlzTGluZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIGZvciB0aGUgcGxvdCBhcmVhIGluIHBpeGVscy5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIHBsb3RPZmZzZXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBwYWRkaW5nIGZvciB0aGUgYXhpcyByYW5nZSBpbiB0ZXJtcyBvZiBpbnRlcnZhbC5UaGV5IGFyZSwgXG4gICAgICogKiBub25lOiBQYWRkaW5nIGNhbm5vdCBiZSBhcHBsaWVkIHRvIHRoZSBheGlzLiBcbiAgICAgKiAqIG5vcm1hbDogUGFkZGluZyBpcyBhcHBsaWVkIHRvIHRoZSBheGlzIGJhc2VkIG9uIHRoZSByYW5nZSBjYWxjdWxhdGlvbi4gXG4gICAgICogKiBhZGRpdGlvbmFsOiBJbnRlcnZhbCBvZiB0aGUgYXhpcyBpcyBhZGRlZCBhcyBwYWRkaW5nIHRvIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcyBvZiB0aGUgcmFuZ2UuIFxuICAgICAqICogcm91bmQ6IEF4aXMgcmFuZ2UgaXMgcm91bmRlZCB0byB0aGUgbmVhcmVzdCBwb3NzaWJsZSB2YWx1ZSBkaXZpZGVkIGJ5IHRoZSBpbnRlcnZhbC5cbiAgICAgKiBAZGVmYXVsdCAnQXV0bydcbiAgICAgKi9cbiAgICBwdWJsaWMgcmFuZ2VQYWRkaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgaW5kZXggb2YgdGhlIHJvdyB3aGVyZSB0aGUgYXhpcyBpcyBhc3NvY2lhdGVkLCB3aGVuIHRoZSBjaGFydCBhcmVhIGlzIGRpdmlkZWQgaW50byBtdWx0aXBsZSBwbG90IGFyZWFzIGJ5IHVzaW5nIGByb3dzYC4gXG4gICAgICogXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyByb3dJbmRleDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHNrZWxldG9uIGZvcm1hdCBpbiB3aGljaCB0aGUgZGF0ZVRpbWUgZm9ybWF0IHdpbGwgcHJvY2Vzcy5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBza2VsZXRvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgZm9ybWF0IHRvIGJlIHVzZWQgaW4gZGF0ZVRpbWUgZm9ybWF0IHByb2Nlc3MuXG4gICAgICogQGRlZmF1bHQgJ0RhdGVUaW1lJ1xuICAgICAqL1xuICAgIHB1YmxpYyBza2VsZXRvblR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgYGNvbHVtbnNgIG9yIGByb3dzYCBhbiBheGlzIGhhcyB0byBzcGFuIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBwdWJsaWMgc3BhbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgc3RhcnQgYW5nbGUgZm9yIHRoZSBzZXJpZXMuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGFydEFuZ2xlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgc3RyaXBMaW5lIGNvbGxlY3Rpb24gZm9yIHRoZSBheGlzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdHJpcExpbmVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRhYkluZGV4IHZhbHVlIGZvciB0aGUgYXhpcy5cbiAgICAgKiBAZGVmYXVsdCAyXG4gICAgICovXG4gICAgcHVibGljIHRhYkluZGV4OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgcGxhY2VtZW50IG9mIGEgdGlja3MgdG8gdGhlIGF4aXMgbGluZS4gVGhleSBhcmUsIFxuICAgICAqICogaW5zaWRlOiBSZW5kZXJzIHRoZSB0aWNrcyBpbnNpZGUgdG8gdGhlIGF4aXMgbGluZS4gXG4gICAgICogKiBvdXRzaWRlOiBSZW5kZXJzIHRoZSB0aWNrcyBvdXRzaWRlIHRvIHRoZSBheGlzIGxpbmUuXG4gICAgICogQGRlZmF1bHQgJ091dHNpZGUnXG4gICAgICovXG4gICAgcHVibGljIHRpY2tQb3NpdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRpdGxlIG9mIGFuIGF4aXMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgdGl0bGU6IGFueTtcbiAgICAvKiogXG4gICAgICogT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIGF4aXMgdGl0bGUuXG4gICAgICovXG4gICAgcHVibGljIHRpdGxlU3R5bGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBkYXRhIHR5cGVzIHRoYXQgdGhlIGF4aXMgY2FuIGhhbmRsZTogXG4gICAgICogKiBEb3VibGU6IFRoaXMgdHlwZSBpcyB1c2VkIGZvciByZW5kZXJpbmcgYSBudW1lcmljIGF4aXMgdG8gYWNjb21tb2RhdGUgbnVtZXJpYyBkYXRhLiBcbiAgICAgKiAqIERhdGVUaW1lOiBUaGlzIHR5cGUgaXMgdXRpbGl6ZWQgZm9yIHJlbmRlcmluZyBhIGRhdGUtdGltZSBheGlzIHRvIG1hbmFnZSBkYXRlLXRpbWUgZGF0YS4gXG4gICAgICogKiBDYXRlZ29yeTogVGhpcyB0eXBlIGlzIGVtcGxveWVkIGZvciByZW5kZXJpbmcgYSBjYXRlZ29yeSBheGlzIHRvIG1hbmFnZSBjYXRlZ29yaWNhbCBkYXRhLiBcbiAgICAgKiAqIExvZ2FyaXRobWljOiBUaGlzIHR5cGUgaXMgYXBwbGllZCBmb3IgcmVuZGVyaW5nIGEgbG9nYXJpdGhtaWMgYXhpcyB0byBoYW5kbGUgYSB3aWRlIHJhbmdlIG9mIHZhbHVlcy4gXG4gICAgICogKiBEYXRlVGltZUNhdGVnb3J5OiBUaGlzIHR5cGUgaXMgdXNlZCB0byByZW5kZXIgYSBkYXRlIHRpbWUgY2F0ZWdvcnkgYXhpcyBmb3IgbWFuYWdpbmcgYnVzaW5lc3MgZGF5cy5cbiAgICAgKiBAZGVmYXVsdCAnRG91YmxlJ1xuICAgICAqIEBibGF6b3J0eXBlIFN5bmNmdXNpb24uRUoyLkJsYXpvci5DaGFydHMuVmFsdWVUeXBlXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyB2YWx1ZVR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIHRydWUsIGF4aXMgbGFiZWwgd2lsbCBiZSB2aXNpYmxlLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgdmlzaWJsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgYXhpcyBpcyBzY2FsZWQgYnkgdGhpcyBmYWN0b3IuIFdoZW4gem9vbUZhY3RvciBpcyAwLjUsIHRoZSBjaGFydCBpcyBzY2FsZWQgYnkgMjAwJSBhbG9uZyB0aGlzIGF4aXMuIFZhbHVlIHJhbmdlcyBmcm9tIDAgdG8gMS5cbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgcHVibGljIHpvb21GYWN0b3I6IGFueTtcbiAgICAvKiogXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHpvb21lZCBheGlzLiBWYWx1ZSByYW5nZXMgZnJvbSAwIHRvIDEuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyB6b29tUG9zaXRpb246IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIFN0b2NrQ2hhcnRBeGlzIEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtc3RvY2tjaGFydD5lLXN0b2NrY2hhcnQtYXhlcycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZHJlbjogbmV3IENvbnRlbnRDaGlsZHJlbihTdG9ja0NoYXJ0QXhpc0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0NoYXJ0QXhlc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxTdG9ja0NoYXJ0QXhlc0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignYXhlcycpO1xuICAgIH1cbn0iXX0=