@mediusinc/mng-commons 3.0.0-rc.8 → 3.0.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.
Files changed (84) hide show
  1. package/dev-scripts/version-info.js +13 -6
  2. package/esm2022/lib/components/action/models/action-execution.model.mjs +1 -1
  3. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +13 -2
  4. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +16 -5
  5. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +22 -4
  6. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +10 -3
  7. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +7 -5
  8. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +17 -8
  9. package/esm2022/lib/components/form/models/field-action-context.model.mjs +1 -1
  10. package/esm2022/lib/components/form/models/index.mjs +2 -1
  11. package/esm2022/lib/components/tableview/table/table.component.mjs +55 -53
  12. package/esm2022/lib/descriptors/action/action.descriptor.mjs +6 -6
  13. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +2 -2
  14. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +13 -4
  15. package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +4 -4
  16. package/esm2022/lib/descriptors/table/column.descriptor.mjs +2 -2
  17. package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +2 -2
  18. package/esm2022/lib/error/error.handler.mjs +7 -10
  19. package/esm2022/lib/models/error.model.mjs +44 -2
  20. package/esm2022/lib/models/index.mjs +1 -2
  21. package/esm2022/lib/models/log.model.mjs +1 -1
  22. package/esm2022/lib/models/version.model.mjs +1 -1
  23. package/esm2022/lib/pipes/json-path.pipe.mjs +3 -62
  24. package/esm2022/lib/provide-commons.mjs +8 -3
  25. package/esm2022/lib/router/route-builder.mjs +3 -3
  26. package/esm2022/lib/router/routes-builder.mjs +2 -2
  27. package/esm2022/lib/services/action-error-mapper.service.mjs +3 -2
  28. package/esm2022/lib/services/action-executor.service.mjs +61 -36
  29. package/esm2022/lib/services/configuration.service.mjs +7 -13
  30. package/esm2022/lib/services/index.mjs +2 -1
  31. package/esm2022/lib/services/internal/commons-init.service.mjs +4 -3
  32. package/esm2022/lib/services/log-publisher-console.service.mjs +40 -0
  33. package/esm2022/lib/services/logger.service.mjs +57 -50
  34. package/esm2022/lib/services/tokens/index.mjs +2 -1
  35. package/esm2022/lib/services/tokens/log-publisher.token.mjs +3 -0
  36. package/esm2022/lib/services/version.service.mjs +7 -2
  37. package/esm2022/lib/utils/action-data-provider.util.mjs +7 -7
  38. package/esm2022/lib/utils/editor-formly.util.mjs +2 -1
  39. package/esm2022/lib/utils/error.util.mjs +247 -0
  40. package/esm2022/lib/utils/i18n.util.mjs +7 -9
  41. package/esm2022/lib/utils/index.mjs +2 -1
  42. package/esm2022/lib/utils/notification.util.mjs +1 -1
  43. package/esm2022/lib/utils/object.util.mjs +50 -1
  44. package/esm2022/lib/utils/route.util.mjs +2 -2
  45. package/esm2022/lib/utils/string.util.mjs +32 -1
  46. package/esm2022/lib/utils/tableview.util.mjs +2 -2
  47. package/esm2022/lib/utils/type.util.mjs +2 -2
  48. package/fesm2022/mediusinc-mng-commons.mjs +867 -457
  49. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  50. package/lib/components/action/models/action-execution.model.d.ts +2 -2
  51. package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +3 -0
  52. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -0
  53. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +1 -0
  54. package/lib/components/form/models/field-action-context.model.d.ts +7 -0
  55. package/lib/components/form/models/index.d.ts +1 -0
  56. package/lib/components/tableview/table/table.component.d.ts +2 -0
  57. package/lib/descriptors/editor/field.descriptor.d.ts +8 -6
  58. package/lib/descriptors/table/column.descriptor.d.ts +1 -1
  59. package/lib/models/error.model.d.ts +44 -9
  60. package/lib/models/index.d.ts +0 -1
  61. package/lib/models/log.model.d.ts +14 -8
  62. package/lib/models/version.model.d.ts +1 -1
  63. package/lib/pipes/json-path.pipe.d.ts +0 -1
  64. package/lib/services/action-error-mapper.service.d.ts +10 -3
  65. package/lib/services/action-executor.service.d.ts +3 -2
  66. package/lib/services/index.d.ts +1 -0
  67. package/lib/services/internal/commons-init.service.d.ts +1 -0
  68. package/lib/services/log-publisher-console.service.d.ts +4 -0
  69. package/lib/services/logger.service.d.ts +11 -8
  70. package/lib/services/tokens/index.d.ts +1 -0
  71. package/lib/services/tokens/log-publisher.token.d.ts +3 -0
  72. package/lib/services/version.service.d.ts +1 -0
  73. package/lib/utils/error.util.d.ts +116 -0
  74. package/lib/utils/i18n.util.d.ts +3 -3
  75. package/lib/utils/index.d.ts +1 -0
  76. package/lib/utils/notification.util.d.ts +2 -2
  77. package/lib/utils/object.util.d.ts +1 -0
  78. package/lib/utils/string.util.d.ts +5 -0
  79. package/package.json +4 -1
  80. package/scss/common/theme/designer/_components.scss +1 -1
  81. package/scss/mng-overrides/_theme_dialog.scss +7 -0
  82. package/scss/mng-overrides/_theme_tableview.scss +3 -0
  83. package/esm2022/lib/models/internal-error.model.mjs +0 -30
  84. package/lib/models/internal-error.model.d.ts +0 -26
@@ -1,6 +1,5 @@
1
- import { combineLatest, of, tap, throwError } from 'rxjs';
1
+ import { combineLatest, of, tap } from 'rxjs';
2
2
  import { catchError, map } from 'rxjs/operators';
3
- import { MngInternalError } from '../models';
4
3
  import { ObjectUtil } from '../utils';
