@ecodev/natural 61.0.1 → 61.1.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/esm2022/lib/classes/abstract-detail.mjs +36 -33
  2. package/esm2022/lib/classes/abstract-editable-list.mjs +8 -6
  3. package/esm2022/lib/classes/abstract-list.mjs +74 -55
  4. package/esm2022/lib/classes/abstract-navigable-list.mjs +9 -9
  5. package/esm2022/lib/classes/cumulative-changes.mjs +3 -5
  6. package/esm2022/lib/classes/data-source.mjs +3 -2
  7. package/esm2022/lib/classes/query-variable-manager.mjs +3 -3
  8. package/esm2022/lib/classes/utility.mjs +15 -1
  9. package/esm2022/lib/directives/http-prefix.directive.mjs +4 -6
  10. package/esm2022/lib/modules/alert/alert.service.mjs +5 -7
  11. package/esm2022/lib/modules/alert/confirm.component.mjs +4 -6
  12. package/esm2022/lib/modules/avatar/component/avatar.component.mjs +21 -19
  13. package/esm2022/lib/modules/avatar/service/avatar.service.mjs +22 -24
  14. package/esm2022/lib/modules/avatar/sources/source.mjs +2 -1
  15. package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +17 -18
  16. package/esm2022/lib/modules/common/directives/background-density.directive.mjs +4 -6
  17. package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +12 -12
  18. package/esm2022/lib/modules/common/directives/src-density.directive.mjs +4 -6
  19. package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +3 -3
  20. package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +3 -3
  21. package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +4 -6
  22. package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +4 -3
  23. package/esm2022/lib/modules/common/services/memory-storage.mjs +4 -6
  24. package/esm2022/lib/modules/common/services/seo.service.mjs +12 -11
  25. package/esm2022/lib/modules/detail-header/detail-header.component.mjs +38 -33
  26. package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +8 -6
  27. package/esm2022/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +13 -12
  28. package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +3 -3
  29. package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +21 -20
  30. package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +19 -18
  31. package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +3 -3
  32. package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +3 -3
  33. package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +19 -18
  34. package/esm2022/lib/modules/dropdown-components/type-options/type-options.component.mjs +11 -9
  35. package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +21 -19
  36. package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +7 -7
  37. package/esm2022/lib/modules/file/abstract-file.mjs +51 -47
  38. package/esm2022/lib/modules/file/component/file.component.mjs +44 -31
  39. package/esm2022/lib/modules/file/file-drop.directive.mjs +10 -13
  40. package/esm2022/lib/modules/file/file-select.directive.mjs +9 -12
  41. package/esm2022/lib/modules/file/file.service.mjs +13 -15
  42. package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +7 -8
  43. package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +9 -7
  44. package/esm2022/lib/modules/hierarchic-selector/classes/flat-node.mjs +8 -2
  45. package/esm2022/lib/modules/hierarchic-selector/classes/model-node.mjs +4 -2
  46. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +63 -46
  47. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +16 -18
  48. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +12 -4
  49. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +4 -6
  50. package/esm2022/lib/modules/icon/icon.directive.mjs +9 -9
  51. package/esm2022/lib/modules/logger/error-handler.mjs +7 -7
  52. package/esm2022/lib/modules/matomo/matomo.service.mjs +10 -9
  53. package/esm2022/lib/modules/panels/abstract-panel.mjs +23 -19
  54. package/esm2022/lib/modules/panels/panels.component.mjs +4 -4
  55. package/esm2022/lib/modules/panels/panels.service.mjs +50 -42
  56. package/esm2022/lib/modules/relations/relations.component.mjs +64 -35
  57. package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +15 -13
  58. package/esm2022/lib/modules/search/dropdown-container/dropdown-ref.mjs +4 -2
  59. package/esm2022/lib/modules/search/dropdown-container/dropdown.service.mjs +5 -7
  60. package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +9 -11
  61. package/esm2022/lib/modules/search/group/group.component.mjs +12 -11
  62. package/esm2022/lib/modules/search/input/input.component.mjs +77 -63
  63. package/esm2022/lib/modules/search/search/search.component.mjs +29 -31
  64. package/esm2022/lib/modules/select/abstract-select.component.mjs +66 -39
  65. package/esm2022/lib/modules/select/select/select.component.mjs +51 -48
  66. package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +21 -8
  67. package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +27 -19
  68. package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +3 -3
  69. package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +30 -24
  70. package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +3 -3
  71. package/esm2022/lib/modules/sidenav/sidenav-stack.service.mjs +13 -15
  72. package/esm2022/lib/modules/sidenav/sidenav.service.mjs +42 -44
  73. package/esm2022/lib/modules/stamp/stamp.component.mjs +4 -3
  74. package/esm2022/lib/modules/table-button/table-button.component.mjs +16 -13
  75. package/esm2022/lib/services/abstract-model.service.mjs +17 -7
  76. package/esm2022/lib/services/debounce.service.mjs +7 -9
  77. package/esm2022/lib/services/enum.service.mjs +4 -6
  78. package/esm2022/lib/services/link-mutation.service.mjs +8 -6
  79. package/esm2022/lib/services/persistence.service.mjs +6 -8
  80. package/esm2022/lib/services/swiss-parsing-date-adapter.service.mjs +3 -3
  81. package/fesm2022/ecodev-natural.mjs +1249 -1052
  82. package/fesm2022/ecodev-natural.mjs.map +1 -1
  83. package/lib/classes/utility.d.ts +8 -0
  84. package/package.json +1 -1
@@ -6,21 +6,19 @@ import { NaturalQueryVariablesManager } from '../../../classes/query-variable-ma
6
6
  import { HierarchicModelNode } from '../classes/model-node';
7
7
  import * as i0 from "@angular/core";
