@foblex/flow 16.0.2 → 16.0.4

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.
Files changed (37) hide show
  1. package/domain/f-connection/add-connection-to-store/add-connection-to-store-request.d.ts +5 -0
  2. package/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.d.ts +11 -0
  3. package/domain/f-connection/add-connection-to-store/index.d.ts +2 -0
  4. package/domain/f-connection/index.d.ts +2 -0
  5. package/domain/f-connection/providers.d.ts +3 -1
  6. package/domain/f-connection/remove-connection-from-store/index.d.ts +2 -0
  7. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.d.ts +5 -0
  8. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.d.ts +11 -0
  9. package/domain/providers.d.ts +1 -1
  10. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +6 -0
  11. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +24 -0
  12. package/esm2022/domain/f-connection/add-connection-to-store/index.mjs +3 -0
  13. package/esm2022/domain/f-connection/index.mjs +3 -1
  14. package/esm2022/domain/f-connection/providers.mjs +5 -1
  15. package/esm2022/domain/f-connection/remove-connection-from-store/index.mjs +3 -0
  16. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +6 -0
  17. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +28 -0
  18. package/esm2022/f-canvas/f-canvas.component.mjs +12 -5
  19. package/esm2022/f-connection/f-connection/f-connection.component.mjs +16 -13
  20. package/esm2022/f-connectors/e-f-connectable-side.mjs +2 -2
  21. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +4 -4
  22. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  23. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +3 -2
  24. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +3 -3
  25. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +2 -2
  26. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +2 -2
  27. package/esm2022/f-draggable/node/connection.drag-handler.mjs +2 -2
  28. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +2 -2
  29. package/f-canvas/f-canvas.component.d.ts +1 -0
  30. package/f-connection/f-connection/f-connection.component.d.ts +3 -1
  31. package/f-connectors/e-f-connectable-side.d.ts +1 -1
  32. package/f-draggable/connections/providers.d.ts +1 -1
  33. package/f-draggable/connections/reassign-connection/f-reassign-connection.event.d.ts +3 -1
  34. package/f-draggable/providers.d.ts +1 -1
  35. package/fesm2022/foblex-flow.mjs +86 -23
  36. package/fesm2022/foblex-flow.mjs.map +1 -1
  37. package/package.json +2 -2
