@o3r/rules-engine 10.0.0-next.9 → 11.0.0-next.0
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.
- package/README.md +16 -17
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts +1 -1
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts.map +1 -1
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts +2 -0
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts.map +1 -1
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js +10 -2
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js.map +1 -1
- package/builders/rules-engine-extractor/index.js.map +1 -1
- package/builders/rules-engine-extractor/schema.json +1 -1
- package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts +2 -2
- package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts.map +1 -1
- package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts +1 -1
- package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts.map +1 -1
- package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts +1 -3
- package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts.map +1 -1
- package/components/rules-engine/shared/ruleset-history.helper.d.ts +0 -2
- package/components/rules-engine/shared/ruleset-history.helper.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.console.service.d.ts +0 -7
- package/devkit/rules-engine-devtools.console.service.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.message.service.d.ts +4 -6
- package/devkit/rules-engine-devtools.message.service.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.module.d.ts +0 -1
- package/devkit/rules-engine-devtools.module.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.service.d.ts +3 -10
- package/devkit/rules-engine-devtools.service.d.ts.map +1 -1
- package/engine/debug/engine.debug.d.ts +4 -12
- package/engine/debug/engine.debug.d.ts.map +1 -1
- package/engine/debug/helpers.d.ts +2 -4
- package/engine/debug/helpers.d.ts.map +1 -1
- package/engine/engine.d.ts +4 -13
- package/engine/engine.d.ts.map +1 -1
- package/engine/engine.interface.d.ts +2 -6
- package/engine/engine.interface.d.ts.map +1 -1
- package/engine/fact/fact.interfaces.d.ts +2 -0
- package/engine/fact/fact.interfaces.d.ts.map +1 -1
- package/engine/helpers/filter-ruleset-event.operator.d.ts +0 -1
- package/engine/helpers/filter-ruleset-event.operator.d.ts.map +1 -1
- package/engine/operator/operator.helpers.d.ts +10 -9
- package/engine/operator/operator.helpers.d.ts.map +1 -1
- package/engine/operator/operator.interface.d.ts +4 -1
- package/engine/operator/operator.interface.d.ts.map +1 -1
- package/engine/operator/operators/array-based.operators.d.ts +0 -23
- package/engine/operator/operators/array-based.operators.d.ts.map +1 -1
- package/engine/operator/operators/basic.operators.d.ts +5 -8
- package/engine/operator/operators/basic.operators.d.ts.map +1 -1
- package/engine/operator/operators/date-based.operators.d.ts +13 -6
- package/engine/operator/operators/date-based.operators.d.ts.map +1 -1
- package/engine/operator/operators/index.d.ts +1 -1
- package/engine/operator/operators/index.d.ts.map +1 -1
- package/engine/operator/operators/number-based.operators.d.ts +0 -4
- package/engine/operator/operators/number-based.operators.d.ts.map +1 -1
- package/engine/rule/rule.helpers.d.ts +0 -7
- package/engine/rule/rule.helpers.d.ts.map +1 -1
- package/engine/ruleset-executor.d.ts +15 -13
- package/engine/ruleset-executor.d.ts.map +1 -1
- package/engine/structure.d.ts +9 -5
- package/engine/structure.d.ts.map +1 -1
- package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +4 -4
- package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +8 -13
- package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +5 -5
- package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +5 -5
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +6 -8
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +4 -4
- package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +3 -3
- package/esm2022/components/rules-engine/shared/ruleset-history.helper.mjs +1 -3
- package/esm2022/devkit/rules-engine-devtools.console.service.mjs +6 -13
- package/esm2022/devkit/rules-engine-devtools.message.service.mjs +6 -8
- package/esm2022/devkit/rules-engine-devtools.module.mjs +5 -6
- package/esm2022/devkit/rules-engine-devtools.service.mjs +7 -14
- package/esm2022/engine/debug/engine.debug.mjs +2 -10
- package/esm2022/engine/debug/helpers.mjs +1 -4
- package/esm2022/engine/engine.interface.mjs +1 -1
- package/esm2022/engine/engine.mjs +1 -9
- package/esm2022/engine/fact/fact.interfaces.mjs +1 -1
- package/esm2022/engine/helpers/filter-ruleset-event.operator.mjs +1 -2
- package/esm2022/engine/operator/index.mjs +1 -1
- package/esm2022/engine/operator/operator.helpers.mjs +33 -13
- package/esm2022/engine/operator/operator.interface.mjs +1 -1
- package/esm2022/engine/operator/operators/array-based.operators.mjs +6 -29
- package/esm2022/engine/operator/operators/basic.operators.mjs +16 -11
- package/esm2022/engine/operator/operators/date-based.operators.mjs +48 -8
- package/esm2022/engine/operator/operators/number-based.operators.mjs +1 -5
- package/esm2022/engine/rule/rule.helpers.mjs +1 -8
- package/esm2022/engine/ruleset-executor.mjs +58 -32
- package/esm2022/engine/structure.mjs +1 -1
- package/esm2022/fact/fact.abstract-service.mjs +1 -1
- package/esm2022/facts/current-time/current-time.facts.mjs +2 -0
- package/esm2022/facts/current-time/index.mjs +2 -0
- package/esm2022/facts/index.mjs +2 -0
- package/esm2022/fixtures/jasmine/index.mjs +2 -2
- package/esm2022/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.mjs +14 -0
- package/esm2022/fixtures/jest/index.mjs +2 -2
- package/esm2022/fixtures/jest/rules-engine.runner.service.fixture.jest.mjs +14 -0
- package/esm2022/interfaces/action.interfaces.mjs +1 -1
- package/esm2022/public_api.mjs +2 -1
- package/esm2022/services/index.mjs +2 -3
- package/esm2022/services/rules-engine.token.mjs +2 -1
- package/esm2022/services/runner/index.mjs +3 -0
- package/esm2022/services/runner/rules-engine.runner.module.mjs +37 -0
- package/esm2022/services/runner/rules-engine.runner.service.mjs +119 -0
- package/esm2022/stores/rulesets/rulesets.effect.mjs +4 -4
- package/esm2022/stores/rulesets/rulesets.module.mjs +4 -4
- package/esm2022/stores/rulesets/rulesets.selectors.mjs +3 -4
- package/fact/fact.abstract-service.d.ts +3 -3
- package/fact/fact.abstract-service.d.ts.map +1 -1
- package/facts/current-time/current-time.facts.d.ts +11 -0
- package/facts/current-time/current-time.facts.d.ts.map +1 -0
- package/facts/current-time/index.d.ts +2 -0
- package/facts/current-time/index.d.ts.map +1 -0
- package/facts/index.d.ts +2 -0
- package/facts/index.d.ts.map +1 -0
- package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs +3 -6
- package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs.map +1 -1
- package/fesm2022/o3r-rules-engine-fixtures-jest.mjs +3 -6
- package/fesm2022/o3r-rules-engine-fixtures-jest.mjs.map +1 -1
- package/fesm2022/o3r-rules-engine.mjs +264 -560
- package/fesm2022/o3r-rules-engine.mjs.map +1 -1
- package/fixtures/jasmine/index.d.ts +1 -1
- package/fixtures/jasmine/index.d.ts.map +1 -1
- package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts +14 -0
- package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts.map +1 -0
- package/fixtures/jest/index.d.ts +1 -1
- package/fixtures/jest/index.d.ts.map +1 -1
- package/fixtures/jest/index.js +1 -1
- package/fixtures/jest/index.js.map +1 -1
- package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts +14 -0
- package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts.map +1 -0
- package/fixtures/jest/{rules-engine.service.fixture.jest.js → rules-engine.runner.service.fixture.jest.js} +3 -6
- package/fixtures/jest/rules-engine.runner.service.fixture.jest.js.map +1 -0
- package/interfaces/action.interfaces.d.ts +5 -0
- package/interfaces/action.interfaces.d.ts.map +1 -1
- package/migration.json +10 -0
- package/package.json +57 -46
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
- package/rules.facts.metadata.json +7 -1
- package/rules.operators.metadata.json +61 -0
- package/schemas/rulesets.schema.json +6 -110
- package/schematics/cms-adapter/index.d.ts +0 -1
- package/schematics/cms-adapter/index.d.ts.map +1 -1
- package/schematics/cms-adapter/index.js +5 -9
- package/schematics/cms-adapter/index.js.map +1 -1
- package/schematics/facts-service/schema.json +1 -1
- package/schematics/ng-add/helpers/devtools-registration.d.ts +11 -0
- package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
- package/schematics/ng-add/helpers/devtools-registration.js +36 -0
- package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
- package/schematics/ng-add/index.d.ts +1 -0
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +8 -4
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.json +1 -1
- package/schematics/ng-update/index.d.ts +6 -0
- package/schematics/ng-update/index.d.ts.map +1 -0
- package/schematics/ng-update/index.js +22 -0
- package/schematics/ng-update/index.js.map +1 -0
- package/schematics/ng-update/v10.0/action-module-split.d.ts +6 -0
- package/schematics/ng-update/v10.0/action-module-split.d.ts.map +1 -0
- package/schematics/ng-update/v10.0/action-module-split.js +21 -0
- package/schematics/ng-update/v10.0/action-module-split.js.map +1 -0
- package/schematics/operator/schema.json +1 -1
- package/schematics/rules-engine-to-component/index.d.ts +0 -1
- package/schematics/rules-engine-to-component/index.d.ts.map +1 -1
- package/schematics/rules-engine-to-component/index.js +7 -8
- package/schematics/rules-engine-to-component/index.js.map +1 -1
- package/schematics/rules-engine-to-component/schema.json +1 -1
- package/services/index.d.ts +1 -2
- package/services/index.d.ts.map +1 -1
- package/services/rules-engine.token.d.ts +1 -0
- package/services/rules-engine.token.d.ts.map +1 -1
- package/services/runner/index.d.ts +3 -0
- package/services/runner/index.d.ts.map +1 -0
- package/services/runner/rules-engine.runner.module.d.ts +13 -0
- package/services/runner/rules-engine.runner.module.d.ts.map +1 -0
- package/services/runner/rules-engine.runner.service.d.ts +60 -0
- package/services/runner/rules-engine.runner.service.d.ts.map +1 -0
- package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
- package/builders/package.json +0 -3
- package/esm2022/fixtures/jasmine/rules-engine.service.fixture.jasmine.mjs +0 -17
- package/esm2022/fixtures/jest/rules-engine.service.fixture.jest.mjs +0 -17
- package/esm2022/services/rules-engine.effect.mjs +0 -162
- package/esm2022/services/rules-engine.module.mjs +0 -50
- package/esm2022/services/rules-engine.service.mjs +0 -272
- package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts +0 -17
- package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts.map +0 -1
- package/fixtures/jest/rules-engine.service.fixture.jest.d.ts +0 -18
- package/fixtures/jest/rules-engine.service.fixture.jest.d.ts.map +0 -1
- package/fixtures/jest/rules-engine.service.fixture.jest.js.map +0 -1
- package/schematics/package.json +0 -3
- package/services/rules-engine.effect.d.ts +0 -53
- package/services/rules-engine.effect.d.ts.map +0 -1
- package/services/rules-engine.module.d.ts +0 -16
- package/services/rules-engine.module.d.ts.map +0 -1
- package/services/rules-engine.service.d.ts +0 -90
- package/services/rules-engine.service.d.ts.map +0 -1
|
@@ -25,7 +25,6 @@ export class RulesEngineDevtoolsMessageService {
|
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
|
|
28
|
-
*
|
|
29
28
|
* @param only restricted list of messages to re-send
|
|
30
29
|
*/
|
|
31
30
|
handleReEmitRequest(only) {
|
|
@@ -35,7 +34,6 @@ export class RulesEngineDevtoolsMessageService {
|
|
|
35
34
|
}
|
|
36
35
|
/**
|
|
37
36
|
* Function to handle the incoming messages from Otter Chrome DevTools extension
|
|
38
|
-
*
|
|
39
37
|
* @param event Event coming from the Otter Chrome DevTools extension
|
|
40
38
|
* @param message
|
|
41
39
|
*/
|
|
@@ -79,18 +77,18 @@ export class RulesEngineDevtoolsMessageService {
|
|
|
79
77
|
ngOnDestroy() {
|
|
80
78
|
this.subscriptions.unsubscribe();
|
|
81
79
|
}
|
|
82
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
83
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
80
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsMessageService, deps: [{ token: i1.OtterRulesEngineDevtools }, { token: i2.LoggerService }, { token: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
81
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsMessageService, providedIn: 'root' }); }
|
|
84
82
|
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsMessageService, decorators: [{
|
|
86
84
|
type: Injectable,
|
|
87
85
|
args: [{
|
|
88
86
|
providedIn: 'root'
|
|
89
87
|
}]
|
|
90
|
-
}], ctorParameters:
|
|
88
|
+
}], ctorParameters: () => [{ type: i1.OtterRulesEngineDevtools }, { type: i2.LoggerService }, { type: undefined, decorators: [{
|
|
91
89
|
type: Optional
|
|
92
90
|
}, {
|
|
93
91
|
type: Inject,
|
|
94
92
|
args: [OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS]
|
|
95
|
-
}] }]
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
}] }] });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvcnVsZXMtZW5naW5lLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUE0QixvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFLakksTUFBTSxPQUFPLGlDQUFpQztJQVM1QyxZQUNtQixtQkFBNkMsRUFDN0MsTUFBcUIsRUFDbUIsT0FBMkM7UUFGbkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBUnZCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQywrQkFBMEIsR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUVsRSxnQkFBVyxHQUFHLENBQUEsZ0JBQXFELENBQUEsQ0FBQztRQU1uRixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRywyQ0FBMkM7WUFDOUMsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssbUJBQW1CLENBQUMsSUFBb0M7UUFDOUQsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxZQUFZLENBQUMsT0FBNEM7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0NBQStDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFNUUsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLEtBQUssU0FBUyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixNQUFNO2FBQ1A7WUFDRCxLQUFLLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzNFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQkFBc0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDckcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQzdELENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0NBQWtDO0lBQzNCLFFBQVE7UUFDYixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNySCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lJQXpGVSxpQ0FBaUMsdUZBWXRCLG1DQUFtQztxSUFaOUMsaUNBQWlDLGNBRmhDLE1BQU07OzJGQUVQLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWFJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsIGZpbHRlck1lc3NhZ2VDb250ZW50LCBzZW5kT3R0ZXJNZXNzYWdlIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdmFpbGFibGVSdWxlc0VuZ2luZU1lc3NhZ2VDb250ZW50cywgUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zLCBSdWxlc0VuZ2luZU1lc3NhZ2VEYXRhVHlwZXMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzUnVsZXNFbmdpbmVNZXNzYWdlIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdHRlclJ1bGVzRW5naW5lRGV2dG9vbHMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2dG9vbHMudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZURldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIERldnRvb2xzU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZvcmNlRW1pdFJ1bGVzRW5naW5lUmVwb3J0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VuZE1lc3NhZ2UgPSBzZW5kT3R0ZXJNZXNzYWdlPEF2YWlsYWJsZVJ1bGVzRW5naW5lTWVzc2FnZUNvbnRlbnRzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJ1bGVzRW5naW5lRGV2dG9vbHM6IE90dGVyUnVsZXNFbmdpbmVEZXZ0b29scyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zPzogUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5pc0FjdGl2YXRlZE9uQm9vdHN0cmFwKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIHRyaWdnZXIgYSByZS1zZW5kIGEgcmVxdWVzdGVkIG1lc3NhZ2VzIHRvIHRoZSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBvbmx5IHJlc3RyaWN0ZWQgbGlzdCBvZiBtZXNzYWdlcyB0byByZS1zZW5kXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZVJlRW1pdFJlcXVlc3Qob25seT86IFJ1bGVzRW5naW5lTWVzc2FnZURhdGFUeXBlc1tdKSB7XG4gICAgaWYgKCFvbmx5IHx8IG9ubHkuaW5jbHVkZXMoJ3J1bGVzRW5naW5lRXZlbnRzJykpIHtcbiAgICAgIHRoaXMuZm9yY2VFbWl0UnVsZXNFbmdpbmVSZXBvcnQubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgdGhlIGluY29taW5nIG1lc3NhZ2VzIGZyb20gT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgY29taW5nIGZyb20gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRXZlbnRzKG1lc3NhZ2U6IEF2YWlsYWJsZVJ1bGVzRW5naW5lTWVzc2FnZUNvbnRlbnRzKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ01lc3NhZ2UgaGFuZGxpbmcgYnkgdGhlIGNvbmZpZ3VyYXRpb24gc2VydmljZScsIG1lc3NhZ2UpO1xuXG4gICAgc3dpdGNoIChtZXNzYWdlLmRhdGFUeXBlKSB7XG4gICAgICBjYXNlICdjb25uZWN0Jzoge1xuICAgICAgICB0aGlzLmNvbm5lY3RQbHVnaW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdyZXF1ZXN0TWVzc2FnZXMnOiB7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVFbWl0UmVxdWVzdChtZXNzYWdlLm9ubHkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignTWVzc2FnZSBpZ25vcmVkIGJ5IHRoZSBjb25maWd1cmF0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gc3RhcnQgdGhlIHJ1bGVzIGVuZ2luZSByZXBvcnRpbmcgdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgc3RhcnRSdWxlc0VuZ2luZVJlcG9ydCgpIHtcbiAgICBpZiAodGhpcy5ydWxlc0VuZ2luZURldnRvb2xzLnJ1bGVzRW5naW5lUmVwb3J0JCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JjZUVtaXRSdWxlc0VuZ2luZVJlcG9ydCwgdGhpcy5ydWxlc0VuZ2luZURldnRvb2xzLnJ1bGVzRW5naW5lUmVwb3J0JF0pLnN1YnNjcmliZShcbiAgICAgICAgICAoWyxyZXBvcnRdKSA9PiB0aGlzLnNlbmRNZXNzYWdlKCdydWxlc0VuZ2luZUV2ZW50cycsIHJlcG9ydClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY29ubmVjdCB0aGUgcGx1Z2luIHRvIHRoZSBPdHRlciBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgY29ubmVjdFBsdWdpbigpIHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdPdHRlciBEZXZUb29scyBpcyBwbHVnZ2VkIHRvIHRoZSBhcHBsaWNhdGlvbicpO1xuICAgIHRoaXMuZm9yY2VFbWl0UnVsZXNFbmdpbmVSZXBvcnQubmV4dCgpO1xuICB9XG5cbiAgLyoqIEFjdGl2YXRlIHRoZSBPdHRlciBEZXZUb29scyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgdGhpcy5zdGFydFJ1bGVzRW5naW5lUmVwb3J0KCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ21lc3NhZ2UnKS5waXBlKGZpbHRlck1lc3NhZ2VDb250ZW50KGlzUnVsZXNFbmdpbmVNZXNzYWdlKSkuc3Vic2NyaWJlKChlKSA9PiB0aGlzLmhhbmRsZUV2ZW50cyhlKSlcbiAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -8,7 +8,6 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
export class RulesEngineDevtoolsModule {
|
|
9
9
|
/**
|
|
10
10
|
* Initialize Otter Devtools
|
|
11
|
-
*
|
|
12
11
|
* @param options
|
|
13
12
|
*/
|
|
14
13
|
static instrument(options) {
|
|
@@ -21,17 +20,17 @@ export class RulesEngineDevtoolsModule {
|
|
|
21
20
|
]
|
|
22
21
|
};
|
|
23
22
|
}
|
|
24
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
25
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
23
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, imports: [StoreModule,
|
|
26
25
|
RulesetsStoreModule] }); }
|
|
27
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
26
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, providers: [
|
|
28
27
|
{ provide: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, useValue: OTTER_RULES_ENGINE_DEVTOOLS_DEFAULT_OPTIONS },
|
|
29
28
|
RulesEngineDevtoolsMessageService,
|
|
30
29
|
RulesEngineDevtoolsConsoleService
|
|
31
30
|
], imports: [StoreModule,
|
|
32
31
|
RulesetsStoreModule] }); }
|
|
33
32
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, decorators: [{
|
|
35
34
|
type: NgModule,
|
|
36
35
|
args: [{
|
|
37
36
|
imports: [
|
|
@@ -45,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
45
44
|
]
|
|
46
45
|
}]
|
|
47
46
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvcnVsZXMtZW5naW5lLWRldnRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWFqSSxNQUFNLE9BQU8seUJBQXlCO0lBRXBDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBbUQ7UUFDMUUsT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLFFBQVEsRUFBRSxFQUFDLEdBQUcsMkNBQTJDLEVBQUUsR0FBRyxPQUFPLEVBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUN0SSxpQ0FBaUM7Z0JBQ2pDLGlDQUFpQzthQUNsQztTQUNGLENBQUM7SUFDSixDQUFDO2lJQWZVLHlCQUF5QjtrSUFBekIseUJBQXlCLFlBVGxDLFdBQVc7WUFDWCxtQkFBbUI7a0lBUVYseUJBQXlCLGFBTnpCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLDJDQUEyQyxFQUFFO1lBQ3ZHLGlDQUFpQztZQUNqQyxpQ0FBaUM7U0FDbEMsWUFQQyxXQUFXO1lBQ1gsbUJBQW1COzsyRkFRVix5QkFBeUI7a0JBWHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLDJDQUEyQyxFQUFFO3dCQUN2RyxpQ0FBaUM7d0JBQ2pDLGlDQUFpQztxQkFDbEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBSdWxlc2V0c1N0b3JlTW9kdWxlIH0gZnJvbSAnLi4vc3RvcmVzL2luZGV4JztcbmltcG9ydCB0eXBlIHsgUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSdWxlc0VuZ2luZURldnRvb2xzQ29uc29sZVNlcnZpY2UgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVsZXNFbmdpbmVEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2dG9vbHMudG9rZW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUsXG4gICAgUnVsZXNldHNTdG9yZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyB9LFxuICAgIFJ1bGVzRW5naW5lRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICBSdWxlc0VuZ2luZURldnRvb2xzQ29uc29sZVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZURldnRvb2xzTW9kdWxlIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBPdHRlciBEZXZ0b29sc1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnN0cnVtZW50KG9wdGlvbnM6IFBhcnRpYWw8UnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8UnVsZXNFbmdpbmVEZXZ0b29sc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUnVsZXNFbmdpbmVEZXZ0b29sc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogey4uLk9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnN9LCBtdWx0aTogZmFsc2UgfSxcbiAgICAgICAgUnVsZXNFbmdpbmVEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBSdWxlc0VuZ2luZURldnRvb2xzQ29uc29sZVNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { Inject, Injectable, Optional } from '@angular/core';
|
|
|
2
2
|
import { select, Store } from '@ngrx/store';
|
|
3
3
|
import { combineLatest, firstValueFrom } from 'rxjs';
|
|
4
4
|
import { map, scan, shareReplay } from 'rxjs/operators';
|
|
5
|
-
import {
|
|
5
|
+
import { RulesEngineRunnerService } from '../services';
|
|
6
6
|
import { selectRulesetsEntities } from '../stores';
|
|
7
7
|
import { OTTER_RULES_ENGINE_DEVTOOLS_DEFAULT_OPTIONS, OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS } from './rules-engine-devtools.token';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -54,7 +54,6 @@ export class OtterRulesEngineDevtools {
|
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Get the list of executions for the given ruleset
|
|
57
|
-
*
|
|
58
57
|
* @param rulesetId
|
|
59
58
|
*/
|
|
60
59
|
async getRulesetExecutions(rulesetId) {
|
|
@@ -63,7 +62,6 @@ export class OtterRulesEngineDevtools {
|
|
|
63
62
|
}
|
|
64
63
|
/**
|
|
65
64
|
* Check if the ruleset is activ in the moment when the function is called
|
|
66
|
-
*
|
|
67
65
|
* @param rulesetId
|
|
68
66
|
* @returns True if the ruleset is active; False if the ruleset is inactive or it does not exist
|
|
69
67
|
*/
|
|
@@ -72,7 +70,6 @@ export class OtterRulesEngineDevtools {
|
|
|
72
70
|
}
|
|
73
71
|
/**
|
|
74
72
|
* Get the list of rules executed for the specified ruleset
|
|
75
|
-
*
|
|
76
73
|
* @param rulesetId
|
|
77
74
|
*/
|
|
78
75
|
async getRulesEvaluationsForRuleset(rulesetId) {
|
|
@@ -81,7 +78,6 @@ export class OtterRulesEngineDevtools {
|
|
|
81
78
|
}
|
|
82
79
|
/**
|
|
83
80
|
* Get the list of input facts (name, current value) for the specified ruleset, at the moment when the function is called
|
|
84
|
-
*
|
|
85
81
|
* @param rulesetId
|
|
86
82
|
*/
|
|
87
83
|
async getInputFactsForRuleset(rulesetId) {
|
|
@@ -90,7 +86,6 @@ export class OtterRulesEngineDevtools {
|
|
|
90
86
|
}
|
|
91
87
|
/**
|
|
92
88
|
* Get the list of triggers for the specified ruleset
|
|
93
|
-
*
|
|
94
89
|
* @param rulesetId
|
|
95
90
|
*/
|
|
96
91
|
async getTriggersForRuleset(rulesetId) {
|
|
@@ -98,7 +93,6 @@ export class OtterRulesEngineDevtools {
|
|
|
98
93
|
}
|
|
99
94
|
/**
|
|
100
95
|
* Get the list of outputed actions emitted by the given ruleset, at the moment when the function is called
|
|
101
|
-
*
|
|
102
96
|
* @param rulesetId
|
|
103
97
|
*/
|
|
104
98
|
async getOutputActionsForRuleset(rulesetId) {
|
|
@@ -114,24 +108,23 @@ export class OtterRulesEngineDevtools {
|
|
|
114
108
|
}
|
|
115
109
|
/**
|
|
116
110
|
* Retrieve the ruleset information (rules, linkedComponent, validity range etc.) for a ruleset id
|
|
117
|
-
*
|
|
118
111
|
* @param rulesetId
|
|
119
112
|
*/
|
|
120
113
|
getRulesetInformation(rulesetId) {
|
|
121
114
|
return firstValueFrom(this.store.pipe(select(selectRulesetsEntities), map((entities) => entities[rulesetId])));
|
|
122
115
|
}
|
|
123
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
124
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
116
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterRulesEngineDevtools, deps: [{ token: i1.Store }, { token: i2.RulesEngineRunnerService }, { token: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
117
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterRulesEngineDevtools, providedIn: 'root' }); }
|
|
125
118
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterRulesEngineDevtools, decorators: [{
|
|
127
120
|
type: Injectable,
|
|
128
121
|
args: [{
|
|
129
122
|
providedIn: 'root'
|
|
130
123
|
}]
|
|
131
|
-
}], ctorParameters:
|
|
124
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.RulesEngineRunnerService }, { type: undefined, decorators: [{
|
|
132
125
|
type: Optional
|
|
133
126
|
}, {
|
|
134
127
|
type: Inject,
|
|
135
128
|
args: [OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS]
|
|
136
|
-
}] }]
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L3J1bGVzLWVuZ2luZS1kZXZ0b29scy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFnQyxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUtqSSxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUVELFlBQ1ksS0FBMkIsRUFDN0Isa0JBQXNDLEVBQ1csT0FBMEM7UUFGekYsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUc5QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxJQUFJLDJDQUEyQyxDQUFDLENBQUMscUJBQXFCLENBQUM7UUFDeEcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVks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QUMsUUFBUSxDQUFDLFNBQVMsQ0FBd0IsQ0FBQyxDQUM5RCxDQUFDLENBQUM7SUFDTCxDQUFDO2lJQWpKVSx3QkFBd0IseUVBa0JiLG1DQUFtQztxSUFsQjlDLHdCQUF3QixjQUZ2QixNQUFNOzsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFtQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2Nhbiwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdHlwZSB7IEFjdGl2ZVJ1bGVzZXRzRXZlbnQsIEF2YWlsYWJsZVJ1bGVzZXRzLCBCYXNlUnVsZXNldEV4ZWN1dGlvbiwgRGVidWdFdmVudCwgUnVsZXNldCwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQsIFJ1bGVzZXRFeGVjdXRpb25FdmVudCB9IGZyb20gJy4uL2VuZ2luZSc7XG5pbXBvcnQgeyBSdWxlc0VuZ2luZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSdWxlc2V0c01vZGVsLCBSdWxlc2V0c1N0b3JlLCBzZWxlY3RSdWxlc2V0c0VudGl0aWVzIH0gZnJvbSAnLi4vc3RvcmVzJztcbmltcG9ydCB7IFJ1bGVzRW5naW5lRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vcnVsZXMtZW5naW5lLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE90dGVyUnVsZXNFbmdpbmVEZXZ0b29scyB7XG5cbiAgLyoqIFN0cmVhbSBvZiBydWxlcyBlbmdpbmUgcmVwb3J0ICovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc0VuZ2luZVJlcG9ydCQ/OiBPYnNlcnZhYmxlPHsgZXZlbnRzOiBEZWJ1Z0V2ZW50W107IHJ1bGVzZXRNYXA6IFJlY29yZDxzdHJpbmcsIFJ1bGVzZXQ+IH0+O1xuXG4gIC8qKiBTdHJlYW0gb2YgcnVsZXMgZW5naW5lIGV2ZW50ICovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc0VuZ2luZUV2ZW50cyQ/OiBPYnNlcnZhYmxlPERlYnVnRXZlbnRbXT47XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIGlmIHRoZSBydWxlcyBlbmdpbmUgZGVidWcgb3B0aW9uIGlzIGFjdGl2YXRlZFxuICAgKi9cbiAgcHVibGljIGdldCBpc1J1bGVzRW5naW5lRGVidWdBY3RpdmF0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5ydWxlc0VuZ2luZVNlcnZpY2UuZW5naW5lLmRlYnVnTW9kZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmU8UnVsZXNldHNTdG9yZT4sXG4gICAgcHJpdmF0ZSBydWxlc0VuZ2luZVNlcnZpY2U6IFJ1bGVzRW5naW5lU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zOiBSdWxlc0VuZ2luZURldnRvb2xzU2VydmljZU9wdGlvbnMpIHtcblxuICAgIGNvbnN0IGV2ZW50c1N0YWNrTGltaXQgPSAob3B0aW9ucyB8fCBPVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TKS5ydWxlc0VuZ2luZVN0YWNrTGltaXQ7XG4gICAgdGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgPSB0aGlzLnJ1bGVzRW5naW5lU2VydmljZS5lbmdpbmUuZW5naW5lRGVidWc/LmRlYnVnRXZlbnRzJC5waXBlKFxuICAgICAgc2NhbigocHJldmlvdXNFdmVudHMsIGN1cnJlbnRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzdGFjayA9IGV2ZW50c1N0YWNrTGltaXQgJiYgcHJldmlvdXNFdmVudHMubGVuZ3RoID09PSBldmVudHNTdGFja0xpbWl0ID8gcHJldmlvdXNFdmVudHMuc2xpY2UoMSkgOiBwcmV2aW91c0V2ZW50cztcbiAgICAgICAgcmV0dXJuIFsuLi5zdGFjaywgY3VycmVudEV2ZW50XTtcbiAgICAgIH0sIFtdIGFzIERlYnVnRXZlbnRbXSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICB0aGlzLnJ1bGVzRW5naW5lUmVwb3J0JCA9IHRoaXMucnVsZXNFbmdpbmVFdmVudHMkICYmIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVsZXNFbmdpbmVFdmVudHMkLCB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMpKV0pLnBpcGUoXG4gICAgICBtYXAoKFtldmVudHMsIHJ1bGVzZXRFbnRpdGllc10pID0+IHtcbiAgICAgICAgY29uc3QgcnVsZXNldE1hcDogUmVjb3JkPHN0cmluZywgUnVsZXNldD4gPSBPYmplY3QuZW50cmllcyhydWxlc2V0RW50aXRpZXMpXG4gICAgICAgICAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0c01vZGVsPj4oKGFjYywgW2lkLCBydWxlc2V0XSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJ1bGVzZXQpIHtcbiAgICAgICAgICAgICAgYWNjW2lkXSA9IHJ1bGVzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgcmV0dXJuIHsgZXZlbnRzLCBydWxlc2V0TWFwIH07XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZGVidWcgZXZlbnRzIGVtaXR0ZWQgYnkgcnVsZXMgZW5naW5lICovXG4gIHB1YmxpYyBhc3luYyBnZXRDdXJyZW50UnVsZXNFbmdpbmVFdmVudHNTdGFjaygpOiBQcm9taXNlPERlYnVnRXZlbnRbXSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCk7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgbGlzdCBvZiBhY3RpdmUgcnVsZXNldHMgKG5hbWUgYW5kIGlkKSBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QWN0aXZlUnVsZXNldHMoKSB7XG4gICAgY29uc3QgbGFzdEFjdGl2ZVJ1bGVzZXRzRXZlbnQgPSAodGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQpKT8uZmlsdGVyKGUgPT4gZS50eXBlID09PSAnQWN0aXZlUnVsZXNldHMnKS5yZXZlcnNlKClbMF07XG4gICAgcmV0dXJuIChsYXN0QWN0aXZlUnVsZXNldHNFdmVudCBhcyBBY3RpdmVSdWxlc2V0c0V2ZW50KT8ucnVsZXNldHM7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgcnVsZXNldHMgKG5hbWUgYW5kIGlkKSBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXZhaWxhYmxlUnVsZXNldHMoKSB7XG4gICAgY29uc3QgbGFzdEF2YWlsYWJsZVJ1bGVzZXRzRXZlbnQgPSAodGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQpKT8uZmlsdGVyKGUgPT4gZS50eXBlID09PSAnQXZhaWxhYmxlUnVsZXNldHMnKS5yZXZlcnNlKClbMF07XG4gICAgcmV0dXJuIChsYXN0QXZhaWxhYmxlUnVsZXNldHNFdmVudCBhcyBBdmFpbGFibGVSdWxlc2V0cyk/LmF2YWlsYWJsZVJ1bGVzZXRzO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGxpc3Qgb2Ygb3V0cHV0IGFjdGlvbnMgZW1pdHRlZCBieSB0aGUgcnVsZXMgZW5naW5lIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkICovXG4gIHB1YmxpYyBhc3luYyBnZXRBbGxPdXRwdXRBY3Rpb25zKCkge1xuICAgIHJldHVybiAodGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQpKT8uZmlsdGVyKGUgPT4gZS50eXBlID09PSAnQWxsQWN0aW9ucycpPy5yZXZlcnNlKClbMF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIGV4ZWN1dGlvbnMgZm9yIHRoZSBnaXZlbiBydWxlc2V0XG4gICAqXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRSdWxlc2V0RXhlY3V0aW9ucyhydWxlc2V0SWQ6IHN0cmluZyk6IFByb21pc2U8KFJ1bGVzZXRFeGVjdXRpb25FdmVudCB8IFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoXG4gICAgICAoZSk6IGUgaXMgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IHwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQgPT5cbiAgICAgICAgKGUudHlwZSA9PT0gJ1J1bGVzZXRFeGVjdXRpb24nIHx8IGUudHlwZSA9PT0gJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicpXG4gICAgICAgICYmIChlIGFzIEJhc2VSdWxlc2V0RXhlY3V0aW9uKS5ydWxlc2V0SWQgPT09IHJ1bGVzZXRJZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIHJ1bGVzZXQgaXMgYWN0aXYgaW4gdGhlIG1vbWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWRcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBydWxlc2V0IGlzIGFjdGl2ZTsgRmFsc2UgaWYgdGhlIHJ1bGVzZXQgaXMgaW5hY3RpdmUgb3IgaXQgZG9lcyBub3QgZXhpc3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1J1bGVzZXRBY3RpdmUocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gISEoYXdhaXQgdGhpcy5nZXRBY3RpdmVSdWxlc2V0cygpKT8uZmluZChyID0+IHIuaWQgPT09IHJ1bGVzZXRJZCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHJ1bGVzIGV4ZWN1dGVkIGZvciB0aGUgc3BlY2lmaWVkIHJ1bGVzZXRcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJ1bGVzRXZhbHVhdGlvbnNGb3JSdWxlc2V0KHJ1bGVzZXRJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcnVsZXNldEV4ZWMgPSBhd2FpdCB0aGlzLmdldFJ1bGVzZXRFeGVjdXRpb25zKHJ1bGVzZXRJZCk7XG4gICAgcmV0dXJuIHJ1bGVzZXRFeGVjPy5tYXAoZSA9PiAoZSBhcyBCYXNlUnVsZXNldEV4ZWN1dGlvbik/LnJ1bGVzRXZhbHVhdGlvbnM/LmZpbHRlcihyZSA9PiAhcmUuY2FjaGVkKSkuZmxhdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBpbnB1dCBmYWN0cyAobmFtZSwgY3VycmVudCB2YWx1ZSkgZm9yIHRoZSBzcGVjaWZpZWQgcnVsZXNldCwgYXQgdGhlIG1vbWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWRcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldElucHV0RmFjdHNGb3JSdWxlc2V0KHJ1bGVzZXRJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcnVsZXNldEV4ZWN1dGlvbnMgPSBhd2FpdCB0aGlzLmdldFJ1bGVzZXRFeGVjdXRpb25zKHJ1bGVzZXRJZCk7XG4gICAgcmV0dXJuIHJ1bGVzZXRFeGVjdXRpb25zID8gKHJ1bGVzZXRFeGVjdXRpb25zW3J1bGVzZXRFeGVjdXRpb25zLmxlbmd0aCAtIDFdIGFzIEJhc2VSdWxlc2V0RXhlY3V0aW9uKS5pbnB1dEZhY3RzIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiB0cmlnZ2VycyBmb3IgdGhlIHNwZWNpZmllZCBydWxlc2V0XG4gICAqXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUcmlnZ2Vyc0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0UnVsZXNFdmFsdWF0aW9uc0ZvclJ1bGVzZXQocnVsZXNldElkKSk/Lm1hcChlID0+IGUudHJpZ2dlcnMpLmZsYXQoKS5tYXAodHJpZ2dlcnNNYXAgPT4gT2JqZWN0LnZhbHVlcyh0cmlnZ2Vyc01hcCkpLmZsYXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2Ygb3V0cHV0ZWQgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBnaXZlbiBydWxlc2V0LCBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZFxuICAgKlxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0T3V0cHV0QWN0aW9uc0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBydWxlc2V0RXhlY3V0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0UnVsZXNldEV4ZWN1dGlvbnMocnVsZXNldElkKTtcbiAgICByZXR1cm4gcnVsZXNldEV4ZWN1dGlvbnMgPyAocnVsZXNldEV4ZWN1dGlvbnNbcnVsZXNldEV4ZWN1dGlvbnMubGVuZ3RoIC0gMV0gYXMgUnVsZXNldEV4ZWN1dGlvbkV2ZW50KS5vdXRwdXRBY3Rpb25zIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgbGlzdCBvZiBmYWN0IG5hbWVzIGFuZCBjb3JyZXNwb25kaW5nIHZhbHVlcyAqL1xuICBwdWJsaWMgZ2V0QWxsRmFjdHNTbmFwc2hvdCgpIHtcbiAgICBjb25zdCByZWdpc3RlcmVkRmFjdHMgPSB0aGlzLnJ1bGVzRW5naW5lU2VydmljZT8uZW5naW5lLmdldFJlZ2lzdGVyZWRGYWN0c05hbWVzKCk7XG4gICAgaWYgKHJlZ2lzdGVyZWRGYWN0cykge1xuICAgICAgcmV0dXJuIHRoaXMucnVsZXNFbmdpbmVTZXJ2aWNlLmVuZ2luZS5lbmdpbmVEZWJ1Zz8uZ2V0RmFjdHNTbmFwc2hvdChyZWdpc3RlcmVkRmFjdHMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgcnVsZXNldCBpbmZvcm1hdGlvbiAocnVsZXMsIGxpbmtlZENvbXBvbmVudCwgdmFsaWRpdHkgcmFuZ2UgZXRjLikgZm9yIGEgcnVsZXNldCBpZFxuICAgKlxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgZ2V0UnVsZXNldEluZm9ybWF0aW9uKHJ1bGVzZXRJZDogc3RyaW5nKTogUHJvbWlzZTxSdWxlc2V0IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuc3RvcmUucGlwZShcbiAgICAgIHNlbGVjdChzZWxlY3RSdWxlc2V0c0VudGl0aWVzKSxcbiAgICAgIG1hcCgoZW50aXRpZXMpID0+IGVudGl0aWVzW3J1bGVzZXRJZF0gYXMgUnVsZXNldCB8IHVuZGVmaW5lZClcbiAgICApKTtcbiAgfVxufVxuIl19
|
|
129
|
+
}] }] });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L3J1bGVzLWVuZ2luZS1kZXZ0b29scy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFnQyxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUtqSSxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUVELFlBQ1ksS0FBMkIsRUFDcEIsa0JBQTRDLEVBQ0osT0FBMEM7UUFGekYsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEwQjtRQUc3RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxJQUFJLDJDQUEyQyxDQUFDLENBQUMscUJBQXFCLENBQUM7UUFDeEcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVks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LENBQUMsU0FBUyxDQUF3QixDQUFDLENBQzlELENBQUMsQ0FBQztJQUNMLENBQUM7aUlBMUlVLHdCQUF3QiwrRUFrQmIsbUNBQW1DO3FJQWxCOUMsd0JBQXdCLGNBRnZCLE1BQU07OzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW1CSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzY2FuLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB0eXBlIHsgQWN0aXZlUnVsZXNldHNFdmVudCwgQXZhaWxhYmxlUnVsZXNldHMsIEJhc2VSdWxlc2V0RXhlY3V0aW9uLCBEZWJ1Z0V2ZW50LCBSdWxlc2V0LCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCwgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFJ1bGVzZXRzTW9kZWwsIFJ1bGVzZXRzU3RvcmUsIHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMgfSBmcm9tICcuLi9zdG9yZXMnO1xuaW1wb3J0IHsgUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCBPVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vcnVsZXMtZW5naW5lLWRldnRvb2xzLnRva2VuJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT3R0ZXJSdWxlc0VuZ2luZURldnRvb2xzIHtcblxuICAvKiogU3RyZWFtIG9mIHJ1bGVzIGVuZ2luZSByZXBvcnQgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzRW5naW5lUmVwb3J0JD86IE9ic2VydmFibGU8eyBldmVudHM6IERlYnVnRXZlbnRbXTsgcnVsZXNldE1hcDogUmVjb3JkPHN0cmluZywgUnVsZXNldD4gfT47XG5cbiAgLyoqIFN0cmVhbSBvZiBydWxlcyBlbmdpbmUgZXZlbnQgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzRW5naW5lRXZlbnRzJD86IE9ic2VydmFibGU8RGVidWdFdmVudFtdPjtcblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdGhlIHJ1bGVzIGVuZ2luZSBkZWJ1ZyBvcHRpb24gaXMgYWN0aXZhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzUnVsZXNFbmdpbmVEZWJ1Z0FjdGl2YXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnJ1bGVzRW5naW5lU2VydmljZS5lbmdpbmUuZGVidWdNb2RlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTxSdWxlc2V0c1N0b3JlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJ1bGVzRW5naW5lU2VydmljZTogUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMpIG9wdGlvbnM6IFJ1bGVzRW5naW5lRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucykge1xuXG4gICAgY29uc3QgZXZlbnRzU3RhY2tMaW1pdCA9IChvcHRpb25zIHx8IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMpLnJ1bGVzRW5naW5lU3RhY2tMaW1pdDtcbiAgICB0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCA9IHRoaXMucnVsZXNFbmdpbmVTZXJ2aWNlLmVuZ2luZS5lbmdpbmVEZWJ1Zz8uZGVidWdFdmVudHMkLnBpcGUoXG4gICAgICBzY2FuKChwcmV2aW91c0V2ZW50cywgY3VycmVudEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gZXZlbnRzU3RhY2tMaW1pdCAmJiBwcmV2aW91c0V2ZW50cy5sZW5ndGggPT09IGV2ZW50c1N0YWNrTGltaXQgPyBwcmV2aW91c0V2ZW50cy5zbGljZSgxKSA6IHByZXZpb3VzRXZlbnRzO1xuICAgICAgICByZXR1cm4gWy4uLnN0YWNrLCBjdXJyZW50RXZlbnRdO1xuICAgICAgfSwgW10gYXMgRGVidWdFdmVudFtdKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIHRoaXMucnVsZXNFbmdpbmVSZXBvcnQkID0gdGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgY29tYmluZUxhdGVzdChbdGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQsIHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0UnVsZXNldHNFbnRpdGllcykpXSkucGlwZShcbiAgICAgIG1hcCgoW2V2ZW50cywgcnVsZXNldEVudGl0aWVzXSkgPT4ge1xuICAgICAgICBjb25zdCBydWxlc2V0TWFwOiBSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0PiA9IE9iamVjdC5lbnRyaWVzKHJ1bGVzZXRFbnRpdGllcylcbiAgICAgICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIFJ1bGVzZXRzTW9kZWw+PigoYWNjLCBbaWQsIHJ1bGVzZXRdKSA9PiB7XG4gICAgICAgICAgICBpZiAocnVsZXNldCkge1xuICAgICAgICAgICAgICBhY2NbaWRdID0gcnVsZXNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30pO1xuICAgICAgICByZXR1cm4geyBldmVudHMsIHJ1bGVzZXRNYXAgfTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBkZWJ1ZyBldmVudHMgZW1pdHRlZCBieSBydWxlcyBlbmdpbmUgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1cnJlbnRSdWxlc0VuZ2luZUV2ZW50c1N0YWNrKCk6IFByb21pc2U8RGVidWdFdmVudFtdIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMucnVsZXNFbmdpbmVFdmVudHMkICYmIGZpcnN0VmFsdWVGcm9tKHRoaXMucnVsZXNFbmdpbmVFdmVudHMkKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGFjdGl2ZSBydWxlc2V0cyAobmFtZSBhbmQgaWQpIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkICovXG4gIHB1YmxpYyBhc3luYyBnZXRBY3RpdmVSdWxlc2V0cygpIHtcbiAgICBjb25zdCBsYXN0QWN0aXZlUnVsZXNldHNFdmVudCA9ICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdBY3RpdmVSdWxlc2V0cycpLnJldmVyc2UoKVswXTtcbiAgICByZXR1cm4gKGxhc3RBY3RpdmVSdWxlc2V0c0V2ZW50IGFzIEFjdGl2ZVJ1bGVzZXRzRXZlbnQpPy5ydWxlc2V0cztcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBydWxlc2V0cyAobmFtZSBhbmQgaWQpIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkICovXG4gIHB1YmxpYyBhc3luYyBnZXRBdmFpbGFibGVSdWxlc2V0cygpIHtcbiAgICBjb25zdCBsYXN0QXZhaWxhYmxlUnVsZXNldHNFdmVudCA9ICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdBdmFpbGFibGVSdWxlc2V0cycpLnJldmVyc2UoKVswXTtcbiAgICByZXR1cm4gKGxhc3RBdmFpbGFibGVSdWxlc2V0c0V2ZW50IGFzIEF2YWlsYWJsZVJ1bGVzZXRzKT8uYXZhaWxhYmxlUnVsZXNldHM7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgbGlzdCBvZiBvdXRwdXQgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlcyBlbmdpbmUgYXQgdGhlIG1vbWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgKi9cbiAgcHVibGljIGFzeW5jIGdldEFsbE91dHB1dEFjdGlvbnMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdBbGxBY3Rpb25zJyk/LnJldmVyc2UoKVswXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgZXhlY3V0aW9ucyBmb3IgdGhlIGdpdmVuIHJ1bGVzZXRcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJ1bGVzZXRFeGVjdXRpb25zKHJ1bGVzZXRJZDogc3RyaW5nKTogUHJvbWlzZTwoUnVsZXNldEV4ZWN1dGlvbkV2ZW50IHwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQpW10gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gKHRoaXMucnVsZXNFbmdpbmVFdmVudHMkICYmIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucnVsZXNFbmdpbmVFdmVudHMkKSk/LmZpbHRlcihcbiAgICAgIChlKTogZSBpcyBSdWxlc2V0RXhlY3V0aW9uRXZlbnQgfCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCA9PlxuICAgICAgICAoZS50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbicgfHwgZS50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbkVycm9yJylcbiAgICAgICAgJiYgKGUgYXMgQmFzZVJ1bGVzZXRFeGVjdXRpb24pLnJ1bGVzZXRJZCA9PT0gcnVsZXNldElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgcnVsZXNldCBpcyBhY3RpdiBpbiB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZFxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHJ1bGVzZXQgaXMgYWN0aXZlOyBGYWxzZSBpZiB0aGUgcnVsZXNldCBpcyBpbmFjdGl2ZSBvciBpdCBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzUnVsZXNldEFjdGl2ZShydWxlc2V0SWQ6IHN0cmluZykge1xuICAgIHJldHVybiAhIShhd2FpdCB0aGlzLmdldEFjdGl2ZVJ1bGVzZXRzKCkpPy5maW5kKHIgPT4gci5pZCA9PT0gcnVsZXNldElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgcnVsZXMgZXhlY3V0ZWQgZm9yIHRoZSBzcGVjaWZpZWQgcnVsZXNldFxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UnVsZXNFdmFsdWF0aW9uc0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBydWxlc2V0RXhlYyA9IGF3YWl0IHRoaXMuZ2V0UnVsZXNldEV4ZWN1dGlvbnMocnVsZXNldElkKTtcbiAgICByZXR1cm4gcnVsZXNldEV4ZWM/Lm1hcChlID0+IChlIGFzIEJhc2VSdWxlc2V0RXhlY3V0aW9uKT8ucnVsZXNFdmFsdWF0aW9ucz8uZmlsdGVyKHJlID0+ICFyZS5jYWNoZWQpKS5mbGF0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIGlucHV0IGZhY3RzIChuYW1lLCBjdXJyZW50IHZhbHVlKSBmb3IgdGhlIHNwZWNpZmllZCBydWxlc2V0LCBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZFxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SW5wdXRGYWN0c0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBydWxlc2V0RXhlY3V0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0UnVsZXNldEV4ZWN1dGlvbnMocnVsZXNldElkKTtcbiAgICByZXR1cm4gcnVsZXNldEV4ZWN1dGlvbnMgPyAocnVsZXNldEV4ZWN1dGlvbnNbcnVsZXNldEV4ZWN1dGlvbnMubGVuZ3RoIC0gMV0gYXMgQmFzZVJ1bGVzZXRFeGVjdXRpb24pLmlucHV0RmFjdHMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHRyaWdnZXJzIGZvciB0aGUgc3BlY2lmaWVkIHJ1bGVzZXRcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRyaWdnZXJzRm9yUnVsZXNldChydWxlc2V0SWQ6IHN0cmluZykge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRSdWxlc0V2YWx1YXRpb25zRm9yUnVsZXNldChydWxlc2V0SWQpKT8ubWFwKGUgPT4gZS50cmlnZ2VycykuZmxhdCgpLm1hcCh0cmlnZ2Vyc01hcCA9PiBPYmplY3QudmFsdWVzKHRyaWdnZXJzTWFwKSkuZmxhdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBvdXRwdXRlZCBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIGdpdmVuIHJ1bGVzZXQsIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRPdXRwdXRBY3Rpb25zRm9yUnVsZXNldChydWxlc2V0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHJ1bGVzZXRFeGVjdXRpb25zID0gYXdhaXQgdGhpcy5nZXRSdWxlc2V0RXhlY3V0aW9ucyhydWxlc2V0SWQpO1xuICAgIHJldHVybiBydWxlc2V0RXhlY3V0aW9ucyA/IChydWxlc2V0RXhlY3V0aW9uc1tydWxlc2V0RXhlY3V0aW9ucy5sZW5ndGggLSAxXSBhcyBSdWxlc2V0RXhlY3V0aW9uRXZlbnQpLm91dHB1dEFjdGlvbnMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiogR2V0IHRoZSBsaXN0IG9mIGZhY3QgbmFtZXMgYW5kIGNvcnJlc3BvbmRpbmcgdmFsdWVzICovXG4gIHB1YmxpYyBnZXRBbGxGYWN0c1NuYXBzaG90KCkge1xuICAgIGNvbnN0IHJlZ2lzdGVyZWRGYWN0cyA9IHRoaXMucnVsZXNFbmdpbmVTZXJ2aWNlPy5lbmdpbmUuZ2V0UmVnaXN0ZXJlZEZhY3RzTmFtZXMoKTtcbiAgICBpZiAocmVnaXN0ZXJlZEZhY3RzKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydWxlc0VuZ2luZVNlcnZpY2UuZW5naW5lLmVuZ2luZURlYnVnPy5nZXRGYWN0c1NuYXBzaG90KHJlZ2lzdGVyZWRGYWN0cyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBydWxlc2V0IGluZm9ybWF0aW9uIChydWxlcywgbGlua2VkQ29tcG9uZW50LCB2YWxpZGl0eSByYW5nZSBldGMuKSBmb3IgYSBydWxlc2V0IGlkXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBnZXRSdWxlc2V0SW5mb3JtYXRpb24ocnVsZXNldElkOiBzdHJpbmcpOiBQcm9taXNlPFJ1bGVzZXQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMpLFxuICAgICAgbWFwKChlbnRpdGllcykgPT4gZW50aXRpZXNbcnVsZXNldElkXSBhcyBSdWxlc2V0IHwgdW5kZWZpbmVkKVxuICAgICkpO1xuICB9XG59XG4iXX0=
|
|
@@ -11,7 +11,6 @@ export class EngineDebugger {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Instantiate a rules engine debugger
|
|
14
|
-
*
|
|
15
14
|
* @param options Options to configure the debugger
|
|
16
15
|
*/
|
|
17
16
|
constructor(options) {
|
|
@@ -85,7 +84,6 @@ export class EngineDebugger {
|
|
|
85
84
|
}
|
|
86
85
|
/**
|
|
87
86
|
* Plug the debugger to a Rule Engine
|
|
88
|
-
*
|
|
89
87
|
* @param rulesEngine
|
|
90
88
|
*/
|
|
91
89
|
registerRuleEngine(rulesEngine) {
|
|
@@ -93,7 +91,6 @@ export class EngineDebugger {
|
|
|
93
91
|
}
|
|
94
92
|
/**
|
|
95
93
|
* Handle ruleset execution debug info
|
|
96
|
-
*
|
|
97
94
|
* @param currRes
|
|
98
95
|
* @param prevRes
|
|
99
96
|
* @param allExecutionsValid
|
|
@@ -109,6 +106,7 @@ export class EngineDebugger {
|
|
|
109
106
|
this.addRulesetExecutionErrorEvent(ruleset, rulesetInputFacts, executionCounter, runtimeFactValues, rulesetTriggers, rulesetOutputExecution);
|
|
110
107
|
}
|
|
111
108
|
return {
|
|
109
|
+
executionCounter,
|
|
112
110
|
rulesetOutputExecution,
|
|
113
111
|
allExecutionsValid,
|
|
114
112
|
rulesetTriggers
|
|
@@ -116,7 +114,6 @@ export class EngineDebugger {
|
|
|
116
114
|
}
|
|
117
115
|
/**
|
|
118
116
|
* Emits an 'AvailableRulesets' debug event when rulesets are registered to the rules engine
|
|
119
|
-
*
|
|
120
117
|
* @param rulesets
|
|
121
118
|
*/
|
|
122
119
|
addAvailableRulesets(rulesets) {
|
|
@@ -130,7 +127,6 @@ export class EngineDebugger {
|
|
|
130
127
|
}
|
|
131
128
|
/**
|
|
132
129
|
* Computes and emits an 'ActiveRulesets' debug event when the active rulesets are changing
|
|
133
|
-
*
|
|
134
130
|
* @param ruleSetExecutorMap map off all rulesets executors
|
|
135
131
|
* @param restrictiveRuleSets ids of the rulesets to activate; if not provided all registered rulesets will be considered as active
|
|
136
132
|
*/
|
|
@@ -148,7 +144,6 @@ export class EngineDebugger {
|
|
|
148
144
|
}
|
|
149
145
|
/**
|
|
150
146
|
* Emits an 'AllActions' debug event each time the rules engine outputs the list of actions
|
|
151
|
-
*
|
|
152
147
|
* @param actions list of outputed actions
|
|
153
148
|
*/
|
|
154
149
|
allActionsChange(actions) {
|
|
@@ -157,7 +152,6 @@ export class EngineDebugger {
|
|
|
157
152
|
}
|
|
158
153
|
/**
|
|
159
154
|
* Emits a 'RulesetExecution' debug event at the ouput of a successful ruleset execution
|
|
160
|
-
*
|
|
161
155
|
* @param ruleset
|
|
162
156
|
* @param executionCounter
|
|
163
157
|
* @param rulesetInputFacts
|
|
@@ -173,7 +167,6 @@ export class EngineDebugger {
|
|
|
173
167
|
}
|
|
174
168
|
/**
|
|
175
169
|
* Emits a 'RulesetExecutionError' debug event at the ouput of a failing ruleset execution
|
|
176
|
-
*
|
|
177
170
|
* @param ruleset
|
|
178
171
|
* @param rulesetInputFacts
|
|
179
172
|
* @param executionCounter
|
|
@@ -188,7 +181,6 @@ export class EngineDebugger {
|
|
|
188
181
|
}
|
|
189
182
|
/**
|
|
190
183
|
* Returns a list of fact name and value pairs
|
|
191
|
-
*
|
|
192
184
|
* @param factsNames List of facts names to get the value for
|
|
193
185
|
*/
|
|
194
186
|
async getFactsSnapshot(factsNames) {
|
|
@@ -202,4 +194,4 @@ export class EngineDebugger {
|
|
|
202
194
|
return facts;
|
|
203
195
|
}
|
|
204
196
|
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmRlYnVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9kZWJ1Zy9lbmdpbmUuZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVdyRTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBY3pCLHlEQUF5RDtJQUN6RCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLE9BQStCO1FBcEJuQyx1QkFBa0IsR0FBbUMsRUFBRSxDQUFDO1FBcUI5RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxhQUFhLENBQTJDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDL0MsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUN6QyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsRUFBRTtZQUNuRCxNQUFNLFVBQVUsR0FBZSxNQUFNLFNBQVMsRUFBRSxDQUFDO1lBQ2pELElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxrQkFBa0IsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLHVCQUF1QixFQUFFO2dCQUN6RixJQUFJLGVBQWUsR0FBRyxDQUFDLENB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QixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ2hMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQW9CO1FBQ2hELE1BQU0sS0FBSyxHQUFxQyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsRUFBRTtZQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDNUY7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgc2hhcmUsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IEJhc2VSdWxlc2V0RXhlY3V0aW9uLCBEZWJ1Z0V2ZW50LCBFdmFsdWF0aW9uUmVhc29uLCBGYWN0cywgUnVsZUV2YWx1YXRpb24sIFJ1bGVFdmFsdWF0aW9uT3V0cHV0LCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCwgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IH0gZnJvbSAnLi4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSdWxlc2V0RXhlY3V0b3IgfSBmcm9tICcuLi9ydWxlc2V0LWV4ZWN1dG9yJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uQmxvY2ssIFJ1bGVzZXQgfSBmcm9tICcuLi9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgZmxhZ0NhY2hlZFJ1bGVzLCByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyB9IGZyb20gJy4vaGVscGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5naW5lRGVidWdnZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpbWl0IG9mIGV2ZW50cyB0byBrZWVwIGluIHRoZSBzdGFjayBiZWZvcmUgc3Vic2NyaWJpbmcgdG8gdGhlIGRlYnVnRXZlbnRzJCBzdHJlYW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCBubyBsaW1pdFxuICAgKi9cbiAgZXZlbnRzU3RhY2tMaW1pdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSdWxlcyBlbmdpbmUgZGVidWdnZXIgb2JqZWN0IHRvIGVtaXQgZGVidWcgZXZlbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmdpbmVEZWJ1Z2dlciB7XG5cbiAgcHJpdmF0ZSByZWdpc3RlcmVkUnVsZUVuZ2luZT86IFJ1bGVzRW5naW5lO1xuXG4gIHByaXZhdGUgcmVnaXN0ZXJlZFJ1bGVzZXRzOiBQaWNrPFJ1bGVzZXQsICduYW1lJyB8ICdpZCc+W10gPSBbXTtcblxuICAvLyBLZWVwIGEgc21hbGwgaGlzdG9yeSBpbiBjYXNlIHRoZSBldmVudHMkIHN0cmVhbSBmcm9tIHRoZSBlbmdpbmUgaXMgc3Vic2NyaWJlZCBhZnRlciBydWxlcyBlbmdpbmUgaW5pdGlhbGl6YXRpb25cbiAgcHJpdmF0ZSBkZWJ1Z0V2ZW50c1N1YmplY3QkOiBSZXBsYXlTdWJqZWN0PCgpID0+IChQcm9taXNlPERlYnVnRXZlbnQ+IHwgRGVidWdFdmVudCk+O1xuXG4gIHByaXZhdGUgcGVyZm9ybWFuY2VNZWFzdXJlcyQhOiBPYnNlcnZhYmxlPFBlcmZvcm1hbmNlTWVhc3VyZVtdPjtcblxuICAvKiogU3RyZWFtIGVtaXR0aW5nIGEgZGVidWcgZXZlbnQgd2hlbiBpcyBmaXJlZDsgdGltZWxpbmUgaXMga2VwdCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVidWdFdmVudHMkOiBPYnNlcnZhYmxlPERlYnVnRXZlbnQ+O1xuXG4gIC8qKiBSZXRyaWV2ZWQgdGhlIHJ1bGVzIGVuZ2luZSBwbHVnZ2VkIHRvIHRoZSBkZWJ1Z2dlciAqL1xuICBwdWJsaWMgZ2V0IHJ1bGVzRW5naW5lKCk6IFJ1bGVzRW5naW5lIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlcmVkUnVsZUVuZ2luZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YW50aWF0ZSBhIHJ1bGVzIGVuZ2luZSBkZWJ1Z2dlclxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgZGVidWdnZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBFbmdpbmVEZWJ1Z2dlck9wdGlvbnMpIHtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDwoKSA9PiAoUHJvbWlzZTxEZWJ1Z0V2ZW50PiB8IERlYnVnRXZlbnQpPihvcHRpb25zPy5ldmVudHNTdGFja0xpbWl0KTtcbiAgICB0aGlzLmluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCk7XG4gICAgdGhpcy5kZWJ1Z0V2ZW50cyQgPSB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQpLFxuICAgICAgY29uY2F0TWFwKGFzeW5jIChbZXZlbnRGdW5jLCBwZXJmb3JtYW5jZU1lYXN1cmVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkZWJ1Z0V2ZW50OiBEZWJ1Z0V2ZW50ID0gYXdhaXQgZXZlbnRGdW5jKCk7XG4gICAgICAgIGlmIChkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uJyB8fCBkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uRXJyb3InKSB7XG4gICAgICAgICAgbGV0IHJ1bGVzZXREdXJhdGlvbiA9IDA7XG4gICAgICAgICAgZGVidWdFdmVudC5ydWxlc0V2YWx1YXRpb25zLmZvckVhY2goKHJ1bGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBgcnVsZXMtZW5naW5lOiR7XG4gICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmU/LnJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lIHx8ICcnXG4gICAgICAgICAgICB9OiR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX06JHtydWxlLnJ1bGUubmFtZX1gO1xuICAgICAgICAgICAgY29uc3QgbWVhc3VyZXMgPSBwZXJmb3JtYW5jZU1lYXN1cmVzLmZpbHRlcihtID0+IG0ubmFtZSA9PT0gbWFyayk7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IG1lYXN1cmVzW21lYXN1cmVzLmxlbmd0aCAtIDFdPy5kdXJhdGlvbiB8fCAwO1xuICAgICAgICAgICAgcnVsZS5kdXJhdGlvbiA9IGR1cmF0aW9uO1xuICAgICAgICAgICAgcnVsZXNldER1cmF0aW9uICs9IGR1cmF0aW9uO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlYnVnRXZlbnQuZHVyYXRpb24gPSBydWxlc2V0RHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlYnVnRXZlbnQ7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoZGVidWdFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZGVidWdFdmVudC50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbicpIHtcbiAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lPy5sb2dnZXI/LmRlYnVnPy4oYCR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX0gaGFzIGJlZW4gdHJpZ2dlcmVkIGFuZCByZXN1bHRlZCBpbiAke0pTT04uc3RyaW5naWZ5KGRlYnVnRXZlbnQub3V0cHV0QWN0aW9ucyl9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2hhcmUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCkge1xuICAgIHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQgPSBuZXcgT2JzZXJ2YWJsZTxQZXJmb3JtYW5jZU1lYXN1cmVbXT4oc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCBwZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KGxpc3QuZ2V0RW50cmllcygpIGFzIFBlcmZvcm1hbmNlTWVhc3VyZVtdKTtcbiAgICAgIH0pO1xuICAgICAgcGVyZm9ybWFuY2VPYnNlcnZlci5vYnNlcnZlKHsgZW50cnlUeXBlczogWydtZWFzdXJlJ10gfSk7XG4gICAgICByZXR1cm4gcGVyZm9ybWFuY2VPYnNlcnZlci5kaXNjb25uZWN0O1xuICAgIH0pLnBpcGUoc3RhcnRXaXRoKFtdKSwgc2hhcmVSZXBsYXkoMSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQ6IFJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgaW5wdXRGYWN0cyA9IGF3YWl0IHRoaXMuZ2V0RmFjdHNTbmFwc2hvdChydWxlc2V0SW5wdXRGYWN0cyk7XG5cbiAgICBjb25zdCBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjogQmFzZVJ1bGVzZXRFeGVjdXRpb24gPSB7XG4gICAgICBleGVjdXRpb25Db3VudGVyLFxuICAgICAgZXhlY3V0aW9uSWQ6IGAke3J1bGVzZXQuaWR9LSR7ZXhlY3V0aW9uQ291bnRlcn1gLFxuICAgICAgcnVsZXNldElkOiBydWxlc2V0LmlkLFxuICAgICAgcnVsZXNldE5hbWU6IHJ1bGVzZXQubmFtZSxcbiAgICAgIGlucHV0RmFjdHMsXG4gICAgICB0cmlnZ2VyczogcnVsZXNldFRyaWdnZXJzLFxuICAgICAgcnVsZXNFdmFsdWF0aW9uczogZmxhZ0NhY2hlZFJ1bGVzKHJ1bGVzRXhlY3V0aW9ucz8uc29ydCgoYSwgYikgPT4gYS50aW1lc3RhbXAgLSBiLnRpbWVzdGFtcCkgfHwgW10sIHJ1bGVzZXRUcmlnZ2VycyksXG4gICAgICB0ZW1wb3JhcnlGYWN0czogcnVudGltZUZhY3RWYWx1ZXNcbiAgICB9O1xuICAgIHJldHVybiBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVsZXNldEV4ZWN1dGlvbihcbiAgICB0aW1lc3RhbXA6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgYWxsT3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LFxuICAgIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb24gPVxuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXIsIHJ1bGVzZXRJbnB1dEZhY3RzLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc0V4ZWN1dGlvbnMpO1xuXG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvbjogUnVsZXNldEV4ZWN1dGlvbkV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb24nLFxuICAgICAgb3V0cHV0QWN0aW9uczogYWxsT3V0cHV0QWN0aW9ucyxcbiAgICAgIC4uLmJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uXG4gICAgfTtcblxuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydWxlc2V0RXhlY3V0aW9uRXJyb3IoXG4gICAgdGltZXN0YW1wOiBudW1iZXIsXG4gICAgcnVsZXNldDogUnVsZXNldCxcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sXG4gICAgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdXG4gICkge1xuICAgIGNvbnN0IGJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uID1cbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlQmFzZUV4ZWN1dGlvbk91dHB1dE9iamVjdChydWxlc2V0LCBleGVjdXRpb25Db3VudGVyLCBydWxlc2V0SW5wdXRGYWN0cywgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKTtcblxuICAgIGNvbnN0IHJ1bGVzRXhlY1dpdGhFcnJvcnMgPSBydWxlc0V4ZWN1dGlvbnMuZmlsdGVyKGV4ID0+ICEhZXggJiYgISFleC5lcnJvcik7XG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvblNraXA6IFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicsXG4gICAgICBydWxlc0NhdXNpbmdUaGVFcnJvcjogcnVsZXNFeGVjV2l0aEVycm9ycy5tYXAoZSA9PiBlLnJ1bGUpIHx8IFtdLFxuICAgICAgZXJyb3JzOiBydWxlc0V4ZWNXaXRoRXJyb3JzLm1hcChlID0+IGUuZXJyb3IpLFxuICAgICAgLi4uYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb25cbiAgICB9O1xuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uU2tpcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbHVnIHRoZSBkZWJ1Z2dlciB0byBhIFJ1bGUgRW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBydWxlc0VuZ2luZVxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyUnVsZUVuZ2luZShydWxlc0VuZ2luZTogUnVsZXNFbmdpbmUpIHtcbiAgICB0aGlzLnJlZ2lzdGVyZWRSdWxlRW5naW5lID0gcnVsZXNFbmdpbmU7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHJ1bGVzZXQgZXhlY3V0aW9uIGRlYnVnIGluZm9cbiAgICpcbiAgICogQHBhcmFtIGN1cnJSZXNcbiAgICogQHBhcmFtIHByZXZSZXNcbiAgICogQHBhcmFtIGFsbEV4ZWN1dGlvbnNWYWxpZFxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBleGVjdXRpb25Db3VudGVyXG4gICAqIEBwYXJhbSBydWxlc2V0XG4gICAqL1xuICBwdWJsaWMgaGFuZGxlRGVidWdSdWxlc2V0RXhlY3V0aW9uSW5mbyhcbiAgICBjdXJyUmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdLFxuICAgIHByZXZSZXM6IFJ1bGVFdmFsdWF0aW9uT3V0cHV0W10gfCB1bmRlZmluZWQsXG4gICAgYWxsRXhlY3V0aW9uc1ZhbGlkOiBib29sZWFuLFxuICAgIHJ1bGVzZXRJbnB1dEZhY3RzOiBzdHJpbmdbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0KSB7XG5cbiAgICBjb25zdCBydWxlc2V0VHJpZ2dlcnMgPSByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyhjdXJyUmVzLCBwcmV2UmVzKTtcbiAgICBjb25zdCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uID0gY3VyclJlcy5tYXAociA9PiByLmV2YWx1YXRpb24hKTtcblxuICAgIGlmICghYWxsRXhlY3V0aW9uc1ZhbGlkKSB7XG4gICAgICB0aGlzLmFkZFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KHJ1bGVzZXQsIHJ1bGVzZXRJbnB1dEZhY3RzLCBleGVjdXRpb25Db3VudGVyLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcnVsZXNldE91dHB1dEV4ZWN1dGlvbixcbiAgICAgIGFsbEV4ZWN1dGlvbnNWYWxpZCxcbiAgICAgIHJ1bGVzZXRUcmlnZ2Vyc1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYW4gJ0F2YWlsYWJsZVJ1bGVzZXRzJyBkZWJ1ZyBldmVudCB3aGVuIHJ1bGVzZXRzIGFyZSByZWdpc3RlcmVkIHRvIHRoZSBydWxlcyBlbmdpbmVcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRzXG4gICAqL1xuICBwdWJsaWMgYWRkQXZhaWxhYmxlUnVsZXNldHMocnVsZXNldHM6IFJ1bGVzZXRbXSkge1xuICAgIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgdGhpcy5yZWdpc3RlcmVkUnVsZXNldHMgPSBbLi4udGhpcy5yZWdpc3RlcmVkUnVsZXNldHMsIC4uLnJ1bGVzZXRzLm1hcCgocikgPT4gKHtuYW1lOiByLm5hbWUsIGlkOiByLmlkfSkpXTtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQubmV4dCgoKSA9PiAoe1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ0F2YWlsYWJsZVJ1bGVzZXRzJyxcbiAgICAgIGF2YWlsYWJsZVJ1bGVzZXRzOiB0aGlzLnJlZ2lzdGVyZWRSdWxlc2V0c1xuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyBhbmQgZW1pdHMgYW4gJ0FjdGl2ZVJ1bGVzZXRzJyBkZWJ1ZyBldmVudCB3aGVuIHRoZSBhY3RpdmUgcnVsZXNldHMgYXJlIGNoYW5naW5nXG4gICAqXG4gICAqIEBwYXJhbSBydWxlU2V0RXhlY3V0b3JNYXAgbWFwIG9mZiBhbGwgcnVsZXNldHMgZXhlY3V0b3JzXG4gICAqIEBwYXJhbSByZXN0cmljdGl2ZVJ1bGVTZXRzIGlkcyBvZiB0aGUgcnVsZXNldHMgdG8gYWN0aXZhdGU7IGlmIG5vdCBwcm92aWRlZCBhbGwgcmVnaXN0ZXJlZCBydWxlc2V0cyB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgYWN0aXZlXG4gICAqL1xuICBwdWJsaWMgYWN0aXZlUnVsZXNldHNDaGFuZ2UocnVsZVNldEV4ZWN1dG9yTWFwOiBSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+LCByZXN0cmljdGl2ZVJ1bGVTZXRzPzogc3RyaW5nW10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHJ1bGVzZXRzID0gT2JqZWN0LmtleXMocnVsZVNldEV4ZWN1dG9yTWFwKS5tYXAoKHJ1bGVzZXRJZCkgPT4gcnVsZVNldEV4ZWN1dG9yTWFwW3J1bGVzZXRJZF0uZW5naW5lUnVsZXNldCk7XG4gICAgY29uc3QgYWN0aXZlUnVsZXNldHMgPSByZXN0cmljdGl2ZVJ1bGVTZXRzID9cbiAgICAgIE9iamVjdC52YWx1ZXMocnVsZXNldHMpLmZpbHRlcigocnVsZVNldCkgPT4gcmVzdHJpY3RpdmVSdWxlU2V0cy5pbmRleE9mKHJ1bGVTZXQuaWQpID4gLTEpIDpcbiAgICAgIE9iamVjdC52YWx1ZXMocnVsZXNldHMpO1xuXG4gICAgdGhpcy5kZWJ1Z0V2ZW50c1N1YmplY3QkLm5leHQoKCkgPT4gKHtcbiAgICAgIHRpbWVzdGFtcCxcbiAgICAgIHR5cGU6ICdBY3RpdmVSdWxlc2V0cycsXG4gICAgICBydWxlc2V0czogYWN0aXZlUnVsZXNldHMubWFwKGEgPT4gKHtuYW1lOiBydWxlU2V0RXhlY3V0b3JNYXBbYS5pZF0ucnVsZXNldC5uYW1lLCBpZDogcnVsZVNldEV4ZWN1dG9yTWFwW2EuaWRdLnJ1bGVzZXQuaWR9KSlcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYW4gJ0FsbEFjdGlvbnMnIGRlYnVnIGV2ZW50IGVhY2ggdGltZSB0aGUgcnVsZXMgZW5naW5lIG91dHB1dHMgdGhlIGxpc3Qgb2YgYWN0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBsaXN0IG9mIG91dHB1dGVkIGFjdGlvbnNcbiAgICovXG4gIHB1YmxpYyBhbGxBY3Rpb25zQ2hhbmdlKGFjdGlvbnM6IEFjdGlvbkJsb2NrW10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+ICh7dGltZXN0YW1wLCB0eXBlOiAnQWxsQWN0aW9ucycsIGFjdGlvbnN9KSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSAnUnVsZXNldEV4ZWN1dGlvbicgZGVidWcgZXZlbnQgYXQgdGhlIG91cHV0IG9mIGEgc3VjY2Vzc2Z1bCBydWxlc2V0IGV4ZWN1dGlvblxuICAgKlxuICAgKiBAcGFyYW0gcnVsZXNldFxuICAgKiBAcGFyYW0gZXhlY3V0aW9uQ291bnRlclxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIGFsbE91dHB1dEFjdGlvbnNcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBydWxlc2V0VHJpZ2dlcnNcbiAgICogQHBhcmFtIHJ1bGVzRXhlY3V0aW9uc1xuICAgKiBAcGFyYW0gcmV0cmlldmVGYWN0RnVuY1xuICAgKi9cbiAgcHVibGljIGFkZFJ1bGVzZXRFeGVjdXRpb25FdmVudChydWxlc2V0OiBSdWxlc2V0LCBleGVjdXRpb25Db3VudGVyOiBudW1iZXIsXG4gICAgcnVsZXNldElucHV0RmFjdHM6IHN0cmluZ1tdLCBhbGxPdXRwdXRBY3Rpb25zOiBBY3Rpb25CbG9ja1tdLCBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LCBydWxlc0V4ZWN1dGlvbnM6IFJ1bGVFdmFsdWF0aW9uW10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+IHRoaXMucnVsZXNldEV4ZWN1dGlvbih0aW1lc3RhbXAsIHJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXIsXG4gICAgICBydWxlc2V0SW5wdXRGYWN0cywgYWxsT3V0cHV0QWN0aW9ucywgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSAnUnVsZXNldEV4ZWN1dGlvbkVycm9yJyBkZWJ1ZyBldmVudCBhdCB0aGUgb3VwdXQgb2YgYSBmYWlsaW5nIHJ1bGVzZXQgZXhlY3V0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBydWxlc2V0XG4gICAqIEBwYXJhbSBydWxlc2V0SW5wdXRGYWN0c1xuICAgKiBAcGFyYW0gZXhlY3V0aW9uQ291bnRlclxuICAgKiBAcGFyYW0gcnVudGltZUZhY3RWYWx1ZXNcbiAgICogQHBhcmFtIHJ1bGVzZXRUcmlnZ2Vyc1xuICAgKiBAcGFyYW0gcnVsZXNFeGVjdXRpb25zXG4gICAqIEBwYXJhbSByZXRyaWV2ZUZhY3RGdW5jXG4gICAqL1xuICBwdWJsaWMgYWRkUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQoXG4gICAgcnVsZXNldDogUnVsZXNldCxcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sXG4gICAgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdXG4gICkge1xuICAgIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgdGhpcy5kZWJ1Z0V2ZW50c1N1YmplY3QkLm5leHQoKCkgPT4gdGhpcy5ydWxlc2V0RXhlY3V0aW9uRXJyb3IodGltZXN0YW1wLCBydWxlc2V0LCBydWxlc2V0SW5wdXRGYWN0cywgZXhlY3V0aW9uQ291bnRlciwgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgZmFjdCBuYW1lIGFuZCB2YWx1ZSBwYWlyc1xuICAgKlxuICAgKiBAcGFyYW0gZmFjdHNOYW1lcyBMaXN0IG9mIGZhY3RzIG5hbWVzIHRvIGdldCB0aGUgdmFsdWUgZm9yXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmFjdHNTbmFwc2hvdChmYWN0c05hbWVzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGZhY3RzOiB7ZmFjdE5hbWU6IHN0cmluZzsgdmFsdWU6IGFueX1bXSA9IFtdO1xuICAgIGlmICghdGhpcy5yZWdpc3RlcmVkUnVsZUVuZ2luZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSdWxlIGVuZ2luZSBub3QgcGx1Z2dlZCB0byB0aGUgZGVidWdnZXInKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBmYWN0TmFtZSBvZiBmYWN0c05hbWVzKSB7XG4gICAgICBmYWN0cy5wdXNoKHtmYWN0TmFtZSwgdmFsdWU6IGF3YWl0IHRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmUucmV0cmlldmVGYWN0VmFsdWUoZmFjdE5hbWUpfSk7XG4gICAgfVxuICAgIHJldHVybiBmYWN0cztcbiAgfVxufVxuIl19
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmRlYnVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9kZWJ1Zy9lbmdpbmUuZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVVyRTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBY3pCLHlEQUF5RDtJQUN6RCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksT0FBK0I7UUFuQm5DLHVCQUFrQixHQUFtQyxFQUFFLENBQUM7UUFvQjlELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLGFBQWEsQ0FBMkMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMvQyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQ3pDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ25ELE1BQU0sVUFBVSxHQUFlLE1BQU0sU0FBUyxFQUFFLENBQUM7WUFDakQsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGtCQUFrQixJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssdUJBQXVCLEVBQUU7Z0JBQ3pGLElBQUksZUFBZSxHQUFHLENBQUMsQ0FB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Z0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDaEwsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFvQjtRQUNoRCxNQUFNLEtBQUssR0FBcUMsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUU7WUFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1NBQzVGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIHNoYXJlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCB0YXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHR5cGUgeyBSdWxlc0VuZ2luZSB9IGZyb20gJy4uL2VuZ2luZSc7XG5pbXBvcnQgeyBCYXNlUnVsZXNldEV4ZWN1dGlvbiwgRGVidWdFdmVudCwgRXZhbHVhdGlvblJlYXNvbiwgUnVsZUV2YWx1YXRpb24sIFJ1bGVFdmFsdWF0aW9uT3V0cHV0LCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCwgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IH0gZnJvbSAnLi4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgdHlwZSB7IEZhY3RzIH0gZnJvbSAnLi4vZmFjdCc7XG5pbXBvcnQgeyBSdWxlc2V0RXhlY3V0b3IgfSBmcm9tICcuLi9ydWxlc2V0LWV4ZWN1dG9yJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uQmxvY2ssIFJ1bGVzZXQgfSBmcm9tICcuLi9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgZmxhZ0NhY2hlZFJ1bGVzLCByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyB9IGZyb20gJy4vaGVscGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5naW5lRGVidWdnZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpbWl0IG9mIGV2ZW50cyB0byBrZWVwIGluIHRoZSBzdGFjayBiZWZvcmUgc3Vic2NyaWJpbmcgdG8gdGhlIGRlYnVnRXZlbnRzJCBzdHJlYW0uXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCBubyBsaW1pdFxuICAgKi9cbiAgZXZlbnRzU3RhY2tMaW1pdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSdWxlcyBlbmdpbmUgZGVidWdnZXIgb2JqZWN0IHRvIGVtaXQgZGVidWcgZXZlbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmdpbmVEZWJ1Z2dlciB7XG5cbiAgcHJpdmF0ZSByZWdpc3RlcmVkUnVsZUVuZ2luZT86IFJ1bGVzRW5naW5lO1xuXG4gIHByaXZhdGUgcmVnaXN0ZXJlZFJ1bGVzZXRzOiBQaWNrPFJ1bGVzZXQsICduYW1lJyB8ICdpZCc+W10gPSBbXTtcblxuICAvLyBLZWVwIGEgc21hbGwgaGlzdG9yeSBpbiBjYXNlIHRoZSBldmVudHMkIHN0cmVhbSBmcm9tIHRoZSBlbmdpbmUgaXMgc3Vic2NyaWJlZCBhZnRlciBydWxlcyBlbmdpbmUgaW5pdGlhbGl6YXRpb25cbiAgcHJpdmF0ZSByZWFkb25seSBkZWJ1Z0V2ZW50c1N1YmplY3QkOiBSZXBsYXlTdWJqZWN0PCgpID0+IChQcm9taXNlPERlYnVnRXZlbnQ+IHwgRGVidWdFdmVudCk+O1xuXG4gIHByaXZhdGUgcGVyZm9ybWFuY2VNZWFzdXJlcyQhOiBPYnNlcnZhYmxlPFBlcmZvcm1hbmNlTWVhc3VyZVtdPjtcblxuICAvKiogU3RyZWFtIGVtaXR0aW5nIGEgZGVidWcgZXZlbnQgd2hlbiBpcyBmaXJlZDsgdGltZWxpbmUgaXMga2VwdCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVidWdFdmVudHMkOiBPYnNlcnZhYmxlPERlYnVnRXZlbnQ+O1xuXG4gIC8qKiBSZXRyaWV2ZWQgdGhlIHJ1bGVzIGVuZ2luZSBwbHVnZ2VkIHRvIHRoZSBkZWJ1Z2dlciAqL1xuICBwdWJsaWMgZ2V0IHJ1bGVzRW5naW5lKCk6IFJ1bGVzRW5naW5lIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlcmVkUnVsZUVuZ2luZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YW50aWF0ZSBhIHJ1bGVzIGVuZ2luZSBkZWJ1Z2dlclxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgZGVidWdnZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBFbmdpbmVEZWJ1Z2dlck9wdGlvbnMpIHtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDwoKSA9PiAoUHJvbWlzZTxEZWJ1Z0V2ZW50PiB8IERlYnVnRXZlbnQpPihvcHRpb25zPy5ldmVudHNTdGFja0xpbWl0KTtcbiAgICB0aGlzLmluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCk7XG4gICAgdGhpcy5kZWJ1Z0V2ZW50cyQgPSB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQpLFxuICAgICAgY29uY2F0TWFwKGFzeW5jIChbZXZlbnRGdW5jLCBwZXJmb3JtYW5jZU1lYXN1cmVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkZWJ1Z0V2ZW50OiBEZWJ1Z0V2ZW50ID0gYXdhaXQgZXZlbnRGdW5jKCk7XG4gICAgICAgIGlmIChkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uJyB8fCBkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uRXJyb3InKSB7XG4gICAgICAgICAgbGV0IHJ1bGVzZXREdXJhdGlvbiA9IDA7XG4gICAgICAgICAgZGVidWdFdmVudC5ydWxlc0V2YWx1YXRpb25zLmZvckVhY2goKHJ1bGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBgcnVsZXMtZW5naW5lOiR7XG4gICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmU/LnJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lIHx8ICcnXG4gICAgICAgICAgICB9OiR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX06JHtydWxlLnJ1bGUubmFtZX1gO1xuICAgICAgICAgICAgY29uc3QgbWVhc3VyZXMgPSBwZXJmb3JtYW5jZU1lYXN1cmVzLmZpbHRlcihtID0+IG0ubmFtZSA9PT0gbWFyayk7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IG1lYXN1cmVzW21lYXN1cmVzLmxlbmd0aCAtIDFdPy5kdXJhdGlvbiB8fCAwO1xuICAgICAgICAgICAgcnVsZS5kdXJhdGlvbiA9IGR1cmF0aW9uO1xuICAgICAgICAgICAgcnVsZXNldER1cmF0aW9uICs9IGR1cmF0aW9uO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlYnVnRXZlbnQuZHVyYXRpb24gPSBydWxlc2V0RHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlYnVnRXZlbnQ7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoZGVidWdFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZGVidWdFdmVudC50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbicpIHtcbiAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lPy5sb2dnZXI/LmRlYnVnPy4oYCR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX0gaGFzIGJlZW4gdHJpZ2dlcmVkIGFuZCByZXN1bHRlZCBpbiAke0pTT04uc3RyaW5naWZ5KGRlYnVnRXZlbnQub3V0cHV0QWN0aW9ucyl9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2hhcmUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCkge1xuICAgIHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQgPSBuZXcgT2JzZXJ2YWJsZTxQZXJmb3JtYW5jZU1lYXN1cmVbXT4oc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCBwZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KGxpc3QuZ2V0RW50cmllcygpIGFzIFBlcmZvcm1hbmNlTWVhc3VyZVtdKTtcbiAgICAgIH0pO1xuICAgICAgcGVyZm9ybWFuY2VPYnNlcnZlci5vYnNlcnZlKHsgZW50cnlUeXBlczogWydtZWFzdXJlJ10gfSk7XG4gICAgICByZXR1cm4gcGVyZm9ybWFuY2VPYnNlcnZlci5kaXNjb25uZWN0O1xuICAgIH0pLnBpcGUoc3RhcnRXaXRoKFtdKSwgc2hhcmVSZXBsYXkoMSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQ6IFJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgaW5wdXRGYWN0cyA9IGF3YWl0IHRoaXMuZ2V0RmFjdHNTbmFwc2hvdChydWxlc2V0SW5wdXRGYWN0cyk7XG5cbiAgICBjb25zdCBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjogQmFzZVJ1bGVzZXRFeGVjdXRpb24gPSB7XG4gICAgICBleGVjdXRpb25Db3VudGVyLFxuICAgICAgZXhlY3V0aW9uSWQ6IGAke3J1bGVzZXQuaWR9LSR7ZXhlY3V0aW9uQ291bnRlcn1gLFxuICAgICAgcnVsZXNldElkOiBydWxlc2V0LmlkLFxuICAgICAgcnVsZXNldE5hbWU6IHJ1bGVzZXQubmFtZSxcbiAgICAgIGlucHV0RmFjdHMsXG4gICAgICB0cmlnZ2VyczogcnVsZXNldFRyaWdnZXJzLFxuICAgICAgcnVsZXNFdmFsdWF0aW9uczogZmxhZ0NhY2hlZFJ1bGVzKHJ1bGVzRXhlY3V0aW9ucz8uc29ydCgoYSwgYikgPT4gYS50aW1lc3RhbXAgLSBiLnRpbWVzdGFtcCkgfHwgW10sIHJ1bGVzZXRUcmlnZ2VycyksXG4gICAgICB0ZW1wb3JhcnlGYWN0czogcnVudGltZUZhY3RWYWx1ZXNcbiAgICB9O1xuICAgIHJldHVybiBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVsZXNldEV4ZWN1dGlvbihcbiAgICB0aW1lc3RhbXA6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgYWxsT3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LFxuICAgIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb24gPVxuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXIsIHJ1bGVzZXRJbnB1dEZhY3RzLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc0V4ZWN1dGlvbnMpO1xuXG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvbjogUnVsZXNldEV4ZWN1dGlvbkV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb24nLFxuICAgICAgb3V0cHV0QWN0aW9uczogYWxsT3V0cHV0QWN0aW9ucyxcbiAgICAgIC4uLmJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uXG4gICAgfTtcblxuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydWxlc2V0RXhlY3V0aW9uRXJyb3IoXG4gICAgdGltZXN0YW1wOiBudW1iZXIsXG4gICAgcnVsZXNldDogUnVsZXNldCxcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sXG4gICAgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdXG4gICkge1xuICAgIGNvbnN0IGJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uID1cbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlQmFzZUV4ZWN1dGlvbk91dHB1dE9iamVjdChydWxlc2V0LCBleGVjdXRpb25Db3VudGVyLCBydWxlc2V0SW5wdXRGYWN0cywgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKTtcblxuICAgIGNvbnN0IHJ1bGVzRXhlY1dpdGhFcnJvcnMgPSBydWxlc0V4ZWN1dGlvbnMuZmlsdGVyKGV4ID0+ICEhZXggJiYgISFleC5lcnJvcik7XG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvblNraXA6IFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicsXG4gICAgICBydWxlc0NhdXNpbmdUaGVFcnJvcjogcnVsZXNFeGVjV2l0aEVycm9ycy5tYXAoZSA9PiBlLnJ1bGUpIHx8IFtdLFxuICAgICAgZXJyb3JzOiBydWxlc0V4ZWNXaXRoRXJyb3JzLm1hcChlID0+IGUuZXJyb3IpLFxuICAgICAgLi4uYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb25cbiAgICB9O1xuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uU2tpcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbHVnIHRoZSBkZWJ1Z2dlciB0byBhIFJ1bGUgRW5naW5lXG4gICAqIEBwYXJhbSBydWxlc0VuZ2luZVxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyUnVsZUVuZ2luZShydWxlc0VuZ2luZTogUnVsZXNFbmdpbmUpIHtcbiAgICB0aGlzLnJlZ2lzdGVyZWRSdWxlRW5naW5lID0gcnVsZXNFbmdpbmU7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHJ1bGVzZXQgZXhlY3V0aW9uIGRlYnVnIGluZm9cbiAgICogQHBhcmFtIGN1cnJSZXNcbiAgICogQHBhcmFtIHByZXZSZXNcbiAgICogQHBhcmFtIGFsbEV4ZWN1dGlvbnNWYWxpZFxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBleGVjdXRpb25Db3VudGVyXG4gICAqIEBwYXJhbSBydWxlc2V0XG4gICAqL1xuICBwdWJsaWMgaGFuZGxlRGVidWdSdWxlc2V0RXhlY3V0aW9uSW5mbyhcbiAgICBjdXJyUmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdLFxuICAgIHByZXZSZXM6IFJ1bGVFdmFsdWF0aW9uT3V0cHV0W10gfCB1bmRlZmluZWQsXG4gICAgYWxsRXhlY3V0aW9uc1ZhbGlkOiBib29sZWFuLFxuICAgIHJ1bGVzZXRJbnB1dEZhY3RzOiBzdHJpbmdbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0KSB7XG5cbiAgICBjb25zdCBydWxlc2V0VHJpZ2dlcnMgPSByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyhjdXJyUmVzLCBwcmV2UmVzKTtcbiAgICBjb25zdCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uID0gY3VyclJlcy5tYXAociA9PiByLmV2YWx1YXRpb24hKTtcblxuICAgIGlmICghYWxsRXhlY3V0aW9uc1ZhbGlkKSB7XG4gICAgICB0aGlzLmFkZFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KHJ1bGVzZXQsIHJ1bGVzZXRJbnB1dEZhY3RzLCBleGVjdXRpb25Db3VudGVyLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZXhlY3V0aW9uQ291bnRlcixcbiAgICAgIHJ1bGVzZXRPdXRwdXRFeGVjdXRpb24sXG4gICAgICBhbGxFeGVjdXRpb25zVmFsaWQsXG4gICAgICBydWxlc2V0VHJpZ2dlcnNcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuICdBdmFpbGFibGVSdWxlc2V0cycgZGVidWcgZXZlbnQgd2hlbiBydWxlc2V0cyBhcmUgcmVnaXN0ZXJlZCB0byB0aGUgcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBydWxlc2V0c1xuICAgKi9cbiAgcHVibGljIGFkZEF2YWlsYWJsZVJ1bGVzZXRzKHJ1bGVzZXRzOiBSdWxlc2V0W10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMucmVnaXN0ZXJlZFJ1bGVzZXRzID0gWy4uLnRoaXMucmVnaXN0ZXJlZFJ1bGVzZXRzLCAuLi5ydWxlc2V0cy5tYXAoKHIpID0+ICh7bmFtZTogci5uYW1lLCBpZDogci5pZH0pKV07XG4gICAgdGhpcy5kZWJ1Z0V2ZW50c1N1YmplY3QkLm5leHQoKCkgPT4gKHtcbiAgICAgIHRpbWVzdGFtcCxcbiAgICAgIHR5cGU6ICdBdmFpbGFibGVSdWxlc2V0cycsXG4gICAgICBhdmFpbGFibGVSdWxlc2V0czogdGhpcy5yZWdpc3RlcmVkUnVsZXNldHNcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgYW5kIGVtaXRzIGFuICdBY3RpdmVSdWxlc2V0cycgZGVidWcgZXZlbnQgd2hlbiB0aGUgYWN0aXZlIHJ1bGVzZXRzIGFyZSBjaGFuZ2luZ1xuICAgKiBAcGFyYW0gcnVsZVNldEV4ZWN1dG9yTWFwIG1hcCBvZmYgYWxsIHJ1bGVzZXRzIGV4ZWN1dG9yc1xuICAgKiBAcGFyYW0gcmVzdHJpY3RpdmVSdWxlU2V0cyBpZHMgb2YgdGhlIHJ1bGVzZXRzIHRvIGFjdGl2YXRlOyBpZiBub3QgcHJvdmlkZWQgYWxsIHJlZ2lzdGVyZWQgcnVsZXNldHMgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGFjdGl2ZVxuICAgKi9cbiAgcHVibGljIGFjdGl2ZVJ1bGVzZXRzQ2hhbmdlKHJ1bGVTZXRFeGVjdXRvck1hcDogUmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPiwgcmVzdHJpY3RpdmVSdWxlU2V0cz86IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBydWxlc2V0cyA9IE9iamVjdC5rZXlzKHJ1bGVTZXRFeGVjdXRvck1hcCkubWFwKChydWxlc2V0SWQpID0+IHJ1bGVTZXRFeGVjdXRvck1hcFtydWxlc2V0SWRdLmVuZ2luZVJ1bGVzZXQpO1xuICAgIGNvbnN0IGFjdGl2ZVJ1bGVzZXRzID0gcmVzdHJpY3RpdmVSdWxlU2V0cyA/XG4gICAgICBPYmplY3QudmFsdWVzKHJ1bGVzZXRzKS5maWx0ZXIoKHJ1bGVTZXQpID0+IHJlc3RyaWN0aXZlUnVsZVNldHMuaW5kZXhPZihydWxlU2V0LmlkKSA+IC0xKSA6XG4gICAgICBPYmplY3QudmFsdWVzKHJ1bGVzZXRzKTtcblxuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+ICh7XG4gICAgICB0aW1lc3RhbXAsXG4gICAgICB0eXBlOiAnQWN0aXZlUnVsZXNldHMnLFxuICAgICAgcnVsZXNldHM6IGFjdGl2ZVJ1bGVzZXRzLm1hcChhID0+ICh7bmFtZTogcnVsZVNldEV4ZWN1dG9yTWFwW2EuaWRdLnJ1bGVzZXQubmFtZSwgaWQ6IHJ1bGVTZXRFeGVjdXRvck1hcFthLmlkXS5ydWxlc2V0LmlkfSkpXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuICdBbGxBY3Rpb25zJyBkZWJ1ZyBldmVudCBlYWNoIHRpbWUgdGhlIHJ1bGVzIGVuZ2luZSBvdXRwdXRzIHRoZSBsaXN0IG9mIGFjdGlvbnNcbiAgICogQHBhcmFtIGFjdGlvbnMgbGlzdCBvZiBvdXRwdXRlZCBhY3Rpb25zXG4gICAqL1xuICBwdWJsaWMgYWxsQWN0aW9uc0NoYW5nZShhY3Rpb25zOiBBY3Rpb25CbG9ja1tdKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQubmV4dCgoKSA9PiAoe3RpbWVzdGFtcCwgdHlwZTogJ0FsbEFjdGlvbnMnLCBhY3Rpb25zfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgJ1J1bGVzZXRFeGVjdXRpb24nIGRlYnVnIGV2ZW50IGF0IHRoZSBvdXB1dCBvZiBhIHN1Y2Nlc3NmdWwgcnVsZXNldCBleGVjdXRpb25cbiAgICogQHBhcmFtIHJ1bGVzZXRcbiAgICogQHBhcmFtIGV4ZWN1dGlvbkNvdW50ZXJcbiAgICogQHBhcmFtIHJ1bGVzZXRJbnB1dEZhY3RzXG4gICAqIEBwYXJhbSBhbGxPdXRwdXRBY3Rpb25zXG4gICAqIEBwYXJhbSBydW50aW1lRmFjdFZhbHVlc1xuICAgKiBAcGFyYW0gcnVsZXNldFRyaWdnZXJzXG4gICAqIEBwYXJhbSBydWxlc0V4ZWN1dGlvbnNcbiAgICogQHBhcmFtIHJldHJpZXZlRmFjdEZ1bmNcbiAgICovXG4gIHB1YmxpYyBhZGRSdWxlc2V0RXhlY3V0aW9uRXZlbnQocnVsZXNldDogUnVsZXNldCwgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bGVzZXRJbnB1dEZhY3RzOiBzdHJpbmdbXSwgYWxsT3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSwgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPixcbiAgICBydWxlc2V0VHJpZ2dlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiwgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQubmV4dCgoKSA9PiB0aGlzLnJ1bGVzZXRFeGVjdXRpb24odGltZXN0YW1wLCBydWxlc2V0LCBleGVjdXRpb25Db3VudGVyLFxuICAgICAgcnVsZXNldElucHV0RmFjdHMsIGFsbE91dHB1dEFjdGlvbnMsIHJ1bnRpbWVGYWN0VmFsdWVzLCBydWxlc2V0VHJpZ2dlcnMsIHJ1bGVzRXhlY3V0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicgZGVidWcgZXZlbnQgYXQgdGhlIG91cHV0IG9mIGEgZmFpbGluZyBydWxlc2V0IGV4ZWN1dGlvblxuICAgKiBAcGFyYW0gcnVsZXNldFxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIGV4ZWN1dGlvbkNvdW50ZXJcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBydWxlc2V0VHJpZ2dlcnNcbiAgICogQHBhcmFtIHJ1bGVzRXhlY3V0aW9uc1xuICAgKiBAcGFyYW0gcmV0cmlldmVGYWN0RnVuY1xuICAgKi9cbiAgcHVibGljIGFkZFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KFxuICAgIHJ1bGVzZXQ6IFJ1bGVzZXQsXG4gICAgcnVsZXNldElucHV0RmFjdHM6IHN0cmluZ1tdLFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LFxuICAgIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXVxuICApIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+IHRoaXMucnVsZXNldEV4ZWN1dGlvbkVycm9yKHRpbWVzdGFtcCwgcnVsZXNldCwgcnVsZXNldElucHV0RmFjdHMsIGV4ZWN1dGlvbkNvdW50ZXIsIHJ1bnRpbWVGYWN0VmFsdWVzLCBydWxlc2V0VHJpZ2dlcnMsIHJ1bGVzRXhlY3V0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGZhY3QgbmFtZSBhbmQgdmFsdWUgcGFpcnNcbiAgICogQHBhcmFtIGZhY3RzTmFtZXMgTGlzdCBvZiBmYWN0cyBuYW1lcyB0byBnZXQgdGhlIHZhbHVlIGZvclxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZhY3RzU25hcHNob3QoZmFjdHNOYW1lczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBmYWN0czoge2ZhY3ROYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnl9W10gPSBbXTtcbiAgICBpZiAoIXRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUnVsZSBlbmdpbmUgbm90IHBsdWdnZWQgdG8gdGhlIGRlYnVnZ2VyJyk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgZmFjdE5hbWUgb2YgZmFjdHNOYW1lcykge1xuICAgICAgZmFjdHMucHVzaCh7ZmFjdE5hbWUsIHZhbHVlOiBhd2FpdCB0aGlzLnJlZ2lzdGVyZWRSdWxlRW5naW5lLnJldHJpZXZlRmFjdFZhbHVlKGZhY3ROYW1lKX0pO1xuICAgIH1cbiAgICByZXR1cm4gZmFjdHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Function to retrive from 2 sequential executions only the triggers which activated the last ruleset execution
|
|
3
|
-
*
|
|
4
3
|
* @param currRes Current ruleset execution object
|
|
5
4
|
* @param prevRes Previous ruleset execution object
|
|
6
5
|
* @returns The triggers list which activates the last ruleset execution
|
|
@@ -39,7 +38,6 @@ export function retrieveRulesetTriggers(currRes, prevRes) {
|
|
|
39
38
|
}
|
|
40
39
|
/**
|
|
41
40
|
* Flag as cached the rules evaluations which are from previous ruleset executions
|
|
42
|
-
*
|
|
43
41
|
* @param rulesEvaluations all rules evaluations list
|
|
44
42
|
* @param triggers Ruleset triggers object
|
|
45
43
|
* @returns Rules evaluation list with flagged rules evaluation from previous ruleset executions
|
|
@@ -55,7 +53,6 @@ export function flagCachedRules(rulesEvaluations, triggers) {
|
|
|
55
53
|
}
|
|
56
54
|
/**
|
|
57
55
|
* Create the debug rule evaluation object
|
|
58
|
-
*
|
|
59
56
|
* @param rule
|
|
60
57
|
* @param rulesetName
|
|
61
58
|
* @param outputActions
|
|
@@ -91,4 +88,4 @@ export function handleRuleEvaluationDebug(rule, rulesetName, outputActions, outp
|
|
|
91
88
|
};
|
|
92
89
|
return ruleEvaluation;
|
|
93
90
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvZGVidWcvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBK0IsRUFBRSxPQUEyQztJQUVsSCxJQUFJLGVBQWUsR0FBcUQsRUFBRSxDQUFDO0lBRTNFLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9ILE1BQU0sc0JBQXNCLEdBQXFELEVBQUUsQ0FBQztJQUVwRiwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztLQUMxQztTQUFNO1FBRUwsTUFBTSwwQkFBMEIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxD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dWxlRXZhbHVhdGlvbiwgUnVsZUV2YWx1YXRpb25PdXRwdXQgfSBmcm9tICcuLi9lbmdpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGlvbkJsb2NrLCBSdWxlIH0gZnJvbSAnLi4vc3RydWN0dXJlJztcblxuLyoqXG4gKiBGdW5jdGlvbiB0byByZXRyaXZlIGZyb20gMiBzZXF1ZW50aWFsIGV4ZWN1dGlvbnMgb25seSB0aGUgdHJpZ2dlcnMgd2hpY2ggYWN0aXZhdGVkIHRoZSBsYXN0IHJ1bGVzZXQgZXhlY3V0aW9uXG4gKlxuICogQHBhcmFtIGN1cnJSZXMgQ3VycmVudCBydWxlc2V0IGV4ZWN1dGlvbiBvYmplY3RcbiAqIEBwYXJhbSBwcmV2UmVzIFByZXZpb3VzIHJ1bGVzZXQgZXhlY3V0aW9uIG9iamVjdFxuICogQHJldHVybnMgVGhlIHRyaWdnZXJzIGxpc3Qgd2hpY2ggYWN0aXZhdGVzIHRoZSBsYXN0IHJ1bGVzZXQgZXhlY3V0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyhjdXJyUmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdLCBwcmV2UmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdIHwgdW5kZWZpbmVkKSB7XG5cbiAgbGV0IHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+ID0ge307XG5cbiAgY29uc3QgYWxsQ3VyclJ1bGVzZXRUcmlnZ2Vyc0xpc3QgPSBjdXJyUmVzLm1hcChyID0+IHIuZXZhbHVhdGlvbikuZmlsdGVyKChlKTogZSBpcyBSdWxlRXZhbHVhdGlvbiA9PiAhIWUpLm1hcChlID0+IGUudHJpZ2dlcnMpO1xuICBjb25zdCBhbGxDdXJyUnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4gPSB7fTtcblxuICBhbGxDdXJyUnVsZXNldFRyaWdnZXJzTGlzdC5mb3JFYWNoKChyVHJpZykgPT4ge1xuICAgIE9iamVjdC5rZXlzKHJUcmlnKS5mb3JFYWNoKChydWxlSWQpID0+IHtcbiAgICAgIGFsbEN1cnJSdWxlc2V0VHJpZ2dlcnNbcnVsZUlkXSA9IHJUcmlnW3J1bGVJZF07XG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmICghcHJldlJlcykge1xuICAgIHJ1bGVzZXRUcmlnZ2VycyA9IGFsbEN1cnJSdWxlc2V0VHJpZ2dlcnM7XG4gIH0gZWxzZSB7XG5cbiAgICBjb25zdCBhbGxQcmV2UnVsZXNldFRyaWdnZXJzTGlzdCA9IHByZXZSZXMubWFwKHIgPT4gci5ldmFsdWF0aW9uKS5maWx0ZXIoKGUpOiBlIGlzIFJ1bGVFdmFsdWF0aW9uID0+ICEhZSkubWFwKGUgPT4gZS50cmlnZ2Vycyk7XG4gICAgY29uc3QgYWxsUHJldlJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+ID0ge307XG5cbiAgICBhbGxQcmV2UnVsZXNldFRyaWdnZXJzTGlzdC5mb3JFYWNoKChyVHJpZykgPT4ge1xuICAgICAgT2JqZWN0LmtleXMoclRyaWcpLmZvckVhY2goKHJ1bGVJZCkgPT4ge1xuICAgICAgICBhbGxQcmV2UnVsZXNldFRyaWdnZXJzW3J1bGVJZF0gPSByVHJpZ1tydWxlSWRdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBPYmplY3QuZW50cmllcyhhbGxDdXJyUnVsZXNldFRyaWdnZXJzKS5mb3JFYWNoKChbcnVsZUlkLCBydWxlVHJpZ2dlcnNdKSA9PiB7XG4gICAgICBPYmplY3Qua2V5cyhydWxlVHJpZ2dlcnMpLmZvckVhY2goKGZhY3ROYW1lKSA9PiB7XG4gICAgICAgIGlmICghYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdIHx8XG4gICAgICAgICAgIWFsbFByZXZSdWxlc2V0VHJpZ2dlcnNbcnVsZUlkXVtmYWN0TmFtZV0gfHxcbiAgICAgICAgICBydWxlVHJpZ2dlcnNbZmFjdE5hbWVdLm5ld1ZhbHVlICE9PSBhbGxQcmV2UnVsZXNldFRyaWdnZXJzW3J1bGVJZF1bZmFjdE5hbWVdLm5ld1ZhbHVlKSB7XG4gICAgICAgICAgKHJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdIHx8PSB7fSlbZmFjdE5hbWVdID0gcnVsZVRyaWdnZXJzW2ZhY3ROYW1lXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgfVxuICByZXR1cm4gcnVsZXNldFRyaWdnZXJzO1xufVxuXG4vKipcbiAqIEZsYWcgYXMgY2FjaGVkIHRoZSBydWxlcyBldmFsdWF0aW9ucyB3aGljaCBhcmUgZnJvbSBwcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbnNcbiAqXG4gKiBAcGFyYW0gcnVsZXNFdmFsdWF0aW9ucyBhbGwgcnVsZXMgZXZhbHVhdGlvbnMgbGlzdFxuICogQHBhcmFtIHRyaWdnZXJzIFJ1bGVzZXQgdHJpZ2dlcnMgb2JqZWN0XG4gKiBAcmV0dXJucyBSdWxlcyBldmFsdWF0aW9uIGxpc3Qgd2l0aCBmbGFnZ2VkIHJ1bGVzIGV2YWx1YXRpb24gZnJvbSBwcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsYWdDYWNoZWRSdWxlcyhydWxlc0V2YWx1YXRpb25zOiBSdWxlRXZhbHVhdGlvbltdLCB0cmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+KTogKFJ1bGVFdmFsdWF0aW9uICYge2NhY2hlZD86IGJvb2xlYW59KVtdIHtcbiAgY29uc3QgcnVsZXNXaGljaFRyaWdnZXJlZEV4ZWN1dGlvbiA9IE9iamVjdC5rZXlzKHRyaWdnZXJzKTtcblxuICByZXR1cm4gcnVsZXNFdmFsdWF0aW9ucy5tYXAoKGUpID0+IHtcbiAgICBpZiAoZSAmJiBydWxlc1doaWNoVHJpZ2dlcmVkRXhlY3V0aW9uLmluZGV4T2YoZS5ydWxlLmlkKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiB7Li4uZSwgY2FjaGVkOiB0cnVlfTtcbiAgICB9XG4gICAgcmV0dXJuIHsuLi5lfTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBkZWJ1ZyBydWxlIGV2YWx1YXRpb24gb2JqZWN0XG4gKlxuICogQHBhcmFtIHJ1bGVcbiAqIEBwYXJhbSBydWxlc2V0TmFtZVxuICogQHBhcmFtIG91dHB1dEFjdGlvbnNcbiAqIEBwYXJhbSBvdXRwdXRFcnJvclxuICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gKiBAcGFyYW0gZmFjdFZhbHVlc1xuICogQHBhcmFtIG9sZEZhY3RWYWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVJ1bGVFdmFsdWF0aW9uRGVidWcoXG4gIHJ1bGU6IFJ1bGUsXG4gIHJ1bGVzZXROYW1lOiBzdHJpbmcsXG4gIG91dHB1dEFjdGlvbnM6IEFjdGlvbkJsb2NrW10gfCB1bmRlZmluZWQsXG4gIG91dHB1dEVycm9yOiBhbnksXG4gIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gIGZhY3RWYWx1ZXM6IGFueVtdIHwgdW5kZWZpbmVkLFxuICBvbGRGYWN0VmFsdWVzOiBhbnlbXSB8IHVuZGVmaW5lZCkge1xuXG4gIGNvbnN0IGV4ZWN1dGlvbklkID0gYCR7cnVsZXNldE5hbWV9IC0gJHtydWxlLm5hbWV9YDtcblxuICBjb25zdCByZWFzb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4gPSB7fTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZhY3RWYWx1ZXMhLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGlmICghb2xkRmFjdFZhbHVlcykge1xuICAgICAgKHJlYXNvbnNbcnVsZS5pZF0gfHw9IHt9KVtydWxlLmlucHV0RmFjdHNbaW5kZXhdXSA9IHsgZmFjdE5hbWU6IHJ1bGUuaW5wdXRGYWN0c1tpbmRleF0sIG5ld1ZhbHVlOiBmYWN0VmFsdWVzIVtpbmRleF0gfTtcbiAgICB9XG4gICAgZWxzZSBpZiAob2xkRmFjdFZhbHVlc1tpbmRleF0/LnRvU3RyaW5nKCkgIT09IGZhY3RWYWx1ZXMhW2luZGV4XT8udG9TdHJpbmcoKSkge1xuICAgICAgKHJlYXNvbnNbcnVsZS5pZF0gfHw9IHt9KVtydWxlLmlucHV0RmFjdHNbaW5kZXhdXSA9IHsgZmFjdE5hbWU6IHJ1bGUuaW5wdXRGYWN0c1tpbmRleF0sIG9sZFZhbHVlOiBvbGRGYWN0VmFsdWVzW2luZGV4XSwgbmV3VmFsdWU6IGZhY3RWYWx1ZXMhW2luZGV4XSB9O1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJ1bGVFdmFsdWF0aW9uOiBSdWxlRXZhbHVhdGlvbiA9IHtcbiAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgb3V0cHV0QWN0aW9ucyxcbiAgICBpZDogZXhlY3V0aW9uSWQsXG4gICAgdHJpZ2dlcnM6IHJlYXNvbnMsXG4gICAgdGVtcG9yYXJ5RmFjdHM6IHJ1bGUub3V0cHV0UnVudGltZUZhY3RzLmNvbmNhdChydWxlLmlucHV0UnVudGltZUZhY3RzKS5yZWR1Y2U8UmVjb3JkPHN0cmluZywgRmFjdHM+PigoYWNjLCBydW50aW1lRmFjdE5hbWUpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcnVudGltZUZhY3RWYWx1ZXNbcnVudGltZUZhY3ROYW1lXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgYWNjW3J1bnRpbWVGYWN0TmFtZV0gPSBydW50aW1lRmFjdFZhbHVlc1tydW50aW1lRmFjdE5hbWVdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fVxuICAgICksXG4gICAgcnVsZTogeyBpZDogcnVsZS5pZCwgbmFtZTogcnVsZS5uYW1lIH0sXG4gICAgLi4uKG91dHB1dEVycm9yID8geyBlcnJvcjogb3V0cHV0RXJyb3IgfSA6IHt9KVxuICB9O1xuICByZXR1cm4gcnVsZUV2YWx1YXRpb247XG59XG4iXX0=
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvZGVidWcvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUErQixFQUFFLE9BQTJDO0lBRWxILElBQUksZUFBZSxHQUFxRCxFQUFFLENBQUM7SUFFM0UsTUFBTSwwQkFBMEIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0gsTUFBTSxzQkFBc0IsR0FBcUQsRUFBRSxDQUFDO0lBRXBGLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osZUFBZSxHQUFHLHNCQUFzQixDQUFDO0tBQzFDO1NBQU07UUFFTCxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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aW9uLCBSdWxlRXZhbHVhdGlvbk91dHB1dCB9IGZyb20gJy4uL2VuZ2luZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBGYWN0cyB9IGZyb20gJy4uL2ZhY3QnO1xuaW1wb3J0IHsgQWN0aW9uQmxvY2ssIFJ1bGUgfSBmcm9tICcuLi9zdHJ1Y3R1cmUnO1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHJldHJpdmUgZnJvbSAyIHNlcXVlbnRpYWwgZXhlY3V0aW9ucyBvbmx5IHRoZSB0cmlnZ2VycyB3aGljaCBhY3RpdmF0ZWQgdGhlIGxhc3QgcnVsZXNldCBleGVjdXRpb25cbiAqIEBwYXJhbSBjdXJyUmVzIEN1cnJlbnQgcnVsZXNldCBleGVjdXRpb24gb2JqZWN0XG4gKiBAcGFyYW0gcHJldlJlcyBQcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbiBvYmplY3RcbiAqIEByZXR1cm5zIFRoZSB0cmlnZ2VycyBsaXN0IHdoaWNoIGFjdGl2YXRlcyB0aGUgbGFzdCBydWxlc2V0IGV4ZWN1dGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmV0cmlldmVSdWxlc2V0VHJpZ2dlcnMoY3VyclJlczogUnVsZUV2YWx1YXRpb25PdXRwdXRbXSwgcHJldlJlczogUnVsZUV2YWx1YXRpb25PdXRwdXRbXSB8IHVuZGVmaW5lZCkge1xuXG4gIGxldCBydWxlc2V0VHJpZ2dlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiA9IHt9O1xuXG4gIGNvbnN0IGFsbEN1cnJSdWxlc2V0VHJpZ2dlcnNMaXN0ID0gY3VyclJlcy5tYXAociA9PiByLmV2YWx1YXRpb24pLmZpbHRlcigoZSk6IGUgaXMgUnVsZUV2YWx1YXRpb24gPT4gISFlKS5tYXAoZSA9PiBlLnRyaWdnZXJzKTtcbiAgY29uc3QgYWxsQ3VyclJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+ID0ge307XG5cbiAgYWxsQ3VyclJ1bGVzZXRUcmlnZ2Vyc0xpc3QuZm9yRWFjaCgoclRyaWcpID0+IHtcbiAgICBPYmplY3Qua2V5cyhyVHJpZykuZm9yRWFjaCgocnVsZUlkKSA9PiB7XG4gICAgICBhbGxDdXJyUnVsZXNldFRyaWdnZXJzW3J1bGVJZF0gPSByVHJpZ1tydWxlSWRdO1xuICAgIH0pO1xuICB9KTtcblxuICBpZiAoIXByZXZSZXMpIHtcbiAgICBydWxlc2V0VHJpZ2dlcnMgPSBhbGxDdXJyUnVsZXNldFRyaWdnZXJzO1xuICB9IGVsc2Uge1xuXG4gICAgY29uc3QgYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc0xpc3QgPSBwcmV2UmVzLm1hcChyID0+IHIuZXZhbHVhdGlvbikuZmlsdGVyKChlKTogZSBpcyBSdWxlRXZhbHVhdGlvbiA9PiAhIWUpLm1hcChlID0+IGUudHJpZ2dlcnMpO1xuICAgIGNvbnN0IGFsbFByZXZSdWxlc2V0VHJpZ2dlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiA9IHt9O1xuXG4gICAgYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc0xpc3QuZm9yRWFjaCgoclRyaWcpID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKHJUcmlnKS5mb3JFYWNoKChydWxlSWQpID0+IHtcbiAgICAgICAgYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdID0gclRyaWdbcnVsZUlkXTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgT2JqZWN0LmVudHJpZXMoYWxsQ3VyclJ1bGVzZXRUcmlnZ2VycykuZm9yRWFjaCgoW3J1bGVJZCwgcnVsZVRyaWdnZXJzXSkgPT4ge1xuICAgICAgT2JqZWN0LmtleXMocnVsZVRyaWdnZXJzKS5mb3JFYWNoKChmYWN0TmFtZSkgPT4ge1xuICAgICAgICBpZiAoIWFsbFByZXZSdWxlc2V0VHJpZ2dlcnNbcnVsZUlkXSB8fFxuICAgICAgICAgICFhbGxQcmV2UnVsZXNldFRyaWdnZXJzW3J1bGVJZF1bZmFjdE5hbWVdIHx8XG4gICAgICAgICAgcnVsZVRyaWdnZXJzW2ZhY3ROYW1lXS5uZXdWYWx1ZSAhPT0gYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdW2ZhY3ROYW1lXS5uZXdWYWx1ZSkge1xuICAgICAgICAgIChydWxlc2V0VHJpZ2dlcnNbcnVsZUlkXSB8fD0ge30pW2ZhY3ROYW1lXSA9IHJ1bGVUcmlnZ2Vyc1tmYWN0TmFtZV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gIH1cbiAgcmV0dXJuIHJ1bGVzZXRUcmlnZ2Vycztcbn1cblxuLyoqXG4gKiBGbGFnIGFzIGNhY2hlZCB0aGUgcnVsZXMgZXZhbHVhdGlvbnMgd2hpY2ggYXJlIGZyb20gcHJldmlvdXMgcnVsZXNldCBleGVjdXRpb25zXG4gKiBAcGFyYW0gcnVsZXNFdmFsdWF0aW9ucyBhbGwgcnVsZXMgZXZhbHVhdGlvbnMgbGlzdFxuICogQHBhcmFtIHRyaWdnZXJzIFJ1bGVzZXQgdHJpZ2dlcnMgb2JqZWN0XG4gKiBAcmV0dXJucyBSdWxlcyBldmFsdWF0aW9uIGxpc3Qgd2l0aCBmbGFnZ2VkIHJ1bGVzIGV2YWx1YXRpb24gZnJvbSBwcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsYWdDYWNoZWRSdWxlcyhydWxlc0V2YWx1YXRpb25zOiBSdWxlRXZhbHVhdGlvbltdLCB0cmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+KTogKFJ1bGVFdmFsdWF0aW9uICYge2NhY2hlZD86IGJvb2xlYW59KVtdIHtcbiAgY29uc3QgcnVsZXNXaGljaFRyaWdnZXJlZEV4ZWN1dGlvbiA9IE9iamVjdC5rZXlzKHRyaWdnZXJzKTtcblxuICByZXR1cm4gcnVsZXNFdmFsdWF0aW9ucy5tYXAoKGUpID0+IHtcbiAgICBpZiAoZSAmJiBydWxlc1doaWNoVHJpZ2dlcmVkRXhlY3V0aW9uLmluZGV4T2YoZS5ydWxlLmlkKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiB7Li4uZSwgY2FjaGVkOiB0cnVlfTtcbiAgICB9XG4gICAgcmV0dXJuIHsuLi5lfTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBkZWJ1ZyBydWxlIGV2YWx1YXRpb24gb2JqZWN0XG4gKiBAcGFyYW0gcnVsZVxuICogQHBhcmFtIHJ1bGVzZXROYW1lXG4gKiBAcGFyYW0gb3V0cHV0QWN0aW9uc1xuICogQHBhcmFtIG91dHB1dEVycm9yXG4gKiBAcGFyYW0gcnVudGltZUZhY3RWYWx1ZXNcbiAqIEBwYXJhbSBmYWN0VmFsdWVzXG4gKiBAcGFyYW0gb2xkRmFjdFZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlUnVsZUV2YWx1YXRpb25EZWJ1ZyhcbiAgcnVsZTogUnVsZSxcbiAgcnVsZXNldE5hbWU6IHN0cmluZyxcbiAgb3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSB8IHVuZGVmaW5lZCxcbiAgb3V0cHV0RXJyb3I6IGFueSxcbiAgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPixcbiAgZmFjdFZhbHVlczogYW55W10gfCB1bmRlZmluZWQsXG4gIG9sZEZhY3RWYWx1ZXM6IGFueVtdIHwgdW5kZWZpbmVkKSB7XG5cbiAgY29uc3QgZXhlY3V0aW9uSWQgPSBgJHtydWxlc2V0TmFtZX0gLSAke3J1bGUubmFtZX1gO1xuXG4gIGNvbnN0IHJlYXNvbnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiA9IHt9O1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmFjdFZhbHVlcyEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgaWYgKCFvbGRGYWN0VmFsdWVzKSB7XG4gICAgICAocmVhc29uc1tydWxlLmlkXSB8fD0ge30pW3J1bGUuaW5wdXRGYWN0c1tpbmRleF1dID0geyBmYWN0TmFtZTogcnVsZS5pbnB1dEZhY3RzW2luZGV4XSwgbmV3VmFsdWU6IGZhY3RWYWx1ZXMhW2luZGV4XSB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChvbGRGYWN0VmFsdWVzW2luZGV4XT8udG9TdHJpbmcoKSAhPT0gZmFjdFZhbHVlcyFbaW5kZXhdPy50b1N0cmluZygpKSB7XG4gICAgICAocmVhc29uc1tydWxlLmlkXSB8fD0ge30pW3J1bGUuaW5wdXRGYWN0c1tpbmRleF1dID0geyBmYWN0TmFtZTogcnVsZS5pbnB1dEZhY3RzW2luZGV4XSwgb2xkVmFsdWU6IG9sZEZhY3RWYWx1ZXNbaW5kZXhdLCBuZXdWYWx1ZTogZmFjdFZhbHVlcyFbaW5kZXhdIH07XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcnVsZUV2YWx1YXRpb246IFJ1bGVFdmFsdWF0aW9uID0ge1xuICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICBvdXRwdXRBY3Rpb25zLFxuICAgIGlkOiBleGVjdXRpb25JZCxcbiAgICB0cmlnZ2VyczogcmVhc29ucyxcbiAgICB0ZW1wb3JhcnlGYWN0czogcnVsZS5vdXRwdXRSdW50aW1lRmFjdHMuY29uY2F0KHJ1bGUuaW5wdXRSdW50aW1lRmFjdHMpLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBGYWN0cz4+KChhY2MsIHJ1bnRpbWVGYWN0TmFtZSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBydW50aW1lRmFjdFZhbHVlc1tydW50aW1lRmFjdE5hbWVdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBhY2NbcnVudGltZUZhY3ROYW1lXSA9IHJ1bnRpbWVGYWN0VmFsdWVzW3J1bnRpbWVGYWN0TmFtZV07XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9XG4gICAgKSxcbiAgICBydWxlOiB7IGlkOiBydWxlLmlkLCBuYW1lOiBydWxlLm5hbWUgfSxcbiAgICAuLi4ob3V0cHV0RXJyb3IgPyB7IGVycm9yOiBvdXRwdXRFcnJvciB9IDoge30pXG4gIH07XG4gIHJldHVybiBydWxlRXZhbHVhdGlvbjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbmdpbmUvZW5naW5lLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMb2dnZXIgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IEVuZ2luZURlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy9lbmdpbmUuZGVidWcnO1xuaW1wb3J0IHR5cGUgeyBGYWN0LCBGYWN0cyB9IGZyb20gJy4vZmFjdCc7XG5pbXBvcnQgdHlwZSB7IE9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvcic7XG5pbXBvcnQgeyBBY3Rpb25CbG9jaywgUnVsZSwgUnVsZXNldCB9IGZyb20gJy4vc3RydWN0dXJlJztcblxuLyoqIFBlcmZvcm1hbmNlIG9iamVjdCBzdXBwb3J0aW5nIE5vZGVKcyBQZXJmb3JtYW5jZSBhbmQgV2ViIFBlcmZvcm1hbmNlIHJlcG9ydGluZyAgKi9cbmV4cG9ydCB0eXBlIENyb3NzUGxhdGZvcm1QZXJmb3JtYW5jZSA9IHtcbiAgLyoqIEBzZWUgUGVyZm9ybWFuY2UubWFyayAqL1xuICBtYXJrOiAoLi4ueDogUGFyYW1ldGVyczxQZXJmb3JtYW5jZVsnbWFyayddPikgPT4gUmV0dXJuVHlwZTxQZXJmb3JtYW5jZVsnbWFyayddPiB8IHZvaWQ7XG4gIC8qKiBAc2VlIFBlcmZvcm1hbmNlLm1lYXN1cmUgKi9cbiAgbWVhc3VyZTogKG1lYXN1cmVOYW1lOiBzdHJpbmcsIHN0YXJ0T3JNZWFzdXJlT3B0aW9ucz86IHN0cmluZywgZW5kTWFyaz86IHN0cmluZykgPT4gUmV0dXJuVHlwZTxQZXJmb3JtYW5jZVsnbWVhc3VyZSddPiB8IHZvaWQ7XG59O1xuXG4vKiogRmFjdCBzdHJlYW0gb2JqZWN0IHRvIGhhbmRsZSBmYWN0IHJlZmVyZW5jZSBjaGFuZ2UgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjdE9iamVjdDxUPiB7XG4gIC8qKiBTdWJqZWN0IG9mIGZhY3Qgc3RyZWFtICovXG4gIHN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPFQ+IHwgdW5kZWZpbmVkPjtcbiAgLyoqIFN0cmVhbSBvZiB0aGUgZmFjdCB2YWx1ZSAqL1xuICB2YWx1ZSQ6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD47XG59XG5cbi8qKiBSdWxlIEVuZ2luZSBjb25zdHJ1Y3RvciBvcHRpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzRW5naW5lT3B0aW9ucyB7XG4gIC8qKiBMaXN0IG9mIGZhY3RzICovXG4gIGZhY3RzPzogRmFjdDxGYWN0cz5bXTtcblxuICAvKiogTGlzdCBvZiBydWxlcyAqL1xuICBydWxlcz86IFJ1bGVzZXRbXTtcblxuICAvKiogTGlzdCBvZiBjdXN0b20gb3BlcmF0b3JzICovXG4gIG9wZXJhdG9ycz86IE9wZXJhdG9yPGFueSwgYW55PltdO1xuXG4gIC8qKiBEZWxheSBiZWZvcmUgZmFjdCBzdHJlYW0gZGVmYXVsdGluZyB2YWx1ZSAqL1xuICBmYWN0RGVmYXVsdERlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTa2lwIHRoZSBydWxlIGFuZCBmYWN0IGNpcmN1bGFyIGRlcGVuZGVuY3kgY2hlY2tzXG4gICAqIFR1cm4gdG8gdHJ1ZSB0byBpbmNyZWFzZSB0aGUgc3BlZWQgb2YgdGhlIHVwc2VydGlvbiBvZiBhIHJ1bGVcbiAgICovXG4gIHNraXBDaXJjdWxhckRlcGVuZGVuY3lDaGVja3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlIGRlYnVnZ2VyIGluc3RhbmNlIHRvIHRoZSBydWxlcyBlbmdpbmVcbiAgICovXG4gIGRlYnVnZ2VyPzogRW5naW5lRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIG9mIHRoZSBwZXJmb3JtYW5jZSByZXBvcnRlciB0byB1c2UgZm9yIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50cy5cbiAgICogQGRlZmF1bHQgd2luZG93LnBlcmZvcm1hbmNlIG9uIGJyb3dzZXIgb25seSwgdW5kZWZpbmVkIG9uIG5vZGVcbiAgICovXG4gIHBlcmZvcm1hbmNlPzogQ3Jvc3NQbGF0Zm9ybVBlcmZvcm1hbmNlO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBydWxlcyBlbmdpbmUgaW5zdGFuY2VcbiAgICogQGRlZmF1bHQgUnVsZXNFbmdpbmVcbiAgICovXG4gIHJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDbGllbnQgdG8gbG9nIHRoZSB3YXJuaW5nIGFuZCBlcnJvciBtZXNzYWdlXG4gICAqL1xuICBsb2dnZXI/OiBMb2dnZXI7XG59XG5cbi8qKiBSdWxlIGFzIHN0b3JlZCBpbiB0aGUgcnVsZXMgZW5naW5lICovXG5leHBvcnQgaW50ZXJmYWNlIEVuZ2luZVJ1bGUgZXh0ZW5kcyBSdWxlIHtcbiAgLyoqIHN0cmVhbSBvZiB0aGUgcnVsZSBjb25kaXRpb25zIHJlc3VsdCAqL1xuICByZXN1bHQkOiBCZWhhdmlvclN1YmplY3Q8QWN0aW9uQmxvY2tbXT47XG59XG5cbi8qKiBSdWxlIGFzIHN0b3JlZCBpbiB0aGUgcnVsZXMgZW5naW5lICovXG5leHBvcnQgaW50ZXJmYWNlIEVuZ2luZVJ1bGVzZXQge1xuICAvKiogT3B0aW9uYWwgZGF0ZSByYW5nZSB3aGVyZSB0aGUgcnVsZXNldCB3aWxsIGJlIGV4ZWN1dGVkLCBpdCBzdXBwb3J0cyBhIGRhdGVTdHJpbmcgb3IgYSB0aW1lc3RhbXAgYXMgbnVtYmVyLCBtb3JlIGluZm8gb24gamF2YXNjcmlwdCBEYXRlKCkgZG9jdW1lbnRhdGlvbiAqL1xuICB2YWxpZGl0eVJhbmdlPzogeyBmcm9tPzogc3RyaW5nIHwgbnVtYmVyOyB0bz86IHN0cmluZyB8IG51bWJlciB9O1xuICAvKiogQ29tcG9uZW50IGxpbmtlZCB0byB0aGUgcnVsZXNldCwgaWYgc2V0IGl0IHdpbGwgZGlzYWJsZSB0aGUgcnVsZXNldCBleGVjdXRpb24gcGVyIGRlZmF1bHQsIHdhaXRpbmcgdG8gYSBzdWJzY3JpcHRpb24gKi9cbiAgbGlua2VkQ29tcG9uZW50PzogeyBsaWJyYXJ5OiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICAvKiogVW5pcXVlIGlkIG9mIHRoZSBydWxlc2V0Ki9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFN0b3JlcyB0aGUgcmVzdWx0IG9mIGVhY2ggcnVsZXMgZnJvbSB0aGUgcnVsZXNldCAqL1xuICBydWxlc1Jlc3VsdHNTdWJqZWN0JDogT2JzZXJ2YWJsZTxBY3Rpb25CbG9ja1tdPjtcbn1cbi8qKiBUaW1lc3RhbXAgb2YgYSBydWxlcyBlbmdpbmUgb3V0cHV0IGV2ZW50ICovXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVkRXZlbnQge1xuICAvKiogVGltZXN0YW1wIHZhbHVlIHdoZW4gdGhlIGV2ZW50IG9jY3VycyAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgLyoqIER1cmF0aW9uIG9mIHRoZSBleGVjdXRpb24gKi9cbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbi8qKiBGYWN0IGNoYW5nZSB0cmlnZ2VyaW5nIHRoZSBldmFsdWF0aW9uIG9mIGEgcnVsZS9leGVjdXRpb24gb2YgYSBydWxlc2V0ICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25SZWFzb24ge1xuICAvKiogTmFtZSBvZiB0aGUgZmFjdCB0aGF0IGNoYW5nZWQgKi9cbiAgZmFjdE5hbWU6IHN0cmluZztcbiAgLyoqIE5ldyB2YWx1ZSBvZiB0aGUgZmFjdCAqL1xuICBuZXdWYWx1ZT86IEZhY3RzO1xuICAvKiogT2xkIHZhbHVlIG9mIHRoZSBmYWN0ICovXG4gIG9sZFZhbHVlPzogRmFjdHM7XG59XG5cbi8qKiBSZXN1bHQgb2JqZWN0IHJlc3VsdGVkIGF0IHRoZSBlbmQgb2YgYSBydWxlIGV2YWx1YXRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUV2YWx1YXRpb24gZXh0ZW5kcyBUaW1lZEV2ZW50IHtcbiAgLyoqIElkZW50aWZpZXIgb2YgdGhlIGV2YWx1YXRpb24gKHJ1bGVzZXQgbmFtZSArIHJ1bGUgbmFtZSkgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIEV2YWx1YXRlZCBydWxlIGlkZW50aWZpZXIgKi9cbiAgcnVsZTogUGljazxSdWxlLCAnaWQnIHwgJ25hbWUnPjtcbiAgLyoqIEFjdGlvbnMgb3V0cHV0ZWQgYnkgdGhlIHJ1bGUgZXZhbHVhdGlvbiAqL1xuICBvdXRwdXRBY3Rpb25zOiBBY3Rpb25CbG9ja1tdIHwgdW5kZWZpbmVkO1xuICAvKiogTWFwIGNvbnRhaW5pbmcgdGhlIGZhY3RzIGNoYW5nZXMgdHJpZ2dlcmluZyB0aGUgcnVsZSBldmFsdWF0aW9uICovXG4gIHRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj47XG4gIC8qKiBFcnJvciBvYmplY3QgaW4gY2FzZSBvZiBydWxlIGV2YWx1YXRpb24gZmFpbHVyZSAqL1xuICBlcnJvcj86IGFueTtcbiAgLyoqIFJ1bnRpbWUgZmFjdHMgd2l0aCB2YWx1ZXMgYXQgdGhlIGVuZCBvZiBydWxlIGV2YWx1YXRpb24gICovXG4gIHRlbXBvcmFyeUZhY3RzPzogUmVjb3JkPHN0cmluZywgRmFjdHM+O1xuICAvKiogRmxhZyB0byBub3RpZnkgaWYgdGhlIHJ1bGVzIGV2YWx1YXRpb24gY29tZXMgZnJvbSBhbiBvbGQgcnVsZXNldCBleGVjdXRpb24gKi9cbiAgY2FjaGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIFdyYXBwZWQgcnVsZSBldmFsdWF0aW9uIG91dHB1dCAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlRXZhbHVhdGlvbk91dHB1dCB7XG4gIC8qKiBBY3Rpb25zIGVtaXR0ZWQgYXQgdGhlIGVuZCBvZiBydWxlIGV2YWx1YXRpb24gKi9cbiAgYWN0aW9uczogQWN0aW9uQmxvY2tbXSB8IHVuZGVmaW5lZDtcbiAgLyoqIFJ1bGUgZXZhbHVhdGlvbiBvdXRwdXQgb2JqZWN0ICovXG4gIGV2YWx1YXRpb24/OiBSdWxlRXZhbHVhdGlvbjtcbiAgLyoqIEVycm9yIG9iamVjdCBlbWl0dGVkIGF0IHRoZSBlbmQgb2YgcnVsZSBldmFsdWF0aW9uLCBpZiBhbnkgKi9cbiAgZXJyb3I/OiBhbnk7XG59XG5cbi8qKiBCYXNlIG9iZWplY3QgcmVzdWx0ZWQgYXQgdGhlIGVuZCBvZiBhIHJ1bGVzZXQgZXhlY3V0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSdWxlc2V0RXhlY3V0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBydWxlc2V0IGV4ZWN1dGlvbiAqL1xuICBleGVjdXRpb25JZDogc3RyaW5nO1xuICAvKiogSWQgb2YgdGhlIHJ1bGVzZXQgd2hpY2ggd2FzIGV4ZWN1dGVkICovXG4gIHJ1bGVzZXRJZDogc3RyaW5nO1xuICAvKiogTmFtZSBvZiB0aGUgZXhlY3V0ZWQgcnVsZXNldCAqL1xuICBydWxlc2V0TmFtZTogc3RyaW5nO1xuICAvKiogQ291bnRlciBvZiBleGVjdXRpb25zIGZvciB0aGUgcnVsZXNldCAqL1xuICBleGVjdXRpb25Db3VudGVyOiBudW1iZXI7XG4gIC8qKiBBbGwgaW5wdXQgZmFjdHMgYWZmZWN0aW5nIHRoZSBydWxlc2V0ICovXG4gIGlucHV0RmFjdHM6IHtmYWN0TmFtZTogc3RyaW5nOyB2YWx1ZTogRmFjdHN9W107XG4gIC8qKiBSdW50aW1lIGZhY3RzIHVzZWQgYWNjcm9zIHRoZSBydWxlc2V0ICovXG4gIHRlbXBvcmFyeUZhY3RzPzogUmVjb3JkPHN0cmluZywgRmFjdHM+O1xuICAvKiogRmFjdHMgY2hhbmdlcyB0aGF0IHRyaWdnZXJlZCB0aGUgZXhlY3V0aW9uIG9mIHRoZSBydWxlc2V0ICovXG4gIHRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj47XG4gIC8qKiBMaXN0IG9mIGV2YWx1YXRlZCBydWxlcyBhY2Nyb3MgcnVsZXNldCBleGVjdXRpb24gKi9cbiAgcnVsZXNFdmFsdWF0aW9uczogUnVsZUV2YWx1YXRpb25bXTtcbn1cblxuLyoqIERlYnVnIGV2ZW50IGVtaXR0ZWQgaW4gY2FzZSBvZiBzdWNjZXNzZnVsIHJ1bGVzZXQgZXhlY3V0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzZXRFeGVjdXRpb25FdmVudCBleHRlbmRzIEJhc2VSdWxlc2V0RXhlY3V0aW9uLCBUaW1lZEV2ZW50IHtcbiAgLyoqIEV2ZW50IHR5cGUgKi9cbiAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb24nO1xuICAvKiogTGlzdCBvZiB0aGUgYWN0aW9ucyBlbWl0dGVkIGF0IHRoZSBlbmQgb2YgcnVsZXNldCBleGVjdXRpb24gKi9cbiAgb3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXTtcbn1cblxuLyoqIERlYnVnIGV2ZW50IGVtaXR0ZWQgaW4gY2FzZSBvZiBydWxlc2V0IGV4ZWN1dGlvbiBmYWlsdXJlICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50IGV4dGVuZHMgQmFzZVJ1bGVzZXRFeGVjdXRpb24sIFRpbWVkRXZlbnQge1xuICAvKiogRXZlbnQgdHlwZSAqL1xuICB0eXBlOiAnUnVsZXNldEV4ZWN1dGlvbkVycm9yJztcbiAgLyoqIExpc3Qgb2YgcnVsZXMgY2F1c2luZyB0aGUgZXhlY3V0aW9uIGVycm9yKi9cbiAgcnVsZXNDYXVzaW5nVGhlRXJyb3I6IFBpY2s8UnVsZSwgJ25hbWUnIHwgJ2lkJz5bXTtcbiAgLyoqIExpc3Qgb2Ygb3V0cHV0dGVkIGVycm9ycyAqL1xuICBlcnJvcnM6IGFueVtdO1xufVxuXG4vKiogRGVidWcgZXZlbnQgZW1pdHRlZCB3aGVuIGFjdGl2ZSBydWxlc2V0cyBhcmUgY2hhbmdpbmcgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlUnVsZXNldHNFdmVudCBleHRlbmRzIFRpbWVkRXZlbnQge1xuICAvKiogRXZlbnQgdHlwZSAqL1xuICB0eXBlOiAnQWN0aXZlUnVsZXNldHMnO1xuICAvKiogTGlzdCBvZiBhY3RpdmUgcnVsZXNldHMgKi9cbiAgcnVsZXNldHM6IFBpY2s8UnVsZXNldCwgJ25hbWUnIHwgJ2lkJz5bXTtcbn1cblxuLyoqIERlYnVnIGV2ZW50IGVtaXR0ZWQgZWFjaCB0aW1lIHRoZSBSdWxlcyBFbmdpbmUgb3V0cHV0cyBhIGxpc3Qgb2YgYWN0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGxBY3Rpb25zRXZlbnQgZXh0ZW5kcyBUaW1lZEV2ZW50IHtcbiAgLyoqIGV2ZW50IHR5cGUgKi9cbiAgdHlwZTogJ0FsbEFjdGlvbnMnO1xuICAvKiogTGlzdCBvZiBlbWl0dGVkIGFjdGlvbnMgKi9cbiAgYWN0aW9uczogQWN0aW9uQmxvY2tbXTtcbn1cblxuLyoqICBEZWJ1ZyBldmVudCBlbWl0dGVkIHdoZW4gcnVsZXNldHMgYXJlIHJlZ2lzdGVyZWQgdG8gdGhlIHJ1bGVzIGVuZ2luZSAqL1xuZXhwb3J0IGludGVyZmFjZSBBdmFpbGFibGVSdWxlc2V0cyBleHRlbmRzIFRpbWVkRXZlbnQge1xuICAvKiogRXZlbnQgdHlwZSAqL1xuICB0eXBlOiAnQXZhaWxhYmxlUnVsZXNldHMnO1xuICAvKiogUmVnaXN0ZXJlZCBydWxlc2V0cyBsaXN0ICovXG4gIGF2YWlsYWJsZVJ1bGVzZXRzOiBQaWNrPFJ1bGVzZXQsICduYW1lJyB8ICdpZCc+W107XG59XG5cbi8qKiBUeXBlIG9mIHBvc3NpYmxlIGRlYnVnIGV2ZW50cyBlbWl0ZWQgYnkgUnVsZXMgRW5naW5lICovXG5leHBvcnQgdHlwZSBEZWJ1Z0V2ZW50ID0gUnVsZXNldEV4ZWN1dGlvbkV2ZW50IHwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQgfCBBY3RpdmVSdWxlc2V0c0V2ZW50IHwgQWxsQWN0aW9uc0V2ZW50IHwgQXZhaWxhYmxlUnVsZXNldHM7XG4iXX0=
|