8
8
  export class NaturalHierarchicSelectorService {
9
- constructor() {
10
- this.injector = inject(Injector);
11
- /**
12
- * Stores the global result of the tree
13
- * This observable contains Node.
14
- * When it's updated, the TreeController and TreeFlattener process the new array to generate the flat tree.
15
- */
16
- this.dataChange = new BehaviorSubject([]);
17
- /**
18
- * Configuration for relations and selection constraints
19
- *
20
- * The list should be sorted in the order of the hierarchic (list first parent rules, then child rules)
21
- */
22
- this.configuration = [];
23
- }
9
+ injector = inject(Injector);
10
+ /**
11
+ * Stores the global result of the tree
12
+ * This observable contains Node.
13
+ * When it's updated, the TreeController and TreeFlattener process the new array to generate the flat tree.
14
+ */
15
+ dataChange = new BehaviorSubject([]);
16
+ /**
17
+ * Configuration for relations and selection constraints
18
+ *
19
+ * The list should be sorted in the order of the hierarchic (list first parent rules, then child rules)
20
+ */
21
+ configuration = [];
24
22
  /**
25
23
  * Init component by saving the complete configuration, and then retrieving root elements.
26
24
  * Updates **another** observable (this.dataChange) when data is retrieved.
@@ -243,11 +241,11 @@ export class NaturalHierarchicSelectorService {
243
241
  const node = this.dataChange.value.find(n => n.model.id === item.id && n.model.__typename === item.__typename);
244
242
  return node || new HierarchicModelNode(item, configuration);
245
243
  }
246
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
247
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorService, providedIn: 'root' }); }
244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
245
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorService, providedIn: 'root' });
248
246
  }
249
247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorService, decorators: [{
250
248
  type: Injectable,
251
249
  args: [{ providedIn: 'root' }]
252
250
  }] });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpYy1zZWxlY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsNEJBQTRCLEVBQWlCLE1BQU0seUNBQXlDLENBQUM7QUFVckcsT0FBTyxFQUFrQixtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQVkzRSxNQUFNLE9BQU8sZ0NBQWdDO0lBRDdDO1FBRXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0M7Ozs7V0FJRztRQUNhLGVBQVUsR0FBMkMsSUFBSSxlQUFlLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBRXBIOzs7O1dBSUc7UUFDSyxrQkFBYSxHQUFxQyxFQUFFLENBQUM7S0E4U2hFO0lBNVNHOzs7T0FHRztJQUNJLElBQUksQ0FDUCxNQUF3QyxFQUN4QyxnQkFBdUQsSUFBSSxFQUMzRCxrQkFBeUMsSUFBSTtRQUU3QyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUs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Q0FBQztRQUMvRyxPQUFPLElBQUksSUFBSSxJQUFJLG1CQUFtQixDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRSxDQUFDOzhHQTVUUSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQURwQixNQUFNOzsyRkFDbEIsZ0NBQWdDO2tCQUQ1QyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ludGVyc2VjdGlvbn0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmaXJzdCwgZm9ya0pvaW4sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaW5hbGl6ZSwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFF1ZXJ5VmFyaWFibGVzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuaW1wb3J0IHtIaWVyYXJjaGljRmxhdE5vZGV9IGZyb20gJy4uL2NsYXNzZXMvZmxhdC1ub2RlJztcbmltcG9ydCB7XG4gICAgTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uLFxuICAgIE5hdHVyYWxIaWVyYXJjaGljU2VydmljZUNvbmZpZ3VyYXRpb24sXG59IGZyb20gJy4uL2NsYXNzZXMvaGllcmFyY2hpYy1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7XG4gICAgSGllcmFyY2hpY0ZpbHRlckNvbmZpZ3VyYXRpb24sXG4gICAgSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uLFxufSBmcm9tICcuLi9jbGFzc2VzL2hpZXJhcmNoaWMtZmlsdGVycy1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7SGllcmFyY2hpY01vZGVsLCBIaWVyYXJjaGljTW9kZWxOb2RlfSBmcm9tICcuLi9jbGFzc2VzL21vZGVsLW5vZGUnO1xuaW1wb3J0IHtMaXRlcmFsfSBmcm9tICcuLi8uLi8uLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9ufSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcblxuZXhwb3J0IHR5cGUgT3JnYW5pemVkTW9kZWxTZWxlY3Rpb24gPSBSZWNvcmQ8c3RyaW5nLCBhbnlbXT47XG5cbnR5cGUgQ29udGV4dHVhbGl6ZWRDb25maWcgPSB7XG4gICAgY29uZmlndXJhdGlvbjogTmF0dXJhbEhpZXJhcmNoaWNTZXJ2aWNlQ29uZmlndXJhdGlvbjtcbiAgICB2YXJpYWJsZXNNYW5hZ2VyOiBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyO1xufTtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvclNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgLyoqXG4gICAgICogU3RvcmVzIHRoZSBnbG9iYWwgcmVzdWx0IG9mIHRoZSB0cmVlXG4gICAgICogVGhpcyBvYnNlcnZhYmxlIGNvbnRhaW5zIE5vZGUuXG4gICAgICogV2hlbiBpdCdzIHVwZGF0ZWQsIHRoZSBUcmVlQ29udHJvbGxlciBhbmQgVHJlZUZsYXR0ZW5lciBwcm9jZXNzIHRoZSBuZXcgYXJyYXkgdG8gZ2VuZXJhdGUgdGhlIGZsYXQgdHJlZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZGF0YUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PEhpZXJhcmNoaWNNb2RlbE5vZGVbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhpZXJhcmNoaWNNb2RlbE5vZGVbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgcmVsYXRpb25zIGFuZCBzZWxlY3Rpb24gY29uc3RyYWludHNcbiAgICAgKlxuICAgICAqIFRoZSBsaXN0IHNob3VsZCBiZSBzb3J0ZWQgaW4gdGhlIG9yZGVyIG9mIHRoZSBoaWVyYXJjaGljIChsaXN0IGZpcnN0IHBhcmVudCBydWxlcywgdGhlbiBjaGlsZCBydWxlcylcbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBJbml0IGNvbXBvbmVudCBieSBzYXZpbmcgdGhlIGNvbXBsZXRlIGNvbmZpZ3VyYXRpb24sIGFuZCB0aGVuIHJldHJpZXZpbmcgcm9vdCBlbGVtZW50cy5cbiAgICAgKiBVcGRhdGVzICoqYW5vdGhlcioqIG9ic2VydmFibGUgKHRoaXMuZGF0YUNoYW5nZSkgd2hlbiBkYXRhIGlzIHJldHJpZXZlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW5pdChcbiAgICAgICAgY29uZmlnOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXSxcbiAgICAgICAgY29udGV4dEZpbHRlcjogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uIHwgbnVsbCA9IG51bGwsXG4gICAgICAgIHNlYXJjaFZhcmlhYmxlczogUXVlcnlWYXJpYWJsZXMgfCBudWxsID0gbnVsbCxcbiAgICApOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbmZpZ3VyYXRpb24oY29uZmlnKTtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5pbmplY3RTZXJ2aWNlc0luQ29uZmlndXJhdGlvbihjb25maWcpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0KG51bGwsIGNvbnRleHRGaWx0ZXIsIHNlYXJjaFZhcmlhYmxlcykucGlwZShtYXAoZGF0YSA9PiB0aGlzLmRhdGFDaGFuZ2UubmV4dChkYXRhKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBsaXN0IG9mIGNoaWxkcmVuLCBjb25zaWRlcmluZyBnaXZlbiBGbGF0Tm9kZSBpZCBhcyBhIHBhcmVudC5cbiAgICAgKiBNYXJrIGxvYWRpbmcgc3RhdHVzIGluZGl2aWR1YWxseSBvbiBub2Rlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZENoaWxkcmVuKFxuICAgICAgICBmbGF0Tm9kZTogSGllcmFyY2hpY0ZsYXROb2RlLFxuICAgICAgICBjb250ZXh0RmlsdGVyOiBIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb24gfCBudWxsID0gbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgLy8gRG9udCByZWZldGNoIGNoaWxkcmVuLiBJbXByb3ZlIHBlcmZvcm1hbmNlc1xuICAgICAgICAvLyBQcmV2ZW50cyBpbnRlcmZlcmVuY2VzIGJldHdlZW4gSGllcmFyY2hpY01vZGVsTm9kZSBzdHJ1Y3R1cmUgYW5kIGFuZ3VsYXIgY29tcG9uZW50cyBuYXZpZ2F0aW9uLlxuICAgICAgICAvLyBQcmV2ZW50cyBhIGJ1ZyB3aGVyZSBncmFuZCBjaGlsZHJlbiB3ZXJlIGxvc3QgaWYgY2xvc2luZyByb290XG4gICAgICAgIGlmIChmbGF0Tm9kZS5ub2RlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZmxhdE5vZGUubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZ2V0TGlzdChmbGF0Tm9kZSwgY29udGV4dEZpbHRlcilcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IChmbGF0Tm9kZS5sb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaXRlbXMgPT4ge1xuICAgICAgICAgICAgICAgIGZsYXROb2RlLm5vZGUuY2hpbGRyZW5DaGFuZ2UubmV4dChpdGVtcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5kYXRhQ2hhbmdlLnZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2goc2VhcmNoVmFyaWFibGVzOiBRdWVyeVZhcmlhYmxlcywgY29udGV4dEZpbHRlcjogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRMaXN0KG51bGwsIGNvbnRleHRGaWx0ZXIsIHNlYXJjaFZhcmlhYmxlcykuc3Vic2NyaWJlKGl0ZW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KGl0ZW1zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgZWxlbWVudHMgZnJvbSB0aGUgc2VydmVyXG4gICAgICogR2V0IHJvb3QgZWxlbWVudHMgaWYgbm9kZSBpcyBudWxsLCBvciBjaGlsZCBlbGVtZW50cyBpZiBub2RlIGlzIGdpdmVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRMaXN0KFxuICAgICAgICBub2RlOiBIaWVyYXJjaGljRmxhdE5vZGUgfCBudWxsID0gbnVsbCxcbiAgICAgICAgY29udGV4dEZpbHRlcnM6IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsLFxuICAgICAgICBzZWFyY2hWYXJpYWJsZXM6IFF1ZXJ5VmFyaWFibGVzIHwgbnVsbCA9IG51bGwsXG4gICAgKTogT2JzZXJ2YWJsZTxIaWVyYXJjaGljTW9kZWxOb2RlW10+IHtcbiAgICAgICAgY29uc3QgY29uZmlndXJhdGlvbnMgPSB0aGlzLmdldENvbnRleHR1YWxpemVkQ29uZmlncyhub2RlLCBjb250ZXh0RmlsdGVycywgc2VhcmNoVmFyaWFibGVzKTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBjb25maWd1cmF0aW9ucy5tYXAoYyA9PiBjLmNvbmZpZ3VyYXRpb24uaW5qZWN0ZWRTZXJ2aWNlLmdldEFsbChjLnZhcmlhYmxlc01hbmFnZXIpKTtcblxuICAgICAgICAvLyBGaXJlIHF1ZXJpZXMsIGFuZCBtZXJnZSByZXN1bHRzLCB0cmFuc2Zvcm1pbmcgYXBvbGxvIGl0ZW1zIGludG8gTm9kZSBPYmplY3QuXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihvYnNlcnZhYmxlcykucGlwZShcbiAgICAgICAgICAgIG1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaXN0aW5nOiBIaWVyYXJjaGljTW9kZWxOb2RlW10gPSBbXTtcblxuICAgICAgICAgICAgICAgIC8vIEZvciBlYWNoIHJlc3VsdCBvZiBhbiBvYnNlcnZhYmxlXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEZvciBlYWNoIGl0ZW0gb2YgdGhlIHJlc3VsdCwgY29udmVydCBpbnRvIE5vZGUgb2JqZWN0XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByZXN1bHRzW2ldLml0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0aW5nLnB1c2godGhpcy5nZXRPckNyZWF0ZU1vZGVsTm9kZShpdGVtLCBjb25maWd1cmF0aW9uc1tpXS5jb25maWd1cmF0aW9uKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbGlzdGluZztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3VudEl0ZW1zKG5vZGU6IEhpZXJhcmNoaWNGbGF0Tm9kZSwgY29udGV4dEZpbHRlcnM6IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25zID0gdGhpcy5nZXRDb250ZXh0dWFsaXplZENvbmZpZ3Mobm9kZSwgY29udGV4dEZpbHRlcnMsIG51bGwpO1xuICAgICAgICBjb25zdCBvYnNlcnZhYmxlcyA9IGNvbmZpZ3VyYXRpb25zLm1hcChjID0+XG4gICAgICAgICAgICBjLmNvbmZpZ3VyYXRpb24uaW5qZWN0ZWRTZXJ2aWNlLmNvdW50KGMudmFyaWFibGVzTWFuYWdlcikucGlwZShmaXJzdCgpKSxcbiAgICAgICAgKTtcblxuICAgICAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgY29uc3QgdG90YWxJdGVtcyA9IHJlc3VsdHMucmVkdWNlKCh0b3RhbCwgbGVuZ3RoKSA9PiB0b3RhbCArIGxlbmd0aCwgMCk7XG4gICAgICAgICAgICBub2RlLmV4cGFuZGFibGUgPSB0b3RhbEl0ZW1zID4gMDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb250ZXh0dWFsaXplZENvbmZpZ3MoXG4gICAgICAgIG5vZGU6IEhpZXJhcmNoaWNGbGF0Tm9kZSB8IG51bGwgPSBudWxsLFxuICAgICAgICBjb250ZXh0RmlsdGVyczogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uIHwgbnVsbCA9IG51bGwsXG4gICAgICAgIHNlYXJjaFZhcmlhYmxlczogUXVlcnlWYXJpYWJsZXMgfCBudWxsID0gbnVsbCxcbiAgICApOiBDb250ZXh0dWFsaXplZENvbmZpZ1tdIHtcbiAgICAgICAgY29uc3QgY29uZmlnc0FuZFNlcnZpY2VzOiBDb250ZXh0dWFsaXplZENvbmZpZ1tdID0gW107XG5cbiAgICAgICAgLy8gQ29uc2lkZXJpbmcgdGhlIHdob2xlIGNvbmZpZ3VyYXRpb24gbWF5IGNhdXNlIHF1ZXJpZXMgd2l0aCBuby93cm9uZyByZXN1bHRzIHdlIGhhdmUgaW1wZXJhdGl2ZWx5IHRvIGF2b2lkICFcbiAgICAgICAgLy8gZS5nIHRoZXJlIGFyZSBjcm9zcyBkZXBlbmRlbmNpZXMgYmV0d2VlbiBlcXVpcG1lbnRzIGFuZCB0YXhvbm9taWVzIGZpbHRlcnMuIEJvdGggaGF2ZSBcInBhcmVudHNcIiBhbmQgXCJ0YXhvbm9taWVzXCIgZmlsdGVycy4uLlxuICAgICAgICAvLyBXaGVuIGNsaWNraW5nIG9uIGEgZXF1aXBtZW50LCB0aGUgY29uZmlndXJhdGlvbiBvZiB0YXhvbm9taWVzIHdpdGggbWF0Y2ggXCJwYXJlbnRzXCIgZmlsdGVyLCBidXQgdXNlIHRoZSBpZCBvZiB0aGUgZXF1aXBtZW50XG4gICAgICAgIC8vIFRvIGZpeCB0aGlzLCB3ZSBzaG91bGQgb25seSBjb25zaWRlciBjb25maWd1cmF0aW9uIGFmdGVyIHRoZSBvbmUgZ2l2ZW4gYnkgdGhlIG5vZGUgcGFzc2VkIGFzIGFyZ3VtZW50LlxuICAgICAgICAvLyBUaGF0IHdvdWxkIG1lYW4gOiBubyBjaGlsZCBjYW4gYWZmZWN0IHBhcmVudC5cbiAgICAgICAgLy8gVGhhdCB3b3VsZCBtZWFuIDogc29ydGluZyBpbiB0aGUgY29uZmlndXJhdGlvbiBoYXZlIHNlbWFudGljL2hpZXJhcmNoeSBpbXBsaWNhdGlvbnNcbiAgICAgICAgY29uc3QgY29uZmlncyA9IG5vZGUgPyB0aGlzLmdldE5leHRDb25maWdzKG5vZGUubm9kZS5jb25maWcpIDogdGhpcy5jb25maWd1cmF0aW9uO1xuXG4gICAgICAgIGNvbnN0IHBhZ2luYXRpb24gPSB7cGFnZUluZGV4OiAwLCBwYWdlU2l6ZTogOTk5fTtcblxuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjb25maWdzKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtOiBDb250ZXh0dWFsaXplZENvbmZpZyA9IHt9IGFzIENvbnRleHR1YWxpemVkQ29uZmlnO1xuICAgICAgICAgICAgY29uc3QgY29udGV4dEZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyQnlTZXJ2aWNlKGNvbmZpZywgY29udGV4dEZpbHRlcnMpO1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5nZXRTZXJ2aWNlRmlsdGVyKG5vZGUsIGNvbmZpZywgY29udGV4dEZpbHRlciwgISFzZWFyY2hWYXJpYWJsZXMpO1xuXG4gICAgICAgICAgICBpZiAoIWZpbHRlciB8fCAhY29uZmlnLmluamVjdGVkU2VydmljZSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZXNNYW5hZ2VyID0gbmV3IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIoKTtcblxuICAgICAgICAgICAgdmFyaWFibGVzTWFuYWdlci5zZXQoJ3ZhcmlhYmxlcycsIHtmaWx0ZXI6IGZpbHRlciwgcGFnaW5hdGlvbjogcGFnaW5hdGlvbn0pO1xuICAgICAgICAgICAgdmFyaWFibGVzTWFuYWdlci5zZXQoJ2NvbmZpZy1maWx0ZXInLCB7ZmlsdGVyOiBjb25maWcuZmlsdGVyfSk7XG5cbiAgICAgICAgICAgIGlmIChzZWFyY2hWYXJpYWJsZXMpIHtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXNNYW5hZ2VyLnNldCgnbmF0dXJhbC1zZWFyY2gnLCBzZWFyY2hWYXJpYWJsZXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDYXN0IE5hdHVyYWxIaWVyYXJjaGljU2VydmljZUNvbmZpZ3VyYXRpb24gYmVjYXVzZSB0aGUgdW5kZWZpbmVkXG4gICAgICAgICAgICAvLyBpbmplY3RlZFNlcnZpY2VzIGFyZSBmaWx0ZXJlZCBlYXJsaWVyIGFuZCB3ZSBjYW4gdmFsaWRhdGUgdmFsdWVcbiAgICAgICAgICAgIGl0ZW0uY29uZmlndXJhdGlvbiA9IGNvbmZpZyBhcyBOYXR1cmFsSGllcmFyY2hpY1NlcnZpY2VDb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgaXRlbS52YXJpYWJsZXNNYW5hZ2VyID0gdmFyaWFibGVzTWFuYWdlcjtcbiAgICAgICAgICAgIGNvbmZpZ3NBbmRTZXJ2aWNlcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbmZpZ3NBbmRTZXJ2aWNlcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gbW9kZWxzIG1hdGNoaW5nIGdpdmVuIEZsYXROb2Rlc1xuICAgICAqIFJldHVybnMgYSBMaXRlcmFsIG9mIG1vZGVscyBncm91cGVkIGJ5IHRoZWlyIGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlIFwic2VsZWN0YWJsZUF0S2V5XCJcbiAgICAgKi9cbiAgICBwdWJsaWMgdG9Pcmdhbml6ZWRTZWxlY3Rpb24obm9kZXM6IEhpZXJhcmNoaWNNb2RlbE5vZGVbXSk6IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5jb25maWd1cmF0aW9uLnJlZHVjZTxMaXRlcmFsPigoZ3JvdXAsIGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbmZpZy5zZWxlY3RhYmxlQXRLZXkpIHtcbiAgICAgICAgICAgICAgICBncm91cFtjb25maWcuc2VsZWN0YWJsZUF0S2V5XSA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGdyb3VwO1xuICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICAgICAgICBpZiAobm9kZS5jb25maWcuc2VsZWN0YWJsZUF0S2V5KSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uW25vZGUuY29uZmlnLnNlbGVjdGFibGVBdEtleV0ucHVzaChub2RlLm1vZGVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBhbiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbiBpbnRvIGEgbGlzdCBvZiBNb2RlbE5vZGVzXG4gICAgICovXG4gICAgcHVibGljIGZyb21Pcmdhbml6ZWRTZWxlY3Rpb24ob3JnYW5pemVkTW9kZWxTZWxlY3Rpb246IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uKTogSGllcmFyY2hpY01vZGVsTm9kZVtdIHtcbiAgICAgICAgaWYgKCFvcmdhbml6ZWRNb2RlbFNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBIaWVyYXJjaGljTW9kZWxOb2RlW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBzZWxlY3RhYmxlQXRLZXkgb2YgT2JqZWN0LmtleXMob3JnYW5pemVkTW9kZWxTZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZ3VyYXRpb25CeVNlbGVjdGFibGVLZXkoc2VsZWN0YWJsZUF0S2V5KTtcbiAgICAgICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIG9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uW3NlbGVjdGFibGVBdEtleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEhpZXJhcmNoaWNNb2RlbE5vZGUobW9kZWwsIGNvbmZpZykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5qZWN0U2VydmljZXNJbkNvbmZpZ3VyYXRpb24oXG4gICAgICAgIGNvbmZpZ3VyYXRpb25zOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXSxcbiAgICApOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXSB7XG4gICAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3VyYXRpb25zKSB7XG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5pbmplY3RlZFNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICBjb25maWcuaW5qZWN0ZWRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoY29uZmlnLnNlcnZpY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyB0aGF0IGVhY2ggY29uZmlndXJhdGlvbi5zZWxlY3RhYmxlQXRLZXkgYXR0cmlidXRlIGlzIHVuaXF1ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdmFsaWRhdGVDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25zOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RhYmxlQXRLZXlBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjb25maWd1cmF0aW9ucykge1xuICAgICAgICAgICAgaWYgKGNvbmZpZy5zZWxlY3RhYmxlQXRLZXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXlJbmRleCA9IHNlbGVjdGFibGVBdEtleUF0dHJpYnV0ZXMuaW5kZXhPZihjb25maWcuc2VsZWN0YWJsZUF0S2V5KTtcblxuICAgICAgICAgICAgICAgIGlmIChrZXlJbmRleCA9PT0gLTEgJiYgY29uZmlnLnNlbGVjdGFibGVBdEtleSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RhYmxlQXRLZXlBdHRyaWJ1dGVzLnB1c2goY29uZmlnLnNlbGVjdGFibGVBdEtleSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gVE9ETyA6IHJlbW92ZSA/XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBiZWhhdmlvciBtYXliZSBkYW5nZXJvdXMgaW4gY2FzZSB3ZSByZS1vcGVuIGhpZXJhcmNoaWNhbCBzZWxlY3RvciB3aXRoIHRoZSBsYXN0IHJldHVybmVkIGNvbmZpZyBoYXZpbmcgbm9uLXVuaXF1ZVxuICAgICAgICAgICAgICAgIC8vIGtleXNcbiAgICAgICAgICAgICAgICBpZiAoa2V5SW5kZXggPCAtMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgaGllcmFyY2hpYyBjb25maWd1cmF0aW9uIDogc2VsZWN0YWJsZUF0S2V5IGF0dHJpYnV0ZSBzaG91bGQgYmUgdW5pcXVlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGNvbmZpZ3VyYXRpb25zIHNldHVwIGluIHRoZSBsaXN0IGFmdGVyIHRoZSBnaXZlbiBvbmVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE5leHRDb25maWdzKGNvbmZpZzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uKTogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW10ge1xuICAgICAgICBjb25zdCBjb25maWdJbmRleCA9IHRoaXMuY29uZmlndXJhdGlvbi5maW5kSW5kZXgoYyA9PiBjID09PSBjb25maWcpO1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLnNsaWNlKGNvbmZpZ0luZGV4KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCdWlsZHMgcXVlcnlWYXJpYWJsZXMgZmlsdGVyIGZvciBjaGlsZHJlbiBxdWVyeVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0U2VydmljZUZpbHRlcihcbiAgICAgICAgZmxhdE5vZGU6IEhpZXJhcmNoaWNGbGF0Tm9kZSB8IG51bGwsXG4gICAgICAgIGNvbmZpZzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uLFxuICAgICAgICBjb250ZXh0RmlsdGVyOiBIaWVyYXJjaGljRmlsdGVyQ29uZmlndXJhdGlvblsnZmlsdGVyJ10gfCBudWxsID0gbnVsbCxcbiAgICAgICAgYWxsRGVlcHMgPSBmYWxzZSxcbiAgICApOiBIaWVyYXJjaGljRmlsdGVyQ29uZmlndXJhdGlvblsnZmlsdGVyJ10gfCBudWxsIHtcbiAgICAgICAgY29uc3QgZmllbGRDb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uID0ge307XG5cbiAgICAgICAgLy8gaWYgbm8gcGFyZW50LCBmaWx0ZXIgZW1wdHkgZWxlbWVudHNcbiAgICAgICAgaWYgKCFmbGF0Tm9kZSkge1xuICAgICAgICAgICAgaWYgKCFjb25maWcucGFyZW50c1JlbGF0aW9uTmFtZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dEZpbHRlciA/IGNvbnRleHRGaWx0ZXIgOiB7fTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFhbGxEZWVwcykge1xuICAgICAgICAgICAgICAgIGNvbmZpZy5wYXJlbnRzUmVsYXRpb25OYW1lcy5mb3JFYWNoKGYgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZENvbmRpdGlvbltmXSA9IHtlbXB0eToge319O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFmbGF0Tm9kZS5ub2RlLmNvbmZpZy5jaGlsZHJlblJlbGF0aW9uTmFtZXMgfHwgIWNvbmZpZy5wYXJlbnRzUmVsYXRpb25OYW1lcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtYXRjaGluZ0ZpbHRlcnMgPSBpbnRlcnNlY3Rpb24oXG4gICAgICAgICAgICAgICAgZmxhdE5vZGUubm9kZS5jb25maWcuY2hpbGRyZW5SZWxhdGlvbk5hbWVzLFxuICAgICAgICAgICAgICAgIGNvbmZpZy5wYXJlbnRzUmVsYXRpb25OYW1lcyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIW1hdGNoaW5nRmlsdGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkQ29uZGl0aW9uW21hdGNoaW5nRmlsdGVyc1swXV0gPSB7aGF2ZToge3ZhbHVlczogW2ZsYXROb2RlLm5vZGUubW9kZWwuaWRdfX07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWx0ZXJzID0ge2dyb3VwczogW3tjb25kaXRpb25zOiBbZmllbGRDb25kaXRpb25dfV19O1xuXG4gICAgICAgIC8vIHRvZG8gOiBpcyBpdCByaWdodCA/IHNob3VsZG4ndCBpdCBiZSBtYW5hZ2VkIHdpdGggUXVlcnlWYXJpYWJsZXNNYW5hZ2VyJ3MgY2hhbm5lbHMgPyA/XG4gICAgICAgIGlmIChjb250ZXh0RmlsdGVyKSB7XG4gICAgICAgICAgICBmaWx0ZXJzLmdyb3Vwcy5wdXNoKC4uLmNvbnRleHRGaWx0ZXIuZ3JvdXBzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIGNvbnRleHQgZmlsdGVyIGFwcGxpY2FibGUgdG8gdGhlIHNlcnZpY2UgZm9yIGdpdmVuIGNvbmZpZ1xuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmZpZyBBcHBsaWNhYmxlIGNvbmZpZ1xuICAgICAqIEBwYXJhbSBjb250ZXh0RmlsdGVycyBMaXN0IG9mIGNvbnRleHQgZmlsdGVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0RmlsdGVyQnlTZXJ2aWNlKFxuICAgICAgICBjb25maWc6IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbixcbiAgICAgICAgY29udGV4dEZpbHRlcnM6IEhpZXJhcmNoaWNGaWx0ZXJDb25maWd1cmF0aW9uW10gfCBudWxsLFxuICAgICk6IEhpZXJhcmNoaWNGaWx0ZXJDb25maWd1cmF0aW9uWydmaWx0ZXInXSB8IG51bGwge1xuICAgICAgICBpZiAoIWNvbnRleHRGaWx0ZXJzIHx8ICFjb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsdGVyID0gY29udGV4dEZpbHRlcnMuZmluZChmID0+IGYuc2VydmljZSA9PT0gY29uZmlnLnNlcnZpY2UpO1xuICAgICAgICByZXR1cm4gZmlsdGVyID8gZmlsdGVyLmZpbHRlciA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoIGluIGNvbmZpZ3VyYXRpb25zLnNlbGVjdGFibGVBdEtleSBhdHRyaWJ1dGUgdG8gZmluZCBnaXZlbiBrZXkgYW5kIHJldHVybiB0aGUgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Q29uZmlndXJhdGlvbkJ5U2VsZWN0YWJsZUtleShcbiAgICAgICAga2V5OiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bJ3NlbGVjdGFibGVBdEtleSddLFxuICAgICk6IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbiB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLmZpbmQoY29uZiA9PiBjb25mLnNlbGVjdGFibGVBdEtleSA9PT0ga2V5KSB8fCBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3JDcmVhdGVNb2RlbE5vZGUoXG4gICAgICAgIGl0ZW06IEhpZXJhcmNoaWNNb2RlbCxcbiAgICAgICAgY29uZmlndXJhdGlvbjogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uLFxuICAgICk6IEhpZXJhcmNoaWNNb2RlbE5vZGUge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5kYXRhQ2hhbmdlLnZhbHVlLmZpbmQobiA9PiBuLm1vZGVsLmlkID09PSBpdGVtLmlkICYmIG4ubW9kZWwuX190eXBlbmFtZSA9PT0gaXRlbS5fX3R5cGVuYW1lKTtcbiAgICAgICAgcmV0dXJuIG5vZGUgfHwgbmV3IEhpZXJhcmNoaWNNb2RlbE5vZGUoaXRlbSwgY29uZmlndXJhdGlvbik7XG4gICAgfVxufVxuIl19
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpYy1zZWxlY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsNEJBQTRCLEVBQWlCLE1BQU0seUNBQXlDLENBQUM7QUFVckcsT0FBTyxFQUFrQixtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQVkzRSxNQUFNLE9BQU8sZ0NBQWdDO0lBQ3hCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0M7Ozs7T0FJRztJQUNhLFVBQVUsR0FBMkMsSUFBSSxlQUFlLENBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBRXBIOzs7O09BSUc7SUFDSyxhQUFhLEdBQXFDLEVBQUUsQ0FBQztJQUU3RDs7O09BR0c7SUFDSSxJQUFJLENBQ1AsTUFBd0MsRUFDeEMsZ0JBQXVELElBQUksRUFDM0Qsa0JBQXlDLElBQUk7UUFFN0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxDQUFD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TyxJQUFJLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEUsQ0FBQzt1R0E1VFEsZ0NBQWdDOzJHQUFoQyxnQ0FBZ0MsY0FEcEIsTUFBTTs7MkZBQ2xCLGdDQUFnQztrQkFENUMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpbnRlcnNlY3Rpb259IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZmlyc3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmluYWxpemUsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyLCBRdWVyeVZhcmlhYmxlc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9xdWVyeS12YXJpYWJsZS1tYW5hZ2VyJztcbmltcG9ydCB7SGllcmFyY2hpY0ZsYXROb2RlfSBmcm9tICcuLi9jbGFzc2VzL2ZsYXQtbm9kZSc7XG5pbXBvcnQge1xuICAgIE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbixcbiAgICBOYXR1cmFsSGllcmFyY2hpY1NlcnZpY2VDb25maWd1cmF0aW9uLFxufSBmcm9tICcuLi9jbGFzc2VzL2hpZXJhcmNoaWMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge1xuICAgIEhpZXJhcmNoaWNGaWx0ZXJDb25maWd1cmF0aW9uLFxuICAgIEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbixcbn0gZnJvbSAnLi4vY2xhc3Nlcy9oaWVyYXJjaGljLWZpbHRlcnMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0hpZXJhcmNoaWNNb2RlbCwgSGllcmFyY2hpY01vZGVsTm9kZX0gZnJvbSAnLi4vY2xhc3Nlcy9tb2RlbC1ub2RlJztcbmltcG9ydCB7TGl0ZXJhbH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbn0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uID0gUmVjb3JkPHN0cmluZywgYW55W10+O1xuXG50eXBlIENvbnRleHR1YWxpemVkQ29uZmlnID0ge1xuICAgIGNvbmZpZ3VyYXRpb246IE5hdHVyYWxIaWVyYXJjaGljU2VydmljZUNvbmZpZ3VyYXRpb247XG4gICAgdmFyaWFibGVzTWFuYWdlcjogTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcjtcbn07XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgZ2xvYmFsIHJlc3VsdCBvZiB0aGUgdHJlZVxuICAgICAqIFRoaXMgb2JzZXJ2YWJsZSBjb250YWlucyBOb2RlLlxuICAgICAqIFdoZW4gaXQncyB1cGRhdGVkLCB0aGUgVHJlZUNvbnRyb2xsZXIgYW5kIFRyZWVGbGF0dGVuZXIgcHJvY2VzcyB0aGUgbmV3IGFycmF5IHRvIGdlbmVyYXRlIHRoZSBmbGF0IHRyZWUuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGRhdGFDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxIaWVyYXJjaGljTW9kZWxOb2RlW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIaWVyYXJjaGljTW9kZWxOb2RlW10+KFtdKTtcblxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIHJlbGF0aW9ucyBhbmQgc2VsZWN0aW9uIGNvbnN0cmFpbnRzXG4gICAgICpcbiAgICAgKiBUaGUgbGlzdCBzaG91bGQgYmUgc29ydGVkIGluIHRoZSBvcmRlciBvZiB0aGUgaGllcmFyY2hpYyAobGlzdCBmaXJzdCBwYXJlbnQgcnVsZXMsIHRoZW4gY2hpbGQgcnVsZXMpXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogSW5pdCBjb21wb25lbnQgYnkgc2F2aW5nIHRoZSBjb21wbGV0ZSBjb25maWd1cmF0aW9uLCBhbmQgdGhlbiByZXRyaWV2aW5nIHJvb3QgZWxlbWVudHMuXG4gICAgICogVXBkYXRlcyAqKmFub3RoZXIqKiBvYnNlcnZhYmxlICh0aGlzLmRhdGFDaGFuZ2UpIHdoZW4gZGF0YSBpcyByZXRyaWV2ZWQuXG4gICAgICovXG4gICAgcHVibGljIGluaXQoXG4gICAgICAgIGNvbmZpZzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW10sXG4gICAgICAgIGNvbnRleHRGaWx0ZXI6IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsLFxuICAgICAgICBzZWFyY2hWYXJpYWJsZXM6IFF1ZXJ5VmFyaWFibGVzIHwgbnVsbCA9IG51bGwsXG4gICAgKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVDb25maWd1cmF0aW9uKGNvbmZpZyk7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuaW5qZWN0U2VydmljZXNJbkNvbmZpZ3VyYXRpb24oY29uZmlnKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGlzdChudWxsLCBjb250ZXh0RmlsdGVyLCBzZWFyY2hWYXJpYWJsZXMpLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5kYXRhQ2hhbmdlLm5leHQoZGF0YSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgbGlzdCBvZiBjaGlsZHJlbiwgY29uc2lkZXJpbmcgZ2l2ZW4gRmxhdE5vZGUgaWQgYXMgYSBwYXJlbnQuXG4gICAgICogTWFyayBsb2FkaW5nIHN0YXR1cyBpbmRpdmlkdWFsbHkgb24gbm9kZXMuXG4gICAgICovXG4gICAgcHVibGljIGxvYWRDaGlsZHJlbihcbiAgICAgICAgZmxhdE5vZGU6IEhpZXJhcmNoaWNGbGF0Tm9kZSxcbiAgICAgICAgY29udGV4dEZpbHRlcjogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uIHwgbnVsbCA9IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIERvbnQgcmVmZXRjaCBjaGlsZHJlbi4gSW1wcm92ZSBwZXJmb3JtYW5jZXNcbiAgICAgICAgLy8gUHJldmVudHMgaW50ZXJmZXJlbmNlcyBiZXR3ZWVuIEhpZXJhcmNoaWNNb2RlbE5vZGUgc3RydWN0dXJlIGFuZCBhbmd1bGFyIGNvbXBvbmVudHMgbmF2aWdhdGlvbi5cbiAgICAgICAgLy8gUHJldmVudHMgYSBidWcgd2hlcmUgZ3JhbmQgY2hpbGRyZW4gd2VyZSBsb3N0IGlmIGNsb3Npbmcgcm9vdFxuICAgICAgICBpZiAoZmxhdE5vZGUubm9kZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZsYXROb2RlLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmdldExpc3QoZmxhdE5vZGUsIGNvbnRleHRGaWx0ZXIpXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAoZmxhdE5vZGUubG9hZGluZyA9IGZhbHNlKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGl0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICBmbGF0Tm9kZS5ub2RlLmNoaWxkcmVuQ2hhbmdlLm5leHQoaXRlbXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHRoaXMuZGF0YUNoYW5nZS52YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoKHNlYXJjaFZhcmlhYmxlczogUXVlcnlWYXJpYWJsZXMsIGNvbnRleHRGaWx0ZXI6IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0TGlzdChudWxsLCBjb250ZXh0RmlsdGVyLCBzZWFyY2hWYXJpYWJsZXMpLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dChpdGVtcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIGVsZW1lbnRzIGZyb20gdGhlIHNlcnZlclxuICAgICAqIEdldCByb290IGVsZW1lbnRzIGlmIG5vZGUgaXMgbnVsbCwgb3IgY2hpbGQgZWxlbWVudHMgaWYgbm9kZSBpcyBnaXZlblxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TGlzdChcbiAgICAgICAgbm9kZTogSGllcmFyY2hpY0ZsYXROb2RlIHwgbnVsbCA9IG51bGwsXG4gICAgICAgIGNvbnRleHRGaWx0ZXJzOiBIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb24gfCBudWxsID0gbnVsbCxcbiAgICAgICAgc2VhcmNoVmFyaWFibGVzOiBRdWVyeVZhcmlhYmxlcyB8IG51bGwgPSBudWxsLFxuICAgICk6IE9ic2VydmFibGU8SGllcmFyY2hpY01vZGVsTm9kZVtdPiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25zID0gdGhpcy5nZXRDb250ZXh0dWFsaXplZENvbmZpZ3Mobm9kZSwgY29udGV4dEZpbHRlcnMsIHNlYXJjaFZhcmlhYmxlcyk7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGVzID0gY29uZmlndXJhdGlvbnMubWFwKGMgPT4gYy5jb25maWd1cmF0aW9uLmluamVjdGVkU2VydmljZS5nZXRBbGwoYy52YXJpYWJsZXNNYW5hZ2VyKSk7XG5cbiAgICAgICAgLy8gRmlyZSBxdWVyaWVzLCBhbmQgbWVyZ2UgcmVzdWx0cywgdHJhbnNmb3JtaW5nIGFwb2xsbyBpdGVtcyBpbnRvIE5vZGUgT2JqZWN0LlxuICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGlzdGluZzogSGllcmFyY2hpY01vZGVsTm9kZVtdID0gW107XG5cbiAgICAgICAgICAgICAgICAvLyBGb3IgZWFjaCByZXN1bHQgb2YgYW4gb2JzZXJ2YWJsZVxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAvLyBGb3IgZWFjaCBpdGVtIG9mIHRoZSByZXN1bHQsIGNvbnZlcnQgaW50byBOb2RlIG9iamVjdFxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcmVzdWx0c1tpXS5pdGVtcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGluZy5wdXNoKHRoaXMuZ2V0T3JDcmVhdGVNb2RlbE5vZGUoaXRlbSwgY29uZmlndXJhdGlvbnNbaV0uY29uZmlndXJhdGlvbikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3Rpbmc7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY291bnRJdGVtcyhub2RlOiBIaWVyYXJjaGljRmxhdE5vZGUsIGNvbnRleHRGaWx0ZXJzOiBIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb24gfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWd1cmF0aW9ucyA9IHRoaXMuZ2V0Q29udGV4dHVhbGl6ZWRDb25maWdzKG5vZGUsIGNvbnRleHRGaWx0ZXJzLCBudWxsKTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBjb25maWd1cmF0aW9ucy5tYXAoYyA9PlxuICAgICAgICAgICAgYy5jb25maWd1cmF0aW9uLmluamVjdGVkU2VydmljZS5jb3VudChjLnZhcmlhYmxlc01hbmFnZXIpLnBpcGUoZmlyc3QoKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRvdGFsSXRlbXMgPSByZXN1bHRzLnJlZHVjZSgodG90YWwsIGxlbmd0aCkgPT4gdG90YWwgKyBsZW5ndGgsIDApO1xuICAgICAgICAgICAgbm9kZS5leHBhbmRhYmxlID0gdG90YWxJdGVtcyA+IDA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGV4dHVhbGl6ZWRDb25maWdzKFxuICAgICAgICBub2RlOiBIaWVyYXJjaGljRmxhdE5vZGUgfCBudWxsID0gbnVsbCxcbiAgICAgICAgY29udGV4dEZpbHRlcnM6IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsLFxuICAgICAgICBzZWFyY2hWYXJpYWJsZXM6IFF1ZXJ5VmFyaWFibGVzIHwgbnVsbCA9IG51bGwsXG4gICAgKTogQ29udGV4dHVhbGl6ZWRDb25maWdbXSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3NBbmRTZXJ2aWNlczogQ29udGV4dHVhbGl6ZWRDb25maWdbXSA9IFtdO1xuXG4gICAgICAgIC8vIENvbnNpZGVyaW5nIHRoZSB3aG9sZSBjb25maWd1cmF0aW9uIG1heSBjYXVzZSBxdWVyaWVzIHdpdGggbm8vd3JvbmcgcmVzdWx0cyB3ZSBoYXZlIGltcGVyYXRpdmVseSB0byBhdm9pZCAhXG4gICAgICAgIC8vIGUuZyB0aGVyZSBhcmUgY3Jvc3MgZGVwZW5kZW5jaWVzIGJldHdlZW4gZXF1aXBtZW50cyBhbmQgdGF4b25vbWllcyBmaWx0ZXJzLiBCb3RoIGhhdmUgXCJwYXJlbnRzXCIgYW5kIFwidGF4b25vbWllc1wiIGZpbHRlcnMuLi5cbiAgICAgICAgLy8gV2hlbiBjbGlja2luZyBvbiBhIGVxdWlwbWVudCwgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGF4b25vbWllcyB3aXRoIG1hdGNoIFwicGFyZW50c1wiIGZpbHRlciwgYnV0IHVzZSB0aGUgaWQgb2YgdGhlIGVxdWlwbWVudFxuICAgICAgICAvLyBUbyBmaXggdGhpcywgd2Ugc2hvdWxkIG9ubHkgY29uc2lkZXIgY29uZmlndXJhdGlvbiBhZnRlciB0aGUgb25lIGdpdmVuIGJ5IHRoZSBub2RlIHBhc3NlZCBhcyBhcmd1bWVudC5cbiAgICAgICAgLy8gVGhhdCB3b3VsZCBtZWFuIDogbm8gY2hpbGQgY2FuIGFmZmVjdCBwYXJlbnQuXG4gICAgICAgIC8vIFRoYXQgd291bGQgbWVhbiA6IHNvcnRpbmcgaW4gdGhlIGNvbmZpZ3VyYXRpb24gaGF2ZSBzZW1hbnRpYy9oaWVyYXJjaHkgaW1wbGljYXRpb25zXG4gICAgICAgIGNvbnN0IGNvbmZpZ3MgPSBub2RlID8gdGhpcy5nZXROZXh0Q29uZmlncyhub2RlLm5vZGUuY29uZmlnKSA6IHRoaXMuY29uZmlndXJhdGlvbjtcblxuICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0ge3BhZ2VJbmRleDogMCwgcGFnZVNpemU6IDk5OX07XG5cbiAgICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgY29uZmlncykge1xuICAgICAgICAgICAgY29uc3QgaXRlbTogQ29udGV4dHVhbGl6ZWRDb25maWcgPSB7fSBhcyBDb250ZXh0dWFsaXplZENvbmZpZztcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHRGaWx0ZXIgPSB0aGlzLmdldEZpbHRlckJ5U2VydmljZShjb25maWcsIGNvbnRleHRGaWx0ZXJzKTtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0U2VydmljZUZpbHRlcihub2RlLCBjb25maWcsIGNvbnRleHRGaWx0ZXIsICEhc2VhcmNoVmFyaWFibGVzKTtcblxuICAgICAgICAgICAgaWYgKCFmaWx0ZXIgfHwgIWNvbmZpZy5pbmplY3RlZFNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVzTWFuYWdlciA9IG5ldyBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyKCk7XG5cbiAgICAgICAgICAgIHZhcmlhYmxlc01hbmFnZXIuc2V0KCd2YXJpYWJsZXMnLCB7ZmlsdGVyOiBmaWx0ZXIsIHBhZ2luYXRpb246IHBhZ2luYXRpb259KTtcbiAgICAgICAgICAgIHZhcmlhYmxlc01hbmFnZXIuc2V0KCdjb25maWctZmlsdGVyJywge2ZpbHRlcjogY29uZmlnLmZpbHRlcn0pO1xuXG4gICAgICAgICAgICBpZiAoc2VhcmNoVmFyaWFibGVzKSB7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVzTWFuYWdlci5zZXQoJ25hdHVyYWwtc2VhcmNoJywgc2VhcmNoVmFyaWFibGVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2FzdCBOYXR1cmFsSGllcmFyY2hpY1NlcnZpY2VDb25maWd1cmF0aW9uIGJlY2F1c2UgdGhlIHVuZGVmaW5lZFxuICAgICAgICAgICAgLy8gaW5qZWN0ZWRTZXJ2aWNlcyBhcmUgZmlsdGVyZWQgZWFybGllciBhbmQgd2UgY2FuIHZhbGlkYXRlIHZhbHVlXG4gICAgICAgICAgICBpdGVtLmNvbmZpZ3VyYXRpb24gPSBjb25maWcgYXMgTmF0dXJhbEhpZXJhcmNoaWNTZXJ2aWNlQ29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIGl0ZW0udmFyaWFibGVzTWFuYWdlciA9IHZhcmlhYmxlc01hbmFnZXI7XG4gICAgICAgICAgICBjb25maWdzQW5kU2VydmljZXMucHVzaChpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb25maWdzQW5kU2VydmljZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIG1vZGVscyBtYXRjaGluZyBnaXZlbiBGbGF0Tm9kZXNcbiAgICAgKiBSZXR1cm5zIGEgTGl0ZXJhbCBvZiBtb2RlbHMgZ3JvdXBlZCBieSB0aGVpciBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZSBcInNlbGVjdGFibGVBdEtleVwiXG4gICAgICovXG4gICAgcHVibGljIHRvT3JnYW5pemVkU2VsZWN0aW9uKG5vZGVzOiBIaWVyYXJjaGljTW9kZWxOb2RlW10pOiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuY29uZmlndXJhdGlvbi5yZWR1Y2U8TGl0ZXJhbD4oKGdyb3VwLCBjb25maWcpID0+IHtcbiAgICAgICAgICAgIGlmIChjb25maWcuc2VsZWN0YWJsZUF0S2V5KSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBbY29uZmlnLnNlbGVjdGFibGVBdEtleV0gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgICAgICAgICAgaWYgKG5vZGUuY29uZmlnLnNlbGVjdGFibGVBdEtleSkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGlvbltub2RlLmNvbmZpZy5zZWxlY3RhYmxlQXRLZXldLnB1c2gobm9kZS5tb2RlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc2VsZWN0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgYW4gT3JnYW5pemVkTW9kZWxTZWxlY3Rpb24gaW50byBhIGxpc3Qgb2YgTW9kZWxOb2Rlc1xuICAgICAqL1xuICAgIHB1YmxpYyBmcm9tT3JnYW5pemVkU2VsZWN0aW9uKG9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uOiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbik6IEhpZXJhcmNoaWNNb2RlbE5vZGVbXSB7XG4gICAgICAgIGlmICghb3JnYW5pemVkTW9kZWxTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogSGllcmFyY2hpY01vZGVsTm9kZVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgc2VsZWN0YWJsZUF0S2V5IG9mIE9iamVjdC5rZXlzKG9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5nZXRDb25maWd1cmF0aW9uQnlTZWxlY3RhYmxlS2V5KHNlbGVjdGFibGVBdEtleSk7XG4gICAgICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBtb2RlbCBvZiBvcmdhbml6ZWRNb2RlbFNlbGVjdGlvbltzZWxlY3RhYmxlQXRLZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5ldyBIaWVyYXJjaGljTW9kZWxOb2RlKG1vZGVsLCBjb25maWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluamVjdFNlcnZpY2VzSW5Db25maWd1cmF0aW9uKFxuICAgICAgICBjb25maWd1cmF0aW9uczogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW10sXG4gICAgKTogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW10ge1xuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjb25maWd1cmF0aW9ucykge1xuICAgICAgICAgICAgaWYgKCFjb25maWcuaW5qZWN0ZWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnLmluamVjdGVkU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KGNvbmZpZy5zZXJ2aWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb25maWd1cmF0aW9ucztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgdGhhdCBlYWNoIGNvbmZpZ3VyYXRpb24uc2VsZWN0YWJsZUF0S2V5IGF0dHJpYnV0ZSBpcyB1bmlxdWVcbiAgICAgKi9cbiAgICBwcml2YXRlIHZhbGlkYXRlQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uczogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0YWJsZUF0S2V5QXR0cmlidXRlczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgY29uZmlndXJhdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcuc2VsZWN0YWJsZUF0S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5SW5kZXggPSBzZWxlY3RhYmxlQXRLZXlBdHRyaWJ1dGVzLmluZGV4T2YoY29uZmlnLnNlbGVjdGFibGVBdEtleSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoa2V5SW5kZXggPT09IC0xICYmIGNvbmZpZy5zZWxlY3RhYmxlQXRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0YWJsZUF0S2V5QXR0cmlidXRlcy5wdXNoKGNvbmZpZy5zZWxlY3RhYmxlQXRLZXkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFRPRE8gOiByZW1vdmUgP1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgYmVoYXZpb3IgbWF5YmUgZGFuZ2Vyb3VzIGluIGNhc2Ugd2UgcmUtb3BlbiBoaWVyYXJjaGljYWwgc2VsZWN0b3Igd2l0aCB0aGUgbGFzdCByZXR1cm5lZCBjb25maWcgaGF2aW5nIG5vbi11bmlxdWVcbiAgICAgICAgICAgICAgICAvLyBrZXlzXG4gICAgICAgICAgICAgICAgaWYgKGtleUluZGV4IDwgLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIGhpZXJhcmNoaWMgY29uZmlndXJhdGlvbiA6IHNlbGVjdGFibGVBdEtleSBhdHRyaWJ1dGUgc2hvdWxkIGJlIHVuaXF1ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBjb25maWd1cmF0aW9ucyBzZXR1cCBpbiB0aGUgbGlzdCBhZnRlciB0aGUgZ2l2ZW4gb25lXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXROZXh0Q29uZmlncyhjb25maWc6IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbik6IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbltdIHtcbiAgICAgICAgY29uc3QgY29uZmlnSW5kZXggPSB0aGlzLmNvbmZpZ3VyYXRpb24uZmluZEluZGV4KGMgPT4gYyA9PT0gY29uZmlnKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5zbGljZShjb25maWdJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnVpbGRzIHF1ZXJ5VmFyaWFibGVzIGZpbHRlciBmb3IgY2hpbGRyZW4gcXVlcnlcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFNlcnZpY2VGaWx0ZXIoXG4gICAgICAgIGZsYXROb2RlOiBIaWVyYXJjaGljRmxhdE5vZGUgfCBudWxsLFxuICAgICAgICBjb25maWc6IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbixcbiAgICAgICAgY29udGV4dEZpbHRlcjogSGllcmFyY2hpY0ZpbHRlckNvbmZpZ3VyYXRpb25bJ2ZpbHRlciddIHwgbnVsbCA9IG51bGwsXG4gICAgICAgIGFsbERlZXBzID0gZmFsc2UsXG4gICAgKTogSGllcmFyY2hpY0ZpbHRlckNvbmZpZ3VyYXRpb25bJ2ZpbHRlciddIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGZpZWxkQ29uZGl0aW9uOiBGaWx0ZXJHcm91cENvbmRpdGlvbiA9IHt9O1xuXG4gICAgICAgIC8vIGlmIG5vIHBhcmVudCwgZmlsdGVyIGVtcHR5IGVsZW1lbnRzXG4gICAgICAgIGlmICghZmxhdE5vZGUpIHtcbiAgICAgICAgICAgIGlmICghY29uZmlnLnBhcmVudHNSZWxhdGlvbk5hbWVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHRGaWx0ZXIgPyBjb250ZXh0RmlsdGVyIDoge307XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghYWxsRGVlcHMpIHtcbiAgICAgICAgICAgICAgICBjb25maWcucGFyZW50c1JlbGF0aW9uTmFtZXMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRDb25kaXRpb25bZl0gPSB7ZW1wdHk6IHt9fTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghZmxhdE5vZGUubm9kZS5jb25maWcuY2hpbGRyZW5SZWxhdGlvbk5hbWVzIHx8ICFjb25maWcucGFyZW50c1JlbGF0aW9uTmFtZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdGaWx0ZXJzID0gaW50ZXJzZWN0aW9uKFxuICAgICAgICAgICAgICAgIGZsYXROb2RlLm5vZGUuY29uZmlnLmNoaWxkcmVuUmVsYXRpb25OYW1lcyxcbiAgICAgICAgICAgICAgICBjb25maWcucGFyZW50c1JlbGF0aW9uTmFtZXMsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKCFtYXRjaGluZ0ZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZENvbmRpdGlvblttYXRjaGluZ0ZpbHRlcnNbMF1dID0ge2hhdmU6IHt2YWx1ZXM6IFtmbGF0Tm9kZS5ub2RlLm1vZGVsLmlkXX19O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsdGVycyA9IHtncm91cHM6IFt7Y29uZGl0aW9uczogW2ZpZWxkQ29uZGl0aW9uXX1dfTtcblxuICAgICAgICAvLyB0b2RvIDogaXMgaXQgcmlnaHQgPyBzaG91bGRuJ3QgaXQgYmUgbWFuYWdlZCB3aXRoIFF1ZXJ5VmFyaWFibGVzTWFuYWdlcidzIGNoYW5uZWxzID8gP1xuICAgICAgICBpZiAoY29udGV4dEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVycy5ncm91cHMucHVzaCguLi5jb250ZXh0RmlsdGVyLmdyb3Vwcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlsdGVycztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSBjb250ZXh0IGZpbHRlciBhcHBsaWNhYmxlIHRvIHRoZSBzZXJ2aWNlIGZvciBnaXZlbiBjb25maWdcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgQXBwbGljYWJsZSBjb25maWdcbiAgICAgKiBAcGFyYW0gY29udGV4dEZpbHRlcnMgTGlzdCBvZiBjb250ZXh0IGZpbHRlcnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEZpbHRlckJ5U2VydmljZShcbiAgICAgICAgY29uZmlnOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb24sXG4gICAgICAgIGNvbnRleHRGaWx0ZXJzOiBIaWVyYXJjaGljRmlsdGVyQ29uZmlndXJhdGlvbltdIHwgbnVsbCxcbiAgICApOiBIaWVyYXJjaGljRmlsdGVyQ29uZmlndXJhdGlvblsnZmlsdGVyJ10gfCBudWxsIHtcbiAgICAgICAgaWYgKCFjb250ZXh0RmlsdGVycyB8fCAhY29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGNvbnRleHRGaWx0ZXJzLmZpbmQoZiA9PiBmLnNlcnZpY2UgPT09IGNvbmZpZy5zZXJ2aWNlKTtcbiAgICAgICAgcmV0dXJuIGZpbHRlciA/IGZpbHRlci5maWx0ZXIgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlYXJjaCBpbiBjb25maWd1cmF0aW9ucy5zZWxlY3RhYmxlQXRLZXkgYXR0cmlidXRlIHRvIGZpbmQgZ2l2ZW4ga2V5IGFuZCByZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldENvbmZpZ3VyYXRpb25CeVNlbGVjdGFibGVLZXkoXG4gICAgICAgIGtleTogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uWydzZWxlY3RhYmxlQXRLZXknXSxcbiAgICApOiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb24gfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5maW5kKGNvbmYgPT4gY29uZi5zZWxlY3RhYmxlQXRLZXkgPT09IGtleSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9yQ3JlYXRlTW9kZWxOb2RlKFxuICAgICAgICBpdGVtOiBIaWVyYXJjaGljTW9kZWwsXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbixcbiAgICApOiBIaWVyYXJjaGljTW9kZWxOb2RlIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZGF0YUNoYW5nZS52YWx1ZS5maW5kKG4gPT4gbi5tb2RlbC5pZCA9PT0gaXRlbS5pZCAmJiBuLm1vZGVsLl9fdHlwZW5hbWUgPT09IGl0ZW0uX190eXBlbmFtZSk7XG4gICAgICAgIHJldHVybiBub2RlIHx8IG5ldyBIaWVyYXJjaGljTW9kZWxOb2RlKGl0ZW0sIGNvbmZpZ3VyYXRpb24pO1xuICAgIH1cbn1cbiJdfQ==
@@ -7,8 +7,16 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/material/dialog";
8
8
  import * as i2 from "@angular/material/button";
9
9
  export class NaturalHierarchicSelectorDialogComponent {
10
+ dialogRef = inject(MatDialogRef);
11
+ /**
12
+ * Set of hierarchic configurations to pass as attribute to HierarchicComponent
13
+ */
14
+ config;
15
+ /**
16
+ * Natural search selections after initialisation
17
+ */
18
+ searchSelectionsOutput;
10
19
  constructor() {
11
- this.dialogRef = inject(MatDialogRef);
12
20
  const data = inject(MAT_DIALOG_DATA);
13
21
  this.config = defaults(data, { multiple: true, allowUnselect: true });
14
22
  this.searchSelectionsOutput = this.config.searchSelections;
@@ -20,11 +28,11 @@ export class NaturalHierarchicSelectorDialogComponent {
20
28
  };
21
29
  this.dialogRef.close(result);
22
30
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: NaturalHierarchicSelectorDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<h2 i18n mat-dialog-title>S\u00E9lection</h2>\n\n<mat-dialog-content>\n <natural-hierarchic-selector\n (selectionChange)=\"config.hierarchicSelection = $event\"\n [selected]=\"config.hierarchicSelection ?? {}\"\n [config]=\"config.hierarchicConfig\"\n [filters]=\"config.hierarchicFilters\"\n [multiple]=\"config.multiple ?? false\"\n [allowUnselect]=\"config.allowUnselect ?? true\"\n [searchFacets]=\"config.searchFacets ?? []\"\n [searchSelections]=\"config.searchSelections ?? []\"\n (searchSelectionChange)=\"searchSelectionsOutput = $event\"\n />\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-dialog-close mat-button i18n>Annuler</button>\n <button (click)=\"close(config.hierarchicSelection)\" color=\"primary\" mat-raised-button\n ><span i18n>Valider</span>\n </button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: NaturalHierarchicSelectorComponent, selector: "natural-hierarchic-selector", inputs: ["displayWith", "config", "multiple", "selected", "allowUnselect", "filters", "searchFacets", "searchSelections"], outputs: ["searchSelectionChange", "selectionChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: NaturalHierarchicSelectorDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<h2 i18n mat-dialog-title>S\u00E9lection</h2>\n\n<mat-dialog-content>\n <natural-hierarchic-selector\n (selectionChange)=\"config.hierarchicSelection = $event\"\n [selected]=\"config.hierarchicSelection ?? {}\"\n [config]=\"config.hierarchicConfig\"\n [filters]=\"config.hierarchicFilters\"\n [multiple]=\"config.multiple ?? false\"\n [allowUnselect]=\"config.allowUnselect ?? true\"\n [searchFacets]=\"config.searchFacets ?? []\"\n [searchSelections]=\"config.searchSelections ?? []\"\n (searchSelectionChange)=\"searchSelectionsOutput = $event\"\n />\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-dialog-close mat-button i18n>Annuler</button>\n <button (click)=\"close(config.hierarchicSelection)\" color=\"primary\" mat-raised-button\n ><span i18n>Valider</span>\n </button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: NaturalHierarchicSelectorComponent, selector: "natural-hierarchic-selector", inputs: ["displayWith", "config", "multiple", "selected", "allowUnselect", "filters", "searchFacets", "searchSelections"], outputs: ["searchSelectionChange", "selectionChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] });
25
33
  }