@@ -0,0 +1,5 @@
1
+ import { FConnectionBase } from '../../../f-connection';
2
+ export declare class AddConnectionToStoreRequest {
3
+ fConnection: FConnectionBase;
4
+ constructor(fConnection: FConnectionBase);
5
+ }
@@ -0,0 +1,11 @@
1
+ import { IExecution } from '@foblex/mediator';
2
+ import { AddConnectionToStoreRequest } from './add-connection-to-store-request';
3
+ import { FComponentsStore } from '../../../f-storage';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AddConnectionToStoreExecution implements IExecution<AddConnectionToStoreRequest, void> {
6
+ private fComponentsStore;
7
+ constructor(fComponentsStore: FComponentsStore);
8
+ handle(request: AddConnectionToStoreRequest): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddConnectionToStoreExecution, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<AddConnectionToStoreExecution>;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './add-connection-to-store.execution';
2
+ export * from './add-connection-to-store-request';
@@ -1,4 +1,6 @@
1
+ export * from './add-connection-to-store';
1
2
  export * from './find-closest-input-using-snap-threshold';
2
3
  export * from './get-all-can-be-connected-input-positions';
3
4
  export * from './get-connector-with-rect';
5
+ export * from './remove-connection-from-store';
4
6
  export * from './providers';
@@ -1,4 +1,6 @@
1
1
  import { FindClosestInputUsingSnapThresholdExecution } from './find-closest-input-using-snap-threshold';
2
2
  import { GetAllCanBeConnectedInputPositionsExecution } from './get-all-can-be-connected-input-positions';
3
3
  import { GetConnectorWithRectExecution } from './get-connector-with-rect';
4
- export declare const F_CONNECTION_FEATURES: (typeof FindClosestInputUsingSnapThresholdExecution | typeof GetAllCanBeConnectedInputPositionsExecution | typeof GetConnectorWithRectExecution)[];
4
+ import { AddConnectionToStoreExecution } from './add-connection-to-store';
5
+ import { RemoveConnectionFromStoreExecution } from './remove-connection-from-store';
6
+ export declare const F_CONNECTION_FEATURES: (typeof AddConnectionToStoreExecution | typeof FindClosestInputUsingSnapThresholdExecution | typeof GetAllCanBeConnectedInputPositionsExecution | typeof GetConnectorWithRectExecution | typeof RemoveConnectionFromStoreExecution)[];
@@ -0,0 +1,2 @@
1
+ export * from './remove-connection-from-store.execution';
2
+ export * from './remove-connection-from-store-request';
@@ -0,0 +1,5 @@
1
+ import { FConnectionBase } from '../../../f-connection';
2
+ export declare class RemoveConnectionFromStoreRequest {
3
+ fConnection: FConnectionBase;
4
+ constructor(fConnection: FConnectionBase);
5
+ }
@@ -0,0 +1,11 @@
1
+ import { IExecution } from '@foblex/mediator';
2
+ import { RemoveConnectionFromStoreRequest } from './remove-connection-from-store-request';
3
+ import { FComponentsStore } from '../../../f-storage';
4
+ import * as i0 from "@angular/core";
5
+ export declare class RemoveConnectionFromStoreExecution implements IExecution<RemoveConnectionFromStoreRequest, void> {
6
+ private fComponentsStore;
7
+ constructor(fComponentsStore: FComponentsStore);
8
+ handle(request: RemoveConnectionFromStoreRequest): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<RemoveConnectionFromStoreExecution, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<RemoveConnectionFromStoreExecution>;
11
+ }
@@ -14,4 +14,4 @@ import { SortItemLayersExecution, SortItemsByParentExecution, SortNodeLayersExec
14
14
  import { GetDeepChildrenNodesAndGroupsExecution } from './get-deep-children-nodes-and-groups';
15
15
  import { CreateRoundedRectFromElementExecution } from './create-rounded-rect-from-element';
16
16
  import { ShowConnectionsAfterCalculationsExecution } from './show-connections-after-calculations';
17
- export declare const COMMON_PROVIDERS: (typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").ResetScaleExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").FindClosestInputUsingSnapThresholdExecution | typeof import("./f-connection").GetAllCanBeConnectedInputPositionsExecution | typeof import("./f-connection").GetConnectorWithRectExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof CreateConnectionMarkersExecution | typeof CreateRoundedRectFromElementExecution | typeof EmitTransformChangesExecution | typeof import("./f-selection").ClearSelectionExecution | typeof import("./f-selection").GetSelectionExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAllExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof GetCanBeSelectedItemsExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetConnectionLineExecution | typeof GetElementRectInFlowExecution | typeof import("./get-flow-state").GetFlowStateExecution | typeof import("./get-flow-state").GetFlowStateNodesExecution | typeof import("./get-flow-state").GetFlowStateConnectionsExecution | typeof GetScaledNodeRectsWithFlowPositionExecution | typeof GetNodesRectExecution | typeof GetPositionInFlowExecution | typeof IsConnectionUnderNodeExecution | typeof RedrawConnectionsExecution | typeof ShowConnectionsAfterCalculationsExecution | typeof SortItemLayersExecution | typeof SortItemsByParentExecution | typeof SortNodeLayersExecution | typeof SubscribeOnTransformChangesExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
17
+ export declare const COMMON_PROVIDERS: (typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").ResetScaleExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").FindClosestInputUsingSnapThresholdExecution | typeof import("./f-connection").GetAllCanBeConnectedInputPositionsExecution | typeof import("./f-connection").GetConnectorWithRectExecution | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof CreateConnectionMarkersExecution | typeof CreateRoundedRectFromElementExecution | typeof EmitTransformChangesExecution | typeof import("./f-selection").ClearSelectionExecution | typeof import("./f-selection").GetSelectionExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAllExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof GetCanBeSelectedItemsExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetConnectionLineExecution | typeof GetElementRectInFlowExecution | typeof import("./get-flow-state").GetFlowStateExecution | typeof import("./get-flow-state").GetFlowStateNodesExecution | typeof import("./get-flow-state").GetFlowStateConnectionsExecution | typeof GetScaledNodeRectsWithFlowPositionExecution | typeof GetNodesRectExecution | typeof GetPositionInFlowExecution | typeof IsConnectionUnderNodeExecution | typeof RedrawConnectionsExecution | typeof ShowConnectionsAfterCalculationsExecution | typeof SortItemLayersExecution | typeof SortItemsByParentExecution | typeof SortNodeLayersExecution | typeof SubscribeOnTransformChangesExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
@@ -0,0 +1,6 @@
1
+ export class AddConnectionToStoreRequest {
2
+ constructor(fConnection) {
3
+ this.fConnection = fConnection;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9hZGQtY29ubmVjdGlvbi10by1zdG9yZS9hZGQtY29ubmVjdGlvbi10by1zdG9yZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7SUFFcEMsWUFDVyxXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7SUFFdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2VcbiAgICApIHtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '@foblex/mediator';
4
+ import { AddConnectionToStoreRequest } from './add-connection-to-store-request';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../f-storage";
7
+ export let AddConnectionToStoreExecution = class AddConnectionToStoreExecution {
8
+ constructor(fComponentsStore) {
9
+ this.fComponentsStore = fComponentsStore;
10
+ }
11
+ handle(request) {
12
+ this.fComponentsStore.fConnections.push(request.fConnection);
13
+ this.fComponentsStore.componentDataChanged();
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddConnectionToStoreExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddConnectionToStoreExecution }); }
17
+ };
18
+ AddConnectionToStoreExecution = __decorate([
19
+ FExecutionRegister(AddConnectionToStoreRequest)
20
+ ], AddConnectionToStoreExecution);
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddConnectionToStoreExecution, decorators: [{
22
+ type: Injectable
23
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBS3pFLFdBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBRXhDLFlBQ1ksZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFvQztRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDL0MsQ0FBQzsrR0FWVSw2QkFBNkI7bUhBQTdCLDZCQUE2Qjs7QUFBN0IsNkJBQTZCO0lBRHpDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDO0dBQ25DLDZCQUE2QixDQVd6Qzs0RkFYWSw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCB9IGZyb20gJy4vYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQWRkQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLnB1c2gocmVxdWVzdC5mQ29ubmVjdGlvbik7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './add-connection-to-store.execution';
2
+ export * from './add-connection-to-store-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZS5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlLXJlcXVlc3QnO1xuIl19
@@ -1,5 +1,7 @@
1
+ export * from './add-connection-to-store';
1
2
  export * from './find-closest-input-using-snap-threshold';
2
3
  export * from './get-all-can-be-connected-input-positions';
3
4
  export * from './get-connector-with-rect';
5
+ export * from './remove-connection-from-store';
4
6
  export * from './providers';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbmQtY2xvc2VzdC1pbnB1dC11c2luZy1zbmFwLXRocmVzaG9sZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtYWxsLWNhbi1iZS1jb25uZWN0ZWQtaW5wdXQtcG9zaXRpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdG9yLXdpdGgtcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
@@ -1,9 +1,13 @@
1
1
  import { FindClosestInputUsingSnapThresholdExecution } from './find-closest-input-using-snap-threshold';
2
2
  import { GetAllCanBeConnectedInputPositionsExecution } from './get-all-can-be-connected-input-positions';
3
3
  import { GetConnectorWithRectExecution } from './get-connector-with-rect';
4
+ import { AddConnectionToStoreExecution } from './add-connection-to-store';
5
+ import { RemoveConnectionFromStoreExecution } from './remove-connection-from-store';
4
6
  export const F_CONNECTION_FEATURES = [
7
+ AddConnectionToStoreExecution,
5
8
  FindClosestInputUsingSnapThresholdExecution,
6
9
  GetAllCanBeConnectedInputPositionsExecution,
7
10
  GetConnectorWithRectExecution,
11
+ RemoveConnectionFromStoreExecution
8
12
  ];
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUVuQywyQ0FBMkM7SUFFM0MsMkNBQTJDO0lBRTNDLDZCQUE2QjtDQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZEV4ZWN1dGlvbiB9IGZyb20gJy4vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkJztcbmltcG9ydCB7IEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1hbGwtY2FuLWJlLWNvbm5lY3RlZC1pbnB1dC1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgR2V0Q29ubmVjdG9yV2l0aFJlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1jb25uZWN0b3Itd2l0aC1yZWN0JztcblxuZXhwb3J0IGNvbnN0IEZfQ09OTkVDVElPTl9GRUFUVVJFUyA9IFtcblxuICBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkRXhlY3V0aW9uLFxuXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNFeGVjdXRpb24sXG5cbiAgR2V0Q29ubmVjdG9yV2l0aFJlY3RFeGVjdXRpb24sXG5dO1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUVuQyw2QkFBNkI7SUFFN0IsMkNBQTJDO0lBRTNDLDJDQUEyQztJQUUzQyw2QkFBNkI7SUFFN0Isa0NBQWtDO0NBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkRXhlY3V0aW9uIH0gZnJvbSAnLi9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQnO1xuaW1wb3J0IHsgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc0V4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBHZXRDb25uZWN0b3JXaXRoUmVjdEV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuaW1wb3J0IHsgQWRkQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUnO1xuXG5leHBvcnQgY29uc3QgRl9DT05ORUNUSU9OX0ZFQVRVUkVTID0gW1xuXG4gIEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uLFxuXG4gIEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRFeGVjdXRpb24sXG5cbiAgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc0V4ZWN1dGlvbixcblxuICBHZXRDb25uZWN0b3JXaXRoUmVjdEV4ZWN1dGlvbixcblxuICBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlRXhlY3V0aW9uXG5dO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './remove-connection-from-store.execution';
2
+ export * from './remove-connection-from-store-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9yZW1vdmUtY29ubmVjdGlvbi1mcm9tLXN0b3JlLXJlcXVlc3QnO1xuIl19
@@ -0,0 +1,6 @@
1
+ export class RemoveConnectionFromStoreRequest {
2
+ constructor(fConnection) {
3
+ this.fConnection = fConnection;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUvcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQ0FBZ0M7SUFFekMsWUFDUyxXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7SUFFckMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0IHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2VcbiAgICApIHtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '@foblex/mediator';
4
+ import { RemoveConnectionFromStoreRequest } from './remove-connection-from-store-request';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../f-storage";
7
+ export let RemoveConnectionFromStoreExecution = class RemoveConnectionFromStoreExecution {
8
+ constructor(fComponentsStore) {
9
+ this.fComponentsStore = fComponentsStore;
10
+ }
11
+ handle(request) {
12
+ const index = this.fComponentsStore.fConnections.indexOf(request.fConnection);
13
+ if (index === -1) {
14
+ throw new Error(`Connection not found in store`);
15
+ }
16
+ this.fComponentsStore.fConnections.splice(index, 1);
17
+ this.fComponentsStore.componentDataChanged();
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveConnectionFromStoreExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveConnectionFromStoreExecution }); }
21
+ };
22
+ RemoveConnectionFromStoreExecution = __decorate([
23
+ FExecutionRegister(RemoveConnectionFromStoreRequest)
24
+ ], RemoveConnectionFromStoreExecution);
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveConnectionFromStoreExecution, decorators: [{
26
+ type: Injectable
27
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS9yZW1vdmUtY29ubmVjdGlvbi1mcm9tLXN0b3JlLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBS25GLFdBQU0sa0NBQWtDLEdBQXhDLE1BQU0sa0NBQWtDO0lBRTdDLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF5QztRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQy9DLENBQUM7K0dBZFUsa0NBQWtDO21IQUFsQyxrQ0FBa0M7O0FBQWxDLGtDQUFrQztJQUQ5QyxrQkFBa0IsQ0FBQyxnQ0FBZ0MsQ0FBQztHQUN4QyxrQ0FBa0MsQ0FlOUM7NEZBZlksa0NBQWtDO2tCQUY5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucy5pbmRleE9mKHJlcXVlc3QuZkNvbm5lY3Rpb24pO1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29ubmVjdGlvbiBub3QgZm91bmQgaW4gc3RvcmVgKTtcbiAgICB9XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG59XG4iXX0=
@@ -34,11 +34,18 @@ export class FCanvasComponent extends FCanvasBase {
34
34
  this.fMediator.send(new EmitTransformChangesRequest());
35
35
  }
36
36
  redrawWithAnimation() {
37
+ let duration = F_CANVAS_ANIMATION_DURATION;
38
+ if (this.isMobile()) {
39
+ duration = 80;
40
+ }
37
41
  this.fComponentsStore.fBackground?.setTransform(this.transform);
38
- this.hostElement.setAttribute("style", `transition: transform ${F_CANVAS_ANIMATION_DURATION}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
39
- setTimeout(() => {
40
- this.redraw();
41
- }, F_CANVAS_ANIMATION_DURATION);
42
+ this.hostElement.setAttribute("style", `transition: transform ${duration}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
43
+ setTimeout(() => this.redraw(), F_CANVAS_ANIMATION_DURATION);
44
+ }
45
+ isMobile() {
46
+ // @ts-ignore
47
+ const userAgent = navigator.userAgent || navigator.vendor || window['opera'];
48
+ return /android|iPad|iPhone|iPod/i.test(userAgent);
42
49
  }
43
50
  centerGroupOrNode(id, animated = true) {
44
51
  this.fMediator.send(new CenterGroupOrNodeRequest(id, animated));
@@ -83,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
83
90
  type: ViewChild,
84
91
  args: ['fConnectionsContainer', { static: true }]
85
92
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsR0FDdEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFBRSxRQUFRLEVBQ3RCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8vRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEdBQ2xFLE1BQU0sV0FBVyxDQUFDOzs7O0FBZW5CLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBSy9DLElBQ1csUUFBUSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBb0IsTUFBTTtRQUN4QixPQUFPLElB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USxFQUFFLFdBQVcsa0JBQWtCLEVBQUU7cUJBQ3JELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3dKQUsvQixhQUFhO3NCQUQ1QixNQUFNO2dCQUlJLFFBQVE7c0JBRGxCLEtBQUs7Z0JBTUssS0FBSztzQkFEZixLQUFLO2dCQWNVLGdCQUFnQjtzQkFEL0IsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9CLGVBQWU7c0JBRDlCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5QixxQkFBcUI7c0JBRHBDLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEZDYW52YXNCYXNlLCBGX0NBTlZBU1xufSBmcm9tICcuL2YtY2FudmFzLWJhc2UnO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgRkNhbnZhc0NoYW5nZUV2ZW50LFxufSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0LFxuICBGX0NBTlZBU19BTklNQVRJT05fRFVSQVRJT04sXG4gIEZpdFRvRmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QsIFJlc2V0U2NhbGVSZXF1ZXN0LCBVcGRhdGVTY2FsZVJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY2FudmFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtY2FudmFzLmNvbXBvbmVudC5zY3NzJyBdLFxuICBleHBvcnRBczogJ2ZDb21wb25lbnQnLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2YtY29tcG9uZW50IGYtY2FudmFzJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0NBTlZBUywgdXNlRXhpc3Rpbmc6IEZDYW52YXNDb21wb25lbnQgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkNhbnZhc0NvbXBvbmVudCBleHRlbmRzIEZDYW52YXNCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDYW52YXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGQ2FudmFzQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGQ2FudmFzQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwb3NpdGlvbih2YWx1ZTogSVBvaW50IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHZhbHVlKSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNjYWxlKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSwgdmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2ZHcm91cHNDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyb3Vwc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZOb2Rlc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdmQ29ubmVjdGlvbnNDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25zQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyA9IHRoaXM7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2Zvcm06ICR7IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSkgfWApO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXdXaXRoQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHsgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OIH1tcyBlYXNlLWluLW91dDsgdHJhbnNmb3JtOiAkeyBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pIH1gKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfSwgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OKTtcbiAgfVxuXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShpZDogc3RyaW5nLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoaWQsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgZml0VG9TY3JlZW4odG9DZW50ZXI6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEZpdFRvRmxvd1JlcXVlc3QodG9DZW50ZXIsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTY2FsZUFuZENlbnRlcihhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdChhbmltYXRlZCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFpvb20oc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFVwZGF0ZVNjYWxlUmVxdWVzdChzY2FsZSwgdG9Qb3NpdGlvbikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0Wm9vbSgpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsR0FDdEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFBRSxRQUFRLEVBQ3RCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8vRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEdBQ2xFLE1BQU0sV0FBVyxDQUFDOzs7O0FBZW5CLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBSy9DLElBQ1csUUFBUSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBb0IsTUFBTTtRQUN4QixPQUFPLElB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RUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzsrR0FwRlUsZ0JBQWdCO21HQUFoQixnQkFBZ0Isb0xBTGhCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRTtTQUNyRCxpY0NsQ0gsa2JBY0E7OzRGRHVCYSxnQkFBZ0I7a0JBYjVCLFNBQVM7K0JBQ0UsVUFBVSxZQUdWLFlBQVksUUFDaEI7d0JBQ0osT0FBTyxFQUFFLHNCQUFzQjtxQkFDaEMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxrQkFBa0IsRUFBRTtxQkFDckQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07d0pBSy9CLGFBQWE7c0JBRDVCLE1BQU07Z0JBSUksUUFBUTtzQkFEbEIsS0FBSztnQkFNSyxLQUFLO3NCQURmLEtBQUs7Z0JBY1UsZ0JBQWdCO3NCQUQvQixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0IsZUFBZTtzQkFEOUIsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTlCLHFCQUFxQjtzQkFEcEMsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRkNhbnZhc0Jhc2UsIEZfQ0FOVkFTXG59IGZyb20gJy4vZi1jYW52YXMtYmFzZSc7XG5pbXBvcnQgeyBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge1xuICBGQ2FudmFzQ2hhbmdlRXZlbnQsXG59IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ2VudGVyR3JvdXBPck5vZGVSZXF1ZXN0LFxuICBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QsXG4gIEZfQ0FOVkFTX0FOSU1BVElPTl9EVVJBVElPTixcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QsXG4gIElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0LFxuICBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdCwgUmVzZXRTY2FsZVJlcXVlc3QsIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jYW52YXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1jYW52YXMuY29tcG9uZW50LnNjc3MnIF0sXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb21wb25lbnQgZi1jYW52YXMnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfQ0FOVkFTLCB1c2VFeGlzdGluZzogRkNhbnZhc0NvbXBvbmVudCB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGQ2FudmFzQ29tcG9uZW50IGV4dGVuZHMgRkNhbnZhc0Jhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNhbnZhc0NoYW5nZTogRXZlbnRFbWl0dGVyPEZDYW52YXNDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBvc2l0aW9uKHZhbHVlOiBJUG9pbnQgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBJbnB1dENhbnZhc1Bvc2l0aW9uUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSwgdmFsdWUpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2NhbGUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZkdyb3Vwc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnZk5vZGVzQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZOb2Rlc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzID0gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZCYWNrZ3JvdW5kPy5zZXRUcmFuc2Zvcm0odGhpcy50cmFuc2Zvcm0pO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgYHRyYW5zZm9ybTogJHsgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKSB9YCk7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgbGV0IGR1cmF0aW9uID0gRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OO1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKCkpIHtcbiAgICAgIGR1cmF0aW9uID0gODA7XG4gICAgfVxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHsgZHVyYXRpb24gfW1zIGVhc2UtaW4tb3V0OyB0cmFuc2Zvcm06ICR7IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSkgfWApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWRyYXcoKSwgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHVzZXJBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQgfHwgbmF2aWdhdG9yLnZlbmRvciB8fCB3aW5kb3dbICdvcGVyYScgXTtcbiAgICByZXR1cm4gL2FuZHJvaWR8aVBhZHxpUGhvbmV8aVBvZC9pLnRlc3QodXNlckFnZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShpZDogc3RyaW5nLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoaWQsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgZml0VG9TY3JlZW4odG9DZW50ZXI6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEZpdFRvRmxvd1JlcXVlc3QodG9DZW50ZXIsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTY2FsZUFuZENlbnRlcihhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdChhbmltYXRlZCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFpvb20oc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFVwZGF0ZVNjYWxlUmVxdWVzdChzY2FsZSwgdG9Qb3NpdGlvbikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0Wm9vbSgpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -9,15 +9,17 @@ import { F_CONNECTION } from '../common/f-connection.injection-token';
9
9
  // at f-connection-for-create.component.ts:34:11
10
10
  import { FConnectionBase } from '../common/f-connection-base';
11
11
  import { castToEnum } from '@foblex/utils';
12
+ import { AddConnectionToStoreRequest, RemoveConnectionFromStoreRequest } from '../../domain';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "../f-connection-builder";
14
15
  import * as i2 from "../../f-storage";
15
- import * as i3 from "@angular/common";
16
- import * as i4 from "../common/f-connection-text/f-connection-text.component";
17
- import * as i5 from "../common/f-drag-handle/f-connection-drag-handle.component";
18
- import * as i6 from "../common/f-gradient/f-connection-gradient.component";
19
- import * as i7 from "../common/f-path/f-connection-path.component";
20
- import * as i8 from "../common/f-selection/f-connection-selection.component";
16
+ import * as i3 from "@foblex/mediator";
17
+ import * as i4 from "@angular/common";
18
+ import * as i5 from "../common/f-connection-text/f-connection-text.component";
19
+ import * as i6 from "../common/f-drag-handle/f-connection-drag-handle.component";
20
+ import * as i7 from "../common/f-gradient/f-connection-gradient.component";
21
+ import * as i8 from "../common/f-path/f-connection-path.component";
22
+ import * as i9 from "../common/f-selection/f-connection-selection.component";
21
23
  let uniqueId = 0;
22
24
  export class FConnectionComponent extends FConnectionBase {
23
25
  set fText(value) {
@@ -86,9 +88,10 @@ export class FConnectionComponent extends FConnectionBase {
86
88
  get boundingElement() {
87
89
  return this.fPath.hostElement;
88
90
  }
89
- constructor(elementReference, fConnectionFactory, fComponentsStore) {
91
+ constructor(elementReference, fConnectionFactory, fComponentsStore, fMediator) {
90
92
  super(elementReference, fConnectionFactory);
91
93
  this.fComponentsStore = fComponentsStore;
94
+ this.fMediator = fMediator;
92
95
  this.fId = `f-connection-${uniqueId++}`;
93
96
  this._fText = '';
94
97
  this._fStartColor = 'black';
@@ -101,13 +104,13 @@ export class FConnectionComponent extends FConnectionBase {
101
104
  this.fSelectionDisabled = false;
102
105
  }
103
106
  ngOnInit() {
104
- this.fComponentsStore.addComponent(this.fComponentsStore.fConnections, this);
107
+ this.fMediator.send(new AddConnectionToStoreRequest(this));
105
108
  }
106
109
  ngOnDestroy() {
107
- this.fComponentsStore.removeComponent(this.fComponentsStore.fConnections, this);
110
+ this.fMediator.send(new RemoveConnectionFromStoreRequest(this));
108
111
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }, { token: i3.FMediator }], target: i0.ɵɵFactoryTarget.Component }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i6.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i7.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i8.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i9.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
114
  }
112
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FConnectionComponent, decorators: [{
113
116
  type: Component,
@@ -117,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
117
120
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled',
118
121
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled',
119
122
  }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"] }]
120
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }]; }, propDecorators: { fId: [{
123
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }, { type: i3.FMediator }]; }, propDecorators: { fId: [{
121
124
  type: Input,
122
125
  args: ['fConnectionId']
123
126
  }], fText: [{
@@ -168,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
168
171
  type: ContentChildren,
169
172
  args: [FConnectionCenterDirective, { descendants: true }]
170
173
  }] } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FHOUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEUsZ0hBQWdIO0FBQ2hILHdFQUF3RTtBQUN4RSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFFM0MsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZ0J6QixNQUFNLE9BQU8sb0JBQ1QsU0FBUSxlQUFlO0lBTXpCLElBQ29CLEtBQUssQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FB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ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ09OTkVDVElPTl9HUkFESUVOVCxcbiAgQ09OTkVDVElPTl9QQVRILFxuICBDT05ORUNUSU9OX1RFWFQsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCxcbiAgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsXG4gIElDb25uZWN0aW9uR3JhZGllbnQsXG4gIElDb25uZWN0aW9uUGF0aCwgSUNvbm5lY3Rpb25UZXh0LFxufSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG4vL1RPRE86IE5lZWQgdG8gZGVhbCB3aXRoIGN5Y2xpYyBkZXBlbmRlbmNpZXMsIHNpbmNlIGluIHNvbWUgY2FzZXMgYW4gZXJyb3Igb2NjdXJzIHdoZW4gaW1wb3J0aW5nIHRoZW0gLi4vY29tbW9uXG4vLyBUeXBlRXJyb3I6IENsYXNzIGV4dGVuZHMgdmFsdWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcbi8vIGF0IGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC50czozNDoxMVxuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1jb25uZWN0aW9uXCIsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1jb25uZWN0aW9uLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZJZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uXCIsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1jb25uZWN0aW9uLXJlYXNzaWduLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEZDb25uZWN0aW9uQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2ZDb25uZWN0aW9uSWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZklkOiBzdHJpbmcgPSBgZi1jb25uZWN0aW9uLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgcHJpdmF0ZSBfZlRleHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mVGV4dCA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZlRleHQ7XG4gIH1cblxuICBwcml2YXRlIF9mU3RhcnRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmU3RhcnRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZlN0YXJ0Q29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZTdGFydENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZTdGFydENvbG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfZkVuZENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZFbmRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZkVuZENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmRW5kQ29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZkVuZENvbG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfZk91dHB1dElkITogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZPdXRwdXRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZk91dHB1dElkID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT3V0cHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZk91dHB1dElkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZklucHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZklucHV0SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZJbnB1dElkID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmSW5wdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mSW5wdXRJZDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZSYWRpdXM6IG51bWJlciA9IDg7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlJhZGl1cyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZlJhZGl1cyA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlJhZGl1cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mUmFkaXVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZk9mZnNldDogbnVtYmVyID0gMzI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZk9mZnNldCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZk9mZnNldCA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk9mZnNldCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mT2Zmc2V0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZkJlaGF2aW9yKHZhbHVlOiBzdHJpbmcgfCBFRkNvbm5lY3Rpb25CZWhhdmlvcikge1xuICAgIHRoaXMuX2JlaGF2aW9yID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZCZWhhdmlvcigpOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB7XG4gICAgcmV0dXJuIHRoaXMuX2JlaGF2aW9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZTogRUZDb25uZWN0aW9uVHlwZSA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlR5cGUodmFsdWU6IEVGQ29ubmVjdGlvblR5cGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl90eXBlID0gdmFsdWUgYXMgdW5rbm93biBhcyBFRkNvbm5lY3Rpb25UeXBlOyAvL2Nhc3RUb0VudW0odmFsdWUsICdmVHlwZScsIEVGQ29ubmVjdGlvblR5cGUpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlR5cGUoKTogRUZDb25uZWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBASW5wdXQoJ2ZSZWFzc2lnbkRpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2RlZnMnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRlZnMhOiBFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fUEFUSCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZQYXRoITogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9HUkFESUVOVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZHcmFkaWVudCE6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ0hhbmRsZSE6IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbiE6IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9URVhULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHRDb21wb25lbnQhOiBJQ29ubmVjdGlvblRleHQ7XG5cbiAgQFZpZXdDaGlsZCgnZkNvbm5lY3Rpb25DZW50ZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uQ2VudGVyITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgZkNvbm5lY3Rpb25DZW50ZXJzITogUXVlcnlMaXN0PEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlPjtcbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aC5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBmQ29ubmVjdGlvbkZhY3Rvcnk6IEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucywgdGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLCB0aGlzKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTsgZGlzcGxheTogYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICA8L2c+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FHOUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEUsZ0hBQWdIO0FBQ2hILHdFQUF3RTtBQUN4RSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7OztBQUU3RixJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFnQnpCLE1BQU0sT0FBTyxvQkFDVCxTQUFRLGVBQWU7SUFNekIsSUFDb0IsS0FBSyxDQUFD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QVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENPTk5FQ1RJT05fR1JBRElFTlQsXG4gIENPTk5FQ1RJT05fUEFUSCxcbiAgQ09OTkVDVElPTl9URVhULFxuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LFxuICBJQ29ubmVjdGlvbkdyYWRpZW50LFxuICBJQ29ubmVjdGlvblBhdGgsIElDb25uZWN0aW9uVGV4dCxcbn0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1jZW50ZXInO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuLy9UT0RPOiBOZWVkIHRvIGRlYWwgd2l0aCBjeWNsaWMgZGVwZW5kZW5jaWVzLCBzaW5jZSBpbiBzb21lIGNhc2VzIGFuIGVycm9yIG9jY3VycyB3aGVuIGltcG9ydGluZyB0aGVtIC4uL2NvbW1vblxuLy8gVHlwZUVycm9yOiBDbGFzcyBleHRlbmRzIHZhbHVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXG4vLyBhdCBmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQudHM6MzQ6MTFcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24tYmFzZSc7XG5pbXBvcnQgeyBjYXN0VG9FbnVtIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCwgUmVtb3ZlQ29ubmVjdGlvbkZyb21TdG9yZVJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNvbm5lY3Rpb25cIixcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3NcIiBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZklkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb25cIixcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Db21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZkNvbm5lY3Rpb25JZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLWNvbm5lY3Rpb24tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwcml2YXRlIF9mVGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZUZXh0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mVGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZTdGFydENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZTdGFydENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mU3RhcnRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlN0YXJ0Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZlN0YXJ0Q29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mRW5kQ29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZkVuZENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mRW5kQ29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZFbmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mRW5kQ29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZk91dHB1dElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mT3V0cHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZPdXRwdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mT3V0cHV0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9mSW5wdXRJZCE6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmSW5wdXRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZklucHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZJbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZJbnB1dElkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZlJhZGl1czogbnVtYmVyID0gODtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmUmFkaXVzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mUmFkaXVzID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmUmFkaXVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZSYWRpdXM7XG4gIH1cblxuICBwcml2YXRlIF9mT2Zmc2V0OiBudW1iZXIgPSAzMjtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mT2Zmc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9iZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmQmVoYXZpb3IodmFsdWU6IHN0cmluZyB8IEVGQ29ubmVjdGlvbkJlaGF2aW9yKSB7XG4gICAgdGhpcy5fYmVoYXZpb3IgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZkJlaGF2aW9yKCk6IEVGQ29ubmVjdGlvbkJlaGF2aW9yIHtcbiAgICByZXR1cm4gdGhpcy5fYmVoYXZpb3I7XG4gIH1cblxuICBwcml2YXRlIF90eXBlOiBFRkNvbm5lY3Rpb25UeXBlID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmVHlwZSh2YWx1ZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZSBhcyB1bmtub3duIGFzIEVGQ29ubmVjdGlvblR5cGU7IC8vY2FzdFRvRW51bSh2YWx1ZSwgJ2ZUeXBlJywgRUZDb25uZWN0aW9uVHlwZSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVHlwZSgpOiBFRkNvbm5lY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgnZlJlYXNzaWduRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9QQVRILCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlBhdGghOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX0dSQURJRU5ULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyYWRpZW50ITogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnSGFuZGxlITogRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uITogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1RFWFQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dENvbXBvbmVudCE6IElDb25uZWN0aW9uVGV4dDtcblxuICBAVmlld0NoaWxkKCdmQ29ubmVjdGlvbkNlbnRlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25DZW50ZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBmQ29ubmVjdGlvbkNlbnRlcnMhOiBRdWVyeUxpc3Q8RkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmU+O1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGJvdW5kaW5nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZQYXRoLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIGZDb25uZWN0aW9uRmFjdG9yeTogRkNvbm5lY3Rpb25GYWN0b3J5LFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgUmVtb3ZlQ29ubmVjdGlvbkZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBzdHlsZT1cIm92ZXJmbG93OiB2aXNpYmxlOyBkaXNwbGF5OiBibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIj5cbiAgPGRlZnMgI2RlZnM+PC9kZWZzPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxnIGNsYXNzPVwiZi1jb25uZWN0aW9uLWdyb3VwXCI+XG4gICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICA8cGF0aCBmQ29ubmVjdGlvblNlbGVjdGlvbiBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgPGc+XG4gICAgICA8cGF0aCBmLWNvbm5lY3Rpb24tcGF0aCBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZSByPVwiOFwiPjwvY2lyY2xlPlxuICAgIDwvZz5cbiAgICA8dGV4dCBmLWNvbm5lY3Rpb24tdGV4dD48L3RleHQ+XG4gIDwvZz5cbjwvc3ZnPlxuPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCIgKm5nSWY9XCJmQ29ubmVjdGlvbkNlbnRlcnMubGVuZ3RoXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,9 +1,9 @@
1
1
  export var EFConnectableSide;
2
2
  (function (EFConnectableSide) {
3
3
  EFConnectableSide["LEFT"] = "left";
4
- EFConnectableSide["RIGHT"] = "right";
5
4
  EFConnectableSide["TOP"] = "top";
5
+ EFConnectableSide["RIGHT"] = "right";
6
6
  EFConnectableSide["BOTTOM"] = "bottom";
7
7
  EFConnectableSide["AUTO"] = "auto";
8
8
  })(EFConnectableSide || (EFConnectableSide = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFXWDtBQVhELFdBQVksaUJBQWlCO0lBRTNCLGtDQUFhLENBQUE7SUFFYixvQ0FBZSxDQUFBO0lBRWYsZ0NBQVcsQ0FBQTtJQUVYLHNDQUFpQixDQUFBO0lBRWpCLGtDQUFhLENBQUE7QUFDZixDQUFDLEVBWFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGQ29ubmVjdGFibGVTaWRlIHtcblxuICBMRUZUID0gJ2xlZnQnLFxuXG4gIFJJR0hUID0gJ3JpZ2h0JyxcblxuICBUT1AgPSAndG9wJyxcblxuICBCT1RUT00gPSAnYm90dG9tJyxcblxuICBBVVRPID0gJ2F1dG8nLFxufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFXWDtBQVhELFdBQVksaUJBQWlCO0lBRTNCLGtDQUFhLENBQUE7SUFFYixnQ0FBVyxDQUFBO0lBRVgsb0NBQWUsQ0FBQTtJQUVmLHNDQUFpQixDQUFBO0lBRWpCLGtDQUFhLENBQUE7QUFDZixDQUFDLEVBWFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGQ29ubmVjdGFibGVTaWRlIHtcblxuICBMRUZUID0gJ2xlZnQnLFxuXG4gIFRPUCA9ICd0b3AnLFxuXG4gIFJJR0hUID0gJ3JpZ2h0JyxcblxuICBCT1RUT00gPSAnYm90dG9tJyxcblxuICBBVVRPID0gJ2F1dG8nLFxufVxuIl19
@@ -46,13 +46,14 @@ export class FNodeInputDirective extends FNodeInputBase {
46
46
  setConnected(isConnected) {
47
47
  this.isConnected = isConnected;
48
48
  this.hostElement.classList.toggle('f-node-input-connected', isConnected);
49
+ this.hostElement.classList.toggle('f-node-input-not-connectable', !this.canBeConnected);
49
50
  }
50
51
  ngOnDestroy() {
51
52
  this.fNode.removeConnector(this);
52
53
  this.fComponentsStore.removeComponent(this.fComponentsStore.fInputs, this);
53
54
  }
54
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FNodeInputDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FNodeInputDirective, selector: "[fNodeInput]", inputs: { id: ["fInputId", "id"], multiple: ["fInputMultiple", "multiple"], disabled: ["fInputDisabled", "disabled"], _fSide: ["fInputConnectableSide", "_fSide"] }, host: { properties: { "attr.data-f-input-id": "id", "class.f-node-input-multiple": "multiple", "class.f-node-input-disabled": "disabled", "class.f-node-input-not-connectable": "!canBeConnected" }, classAttribute: "f-component f-node-input" }, providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }], exportAs: ["fNodeInput"], usesInheritance: true, ngImport: i0 }); }
56
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FNodeInputDirective, selector: "[fNodeInput]", inputs: { id: ["fInputId", "id"], multiple: ["fInputMultiple", "multiple"], disabled: ["fInputDisabled", "disabled"], _fSide: ["fInputConnectableSide", "_fSide"] }, host: { properties: { "attr.data-f-input-id": "id", "class.f-node-input-multiple": "multiple", "class.f-node-input-disabled": "disabled" }, classAttribute: "f-component f-node-input" }, providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }], exportAs: ["fNodeInput"], usesInheritance: true, ngImport: i0 }); }
56
57
  }
