UNPKG

@syncfusion/ej2-angular-diagrams

Version:

Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.

60 lines 20.7 kB
import { Directive, ContentChildren, ContentChild } from '@angular/core'; import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base'; import { ConnectorFixedUserHandlesDirective } from './connector-fixeduserhandle.directive'; import { ConnectorAnnotationsDirective } from './connector-annotation.directive'; import * as i0 from "@angular/core"; let input = ['addInfo', 'allowNodeOverlap', 'annotations', 'bezierSettings', 'bridgeSpace', 'connectionPadding', 'connectorSpacing', 'constraints', 'cornerRadius', 'dragSize', 'excludeFromLayout', 'fixedUserHandles', 'flip', 'flipMode', 'hitPadding', 'id', 'margin', 'maxSegmentThumb', 'ports', 'previewSize', 'segmentThumbShape', 'segmentThumbSize', 'segments', 'shape', 'sourceDecorator', 'sourceID', 'sourcePadding', 'sourcePoint', 'sourcePortID', 'style', 'symbolInfo', 'targetDecorator', 'targetID', 'targetPadding', 'targetPoint', 'targetPortID', 'tooltip', 'type', 'visible', 'wrapper', 'zIndex']; let outputs = []; /** * Connectors Directive * ```html * <e-connectors> * <e-connector></e-connector> * </e-connectors> * ``` */ export class ConnectorDirective extends ComplexBase { constructor(viewContainerRef) { super(); this.viewContainerRef = viewContainerRef; this.tags = ['fixedUserHandles', 'annotations']; setValue('currentInstance', this, this.viewContainerRef); this.registerEvents(outputs); this.directivePropList = input; } } ConnectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); ConnectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ConnectorDirective, selector: "e-connectors>e-connector", inputs: { addInfo: "addInfo", allowNodeOverlap: "allowNodeOverlap", annotations: "annotations", bezierSettings: "bezierSettings", bridgeSpace: "bridgeSpace", connectionPadding: "connectionPadding", connectorSpacing: "connectorSpacing", constraints: "constraints", cornerRadius: "cornerRadius", dragSize: "dragSize", excludeFromLayout: "excludeFromLayout", fixedUserHandles: "fixedUserHandles", flip: "flip", flipMode: "flipMode", hitPadding: "hitPadding", id: "id", margin: "margin", maxSegmentThumb: "maxSegmentThumb", ports: "ports", previewSize: "previewSize", segmentThumbShape: "segmentThumbShape", segmentThumbSize: "segmentThumbSize", segments: "segments", shape: "shape", sourceDecorator: "sourceDecorator", sourceID: "sourceID", sourcePadding: "sourcePadding", sourcePoint: "sourcePoint", sourcePortID: "sourcePortID", style: "style", symbolInfo: "symbolInfo", targetDecorator: "targetDecorator", targetID: "targetID", targetPadding: "targetPadding", targetPoint: "targetPoint", targetPortID: "targetPortID", tooltip: "tooltip", type: "type", visible: "visible", wrapper: "wrapper", zIndex: "zIndex" }, queries: [{ propertyName: "childFixedUserHandles", first: true, predicate: ConnectorFixedUserHandlesDirective, descendants: true }, { propertyName: "childAnnotations", first: true, predicate: ConnectorAnnotationsDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorDirective, decorators: [{ type: Directive, args: [{ selector: 'e-connectors>e-connector', inputs: input, outputs: outputs, queries: { childFixedUserHandles: new ContentChild(ConnectorFixedUserHandlesDirective), childAnnotations: new ContentChild(ConnectorAnnotationsDirective) } }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } }); /** * Connector Array Directive * @private */ export class ConnectorsDirective extends ArrayBase { constructor() { super('connectors'); } } ConnectorsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); ConnectorsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ConnectorsDirective, selector: "ej-diagram>e-connectors", queries: [{ propertyName: "children", predicate: ConnectorDirective }], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorsDirective, decorators: [{ type: Directive, args: [{ selector: 'ej-diagram>e-connectors', queries: { children: new ContentChildren(ConnectorDirective) }, }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlhZ3JhbS9jb25uZWN0b3JzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUVqRixJQUFJLEtBQUssR0FBYSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdG1CLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7OztHQU9HO0FBVUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQStCO0lBcVFuRSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBaFE5QyxTQUFJLEdBQWEsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQWtReEQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7K0dBMVFRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDJzQ0FKaUIsa0NBQWtDLG1GQUN2Qyw2QkFBNkI7MkZBRzNELGtCQUFrQjtrQkFUOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLHFCQUFxQixFQUFFLElBQUksWUFBWSxDQUFDLGtDQUFrQyxDQUFDO3dCQUMzRSxnQkFBZ0IsRUFBRSxJQUFJLFlBQVksQ0FBQyw2QkFBNkIsQ0FBQztxQkFDcEU7aUJBQ0o7O0FBOFFEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUE4QjtJQUNuRTtRQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDOztnSEFIUSxtQkFBbUI7b0dBQW5CLG1CQUFtQix3RkFITSxrQkFBa0I7MkZBRzNDLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGtCQUFrQixDQUFDO3FCQUNwRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cbmltcG9ydCB7IENvbm5lY3RvckZpeGVkVXNlckhhbmRsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Nvbm5lY3Rvci1maXhlZHVzZXJoYW5kbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbm5lY3RvckFubm90YXRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb25uZWN0b3ItYW5ub3RhdGlvbi5kaXJlY3RpdmUnO1xuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhZGRJbmZvJywgJ2FsbG93Tm9kZU92ZXJsYXAnLCAnYW5ub3RhdGlvbnMnLCAnYmV6aWVyU2V0dGluZ3MnLCAnYnJpZGdlU3BhY2UnLCAnY29ubmVjdGlvblBhZGRpbmcnLCAnY29ubmVjdG9yU3BhY2luZycsICdjb25zdHJhaW50cycsICdjb3JuZXJSYWRpdXMnLCAnZHJhZ1NpemUnLCAnZXhjbHVkZUZyb21MYXlvdXQnLCAnZml4ZWRVc2VySGFuZGxlcycsICdmbGlwJywgJ2ZsaXBNb2RlJywgJ2hpdFBhZGRpbmcnLCAnaWQnLCAnbWFyZ2luJywgJ21heFNlZ21lbnRUaHVtYicsICdwb3J0cycsICdwcmV2aWV3U2l6ZScsICdzZWdtZW50VGh1bWJTaGFwZScsICdzZWdtZW50VGh1bWJTaXplJywgJ3NlZ21lbnRzJywgJ3NoYXBlJywgJ3NvdXJjZURlY29yYXRvcicsICdzb3VyY2VJRCcsICdzb3VyY2VQYWRkaW5nJywgJ3NvdXJjZVBvaW50JywgJ3NvdXJjZVBvcnRJRCcsICdzdHlsZScsICdzeW1ib2xJbmZvJywgJ3RhcmdldERlY29yYXRvcicsICd0YXJnZXRJRCcsICd0YXJnZXRQYWRkaW5nJywgJ3RhcmdldFBvaW50JywgJ3RhcmdldFBvcnRJRCcsICd0b29sdGlwJywgJ3R5cGUnLCAndmlzaWJsZScsICd3cmFwcGVyJywgJ3pJbmRleCddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIENvbm5lY3RvcnMgRGlyZWN0aXZlXG4gKiBgYGBodG1sXG4gKiA8ZS1jb25uZWN0b3JzPlxuICogPGUtY29ubmVjdG9yPjwvZS1jb25uZWN0b3I+XG4gKiA8L2UtY29ubmVjdG9ycz5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2UtY29ubmVjdG9ycz5lLWNvbm5lY3RvcicsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkRml4ZWRVc2VySGFuZGxlczogbmV3IENvbnRlbnRDaGlsZChDb25uZWN0b3JGaXhlZFVzZXJIYW5kbGVzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQW5ub3RhdGlvbnM6IG5ldyBDb250ZW50Q2hpbGQoQ29ubmVjdG9yQW5ub3RhdGlvbnNEaXJlY3RpdmUpXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0b3JEaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxDb25uZWN0b3JEaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG4gICAgcHVibGljIGNoaWxkRml4ZWRVc2VySGFuZGxlczogYW55O1xuICAgIHB1YmxpYyBjaGlsZEFubm90YXRpb25zOiBhbnk7XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydmaXhlZFVzZXJIYW5kbGVzJywgJ2Fubm90YXRpb25zJ107XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHR5cGUgb2YgdGhlIGNvbm5lY3RvciBcbiAgICAgKiAqIFN0cmFpZ2h0IC0gU2V0cyB0aGUgc2VnbWVudCB0eXBlIGFzIFN0cmFpZ2h0IFxuICAgICAqICogT3J0aG9nb25hbCAtIFNldHMgdGhlIHNlZ21lbnQgdHlwZSBhcyBPcnRob2dvbmFsIFxuICAgICAqICogQmV6aWVyIC0gU2V0cyB0aGUgc2VnbWVudCB0eXBlIGFzIEJlemllclxuICAgICAqIEBkZWZhdWx0ICdTdHJhaWdodCdcbiAgICAgKiBAYXNwdHlwZSBTeW5jZnVzaW9uLkVKMi5EaWFncmFtcy5TZWdtZW50c1xuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyB0aGUgdXNlciB0byBzYXZlIGN1c3RvbSBpbmZvcm1hdGlvbi9kYXRhIGFib3V0IGEgbm9kZS9jb25uZWN0b3JcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRJbmZvOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0byBvdmVybGFwIHRoZSBjb25uZWN0b3Igb3ZlciB3aXRoIHRoZSBzb3VyY2UgYW5kIHRhcmdldCBub2RlLiBcbiAgICAgKiBJZiB0aGUgTGluZVJvdXRpbmcgaXMgZW5hYmxlZCBpbiB0aGUgZGlhZ3JhbSwgdGhlbiBhbGxvd05vZGVPdmVybGFwIHByb3BlcnR5IHdpbGwgbm90IHdvcmsuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dOb2RlT3ZlcmxhcDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBcbiAgICAgKi9cbiAgICBwdWJsaWMgYW5ub3RhdGlvbnM6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgYmV6aWVyIHNldHRpbmdzIG9mIGVkaXRpbmcgdGhlIHNlZ21lbnRzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgYmV6aWVyU2V0dGluZ3M6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYnJpZGdlU3BhY2Ugb2YgY29ubmVjdG9yXG4gICAgICogQGRlZmF1bHQgMTBcbiAgICAgKi9cbiAgICBwdWJsaWMgYnJpZGdlU3BhY2U6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgY29ubmVjdG9yIHBhZGRpbmcgdmFsdWVcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGNvbm5lY3Rpb25QYWRkaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIGRpc3RhbmNlIGJldHdlZW4gc291cmNlIG5vZGUgYW5kIGNvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0IDEzXG4gICAgICovXG4gICAgcHVibGljIGNvbm5lY3RvclNwYWNpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgY29uc3RyYWludHMgb2YgY29ubmVjdG9yIFxuICAgICAqICogTm9uZSAtIEludGVyYWN0aW9uIG9mIHRoZSBjb25uZWN0b3JzIGNhbm5vdCBiZSBkb25lLiBcbiAgICAgKiAqIFNlbGVjdCAtIFNlbGVjdHMgdGhlIGNvbm5lY3Rvci4gXG4gICAgICogKiBEZWxldGUgLSBEZWxldGUgdGhlIGNvbm5lY3Rvci4gXG4gICAgICogKiBEcmFnIC0gRHJhZyB0aGUgY29ubmVjdG9yLiBcbiAgICAgKiAqIERyYWdTb3VyY2VFbmQgLSBEcmFnIHRoZSBzb3VyY2UgZW5kIG9mIHRoZSBjb25uZWN0b3IuIFxuICAgICAqICogRHJhZ1RhcmdldEVuZCAtIERyYWcgdGhlIHRhcmdldCBlbmQgb2YgdGhlIGNvbm5lY3Rvci4gXG4gICAgICogKiBEcmFnU2VnbWVudFRodW1wIC0gRHJhZyB0aGUgc2VnbWVudCB0aHVtYiBvZiB0aGUgY29ubmVjdG9yLiBcbiAgICAgKiAqIEFsbG93RHJvcCAtIEFsbG93IHRvIGRyb3AgYSBub2RlLiBcbiAgICAgKiAqIEJyaWRnaW5nIC0gQ3JlYXRlcyBicmlkZ2UgIG9uIGludGVyc2VjdGlvbiBvZiB0d28gY29ubmVjdG9ycy4gXG4gICAgICogKiBJbmhlcml0QnJpZGdpbmcgLSBDcmVhdGVzIGJyaWRnZSAgb24gaW50ZXJzZWN0aW9uIG9mIHR3byBjb25uZWN0b3JzLiBcbiAgICAgKiAqIFBvaW50ZXJFdmVudHMgLSBTZXRzIHRoZSBwb2ludGVyIGV2ZW50cy4gXG4gICAgICogKiBUb29sdGlwIC0gRGlzcGxheXMgYSB0b29sdGlwIGZvciB0aGUgY29ubmVjdG9ycy4gXG4gICAgICogKiBJbmhlcml0VG9vbFRpcCAtIERpc3BsYXlzIGEgdG9vbHRpcCBmb3IgdGhlIGNvbm5lY3RvcnMuIFxuICAgICAqICogSW50ZXJhY3Rpb24gLSBGZWF0dXJlcyBvZiB0aGUgY29ubmVjdG9yIHVzZWQgZm9yIGludGVyYWN0aW9uLiBcbiAgICAgKiAqIFJlYWRPbmx5IC0gRW5hYmxlcyBSZWFkT25seVxuICAgICAqIEBkZWZhdWx0ICdEZWZhdWx0J1xuICAgICAqIEBhc3BudW1iZXJlbnVtIFxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJhaW50czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBjb3JuZXIgcmFkaXVzIG9mIHRoZSBjb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGNvcm5lclJhZGl1czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBzaXplIG9mIGEgZHJvcCBzeW1ib2xcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHB1YmxpYyBkcmFnU2l6ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIG5vZGUgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgcG9zaXRpb25lZCBvciBub3QuIEFwcGxpY2FibGUsIGlmIGxheW91dCBvcHRpb24gaXMgZW5hYmxlZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBleGNsdWRlRnJvbUxheW91dDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGNvbGxlY3Rpb24gb2YgdGhlIGZpeGVkIHVzZXIgaGFuZGxlXG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZWlnbm9yZSBcbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZml4ZWRVc2VySGFuZGxlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBGbGlwIHRoZSBlbGVtZW50IGluIEhvcml6b250YWwvVmVydGljYWwgZGlyZWN0aW9uc1xuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGRlZmF1bHQgTm9uZVxuICAgICAqL1xuICAgIHB1YmxpYyBmbGlwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyB5b3UgdG8gZmxpcCBvbmx5IHRoZSBub2RlIG9yIGFsb25nIHdpdGggcG9ydCBhbmQgbGFiZWwuXG4gICAgICogXG4gICAgICogVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGFwcGxpY2FibGUgb25seSBmb3Igbm9kZXMuXG4gICAgICogICAgIFxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGRlZmF1bHQgQWxsXG4gICAgICovXG4gICAgcHVibGljIGZsaXBNb2RlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIGNvbm5lY3RvciBwYWRkaW5nIHZhbHVlXG4gICAgICogQGRlZmF1bHQgMTBcbiAgICAgKi9cbiAgICBwdWJsaWMgaGl0UGFkZGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBSZXByZXNlbnRzIHRoZSB1bmlxdWUgaWQgb2Ygbm9kZXMvY29ubmVjdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGlkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHNwYWNlIHRvIGJlIGxlZnQgYmV0d2VlbiB0aGUgbm9kZSBhbmQgaXRzIGltbWVkaWF0ZSBwYXJlbnRcbiAgICAgKiBAZGVmYXVsdCB7fVxuICAgICAqL1xuICAgIHB1YmxpYyBtYXJnaW46IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgbWF4aW11bSBzZWdtZW50IHRodW1iIGZvciB0aGUgY29ubmVjdG9yXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBtYXhTZWdtZW50VGh1bWI6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYmVoYXZpb3Igb2YgY29ubmVjdGlvbiBwb3J0c1xuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcHVibGljIHBvcnRzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHNpemUgb2YgdGhlIHN5bWJvbCBwcmV2aWV3XG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZWlnbm9yZSBcbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJldmlld1NpemU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgc2hhcGUgZm9yIHRoZSBjb25uZWN0b3Igc2VnbWVudFRodW1iIFxuICAgICAqIFJob21idXMgLSBTZXRzIHRoZSBzZWdtZW50VGh1bWIgc2hhcGUgYXMgUmhvbWJ1cyBcbiAgICAgKiBTcXVhcmUgLSBTZXRzIHRoZSBzZWdtZW50VGh1bWIgc2hhcGUgYXMgU3F1YXJlIFxuICAgICAqIFJlY3RhbmdsZSAtIFNldHMgdGhlIHNlZ21lbnRUaHVtYiBzaGFwZSBhcyBSZWN0YW5nbGUgXG4gICAgICogRWxsaXBzZSAtIFNldHMgdGhlIHNlZ21lbnRUaHVtYiBzaGFwZSBhcyBFbGxpcHNlIFxuICAgICAqIEFycm93IC0gU2V0cyB0aGUgc2VnbWVudFRodW1iIHNoYXBlIGFzIEFycm93IFxuICAgICAqIERpYW1vbmQgLSBTZXRzIHRoZSBzZWdtZW50VGh1bWIgc2hhcGUgYXMgRGlhbW9uZCBcbiAgICAgKiBPcGVuQXJyb3cgLSBTZXRzIHRoZSBzZWdtZW50VGh1bWIgc2hhcGUgYXMgT3BlbkFycm93IFxuICAgICAqIENpcmNsZSAtIFNldHMgdGhlIHNlZ21lbnRUaHVtYiBzaGFwZSBhcyBDaXJjbGUgXG4gICAgICogRmxldGNoIC0gU2V0cyB0aGUgc2VnbWVudFRodW1iIHNoYXBlIGFzIEZsZXRjaCBcbiAgICAgKiBPcGVuRmV0Y2ggLSBTZXRzIHRoZSBzZWdtZW50VGh1bWIgc2hhcGUgYXMgT3BlbkZldGNoIFxuICAgICAqIEluZGVudGVkQXJyb3cgLSBTZXRzIHRoZSBzZWdtZW50VGh1bWIgc2hhcGUgYXMgSW5kZW50ZWQgQXJyb3cgXG4gICAgICogT3V0ZGVudGVkQXJyb3cgLSBTZXRzIHRoZSBzZWdtZW50VGh1bWIgc2hhcGUgYXMgT3V0ZGVudGVkIEFycm93IFxuICAgICAqIERvdWJsZUFycm93IC0gU2V0cyB0aGUgc2VnbWVudFRodW1iIHNoYXBlIGFzIERvdWJsZUFycm93XG4gICAgICogQGRlZmF1bHQgJ0NpcmNsZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VnbWVudFRodW1iU2hhcGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBzaXplIG9mIHRoZSBzZWdtZW50IHRodW1iIGZvciBpbmRpdmlkdWFsIGNvbm5lY3Rvci4gV2hlbiBub3Qgc2V0LCBpdCBkZWZhdWx0cyB0byBtYXRjaGluZyB0aGUgdW5kZXJseWluZyBwYXRoIGRhdGFcbiAgICAgKiBAZGVmYXVsdCAxMFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWdtZW50VGh1bWJTaXplOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHNlZ21lbnRzXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKiBAYXNwdHlwZSBvYmplY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VnbWVudHM6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgc2hhcGUgb2YgdGhlIGNvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0ICdCcG1uJ1xuICAgICAqIEBhc3B0eXBlIG9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBzaGFwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBzb3VyY2UgZGVjb3JhdG9yIG9mIHRoZSBjb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCBuZXcgRGVjb3JhdG9yKClcbiAgICAgKi9cbiAgICBwdWJsaWMgc291cmNlRGVjb3JhdG9yOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIHNvdXJjZSBub2RlL2Nvbm5lY3RvciBvYmplY3Qgb2YgdGhlIGNvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgc291cmNlSUQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgc291cmNlIHBhZGRpbmcgb2YgdGhlIGNvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgc291cmNlUGFkZGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBiZWdpbm5pbmcgcG9pbnQgb2YgdGhlIGNvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0IG5ldyBQb2ludCgwLDApXG4gICAgICovXG4gICAgcHVibGljIHNvdXJjZVBvaW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgc291cmNlIHBvcnQgb2YgdGhlIGNvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHNvdXJjZVBvcnRJRDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjb25uZWN0aW9uIHBhdGhcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBzdHlsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBzeW1ib2wgaW5mbyBvZiBhIGNvbm5lY3RvclxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICogQGlnbm9yZWFwaWxpbmsgXG4gICAgICovXG4gICAgcHVibGljIHN5bWJvbEluZm86IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgdGFyZ2V0IGRlY29yYXRvciBvZiB0aGUgY29ubmVjdG9yXG4gICAgICogQGRlZmF1bHQgbmV3IERlY29yYXRvcigpXG4gICAgICovXG4gICAgcHVibGljIHRhcmdldERlY29yYXRvcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSB0YXJnZXQgbm9kZS9jb25uZWN0b3Igb2JqZWN0IG9mIHRoZSBjb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHRhcmdldElEOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIHRhcmdldCBwYWRkaW5nIG9mIHRoZSBjb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIHRhcmdldFBhZGRpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgZW5kIHBvaW50IG9mIHRoZSBjb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCBuZXcgUG9pbnQoMCwwKVxuICAgICAqL1xuICAgIHB1YmxpYyB0YXJnZXRQb2ludDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSB1bmlxdWUgaWQgb2YgdGhlIHRhcmdldCBwb3J0IG9mIHRoZSBjb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0YXJnZXRQb3J0SUQ6IGFueTtcbiAgICAvKiogXG4gICAgICogZGVmaW5lcyB0aGUgdG9vbHRpcCBmb3IgdGhlIGNvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0IG5ldyBEaWFncmFtVG9vbFRpcCgpO1xuICAgICAqL1xuICAgIHB1YmxpYyB0b29sdGlwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIG5vZGUvY29ubmVjdG9yXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIFVJIG9mIHRoZSBjb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGRlcHJlY2F0ZWQgXG4gICAgICovXG4gICAgcHVibGljIHdyYXBwZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgdmlzdWFsIG9yZGVyIG9mIHRoZSBub2RlL2Nvbm5lY3RvciBpbiBET01cbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlIDVlLTMyNFxuICAgICAqIEBkZWZhdWx0IE51bWJlci5NSU5fVkFMVUVcbiAgICAgKi9cbiAgICBwdWJsaWMgekluZGV4OiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb25uZWN0b3IgQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2VqLWRpYWdyYW0+ZS1jb25uZWN0b3JzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKENvbm5lY3RvckRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0b3JzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPENvbm5lY3RvcnNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2Nvbm5lY3RvcnMnKTtcbiAgICB9XG59Il19