@o3r/configuration 12.1.0-prerelease.12 → 12.1.0-prerelease.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/package.json +5 -5
  2. package/esm2022/core/configurable.mjs +0 -2
  3. package/esm2022/core/configuration.mjs +0 -35
  4. package/esm2022/core/index.mjs +0 -3
  5. package/esm2022/devkit/configuration-devtools.console.service.mjs +0 -130
  6. package/esm2022/devkit/configuration-devtools.interface.mjs +0 -11
  7. package/esm2022/devkit/configuration-devtools.message.service.mjs +0 -94
  8. package/esm2022/devkit/configuration-devtools.module.mjs +0 -51
  9. package/esm2022/devkit/configuration-devtools.service.mjs +0 -100
  10. package/esm2022/devkit/configuration-devtools.token.mjs +0 -9
  11. package/esm2022/devkit/index.mjs +0 -7
  12. package/esm2022/fixtures/jasmine/configuration.base.service.fixture.jasmine.mjs +0 -22
  13. package/esm2022/fixtures/jasmine/index.mjs +0 -2
  14. package/esm2022/fixtures/jasmine/o3r-configuration-fixtures-jasmine.mjs +0 -5
  15. package/esm2022/fixtures/jest/configuration.base.service.fixture.jest.mjs +0 -22
  16. package/esm2022/fixtures/jest/index.mjs +0 -2
  17. package/esm2022/fixtures/jest/o3r-configuration-fixtures-jest.mjs +0 -5
  18. package/esm2022/o3r-configuration.mjs +0 -5
  19. package/esm2022/public_api.mjs +0 -6
  20. package/esm2022/rules-engine/configuration.handler-action.mjs +0 -40
  21. package/esm2022/rules-engine/configuration.interfaces.mjs +0 -3
  22. package/esm2022/rules-engine/configuration.rules-engine.module.mjs +0 -23
  23. package/esm2022/rules-engine/o3r-configuration-rules-engine.mjs +0 -5
  24. package/esm2022/rules-engine/public_api.mjs +0 -4
  25. package/esm2022/services/configuration/configuration.base.module.mjs +0 -16
  26. package/esm2022/services/configuration/configuration.base.service.mjs +0 -100
  27. package/esm2022/services/configuration/index.mjs +0 -3
  28. package/esm2022/services/index.mjs +0 -2
  29. package/esm2022/stores/config-override/config-override.actions.mjs +0 -8
  30. package/esm2022/stores/config-override/config-override.module.mjs +0 -39
  31. package/esm2022/stores/config-override/config-override.reducer.mjs +0 -17
  32. package/esm2022/stores/config-override/config-override.selectors.mjs +0 -12
  33. package/esm2022/stores/config-override/config-override.state.mjs +0 -5
  34. package/esm2022/stores/config-override/config-override.sync.mjs +0 -15
  35. package/esm2022/stores/config-override/index.mjs +0 -7
  36. package/esm2022/stores/configuration/configuration.actions.mjs +0 -33
  37. package/esm2022/stores/configuration/configuration.helpers.mjs +0 -14
  38. package/esm2022/stores/configuration/configuration.module.mjs +0 -39
  39. package/esm2022/stores/configuration/configuration.reducer.mjs +0 -29
  40. package/esm2022/stores/configuration/configuration.selectors.mjs +0 -28
  41. package/esm2022/stores/configuration/configuration.state.mjs +0 -9
  42. package/esm2022/stores/configuration/configuration.sync.mjs +0 -11
  43. package/esm2022/stores/configuration/index.mjs +0 -8
  44. package/esm2022/stores/index.mjs +0 -3
  45. package/esm2022/tools/configuration.decorators.mjs +0 -35
  46. package/esm2022/tools/configuration.observer.mjs +0 -38
  47. package/esm2022/tools/configuration.signal.mjs +0 -16
  48. package/esm2022/tools/index.mjs +0 -4
  49. package/middlewares/bootstrap-config.middleware.js.map +0 -1
  50. package/middlewares/index.js.map +0 -1
  51. package/schematics/configuration-to-component/index.js.map +0 -1
  52. package/schematics/configuration-to-component/schema.js.map +0 -1
  53. package/schematics/ng-add/helpers/devtools-registration.js.map +0 -1
  54. package/schematics/ng-add/index.js.map +0 -1
  55. package/schematics/ng-add/schema.js.map +0 -1
  56. package/schematics/ng-update/v10-3/index.js.map +0 -1
  57. package/schematics/ng-update/v11-6/index.js.map +0 -1
  58. package/schematics/use-config-signal/index.js.map +0 -1
  59. package/schematics/use-config-signal/schema.js.map +0 -1