5
4
  export class MngConfigurationService {
6
5
  static { this._instance = new MngConfigurationService(); }
@@ -108,18 +107,13 @@ export class MngConfigurationService {
108
107
  return httpClient.get(noEnvUrl);
109
108
  }
110
109
  else {
111
- const message = `Configuration file ${url} not loaded (${err.status}): ${err.message}.`;
112
- this.logger?.warn(message, err);
113
- return throwError(() => {
114
- return new MngInternalError(message, 'ConfigurationService', {
115
- cause: err,
116
- status: err.status,
117
- statusDescription: err.statusText,
118
- url: err.url ?? undefined
119
- });
120
- });
110
+ this.logger?.warn(`Configuration file ${url} not loaded`, err);
111
+ return of(false);
121
112
  }
122
113
  }), map(configuration => {
114
+ if (typeof configuration !== 'object') {
115
+ return false;
116
+ }
123
117
  sourceInfo.configuration = configuration;
124
118
  sourceInfo.isLoaded = true;
125
119
  return true;
@@ -177,4 +171,4 @@ export class MngConfigurationService {
177
171
  this.configuration = config;
178
172
  }
179
173
  }
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQWtCLE1BQU0sV0FBVyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFcEMsTUFBTSxPQUFPLHVCQUF1QjthQUNqQixjQUFTLEdBQTRCLElBQUksdUJBQXVCLEVBQUUsQUFBekQsQ0FBMEQ7SUFFM0UsTUFBTSxDQUFDLEdBQUc7UUFDYixPQUFPLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBWUQ7UUFMUSxnQkFBVyxHQUE4QixFQUFFLENBQUM7UUFDNUMsa0JBQWEsR0FBZSxFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFDLENBQUM7UUF1RXJEOztXQUVHO1FBQ0ssMkJBQXNCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBRWxHOzs7V0FHRztRQUNJLDJCQUFzQixHQUFHLEdBQXdCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBN0UzSCw0Q0FBNEM7SUFDaEQsQ0FB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bXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YsIHRhcCwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0lNbmdMb2dnZXJTZXJ2aWNlLCBNbmdJbnRlcm5hbEVycm9yLCBNbmdNb2R1bGVDb25maWd9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge09iamVjdFV0aWx9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlID0gbmV3IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKCk7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCgpOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSB7XG4gICAgICAgIHJldHVybiBNbmdDb25maWd1cmF0aW9uU2VydmljZS5faW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2dnZXI/OiBJTW5nTG9nZ2VyU2VydmljZTtcblxuICAgIHByaXZhdGUgaHR0cD86IEh0dHBDbGllbnQ7XG4gICAgcHJpdmF0ZSBtb2R1bGVDb25maWc/OiBNbmdNb2R1bGVDb25maWc7XG4gICAgcHJpdmF0ZSBwcm9qZWN0RW52aXJvbm1lbnQ/OiBhbnk7XG4gICAgcHJpdmF0ZSBqc29uU291cmNlczogQXJyYXk8SnNvblNvdXJjZUxvYWRJbmZvPiA9IFtdO1xuICAgIHByaXZhdGUgb2JqZWN0U291cmNlczogQXJyYXk8YW55PiA9IFtdO1xuXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uID0gey4uLnRoaXMucHJvamVjdEVudmlyb25tZW50fTtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIGVtcHR5LCBidXQgbmVlZGVkIGZvciBwcml2YXRlIGNvbnN0cnVjdG9yXG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoaHR0cENsaWVudDogSHR0cENsaWVudCwgbG9nZ2VyPzogSU1uZ0xvZ2dlclNlcnZpY2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5odHRwID0gaHR0cENsaWVudDtcbiAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI/LmNyZWF0ZSgnTW5nQ29uZmlndXJhdGlvblNlcnZpY2UnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIG1uZyBjb21tb25zIG1vZHVsZSBjb25maWcuXG4gICAgICogQHBhcmFtIGNvbmZpZyBNb2R1bGUgY29uZmlnLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRNb2R1bGVDb25maWdTb3VyY2UoY29uZmlnPzogTW5nTW9kdWxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kdWxlQ29uZmlnID0gY29uZmlnO1xuICAgICAgICB0aGlzLm1lcmdlQ29uZmlncygpO1xuICAgICAgICB0aGlzLmxvZ2dlcj8uZGVidWcoYE1vZHVsZSBjb25maWd1cmF0aW9uIHNvdXJjZSBhZGRlZC5gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgcHJvamVjdCBlbnZpcm9ubWVudCBzb3VyY2UuXG4gICAgICogQHBhcmFtIGVudmlyb25tZW50IEVudmlyb25tZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRFbnZpcm9ubWVudFNvdXJjZShlbnZpcm9ubWVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdEVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyPy5kZWJ1ZyhgRW52aXJvbm1lbnQgY29uZmlndXJhdGlvbiBzb3VyY2UgYWRkZWQuYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBuZXcgY29uZmlnIHNvdXJjZSBmcm9tIEpTT04gZmlsZSBsb2FkZWQgZnJvbSBIVFRQLlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIGZvciBKU09OIGZpbGUuXG4gICAgICogQHBhcmFtIGxvYWRJbW1lZGlhdGVseSBMb2FkIGlzIGJ5IGRlZmF1bHQgdHJpZ2dlcmVkIG9uIGFwcCBpbml0aWFsaXphdGlvbi4gSWYgaW1tZWRpYXRlIGxvYWQgaXMgcmVxdWlyZWQsIHBhc3MgdHJ1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkSnNvblNvdXJjZShjb25maWc6IHt1cmw/OiBzdHJpbmc7IGVuYWJsZUVudlByb2Q/OiBib29sZWFufSA9IHt9LCBsb2FkSW1tZWRpYXRlbHkgPSBmYWxzZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICAgICAgY29uZmlnID0ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gY29uZmlnPy51cmwgPz8gJ2Fzc2V0cy9jb25maWcvZW52e3tlbnZpcm9ubWVudH19Lmpzb24nO1xuICAgICAgICBjb25zdCBlbmFibGVFbnZQcm9kUmVwbGFjZSA9IGNvbmZpZz8uZW5hYmxlRW52UHJvZCA/PyBmYWxzZTtcblxuICAgICAgICBjb25zdCBzb3VyY2VJbmZvOiBKc29uU291cmNlTG9hZEluZm8gPSB7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIGlzRW52aXJvbm1lbnQ6IGZhbHNlLFxuICAgICAgICAgICAgZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kOiBlbmFibGVFbnZQcm9kUmVwbGFjZSxcbiAgICAgICAgICAgIGlzTG9hZGVkOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmpzb25Tb3VyY2VzLnB1c2goc291cmNlSW5mbyk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBKU09OIGNvbmZpZ3VyYXRpb24gc291cmNlIGFkZGVkOiAke3VybH0uYCk7XG5cbiAgICAgICAgaWYgKGxvYWRJbW1lZGlhdGVseSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZEpzb25Db25maWd1cmF0aW9ucygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBuZXcgY29uZmlnIG9iamVjdCBmcm9tIGFueSBvYmplY3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRPYmplY3RTb3VyY2UoY29uZmlnOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYmplY3RTb3VyY2VzLnB1c2goY29uZmlnKTtcbiAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBPYmplY3QgY29uZmlndXJhdGlvbiBzb3VyY2UgYWRkZWQuYCk7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyB0cnVlIGlmIHRoZXJlIGlzIG5vIGpzb25Tb3VyY2VzXG4gICAgICovXG4gICAgcHJpdmF0ZSBza2lwSnNvbkNvbmZpZ3NMb2FkaW5nID0gKCkgPT4gdGhpcy5qc29uU291cmNlcyA9PT0gbnVsbCB8fCB0aGlzLmpzb25Tb3VyY2VzLmxlbmd0aCA9PT0gMDtcblxuICAgIC8qKlxuICAgICAqIGxvYWRzIGpzb24gc291cmNlcyBvciBza2lwcyB0aGVtIHJldHVybmluZyB0cnVlIGluIGJvdGggY2FzZXNcbiAgICAgKiB1c2VkIGZvciBgc2tpcEpzb25Tb3VyY2VJbml0YCBjb25maWd1cmF0aW9uIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkSnNvbkNvbmZpZ3VyYXRpb25zID0gKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gPT4gKHRoaXMuc2tpcEpzb25Db25maWdzTG9hZGluZygpID8gb2YodHJ1ZSkgOiB0aGlzLmxvYWRKc29uU291cmNlcygpKTtcblxuICAgIHByaXZhdGUgbG9hZEpzb25Tb3VyY2VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIXRoaXMuaHR0cCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oJ0hUVFAgY2xpZW50IHdhcyBub3QgaW5pdGlhbGl6ZWQuIEpzb24gc291cmNlIGNhbm5vdCBiZSBsb2FkZWQnKTtcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBodHRwQ2xpZW50ID0gdGhpcy5odHRwO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgdGhpcy5qc29uU291cmNlc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoc291cmNlID0+ICFzb3VyY2UuaXNMb2FkZWQpXG4gICAgICAgICAgICAgICAgLm1hcChzb3VyY2VJbmZvID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVybCA9IHNvdXJjZUluZm8udXJsO1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmVudmlyb25tZW50ID0gdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQubmFtZSB8fCAodGhpcy5wcm9qZWN0RW52aXJvbm1lbnQucHJvZHVjdGlvbiA/IChzb3VyY2VJbmZvLmVudmlyb25tZW50RW5hYmxlRW52UHJvZCA/ICdwcm9kJyA6IG51bGwpIDogJ2RldicpO1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQgPSAhIXNvdXJjZUluZm8uZW52aXJvbm1lbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZUluZm8uaXNFbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcuJyArIHNvdXJjZUluZm8uZW52aXJvbm1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVwbGFjZSBwb3NzaWJsZSBlbnZpcm9ubWVudCBlbnRyeSBhbmQgY2hhbmdlIHNvdXJjZSBpbmZvIHVybFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8udXJsID0gdXJsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBMb2FkaW5nIEpTT04gY29uZmlndXJhdGlvbiBzb3VyY2UgZnJvbSAke3VybH0uYCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0dHBDbGllbnQuZ2V0PG9iamVjdD4odXJsKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9FbnZVcmwgPSBzb3VyY2VJbmZvLnVybC5yZXBsYWNlKCd7e2Vudmlyb25tZW50fX0nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHR0cENsaWVudC5nZXQ8b2JqZWN0Pihub0VudlVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBDb25maWd1cmF0aW9uIGZpbGUgJHt1cmx9IG5vdCBsb2FkZWQgKCR7ZXJyLnN0YXR1c30pOiAke2Vyci5tZXNzYWdlfS5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybihtZXNzYWdlLCBlcnIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTW5nSW50ZXJuYWxFcnJvcihtZXNzYWdlLCAnQ29uZmlndXJhdGlvblNlcnZpY2UnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F1c2U6IGVycixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IGVyci5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzRGVzY3JpcHRpb246IGVyci5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZXJyLnVybCA/PyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChjb25maWd1cmF0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uaXNMb2FkZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG1hcChzb3VyY2VSZXN1bHRzID0+IHNvdXJjZVJlc3VsdHMuZXZlcnkoc3IgPT4gc3IpKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLm1lcmdlQ29uZmlncygpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IENvbmZpZ3VyYXRpb24ga2V5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25maWdWYWx1ZTxUID0gYW55PihrZXk6IHN0cmluZyk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbltrZXldID8gdGhpcy5jb25maWd1cmF0aW9uW2tleV0gOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhcyBjb25maWd1cmF0aW9uIGZvciBrZXkuXG4gICAgICogQHBhcmFtIGtleSBDb25maWd1cmF0aW9uIGtleS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzQ29uZmlnS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZ3VyYXRpb24pLnNvbWUoayA9PiBrID09PSBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyBjb25maWd1cmF0aW9uIGZyb20gbXVsdGlwbGUgc291cmNlcyB3aXRoXG4gICAgICovXG4gICAgcHJpdmF0ZSBtZXJnZUNvbmZpZ3MoKSB7XG4gICAgICAgIGxldCBjb25maWcgPSB7fTtcblxuICAgICAgICAvLyAxLiBvYmplY3Qgc291cmNlcyBoYXZlIGhpZ2hlc3QgcHJpb3JpdHlcbiAgICAgICAgaWYgKHRoaXMub2JqZWN0U291cmNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgb2JqQ29uZmlnIG9mIHRoaXMub2JqZWN0U291cmNlcykge1xuICAgICAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgb2JqQ29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDIuIEpTT04gc291cmNlcyBjb21lIG5leHRcbiAgICAgICAgY29uc3QganNvbkNvbmZpZ3MgPSB0aGlzLmpzb25Tb3VyY2VzLmZpbHRlcihzb3VyY2UgPT4gc291cmNlLmlzTG9hZGVkICYmIHR5cGVvZiBzb3VyY2UuY29uZmlndXJhdGlvbiA9PT0gJ29iamVjdCcpLm1hcChzb3VyY2UgPT4gc291cmNlLmNvbmZpZ3VyYXRpb24pO1xuICAgICAgICBpZiAoanNvbkNvbmZpZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGpzb25Db25maWcgb2YganNvbkNvbmZpZ3MpIHtcbiAgICAgICAgICAgICAgICBpZiAoanNvbkNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICBjb25maWcgPSBPYmplY3RVdGlsLmRlZXBNZXJnZShjb25maWcsIGpzb25Db25maWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIHByb2plY3QgZW52IGhhcyB0aGUgbmV4dCBwcmlvcml0eVxuICAgICAgICBpZiAodGhpcy5wcm9qZWN0RW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gNC4gbW9kdWxlIGNvbmZpZyBoYXMgdGhlIGxvd2VzdCBwcmlvcml0eVxuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWcpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgdGhpcy5tb2R1bGVDb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlnO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEpzb25Tb3VyY2VMb2FkSW5mbyB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgaXNMb2FkZWQ6IGJvb2xlYW47XG4gICAgaXNFbnZpcm9ubWVudDogYm9vbGVhbjtcbiAgICBlbnZpcm9ubWVudD86IHN0cmluZyB8IG51bGw7XG4gICAgZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kPzogYm9vbGVhbjtcbiAgICBjb25maWd1cmF0aW9uPzogb2JqZWN0O1xufVxuIl19
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxNQUFNLE9BQU8sdUJBQXVCO2FBQ2pCLGNBQVMsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxBQUF6RCxDQUEwRDtJQUUzRSxNQUFNLENBQUMsR0FBRztRQUNiLE9BQU8sdUJBQXVCLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFZRDtRQUxRLGdCQUFXLEdBQThCLEVBQUUsQ0FBQztRQUM1QyxrQkFBYSxHQUFlLEVBQUUsQ0FBQztRQUUvQixrQkFBYSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUMsQ0FBQztRQXVFckQ7O1dBRUc7UUFDSywyQkFBc0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFFbEc7OztXQUdHO1FBQ0ksMkJBQXNCLEdBQUcsR0FBd0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUE3RTNILDRDQUE0QztJQUNoRCxDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQXNCLEVBQUUsTUFBMEI7UUFDMUQsSUFBSSxDQUFDLElBQUks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LE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksT0FBTyxNQUFNLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2SixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7Z0JBQ2xDLElBQUksVUFBVSxFQUFFO29CQUNaLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztpQkFDckQ7YUFDSjtTQUNKO1FBRUQsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNsRTtRQUVELDJDQUEyQztRQUMzQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM1RDtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2YsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0lNbmdMb2dnZXJTZXJ2aWNlLCBNbmdNb2R1bGVDb25maWd9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge09iamVjdFV0aWx9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlID0gbmV3IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKCk7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCgpOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSB7XG4gICAgICAgIHJldHVybiBNbmdDb25maWd1cmF0aW9uU2VydmljZS5faW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2dnZXI/OiBJTW5nTG9nZ2VyU2VydmljZTtcblxuICAgIHByaXZhdGUgaHR0cD86IEh0dHBDbGllbnQ7XG4gICAgcHJpdmF0ZSBtb2R1bGVDb25maWc/OiBNbmdNb2R1bGVDb25maWc7XG4gICAgcHJpdmF0ZSBwcm9qZWN0RW52aXJvbm1lbnQ/OiBhbnk7XG4gICAgcHJpdmF0ZSBqc29uU291cmNlczogQXJyYXk8SnNvblNvdXJjZUxvYWRJbmZvPiA9IFtdO1xuICAgIHByaXZhdGUgb2JqZWN0U291cmNlczogQXJyYXk8YW55PiA9IFtdO1xuXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uID0gey4uLnRoaXMucHJvamVjdEVudmlyb25tZW50fTtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIGVtcHR5LCBidXQgbmVlZGVkIGZvciBwcml2YXRlIGNvbnN0cnVjdG9yXG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoaHR0cENsaWVudDogSHR0cENsaWVudCwgbG9nZ2VyPzogSU1uZ0xvZ2dlclNlcnZpY2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5odHRwID0gaHR0cENsaWVudDtcbiAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI/LmNyZWF0ZSgnTW5nQ29uZmlndXJhdGlvblNlcnZpY2UnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIG1uZyBjb21tb25zIG1vZHVsZSBjb25maWcuXG4gICAgICogQHBhcmFtIGNvbmZpZyBNb2R1bGUgY29uZmlnLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRNb2R1bGVDb25maWdTb3VyY2UoY29uZmlnPzogTW5nTW9kdWxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kdWxlQ29uZmlnID0gY29uZmlnO1xuICAgICAgICB0aGlzLm1lcmdlQ29uZmlncygpO1xuICAgICAgICB0aGlzLmxvZ2dlcj8uZGVidWcoYE1vZHVsZSBjb25maWd1cmF0aW9uIHNvdXJjZSBhZGRlZC5gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgcHJvamVjdCBlbnZpcm9ubWVudCBzb3VyY2UuXG4gICAgICogQHBhcmFtIGVudmlyb25tZW50IEVudmlyb25tZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRFbnZpcm9ubWVudFNvdXJjZShlbnZpcm9ubWVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdEVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyPy5kZWJ1ZyhgRW52aXJvbm1lbnQgY29uZmlndXJhdGlvbiBzb3VyY2UgYWRkZWQuYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBuZXcgY29uZmlnIHNvdXJjZSBmcm9tIEpTT04gZmlsZSBsb2FkZWQgZnJvbSBIVFRQLlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIGZvciBKU09OIGZpbGUuXG4gICAgICogQHBhcmFtIGxvYWRJbW1lZGlhdGVseSBMb2FkIGlzIGJ5IGRlZmF1bHQgdHJpZ2dlcmVkIG9uIGFwcCBpbml0aWFsaXphdGlvbi4gSWYgaW1tZWRpYXRlIGxvYWQgaXMgcmVxdWlyZWQsIHBhc3MgdHJ1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkSnNvblNvdXJjZShjb25maWc6IHt1cmw/OiBzdHJpbmc7IGVuYWJsZUVudlByb2Q/OiBib29sZWFufSA9IHt9LCBsb2FkSW1tZWRpYXRlbHkgPSBmYWxzZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICAgICAgY29uZmlnID0ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gY29uZmlnPy51cmwgPz8gJ2Fzc2V0cy9jb25maWcvZW52e3tlbnZpcm9ubWVudH19Lmpzb24nO1xuICAgICAgICBjb25zdCBlbmFibGVFbnZQcm9kUmVwbGFjZSA9IGNvbmZpZz8uZW5hYmxlRW52UHJvZCA/PyBmYWxzZTtcblxuICAgICAgICBjb25zdCBzb3VyY2VJbmZvOiBKc29uU291cmNlTG9hZEluZm8gPSB7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIGlzRW52aXJvbm1lbnQ6IGZhbHNlLFxuICAgICAgICAgICAgZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kOiBlbmFibGVFbnZQcm9kUmVwbGFjZSxcbiAgICAgICAgICAgIGlzTG9hZGVkOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmpzb25Tb3VyY2VzLnB1c2goc291cmNlSW5mbyk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBKU09OIGNvbmZpZ3VyYXRpb24gc291cmNlIGFkZGVkOiAke3VybH0uYCk7XG5cbiAgICAgICAgaWYgKGxvYWRJbW1lZGlhdGVseSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZEpzb25Db25maWd1cmF0aW9ucygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBuZXcgY29uZmlnIG9iamVjdCBmcm9tIGFueSBvYmplY3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRPYmplY3RTb3VyY2UoY29uZmlnOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYmplY3RTb3VyY2VzLnB1c2goY29uZmlnKTtcbiAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBPYmplY3QgY29uZmlndXJhdGlvbiBzb3VyY2UgYWRkZWQuYCk7XG4gICAgICAgIHRoaXMubWVyZ2VDb25maWdzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyB0cnVlIGlmIHRoZXJlIGlzIG5vIGpzb25Tb3VyY2VzXG4gICAgICovXG4gICAgcHJpdmF0ZSBza2lwSnNvbkNvbmZpZ3NMb2FkaW5nID0gKCkgPT4gdGhpcy5qc29uU291cmNlcyA9PT0gbnVsbCB8fCB0aGlzLmpzb25Tb3VyY2VzLmxlbmd0aCA9PT0gMDtcblxuICAgIC8qKlxuICAgICAqIGxvYWRzIGpzb24gc291cmNlcyBvciBza2lwcyB0aGVtIHJldHVybmluZyB0cnVlIGluIGJvdGggY2FzZXNcbiAgICAgKiB1c2VkIGZvciBgc2tpcEpzb25Tb3VyY2VJbml0YCBjb25maWd1cmF0aW9uIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkSnNvbkNvbmZpZ3VyYXRpb25zID0gKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gPT4gKHRoaXMuc2tpcEpzb25Db25maWdzTG9hZGluZygpID8gb2YodHJ1ZSkgOiB0aGlzLmxvYWRKc29uU291cmNlcygpKTtcblxuICAgIHByaXZhdGUgbG9hZEpzb25Tb3VyY2VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIXRoaXMuaHR0cCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oJ0hUVFAgY2xpZW50IHdhcyBub3QgaW5pdGlhbGl6ZWQuIEpzb24gc291cmNlIGNhbm5vdCBiZSBsb2FkZWQnKTtcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBodHRwQ2xpZW50ID0gdGhpcy5odHRwO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgdGhpcy5qc29uU291cmNlc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoc291cmNlID0+ICFzb3VyY2UuaXNMb2FkZWQpXG4gICAgICAgICAgICAgICAgLm1hcChzb3VyY2VJbmZvID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVybCA9IHNvdXJjZUluZm8udXJsO1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmVudmlyb25tZW50ID0gdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQubmFtZSB8fCAodGhpcy5wcm9qZWN0RW52aXJvbm1lbnQucHJvZHVjdGlvbiA/IChzb3VyY2VJbmZvLmVudmlyb25tZW50RW5hYmxlRW52UHJvZCA/ICdwcm9kJyA6IG51bGwpIDogJ2RldicpO1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQgPSAhIXNvdXJjZUluZm8uZW52aXJvbm1lbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZUluZm8uaXNFbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcuJyArIHNvdXJjZUluZm8uZW52aXJvbm1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVwbGFjZSBwb3NzaWJsZSBlbnZpcm9ubWVudCBlbnRyeSBhbmQgY2hhbmdlIHNvdXJjZSBpbmZvIHVybFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ3t7ZW52aXJvbm1lbnR9fScsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8udXJsID0gdXJsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/LmRlYnVnKGBMb2FkaW5nIEpTT04gY29uZmlndXJhdGlvbiBzb3VyY2UgZnJvbSAke3VybH0uYCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0dHBDbGllbnQuZ2V0PG9iamVjdD4odXJsKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2VJbmZvLmlzRW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9FbnZVcmwgPSBzb3VyY2VJbmZvLnVybC5yZXBsYWNlKCd7e2Vudmlyb25tZW50fX0nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uZW52aXJvbm1lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHR0cENsaWVudC5nZXQ8b2JqZWN0Pihub0VudlVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oYENvbmZpZ3VyYXRpb24gZmlsZSAke3VybH0gbm90IGxvYWRlZGAsIGVycik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChjb25maWd1cmF0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbmZpZ3VyYXRpb24gIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbmZvLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUluZm8uaXNMb2FkZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG1hcChzb3VyY2VSZXN1bHRzID0+IHNvdXJjZVJlc3VsdHMuZXZlcnkoc3IgPT4gc3IpKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLm1lcmdlQ29uZmlncygpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IENvbmZpZ3VyYXRpb24ga2V5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25maWdWYWx1ZTxUID0gYW55PihrZXk6IHN0cmluZyk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbltrZXldID8gdGhpcy5jb25maWd1cmF0aW9uW2tleV0gOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhcyBjb25maWd1cmF0aW9uIGZvciBrZXkuXG4gICAgICogQHBhcmFtIGtleSBDb25maWd1cmF0aW9uIGtleS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzQ29uZmlnS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZ3VyYXRpb24pLnNvbWUoayA9PiBrID09PSBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyBjb25maWd1cmF0aW9uIGZyb20gbXVsdGlwbGUgc291cmNlcyB3aXRoXG4gICAgICovXG4gICAgcHJpdmF0ZSBtZXJnZUNvbmZpZ3MoKSB7XG4gICAgICAgIGxldCBjb25maWcgPSB7fTtcblxuICAgICAgICAvLyAxLiBvYmplY3Qgc291cmNlcyBoYXZlIGhpZ2hlc3QgcHJpb3JpdHlcbiAgICAgICAgaWYgKHRoaXMub2JqZWN0U291cmNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgb2JqQ29uZmlnIG9mIHRoaXMub2JqZWN0U291cmNlcykge1xuICAgICAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgb2JqQ29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDIuIEpTT04gc291cmNlcyBjb21lIG5leHRcbiAgICAgICAgY29uc3QganNvbkNvbmZpZ3MgPSB0aGlzLmpzb25Tb3VyY2VzLmZpbHRlcihzb3VyY2UgPT4gc291cmNlLmlzTG9hZGVkICYmIHR5cGVvZiBzb3VyY2UuY29uZmlndXJhdGlvbiA9PT0gJ29iamVjdCcpLm1hcChzb3VyY2UgPT4gc291cmNlLmNvbmZpZ3VyYXRpb24pO1xuICAgICAgICBpZiAoanNvbkNvbmZpZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGpzb25Db25maWcgb2YganNvbkNvbmZpZ3MpIHtcbiAgICAgICAgICAgICAgICBpZiAoanNvbkNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICBjb25maWcgPSBPYmplY3RVdGlsLmRlZXBNZXJnZShjb25maWcsIGpzb25Db25maWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIHByb2plY3QgZW52IGhhcyB0aGUgbmV4dCBwcmlvcml0eVxuICAgICAgICBpZiAodGhpcy5wcm9qZWN0RW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgdGhpcy5wcm9qZWN0RW52aXJvbm1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gNC4gbW9kdWxlIGNvbmZpZyBoYXMgdGhlIGxvd2VzdCBwcmlvcml0eVxuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWcpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IE9iamVjdFV0aWwuZGVlcE1lcmdlKGNvbmZpZywgdGhpcy5tb2R1bGVDb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlnO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEpzb25Tb3VyY2VMb2FkSW5mbyB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgaXNMb2FkZWQ6IGJvb2xlYW47XG4gICAgaXNFbnZpcm9ubWVudDogYm9vbGVhbjtcbiAgICBlbnZpcm9ubWVudD86IHN0cmluZyB8IG51bGw7XG4gICAgZW52aXJvbm1lbnRFbmFibGVFbnZQcm9kPzogYm9vbGVhbjtcbiAgICBjb25maWd1cmF0aW9uPzogb2JqZWN0O1xufVxuIl19
@@ -7,5 +7,6 @@ export * from './router.service';
7
7
  export * from './version.service';
8
8
  export * from './view-container.component.service';
9
9
  export * from './mng-localstorage-config.service';
10
+ export * from './log-publisher-console.service';
10
11
  export * from './logger.service';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi1leGVjdXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWVycm9yLW1hcHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9ucy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92ZXJzaW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3LWNvbnRhaW5lci5jb21wb25lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21uZy1sb2NhbHN0b3JhZ2UtY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXIuc2VydmljZSc7XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tZXJyb3ItbWFwcGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcnNpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXctY29udGFpbmVyLmNvbXBvbmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW5nLWxvY2Fsc3RvcmFnZS1jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZy1wdWJsaXNoZXItY29uc29sZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuIl19
@@ -3,12 +3,13 @@ import { Injectable, inject } from '@angular/core';
3
3
  import { combineLatest, mergeMap, of } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { MngCommonsService, MngConfigurationService, MngLoggerService, MngRouterService } from '../';
6
- import { MNG_COMMONS_INITIALIZER_IT, MNG_MODULE_CONFIG_IT } from '../tokens';
6
+ import { MNG_COMMONS_INITIALIZER_IT, MNG_LOG_PUBLISHERS, MNG_MODULE_CONFIG_IT } from '../tokens';
7
7
  import * as i0 from "@angular/core";
8
8
  export class MngCommonsInitService {
9
9
  constructor() {
10
10
  this.httpClient = inject(HttpClient);
11
11
  this.logger = inject(MngLoggerService);
12
+ this.logPublishers = inject(MNG_LOG_PUBLISHERS, { optional: true });
12
13
  this.config = inject(MngConfigurationService);
13
14
  this.mngCommons = inject(MngCommonsService);
14
15
  this.mngRouter = inject(MngRouterService);
@@ -48,7 +49,7 @@ export class MngCommonsInitService {
48
49
  }
49
50
  return this.config.loadJsonConfigurations().pipe(mergeMap(() => {
50
51
  // init logger
51
- MngLoggerService.init(this.config);
52
+ MngLoggerService.init(this.config, this.logPublishers ?? []);
52
53
  if (this.commonsInitializers) {
53
54
  ctxLogger.debug('Project initializers are being initialized');
54
55
  return combineLatest(this.commonsInitializers.map(ci => ci())).pipe(map(res => res));
@@ -70,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
70
71
  providedIn: 'root'
71
72
  }]
72
73
  }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ludGVybmFsL2NvbW1vbnMtaW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWEsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUNuRyxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBSzNFLE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFJcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pDLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2QyxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsaUJBQVksR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM5RCx3QkFBbUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUVwRixrQkFBYSxH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QyxHQUFHLEVBQUU7WUFDTCxTQUFTLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDdEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzhHQTlEUSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZsQixNQUFNOzsyRkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWVyZ2VNYXAsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2UsIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBNbmdMb2dnZXJTZXJ2aWNlLCBNbmdSb3V0ZXJTZXJ2aWNlfSBmcm9tICcuLi8nO1xuaW1wb3J0IHtNTkdfQ09NTU9OU19JTklUSUFMSVpFUl9JVCwgTU5HX01PRFVMRV9DT05GSUdfSVR9IGZyb20gJy4uL3Rva2Vucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW5nQ29tbW9uc0luaXRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBpbmplY3QoTW5nTG9nZ2VyU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoTW5nQ29uZmlndXJhdGlvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW5nQ29tbW9ucyA9IGluamVjdChNbmdDb21tb25zU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtbmdSb3V0ZXIgPSBpbmplY3QoTW5nUm91dGVyU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2R1bGVDb25maWcgPSBpbmplY3QoTU5HX01PRFVMRV9DT05GSUdfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uc0luaXRpYWxpemVycyA9IGluamVjdChNTkdfQ09NTU9OU19JTklUSUFMSVpFUl9JVCwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpbml0aWFsaXplKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yodm9pZCAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIE1uZ0xvZ2dlclNlcnZpY2UuY29uZmlndXJlKHt0aW1lc3RhbXBGb3JtYXQ6IHRoaXMubW9kdWxlQ29uZmlnPy5sb2c/LnRpbWVzdGFtcEZvcm1hdH0pO1xuXG4gICAgICAgIGNvbnN0IGN0eExvZ2dlciA9IHRoaXMubG9nZ2VyLmNyZWF0ZSgnTW5nQ29tbW9uc0luaXRTZXJ2aWNlJyk7XG4gICAgICAgIGN0eExvZ2dlci5kZWJ1ZygnQ29tbW9ucyBpbml0aWFsaXphdGlvbiBpcyBzdGFydGluZycpO1xuXG4gICAgICAgIC8vIGluaXQgcm91dGVyXG4gICAgICAgIHRoaXMubW5nUm91dGVyLmluaXRpYWxpemUoKTtcblxuICAgICAgICAvLyBpbml0IGNvbmZpZ3VyYXRpb25zIHdpdGggc2V0dGluZ3MgZnJvbSBtb2R1bGUgY29uZmlnXG4gICAgICAgIHRoaXMuY29uZmlnLmluaXQodGhpcy5odHRwQ2xpZW50LCB0aGlzLmxvZ2dlcik7XG4gICAgICAgIHRoaXMuY29uZmlnLmFkZE1vZHVsZUNvbmZpZ1NvdXJjZSh0aGlzLm1vZHVsZUNvbmZpZyA/PyB1bmRlZmluZWQpO1xuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWc/LmNvbmZpZ3VyYXRpb24/LnByb2plY3RFbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgdGhpcy5jb25maWcuYWRkRW52aXJvbm1lbnRTb3VyY2UodGhpcy5tb2R1bGVDb25maWcuY29uZmlndXJhdGlvbi5wcm9qZWN0RW52aXJvbm1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5pdCBjb25maWd1cmF0aW9ucyB3aXRoIHNldHRpbmdzIGZyb20gbW9kdWxlIGNvbmZpZyBmb3IganNvbiBzb3VyY2VcbiAgICAgICAgaWYgKCEodGhpcy5tb2R1bGVDb25maWc/LmNvbmZpZ3VyYXRpb24/LnNraXBKc29uU291cmNlSW5pdCA/PyBmYWxzZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb25Tb3VyY2VFbmFibGVFbnZQcm9kID0gdGhpcy5tb2R1bGVDb25maWc/LmNvbmZpZ3VyYXRpb24/Lmpzb25Tb3VyY2VFbmFibGVFbnZQcm9kID8/IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QganNvblNvdXJjZSA9IHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5qc29uU291cmNlO1xuICAgICAgICAgICAgaWYgKCFqc29uU291cmNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuYWRkSnNvblNvdXJjZSh7ZW5hYmxlRW52UHJvZDoganNvblNvdXJjZUVuYWJsZUVudlByb2R9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShqc29uU291cmNlKSkge1xuICAgICAgICAgICAgICAgIGpzb25Tb3VyY2UuZm9yRWFjaChzb3VyY2UgPT4gdGhpcy5jb25maWcuYWRkSnNvblNvdXJjZSh7dXJsOiBzb3VyY2UsIGVuYWJsZUVudlByb2Q6IGpzb25Tb3VyY2VFbmFibGVFbnZQcm9kfSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5hZGRKc29uU291cmNlKHt1cmw6IGpzb25Tb3VyY2UsIGVuYWJsZUVudlByb2Q6IGpzb25Tb3VyY2VFbmFibGVFbnZQcm9kfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcubG9hZEpzb25Db25maWd1cmF0aW9ucygpLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gaW5pdCBsb2dnZXJcbiAgICAgICAgICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLmluaXQodGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tbW9uc0luaXRpYWxpemVycykge1xuICAgICAgICAgICAgICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ1Byb2plY3QgaW5pdGlhbGl6ZXJzIGFyZSBiZWluZyBpbml0aWFsaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLmNvbW1vbnNJbml0aWFsaXplcnMubWFwKGNpID0+IGNpKCkpKS5waXBlKG1hcChyZXMgPT4gcmVzKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ0NvbW1vbnMgaW5pdGlhbGl6YXRpb24gaXMgZmluaXNoZWQnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tbmdDb21tb25zLnJlc2V0KCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ludGVybmFsL2NvbW1vbnMtaW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWEsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUNuRyxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBSy9GLE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFJcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM3RCxXQUFNLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FB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QUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hGO2lCQUFNO2dCQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLFNBQVMsQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7OEdBL0RRLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzJGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtZXJnZU1hcCwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNbmdDb21tb25zU2VydmljZSwgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsIE1uZ0xvZ2dlclNlcnZpY2UsIE1uZ1JvdXRlclNlcnZpY2V9IGZyb20gJy4uLyc7XG5pbXBvcnQge01OR19DT01NT05TX0lOSVRJQUxJWkVSX0lULCBNTkdfTE9HX1BVQkxJU0hFUlMsIE1OR19NT0RVTEVfQ09ORklHX0lUfSBmcm9tICcuLi90b2tlbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0NvbW1vbnNJbml0U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KE1uZ0xvZ2dlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nUHVibGlzaGVycyA9IGluamVjdChNTkdfTE9HX1BVQkxJU0hFUlMsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1uZ0NvbW1vbnMgPSBpbmplY3QoTW5nQ29tbW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW5nUm91dGVyID0gaW5qZWN0KE1uZ1JvdXRlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kdWxlQ29uZmlnID0gaW5qZWN0KE1OR19NT0RVTEVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnNJbml0aWFsaXplcnMgPSBpbmplY3QoTU5HX0NPTU1PTlNfSU5JVElBTElaRVJfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHZvaWQgMCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLmNvbmZpZ3VyZSh7dGltZXN0YW1wRm9ybWF0OiB0aGlzLm1vZHVsZUNvbmZpZz8ubG9nPy50aW1lc3RhbXBGb3JtYXR9KTtcblxuICAgICAgICBjb25zdCBjdHhMb2dnZXIgPSB0aGlzLmxvZ2dlci5jcmVhdGUoJ01uZ0NvbW1vbnNJbml0U2VydmljZScpO1xuICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ0NvbW1vbnMgaW5pdGlhbGl6YXRpb24gaXMgc3RhcnRpbmcnKTtcblxuICAgICAgICAvLyBpbml0IHJvdXRlclxuICAgICAgICB0aGlzLm1uZ1JvdXRlci5pbml0aWFsaXplKCk7XG5cbiAgICAgICAgLy8gaW5pdCBjb25maWd1cmF0aW9ucyB3aXRoIHNldHRpbmdzIGZyb20gbW9kdWxlIGNvbmZpZ1xuICAgICAgICB0aGlzLmNvbmZpZy5pbml0KHRoaXMuaHR0cENsaWVudCwgdGhpcy5sb2dnZXIpO1xuICAgICAgICB0aGlzLmNvbmZpZy5hZGRNb2R1bGVDb25maWdTb3VyY2UodGhpcy5tb2R1bGVDb25maWcgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5wcm9qZWN0RW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEVudmlyb25tZW50U291cmNlKHRoaXMubW9kdWxlQ29uZmlnLmNvbmZpZ3VyYXRpb24ucHJvamVjdEVudmlyb25tZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluaXQgY29uZmlndXJhdGlvbnMgd2l0aCBzZXR0aW5ncyBmcm9tIG1vZHVsZSBjb25maWcgZm9yIGpzb24gc291cmNlXG4gICAgICAgIGlmICghKHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5za2lwSnNvblNvdXJjZUluaXQgPz8gZmFsc2UpKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uU291cmNlRW5hYmxlRW52UHJvZCA9IHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5qc29uU291cmNlRW5hYmxlRW52UHJvZCA/PyBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGpzb25Tb3VyY2UgPSB0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uanNvblNvdXJjZTtcbiAgICAgICAgICAgIGlmICghanNvblNvdXJjZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEpzb25Tb3VyY2Uoe2VuYWJsZUVudlByb2Q6IGpzb25Tb3VyY2VFbmFibGVFbnZQcm9kfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoanNvblNvdXJjZSkpIHtcbiAgICAgICAgICAgICAgICBqc29uU291cmNlLmZvckVhY2goc291cmNlID0+IHRoaXMuY29uZmlnLmFkZEpzb25Tb3VyY2Uoe3VybDogc291cmNlLCBlbmFibGVFbnZQcm9kOiBqc29uU291cmNlRW5hYmxlRW52UHJvZH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuYWRkSnNvblNvdXJjZSh7dXJsOiBqc29uU291cmNlLCBlbmFibGVFbnZQcm9kOiBqc29uU291cmNlRW5hYmxlRW52UHJvZH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmxvYWRKc29uQ29uZmlndXJhdGlvbnMoKS5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGluaXQgbG9nZ2VyXG4gICAgICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5pbml0KHRoaXMuY29uZmlnLCB0aGlzLmxvZ1B1Ymxpc2hlcnMgPz8gW10pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tbW9uc0luaXRpYWxpemVycykge1xuICAgICAgICAgICAgICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ1Byb2plY3QgaW5pdGlhbGl6ZXJzIGFyZSBiZWluZyBpbml0aWFsaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLmNvbW1vbnNJbml0aWFsaXplcnMubWFwKGNpID0+IGNpKCkpKS5waXBlKG1hcChyZXMgPT4gcmVzKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjdHhMb2dnZXIuZGVidWcoJ0NvbW1vbnMgaW5pdGlhbGl6YXRpb24gaXMgZmluaXNoZWQnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tbmdDb21tb25zLnJlc2V0KCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ /* eslint-disable no-console */
2
+ import { LogLevelEnum } from '../models';
3
+ import { ErrorUtil } from '../utils';
4
+ export class MngLogPublisherConsoleService {
5
+ addEntry(entry) {
6
+ let prefix = `${entry.timestampFormatted}`;
7
+ if (entry.category)
8
+ prefix += ` [${entry.category}]`;
9
+ prefix += ':';
10
+ const message = `${entry.message}${entry.messageDetails ? `\n${entry.messageDetails}` : ''}`;
11
+ const logParams = [prefix, message];
12
+ if (entry.error) {
13
+ logParams.push(`\n${ErrorUtil.getErrorName(entry.error)}:`, entry.error);
14
+ }
15
+ if (entry.data?.length) {
16
+ logParams.push(`\nData:\n`, ...entry.data);
17
+ }
18
+ switch (entry.level) {
19
+ case LogLevelEnum.Trace:
20
+ console.trace(...logParams);
21
+ break;
22
+ case LogLevelEnum.Debug:
23
+ console.debug(...logParams);
24
+ break;
25
+ case LogLevelEnum.Log:
26
+ console.log(...logParams);
27
+ break;
28
+ case LogLevelEnum.Info:
29
+ console.info(...logParams);
30
+ break;
31
+ case LogLevelEnum.Warning:
32
+ console.warn(...logParams);
33
+ break;
34
+ case LogLevelEnum.Error:
35
+ console.error(...logParams);
36
+ break;
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXB1Ymxpc2hlci1jb25zb2xlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy1wdWJsaXNoZXItY29uc29sZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQW1CLFlBQVksRUFBYyxNQUFNLFdBQVcsQ0FBQztBQUN0RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE1BQU0sT0FBTyw2QkFBNkI7SUFDdEMsUUFBUSxDQUFDLEtBQWtCO1FBQ3ZCLElBQUksTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0MsSUFBSSxLQUFLLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRyxDQUFDO1FBRWQsTUFBTSxPQUFPLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3RixNQUFNLFNBQVMsR0FBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDYixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUU7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3BCLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlDO1FBRUQsUUFBUSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2pCLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLEdBQUc7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDMUIsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDM0IsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDM0IsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtTQUNiO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHtJTW5nTG9nUHVibGlzaGVyLCBMb2dMZXZlbEVudW0sIE1uZ0xvZ0VudHJ5fSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtFcnJvclV0aWx9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIE1uZ0xvZ1B1Ymxpc2hlckNvbnNvbGVTZXJ2aWNlIGltcGxlbWVudHMgSU1uZ0xvZ1B1Ymxpc2hlciB7XG4gICAgYWRkRW50cnkoZW50cnk6IE1uZ0xvZ0VudHJ5KTogdm9pZCB7XG4gICAgICAgIGxldCBwcmVmaXggPSBgJHtlbnRyeS50aW1lc3RhbXBGb3JtYXR0ZWR9YDtcbiAgICAgICAgaWYgKGVudHJ5LmNhdGVnb3J5KSBwcmVmaXggKz0gYCBbJHtlbnRyeS5jYXRlZ29yeX1dYDtcbiAgICAgICAgcHJlZml4ICs9ICc6JztcblxuICAgICAgICBjb25zdCBtZXNzYWdlID0gYCR7ZW50cnkubWVzc2FnZX0ke2VudHJ5Lm1lc3NhZ2VEZXRhaWxzID8gYFxcbiR7ZW50cnkubWVzc2FnZURldGFpbHN9YCA6ICcnfWA7XG4gICAgICAgIGNvbnN0IGxvZ1BhcmFtczogYW55W10gPSBbcHJlZml4LCBtZXNzYWdlXTtcbiAgICAgICAgaWYgKGVudHJ5LmVycm9yKSB7XG4gICAgICAgICAgICBsb2dQYXJhbXMucHVzaChgXFxuJHtFcnJvclV0aWwuZ2V0RXJyb3JOYW1lKGVudHJ5LmVycm9yKX06YCwgZW50cnkuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbnRyeS5kYXRhPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxvZ1BhcmFtcy5wdXNoKGBcXG5EYXRhOlxcbmAsIC4uLmVudHJ5LmRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChlbnRyeS5sZXZlbCkge1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uVHJhY2U6XG4gICAgICAgICAgICAgICAgY29uc29sZS50cmFjZSguLi5sb2dQYXJhbXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uRGVidWc6XG4gICAgICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyguLi5sb2dQYXJhbXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uTG9nOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKC4uLmxvZ1BhcmFtcyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsRW51bS5JbmZvOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbyguLi5sb2dQYXJhbXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uV2FybmluZzpcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oLi4ubG9nUGFyYW1zKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkVycm9yOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoLi4ubG9nUGFyYW1zKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,9 +1,10 @@
1
- /* eslint-disable no-console */
2
1
  import { DatePipe } from '@angular/common';
3
2
  import { LogLevelEnum, MngInternalError } from '../models';
3
+ import { DateUtil } from '../utils';
4
4
  export class MngLoggerService {
5
5
  static { this._instance = new MngLoggerService(); }
6
6
  static { this._isInit = false; }
7
+ static { this._publishers = []; }
7
8
  static { this._entriesBuffer = []; }
8
9
  static { this._categoryInstances = {}; }
9
10
  static { this._timestampFormat = 'yyyy-MM-dd HH:mm:ss.SSS'; }
@@ -21,15 +22,19 @@ export class MngLoggerService {
21
22
  MngLoggerService._timestampFormat = config.timestampFormat;
22
23
  }
23
24
  }
24
- static init(configurationService) {
25
+ static init(configurationService, publishers) {
25
26
  if (MngLoggerService._isInit) {
26
27
  return;
27
28
  }
28
29
  MngLoggerService._configurationService = configurationService;
30
+ MngLoggerService._publishers = publishers;
29
31
  MngLoggerService._isInit = true;
30
32
  MngLoggerService._flushBuffer();
31
33
  }
32
34
  static _flushBuffer() {
35
+ if (!MngLoggerService._isInit) {
36
+ return;
37
+ }
33
38
  MngLoggerService._entriesBuffer.forEach(e => this._instance._log(e));
34
39
  MngLoggerService._entriesBuffer = [];
35
40
  }
@@ -48,26 +53,38 @@ export class MngLoggerService {
48
53
  MngLoggerService._categoryInstances[category] = logger;
49
54
  return logger;
50
55
  }
51
- _processLog(msg, logLevel, category = this.category, data) {
52
- const timestamp = new Date();
53
- const timestampFormatted = this.datePipe.transform(timestamp, MngLoggerService._timestampFormat);
54
- const log = {
56
+ _processLog(msgOrError, logLevel, category = undefined, data) {
57
+ const [timestamp, timestampFormatted] = [...this._getTimestamps()];
58
+ const logEntry = {
55
59
  level: logLevel,
56
- message: msg,
60
+ message: typeof msgOrError === 'string' ? msgOrError : msgOrError.message,
57
61
  data: data,
58
- category: category,
62
+ category: this.category ?? category,
59
63
  timestamp: timestamp,
60
64
  timestampFormatted: timestampFormatted ?? undefined
61
65
  };
62
- if (!MngLoggerService._isInit) {
63
- // add to buffer
64
- MngLoggerService._entriesBuffer.push(log);
66
+ if (msgOrError instanceof Error) {
67
+ // set error from message param
68
+ logEntry.error = msgOrError;
65
69
  }
66
- else {
67
- this._log(log);
70
+ else if (data?.length && data[0] instanceof Error) {
71
+ // if first data is error, also consider as error
72
+ logEntry.error = data[0];
73
+ logEntry.data = data.splice(1);
68
74
  }
75
+ this._log(logEntry);
76
+ }
77
+ _getTimestamps() {
78
+ const timestamp = new Date();
79
+ const timestampFormatted = this.datePipe.transform(timestamp, MngLoggerService._timestampFormat) ?? DateUtil.toIsoString(timestamp, false, true, true);
80
+ return [timestamp, timestampFormatted];
69
81
  }
70
82
  _log(log) {
83
+ if (!MngLoggerService._isInit) {
84
+ // add to buffer
85
+ MngLoggerService._entriesBuffer.push(log);
86
+ return;
87
+ }
71
88
  const logConfig = (MngLoggerService._configurationService?.getConfigValue)?.('log');
72
89
  if ((this.category && log.level < (logConfig?.category?.[this.category]?.level ?? logConfig?.level ?? this.defaultLogLevel)) ||
73
90
  (!this.category && log.level < (logConfig?.level ?? this.defaultLogLevel))) {
@@ -76,48 +93,38 @@ export class MngLoggerService {
76
93
  if (logConfig?.timestampFormat) {
77
94
  log.timestampFormatted = this.datePipe.transform(log.timestamp, logConfig.timestampFormat) ?? undefined;
78
95
  }
79
- let prefix = `${log.timestampFormatted}`;
80
- if (log.category)
81
- prefix += ` [${log.category}]`;
82
- prefix += ':';
83
- switch (log.level) {
84
- case LogLevelEnum.Trace:
85
- console.trace(prefix, log.message, ...log.data);
86
- break;
87
- case LogLevelEnum.Debug:
88
- console.debug(prefix, log.message, ...log.data);
89
- break;
90
- case LogLevelEnum.Log:
91
- console.log(prefix, log.message, ...log.data);
92
- break;
93
- case LogLevelEnum.Info:
94
- console.info(prefix, log.message, ...log.data);
95
- break;
96
- case LogLevelEnum.Warning:
97
- console.warn(prefix, log.message, ...log.data);
98
- break;
99
- case LogLevelEnum.Error:
100
- console.error(prefix, log.message, ...log.data);
101
- break;
102
- }
96
+ MngLoggerService._publishers.forEach(p => p.addEntry(log));
97
+ }
98
+ trace(msgOrError, ...data) {
99
+ this._processLog(msgOrError, LogLevelEnum.Trace, undefined, data);
103
100
  }
104
- trace(msg, ...data) {
105
- this._processLog(msg, LogLevelEnum.Trace, undefined, data);
101
+ debug(msgOrError, ...data) {
102
+ this._processLog(msgOrError, LogLevelEnum.Debug, undefined, data);
106
103
  }
107
- debug(msg, ...data) {
108
- this._processLog(msg, LogLevelEnum.Debug, undefined, data);
104
+ log(msgOrError, logLevel = LogLevelEnum.Log, category = undefined, ...data) {
105
+ this._processLog(msgOrError, logLevel, category, data);
109
106
  }
110
- log(msg, logLevel = LogLevelEnum.Log, category = undefined, ...data) {
111
- this._processLog(msg, logLevel, category, data);
107
+ logEntry(logEntry) {
108
+ const [timestamp, timestampFormatted] = [...this._getTimestamps()];
109
+ const logEntryFinal = {
110
+ timestamp: timestamp,
111
+ timestampFormatted: timestampFormatted ?? undefined,
112
+ category: this.category ?? logEntry.category,
113
+ message: '',
114
+ messageDetails: logEntry.messageDetails,
115
+ level: LogLevelEnum.Log,
116
+ ...logEntry
117
+ };
118
+ this._log(logEntryFinal);
112
119
  }
113
- info(msg, ...data) {
114
- this._processLog(msg, LogLevelEnum.Info, undefined, data);
120
+ info(msgOrError, ...data) {
121
+ this._processLog(msgOrError, LogLevelEnum.Info, undefined, data);
115
122
  }
116
- warn(msg, ...data) {
117
- this._processLog(msg, LogLevelEnum.Warning, undefined, data);
123
+ warn(msgOrError, ...data) {
124
+ this._processLog(msgOrError, LogLevelEnum.Warning, undefined, data);
118
125
  }
119
- error(msg, ...data) {
120
- this._processLog(msg, LogLevelEnum.Error, undefined, data);
126
+ error(msgOrError, ...data) {
127
+ this._processLog(msgOrError, LogLevelEnum.Error, undefined, data);
121
128
  }
122
129
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFvQixZQUFZLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sV0FBVyxDQUFDO0FBR3ZHLE1BQU0sT0FBTyxnQkFBZ0I7YUFDVixjQUFTLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQUFBM0MsQ0FBNEM7YUFDckQsWUFBTyxHQUFHLEtBQUssQUFBUixDQUFTO2FBRWhCLG1CQUFjLEdBQWtCLEVBQUUsQUFBcEIsQ0FBcUI7YUFDbkMsdUJBQWtCLEdBQXFDLEVBQUUsQUFBdkMsQ0FBd0M7YUFDMUQscUJBQWdCLEdBQUcseUJBQXlCLEFBQTVCLENBQTZCO0lBUTVEO1FBSkEsb0VBQW9FO1FBQ25ELG9CQUFlLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDM0QsYUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR3JDLFFBQVE7SUFDWixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUc7UUFDYixPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFrQztRQUN0RCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsZ0JBQWdCLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUM5RDtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUE2QztRQUM1RCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUMxQixPQUFPO1NBQ1Y7UUFFRCxnQkFBZ0IsQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQztRQUU5RCxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWTtRQUN2QixnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWdCO1FBQ2pDLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQWdCO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQywrREFBK0QsSUFBSSxDQUFDLFFBQVEsZ0NBQWdDLENBQUMsQ0FBQztTQUM1STtRQUNELElBQUksZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0MsT0FBTyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4RDtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUUzQixnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUM7UUFFdkQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFXLEVBQUUsUUFBc0IsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFXO1FBQzFGLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRyxNQUFNLEdBQUcsR0FBZ0I7WUFDckIsS0FBSyxFQUFFLFFBQVE7WUFDZixPQUFPLEVBQUUsR0FBRztZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7WUFDbEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsa0JBQWtCLEVBQUUsa0JBQWtCLElBQUksU0FBUztTQUN0RCxDQUFDO1FBRUYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUMzQixnQkFBZ0I7WUFDaEIsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQjtJQUNMLENBQUM7SUFFTyxJQUFJLENBQUMsR0FBZ0I7UUFDekIsTUFBTSxTQUFTLEdBQUcsQ0FBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxjQUFjLENBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hHLElBQ0ksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN4SCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFDNUU7WUFDRSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLFNBQVMsRUFBRSxlQUFlLEVBQUU7WUFDNUIsR0FBRyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztTQUMzRztRQUVELElBQUksTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekMsSUFBSSxHQUFHLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQztRQUNqRCxNQUFNLElBQUksR0FBRyxDQUFDO1FBRWQsUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQ2YsS0FBSyxZQUFZLENBQUMsS0FBSztnQkFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEQsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELE1BQU07WUFDVixLQUFLLFlBQVksQ0FBQyxHQUFHO2dCQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxNQUFNO1lBQ1YsS0FBSyxZQUFZLENBQUMsSUFBSTtnQkFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0MsTUFBTTtZQUNWLEtBQUssWUFBWSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLE1BQU07WUFDVixLQUFLLFlBQVksQ0FBQyxLQUFLO2dCQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxNQUFNO1NBQ2I7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVc7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVyxFQUFFLFdBQXlCLFlBQVksQ0FBQyxHQUFHLEVBQUUsV0FBK0IsU0FBUyxFQUFFLEdBQUcsSUFBVztRQUN2SCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxJQUFJLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sSUFBSSxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVc7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge0lNbmdMb2dnZXJTZXJ2aWNlLCBMb2dMZXZlbEVudW0sIE1uZ0ludGVybmFsRXJyb3IsIE1uZ0xvZ0NvbmZpZywgTW5nTG9nRW50cnl9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge01uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBNbmdMb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgSU1uZ0xvZ2dlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogTW5nTG9nZ2VyU2VydmljZSA9IG5ldyBNbmdMb2dnZXJTZXJ2aWNlKCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2lzSW5pdCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3RhdGljIF9jb25maWd1cmF0aW9uU2VydmljZT86IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuICAgIHByaXZhdGUgc3RhdGljIF9lbnRyaWVzQnVmZmVyOiBNbmdMb2dFbnRyeVtdID0gW107XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2NhdGVnb3J5SW5zdGFuY2VzOiBSZWNvcmQ8c3RyaW5nLCBNbmdMb2dnZXJTZXJ2aWNlPiA9IHt9O1xuICAgIHByaXZhdGUgc3RhdGljIF90aW1lc3RhbXBGb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbTpzcy5TU1MnO1xuXG4gICAgcHJpdmF0ZSBjYXRlZ29yeT86IHN0cmluZztcblxuICAgIC8vIFRlbXBvcmFyeSBzZXR0aW5ncyB0aGF0IGNvdmVyIGxvZ2dpbmcgY2FsbHMgYmVmb3JlIGluaXRpYWxpc2F0aW9uXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0TG9nTGV2ZWw6IExvZ0xldmVsRW51bSA9IExvZ0xldmVsRW51bS5JbmZvO1xuICAgIHByaXZhdGUgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuLVVTJyk7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvLyBlbXB0eVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0KCkge1xuICAgICAgICByZXR1cm4gTW5nTG9nZ2VyU2VydmljZS5faW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjb25maWd1cmUoY29uZmlnOiB7dGltZXN0YW1wRm9ybWF0Pzogc3RyaW5nfSkge1xuICAgICAgICBpZiAoY29uZmlnLnRpbWVzdGFtcEZvcm1hdCkge1xuICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fdGltZXN0YW1wRm9ybWF0ID0gY29uZmlnLnRpbWVzdGFtcEZvcm1hdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaW5pdChjb25maWd1cmF0aW9uU2VydmljZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgaWYgKE1uZ0xvZ2dlclNlcnZpY2UuX2lzSW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fY29uZmlndXJhdGlvblNlcnZpY2UgPSBjb25maWd1cmF0aW9uU2VydmljZTtcblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9pc0luaXQgPSB0cnVlO1xuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9mbHVzaEJ1ZmZlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIF9mbHVzaEJ1ZmZlcigpIHtcbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZW50cmllc0J1ZmZlci5mb3JFYWNoKGUgPT4gdGhpcy5faW5zdGFuY2UuX2xvZyhlKSk7XG4gICAgICAgIE1uZ0xvZ2dlclNlcnZpY2UuX2VudHJpZXNCdWZmZXIgPSBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjYXRlZ29yeTogc3RyaW5nKTogTW5nTG9nZ2VyU2VydmljZSB7XG4gICAgICAgIHJldHVybiBNbmdMb2dnZXJTZXJ2aWNlLl9pbnN0YW5jZS5jcmVhdGUoY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGUoY2F0ZWdvcnk6IHN0cmluZyk6IE1uZ0xvZ2dlclNlcnZpY2Uge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE1uZ0ludGVybmFsRXJyb3IoYENhbm5vdCBjcmVhdGUgbG9nZ2VyIHdpdGggY2F0ZWdvcnkgaW5zaWRlIGFub3RoZXIgY2F0ZWdvcnkgKCR7dGhpcy5jYXRlZ29yeX0pLiBNdXN0IGNyZWF0ZSBsb2dnZXIgb24gcm9vdC5gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldKSB7XG4gICAgICAgICAgICByZXR1cm4gTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1uZ0xvZ2dlclNlcnZpY2UoKTtcbiAgICAgICAgbG9nZ2VyLmNhdGVnb3J5ID0gY2F0ZWdvcnk7XG5cbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fY2F0ZWdvcnlJbnN0YW5jZXNbY2F0ZWdvcnldID0gbG9nZ2VyO1xuXG4gICAgICAgIHJldHVybiBsb2dnZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJvY2Vzc0xvZyhtc2c6IHN0cmluZywgbG9nTGV2ZWw6IExvZ0xldmVsRW51bSwgY2F0ZWdvcnkgPSB0aGlzLmNhdGVnb3J5LCBkYXRhOiBhbnlbXSkge1xuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCB0aW1lc3RhbXBGb3JtYXR0ZWQgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aW1lc3RhbXAsIE1uZ0xvZ2dlclNlcnZpY2UuX3RpbWVzdGFtcEZvcm1hdCk7XG4gICAgICAgIGNvbnN0IGxvZyA9IDxNbmdMb2dFbnRyeT57XG4gICAgICAgICAgICBsZXZlbDogbG9nTGV2ZWwsXG4gICAgICAgICAgICBtZXNzYWdlOiBtc2csXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5LFxuICAgICAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAsXG4gICAgICAgICAgICB0aW1lc3RhbXBGb3JtYXR0ZWQ6IHRpbWVzdGFtcEZvcm1hdHRlZCA/PyB1bmRlZmluZWRcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIU1uZ0xvZ2dlclNlcnZpY2UuX2lzSW5pdCkge1xuICAgICAgICAgICAgLy8gYWRkIHRvIGJ1ZmZlclxuICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZW50cmllc0J1ZmZlci5wdXNoKGxvZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cobG9nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2xvZyhsb2c6IE1uZ0xvZ0VudHJ5KSB7XG4gICAgICAgIGNvbnN0IGxvZ0NvbmZpZyA9IE1uZ0xvZ2dlclNlcnZpY2UuX2NvbmZpZ3VyYXRpb25TZXJ2aWNlPy5nZXRDb25maWdWYWx1ZTxNbmdMb2dDb25maWc+Py4oJ2xvZycpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodGhpcy5jYXRlZ29yeSAmJiBsb2cubGV2ZWwgPCAobG9nQ29uZmlnPy5jYXRlZ29yeT8uW3RoaXMuY2F0ZWdvcnldPy5sZXZlbCA/PyBsb2dDb25maWc/LmxldmVsID8/IHRoaXMuZGVmYXVsdExvZ0xldmVsKSkgfHxcbiAgICAgICAgICAgICghdGhpcy5jYXRlZ29yeSAmJiBsb2cubGV2ZWwgPCAobG9nQ29uZmlnPy5sZXZlbCA/PyB0aGlzLmRlZmF1bHRMb2dMZXZlbCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxvZ0NvbmZpZz8udGltZXN0YW1wRm9ybWF0KSB7XG4gICAgICAgICAgICBsb2cudGltZXN0YW1wRm9ybWF0dGVkID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0obG9nLnRpbWVzdGFtcCwgbG9nQ29uZmlnLnRpbWVzdGFtcEZvcm1hdCkgPz8gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHByZWZpeCA9IGAke2xvZy50aW1lc3RhbXBGb3JtYXR0ZWR9YDtcbiAgICAgICAgaWYgKGxvZy5jYXRlZ29yeSkgcHJlZml4ICs9IGAgWyR7bG9nLmNhdGVnb3J5fV1gO1xuICAgICAgICBwcmVmaXggKz0gJzonO1xuXG4gICAgICAgIHN3aXRjaCAobG9nLmxldmVsKSB7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsRW51bS5UcmFjZTpcbiAgICAgICAgICAgICAgICBjb25zb2xlLnRyYWNlKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkRlYnVnOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcocHJlZml4LCBsb2cubWVzc2FnZSwgLi4ubG9nLmRhdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbEVudW0uTG9nOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkluZm86XG4gICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLldhcm5pbmc6XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKHByZWZpeCwgbG9nLm1lc3NhZ2UsIC4uLmxvZy5kYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWxFbnVtLkVycm9yOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IocHJlZml4LCBsb2cubWVzc2FnZSwgLi4ubG9nLmRhdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRyYWNlKG1zZzogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzTG9nKG1zZywgTG9nTGV2ZWxFbnVtLlRyYWNlLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWJ1Zyhtc2c6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIExvZ0xldmVsRW51bS5EZWJ1ZywgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9nKG1zZzogc3RyaW5nLCBsb2dMZXZlbDogTG9nTGV2ZWxFbnVtID0gTG9nTGV2ZWxFbnVtLkxvZywgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIGxvZ0xldmVsLCBjYXRlZ29yeSwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluZm8obXNnOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NMb2cobXNnLCBMb2dMZXZlbEVudW0uSW5mbywgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2Fybihtc2c6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIExvZ0xldmVsRW51bS5XYXJuaW5nLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcnJvcihtc2c6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2csIExvZ0xldmVsRW51bS5FcnJvciwgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG59XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQXNDLFlBQVksRUFBRSxnQkFBZ0IsRUFBNEIsTUFBTSxXQUFXLENBQUM7QUFDekgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUdsQyxNQUFNLE9BQU8sZ0JBQWdCO2FBQ1YsY0FBUyxHQUFxQixJQUFJLGdCQUFnQixFQUFFLEFBQTNDLENBQTRDO2FBQ3JELFlBQU8sR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUVoQixnQkFBVyxHQUF1QixFQUFFLEFBQXpCLENBQTBCO2FBQ3JDLG1CQUFjLEdBQWtCLEVBQUUsQUFBcEIsQ0FBcUI7YUFDbkMsdUJBQWtCLEdBQXFDLEVBQUUsQUFBdkMsQ0FBd0M7YUFDMUQscUJBQWdCLEdBQUcseUJBQXlCLEFBQTVCLENBQTZCO0lBUTVEO1FBSkEsb0VBQW9FO1FBQ25ELG9CQUFlLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDM0QsYUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR3JDLFFBQVE7SUFDWixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUc7UUFDYixPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFrQztRQUN0RCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDeEIsZ0JBQWdCLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUM5RDtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUE2QyxFQUFFLFVBQThCO1FBQzVGLElBQUksZ0JBQWdCLENBQUMs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QztJQUNyRSxDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQTBCLEVBQUUsR0FBRyxJQUFXO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBMEIsRUFBRSxHQUFHLElBQVc7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7SU1uZ0xvZ1B1Ymxpc2hlciwgSU1uZ0xvZ2dlclNlcnZpY2UsIExvZ0xldmVsRW51bSwgTW5nSW50ZXJuYWxFcnJvciwgTW5nTG9nQ29uZmlnLCBNbmdMb2dFbnRyeX0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7TW5nQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIE1uZ0xvZ2dlclNlcnZpY2UgaW1wbGVtZW50cyBJTW5nTG9nZ2VyU2VydmljZSB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBNbmdMb2dnZXJTZXJ2aWNlID0gbmV3IE1uZ0xvZ2dlclNlcnZpY2UoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBfaXNJbml0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2NvbmZpZ3VyYXRpb25TZXJ2aWNlPzogTW5nQ29uZmlndXJhdGlvblNlcnZpY2U7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX3B1Ymxpc2hlcnM6IElNbmdMb2dQdWJsaXNoZXJbXSA9IFtdO1xuICAgIHByaXZhdGUgc3RhdGljIF9lbnRyaWVzQnVmZmVyOiBNbmdMb2dFbnRyeVtdID0gW107XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2NhdGVnb3J5SW5zdGFuY2VzOiBSZWNvcmQ8c3RyaW5nLCBNbmdMb2dnZXJTZXJ2aWNlPiA9IHt9O1xuICAgIHByaXZhdGUgc3RhdGljIF90aW1lc3RhbXBGb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbTpzcy5TU1MnO1xuXG4gICAgcHJpdmF0ZSBjYXRlZ29yeT86IHN0cmluZztcblxuICAgIC8vIFRlbXBvcmFyeSBzZXR0aW5ncyB0aGF0IGNvdmVyIGxvZ2dpbmcgY2FsbHMgYmVmb3JlIGluaXRpYWxpc2F0aW9uXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0TG9nTGV2ZWw6IExvZ0xldmVsRW51bSA9IExvZ0xldmVsRW51bS5JbmZvO1xuICAgIHByaXZhdGUgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuLVVTJyk7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvLyBlbXB0eVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0KCkge1xuICAgICAgICByZXR1cm4gTW5nTG9nZ2VyU2VydmljZS5faW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjb25maWd1cmUoY29uZmlnOiB7dGltZXN0YW1wRm9ybWF0Pzogc3RyaW5nfSkge1xuICAgICAgICBpZiAoY29uZmlnLnRpbWVzdGFtcEZvcm1hdCkge1xuICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fdGltZXN0YW1wRm9ybWF0ID0gY29uZmlnLnRpbWVzdGFtcEZvcm1hdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaW5pdChjb25maWd1cmF0aW9uU2VydmljZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsIHB1Ymxpc2hlcnM6IElNbmdMb2dQdWJsaXNoZXJbXSkge1xuICAgICAgICBpZiAoTW5nTG9nZ2VyU2VydmljZS5faXNJbml0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9jb25maWd1cmF0aW9uU2VydmljZSA9IGNvbmZpZ3VyYXRpb25TZXJ2aWNlO1xuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9wdWJsaXNoZXJzID0gcHVibGlzaGVycztcblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9pc0luaXQgPSB0cnVlO1xuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9mbHVzaEJ1ZmZlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIF9mbHVzaEJ1ZmZlcigpIHtcbiAgICAgICAgaWYgKCFNbmdMb2dnZXJTZXJ2aWNlLl9pc0luaXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9lbnRyaWVzQnVmZmVyLmZvckVhY2goZSA9PiB0aGlzLl9pbnN0YW5jZS5fbG9nKGUpKTtcbiAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZW50cmllc0J1ZmZlciA9IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGNhdGVnb3J5OiBzdHJpbmcpOiBNbmdMb2dnZXJTZXJ2aWNlIHtcbiAgICAgICAgcmV0dXJuIE1uZ0xvZ2dlclNlcnZpY2UuX2luc3RhbmNlLmNyZWF0ZShjYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZShjYXRlZ29yeTogc3RyaW5nKTogTW5nTG9nZ2VyU2VydmljZSB7XG4gICAgICAgIGlmICh0aGlzLmNhdGVnb3J5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTW5nSW50ZXJuYWxFcnJvcihgQ2Fubm90IGNyZWF0ZSBsb2dnZXIgd2l0aCBjYXRlZ29yeSBpbnNpZGUgYW5vdGhlciBjYXRlZ29yeSAoJHt0aGlzLmNhdGVnb3J5fSkuIE11c3QgY3JlYXRlIGxvZ2dlciBvbiByb290LmApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChNbmdMb2dnZXJTZXJ2aWNlLl9jYXRlZ29yeUluc3RhbmNlc1tjYXRlZ29yeV0pIHtcbiAgICAgICAgICAgIHJldHVybiBNbmdMb2dnZXJTZXJ2aWNlLl9jYXRlZ29yeUluc3RhbmNlc1tjYXRlZ29yeV07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW5nTG9nZ2VyU2VydmljZSgpO1xuICAgICAgICBsb2dnZXIuY2F0ZWdvcnkgPSBjYXRlZ29yeTtcblxuICAgICAgICBNbmdMb2dnZXJTZXJ2aWNlLl9jYXRlZ29yeUluc3RhbmNlc1tjYXRlZ29yeV0gPSBsb2dnZXI7XG5cbiAgICAgICAgcmV0dXJuIGxvZ2dlcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wcm9jZXNzTG9nKG1zZ09yRXJyb3I6IHN0cmluZyB8IEVycm9yLCBsb2dMZXZlbDogTG9nTGV2ZWxFbnVtLCBjYXRlZ29yeTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCBkYXRhPzogYW55W10pIHtcbiAgICAgICAgY29uc3QgW3RpbWVzdGFtcCwgdGltZXN0YW1wRm9ybWF0dGVkXSA9IFsuLi50aGlzLl9nZXRUaW1lc3RhbXBzKCldO1xuXG4gICAgICAgIGNvbnN0IGxvZ0VudHJ5ID0gPE1uZ0xvZ0VudHJ5PntcbiAgICAgICAgICAgIGxldmVsOiBsb2dMZXZlbCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHR5cGVvZiBtc2dPckVycm9yID09PSAnc3RyaW5nJyA/IG1zZ09yRXJyb3IgOiBtc2dPckVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IHRoaXMuY2F0ZWdvcnkgPz8gY2F0ZWdvcnksXG4gICAgICAgICAgICB0aW1lc3RhbXA6IHRpbWVzdGFtcCxcbiAgICAgICAgICAgIHRpbWVzdGFtcEZvcm1hdHRlZDogdGltZXN0YW1wRm9ybWF0dGVkID8/IHVuZGVmaW5lZFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChtc2dPckVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIC8vIHNldCBlcnJvciBmcm9tIG1lc3NhZ2UgcGFyYW1cbiAgICAgICAgICAgIGxvZ0VudHJ5LmVycm9yID0gbXNnT3JFcnJvcjtcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhPy5sZW5ndGggJiYgZGF0YVswXSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAvLyBpZiBmaXJzdCBkYXRhIGlzIGVycm9yLCBhbHNvIGNvbnNpZGVyIGFzIGVycm9yXG4gICAgICAgICAgICBsb2dFbnRyeS5lcnJvciA9IGRhdGFbMF07XG4gICAgICAgICAgICBsb2dFbnRyeS5kYXRhID0gZGF0YS5zcGxpY2UoMSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9sb2cobG9nRW50cnkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRpbWVzdGFtcHMoKTogW0RhdGUsIHN0cmluZyB8IG51bGxdIHtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wRm9ybWF0dGVkID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGltZXN0YW1wLCBNbmdMb2dnZXJTZXJ2aWNlLl90aW1lc3RhbXBGb3JtYXQpID8/IERhdGVVdGlsLnRvSXNvU3RyaW5nKHRpbWVzdGFtcCwgZmFsc2UsIHRydWUsIHRydWUpO1xuICAgICAgICByZXR1cm4gW3RpbWVzdGFtcCwgdGltZXN0YW1wRm9ybWF0dGVkXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9sb2cobG9nOiBNbmdMb2dFbnRyeSkge1xuICAgICAgICBpZiAoIU1uZ0xvZ2dlclNlcnZpY2UuX2lzSW5pdCkge1xuICAgICAgICAgICAgLy8gYWRkIHRvIGJ1ZmZlclxuICAgICAgICAgICAgTW5nTG9nZ2VyU2VydmljZS5fZW50cmllc0J1ZmZlci5wdXNoKGxvZyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb2dDb25maWcgPSBNbmdMb2dnZXJTZXJ2aWNlLl9jb25maWd1cmF0aW9uU2VydmljZT8uZ2V0Q29uZmlnVmFsdWU8TW5nTG9nQ29uZmlnPj8uKCdsb2cnKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMuY2F0ZWdvcnkgJiYgbG9nLmxldmVsIDwgKGxvZ0NvbmZpZz8uY2F0ZWdvcnk/Llt0aGlzLmNhdGVnb3J5XT8ubGV2ZWwgPz8gbG9nQ29uZmlnPy5sZXZlbCA/PyB0aGlzLmRlZmF1bHRMb2dMZXZlbCkpIHx8XG4gICAgICAgICAgICAoIXRoaXMuY2F0ZWdvcnkgJiYgbG9nLmxldmVsIDwgKGxvZ0NvbmZpZz8ubGV2ZWwgPz8gdGhpcy5kZWZhdWx0TG9nTGV2ZWwpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsb2dDb25maWc/LnRpbWVzdGFtcEZvcm1hdCkge1xuICAgICAgICAgICAgbG9nLnRpbWVzdGFtcEZvcm1hdHRlZCA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGxvZy50aW1lc3RhbXAsIGxvZ0NvbmZpZy50aW1lc3RhbXBGb3JtYXQpID8/IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIE1uZ0xvZ2dlclNlcnZpY2UuX3B1Ymxpc2hlcnMuZm9yRWFjaChwID0+IHAuYWRkRW50cnkobG9nKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyYWNlKG1zZ09yRXJyb3I6IHN0cmluZyB8IEVycm9yLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzTG9nKG1zZ09yRXJyb3IsIExvZ0xldmVsRW51bS5UcmFjZSwgdW5kZWZpbmVkLCBkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVidWcobXNnT3JFcnJvcjogc3RyaW5nIHwgRXJyb3IsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NMb2cobXNnT3JFcnJvciwgTG9nTGV2ZWxFbnVtLkRlYnVnLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2cobXNnT3JFcnJvcjogc3RyaW5nIHwgRXJyb3IsIGxvZ0xldmVsOiBMb2dMZXZlbEVudW0gPSBMb2dMZXZlbEVudW0uTG9nLCBjYXRlZ29yeTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzTG9nKG1zZ09yRXJyb3IsIGxvZ0xldmVsLCBjYXRlZ29yeSwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvZ0VudHJ5PEUgZXh0ZW5kcyBQYXJ0aWFsPE1uZ0xvZ0VudHJ5Pj4obG9nRW50cnk6IEUpIHtcbiAgICAgICAgY29uc3QgW3RpbWVzdGFtcCwgdGltZXN0YW1wRm9ybWF0dGVkXSA9IFsuLi50aGlzLl9nZXRUaW1lc3RhbXBzKCldO1xuICAgICAgICBjb25zdCBsb2dFbnRyeUZpbmFsOiBNbmdMb2dFbnRyeSA9IHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogdGltZXN0YW1wLFxuICAgICAgICAgICAgdGltZXN0YW1wRm9ybWF0dGVkOiB0aW1lc3RhbXBGb3JtYXR0ZWQgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IHRoaXMuY2F0ZWdvcnkgPz8gbG9nRW50cnkuY2F0ZWdvcnksXG4gICAgICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgICAgICAgIG1lc3NhZ2VEZXRhaWxzOiBsb2dFbnRyeS5tZXNzYWdlRGV0YWlscyxcbiAgICAgICAgICAgIGxldmVsOiBMb2dMZXZlbEVudW0uTG9nLFxuICAgICAgICAgICAgLi4ubG9nRW50cnlcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fbG9nKGxvZ0VudHJ5RmluYWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbmZvKG1zZ09yRXJyb3I6IHN0cmluZyB8IEVycm9yLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzTG9nKG1zZ09yRXJyb3IsIExvZ0xldmVsRW51bS5JbmZvLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3YXJuKG1zZ09yRXJyb3I6IHN0cmluZyB8IEVycm9yLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzTG9nKG1zZ09yRXJyb3IsIExvZ0xldmVsRW51bS5XYXJuaW5nLCB1bmRlZmluZWQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcnJvcihtc2dPckVycm9yOiBzdHJpbmcgfCBFcnJvciwgLi4uZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0xvZyhtc2dPckVycm9yLCBMb2dMZXZlbEVudW0uRXJyb3IsIHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  export * from './browser-storage.token';
2
2
  export * from './commons-init.token';
3
3
  export * from './default-setting.token';
4
+ export * from './log-publisher.token';
4
5
  export * from './module-config.token';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9icm93c2VyLXN0b3JhZ2UudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb25zLWluaXQudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXNldHRpbmcudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUtY29uZmlnLnRva2VuJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jyb3dzZXItc3RvcmFnZS50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbnMtaW5pdC50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtc2V0dGluZy50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xvZy1wdWJsaXNoZXIudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUtY29uZmlnLnRva2VuJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const MNG_LOG_PUBLISHERS = new InjectionToken('MNG_LOG_PUBLISHERS');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXB1Ymxpc2hlci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdG9rZW5zL2xvZy1wdWJsaXNoZXIudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk3QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0lNbmdMb2dQdWJsaXNoZXJ9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBNTkdfTE9HX1BVQkxJU0hFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48SU1uZ0xvZ1B1Ymxpc2hlcltdPignTU5HX0xPR19QVUJMSVNIRVJTJyk7XG4iXX0=
@@ -1,7 +1,8 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
2
+ import { Injectable, inject } from '@angular/core';
3
3
  import { ReplaySubject } from 'rxjs';
4
4
  import { MngConfigurationService } from './configuration.service';
5
+ import { MngLoggerService } from './logger.service';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common/http";
7
8
  import * as i2 from "./configuration.service";
@@ -9,6 +10,7 @@ export class MngVersionService {
9
10
  constructor(http, configurationService) {
10
11
  this.http = http;
11
12
  this.configurationService = configurationService;
13
+ this.logger = inject(MngLoggerService).create('MngVersionService');
12
14
  this.cache = {};
13
15
  }
14
16
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -27,6 +29,9 @@ export class MngVersionService {
27
29
  this.http.get(urlSegments.join('')).subscribe({
28
30
  next: res => {
29
31
  this.cache[url].next(res);
32
+ },
33
+ error: err => {
34
+ this.logger.error('Version could not be retreived', err);
30
35
  }
31
36
  });
32
37
  }
@@ -41,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
41
46
  providedIn: 'root'
42
47
  }]
43
48
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MngConfigurationService }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFhLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUtoRSxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsb0JBQTZDO1FBQXZFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBRm5GLFVBQUssR0FBNEMsRUFBRSxDQUFDO0lBRWtDLENBQUM7SUFFL0YsNkRBQTZEO0lBQ3RELFdBQVcsQ0FBQyxJQUFZLEVBQUUsYUFBc0IsRUFBRSxRQUFRLEdBQUcsR0FBRztRQUNuRSxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxhQUFhLEVBQUU7WUFDZixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hFLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEc7UUFDRCxJQUFJLElBQUksRUFBRTtZQUNOLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvRDtRQUNELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztZQUVoRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMxQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLENBQUM7YUFDSixDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzhHQTNCUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7TW5nQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNbmdWZXJzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSBjYWNoZToge1trZXk6IHN0cmluZ106IFJlcGxheVN1YmplY3Q8dW5rbm93bj59ID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHB1YmxpYyBsb2FkVmVyc2lvbihwYXRoOiBzdHJpbmcsIGJhc2VDb25maWdLZXk/OiBzdHJpbmcsIGpzb25QYXRoID0gJyQnKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gW107XG4gICAgICAgIGlmIChiYXNlQ29uZmlnS2V5KSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRDb25maWdWYWx1ZShiYXNlQ29uZmlnS2V5KTtcbiAgICAgICAgICAgIHVybFNlZ21lbnRzLnB1c2goYmFzZVVybC5lbmRzV2l0aCgnLycpID8gYmFzZVVybC5zdWJzdHJpbmcoMCwgYmFzZVVybC5sZW5ndGggLSAxKSA6IGJhc2VVcmwpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgICAgICB1cmxTZWdtZW50cy5wdXNoKCFwYXRoLnN0YXJ0c1dpdGgoJy8nKSA/IGAvJHtwYXRofWAgOiBwYXRoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSB1cmxTZWdtZW50cy5qb2luKCcnKTtcbiAgICAgICAgaWYgKCF0aGlzLmNhY2hlW3VybF0pIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGVbdXJsXSA9IG5ldyBSZXBsYXlTdWJqZWN0PHVua25vd24+KDEpO1xuXG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0KHVybFNlZ21lbnRzLmpvaW4oJycpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVbdXJsXS5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZVt1cmxdLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBYSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFL0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUkxQixZQUFvQixJQUFnQixFQUFVLG9CQUE2QztRQUF2RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUgxRSxXQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkUsVUFBSyxHQUE0QyxFQUFFLENBQUM7SUFFa0MsQ0FBQztJQUUvRiw2REFBNkQ7SUFDdEQsV0FBVyxDQUFDLElBQVksRUFBRSxhQUFzQixFQUFFLFFBQVEsR0FBRyxHQUFHO1FBQ25FLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLGFBQWEsRUFBRTtZQUNmLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDeEUsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNoRztRQUNELElBQUksSUFBSSxFQUFFO1lBQ04sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1lBRWhELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtvQkFDUixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUIsQ0FBQztnQkFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzdELENBQUM7YUFDSixDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzhHQS9CUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtNbmdDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtNbmdMb2dnZXJTZXJ2aWNlfSBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNbmdWZXJzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBpbmplY3QoTW5nTG9nZ2VyU2VydmljZSkuY3JlYXRlKCdNbmdWZXJzaW9uU2VydmljZScpO1xuICAgIHByaXZhdGUgY2FjaGU6IHtba2V5OiBzdHJpbmddOiBSZXBsYXlTdWJqZWN0PHVua25vd24+fSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSkge31cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwdWJsaWMgbG9hZFZlcnNpb24ocGF0aDogc3RyaW5nLCBiYXNlQ29uZmlnS2V5Pzogc3RyaW5nLCBqc29uUGF0aCA9ICckJyk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICBjb25zdCB1cmxTZWdtZW50cyA9IFtdO1xuICAgICAgICBpZiAoYmFzZUNvbmZpZ0tleSkge1xuICAgICAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29uZmlnVmFsdWUoYmFzZUNvbmZpZ0tleSk7XG4gICAgICAgICAgICB1cmxTZWdtZW50cy5wdXNoKGJhc2VVcmwuZW5kc1dpdGgoJy8nKSA/IGJhc2VVcmwuc3Vic3RyaW5nKDAsIGJhc2VVcmwubGVuZ3RoIC0gMSkgOiBiYXNlVXJsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aCkge1xuICAgICAgICAgICAgdXJsU2VnbWVudHMucHVzaCghcGF0aC5zdGFydHNXaXRoKCcvJykgPyBgLyR7cGF0aH1gIDogcGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gdXJsU2VnbWVudHMuam9pbignJyk7XG4gICAgICAgIGlmICghdGhpcy5jYWNoZVt1cmxdKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlW3VybF0gPSBuZXcgUmVwbGF5U3ViamVjdDx1bmtub3duPigxKTtcblxuICAgICAgICAgICAgdGhpcy5odHRwLmdldCh1cmxTZWdtZW50cy5qb2luKCcnKSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhY2hlW3VybF0ubmV4dChyZXMpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdWZXJzaW9uIGNvdWxkIG5vdCBiZSByZXRyZWl2ZWQnLCBlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVbdXJsXS5hc09ic2VydmFibGUoKTtcbiAgICB9XG59XG4iXX0=