57
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FNodeInputDirective, decorators: [{
58
59
  type: Directive,
@@ -63,8 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
63
64
  '[attr.data-f-input-id]': 'id',
64
65
  class: "f-component f-node-input",
65
66
  '[class.f-node-input-multiple]': 'multiple',
66
- '[class.f-node-input-disabled]': 'disabled',
67
- '[class.f-node-input-not-connectable]': '!canBeConnected',
67
+ '[class.f-node-input-disabled]': 'disabled'
68
68
  },
69
69
  providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }],
70
70
  }]
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
84
84
  type: Input,
85
85
  args: ['fInputConnectableSide']
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQWEsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQVFyRCxJQUNvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBb0IsUUFBUSxDQUFDLFVBQXdDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBSUQsSUFDVyxNQUFNLENBQUMsS0FBaUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBTUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDVSxnQkFBeUMsRUFDekIsS0FBZ0IsRUFDaEMsZ0JBQWtDO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBSkEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QzVCLE9BQUUsR0FBUSxnQkFBaUIsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUd6QyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBZWpDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFZcEIsc0JBQWlCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU5RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVk3QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRWUsWUFBWSxDQUFDLFdBQW9CO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQzsrR0E5RFUsbUJBQW1CLDRDQTJDcEIsTUFBTTttR0EzQ0wsbUJBQW1CLCtiQUZuQixDQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBRTs7NEZBRS9ELG1CQUFtQjtrQkFaL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLElBQUksRUFBRTt3QkFDSix3QkFBd0IsRUFBRSxJQUFJO3dCQUM5QixLQUFLLEVBQUUsMEJBQTBCO3dCQUNqQywrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQywrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQyxzQ0FBc0MsRUFBRSxpQkFBaUI7cUJBQzFEO29CQUNELFNBQVMsRUFBRSxDQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLHFCQUFxQixFQUFFLENBQUU7aUJBQzNFOzswQkE0Q0ksTUFBTTsyQkFBQyxNQUFNOzJFQXhDQSxFQUFFO3NCQURqQixLQUFLO3VCQUFDLFVBQVU7Z0JBSUQsUUFBUTtzQkFEdkIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSUgsUUFBUTtzQkFEM0IsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBZ0JaLE1BQU07c0JBRGhCLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFX0lOUFVULCBGTm9kZUlucHV0QmFzZSB9IGZyb20gJy4vZi1ub2RlLWlucHV0LWJhc2UnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi9lLWYtY29ubmVjdGFibGUtc2lkZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UsIEZfTk9ERSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGNhc3RUb0Jvb2xlYW4sIGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZOb2RlSW5wdXRdXCIsXG4gIGV4cG9ydEFzOiAnZk5vZGVJbnB1dCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLWlucHV0LWlkXSc6ICdpZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1ub2RlLWlucHV0XCIsXG4gICAgJ1tjbGFzcy5mLW5vZGUtaW5wdXQtbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1pbnB1dC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1ub2RlLWlucHV0LW5vdC1jb25uZWN0YWJsZV0nOiAnIWNhbkJlQ29ubmVjdGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9OT0RFX0lOUFVULCB1c2VFeGlzdGluZzogRk5vZGVJbnB1dERpcmVjdGl2ZSB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlSW5wdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZUlucHV0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2ZJbnB1dElkJylcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBhbnkgPSBgZi1ub2RlLWlucHV0LSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmSW5wdXRNdWx0aXBsZScpXG4gIHB1YmxpYyBvdmVycmlkZSBtdWx0aXBsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCdmSW5wdXREaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gY2FzdFRvQm9vbGVhbihpc0Rpc2FibGVkKTtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmSW5wdXRDb25uZWN0YWJsZVNpZGUnKVxuICBwdWJsaWMgc2V0IF9mU2lkZSh2YWx1ZTogRUZDb25uZWN0YWJsZVNpZGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9mQ29ubmVjdGFibGVTaWRlID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZJbnB1dENvbm5lY3RhYmxlU2lkZScsIEVGQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLmZOb2RlLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX2ZTaWRlKCk6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbm5lY3RhYmxlU2lkZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBfZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBpc0Nvbm5lY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIEBJbmplY3QoRl9OT0RFKSBwcml2YXRlIGZOb2RlOiBGTm9kZUJhc2UsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMsIHRoaXMpO1xuICAgIHRoaXMuZk5vZGUuYWRkQ29ubmVjdG9yKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldENvbm5lY3RlZChpc0Nvbm5lY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBpc0Nvbm5lY3RlZDtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ2Ytbm9kZS1pbnB1dC1jb25uZWN0ZWQnLCBpc0Nvbm5lY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cywgdGhpcyk7XG4gIH1cbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQWEsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQVFyRCxJQUNvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBb0IsUUFBUSxDQUFDLFVBQXdDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBSUQsSUFDVyxNQUFNLENBQUMsS0FBaUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBTUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDVSxnQkFBeUMsRUFDekIsS0FBZ0IsRUFDaEMsZ0JBQWtDO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBSkEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QzVCLE9BQUUsR0FBUSxnQkFBaUIsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUd6QyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBZWpDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFZcEIsc0JBQWlCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU5RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVk3QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRWUsWUFBWSxDQUFDLFdBQW9CO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdFLENBQUM7K0dBL0RVLG1CQUFtQiw0Q0EyQ3BCLE1BQU07bUdBM0NMLG1CQUFtQixzWUFGbkIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUU7OzRGQUUvRCxtQkFBbUI7a0JBWC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixJQUFJLEVBQUU7d0JBQ0osd0JBQXdCLEVBQUUsSUFBSTt3QkFDOUIsS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMsK0JBQStCLEVBQUUsVUFBVTt3QkFDM0MsK0JBQStCLEVBQUUsVUFBVTtxQkFDNUM7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBRTtpQkFDM0U7OzBCQTRDSSxNQUFNOzJCQUFDLE1BQU07MkVBeENBLEVBQUU7c0JBRGpCLEtBQUs7dUJBQUMsVUFBVTtnQkFJRCxRQUFRO3NCQUR2QixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJSCxRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFnQlosTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGX05PREVfSU5QVVQsIEZOb2RlSW5wdXRCYXNlIH0gZnJvbSAnLi9mLW5vZGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IEZOb2RlQmFzZSwgRl9OT0RFIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgY2FzdFRvQm9vbGVhbiwgY2FzdFRvRW51bSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZk5vZGVJbnB1dF1cIixcbiAgZXhwb3J0QXM6ICdmTm9kZUlucHV0JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtaW5wdXQtaWRdJzogJ2lkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLW5vZGUtaW5wdXRcIixcbiAgICAnW2NsYXNzLmYtbm9kZS1pbnB1dC1tdWx0aXBsZV0nOiAnbXVsdGlwbGUnLFxuICAgICdbY2xhc3MuZi1ub2RlLWlucHV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9OT0RFX0lOUFVULCB1c2VFeGlzdGluZzogRk5vZGVJbnB1dERpcmVjdGl2ZSB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlSW5wdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZUlucHV0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2ZJbnB1dElkJylcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBhbnkgPSBgZi1ub2RlLWlucHV0LSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmSW5wdXRNdWx0aXBsZScpXG4gIHB1YmxpYyBvdmVycmlkZSBtdWx0aXBsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCdmSW5wdXREaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gY2FzdFRvQm9vbGVhbihpc0Rpc2FibGVkKTtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmSW5wdXRDb25uZWN0YWJsZVNpZGUnKVxuICBwdWJsaWMgc2V0IF9mU2lkZSh2YWx1ZTogRUZDb25uZWN0YWJsZVNpZGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9mQ29ubmVjdGFibGVTaWRlID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZJbnB1dENvbm5lY3RhYmxlU2lkZScsIEVGQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLmZOb2RlLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX2ZTaWRlKCk6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbm5lY3RhYmxlU2lkZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBfZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBpc0Nvbm5lY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIEBJbmplY3QoRl9OT0RFKSBwcml2YXRlIGZOb2RlOiBGTm9kZUJhc2UsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMsIHRoaXMpO1xuICAgIHRoaXMuZk5vZGUuYWRkQ29ubmVjdG9yKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldENvbm5lY3RlZChpc0Nvbm5lY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBpc0Nvbm5lY3RlZDtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ2Ytbm9kZS1pbnB1dC1jb25uZWN0ZWQnLCBpc0Nvbm5lY3RlZCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCdmLW5vZGUtaW5wdXQtbm90LWNvbm5lY3RhYmxlJywgIXRoaXMuY2FuQmVDb25uZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZk5vZGUucmVtb3ZlQ29ubmVjdG9yKHRoaXMpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMsIHRoaXMpO1xuICB9XG59XG4iXX0=
@@ -50,13 +50,14 @@ export class FNodeOutputDirective extends FNodeOutputBase {
50
50
  setConnected(isConnected) {
51
51
  this.isConnected = isConnected;
52
52
  this.hostElement.classList.toggle('f-node-output-connected', isConnected);
53
+ this.hostElement.classList.toggle('f-node-output-not-connectable', !this.canBeConnected);
53
54
  }
54
55
  ngOnDestroy() {
55
56
  this.fNode.removeConnector(this);
56
57
  this.fComponentsStore.removeComponent(this.fComponentsStore.fOutputs, this);
57
58
  }
58
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FNodeOutputDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
59
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FNodeOutputDirective, selector: "[fNodeOutput]", inputs: { id: ["fOutputId", "id"], multiple: ["fOutputMultiple", "multiple"], disabled: ["fOutputDisabled", "disabled"], _fSide: ["fOutputConnectableSide", "_fSide"], isSelfConnectable: "isSelfConnectable" }, host: { properties: { "attr.data-f-output-id": "id", "class.f-node-output-multiple": "multiple", "class.f-node-output-disabled": "disabled", "class.f-node-output-not-connectable": "!canBeConnected", "class.f-node-output-self-connectable": "isSelfConnectable" }, classAttribute: "f-component f-node-output" }, providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }], exportAs: ["fNodeOutput"], usesInheritance: true, ngImport: i0 }); }
60
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FNodeOutputDirective, selector: "[fNodeOutput]", inputs: { id: ["fOutputId", "id"], multiple: ["fOutputMultiple", "multiple"], disabled: ["fOutputDisabled", "disabled"], _fSide: ["fOutputConnectableSide", "_fSide"], isSelfConnectable: "isSelfConnectable" }, host: { properties: { "attr.data-f-output-id": "id", "class.f-node-output-multiple": "multiple", "class.f-node-output-disabled": "disabled", "class.f-node-output-self-connectable": "isSelfConnectable" }, classAttribute: "f-component f-node-output" }, providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }], exportAs: ["fNodeOutput"], usesInheritance: true, ngImport: i0 }); }
60
61
  }