26
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogComponent, decorators: [{
27
35
  type: Component,
28
36
  args: [{ standalone: true, imports: [MatDialogModule, NaturalHierarchicSelectorComponent, MatButtonModule], template: "<h2 i18n mat-dialog-title>S\u00E9lection</h2>\n\n<mat-dialog-content>\n <natural-hierarchic-selector\n (selectionChange)=\"config.hierarchicSelection = $event\"\n [selected]=\"config.hierarchicSelection ?? {}\"\n [config]=\"config.hierarchicConfig\"\n [filters]=\"config.hierarchicFilters\"\n [multiple]=\"config.multiple ?? false\"\n [allowUnselect]=\"config.allowUnselect ?? true\"\n [searchFacets]=\"config.searchFacets ?? []\"\n [searchSelections]=\"config.searchSelections ?? []\"\n (searchSelectionChange)=\"searchSelectionsOutput = $event\"\n />\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-dialog-close mat-button i18n>Annuler</button>\n <button (click)=\"close(config.hierarchicSelection)\" color=\"primary\" mat-raised-button\n ><span i18n>Valider</span>\n </button>\n</mat-dialog-actions>\n" }]
29
37
  }], ctorParameters: () => [] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3ItZGlhbG9nL2hpZXJhcmNoaWMtc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBTTFDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzREFBc0QsQ0FBQzs7OztBQWtEeEcsTUFBTSxPQUFPLHdDQUF3QztJQWNqRDtRQWJRLGNBQVMsR0FDYixNQUFNLENBQWlGLFlBQVksQ0FBQyxDQUFDO1FBYXJHLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBeUIsZUFBZSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQTZDO1FBQ3RELE1BQU0sTUFBTSxHQUEyQjtZQUNuQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ3BDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FDdkQsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBNUJRLHdDQUF3QztrR0FBeEMsd0NBQXdDLHdFQzNEckQsczVCQXNCQSx5RERtQ2MsZUFBZSxnb0JBQUUsa0NBQWtDLHlQQUFFLGVBQWU7OzJGQUVyRSx3Q0FBd0M7a0JBTnBELFNBQVM7aUNBR00sSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGtDQUFrQyxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtjbG9uZSwgZGVmYXVsdHN9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge05hdHVyYWxTZWFyY2hGYWNldHN9IGZyb20gJy4uLy4uL3NlYXJjaC90eXBlcy9mYWNldCc7XG5pbXBvcnQge05hdHVyYWxTZWFyY2hTZWxlY3Rpb25zfSBmcm9tICcuLi8uLi9zZWFyY2gvdHlwZXMvdmFsdWVzJztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9ufSBmcm9tICcuLi9jbGFzc2VzL2hpZXJhcmNoaWMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0hpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vY2xhc3Nlcy9oaWVyYXJjaGljLWZpbHRlcnMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge09yZ2FuaXplZE1vZGVsU2VsZWN0aW9ufSBmcm9tICcuLi9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckNvbXBvbmVudH0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEhpZXJhcmNoaWNEaWFsb2dSZXN1bHQgPSB7XG4gICAgaGllcmFyY2hpY1NlbGVjdGlvbj86IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uO1xuICAgIHNlYXJjaFNlbGVjdGlvbnM/OiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBIaWVyYXJjaGljRGlhbG9nQ29uZmlnID0ge1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gdG8gc2V0dXAgcnVsZXMgb2YgaGllcmFyY2h5XG4gICAgICovXG4gICAgaGllcmFyY2hpY0NvbmZpZzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW107XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RlZCBpdGVtcyB3aGVuIEhpZXJhcmNoaWNDb21wb25lbnQgaW5pdGlhbGl6ZXNcbiAgICAgKi9cbiAgICBoaWVyYXJjaGljU2VsZWN0aW9uPzogT3JnYW5pemVkTW9kZWxTZWxlY3Rpb247XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIHRvIGFwcGx5IG9uIHF1ZXJpZXMgKHdoZW4gb3BlbmluZyBuZXcgbGV2ZWwgb2YgaGllcmFyY2h5KVxuICAgICAqL1xuICAgIGhpZXJhcmNoaWNGaWx0ZXJzPzogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE11bHRpcGxlIHNlbGVjdGlvbiBpZiB0cnVlIG9yIHNpbmdsZSBzZWxlY3Rpb24gaWYgZmFsc2VcbiAgICAgKi9cbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBbGxvdyB0byB2YWxpZGF0ZSBzZWxlY3Rpb24gd2l0aCBubyBpdGVtcyBjaGVja2VkXG4gICAgICovXG4gICAgYWxsb3dVbnNlbGVjdD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBGYWNldHMgZm9yIG5hdHVyYWwtc2VhcmNoIGluIEhpZXJhcmNoaWNDb21wb25lbnRcbiAgICAgKi9cbiAgICBzZWFyY2hGYWNldHM/OiBOYXR1cmFsU2VhcmNoRmFjZXRzO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0aW9ucyBvZiBuYXR1cmFsIHNlYXJjaCB0byBpbml0aWFsaXplIG9uIEhpZXJhcmNoaWNDb21wb25lbnQgaW5pdGlhbGlzYXRpb25cbiAgICAgKi9cbiAgICBzZWFyY2hTZWxlY3Rpb25zPzogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMgfCBudWxsO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpZXJhcmNoaWMtc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdERpYWxvZ01vZHVsZSwgTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckNvbXBvbmVudCwgTWF0QnV0dG9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBkaWFsb2dSZWYgPVxuICAgICAgICBpbmplY3Q8TWF0RGlhbG9nUmVmPE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIEhpZXJhcmNoaWNEaWFsb2dSZXN1bHQ+PihNYXREaWFsb2dSZWYpO1xuXG4gICAgLyoqXG4gICAgICogU2V0IG9mIGhpZXJhcmNoaWMgY29uZmlndXJhdGlvbnMgdG8gcGFzcyBhcyBhdHRyaWJ1dGUgdG8gSGllcmFyY2hpY0NvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBjb25maWc6IEhpZXJhcmNoaWNEaWFsb2dDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBOYXR1cmFsIHNlYXJjaCBzZWxlY3Rpb25zIGFmdGVyIGluaXRpYWxpc2F0aW9uXG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaFNlbGVjdGlvbnNPdXRwdXQ6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zIHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGluamVjdDxIaWVyYXJjaGljRGlhbG9nQ29uZmlnPihNQVRfRElBTE9HX0RBVEEpO1xuXG4gICAgICAgIHRoaXMuY29uZmlnID0gZGVmYXVsdHMoZGF0YSwge211bHRpcGxlOiB0cnVlLCBhbGxvd1Vuc2VsZWN0OiB0cnVlfSk7XG4gICAgICAgIHRoaXMuc2VhcmNoU2VsZWN0aW9uc091dHB1dCA9IHRoaXMuY29uZmlnLnNlYXJjaFNlbGVjdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKHNlbGVjdGVkOiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZXN1bHQ6IEhpZXJhcmNoaWNEaWFsb2dSZXN1bHQgPSB7XG4gICAgICAgICAgICBoaWVyYXJjaGljU2VsZWN0aW9uOiBjbG9uZShzZWxlY3RlZCksXG4gICAgICAgICAgICBzZWFyY2hTZWxlY3Rpb25zOiBjbG9uZSh0aGlzLnNlYXJjaFNlbGVjdGlvbnNPdXRwdXQpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgfVxufVxuIiwiPGgyIGkxOG4gbWF0LWRpYWxvZy10aXRsZT5Tw6lsZWN0aW9uPC9oMj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8bmF0dXJhbC1oaWVyYXJjaGljLXNlbGVjdG9yXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiY29uZmlnLmhpZXJhcmNoaWNTZWxlY3Rpb24gPSAkZXZlbnRcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwiY29uZmlnLmhpZXJhcmNoaWNTZWxlY3Rpb24gPz8ge31cIlxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZy5oaWVyYXJjaGljQ29uZmlnXCJcbiAgICAgICAgW2ZpbHRlcnNdPVwiY29uZmlnLmhpZXJhcmNoaWNGaWx0ZXJzXCJcbiAgICAgICAgW211bHRpcGxlXT1cImNvbmZpZy5tdWx0aXBsZSA/PyBmYWxzZVwiXG4gICAgICAgIFthbGxvd1Vuc2VsZWN0XT1cImNvbmZpZy5hbGxvd1Vuc2VsZWN0ID8/IHRydWVcIlxuICAgICAgICBbc2VhcmNoRmFjZXRzXT1cImNvbmZpZy5zZWFyY2hGYWNldHMgPz8gW11cIlxuICAgICAgICBbc2VhcmNoU2VsZWN0aW9uc109XCJjb25maWcuc2VhcmNoU2VsZWN0aW9ucyA/PyBbXVwiXG4gICAgICAgIChzZWFyY2hTZWxlY3Rpb25DaGFuZ2UpPVwic2VhcmNoU2VsZWN0aW9uc091dHB1dCA9ICRldmVudFwiXG4gICAgLz5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gICAgPGJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIG1hdC1idXR0b24gaTE4bj5Bbm51bGVyPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoY29uZmlnLmhpZXJhcmNoaWNTZWxlY3Rpb24pXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgPjxzcGFuIGkxOG4+VmFsaWRlcjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9oaWVyYXJjaGljLXNlbGVjdG9yL2hpZXJhcmNoaWMtc2VsZWN0b3ItZGlhbG9nL2hpZXJhcmNoaWMtc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBTTFDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzREFBc0QsQ0FBQzs7OztBQWtEeEcsTUFBTSxPQUFPLHdDQUF3QztJQUN6QyxTQUFTLEdBQ2IsTUFBTSxDQUFpRixZQUFZLENBQUMsQ0FBQztJQUV6Rzs7T0FFRztJQUNJLE1BQU0sQ0FBeUI7SUFFdEM7O09BRUc7SUFDSSxzQkFBc0IsQ0FBNkM7SUFFMUU7UUFDSSxNQUFNLElBQUksR0FBRyxNQUFNLENBQXlCLGVBQWUsQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDL0QsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUE2QztRQUN0RCxNQUFNLE1BQU0sR0FBMkI7WUFDbkMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNwQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1NBQ3ZELENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO3VHQTVCUSx3Q0FBd0M7MkZBQXhDLHdDQUF3Qyx3RUMzRHJELHM1QkFzQkEseUREbUNjLGVBQWUsZ29CQUFFLGtDQUFrQyx5UEFBRSxlQUFlOzsyRkFFckUsd0NBQXdDO2tCQU5wRCxTQUFTO2lDQUdNLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxrQ0FBa0MsRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYsIE1hdERpYWxvZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7Y2xvbmUsIGRlZmF1bHRzfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtOYXR1cmFsU2VhcmNoRmFjZXRzfSBmcm9tICcuLi8uLi9zZWFyY2gvdHlwZXMvZmFjZXQnO1xuaW1wb3J0IHtOYXR1cmFsU2VhcmNoU2VsZWN0aW9uc30gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL3ZhbHVlcyc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vY2xhc3Nlcy9oaWVyYXJjaGljLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb259IGZyb20gJy4uL2NsYXNzZXMvaGllcmFyY2hpYy1maWx0ZXJzLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbn0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JDb21wb25lbnR9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBIaWVyYXJjaGljRGlhbG9nUmVzdWx0ID0ge1xuICAgIGhpZXJhcmNoaWNTZWxlY3Rpb24/OiBPcmdhbml6ZWRNb2RlbFNlbGVjdGlvbjtcbiAgICBzZWFyY2hTZWxlY3Rpb25zPzogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgSGllcmFyY2hpY0RpYWxvZ0NvbmZpZyA9IHtcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIHRvIHNldHVwIHJ1bGVzIG9mIGhpZXJhcmNoeVxuICAgICAqL1xuICAgIGhpZXJhcmNoaWNDb25maWc6IE5hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbltdO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0ZWQgaXRlbXMgd2hlbiBIaWVyYXJjaGljQ29tcG9uZW50IGluaXRpYWxpemVzXG4gICAgICovXG4gICAgaGllcmFyY2hpY1NlbGVjdGlvbj86IE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVycyB0byBhcHBseSBvbiBxdWVyaWVzICh3aGVuIG9wZW5pbmcgbmV3IGxldmVsIG9mIGhpZXJhcmNoeSlcbiAgICAgKi9cbiAgICBoaWVyYXJjaGljRmlsdGVycz86IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBNdWx0aXBsZSBzZWxlY3Rpb24gaWYgdHJ1ZSBvciBzaW5nbGUgc2VsZWN0aW9uIGlmIGZhbHNlXG4gICAgICovXG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQWxsb3cgdG8gdmFsaWRhdGUgc2VsZWN0aW9uIHdpdGggbm8gaXRlbXMgY2hlY2tlZFxuICAgICAqL1xuICAgIGFsbG93VW5zZWxlY3Q/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRmFjZXRzIGZvciBuYXR1cmFsLXNlYXJjaCBpbiBIaWVyYXJjaGljQ29tcG9uZW50XG4gICAgICovXG4gICAgc2VhcmNoRmFjZXRzPzogTmF0dXJhbFNlYXJjaEZhY2V0cztcblxuICAgIC8qKlxuICAgICAqIFNlbGVjdGlvbnMgb2YgbmF0dXJhbCBzZWFyY2ggdG8gaW5pdGlhbGl6ZSBvbiBIaWVyYXJjaGljQ29tcG9uZW50IGluaXRpYWxpc2F0aW9uXG4gICAgICovXG4gICAgc2VhcmNoU2VsZWN0aW9ucz86IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zIHwgbnVsbDtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2hpZXJhcmNoaWMtc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5zY3NzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtNYXREaWFsb2dNb2R1bGUsIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQge1xuICAgIHByaXZhdGUgZGlhbG9nUmVmID1cbiAgICAgICAgaW5qZWN0PE1hdERpYWxvZ1JlZjxOYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nQ29tcG9uZW50LCBIaWVyYXJjaGljRGlhbG9nUmVzdWx0Pj4oTWF0RGlhbG9nUmVmKTtcblxuICAgIC8qKlxuICAgICAqIFNldCBvZiBoaWVyYXJjaGljIGNvbmZpZ3VyYXRpb25zIHRvIHBhc3MgYXMgYXR0cmlidXRlIHRvIEhpZXJhcmNoaWNDb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlnOiBIaWVyYXJjaGljRGlhbG9nQ29uZmlnO1xuXG4gICAgLyoqXG4gICAgICogTmF0dXJhbCBzZWFyY2ggc2VsZWN0aW9ucyBhZnRlciBpbml0aWFsaXNhdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBzZWFyY2hTZWxlY3Rpb25zT3V0cHV0OiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBpbmplY3Q8SGllcmFyY2hpY0RpYWxvZ0NvbmZpZz4oTUFUX0RJQUxPR19EQVRBKTtcblxuICAgICAgICB0aGlzLmNvbmZpZyA9IGRlZmF1bHRzKGRhdGEsIHttdWx0aXBsZTogdHJ1ZSwgYWxsb3dVbnNlbGVjdDogdHJ1ZX0pO1xuICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdGlvbnNPdXRwdXQgPSB0aGlzLmNvbmZpZy5zZWFyY2hTZWxlY3Rpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZShzZWxlY3RlZDogT3JnYW5pemVkTW9kZWxTZWxlY3Rpb24gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBIaWVyYXJjaGljRGlhbG9nUmVzdWx0ID0ge1xuICAgICAgICAgICAgaGllcmFyY2hpY1NlbGVjdGlvbjogY2xvbmUoc2VsZWN0ZWQpLFxuICAgICAgICAgICAgc2VhcmNoU2VsZWN0aW9uczogY2xvbmUodGhpcy5zZWFyY2hTZWxlY3Rpb25zT3V0cHV0KSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgIH1cbn1cbiIsIjxoMiBpMThuIG1hdC1kaWFsb2ctdGl0bGU+U8OpbGVjdGlvbjwvaDI+XG5cbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG5hdHVyYWwtaGllcmFyY2hpYy1zZWxlY3RvclxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImNvbmZpZy5oaWVyYXJjaGljU2VsZWN0aW9uID0gJGV2ZW50XCJcbiAgICAgICAgW3NlbGVjdGVkXT1cImNvbmZpZy5oaWVyYXJjaGljU2VsZWN0aW9uID8/IHt9XCJcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWcuaGllcmFyY2hpY0NvbmZpZ1wiXG4gICAgICAgIFtmaWx0ZXJzXT1cImNvbmZpZy5oaWVyYXJjaGljRmlsdGVyc1wiXG4gICAgICAgIFttdWx0aXBsZV09XCJjb25maWcubXVsdGlwbGUgPz8gZmFsc2VcIlxuICAgICAgICBbYWxsb3dVbnNlbGVjdF09XCJjb25maWcuYWxsb3dVbnNlbGVjdCA/PyB0cnVlXCJcbiAgICAgICAgW3NlYXJjaEZhY2V0c109XCJjb25maWcuc2VhcmNoRmFjZXRzID8/IFtdXCJcbiAgICAgICAgW3NlYXJjaFNlbGVjdGlvbnNdPVwiY29uZmlnLnNlYXJjaFNlbGVjdGlvbnMgPz8gW11cIlxuICAgICAgICAoc2VhcmNoU2VsZWN0aW9uQ2hhbmdlKT1cInNlYXJjaFNlbGVjdGlvbnNPdXRwdXQgPSAkZXZlbnRcIlxuICAgIC8+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgIDxidXR0b24gbWF0LWRpYWxvZy1jbG9zZSBtYXQtYnV0dG9uIGkxOG4+QW5udWxlcjwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlKGNvbmZpZy5oaWVyYXJjaGljU2VsZWN0aW9uKVwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgID48c3BhbiBpMThuPlZhbGlkZXI8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