@@ -1,22 +0,0 @@
1
- /**
2
- * Fixture file for configuration service
3
- */
4
- export class ConfigurationBaseServiceFixture {
5
- constructor() {
6
- /** @inheritDoc */
7
- this.updateConfiguration = jest.fn();
8
- /** @inheritDoc */
9
- this.upsertConfiguration = jest.fn();
10
- /** @inheritDoc */
11
- this.computeConfiguration = jest.fn();
12
- /** @inheritDoc */
13
- this.getConfigFromBodyTag = jest.fn();
14
- /** @inheritDoc */
15
- this.extendConfiguration = jest.fn();
16
- /** @inheritDoc */
17
- this.getComponentConfig = jest.fn();
18
- /** @inheritDoc */
19
- this.getConfig = jest.fn();
20
- }
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuZml4dHVyZS5qZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpeHR1cmVzL2plc3QvY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuZml4dHVyZS5qZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQUE1QztRQUNFLGtCQUFrQjtRQUNYLHdCQUFtQixHQUF3QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUQsa0JBQWtCO1FBQ1gsd0JBQW1CLEdBQXdCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1RCxrQkFBa0I7UUFDWCx5QkFBb0IsR0FBd0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdELGtCQUFrQjtRQUNYLHlCQUFvQixHQUF3QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDN0Qsa0JBQWtCO1FBQ1gsd0JBQW1CLEdBQXdCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1RCxrQkFBa0I7UUFDWCx1QkFBa0IsR0FBd0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNELGtCQUFrQjtRQUNYLGNBQVMsR0FBd0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlLFxufSBmcm9tICdAbzNyL2NvbmZpZ3VyYXRpb24nO1xuXG4vKipcbiAqIEZpeHR1cmUgZmlsZSBmb3IgY29uZmlndXJhdGlvbiBzZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2VGaXh0dXJlIGltcGxlbWVudHMgUmVhZG9ubHk8Q29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlPiB7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgdXBkYXRlQ29uZmlndXJhdGlvbjogamVzdC5Nb2NrPGFueSwgYW55PiA9IGplc3QuZm4oKTtcbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyB1cHNlcnRDb25maWd1cmF0aW9uOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGNvbXB1dGVDb25maWd1cmF0aW9uOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldENvbmZpZ0Zyb21Cb2R5VGFnOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGV4dGVuZENvbmZpZ3VyYXRpb246IGplc3QuTW9jazxhbnksIGFueT4gPSBqZXN0LmZuKCk7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0Q29tcG9uZW50Q29uZmlnOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldENvbmZpZzogamVzdC5Nb2NrPGFueSwgYW55PiA9IGplc3QuZm4oKTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './configuration.base.service.fixture.jest';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZml4dHVyZXMvamVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZS5maXh0dXJlLmplc3QnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWNvbmZpZ3VyYXRpb24tZml4dHVyZXMtamVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qZXN0L28zci1jb25maWd1cmF0aW9uLWZpeHR1cmVzLWplc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbzNyLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,6 +0,0 @@
1
- export * from './core/index';
2
- export * from './devkit/index';
3
- export * from './services/index';
4
- export * from './stores/index';
5
- export * from './tools/index';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBDb25maWd1cmF0aW9uLCBDdXN0b21Db25maWcgfSBmcm9tICdAbzNyL2NvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGV2a2l0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90b29scy9pbmRleCc7XG4iXX0=
@@ -1,40 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import { Store, } from '@ngrx/store';
3
- import { computeItemIdentifier, } from '@o3r/core';
4
- import { RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE, } from './configuration.interfaces';
5
- import { setConfigOverride, } from '@o3r/configuration';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngrx/store";
8
- /**
9
- * Service to handle async Configuration actions
10
- */
11
- export class ConfigurationRulesEngineActionHandler {
12
- constructor(store) {
13
- this.store = store;
14
- /** @inheritdoc */
15
- this.supportingActions = [RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE];
16
- }
17
- /** @inheritdoc */
18
- executeActions(actions) {
19
- const configOverrideMap = actions
20
- .filter((action) => action.library && action.component && action.property && typeof action.value !== 'undefined')
21
- .reduce((acc, ov) => {
22
- const configName = computeItemIdentifier(ov.component, ov.library);
23
- acc[configName] ||= { overrides: {} };
24
- acc[configName].overrides[ov.property] = ov.value;
25
- return acc;
26
- }, {});
27
- const configOverrides = Object.entries(configOverrideMap)
28
- .reduce((acc, [key, value]) => {
29
- acc[key] = value.overrides;
30
- return acc;
31
- }, {});
32
- this.store.dispatch(setConfigOverride({ state: { configOverrides } }));
33
- }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationRulesEngineActionHandler, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationRulesEngineActionHandler }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationRulesEngineActionHandler, decorators: [{
38
- type: Injectable
39
- }], ctorParameters: () => [{ type: i1.Store }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5oYW5kbGVyLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvY29uZmlndXJhdGlvbi5oYW5kbGVyLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxLQUFLLEdBQ04sTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUNMLHFCQUFxQixHQUN0QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBRUwsNkNBQTZDLEdBQzlDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUdMLGlCQUFpQixHQUNsQixNQUFNLG9CQUFvQixDQUFDOzs7QUFFNUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUNBQXFDO0lBSWhELFlBQTZCLEtBQWdDO1FBQWhDLFVBQUssR0FBTCxLQUFLLENBQTJCO1FBSDdELGtCQUFrQjtRQUNGLHNCQUFpQixHQUFHLENBQUMsNkNBQTZDLENBQVUsQ0FBQztJQUU3QixDQUFDO0lBRWpFLGtCQUFrQjtJQUNYLGNBQWMsQ0FBQyxPQUFrQztRQUN0RCxNQUFNLGlCQUFpQixHQUFHLE9BQU87YUFDOUIsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDO2FBQ2hILE1BQU0sQ0FBbUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDcEQsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbEQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFVCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2FBQ3RELE1BQU0sQ0FBbUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM5RCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUMzQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztrSUF4QlUscUNBQXFDO3NJQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN0b3JlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcixcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIGNvbXB1dGVJdGVtSWRlbnRpZmllcixcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGlvblVwZGF0ZUNvbmZpZ0Jsb2NrLFxuICBSVUxFU19FTkdJTkVfQ09ORklHVVJBVElPTl9VUERBVEVfQUNUSU9OX1RZUEUsXG59IGZyb20gJy4vY29uZmlndXJhdGlvbi5pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25TdG9yZSxcbiAgUHJvcGVydHlPdmVycmlkZSxcbiAgc2V0Q29uZmlnT3ZlcnJpZGUsXG59IGZyb20gJ0BvM3IvY29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgYXN5bmMgQ29uZmlndXJhdGlvbiBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyIGltcGxlbWVudHMgUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyPEFjdGlvblVwZGF0ZUNvbmZpZ0Jsb2NrPiB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydGluZ0FjdGlvbnMgPSBbUlVMRVNfRU5HSU5FX0NPTkZJR1VSQVRJT05fVVBEQVRFX0FDVElPTl9UWVBFXSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxDb25maWd1cmF0aW9uU3RvcmU+KSB7fVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgZXhlY3V0ZUFjdGlvbnMoYWN0aW9uczogQWN0aW9uVXBkYXRlQ29uZmlnQmxvY2tbXSk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25maWdPdmVycmlkZU1hcCA9IGFjdGlvbnNcbiAgICAgIC5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLmxpYnJhcnkgJiYgYWN0aW9uLmNvbXBvbmVudCAmJiBhY3Rpb24ucHJvcGVydHkgJiYgdHlwZW9mIGFjdGlvbi52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIFByb3BlcnR5T3ZlcnJpZGU+PigoYWNjLCBvdikgPT4ge1xuICAgICAgICBjb25zdCBjb25maWdOYW1lID0gY29tcHV0ZUl0ZW1JZGVudGlmaWVyKG92LmNvbXBvbmVudCwgb3YubGlicmFyeSk7XG4gICAgICAgIGFjY1tjb25maWdOYW1lXSB8fD0geyBvdmVycmlkZXM6IHt9IH07XG4gICAgICAgIGFjY1tjb25maWdOYW1lXS5vdmVycmlkZXNbb3YucHJvcGVydHldID0gb3YudmFsdWU7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG5cbiAgICBjb25zdCBjb25maWdPdmVycmlkZXMgPSBPYmplY3QuZW50cmllcyhjb25maWdPdmVycmlkZU1hcClcbiAgICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgUHJvcGVydHlPdmVycmlkZT4+KChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlLm92ZXJyaWRlcztcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2V0Q29uZmlnT3ZlcnJpZGUoeyBzdGF0ZTogeyBjb25maWdPdmVycmlkZXMgfSB9KSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- /** ActionUpdateConfigurationBlock */
2
- export const RULES_ENGINE_CONFIGURATION_UPDATE_ACTION_TYPE = 'UPDATE_CONFIG';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzLWVuZ2luZS9jb25maWd1cmF0aW9uLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgUnVsZXNFbmdpbmVBY3Rpb24sXG59IGZyb20gJ0BvM3IvY29yZSc7XG5cbi8qKiBBY3Rpb25VcGRhdGVDb25maWd1cmF0aW9uQmxvY2sgICovXG5leHBvcnQgY29uc3QgUlVMRVNfRU5HSU5FX0NPTkZJR1VSQVRJT05fVVBEQVRFX0FDVElPTl9UWVBFID0gJ1VQREFURV9DT05GSUcnO1xuXG4vKipcbiAqIENvbnRlbnQgb2YgYWN0aW9uIHRoYXQgdXBkYXRlcyBhIENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25VcGRhdGVDb25maWdCbG9jayBleHRlbmRzIFJ1bGVzRW5naW5lQWN0aW9uIHtcbiAgYWN0aW9uVHlwZTogdHlwZW9mIFJVTEVTX0VOR0lORV9DT05GSUdVUkFUSU9OX1VQREFURV9BQ1RJT05fVFlQRTtcbiAgbGlicmFyeTogc3RyaW5nO1xuICBjb21wb25lbnQ6IHN0cmluZztcbiAgcHJvcGVydHk6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { NgModule, } from '@angular/core';
2
- import { ConfigurationRulesEngineActionHandler, } from './configuration.handler-action';
3
- import { ConfigurationStoreModule, } from '@o3r/configuration';
4
- import * as i0 from "@angular/core";
5
- export class ConfigurationRulesEngineActionModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationRulesEngineActionModule, imports: [ConfigurationStoreModule] }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationRulesEngineActionModule, providers: [
9
- ConfigurationRulesEngineActionHandler
10
- ], imports: [ConfigurationStoreModule] }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationRulesEngineActionModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [
16
- ConfigurationStoreModule
17
- ],
18
- providers: [
19
- ConfigurationRulesEngineActionHandler
20
- ]
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5ydWxlcy1lbmdpbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzLWVuZ2luZS9jb25maWd1cmF0aW9uLnJ1bGVzLWVuZ2luZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUNBQXFDLEdBQ3RDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLHdCQUF3QixHQUN6QixNQUFNLG9CQUFvQixDQUFDOztBQVU1QixNQUFNLE9BQU8sb0NBQW9DO2tJQUFwQyxvQ0FBb0M7bUlBQXBDLG9DQUFvQyxZQU43Qyx3QkFBd0I7bUlBTWYsb0NBQW9DLGFBSnBDO1lBQ1QscUNBQXFDO1NBQ3RDLFlBSkMsd0JBQXdCOzs0RkFNZixvQ0FBb0M7a0JBUmhELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHdCQUF3QjtxQkFDekI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULHFDQUFxQztxQkFDdEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyLFxufSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uaGFuZGxlci1hY3Rpb24nO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblN0b3JlTW9kdWxlLFxufSBmcm9tICdAbzNyL2NvbmZpZ3VyYXRpb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29uZmlndXJhdGlvblN0b3JlTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIENvbmZpZ3VyYXRpb25SdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXJcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uUnVsZXNFbmdpbmVBY3Rpb25Nb2R1bGUge31cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWNvbmZpZ3VyYXRpb24tcnVsZXMtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzLWVuZ2luZS9vM3ItY29uZmlndXJhdGlvbi1ydWxlcy1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './configuration.handler-action';
2
- export * from './configuration.interfaces';
3
- export * from './configuration.rules-engine.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5oYW5kbGVyLWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24ucnVsZXMtZW5naW5lLm1vZHVsZSc7XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { NgModule, } from '@angular/core';
2
- import { LoggerModule, } from '@o3r/logger';
3
- import { ConfigurationStoreModule, } from '../../stores/index';
4
- import * as i0 from "@angular/core";
5
- export class ConfigurationBaseServiceModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationBaseServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationBaseServiceModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- imports: [ConfigurationStoreModule, LoggerModule]
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5iYXNlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uYmFzZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsWUFBWSxHQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCx3QkFBd0IsR0FDekIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLNUIsTUFBTSxPQUFPLDhCQUE4QjtrSUFBOUIsOEJBQThCO21JQUE5Qiw4QkFBOEIsWUFGL0Isd0JBQXdCLEVBQUUsWUFBWTttSUFFckMsOEJBQThCLFlBRi9CLHdCQUF3QixFQUFFLFlBQVk7OzRGQUVyQyw4QkFBOEI7a0JBSDFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5nTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIExvZ2dlck1vZHVsZSxcbn0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblN0b3JlTW9kdWxlLFxufSBmcm9tICcuLi8uLi9zdG9yZXMvaW5kZXgnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29uZmlndXJhdGlvblN0b3JlTW9kdWxlLCBMb2dnZXJNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25CYXNlU2VydmljZU1vZHVsZSB7fVxuIl19
@@ -1,100 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import { select, Store, } from '@ngrx/store';
3
- import { deepFill, } from '@o3r/core';
4
- import { combineLatest, of, } from 'rxjs';
5
- import { distinctUntilChanged, map, switchMap, take, } from 'rxjs/operators';
6
- import { selectComponentOverrideConfig, } from '../../stores/config-override/index';
7
- import { computeConfiguration, globalConfigurationId, selectConfigurationEntities, selectConfigurationForComponent, selectGlobalConfiguration, updateConfigurationEntity, upsertConfigurationEntities, upsertConfigurationEntity, } from '../../stores/index';
8
- import { ConfigurationBaseServiceModule, } from './configuration.base.module';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@ngrx/store";
11
- const jsonStringifyDiff = (obj1, obj2) => JSON.stringify(obj1) === JSON.stringify(obj2);
12
- /**
13
- * Configuration service
14
- */
15
- export class ConfigurationBaseService {
16
- constructor(store) {
17
- this.store = store;
18
- this.extendedConfiguration = {};
19
- }
20
- /**
21
- * Update a specific component config or add it to the store if does not exist
22
- * @param configuration to edit/add
23
- * @param configurationId Configuration ID
24
- */
25
- upsertConfiguration(configuration, configurationId = globalConfigurationId) {
26
- this.store.dispatch(upsertConfigurationEntity({ id: configurationId, configuration }));
27
- }
28
- /**
29
- * Update a specific component config
30
- * @param configuration Partial config to edit
31
- * @param configurationId Configuration ID
32
- */
33
- updateConfiguration(configuration, configurationId = globalConfigurationId) {
34
- this.store.dispatch(updateConfigurationEntity({ id: configurationId, configuration }));
35
- }
36
- /**
37
- * This function will get the configuration stored in the data attribute of the html's body tag
38
- * @param configTagName Value used to identify the data attribute where the config is pushed in the index.html
39
- */
40
- getConfigFromBodyTag(configTagName = 'staticconfig') {
41
- const bootstrapConfigString = document.body.dataset[configTagName];
42
- const customConfigObject = bootstrapConfigString ? JSON.parse(bootstrapConfigString) : [];
43
- if (customConfigObject.length > 0) {
44
- this.computeConfiguration(customConfigObject);
45
- }
46
- }
47
- /**
48
- * Transform the custom configuration in store configuration model
49
- * @param customConfigObject Configuration object (extracted from body tag for static config or downloaded in case of dynamic config)
50
- */
51
- computeConfiguration(customConfigObject) {
52
- this.store.dispatch(upsertConfigurationEntities(computeConfiguration(customConfigObject)));
53
- }
54
- /**
55
- * Complete a stored configuration by adding the missing fields
56
- * @param extension Configuration extension to be included in the store
57
- * @param configurationId Configuration ID to extend
58
- * @param forceUpdate Force update the configuration in the store
59
- */
60
- extendConfiguration(extension, configurationId = globalConfigurationId, forceUpdate = false) {
61
- if (this.extendedConfiguration[configurationId] && !forceUpdate) {
62
- return;
63
- }
64
- this.extendedConfiguration[configurationId] = true;
65
- this.store.pipe(select(selectConfigurationEntities), take(1), map((storedConfigs) => configurationId in storedConfigs ? deepFill(extension, storedConfigs[configurationId]) : extension)).subscribe((extendedConfig) => this.upsertConfiguration(extendedConfig, configurationId));
66
- }
67
- /**
68
- * Operator to get the configuration from store for a given component and merge it with the global config
69
- * @param id Id of the component
70
- * @param defaultValue Default value of the configuration
71
- */
72
- getComponentConfig(id, defaultValue) {
73
- return (source) => {
74
- const componentConfigurationFromStore$ = this.getConfig(id);
75
- return source.pipe(switchMap((overrideConfig) => componentConfigurationFromStore$.pipe(map((componentConfigurationFromStore) => {
76
- const config = componentConfigurationFromStore ? deepFill(defaultValue, componentConfigurationFromStore) : defaultValue;
77
- return overrideConfig ? deepFill(config, overrideConfig) : config;
78
- }))));
79
- };
80
- }
81
- /**
82
- * Get an observable of the configuration from store for a given component and merge it with the global config + the config overrides from the rules engine
83
- * @param id Id of the component
84
- */
85
- getConfig(id) {
86
- const globalConfig$ = this.store.pipe(select(selectGlobalConfiguration));
87
- const componentConfig$ = id === globalConfigurationId ? of({}) : this.store.pipe(select(selectConfigurationForComponent({ id })));
88
- const overrideConfig$ = this.store.pipe(select(selectComponentOverrideConfig(id)));
89
- return combineLatest([globalConfig$, componentConfig$, overrideConfig$]).pipe(map(([globalConfig, componentConfig, overrideConfig]) => ({ ...globalConfig, ...componentConfig, ...overrideConfig })), distinctUntilChanged(jsonStringifyDiff));
90
- }
91
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationBaseService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationBaseService, providedIn: ConfigurationBaseServiceModule }); }
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationBaseService, decorators: [{
95
- type: Injectable,
96
- args: [{
97
- providedIn: ConfigurationBaseServiceModule
98
- }]
99
- }], ctorParameters: () => [{ type: i1.Store }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFHTCxRQUFRLEdBQ1QsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNMLGFBQWEsRUFFYixFQUFFLEdBQ0gsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxTQUFTLEVBQ1QsSUFBSSxHQUNMLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUVMLDZCQUE2QixHQUM5QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFDTCxvQkFBb0IsRUFFcEIscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUMzQiwrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IseUJBQXlCLEdBQzFCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLDhCQUE4QixHQUMvQixNQUFNLDZCQUE2QixDQUFDOzs7QUFFckMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQVMsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUVsRzs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsWUFBNkIsS0FBc0Q7UUFBdEQsVUFBSyxHQUFMLEtBQUssQ0FBaUQ7UUFGbEUsMEJBQXFCLEdBQStCLEVBQUUsQ0FBQztJQUVjLENBQUM7SUFFdkY7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUEwQixhQUFnQixFQUFFLGVBQWUsR0FBRyxxQkFBcUI7UUFDM0csSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUFtQyxhQUFnQixFQUFFLGVBQWUsR0FBRyxxQkFBcUI7UUFDcEgsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQW9CLENBQTBCLGFBQWEsR0FBRyxjQUFjO1FBQ2pGLE1BQU0scUJBQXFCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkUsTUFBTSxrQkFBa0IsR0FBc0IscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdHLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQW9CLENBQTBCLGtCQUFxQztRQUN4RixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxtQkFBbUIsQ0FBMEIsU0FBWSxFQUFFLGVBQWUsR0FBRyxxQkFBcUIsRUFBRSxXQUFXLEdBQUcsS0FBSztRQUM1SCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hFLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixNQUFNLENBQUMsMkJBQTJCLENBQUMsRUFDbkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQzNILENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxrQkFBa0IsQ0FBMEIsRUFBVSxFQUFFLFlBQWU7UUFDNUUsT0FBTyxDQUFDLE1BQTBDLEVBQWlCLEVBQUU7WUFDbkUsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRS9ELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQ2pFLEdBQUcsQ0FBQyxDQUFDLCtCQUErQixFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sTUFBTSxHQUFHLCtCQUErQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLCtCQUErQixDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFDeEgsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwRSxDQUFDLENBQUMsQ0FDSCxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTLENBQTBCLEVBQVU7UUFDbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsK0JBQStCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsSSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5GLE9BQU8sYUFBYSxDQUFDLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMzRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGVBQWUsRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFDdEgsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7a0lBOUZVLHdCQUF3QjtzSUFBeEIsd0JBQXdCLGNBRnZCLDhCQUE4Qjs7NEZBRS9CLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsOEJBQThCO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgc2VsZWN0LFxuICBTdG9yZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbixcbiAgQ3VzdG9tQ29uZmlnLFxuICBkZWVwRmlsbCxcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ29uZmlnT3ZlcnJpZGVTdG9yZSxcbiAgc2VsZWN0Q29tcG9uZW50T3ZlcnJpZGVDb25maWcsXG59IGZyb20gJy4uLy4uL3N0b3Jlcy9jb25maWctb3ZlcnJpZGUvaW5kZXgnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZUNvbmZpZ3VyYXRpb24sXG4gIENvbmZpZ3VyYXRpb25TdG9yZSxcbiAgZ2xvYmFsQ29uZmlndXJhdGlvbklkLFxuICBzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMsXG4gIHNlbGVjdENvbmZpZ3VyYXRpb25Gb3JDb21wb25lbnQsXG4gIHNlbGVjdEdsb2JhbENvbmZpZ3VyYXRpb24sXG4gIHVwZGF0ZUNvbmZpZ3VyYXRpb25FbnRpdHksXG4gIHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdGllcyxcbiAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eSxcbn0gZnJvbSAnLi4vLi4vc3RvcmVzL2luZGV4JztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25CYXNlU2VydmljZU1vZHVsZSxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmJhc2UubW9kdWxlJztcblxuY29uc3QganNvblN0cmluZ2lmeURpZmYgPSAob2JqMTogYW55LCBvYmoyOiBhbnkpID0+IEpTT04uc3RyaW5naWZ5KG9iajEpID09PSBKU09OLnN0cmluZ2lmeShvYmoyKTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHNlcnZpY2VcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2VNb2R1bGVcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBleHRlbmRlZENvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8Q29uZmlndXJhdGlvblN0b3JlICYgQ29uZmlnT3ZlcnJpZGVTdG9yZT4pIHt9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhIHNwZWNpZmljIGNvbXBvbmVudCBjb25maWcgb3IgYWRkIGl0IHRvIHRoZSBzdG9yZSBpZiBkb2VzIG5vdCBleGlzdFxuICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbiB0byBlZGl0L2FkZFxuICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbklkIENvbmZpZ3VyYXRpb24gSURcbiAgICovXG4gIHB1YmxpYyB1cHNlcnRDb25maWd1cmF0aW9uPFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uPihjb25maWd1cmF0aW9uOiBULCBjb25maWd1cmF0aW9uSWQgPSBnbG9iYWxDb25maWd1cmF0aW9uSWQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdHkoeyBpZDogY29uZmlndXJhdGlvbklkLCBjb25maWd1cmF0aW9uIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYSBzcGVjaWZpYyBjb21wb25lbnQgY29uZmlnXG4gICAqIEBwYXJhbSBjb25maWd1cmF0aW9uIFBhcnRpYWwgY29uZmlnIHRvIGVkaXRcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb25JZCBDb25maWd1cmF0aW9uIElEXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlQ29uZmlndXJhdGlvbjxUIGV4dGVuZHMgUGFydGlhbDxDb25maWd1cmF0aW9uPj4oY29uZmlndXJhdGlvbjogVCwgY29uZmlndXJhdGlvbklkID0gZ2xvYmFsQ29uZmlndXJhdGlvbklkKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh1cGRhdGVDb25maWd1cmF0aW9uRW50aXR5KHsgaWQ6IGNvbmZpZ3VyYXRpb25JZCwgY29uZmlndXJhdGlvbiB9KSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGdldCB0aGUgY29uZmlndXJhdGlvbiBzdG9yZWQgaW4gdGhlIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBodG1sJ3MgYm9keSB0YWdcbiAgICogQHBhcmFtIGNvbmZpZ1RhZ05hbWUgVmFsdWUgdXNlZCB0byBpZGVudGlmeSB0aGUgZGF0YSBhdHRyaWJ1dGUgd2hlcmUgdGhlIGNvbmZpZyBpcyBwdXNoZWQgaW4gdGhlIGluZGV4Lmh0bWxcbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWdGcm9tQm9keVRhZzxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oY29uZmlnVGFnTmFtZSA9ICdzdGF0aWNjb25maWcnKSB7XG4gICAgY29uc3QgYm9vdHN0cmFwQ29uZmlnU3RyaW5nID0gZG9jdW1lbnQuYm9keS5kYXRhc2V0W2NvbmZpZ1RhZ05hbWVdO1xuICAgIGNvbnN0IGN1c3RvbUNvbmZpZ09iamVjdDogQ3VzdG9tQ29uZmlnPFQ+W10gPSBib290c3RyYXBDb25maWdTdHJpbmcgPyBKU09OLnBhcnNlKGJvb3RzdHJhcENvbmZpZ1N0cmluZykgOiBbXTtcbiAgICBpZiAoY3VzdG9tQ29uZmlnT2JqZWN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29tcHV0ZUNvbmZpZ3VyYXRpb24oY3VzdG9tQ29uZmlnT2JqZWN0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoZSBjdXN0b20gY29uZmlndXJhdGlvbiBpbiBzdG9yZSBjb25maWd1cmF0aW9uIG1vZGVsXG4gICAqIEBwYXJhbSBjdXN0b21Db25maWdPYmplY3QgQ29uZmlndXJhdGlvbiBvYmplY3QgKGV4dHJhY3RlZCBmcm9tIGJvZHkgdGFnIGZvciBzdGF0aWMgY29uZmlnIG9yIGRvd25sb2FkZWQgaW4gY2FzZSBvZiBkeW5hbWljIGNvbmZpZylcbiAgICovXG4gIHB1YmxpYyBjb21wdXRlQ29uZmlndXJhdGlvbjxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oY3VzdG9tQ29uZmlnT2JqZWN0OiBDdXN0b21Db25maWc8VD5bXSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0aWVzKGNvbXB1dGVDb25maWd1cmF0aW9uKGN1c3RvbUNvbmZpZ09iamVjdCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wbGV0ZSBhIHN0b3JlZCBjb25maWd1cmF0aW9uIGJ5IGFkZGluZyB0aGUgbWlzc2luZyBmaWVsZHNcbiAgICogQHBhcmFtIGV4dGVuc2lvbiBDb25maWd1cmF0aW9uIGV4dGVuc2lvbiB0byBiZSBpbmNsdWRlZCBpbiB0aGUgc3RvcmVcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb25JZCBDb25maWd1cmF0aW9uIElEIHRvIGV4dGVuZFxuICAgKiBAcGFyYW0gZm9yY2VVcGRhdGUgRm9yY2UgdXBkYXRlIHRoZSBjb25maWd1cmF0aW9uIGluIHRoZSBzdG9yZVxuICAgKi9cbiAgcHVibGljIGV4dGVuZENvbmZpZ3VyYXRpb248VCBleHRlbmRzIENvbmZpZ3VyYXRpb24+KGV4dGVuc2lvbjogVCwgY29uZmlndXJhdGlvbklkID0gZ2xvYmFsQ29uZmlndXJhdGlvbklkLCBmb3JjZVVwZGF0ZSA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMuZXh0ZW5kZWRDb25maWd1cmF0aW9uW2NvbmZpZ3VyYXRpb25JZF0gJiYgIWZvcmNlVXBkYXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZXh0ZW5kZWRDb25maWd1cmF0aW9uW2NvbmZpZ3VyYXRpb25JZF0gPSB0cnVlO1xuICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgIHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoc3RvcmVkQ29uZmlncykgPT4gY29uZmlndXJhdGlvbklkIGluIHN0b3JlZENvbmZpZ3MgPyBkZWVwRmlsbChleHRlbnNpb24sIHN0b3JlZENvbmZpZ3NbY29uZmlndXJhdGlvbklkXSkgOiBleHRlbnNpb24pXG4gICAgKS5zdWJzY3JpYmUoKGV4dGVuZGVkQ29uZmlnKSA9PiB0aGlzLnVwc2VydENvbmZpZ3VyYXRpb24oZXh0ZW5kZWRDb25maWcsIGNvbmZpZ3VyYXRpb25JZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZXJhdG9yIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbiBmcm9tIHN0b3JlIGZvciBhIGdpdmVuIGNvbXBvbmVudCBhbmQgbWVyZ2UgaXQgd2l0aCB0aGUgZ2xvYmFsIGNvbmZpZ1xuICAgKiBAcGFyYW0gaWQgSWQgb2YgdGhlIGNvbXBvbmVudFxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIERlZmF1bHQgdmFsdWUgb2YgdGhlIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRDb21wb25lbnRDb25maWc8VCBleHRlbmRzIENvbmZpZ3VyYXRpb24+KGlkOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCkge1xuICAgIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFBhcnRpYWw8VD4gfCB1bmRlZmluZWQ+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnRDb25maWd1cmF0aW9uRnJvbVN0b3JlJCA9IHRoaXMuZ2V0Q29uZmlnPFQ+KGlkKTtcblxuICAgICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKG92ZXJyaWRlQ29uZmlnKSA9PiBjb21wb25lbnRDb25maWd1cmF0aW9uRnJvbVN0b3JlJC5waXBlKFxuICAgICAgICAgIG1hcCgoY29tcG9uZW50Q29uZmlndXJhdGlvbkZyb21TdG9yZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnID0gY29tcG9uZW50Q29uZmlndXJhdGlvbkZyb21TdG9yZSA/IGRlZXBGaWxsKGRlZmF1bHRWYWx1ZSwgY29tcG9uZW50Q29uZmlndXJhdGlvbkZyb21TdG9yZSkgOiBkZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gb3ZlcnJpZGVDb25maWcgPyBkZWVwRmlsbChjb25maWcsIG92ZXJyaWRlQ29uZmlnKSA6IGNvbmZpZztcbiAgICAgICAgICB9KVxuICAgICAgICApKVxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBvYnNlcnZhYmxlIG9mIHRoZSBjb25maWd1cmF0aW9uIGZyb20gc3RvcmUgZm9yIGEgZ2l2ZW4gY29tcG9uZW50IGFuZCBtZXJnZSBpdCB3aXRoIHRoZSBnbG9iYWwgY29uZmlnICsgdGhlIGNvbmZpZyBvdmVycmlkZXMgZnJvbSB0aGUgcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBpZCBJZCBvZiB0aGUgY29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgZ2V0Q29uZmlnPFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uPihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgZ2xvYmFsQ29uZmlnJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0R2xvYmFsQ29uZmlndXJhdGlvbikpO1xuICAgIGNvbnN0IGNvbXBvbmVudENvbmZpZyQgPSBpZCA9PT0gZ2xvYmFsQ29uZmlndXJhdGlvbklkID8gb2Yoe30pIDogdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uRm9yQ29tcG9uZW50KHsgaWQgfSkpKTtcbiAgICBjb25zdCBvdmVycmlkZUNvbmZpZyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBvbmVudE92ZXJyaWRlQ29uZmlnKGlkKSkpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2dsb2JhbENvbmZpZyQsIGNvbXBvbmVudENvbmZpZyQsIG92ZXJyaWRlQ29uZmlnJF0pLnBpcGUoXG4gICAgICBtYXAoKFtnbG9iYWxDb25maWcsIGNvbXBvbmVudENvbmZpZywgb3ZlcnJpZGVDb25maWddKSA9PiAoeyAuLi5nbG9iYWxDb25maWcsIC4uLmNvbXBvbmVudENvbmZpZywgLi4ub3ZlcnJpZGVDb25maWcgfSkpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoanNvblN0cmluZ2lmeURpZmYpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './configuration.base.module';
2
- export * from './configuration.base.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvY29uZmlndXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24uYmFzZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './configuration/index';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi9pbmRleCc7XG4iXX0=
@@ -1,8 +0,0 @@
1
- import { createAction, props, } from '@ngrx/store';
2
- /** Actions */
3
- const ACTION_SET = '[ConfigOverride] set';
4
- /**
5
- * Clear all overrides and fill the store with the payload
6
- */
7
- export const setConfigOverride = createAction(ACTION_SET, props());
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZy1vdmVycmlkZS9jb25maWctb3ZlcnJpZGUuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQVFyQixjQUFjO0FBQ2QsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBOEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQWN0aW9uLFxuICBwcm9wcyxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgU2V0U3RhdGVBY3Rpb25QYXlsb2FkLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlnT3ZlcnJpZGVTdGF0ZSxcbn0gZnJvbSAnLi9jb25maWctb3ZlcnJpZGUuc3RhdGUnO1xuXG4vKiogQWN0aW9ucyAqL1xuY29uc3QgQUNUSU9OX1NFVCA9ICdbQ29uZmlnT3ZlcnJpZGVdIHNldCc7XG5cbi8qKlxuICogQ2xlYXIgYWxsIG92ZXJyaWRlcyBhbmQgZmlsbCB0aGUgc3RvcmUgd2l0aCB0aGUgcGF5bG9hZFxuICovXG5leHBvcnQgY29uc3Qgc2V0Q29uZmlnT3ZlcnJpZGUgPSBjcmVhdGVBY3Rpb24oQUNUSU9OX1NFVCwgcHJvcHM8U2V0U3RhdGVBY3Rpb25QYXlsb2FkPENvbmZpZ092ZXJyaWRlU3RhdGU+PigpKTtcbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { InjectionToken, NgModule, } from '@angular/core';
2
- import { StoreModule, } from '@ngrx/store';
3
- import { configOverrideReducer, } from './config-override.reducer';
4
- import { CONFIG_OVERRIDE_STORE_NAME, } from './config-override.state';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngrx/store";
7
- /** Token of the ConfigOverride reducer */
8
- export const CONFIG_OVERRIDE_REDUCER_TOKEN = new InjectionToken('Feature ConfigOverride Reducer');
9
- /** Provide default reducer for ConfigOverride store */
10
- export function getDefaultConfigOverrideReducer() {
11
- return configOverrideReducer;
12
- }
13
- export class ConfigOverrideStoreModule {
14
- static forRoot(reducerFactory) {
15
- return {
16
- ngModule: ConfigOverrideStoreModule,
17
- providers: [
18
- { provide: CONFIG_OVERRIDE_REDUCER_TOKEN, useFactory: reducerFactory }
19
- ]
20
- };
21
- }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigOverrideStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ConfigOverrideStoreModule, imports: [i1.StoreFeatureModule] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigOverrideStoreModule, providers: [
25
- { provide: CONFIG_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultConfigOverrideReducer }
26
- ], imports: [StoreModule.forFeature(CONFIG_OVERRIDE_STORE_NAME, CONFIG_OVERRIDE_REDUCER_TOKEN)] }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigOverrideStoreModule, decorators: [{
29
- type: NgModule,
30
- args: [{
31
- imports: [
32
- StoreModule.forFeature(CONFIG_OVERRIDE_STORE_NAME, CONFIG_OVERRIDE_REDUCER_TOKEN)
33
- ],
34
- providers: [
35
- { provide: CONFIG_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultConfigOverrideReducer }
36
- ]
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvY29uZmlnLW92ZXJyaWRlL2NvbmZpZy1vdmVycmlkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFFZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLFdBQVcsR0FDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wscUJBQXFCLEdBQ3RCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLDBCQUEwQixHQUUzQixNQUFNLHlCQUF5QixDQUFDOzs7QUFFakMsMENBQTBDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUE2QyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRTlJLHVEQUF1RDtBQUN2RCxNQUFNLFVBQVUsK0JBQStCO0lBQzdDLE9BQU8scUJBQXFCLENBQUM7QUFDL0IsQ0FBQztBQVVELE1BQU0sT0FBTyx5QkFBeUI7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBZ0MsY0FBOEM7UUFDakcsT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUU7YUFDdkU7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFSVSx5QkFBeUI7bUlBQXpCLHlCQUF5QjttSUFBekIseUJBQXlCLGFBSnpCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsVUFBVSxFQUFFLCtCQUErQixFQUFFO1NBQ3hGLFlBSkMsV0FBVyxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsQ0FBQzs7NEZBTXhFLHlCQUF5QjtrQkFSckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsQ0FBQztxQkFDbEY7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFVBQVUsRUFBRSwrQkFBK0IsRUFBRTtxQkFDeEY7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBBY3Rpb25SZWR1Y2VyLFxuICBTdG9yZU1vZHVsZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgY29uZmlnT3ZlcnJpZGVSZWR1Y2VyLFxufSBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5yZWR1Y2VyJztcbmltcG9ydCB7XG4gIENPTkZJR19PVkVSUklERV9TVE9SRV9OQU1FLFxuICBDb25maWdPdmVycmlkZVN0YXRlLFxufSBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5zdGF0ZSc7XG5cbi8qKiBUb2tlbiBvZiB0aGUgQ29uZmlnT3ZlcnJpZGUgcmVkdWNlciAqL1xuZXhwb3J0IGNvbnN0IENPTkZJR19PVkVSUklERV9SRURVQ0VSX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFjdGlvblJlZHVjZXI8Q29uZmlnT3ZlcnJpZGVTdGF0ZSwgQWN0aW9uPj4oJ0ZlYXR1cmUgQ29uZmlnT3ZlcnJpZGUgUmVkdWNlcicpO1xuXG4vKiogUHJvdmlkZSBkZWZhdWx0IHJlZHVjZXIgZm9yIENvbmZpZ092ZXJyaWRlIHN0b3JlICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdENvbmZpZ092ZXJyaWRlUmVkdWNlcigpIHtcbiAgcmV0dXJuIGNvbmZpZ092ZXJyaWRlUmVkdWNlcjtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoQ09ORklHX09WRVJSSURFX1NUT1JFX05BTUUsIENPTkZJR19PVkVSUklERV9SRURVQ0VSX1RPS0VOKVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IENPTkZJR19PVkVSUklERV9SRURVQ0VSX1RPS0VOLCB1c2VGYWN0b3J5OiBnZXREZWZhdWx0Q29uZmlnT3ZlcnJpZGVSZWR1Y2VyIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdPdmVycmlkZVN0b3JlTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290PFQgZXh0ZW5kcyBDb25maWdPdmVycmlkZVN0YXRlPihyZWR1Y2VyRmFjdG9yeTogKCkgPT4gQWN0aW9uUmVkdWNlcjxULCBBY3Rpb24+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb25maWdPdmVycmlkZVN0b3JlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb25maWdPdmVycmlkZVN0b3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ09ORklHX09WRVJSSURFX1JFRFVDRVJfVE9LRU4sIHVzZUZhY3Rvcnk6IHJlZHVjZXJGYWN0b3J5IH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { createReducer, on, } from '@ngrx/store';
2
- import * as actions from './config-override.actions';
3
- /**
4
- * ConfigOverride Store initial value
5
- */
6
- export const configOverrideInitialState = { configOverrides: {} };
7
- /**
8
- * List of basic actions for ConfigOverride Store
9
- */
10
- export const configOverrideReducerFeatures = [
11
- on(actions.setConfigOverride, (_state, payload) => ({ ...payload.state }))
12
- ];
13
- /**
14
- * ConfigOverride Store reducer
15
- */
16
- export const configOverrideReducer = createReducer(configOverrideInitialState, ...configOverrideReducerFeatures);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZy1vdmVycmlkZS9jb25maWctb3ZlcnJpZGUucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsYUFBYSxFQUNiLEVBQUUsR0FFSCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEtBQUssT0FBTyxNQUFNLDJCQUEyQixDQUFDO0FBS3JEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQXdCLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQXlEO0lBQ2pHLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztDQUMzRSxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQ2hELDBCQUEwQixFQUMxQixHQUFHLDZCQUE2QixDQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWN0aW9uQ3JlYXRvcixcbiAgY3JlYXRlUmVkdWNlcixcbiAgb24sXG4gIFJlZHVjZXJUeXBlcyxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgYWN0aW9ucyBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5hY3Rpb25zJztcbmltcG9ydCB7XG4gIENvbmZpZ092ZXJyaWRlU3RhdGUsXG59IGZyb20gJy4vY29uZmlnLW92ZXJyaWRlLnN0YXRlJztcblxuLyoqXG4gKiBDb25maWdPdmVycmlkZSBTdG9yZSBpbml0aWFsIHZhbHVlXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWdPdmVycmlkZUluaXRpYWxTdGF0ZTogQ29uZmlnT3ZlcnJpZGVTdGF0ZSA9IHsgY29uZmlnT3ZlcnJpZGVzOiB7fSB9O1xuXG4vKipcbiAqICBMaXN0IG9mIGJhc2ljIGFjdGlvbnMgZm9yIENvbmZpZ092ZXJyaWRlIFN0b3JlXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWdPdmVycmlkZVJlZHVjZXJGZWF0dXJlczogUmVkdWNlclR5cGVzPENvbmZpZ092ZXJyaWRlU3RhdGUsIEFjdGlvbkNyZWF0b3JbXT5bXSA9IFtcbiAgb24oYWN0aW9ucy5zZXRDb25maWdPdmVycmlkZSwgKF9zdGF0ZSwgcGF5bG9hZCkgPT4gKHsgLi4ucGF5bG9hZC5zdGF0ZSB9KSlcbl07XG5cbi8qKlxuICogQ29uZmlnT3ZlcnJpZGUgU3RvcmUgcmVkdWNlclxuICovXG5leHBvcnQgY29uc3QgY29uZmlnT3ZlcnJpZGVSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcbiAgY29uZmlnT3ZlcnJpZGVJbml0aWFsU3RhdGUsXG4gIC4uLmNvbmZpZ092ZXJyaWRlUmVkdWNlckZlYXR1cmVzXG4pO1xuIl19
@@ -1,12 +0,0 @@
1
- import { createFeatureSelector, createSelector, } from '@ngrx/store';
2
- import { CONFIG_OVERRIDE_STORE_NAME, } from './config-override.state';
3
- /** Select ConfigOverride State */
4
- export const selectConfigOverrideState = createFeatureSelector(CONFIG_OVERRIDE_STORE_NAME);
5
- /** Select the array of ConfigOverride */
6
- export const selectConfigOverride = createSelector(selectConfigOverrideState, (state) => state?.configOverrides || {});
7
- /**
8
- * Get the override for given component identifier
9
- * @param componentId
10
- */
11
- export const selectComponentOverrideConfig = (componentId) => createSelector(selectConfigOverride, (configOverrides) => configOverrides[componentId] || {});
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvY29uZmlnLW92ZXJyaWRlL2NvbmZpZy1vdmVycmlkZS5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUNMLDBCQUEwQixHQUUzQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLGtDQUFrQztBQUNsQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxxQkFBcUIsQ0FBc0IsMEJBQTBCLENBQUMsQ0FBQztBQUVoSCx5Q0FBeUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUFDLHlCQUF5QixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBRXZIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsV0FBbUIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsXG4gIGNyZWF0ZVNlbGVjdG9yLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDT05GSUdfT1ZFUlJJREVfU1RPUkVfTkFNRSxcbiAgQ29uZmlnT3ZlcnJpZGVTdGF0ZSxcbn0gZnJvbSAnLi9jb25maWctb3ZlcnJpZGUuc3RhdGUnO1xuXG4vKiogU2VsZWN0IENvbmZpZ092ZXJyaWRlIFN0YXRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0Q29uZmlnT3ZlcnJpZGVTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxDb25maWdPdmVycmlkZVN0YXRlPihDT05GSUdfT1ZFUlJJREVfU1RPUkVfTkFNRSk7XG5cbi8qKiBTZWxlY3QgdGhlIGFycmF5IG9mIENvbmZpZ092ZXJyaWRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0Q29uZmlnT3ZlcnJpZGUgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RDb25maWdPdmVycmlkZVN0YXRlLCAoc3RhdGUpID0+IHN0YXRlPy5jb25maWdPdmVycmlkZXMgfHwge30pO1xuXG4vKipcbiAqIEdldCB0aGUgb3ZlcnJpZGUgZm9yIGdpdmVuIGNvbXBvbmVudCBpZGVudGlmaWVyXG4gKiBAcGFyYW0gY29tcG9uZW50SWRcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdENvbXBvbmVudE92ZXJyaWRlQ29uZmlnID0gKGNvbXBvbmVudElkOiBzdHJpbmcpID0+IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdENvbmZpZ092ZXJyaWRlLCAoY29uZmlnT3ZlcnJpZGVzKSA9PiBjb25maWdPdmVycmlkZXNbY29tcG9uZW50SWRdIHx8IHt9KTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Name of the ConfigOverride Store
3
- */
4
- export const CONFIG_OVERRIDE_STORE_NAME = 'configOverride';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9jb25maWctb3ZlcnJpZGUvY29uZmlnLW92ZXJyaWRlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3BlcnR5IG92ZXJyaWRlIG1vZGVsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcGVydHlPdmVycmlkZSB7XG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xufVxuXG4vKipcbiAqIENvbmZpZ092ZXJyaWRlIHN0b3JlIHN0YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnT3ZlcnJpZGVTdGF0ZSB7XG4gIC8qKiBNYXAgb2YgUHJvcGVydHlPdmVycmlkZSBpbmRleGVkIG9uIGNvbXBvbmVudCArIGNvbmZpZyBuYW1lICovXG4gIGNvbmZpZ092ZXJyaWRlczogUmVjb3JkPHN0cmluZywgUHJvcGVydHlPdmVycmlkZT47XG59XG5cbi8qKlxuICogTmFtZSBvZiB0aGUgQ29uZmlnT3ZlcnJpZGUgU3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IENPTkZJR19PVkVSUklERV9TVE9SRV9OQU1FID0gJ2NvbmZpZ092ZXJyaWRlJztcblxuLyoqXG4gKiBDb25maWdPdmVycmlkZSBTdG9yZSBJbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdPdmVycmlkZVN0b3JlIHtcbiAgLyoqIENvbmZpZ092ZXJyaWRlIHN0YXRlICovXG4gIFtDT05GSUdfT1ZFUlJJREVfU1RPUkVfTkFNRV06IENvbmZpZ092ZXJyaWRlU3RhdGU7XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { configOverrideInitialState, } from './config-override.reducer';
2
- /**
3
- * Deserializer
4
- * @param rawObject
5
- */
6
- export const configOverrideStorageDeserializer = (rawObject) => {
7
- if (!rawObject) {
8
- return configOverrideInitialState;
9
- }
10
- return rawObject;
11
- };
12
- export const configOverrideStorageSync = {
13
- deserialize: configOverrideStorageDeserializer
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZy1vdmVycmlkZS9jb25maWctb3ZlcnJpZGUuc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0wsMEJBQTBCLEdBQzNCLE1BQU0sMkJBQTJCLENBQUM7QUFLbkM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsQ0FBQyxTQUFjLEVBQUUsRUFBRTtJQUNsRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBb0M7SUFDeEUsV0FBVyxFQUFFLGlDQUFpQztDQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VyaWFsaXplcixcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIGNvbmZpZ092ZXJyaWRlSW5pdGlhbFN0YXRlLFxufSBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5yZWR1Y2VyJztcbmltcG9ydCB7XG4gIENvbmZpZ092ZXJyaWRlU3RhdGUsXG59IGZyb20gJy4vY29uZmlnLW92ZXJyaWRlLnN0YXRlJztcblxuLyoqXG4gKiBEZXNlcmlhbGl6ZXJcbiAqIEBwYXJhbSByYXdPYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ092ZXJyaWRlU3RvcmFnZURlc2VyaWFsaXplciA9IChyYXdPYmplY3Q6IGFueSkgPT4ge1xuICBpZiAoIXJhd09iamVjdCkge1xuICAgIHJldHVybiBjb25maWdPdmVycmlkZUluaXRpYWxTdGF0ZTtcbiAgfVxuICByZXR1cm4gcmF3T2JqZWN0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZ092ZXJyaWRlU3RvcmFnZVN5bmM6IFNlcmlhbGl6ZXI8Q29uZmlnT3ZlcnJpZGVTdGF0ZT4gPSB7XG4gIGRlc2VyaWFsaXplOiBjb25maWdPdmVycmlkZVN0b3JhZ2VEZXNlcmlhbGl6ZXJcbn07XG4iXX0=
@@ -1,7 +0,0 @@
1
- export * from './config-override.actions';
2
- export * from './config-override.module';
3
- export * from './config-override.reducer';
4
- export * from './config-override.selectors';
5
- export * from './config-override.state';
6
- export * from './config-override.sync';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZy1vdmVycmlkZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlnLW92ZXJyaWRlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWctb3ZlcnJpZGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLW92ZXJyaWRlLnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWctb3ZlcnJpZGUuc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLW92ZXJyaWRlLnN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLW92ZXJyaWRlLnN5bmMnO1xuIl19
@@ -1,33 +0,0 @@
1
- import { createAction, props, } from '@ngrx/store';
2
- /** Entity Actions */
3
- const ACTION_CLEAR_ENTITIES = '[Configuration] clear entities';
4
- const ACTION_UPDATE_ENTITIES = '[Configuration] update entities';
5
- const ACTION_UPSERT_ENTITIES = '[Configuration] upsert entities';
6
- const ACTION_SET_ENTITIES = '[Configuration] set entities';
7
- const ACTION_UPDATE_CONFIGURATION_ENTITY = '[Configuration] update configuration entity';
8
- const ACTION_UPSERT_CONFIGURATION_ENTITY = '[Configuration] set configuration entity';
9
- /**
10
- * Upsert one configuration entity
11
- */
12
- export const upsertConfigurationEntity = createAction(ACTION_UPSERT_CONFIGURATION_ENTITY, props());
13
- /**
14
- * Update one configuration entity
15
- */
16
- export const updateConfigurationEntity = createAction(ACTION_UPDATE_CONFIGURATION_ENTITY, props());
17
- /**
18
- * Clear all configuration and fill the store with the payload
19
- */
20
- export const setConfigurationEntities = createAction(ACTION_SET_ENTITIES, props());
21
- /**
22
- * Update configuration with known IDs, ignore the new ones
23
- */
24
- export const updateConfigurationEntities = createAction(ACTION_UPDATE_ENTITIES, props());
25
- /**
26
- * Update configuration with known IDs, insert the new ones
27
- */
28
- export const upsertConfigurationEntities = createAction(ACTION_UPSERT_ENTITIES, props());
29
- /**
30
- * Clear only the entities, keeps the other attributes in the state
31
- */
32
- export const clearConfigurationEntities = createAction(ACTION_CLEAR_ENTITIES);
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQXdCckIscUJBQXFCO0FBQ3JCLE1BQU0scUJBQXFCLEdBQUcsZ0NBQWdDLENBQUM7QUFDL0QsTUFBTSxzQkFBc0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNqRSxNQUFNLHNCQUFzQixHQUFHLGlDQUFpQyxDQUFDO0FBQ2pFLE1BQU0sbUJBQW1CLEdBQUcsOEJBQThCLENBQUM7QUFDM0QsTUFBTSxrQ0FBa0MsR0FBRyw2Q0FBNkMsQ0FBQztBQUN6RixNQUFNLGtDQUFrQyxHQUFHLDBDQUEwQyxDQUFDO0FBRXRGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDLGtDQUFrQyxFQUFFLEtBQUssRUFBb0MsQ0FBQyxDQUFDO0FBRXJJOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDLGtDQUFrQyxFQUFFLEtBQUssRUFBb0MsQ0FBQyxDQUFDO0FBRXJJOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBbUMsQ0FBQyxDQUFDO0FBRXBIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsWUFBWSxDQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBbUMsQ0FBQyxDQUFDO0FBRTFIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsWUFBWSxDQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBbUMsQ0FBQyxDQUFDO0FBRTFIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVBY3Rpb24sXG4gIHByb3BzLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNldENvbmZpZ3VyYXRpb25FbnRpdGllc1BheWxvYWQge1xuICAvKiogTWFwIG9mIGNvbmZpZ3VyYXRpb25zIHRvIHVwZGF0ZS9pbnNlcnQsIHRoaXMgaXMgbm93IFBhcnRpYWwgZHVlIHRoZSBjaGFuZ2Ugb2YgQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgKi9cbiAgZW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBQYXJ0aWFsPENvbmZpZ3VyYXRpb24+IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eVBheWxvYWQge1xuICAvKiogSUQgb2YgdGhlIGl0ZW0gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFVwZGF0ZWQvTmV3IGNvbmZpZ3VyYXRpb24gb2JqZWN0ICovXG4gIGNvbmZpZ3VyYXRpb246IFBhcnRpYWw8Q29uZmlndXJhdGlvbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQ29uZmlndXJhdGlvbkVudGl0eVBheWxvYWQge1xuICAvKiogSUQgb2YgdGhlIGl0ZW0gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFVwZGF0ZWQvTmV3IGNvbmZpZ3VyYXRpb24gcGFydGlhbCBvYmplY3QgKi9cbiAgY29uZmlndXJhdGlvbjogUGFydGlhbDxDb25maWd1cmF0aW9uPjtcbn1cblxuLyoqIEVudGl0eSBBY3Rpb25zICovXG5jb25zdCBBQ1RJT05fQ0xFQVJfRU5USVRJRVMgPSAnW0NvbmZpZ3VyYXRpb25dIGNsZWFyIGVudGl0aWVzJztcbmNvbnN0IEFDVElPTl9VUERBVEVfRU5USVRJRVMgPSAnW0NvbmZpZ3VyYXRpb25dIHVwZGF0ZSBlbnRpdGllcyc7XG5jb25zdCBBQ1RJT05fVVBTRVJUX0VOVElUSUVTID0gJ1tDb25maWd1cmF0aW9uXSB1cHNlcnQgZW50aXRpZXMnO1xuY29uc3QgQUNUSU9OX1NFVF9FTlRJVElFUyA9ICdbQ29uZmlndXJhdGlvbl0gc2V0IGVudGl0aWVzJztcbmNvbnN0IEFDVElPTl9VUERBVEVfQ09ORklHVVJBVElPTl9FTlRJVFkgPSAnW0NvbmZpZ3VyYXRpb25dIHVwZGF0ZSBjb25maWd1cmF0aW9uIGVudGl0eSc7XG5jb25zdCBBQ1RJT05fVVBTRVJUX0NPTkZJR1VSQVRJT05fRU5USVRZID0gJ1tDb25maWd1cmF0aW9uXSBzZXQgY29uZmlndXJhdGlvbiBlbnRpdHknO1xuXG4vKipcbiAqIFVwc2VydCBvbmUgY29uZmlndXJhdGlvbiBlbnRpdHlcbiAqL1xuZXhwb3J0IGNvbnN0IHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdHkgPSBjcmVhdGVBY3Rpb24oQUNUSU9OX1VQU0VSVF9DT05GSUdVUkFUSU9OX0VOVElUWSwgcHJvcHM8VXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eVBheWxvYWQ+KCkpO1xuXG4vKipcbiAqIFVwZGF0ZSBvbmUgY29uZmlndXJhdGlvbiBlbnRpdHlcbiAqL1xuZXhwb3J0IGNvbnN0IHVwZGF0ZUNvbmZpZ3VyYXRpb25FbnRpdHkgPSBjcmVhdGVBY3Rpb24oQUNUSU9OX1VQREFURV9DT05GSUdVUkFUSU9OX0VOVElUWSwgcHJvcHM8VXBkYXRlQ29uZmlndXJhdGlvbkVudGl0eVBheWxvYWQ+KCkpO1xuXG4vKipcbiAqIENsZWFyIGFsbCBjb25maWd1cmF0aW9uIGFuZCBmaWxsIHRoZSBzdG9yZSB3aXRoIHRoZSBwYXlsb2FkXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRDb25maWd1cmF0aW9uRW50aXRpZXMgPSBjcmVhdGVBY3Rpb24oQUNUSU9OX1NFVF9FTlRJVElFUywgcHJvcHM8U2V0Q29uZmlndXJhdGlvbkVudGl0aWVzUGF5bG9hZD4oKSk7XG5cbi8qKlxuICogVXBkYXRlIGNvbmZpZ3VyYXRpb24gd2l0aCBrbm93biBJRHMsIGlnbm9yZSB0aGUgbmV3IG9uZXNcbiAqL1xuZXhwb3J0IGNvbnN0IHVwZGF0ZUNvbmZpZ3VyYXRpb25FbnRpdGllcyA9IGNyZWF0ZUFjdGlvbihBQ1RJT05fVVBEQVRFX0VOVElUSUVTLCBwcm9wczxTZXRDb25maWd1cmF0aW9uRW50aXRpZXNQYXlsb2FkPigpKTtcblxuLyoqXG4gKiBVcGRhdGUgY29uZmlndXJhdGlvbiB3aXRoIGtub3duIElEcywgaW5zZXJ0IHRoZSBuZXcgb25lc1xuICovXG5leHBvcnQgY29uc3QgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0aWVzID0gY3JlYXRlQWN0aW9uKEFDVElPTl9VUFNFUlRfRU5USVRJRVMsIHByb3BzPFNldENvbmZpZ3VyYXRpb25FbnRpdGllc1BheWxvYWQ+KCkpO1xuXG4vKipcbiAqIENsZWFyIG9ubHkgdGhlIGVudGl0aWVzLCBrZWVwcyB0aGUgb3RoZXIgYXR0cmlidXRlcyBpbiB0aGUgc3RhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IGNsZWFyQ29uZmlndXJhdGlvbkVudGl0aWVzID0gY3JlYXRlQWN0aW9uKEFDVElPTl9DTEVBUl9FTlRJVElFUyk7XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { computeItemIdentifier, } from '@o3r/core';
2
- /**
3
- * compute the configuration into SetEntitiesPayload
4
- * @param customConfigObject array of configurations
5
- */
6
- export function computeConfiguration(customConfigObject) {
7
- const entities = customConfigObject.reduce((acc, conf) => {
8
- const id = computeItemIdentifier(conf.name, conf.library);
9
- acc[id] = { ...conf.config, id };
10
- return acc;
11
- }, {});
12
- return { entities };
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wscUJBQXFCLEdBQ3RCLE1BQU0sV0FBVyxDQUFDO0FBS25COzs7R0FHRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBMEIsa0JBQXFDO0lBQ2pHLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBK0MsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDckcsTUFBTSxFQUFFLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbmZpZ3VyYXRpb24sXG4gIEN1c3RvbUNvbmZpZyxcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIGNvbXB1dGVJdGVtSWRlbnRpZmllcixcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIFNldENvbmZpZ3VyYXRpb25FbnRpdGllc1BheWxvYWQsXG59IGZyb20gJy4vY29uZmlndXJhdGlvbi5hY3Rpb25zJztcblxuLyoqXG4gKiBjb21wdXRlIHRoZSBjb25maWd1cmF0aW9uIGludG8gU2V0RW50aXRpZXNQYXlsb2FkXG4gKiBAcGFyYW0gY3VzdG9tQ29uZmlnT2JqZWN0IGFycmF5IG9mIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQ29uZmlndXJhdGlvbjxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oY3VzdG9tQ29uZmlnT2JqZWN0OiBDdXN0b21Db25maWc8VD5bXSk6IFNldENvbmZpZ3VyYXRpb25FbnRpdGllc1BheWxvYWQge1xuICBjb25zdCBlbnRpdGllcyA9IGN1c3RvbUNvbmZpZ09iamVjdC5yZWR1Y2U8eyBbazogc3RyaW5nXTogUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9IH0+KChhY2MsIGNvbmYpID0+IHtcbiAgICBjb25zdCBpZCA9IGNvbXB1dGVJdGVtSWRlbnRpZmllcihjb25mLm5hbWUsIGNvbmYubGlicmFyeSk7XG4gICAgYWNjW2lkXSA9IHsgLi4uY29uZi5jb25maWcsIGlkIH07XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICByZXR1cm4geyBlbnRpdGllcyB9O1xufVxuIl19
@@ -1,39 +0,0 @@
1
- import { InjectionToken, NgModule, } from '@angular/core';
2
- import { StoreModule, } from '@ngrx/store';
3
- import { configurationReducer, } from './configuration.reducer';
4
- import { CONFIGURATION_STORE_NAME, } from './configuration.state';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngrx/store";
7
- /** Token of the Configuration reducer */
8
- export const CONFIGURATION_REDUCER_TOKEN = new InjectionToken('Feature Configuration Reducer');
9
- /** Provide default reducer for Configuration store */
10
- export function getDefaultConfigurationReducer() {
11
- return configurationReducer;
12
- }
13
- export class ConfigurationStoreModule {
14
- static forRoot(reducerFactory) {
15
- return {
16
- ngModule: ConfigurationStoreModule,
17
- providers: [
18
- { provide: CONFIGURATION_REDUCER_TOKEN, useFactory: reducerFactory }
19
- ]
20
- };
21
- }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationStoreModule, imports: [i1.StoreFeatureModule] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationStoreModule, providers: [
25
- { provide: CONFIGURATION_REDUCER_TOKEN, useFactory: getDefaultConfigurationReducer }
26
- ], imports: [StoreModule.forFeature(CONFIGURATION_STORE_NAME, CONFIGURATION_REDUCER_TOKEN)] }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationStoreModule, decorators: [{
29
- type: NgModule,
30
- args: [{
31
- imports: [
32
- StoreModule.forFeature(CONFIGURATION_STORE_NAME, CONFIGURATION_REDUCER_TOKEN)
33
- ],
34
- providers: [
35
- { provide: CONFIGURATION_REDUCER_TOKEN, useFactory: getDefaultConfigurationReducer }
36
- ]
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFFZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLFdBQVcsR0FDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsb0JBQW9CLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNMLHdCQUF3QixHQUV6QixNQUFNLHVCQUF1QixDQUFDOzs7QUFFL0IseUNBQXlDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUE0QywrQkFBK0IsQ0FBQyxDQUFDO0FBRTFJLHNEQUFzRDtBQUN0RCxNQUFNLFVBQVUsOEJBQThCO0lBQzVDLE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQztBQVVELE1BQU0sT0FBTyx3QkFBd0I7SUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBK0IsY0FBOEM7UUFDaEcsT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUU7YUFDckU7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFSVSx3QkFBd0I7bUlBQXhCLHdCQUF3QjttSUFBeEIsd0JBQXdCLGFBSnhCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsVUFBVSxFQUFFLDhCQUE4QixFQUFFO1NBQ3JGLFlBSkMsV0FBVyxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSwyQkFBMkIsQ0FBQzs7NEZBTXBFLHdCQUF3QjtrQkFScEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSwyQkFBMkIsQ0FBQztxQkFDOUU7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBRSw4QkFBOEIsRUFBRTtxQkFDckY7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBBY3Rpb25SZWR1Y2VyLFxuICBTdG9yZU1vZHVsZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgY29uZmlndXJhdGlvblJlZHVjZXIsXG59IGZyb20gJy4vY29uZmlndXJhdGlvbi5yZWR1Y2VyJztcbmltcG9ydCB7XG4gIENPTkZJR1VSQVRJT05fU1RPUkVfTkFNRSxcbiAgQ29uZmlndXJhdGlvblN0YXRlLFxufSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc3RhdGUnO1xuXG4vKiogVG9rZW4gb2YgdGhlIENvbmZpZ3VyYXRpb24gcmVkdWNlciAqL1xuZXhwb3J0IGNvbnN0IENPTkZJR1VSQVRJT05fUkVEVUNFUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBY3Rpb25SZWR1Y2VyPENvbmZpZ3VyYXRpb25TdGF0ZSwgQWN0aW9uPj4oJ0ZlYXR1cmUgQ29uZmlndXJhdGlvbiBSZWR1Y2VyJyk7XG5cbi8qKiBQcm92aWRlIGRlZmF1bHQgcmVkdWNlciBmb3IgQ29uZmlndXJhdGlvbiBzdG9yZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRDb25maWd1cmF0aW9uUmVkdWNlcigpIHtcbiAgcmV0dXJuIGNvbmZpZ3VyYXRpb25SZWR1Y2VyO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShDT05GSUdVUkFUSU9OX1NUT1JFX05BTUUsIENPTkZJR1VSQVRJT05fUkVEVUNFUl9UT0tFTilcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDT05GSUdVUkFUSU9OX1JFRFVDRVJfVE9LRU4sIHVzZUZhY3Rvcnk6IGdldERlZmF1bHRDb25maWd1cmF0aW9uUmVkdWNlciB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblN0b3JlTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290PFQgZXh0ZW5kcyBDb25maWd1cmF0aW9uU3RhdGU+KHJlZHVjZXJGYWN0b3J5OiAoKSA9PiBBY3Rpb25SZWR1Y2VyPFQsIEFjdGlvbj4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENvbmZpZ3VyYXRpb25TdG9yZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29uZmlndXJhdGlvblN0b3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ09ORklHVVJBVElPTl9SRURVQ0VSX1RPS0VOLCB1c2VGYWN0b3J5OiByZWR1Y2VyRmFjdG9yeSB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { createEntityAdapter, } from '@ngrx/entity';
2
- import { createReducer, on, } from '@ngrx/store';
3
- import * as actions from './configuration.actions';
4
- /**
5
- * Configuration Store adapter
6
- */
7
- export const configurationAdapter = createEntityAdapter({
8
- selectId: (model) => model.id
9
- });
10
- /**
11
- * Configuration Store initial value
12
- */
13
- export const configurationInitialState = configurationAdapter.getInitialState({});
14
- /**
15
- * List of basic actions for Configuration Store
16
- */
17
- export const configurationReducerFeatures = [
18
- on(actions.setConfigurationEntities, (state, payload) => configurationAdapter.addMany(Object.keys(payload).map((id) => ({ ...payload[id], id })), configurationAdapter.removeAll(state))),
19
- on(actions.updateConfigurationEntities, (state, payload) => configurationAdapter.updateMany(Object.keys(payload.entities).map((id) => ({ id: id, changes: payload.entities[id] })), state)),
20
- on(actions.upsertConfigurationEntities, (state, payload) => configurationAdapter.upsertMany(Object.keys(payload.entities).map((id) => ({ ...payload.entities[id], id })), state)),
21
- on(actions.clearConfigurationEntities, (state) => configurationAdapter.removeAll(state)),
22
- on(actions.updateConfigurationEntity, (state, payload) => configurationAdapter.updateOne({ id: payload.id, changes: payload.configuration }, state)),
23
- on(actions.upsertConfigurationEntity, (state, payload) => configurationAdapter.upsertOne({ id: payload.id, ...payload.configuration }, state))
24
- ];
25
- /**
26
- * Configuration Store reducer
27
- */
28
- export const configurationReducer = createReducer(configurationInitialState, ...configurationReducerFeatures);
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsbUJBQW1CLEdBRXBCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxhQUFhLEVBQ2IsRUFBRSxHQUVILE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sS0FBSyxPQUFPLE1BQU0seUJBQXlCLENBQUM7QUFNbkQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBc0MsbUJBQW1CLENBQXFCO0lBQzdHLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7Q0FDOUIsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBdUIsb0JBQW9CLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRXRHOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQXdEO0lBRS9GLEVBQUUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQThCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDbEosQ0FBQyxFQUFFLEdBQUksT0FBTyxDQUFDLEVBQUUsQ0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU3RSxFQUFFLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQ3pELG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWpJLEVBQUUsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVqTCxFQUFFLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEYsRUFBRSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFcEosRUFBRSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0NBQy9JLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FDL0MseUJBQXlCLEVBQ3pCLEdBQUcsNEJBQTRCLENBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVFbnRpdHlBZGFwdGVyLFxuICBFbnRpdHlBZGFwdGVyLFxufSBmcm9tICdAbmdyeC9lbnRpdHknO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ3JlYXRvcixcbiAgY3JlYXRlUmVkdWNlcixcbiAgb24sXG4gIFJlZHVjZXJUeXBlcyxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgYWN0aW9ucyBmcm9tICcuL2NvbmZpZ3VyYXRpb24uYWN0aW9ucyc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uTW9kZWwsXG4gIENvbmZpZ3VyYXRpb25TdGF0ZSxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnN0YXRlJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIFN0b3JlIGFkYXB0ZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyYXRpb25BZGFwdGVyOiBFbnRpdHlBZGFwdGVyPENvbmZpZ3VyYXRpb25Nb2RlbD4gPSBjcmVhdGVFbnRpdHlBZGFwdGVyPENvbmZpZ3VyYXRpb25Nb2RlbD4oe1xuICBzZWxlY3RJZDogKG1vZGVsKSA9PiBtb2RlbC5pZFxufSk7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBTdG9yZSBpbml0aWFsIHZhbHVlXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmF0aW9uSW5pdGlhbFN0YXRlOiBDb25maWd1cmF0aW9uU3RhdGUgPSBjb25maWd1cmF0aW9uQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoe30pO1xuXG4vKipcbiAqICBMaXN0IG9mIGJhc2ljIGFjdGlvbnMgZm9yIENvbmZpZ3VyYXRpb24gU3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyYXRpb25SZWR1Y2VyRmVhdHVyZXM6IFJlZHVjZXJUeXBlczxDb25maWd1cmF0aW9uU3RhdGUsIEFjdGlvbkNyZWF0b3JbXT5bXSA9IFtcblxuICBvbihhY3Rpb25zLnNldENvbmZpZ3VyYXRpb25FbnRpdGllcywgKHN0YXRlLCBwYXlsb2FkKSA9PiBjb25maWd1cmF0aW9uQWRhcHRlci5hZGRNYW55KChPYmplY3Qua2V5cyhwYXlsb2FkKSBhcyAoa2V5b2YgdHlwZW9mIHBheWxvYWQpW10pLm1hcCgoaWQpID0+XG4gICAgKHsgLi4uKHBheWxvYWRbaWRdIGFzIGFueSksIGlkIH0pKSwgY29uZmlndXJhdGlvbkFkYXB0ZXIucmVtb3ZlQWxsKHN0YXRlKSkpLFxuXG4gIG9uKGFjdGlvbnMudXBkYXRlQ29uZmlndXJhdGlvbkVudGl0aWVzLCAoc3RhdGUsIHBheWxvYWQpID0+XG4gICAgY29uZmlndXJhdGlvbkFkYXB0ZXIudXBkYXRlTWFueShPYmplY3Qua2V5cyhwYXlsb2FkLmVudGl0aWVzKS5tYXAoKGlkKSA9PiAoeyBpZDogaWQsIGNoYW5nZXM6IHBheWxvYWQuZW50aXRpZXNbaWRdIH0pKSwgc3RhdGUpKSxcblxuICBvbihhY3Rpb25zLnVwc2VydENvbmZpZ3VyYXRpb25FbnRpdGllcywgKHN0YXRlLCBwYXlsb2FkKSA9PiBjb25maWd1cmF0aW9uQWRhcHRlci51cHNlcnRNYW55KE9iamVjdC5rZXlzKHBheWxvYWQuZW50aXRpZXMpLm1hcCgoaWQpID0+ICh7IC4uLnBheWxvYWQuZW50aXRpZXNbaWRdLCBpZCB9KSksIHN0YXRlKSksXG5cbiAgb24oYWN0aW9ucy5jbGVhckNvbmZpZ3VyYXRpb25FbnRpdGllcywgKHN0YXRlKSA9PiBjb25maWd1cmF0aW9uQWRhcHRlci5yZW1vdmVBbGwoc3RhdGUpKSxcblxuICBvbihhY3Rpb25zLnVwZGF0ZUNvbmZpZ3VyYXRpb25FbnRpdHksIChzdGF0ZSwgcGF5bG9hZCkgPT4gY29uZmlndXJhdGlvbkFkYXB0ZXIudXBkYXRlT25lKHsgaWQ6IHBheWxvYWQuaWQsIGNoYW5nZXM6IHBheWxvYWQuY29uZmlndXJhdGlvbiB9LCBzdGF0ZSkpLFxuXG4gIG9uKGFjdGlvbnMudXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eSwgKHN0YXRlLCBwYXlsb2FkKSA9PiBjb25maWd1cmF0aW9uQWRhcHRlci51cHNlcnRPbmUoeyBpZDogcGF5bG9hZC5pZCwgLi4ucGF5bG9hZC5jb25maWd1cmF0aW9uIH0sIHN0YXRlKSlcbl07XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBTdG9yZSByZWR1Y2VyXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmF0aW9uUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGNvbmZpZ3VyYXRpb25Jbml0aWFsU3RhdGUsXG4gIC4uLmNvbmZpZ3VyYXRpb25SZWR1Y2VyRmVhdHVyZXNcbik7XG4iXX0=