61
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FNodeOutputDirective, decorators: [{
62
63
  type: Directive,
@@ -68,7 +69,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
68
69
  class: "f-component f-node-output",
69
70
  '[class.f-node-output-multiple]': 'multiple',
70
71
  '[class.f-node-output-disabled]': 'disabled',
71
- '[class.f-node-output-not-connectable]': '!canBeConnected',
72
72
  '[class.f-node-output-self-connectable]': 'isSelfConnectable',
73
73
  },
74
74
  providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }],
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
91
91
  }], isSelfConnectable: [{
92
92
  type: Input
93
93
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQVF2RCxJQUNvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBb0IsUUFBUSxDQUFDLFVBQXdDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBSUQsSUFDVyxNQUFNLENBQUMsS0FBaUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBU0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBeUMsRUFDekIsS0FBZ0IsRUFDaEMsZ0JBQWtDO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSkUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE1QzlCLE9BQUUsR0FBVyxpQkFBa0IsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUc3QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBZWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFZcEIsc0JBQWlCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU5RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixzQkFBaUIsR0FBWSxJQUFJLENBQUM7SUFZbEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUMvRDtRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRWUsWUFBWSxDQUFDLFdBQW9CO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQzsrR0FwRVUsb0JBQW9CLDRDQThDbkIsTUFBTTttR0E5Q1Asb0JBQW9CLDhpQkFGcEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUU7OzRGQUVqRSxvQkFBb0I7a0JBYmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUU7d0JBQ0oseUJBQXlCLEVBQUUsSUFBSTt3QkFDL0IsS0FBSyxFQUFFLDJCQUEyQjt3QkFDbEMsZ0NBQWdDLEVBQUUsVUFBVTt3QkFDNUMsZ0NBQWdDLEVBQUUsVUFBVTt3QkFDNUMsdUNBQXVDLEVBQUUsaUJBQWlCO3dCQUMxRCx3Q0FBd0MsRUFBRSxtQkFBbUI7cUJBQzlEO29CQUNELFNBQVMsRUFBRSxDQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHNCQUFzQixFQUFFLENBQUU7aUJBQzdFOzswQkErQ00sTUFBTTsyQkFBQyxNQUFNOzJFQTNDRixFQUFFO3NCQURqQixLQUFLO3VCQUFDLFdBQVc7Z0JBSUYsUUFBUTtzQkFEdkIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSUosUUFBUTtzQkFEM0IsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBZ0JiLE1BQU07c0JBRGhCLEtBQUs7dUJBQUMsd0JBQXdCO2dCQWVmLGlCQUFpQjtzQkFEaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZOb2RlT3V0cHV0QmFzZSwgRl9OT0RFX09VVFBVVCB9IGZyb20gJy4vZi1ub2RlLW91dHB1dC1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBjYXN0VG9Cb29sZWFuLCBjYXN0VG9FbnVtIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmTm9kZU91dHB1dF1cIixcbiAgZXhwb3J0QXM6ICdmTm9kZU91dHB1dCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLW91dHB1dC1pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtbm9kZS1vdXRwdXRcIixcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtbm90LWNvbm5lY3RhYmxlXSc6ICchY2FuQmVDb25uZWN0ZWQnLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1zZWxmLWNvbm5lY3RhYmxlXSc6ICdpc1NlbGZDb25uZWN0YWJsZScsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfTk9ERV9PVVRQVVQsIHVzZUV4aXN0aW5nOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlT3V0cHV0RGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVPdXRwdXRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZk91dHB1dElkJylcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcgPSBgZi1ub2RlLW91dHB1dC0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgnZk91dHB1dE11bHRpcGxlJylcbiAgcHVibGljIG92ZXJyaWRlIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmT3V0cHV0RGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGRpc2FibGVkKGlzRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBzdHJpbmcpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNhc3RUb0Jvb2xlYW4oaXNEaXNhYmxlZCk7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZk91dHB1dENvbm5lY3RhYmxlU2lkZScpXG4gIHB1YmxpYyBzZXQgX2ZTaWRlKHZhbHVlOiBFRkNvbm5lY3RhYmxlU2lkZSB8IHN0cmluZykge1xuICAgIHRoaXMuX2ZDb25uZWN0YWJsZVNpZGUgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZk91dHB1dENvbm5lY3RhYmxlU2lkZScsIEVGQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLmZOb2RlLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX2ZTaWRlKCk6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbm5lY3RhYmxlU2lkZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBfZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBpc0Nvbm5lY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBpc1NlbGZDb25uZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIEBJbmplY3QoRl9OT0RFKSBwcml2YXRlIGZOb2RlOiBGTm9kZUJhc2UsXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmZOb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZOb2RlT3V0cHV0IG11c3QgYmUgaW5zaWRlIGZOb2RlIERpcmVjdGl2ZScpO1xuICAgIH1cbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuYWRkQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cywgdGhpcyk7XG4gICAgdGhpcy5mTm9kZS5hZGRDb25uZWN0b3IodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29ubmVjdGVkKGlzQ29ubmVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGlzQ29ubmVjdGVkO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnZi1ub2RlLW91dHB1dC1jb25uZWN0ZWQnLCBpc0Nvbm5lY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMsIHRoaXMpO1xuICB9XG59XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQVF2RCxJQUNvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBb0IsUUFBUSxDQUFDLFVBQXdDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBSUQsSUFDVyxNQUFNLENBQUMsS0FBaUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsS0FBSyxD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RGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGTm9kZU91dHB1dEJhc2UsIEZfTk9ERV9PVVRQVVQgfSBmcm9tICcuL2Ytbm9kZS1vdXRwdXQtYmFzZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IEZfTk9ERSwgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgY2FzdFRvQm9vbGVhbiwgY2FzdFRvRW51bSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZk5vZGVPdXRwdXRdXCIsXG4gIGV4cG9ydEFzOiAnZk5vZGVPdXRwdXQnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1vdXRwdXQtaWRdJzogJ2lkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLW5vZGUtb3V0cHV0XCIsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LXNlbGYtY29ubmVjdGFibGVdJzogJ2lzU2VsZkNvbm5lY3RhYmxlJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9OT0RFX09VVFBVVCwgdXNlRXhpc3Rpbmc6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVPdXRwdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZU91dHB1dEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdmT3V0cHV0SWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgaWQ6IHN0cmluZyA9IGBmLW5vZGUtb3V0cHV0LSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmT3V0cHV0TXVsdGlwbGUnKVxuICBwdWJsaWMgb3ZlcnJpZGUgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZPdXRwdXREaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gY2FzdFRvQm9vbGVhbihpc0Rpc2FibGVkKTtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmT3V0cHV0Q29ubmVjdGFibGVTaWRlJylcbiAgcHVibGljIHNldCBfZlNpZGUodmFsdWU6IEVGQ29ubmVjdGFibGVTaWRlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fZkNvbm5lY3RhYmxlU2lkZSA9IGNhc3RUb0VudW0odmFsdWUsICdmT3V0cHV0Q29ubmVjdGFibGVTaWRlJywgRUZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuZk5vZGUucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBfZlNpZGUoKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGFibGVTaWRlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIF9mQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIG92ZXJyaWRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlzU2VsZkNvbm5lY3RhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgQEluamVjdChGX05PREUpIHByaXZhdGUgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZk5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZk5vZGVPdXRwdXQgbXVzdCBiZSBpbnNpZGUgZk5vZGUgRGlyZWN0aXZlJyk7XG4gICAgfVxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLCB0aGlzKTtcbiAgICB0aGlzLmZOb2RlLmFkZENvbm5lY3Rvcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRDb25uZWN0ZWQoaXNDb25uZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gaXNDb25uZWN0ZWQ7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCdmLW5vZGUtb3V0cHV0LWNvbm5lY3RlZCcsIGlzQ29ubmVjdGVkKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ2Ytbm9kZS1vdXRwdXQtbm90LWNvbm5lY3RhYmxlJywgIXRoaXMuY2FuQmVDb25uZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZk5vZGUucmVtb3ZlQ29ubmVjdG9yKHRoaXMpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLCB0aGlzKTtcbiAgfVxufVxuIl19