@@ -4,9 +4,7 @@ import { defaults } from 'lodash-es';
4
4
  import { NaturalHierarchicSelectorDialogComponent, } from './hierarchic-selector-dialog.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NaturalHierarchicSelectorDialogService {
7
- constructor() {
8
- this.dialog = inject(MatDialog);
9
- }
7
+ dialog = inject(MatDialog);
10
8
  open(hierarchicConfig, dialogConfig) {
11
9
  const defaultDialogConfig = {
12
10
  width: '700px',
@@ -14,11 +12,11 @@ export class NaturalHierarchicSelectorDialogService {
14
12
  };
15
13
  return this.dialog.open(NaturalHierarchicSelectorDialogComponent, defaults(dialogConfig, defaultDialogConfig));
16
14
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogService, providedIn: 'root' }); }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogService, providedIn: 'root' });
19
17
  }
20
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalHierarchicSelectorDialogService, decorators: [{
21
19
  type: Injectable,
22
20
  args: [{ providedIn: 'root' }]
23
21
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsU0FBUyxFQUFnQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUdILHdDQUF3QyxHQUMzQyxNQUFNLHdDQUF3QyxDQUFDOztBQUdoRCxNQUFNLE9BQU8sc0NBQXNDO0lBRG5EO1FBRXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0FpQi9DO0lBZlUsSUFBSSxDQUNQLGdCQUF3QyxFQUN4QyxZQUE4QjtRQUU5QixNQUFNLG1CQUFtQixHQUFHO1lBQ3hCLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLGdCQUFnQjtTQUN6QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FJckIsd0NBQXdDLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs4R0FqQlEsc0NBQXNDO2tIQUF0QyxzQ0FBc0MsY0FEMUIsTUFBTTs7MkZBQ2xCLHNDQUFzQztrQkFEbEQsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge2RlZmF1bHRzfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgICBIaWVyYXJjaGljRGlhbG9nQ29uZmlnLFxuICAgIEhpZXJhcmNoaWNEaWFsb2dSZXN1bHQsXG4gICAgTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbn0gZnJvbSAnLi9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcblxuICAgIHB1YmxpYyBvcGVuKFxuICAgICAgICBoaWVyYXJjaGljQ29uZmlnOiBIaWVyYXJjaGljRGlhbG9nQ29uZmlnLFxuICAgICAgICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWcsXG4gICAgKTogTWF0RGlhbG9nUmVmPE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIEhpZXJhcmNoaWNEaWFsb2dSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNzAwcHgnLFxuICAgICAgICAgICAgZGF0YTogaGllcmFyY2hpY0NvbmZpZyxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbjxcbiAgICAgICAgICAgIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICBIaWVyYXJjaGljRGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgSGllcmFyY2hpY0RpYWxvZ1Jlc3VsdFxuICAgICAgICA+KE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIGRlZmF1bHRzKGRpYWxvZ0NvbmZpZywgZGVmYXVsdERpYWxvZ0NvbmZpZykpO1xuICAgIH1cbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsU0FBUyxFQUFnQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUdILHdDQUF3QyxHQUMzQyxNQUFNLHdDQUF3QyxDQUFDOztBQUdoRCxNQUFNLE9BQU8sc0NBQXNDO0lBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFckMsSUFBSSxDQUNQLGdCQUF3QyxFQUN4QyxZQUE4QjtRQUU5QixNQUFNLG1CQUFtQixHQUFHO1lBQ3hCLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLGdCQUFnQjtTQUN6QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FJckIsd0NBQXdDLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzt1R0FqQlEsc0NBQXNDOzJHQUF0QyxzQ0FBc0MsY0FEMUIsTUFBTTs7MkZBQ2xCLHNDQUFzQztrQkFEbEQsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge2RlZmF1bHRzfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgICBIaWVyYXJjaGljRGlhbG9nQ29uZmlnLFxuICAgIEhpZXJhcmNoaWNEaWFsb2dSZXN1bHQsXG4gICAgTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbn0gZnJvbSAnLi9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcblxuICAgIHB1YmxpYyBvcGVuKFxuICAgICAgICBoaWVyYXJjaGljQ29uZmlnOiBIaWVyYXJjaGljRGlhbG9nQ29uZmlnLFxuICAgICAgICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWcsXG4gICAgKTogTWF0RGlhbG9nUmVmPE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIEhpZXJhcmNoaWNEaWFsb2dSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNzAwcHgnLFxuICAgICAgICAgICAgZGF0YTogaGllcmFyY2hpY0NvbmZpZyxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbjxcbiAgICAgICAgICAgIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICBIaWVyYXJjaGljRGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgSGllcmFyY2hpY0RpYWxvZ1Jlc3VsdFxuICAgICAgICA+KE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIGRlZmF1bHRzKGRpYWxvZ0NvbmZpZywgZGVmYXVsdERpYWxvZ0NvbmZpZykpO1xuICAgIH1cbn1cbiJdfQ==
@@ -21,13 +21,13 @@ const naturalRegistered = Symbol('Natural icon registered');
21
21
  * ```
22
22
  */
23
23
  export class NaturalIconDirective {
24
+ matIconRegistry = inject(MatIconRegistry);
25
+ domSanitizer = inject(DomSanitizer);
26
+ config = inject(NATURAL_ICONS_CONFIG, { optional: true });
27
+ matIconComponent = inject(MatIcon, { host: true, self: true });
28
+ _size = undefined;
29
+ classes = '';
24
30
  constructor() {
25
- this.matIconRegistry = inject(MatIconRegistry);
26
- this.domSanitizer = inject(DomSanitizer);
27
- this.config = inject(NATURAL_ICONS_CONFIG, { optional: true });
28
- this.matIconComponent = inject(MatIcon, { host: true, self: true });
29
- this._size = undefined;
30
- this.classes = '';
31
31
  const config = this.config;
32
32
  this.registerIcons(config ?? {});
33
33
  }
@@ -66,8 +66,8 @@ export class NaturalIconDirective {
66
66
  }
67
67
  }
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
70
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: NaturalIconDirective, isStandalone: true, selector: "mat-icon[naturalIcon]", inputs: { naturalIcon: "naturalIcon", size: "size" }, host: { properties: { "style.font-size.px": "this._size", "style.min-height.px": "this._size", "style.min-width.px": "this._size", "class": "this.classes" } }, ngImport: i0 }); }
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
70
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: NaturalIconDirective, isStandalone: true, selector: "mat-icon[naturalIcon]", inputs: { naturalIcon: "naturalIcon", size: "size" }, host: { properties: { "style.font-size.px": "this._size", "style.min-height.px": "this._size", "style.min-width.px": "this._size", "class": "this.classes" } }, ngImport: i0 });
71
71
  }
72
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalIconDirective, decorators: [{
73
73
  type: Directive,
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
93
93
  }], size: [{
94
94
  type: Input
95
95
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQWlCdkQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXFCLGlDQUFpQyxDQUFDLENBQUM7QUFFOUcsTUFBTSxpQkFBaUIsR0FBa0IsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFFM0U7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBS0gsTUFBTSxPQUFPLG9CQUFvQjtJQWE3QjtRQVppQixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxXQUFNLEdBQUcsTUFBTSxDQUE0QixvQkFBb0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ25GLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBS3RFLFVBQUssR0FBdUIsU0FBUyxDQUFDO1FBRWhCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUzQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFDVyxXQUFXLENBQUMsS0FBYTtRQUNoQyxNQUFNLE9BQU8sR0FBb0I7WUFDN0IsSUFBSSxFQUFFLEtBQUs7WUFDWCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1NBQzdDLENBQUM7UUFFRixJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsU0FBVSxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsU0FBVSxDQUFDO1FBRTNDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ2xELENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUNXLElBQUksQ0FBQyxJQUErQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUEwQjtRQUM1QyxtRUFBbUU7UUFDbkUsc0NBQXNDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFzQixDQUFDO1FBQzdDLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1gsQ0FBQztRQUNELFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzVCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNoRyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBNURRLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFVVyxLQUFLO3NCQUhaLFdBQVc7dUJBQUMsb0JBQW9COztzQkFDaEMsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFHSCxPQUFPO3NCQUFwQyxXQUFXO3VCQUFDLE9BQU87Z0JBU1QsV0FBVztzQkFEckIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBc0JaLElBQUk7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRJY29uLCBNYXRJY29uUmVnaXN0cnl9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG50eXBlIE5hdHVyYWxJY29uVHlwZSA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc3ZnPzogc3RyaW5nO1xuICAgIGZvbnQ/OiBzdHJpbmc7XG4gICAgY2xhc3M/OiAnbmVnYXRpdmUnIHwgJ25ldXRyYWwnIHwgJ3Bvc2l0aXZlJztcbn07XG5cbmV4cG9ydCB0eXBlIE5hdHVyYWxJY29uQ29uZmlnID0ge1xuICAgIHN2Zz86IHN0cmluZztcbiAgICBmb250Pzogc3RyaW5nO1xuICAgIGNsYXNzPzogJ25lZ2F0aXZlJyB8ICduZXV0cmFsJyB8ICdwb3NpdGl2ZSc7XG59O1xuXG5leHBvcnQgdHlwZSBOYXR1cmFsSWNvbnNDb25maWcgPSBSZWNvcmQ8c3RyaW5nLCBOYXR1cmFsSWNvbkNvbmZpZz47XG5cbmV4cG9ydCBjb25zdCBOQVRVUkFMX0lDT05TX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXR1cmFsSWNvbnNDb25maWc+KCdDb25maWd1cmF0aW9uIGZvciBOYXR1cmFsIEljb25zJyk7XG5cbmNvbnN0IG5hdHVyYWxSZWdpc3RlcmVkOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sKCdOYXR1cmFsIGljb24gcmVnaXN0ZXJlZCcpO1xuXG4vKipcbiAqIEFsbG93cyB0byB1c2UgYDxtYXQtaWNvbj5gIHdpdGhvdXQga25vd2luZyB3aGVyZSBhbiBpY29uIGNvbWVzIGZyb20gKFNWRyBvciBmb250KSBvciB3aXRoIGFsaWFzZXMgZm9yIE1hdGVyaWFsIGZvbnQuXG4gKlxuICogU1ZHIGljb25zIGFuZCBNYXRlcmlhbCBmb250IGFsaWFzZXMgbXVzdCBiZSBjb25maWd1cmVkIGFoZWFkIG9mIHRpbWUsIHZpYSBgTkFUVVJBTF9JQ09OU19DT05GSUdgLlxuICpcbiAqIEl0IGFsc28gbWFrZSBpdCBlYXN5IHRvIGdpdmUgYSBzcGVjaWZpYyBzaXplIHRvIHRoZSBpY29uIHZpYSBgW3NpemVdYC5cbiAqXG4gKiBVc2FnZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8bWF0LWljb24gbmF0dXJhbEljb249XCJzZWFyY2hcIj48L21hdC1pY29uPlxuICogPG1hdC1pY29uIG5hdHVyYWxJY29uPVwibXktc3ZnLWljb24tbmFtZVwiPjwvbWF0LWljb24+XG4gKiA8bWF0LWljb24gbmF0dXJhbEljb249XCJteS1hbGlhcy1mb3Itc2VhcmNoXCI+PC9tYXQtaWNvbj5cbiAqIDxtYXQtaWNvbiBuYXR1cmFsSWNvbj1cInNlYXJjaFwiIFtzaXplXT1cIjE1MFwiPjwvbWF0LWljb24+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdtYXQtaWNvbltuYXR1cmFsSWNvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxJY29uRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdEljb25SZWdpc3RyeSA9IGluamVjdChNYXRJY29uUmVnaXN0cnkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tU2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3Q8TmF0dXJhbEljb25zQ29uZmlnIHwgbnVsbD4oTkFUVVJBTF9JQ09OU19DT05GSUcsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0SWNvbkNvbXBvbmVudCA9IGluamVjdChNYXRJY29uLCB7aG9zdDogdHJ1ZSwgc2VsZjogdHJ1ZX0pO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mb250LXNpemUucHgnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLWhlaWdodC5weCcpXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4td2lkdGgucHgnKVxuICAgIHByaXZhdGUgX3NpemU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBwcml2YXRlIGNsYXNzZXMgPSAnJztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICAgICAgdGhpcy5yZWdpc3Rlckljb25zKGNvbmZpZyA/PyB7fSk7XG4gICAgfVxuXG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gICAgcHVibGljIHNldCBuYXR1cmFsSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG5ld0ljb246IE5hdHVyYWxJY29uVHlwZSA9IHtcbiAgICAgICAgICAgIG5hbWU6IHZhbHVlLFxuICAgICAgICAgICAgLi4uKHRoaXMuY29uZmlnPy5bdmFsdWVdID8/IHtmb250OiB2YWx1ZX0pLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChuZXdJY29uLmNsYXNzKSB7XG4gICAgICAgICAgICB0aGlzLmNsYXNzZXMgPSBuZXdJY29uLmNsYXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYXRJY29uQ29tcG9uZW50LmZvbnRJY29uID0gdW5kZWZpbmVkITtcbiAgICAgICAgdGhpcy5tYXRJY29uQ29tcG9uZW50LnN2Z0ljb24gPSB1bmRlZmluZWQhO1xuXG4gICAgICAgIGlmIChuZXdJY29uLmZvbnQpIHtcbiAgICAgICAgICAgIHRoaXMubWF0SWNvbkNvbXBvbmVudC5mb250SWNvbiA9IG5ld0ljb24uZm9udDtcbiAgICAgICAgfSBlbHNlIGlmIChuZXdJY29uLnN2Zykge1xuICAgICAgICAgICAgdGhpcy5tYXRJY29uQ29tcG9uZW50LnN2Z0ljb24gPSBuZXdJY29uLm5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2l6ZShzaXplOiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSBzaXplID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVySWNvbnMoY29uZmlnOiBOYXR1cmFsSWNvbnNDb25maWcpOiB2b2lkIHtcbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhpcyBzcGVjaWZpYyBpbnN0YW5jZSBvZiByZWdpc3RyeSBoYXMgb3VyIG91ciBpY29uc1xuICAgICAgICAvLyBleGFjdGx5IG9uY2UsIG5vdCBsZXNzIGFuZCBub3QgbW9yZVxuICAgICAgICBjb25zdCByZWdpc3RyeSA9IHRoaXMubWF0SWNvblJlZ2lzdHJ5IGFzIGFueTtcbiAgICAgICAgaWYgKHJlZ2lzdHJ5W25hdHVyYWxSZWdpc3RlcmVkXSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlZ2lzdHJ5W25hdHVyYWxSZWdpc3RlcmVkXSA9IHRydWU7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoY29uZmlnKSkge1xuICAgICAgICAgICAgY29uc3Qgc3ZnID0gY29uZmlnW2tleV0uc3ZnO1xuICAgICAgICAgICAgaWYgKHN2Zykge1xuICAgICAgICAgICAgICAgIHRoaXMubWF0SWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb24oa2V5LCB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoc3ZnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQWlCdkQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXFCLGlDQUFpQyxDQUFDLENBQUM7QUFFOUcsTUFBTSxpQkFBaUIsR0FBa0IsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFFM0U7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBS0gsTUFBTSxPQUFPLG9CQUFvQjtJQUNaLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDeEQsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFLdEUsS0FBSyxHQUF1QixTQUFTLENBQUM7SUFFaEIsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUUzQztRQUNJLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ1csV0FBVyxDQUFDLEtBQWE7UUFDaEMsTUFBTSxPQUFPLEdBQW9CO1lBQzdCLElBQUksRUFBRSxLQUFLO1lBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQztTQUM3QyxDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLFNBQVUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLFNBQVUsQ0FBQztRQUUzQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNsRCxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDO0lBRUQsSUFDVyxJQUFJLENBQUMsSUFBK0I7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBMEI7UUFDNUMsbUVBQW1FO1FBQ25FLHNDQUFzQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBc0IsQ0FBQztRQUM3QyxJQUFJLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNYLENBQUM7UUFDRCxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFbkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUM1QixJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEcsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO3VHQTVEUSxvQkFBb0I7MkZBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7d0RBVVcsS0FBSztzQkFIWixXQUFXO3VCQUFDLG9CQUFvQjs7c0JBQ2hDLFdBQVc7dUJBQUMscUJBQXFCOztzQkFDakMsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBR0gsT0FBTztzQkFBcEMsV0FBVzt1QkFBQyxPQUFPO2dCQVNULFdBQVc7c0JBRHJCLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQXNCWixJQUFJO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEluamVjdGlvblRva2VuLCBJbnB1dCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0SWNvbiwgTWF0SWNvblJlZ2lzdHJ5fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxudHlwZSBOYXR1cmFsSWNvblR5cGUgPSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHN2Zz86IHN0cmluZztcbiAgICBmb250Pzogc3RyaW5nO1xuICAgIGNsYXNzPzogJ25lZ2F0aXZlJyB8ICduZXV0cmFsJyB8ICdwb3NpdGl2ZSc7XG59O1xuXG5leHBvcnQgdHlwZSBOYXR1cmFsSWNvbkNvbmZpZyA9IHtcbiAgICBzdmc/OiBzdHJpbmc7XG4gICAgZm9udD86IHN0cmluZztcbiAgICBjbGFzcz86ICduZWdhdGl2ZScgfCAnbmV1dHJhbCcgfCAncG9zaXRpdmUnO1xufTtcblxuZXhwb3J0IHR5cGUgTmF0dXJhbEljb25zQ29uZmlnID0gUmVjb3JkPHN0cmluZywgTmF0dXJhbEljb25Db25maWc+O1xuXG5leHBvcnQgY29uc3QgTkFUVVJBTF9JQ09OU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF0dXJhbEljb25zQ29uZmlnPignQ29uZmlndXJhdGlvbiBmb3IgTmF0dXJhbCBJY29ucycpO1xuXG5jb25zdCBuYXR1cmFsUmVnaXN0ZXJlZDogdW5pcXVlIHN5bWJvbCA9IFN5bWJvbCgnTmF0dXJhbCBpY29uIHJlZ2lzdGVyZWQnKTtcblxuLyoqXG4gKiBBbGxvd3MgdG8gdXNlIGA8bWF0LWljb24+YCB3aXRob3V0IGtub3dpbmcgd2hlcmUgYW4gaWNvbiBjb21lcyBmcm9tIChTVkcgb3IgZm9udCkgb3Igd2l0aCBhbGlhc2VzIGZvciBNYXRlcmlhbCBmb250LlxuICpcbiAqIFNWRyBpY29ucyBhbmQgTWF0ZXJpYWwgZm9udCBhbGlhc2VzIG11c3QgYmUgY29uZmlndXJlZCBhaGVhZCBvZiB0aW1lLCB2aWEgYE5BVFVSQUxfSUNPTlNfQ09ORklHYC5cbiAqXG4gKiBJdCBhbHNvIG1ha2UgaXQgZWFzeSB0byBnaXZlIGEgc3BlY2lmaWMgc2l6ZSB0byB0aGUgaWNvbiB2aWEgYFtzaXplXWAuXG4gKlxuICogVXNhZ2U6XG4gKlxuICogYGBgaHRtbFxuICogPG1hdC1pY29uIG5hdHVyYWxJY29uPVwic2VhcmNoXCI+PC9tYXQtaWNvbj5cbiAqIDxtYXQtaWNvbiBuYXR1cmFsSWNvbj1cIm15LXN2Zy1pY29uLW5hbWVcIj48L21hdC1pY29uPlxuICogPG1hdC1pY29uIG5hdHVyYWxJY29uPVwibXktYWxpYXMtZm9yLXNlYXJjaFwiPjwvbWF0LWljb24+XG4gKiA8bWF0LWljb24gbmF0dXJhbEljb249XCJzZWFyY2hcIiBbc2l6ZV09XCIxNTBcIj48L21hdC1pY29uPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWF0LWljb25bbmF0dXJhbEljb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsSWNvbkRpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRJY29uUmVnaXN0cnkgPSBpbmplY3QoTWF0SWNvblJlZ2lzdHJ5KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvbVNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KE5BVFVSQUxfSUNPTlNfQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdEljb25Db21wb25lbnQgPSBpbmplY3QoTWF0SWNvbiwge2hvc3Q6IHRydWUsIHNlbGY6IHRydWV9KTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZm9udC1zaXplLnB4JylcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi1oZWlnaHQucHgnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoLnB4JylcbiAgICBwcml2YXRlIF9zaXplOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHJpdmF0ZSBjbGFzc2VzID0gJyc7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJJY29ucyhjb25maWcgPz8ge30pO1xuICAgIH1cblxuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICAgIHB1YmxpYyBzZXQgbmF0dXJhbEljb24odmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuZXdJY29uOiBOYXR1cmFsSWNvblR5cGUgPSB7XG4gICAgICAgICAgICBuYW1lOiB2YWx1ZSxcbiAgICAgICAgICAgIC4uLih0aGlzLmNvbmZpZz8uW3ZhbHVlXSA/PyB7Zm9udDogdmFsdWV9KSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobmV3SWNvbi5jbGFzcykge1xuICAgICAgICAgICAgdGhpcy5jbGFzc2VzID0gbmV3SWNvbi5jbGFzcztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWF0SWNvbkNvbXBvbmVudC5mb250SWNvbiA9IHVuZGVmaW5lZCE7XG4gICAgICAgIHRoaXMubWF0SWNvbkNvbXBvbmVudC5zdmdJY29uID0gdW5kZWZpbmVkITtcblxuICAgICAgICBpZiAobmV3SWNvbi5mb250KSB7XG4gICAgICAgICAgICB0aGlzLm1hdEljb25Db21wb25lbnQuZm9udEljb24gPSBuZXdJY29uLmZvbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAobmV3SWNvbi5zdmcpIHtcbiAgICAgICAgICAgIHRoaXMubWF0SWNvbkNvbXBvbmVudC5zdmdJY29uID0gbmV3SWNvbi5uYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNpemUoc2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9zaXplID0gc2l6ZSA/PyB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3Rlckljb25zKGNvbmZpZzogTmF0dXJhbEljb25zQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgc3BlY2lmaWMgaW5zdGFuY2Ugb2YgcmVnaXN0cnkgaGFzIG91ciBvdXIgaWNvbnNcbiAgICAgICAgLy8gZXhhY3RseSBvbmNlLCBub3QgbGVzcyBhbmQgbm90IG1vcmVcbiAgICAgICAgY29uc3QgcmVnaXN0cnkgPSB0aGlzLm1hdEljb25SZWdpc3RyeSBhcyBhbnk7XG4gICAgICAgIGlmIChyZWdpc3RyeVtuYXR1cmFsUmVnaXN0ZXJlZF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZWdpc3RyeVtuYXR1cmFsUmVnaXN0ZXJlZF0gPSB0cnVlO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNvbmZpZykpIHtcbiAgICAgICAgICAgIGNvbnN0IHN2ZyA9IGNvbmZpZ1trZXldLnN2ZztcbiAgICAgICAgICAgIGlmIChzdmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uKGtleSwgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHN2ZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -15,12 +15,12 @@ export const NaturalLoggerConfigExtra = new InjectionToken('Class that may provi
15
15
  * ```
16
16
  */
17
17
  export class NaturalErrorHandler extends ErrorHandler {
18
+ http = inject(HttpClient);
19
+ document = inject(DOCUMENT);
20
+ url = inject(NaturalLoggerConfigUrl, { optional: true });
21
+ loggerExtra = inject(NaturalLoggerConfigExtra, { optional: true });
18
22
  constructor() {
19
23
  super();
20
- this.http = inject(HttpClient);
21
- this.document = inject(DOCUMENT);
22
- this.url = inject(NaturalLoggerConfigUrl, { optional: true });
23
- this.loggerExtra = inject(NaturalLoggerConfigExtra, { optional: true });
24
24
  }
25
25
  handleError(error) {
26
26
  console.error(error);
@@ -75,8 +75,8 @@ export class NaturalErrorHandler extends ErrorHandler {
75
75
  .subscribe();
76
76
  }
77
77
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, providedIn: 'root' }); }
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
79
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, providedIn: 'root' });
80
80
  }
81
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, decorators: [{
82
82
  type: Injectable,
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
84
84
  providedIn: 'root',
85
85
  }]
86
86
  }], ctorParameters: () => [] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2xvZ2dlci9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUE0QjlELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxDQUFDLENBQUM7QUFDbkcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3RELDBDQUEwQyxDQUM3QyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQU1qRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBTkssU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixhQUFRLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLFFBQUcsR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUN2RCxnQkFBVyxHQUFHLE1BQU0sQ0FBcUIsd0JBQXdCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUl0RyxDQUFDO0lBRWUsV0FBVyxDQUFDLEtBQVU7UUFDbEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxL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Q1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7RXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgRU1QVFksIGZpcnN0LCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIE5hdHVyYWxMb2dnZXJUeXBlID0ge1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBzdGFja3RyYWNlPzogc3RyaW5nO1xuICAgIGhyZWY/OiBzdHJpbmc7XG4gICAgaG9zdD86IHN0cmluZztcbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIGFnZW50Pzogc3RyaW5nO1xuICAgIHN0YXR1cz86IG51bWJlcjtcbiAgICByZWZlcnJlcj86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgdXNlcklkPzogc3RyaW5nO1xuICAgIHVzZXI/OiBzdHJpbmc7XG5cbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59O1xuXG5leHBvcnQgdHlwZSBOYXR1cmFsTG9nZ2VyRXh0cmEgPSB7XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGFuIG9ic2VydmFibGUgb2YgZXh0cmEgZGF0YSB0aGF0IHdpbGwgYmUgbG9nZ2VkLiBUaG9zZSBkYXRhIHdpbGwgYmUgbWVyZ2VkIGludG9cbiAgICAgKiB0aGUgb3JpZ2luYWwgZGF0YSwgYW5kIHNvIGl0IGNhbiBvdmVycmlkZSB0aGluZ3MuXG4gICAgICpcbiAgICAgKiBPbmx5IHRoZSBmaXJzdCBlbWl0dGVkIHZhbHVlIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgICBnZXRFeHRyYXMoZXJyb3I6IHVua25vd24pOiBPYnNlcnZhYmxlPFBhcnRpYWw8TmF0dXJhbExvZ2dlclR5cGU+Pjtcbn07XG5cbmV4cG9ydCBjb25zdCBOYXR1cmFsTG9nZ2VyQ29uZmlnVXJsID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0Fic29sdXRlIFVSTCBvZiB0aGUgbG9nIHNlcnZlcicpO1xuZXhwb3J0IGNvbnN0IE5hdHVyYWxMb2dnZXJDb25maWdFeHRyYSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXR1cmFsTG9nZ2VyRXh0cmE+KFxuICAgICdDbGFzcyB0aGF0IG1heSBwcm92aWRlIGV4dHJhIGRhdGEgdG8gbG9nJyxcbik7XG5cbi8qKlxuICogUmVwbGFjZSBBbmd1bGFyJ3MgZXJyb3IgaGFuZGxlciB0byBhbHNvIHNlbmQgdGhlIGxvZyB0byBhIHJlbW90ZSBzZXJ2ZXIgdmlhIEhUVFAgUE9TVC5cbiAqXG4gKiBVc2FnZSBpcyBhdXRvbWF0aWMgYXMgc29vbiBhcyB3ZSBwcm92aWRlIGl0IHZpYTpcbiAqXG4gKiBgYGB0c1xuICogcHJvdmlkZUVycm9ySGFuZGxlcignaHR0cDovL2V4YW1wbGUuY29tJywgRXh0cmFTZXJ2aWNlKSxcbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsRXJyb3JIYW5kbGVyIGV4dGVuZHMgRXJyb3JIYW5kbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsID0gaW5qZWN0KE5hdHVyYWxMb2dnZXJDb25maWdVcmwsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyRXh0cmEgPSBpbmplY3Q8TmF0dXJhbExvZ2dlckV4dHJhPihOYXR1cmFsTG9nZ2VyQ29uZmlnRXh0cmEsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtczogTmF0dXJhbExvZ2dlclR5cGUgPSB7XG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRvTWVzc2FnZShlcnJvciksXG4gICAgICAgICAgICBocmVmOiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py53aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgICAgICAgIGhvc3Q6IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc/LndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxcbiAgICAgICAgICAgIHBhdGg6IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc/LndpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxcbiAgICAgICAgICAgIGFnZW50OiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py53aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCxcbiAgICAgICAgICAgIGxldmVsOiAnZXJyb3InLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChlcnJvcj8uc3RhY2spIHtcbiAgICAgICAgICAgIHBhcmFtcy5zdGFja3RyYWNlID0gZXJyb3Iuc3RhY2s7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGVycm9yPy5zdGF0dXMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBwYXJhbXMuc3RhdHVzID0gZXJyb3Iuc3RhdHVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yPy5yZWZlcnJlcikge1xuICAgICAgICAgICAgcGFyYW1zLnJlZmVycmVyID0gZXJyb3IucmVmZXJyZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3I/LnVybCkge1xuICAgICAgICAgICAgcGFyYW1zLnVybCA9IGVycm9yLnVybDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvZ2dlckV4dHJhKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlckV4dHJhXG4gICAgICAgICAgICAgICAgLmdldEV4dHJhcyhlcnJvcilcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlID0+IG9mKHtnZXRFeHRyYXNFcnJvck1lc3NhZ2U6IHRoaXMudG9NZXNzYWdlKGUpfSkpLFxuICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9zdExvZyhPYmplY3QuYXNzaWduKHBhcmFtcywgcmVzdWx0KSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvc3RMb2cocGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdG9NZXNzYWdlKGVycm9yOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZXJyb3IgJiYgdHlwZW9mIGVycm9yID09PSAnb2JqZWN0JyAmJiAnbWVzc2FnZScgaW4gZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiAnJyArIGVycm9yLm1lc3NhZ2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJycgKyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmQgcGFyYW1ldGVycyB0byByZW1vdGUgbG9nXG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3N0TG9nKHBhcmFtczogTmF0dXJhbExvZ2dlclR5cGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudXJsKSB7XG4gICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAucG9zdCh0aGlzLnVybCwgcGFyYW1zLCB7aGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdjb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpfSlcbiAgICAgICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IEVNUFRZKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2xvZ2dlci9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUE0QjlELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxDQUFDLENBQUM7QUFDbkcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3RELDBDQUEwQyxDQUM3QyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQUNoQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZELFdBQVcsR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUVsRjtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVlLFdBQVcsQ0FBQyxLQUFVO1FBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FB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LFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0Vycm9ySGFuZGxlciwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIEVNUFRZLCBmaXJzdCwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBOYXR1cmFsTG9nZ2VyVHlwZSA9IHtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgc3RhY2t0cmFjZT86IHN0cmluZztcbiAgICBocmVmPzogc3RyaW5nO1xuICAgIGhvc3Q/OiBzdHJpbmc7XG4gICAgcGF0aD86IHN0cmluZztcbiAgICBhZ2VudD86IHN0cmluZztcbiAgICBzdGF0dXM/OiBudW1iZXI7XG4gICAgcmVmZXJyZXI/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIHVzZXJJZD86IHN0cmluZztcbiAgICB1c2VyPzogc3RyaW5nO1xuXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufTtcblxuZXhwb3J0IHR5cGUgTmF0dXJhbExvZ2dlckV4dHJhID0ge1xuICAgIC8qKlxuICAgICAqIFJldHVybiBhbiBvYnNlcnZhYmxlIG9mIGV4dHJhIGRhdGEgdGhhdCB3aWxsIGJlIGxvZ2dlZC4gVGhvc2UgZGF0YSB3aWxsIGJlIG1lcmdlZCBpbnRvXG4gICAgICogdGhlIG9yaWdpbmFsIGRhdGEsIGFuZCBzbyBpdCBjYW4gb3ZlcnJpZGUgdGhpbmdzLlxuICAgICAqXG4gICAgICogT25seSB0aGUgZmlyc3QgZW1pdHRlZCB2YWx1ZSB3aWxsIGJlIHVzZWQuXG4gICAgICovXG4gICAgZ2V0RXh0cmFzKGVycm9yOiB1bmtub3duKTogT2JzZXJ2YWJsZTxQYXJ0aWFsPE5hdHVyYWxMb2dnZXJUeXBlPj47XG59O1xuXG5leHBvcnQgY29uc3QgTmF0dXJhbExvZ2dlckNvbmZpZ1VybCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBYnNvbHV0ZSBVUkwgb2YgdGhlIGxvZyBzZXJ2ZXInKTtcbmV4cG9ydCBjb25zdCBOYXR1cmFsTG9nZ2VyQ29uZmlnRXh0cmEgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF0dXJhbExvZ2dlckV4dHJhPihcbiAgICAnQ2xhc3MgdGhhdCBtYXkgcHJvdmlkZSBleHRyYSBkYXRhIHRvIGxvZycsXG4pO1xuXG4vKipcbiAqIFJlcGxhY2UgQW5ndWxhcidzIGVycm9yIGhhbmRsZXIgdG8gYWxzbyBzZW5kIHRoZSBsb2cgdG8gYSByZW1vdGUgc2VydmVyIHZpYSBIVFRQIFBPU1QuXG4gKlxuICogVXNhZ2UgaXMgYXV0b21hdGljIGFzIHNvb24gYXMgd2UgcHJvdmlkZSBpdCB2aWE6XG4gKlxuICogYGBgdHNcbiAqIHByb3ZpZGVFcnJvckhhbmRsZXIoJ2h0dHA6Ly9leGFtcGxlLmNvbScsIEV4dHJhU2VydmljZSksXG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEVycm9ySGFuZGxlciBleHRlbmRzIEVycm9ySGFuZGxlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsID0gaW5qZWN0KE5hdHVyYWxMb2dnZXJDb25maWdVcmwsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyRXh0cmEgPSBpbmplY3QoTmF0dXJhbExvZ2dlckNvbmZpZ0V4dHJhLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBjb25zdCBwYXJhbXM6IE5hdHVyYWxMb2dnZXJUeXBlID0ge1xuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50b01lc3NhZ2UoZXJyb3IpLFxuICAgICAgICAgICAgaHJlZjogdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ud2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICAgICAgICBob3N0OiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py53aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICAgICAgICBhZ2VudDogdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ud2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQsXG4gICAgICAgICAgICBsZXZlbDogJ2Vycm9yJyxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoZXJyb3I/LnN0YWNrKSB7XG4gICAgICAgICAgICBwYXJhbXMuc3RhY2t0cmFjZSA9IGVycm9yLnN0YWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvcj8uc3RhdHVzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcGFyYW1zLnN0YXR1cyA9IGVycm9yLnN0YXR1cztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvcj8ucmVmZXJyZXIpIHtcbiAgICAgICAgICAgIHBhcmFtcy5yZWZlcnJlciA9IGVycm9yLnJlZmVycmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yPy51cmwpIHtcbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBlcnJvci51cmw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2dnZXJFeHRyYSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJFeHRyYVxuICAgICAgICAgICAgICAgIC5nZXRFeHRyYXMoZXJyb3IpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZih7Z2V0RXh0cmFzRXJyb3JNZXNzYWdlOiB0aGlzLnRvTWVzc2FnZShlKX0pKSxcbiAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc3RMb2coT2JqZWN0LmFzc2lnbihwYXJhbXMsIHJlc3VsdCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wb3N0TG9nKHBhcmFtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTWVzc2FnZShlcnJvcjogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGVycm9yICYmIHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcgJiYgJ21lc3NhZ2UnIGluIGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gJycgKyBlcnJvci5tZXNzYWdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnICsgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIHBhcmFtZXRlcnMgdG8gcmVtb3RlIGxvZ1xuICAgICAqL1xuICAgIHByaXZhdGUgcG9zdExvZyhwYXJhbXM6IE5hdHVyYWxMb2dnZXJUeXBlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnVybCkge1xuICAgICAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLnBvc3QodGhpcy51cmwsIHBhcmFtcywge2hlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCgnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKX0pXG4gICAgICAgICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBFTVBUWSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -9,13 +9,14 @@ import * as i0 from "@angular/core";
9
9
  * @dynamic
10
10
  */
11
11
  export class NaturalMatomoService {
12
+ router = inject(Router);
13
+ document = inject(DOCUMENT);
14
+ titleService = inject(Title);
15
+ isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
16
+ window;
17
+ subscription = null;
18
+ referrerUrl = '';
12
19
  constructor() {
13
- this.router = inject(Router);
14
- this.document = inject(DOCUMENT);
15
- this.titleService = inject(Title);
16
- this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
17
- this.subscription = null;
18
- this.referrerUrl = '';
19
20
  const window = this.document.defaultView;
20
21
  if (!window) {
21
22
  throw new Error('Could not init MatomoService `window` is undefined');
@@ -83,8 +84,8 @@ export class NaturalMatomoService {
83
84
  this.referrerUrl = currentUrl;
84
85
  });
85
86
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
87
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, providedIn: 'root' }); }
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
88
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, providedIn: 'root' });
88
89
  }
89
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, decorators: [{
90
91
  type: Injectable,
@@ -92,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
92
93
  providedIn: 'root',
93
94
  }]
94
95
  }], ctorParameters: () => [] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9tYXRvbW8vbWF0b21vLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUF1QmhEOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBVTdCO1FBVGlCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBVyxRQUFRLENBQUMsQ0FBQztRQUN0QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixjQUFTLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFHNUQsaUJBQVksR0FBd0IsSUFBSSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBR3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxDQUFDLEdBQWtCLEVBQUUsSUFBbUI7UUFDeEQsOENBQThDO1FBQzlDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQUMsWUFBd0IsRUFBRSxHQUFHLElBQWtCO1FBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQVcsQ0FBQztRQUNuQyxDQUFDO1FBRUQscUVBQXFFO1FBQ3JFLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ2xDLElBQUksQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsT0FBTztZQUNYLENBQUM7WUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDNUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRTNCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F6RlEsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbi8qKlxuICogSW5jb21wbGV0ZSBsaXN0IG9mIE1hdG9tbyBmdW5jdGlvbnMuIEJ1dCBpdCBzaG91bGQgYmUgZW5vdWdoXG4gKiBmb3Igb3VyIGJhc2ljIG5lZWRzLlxuICpcbiAqIFRvIGNvbXBsZXRlIHRoaXMgbGlzdCwgbWF5YmUgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvZ3VpZGVzL3RyYWNraW5nLWphdmFzY3JpcHQtZ3VpZGVcbiAqL1xudHlwZSBNYXRvbW9GdW5jdGlvbiA9XG4gICAgfCAnc2V0Q3VzdG9tVXJsJ1xuICAgIHwgJ3NldEN1c3RvbURpbWVuc2lvbidcbiAgICB8ICdzZXREb2N1bWVudFRpdGxlJ1xuICAgIHwgJ3NldFJlZmVycmVyVXJsJ1xuICAgIHwgJ3NldFNpdGVJZCdcbiAgICB8ICdzZXRUcmFja2VyVXJsJ1xuICAgIHwgJ3RyYWNrUGFnZVZpZXcnO1xuXG5leHBvcnQgdHlwZSBQYXFJdGVtID0gW01hdG9tb0Z1bmN0aW9uLCAuLi4obnVtYmVyIHwgc3RyaW5nIHwgbnVsbClbXV07XG5cbnR5cGUgUGFxID0ge1xuICAgIHB1c2g6IChpdGVtOiBQYXFJdGVtKSA9PiB2b2lkO1xufTtcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHRyYWNrIHZpc2l0b3JzIHZpYSBNYXRvbW8uXG4gKlxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbE1hdG9tb1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKGluamVjdChQTEFURk9STV9JRCkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3dQcm94eSAmIHR5cGVvZiBnbG9iYWxUaGlzICYge19wYXE/OiBQYXF9O1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcmVmZXJyZXJVcmwgPSAnJztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3Qgd2luZG93ID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldztcbiAgICAgICAgaWYgKCF3aW5kb3cpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGluaXQgTWF0b21vU2VydmljZSBgd2luZG93YCBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMud2luZG93ID0gd2luZG93O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluamVjdCBNYXRvbW8gc2NyaXB0IGFuZCBzdGFydCB0cmFja2luZyBhbGwgcGFnZSBuYXZpZ2F0aW9uXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0VHJhY2tpbmcodXJsOiBzdHJpbmcgfCBudWxsLCBzaXRlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIC8vIEFib3J0IGJlY2F1c2Ugbm8gdHJhY2tpbmcgaW5mbyBvciBkb2luZyBTU1JcbiAgICAgICAgaWYgKCF1cmwgfHwgIXNpdGUgfHwgIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnB1c2goJ3NldFRyYWNrZXJVcmwnLCB1cmwgKyAnL21hdG9tby5waHAnKTtcbiAgICAgICAgdGhpcy5wdXNoKCdzZXRTaXRlSWQnLCBzaXRlKTtcblxuICAgICAgICB0aGlzLmluamVjdFRyYWNraW5nQ29kZSh1cmwpO1xuICAgICAgICB0aGlzLmxpc3RlbkZvclJvdXRlQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdG9wVHJhY2tpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIGRlbGV0ZSB0aGlzLndpbmRvdy5fcGFxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1c2ggYSBNYXRvbW8gY29tbWFuZCBvbiB0aGUgc3RhY2tcbiAgICAgKlxuICAgICAqIEl0IGNhbiBiZSBjYWxsZWQgYXQgYW55IHRpbWUsIGluY2x1ZGluZyBiZWZvcmUgTWF0b21vIGlzIGV2ZW4gbG9hZGVkLlxuICAgICAqXG4gICAgICogQWxzbyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9ndWlkZXMvdHJhY2tpbmctamF2YXNjcmlwdC1ndWlkZVxuICAgICAqL1xuICAgIHB1YmxpYyBwdXNoKGZ1bmN0aW9uTmFtZTogUGFxSXRlbVswXSwgLi4uYXJnczogUGFxSXRlbVsxXVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy53aW5kb3cuX3BhcSkge1xuICAgICAgICAgICAgdGhpcy53aW5kb3cuX3BhcSA9IFtdIGFzIGFueVtdO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGVyZSB3ZSBtdXN0IGFsd2F5cyBnZXQgYF9wYXFgIGZyZXNobHkgZnJvbSB3aW5kb3csIGJlY2F1c2UgTWF0b21vXG4gICAgICAgIC8vIG1pZ2h0IGhhdmUgY2hhbmdlZCB0aGUgb2JqZWN0IGFmdGVyIHdlIGNyZWF0ZWQgaXRcbiAgICAgICAgdGhpcy53aW5kb3cuX3BhcS5wdXNoKFtmdW5jdGlvbk5hbWUsIC4uLmFyZ3NdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluamVjdFRyYWNraW5nQ29kZSh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICBzY3JpcHQuZGVmZXIgPSB0cnVlO1xuICAgICAgICAgICAgc2NyaXB0LnNyYyA9IHVybCArICcvbWF0b21vLmpzJztcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYXBwZW5kaW5nIE1hdG9tbyBhbmFseXRpY3MnKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsaXN0ZW5Gb3JSb3V0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoIShldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy53aW5kb3cubG9jYXRpb24uaHJlZjtcblxuICAgICAgICAgICAgdGhpcy5wdXNoKCdzZXRDdXN0b21VcmwnLCBjdXJyZW50VXJsKTtcbiAgICAgICAgICAgIHRoaXMucHVzaCgnc2V0RG9jdW1lbnRUaXRsZScsIHRoaXMudGl0bGVTZXJ2aWNlLmdldFRpdGxlKCkpO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVmZXJyZXJVcmwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1c2goJ3NldFJlZmVycmVyVXJsJywgdGhpcy5yZWZlcnJlclVybCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucHVzaCgndHJhY2tQYWdlVmlldycpO1xuXG4gICAgICAgICAgICB0aGlzLnJlZmVycmVyVXJsID0gY3VycmVudFVybDtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9tYXRvbW8vbWF0b21vLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUF1QmhEOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ1osTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsU0FBUyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBaUQ7SUFFaEUsWUFBWSxHQUF3QixJQUFJLENBQUM7SUFDekMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUV6QjtRQUNJLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxDQUFDLEdBQWtCLEVBQUUsSUFBbUI7UUFD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RSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbi8qKlxuICogSW5jb21wbGV0ZSBsaXN0IG9mIE1hdG9tbyBmdW5jdGlvbnMuIEJ1dCBpdCBzaG91bGQgYmUgZW5vdWdoXG4gKiBmb3Igb3VyIGJhc2ljIG5lZWRzLlxuICpcbiAqIFRvIGNvbXBsZXRlIHRoaXMgbGlzdCwgbWF5YmUgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvZ3VpZGVzL3RyYWNraW5nLWphdmFzY3JpcHQtZ3VpZGVcbiAqL1xudHlwZSBNYXRvbW9GdW5jdGlvbiA9XG4gICAgfCAnc2V0Q3VzdG9tVXJsJ1xuICAgIHwgJ3NldEN1c3RvbURpbWVuc2lvbidcbiAgICB8ICdzZXREb2N1bWVudFRpdGxlJ1xuICAgIHwgJ3NldFJlZmVycmVyVXJsJ1xuICAgIHwgJ3NldFNpdGVJZCdcbiAgICB8ICdzZXRUcmFja2VyVXJsJ1xuICAgIHwgJ3RyYWNrUGFnZVZpZXcnO1xuXG5leHBvcnQgdHlwZSBQYXFJdGVtID0gW01hdG9tb0Z1bmN0aW9uLCAuLi4obnVtYmVyIHwgc3RyaW5nIHwgbnVsbClbXV07XG5cbnR5cGUgUGFxID0ge1xuICAgIHB1c2g6IChpdGVtOiBQYXFJdGVtKSA9PiB2b2lkO1xufTtcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHRyYWNrIHZpc2l0b3JzIHZpYSBNYXRvbW8uXG4gKlxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbE1hdG9tb1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0aXRsZVNlcnZpY2UgPSBpbmplY3QoVGl0bGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIoaW5qZWN0KFBMQVRGT1JNX0lEKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvd1Byb3h5ICYgdHlwZW9mIGdsb2JhbFRoaXMgJiB7X3BhcT86IFBhcX07XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWZlcnJlclVybCA9ICcnO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCB3aW5kb3cgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgICAgICBpZiAoIXdpbmRvdykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgaW5pdCBNYXRvbW9TZXJ2aWNlIGB3aW5kb3dgIGlzIHVuZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53aW5kb3cgPSB3aW5kb3c7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5qZWN0IE1hdG9tbyBzY3JpcHQgYW5kIHN0YXJ0IHRyYWNraW5nIGFsbCBwYWdlIG5hdmlnYXRpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnRUcmFja2luZyh1cmw6IHN0cmluZyB8IG51bGwsIHNpdGU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgLy8gQWJvcnQgYmVjYXVzZSBubyB0cmFja2luZyBpbmZvIG9yIGRvaW5nIFNTUlxuICAgICAgICBpZiAoIXVybCB8fCAhc2l0ZSB8fCAhdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHVzaCgnc2V0VHJhY2tlclVybCcsIHVybCArICcvbWF0b21vLnBocCcpO1xuICAgICAgICB0aGlzLnB1c2goJ3NldFNpdGVJZCcsIHNpdGUpO1xuXG4gICAgICAgIHRoaXMuaW5qZWN0VHJhY2tpbmdDb2RlKHVybCk7XG4gICAgICAgIHRoaXMubGlzdGVuRm9yUm91dGVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUcmFja2luZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgZGVsZXRlIHRoaXMud2luZG93Ll9wYXE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVzaCBhIE1hdG9tbyBjb21tYW5kIG9uIHRoZSBzdGFja1xuICAgICAqXG4gICAgICogSXQgY2FuIGJlIGNhbGxlZCBhdCBhbnkgdGltZSwgaW5jbHVkaW5nIGJlZm9yZSBNYXRvbW8gaXMgZXZlbiBsb2FkZWQuXG4gICAgICpcbiAgICAgKiBBbHNvIHNlZSBodHRwczovL2RldmVsb3Blci5tYXRvbW8ub3JnL2d1aWRlcy90cmFja2luZy1qYXZhc2NyaXB0LWd1aWRlXG4gICAgICovXG4gICAgcHVibGljIHB1c2goZnVuY3Rpb25OYW1lOiBQYXFJdGVtWzBdLCAuLi5hcmdzOiBQYXFJdGVtWzFdW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLndpbmRvdy5fcGFxKSB7XG4gICAgICAgICAgICB0aGlzLndpbmRvdy5fcGFxID0gW10gYXMgYW55W107XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIZXJlIHdlIG11c3QgYWx3YXlzIGdldCBgX3BhcWAgZnJlc2hseSBmcm9tIHdpbmRvdywgYmVjYXVzZSBNYXRvbW9cbiAgICAgICAgLy8gbWlnaHQgaGF2ZSBjaGFuZ2VkIHRoZSBvYmplY3QgYWZ0ZXIgd2UgY3JlYXRlZCBpdFxuICAgICAgICB0aGlzLndpbmRvdy5fcGFxLnB1c2goW2Z1bmN0aW9uTmFtZSwgLi4uYXJnc10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5qZWN0VHJhY2tpbmdDb2RlKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgIHNjcmlwdC5kZWZlciA9IHRydWU7XG4gICAgICAgICAgICBzY3JpcHQuc3JjID0gdXJsICsgJy9tYXRvbW8uanMnO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhcHBlbmRpbmcgTWF0b21vIGFuYWx5dGljcycpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxpc3RlbkZvclJvdXRlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICghKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLndpbmRvdy5sb2NhdGlvbi5ocmVmO1xuXG4gICAgICAgICAgICB0aGlzLnB1c2goJ3NldEN1c3RvbVVybCcsIGN1cnJlbnRVcmwpO1xuICAgICAgICAgICAgdGhpcy5wdXNoKCdzZXREb2N1bWVudFRpdGxlJywgdGhpcy50aXRsZVNlcnZpY2UuZ2V0VGl0bGUoKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5yZWZlcnJlclVybCkge1xuICAgICAgICAgICAgICAgIHRoaXMucHVzaCgnc2V0UmVmZXJyZXJVcmwnLCB0aGlzLnJlZmVycmVyVXJsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wdXNoKCd0cmFja1BhZ2VWaWV3Jyk7XG5cbiAgICAgICAgICAgIHRoaXMucmVmZXJyZXJVcmwgPSBjdXJyZW50VXJsO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=