@provoly/dashboard 0.19.4 → 0.19.6

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 (58) hide show
  1. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -6
  2. package/esm2022/filters/autocomplete/autocomplete.component.mjs +2 -2
  3. package/esm2022/lib/core/i18n/en.translations.mjs +5 -2
  4. package/esm2022/lib/core/i18n/fr.translations.mjs +5 -2
  5. package/esm2022/lib/core/model/display-options.interface.mjs +29 -36
  6. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  7. package/esm2022/lib/core/store/config/config.effects.mjs +2 -2
  8. package/esm2022/lib/core/store/search/search.service.mjs +8 -5
  9. package/esm2022/lib/dashboard/components/dashboard.component.mjs +3 -4
  10. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -1
  11. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +7 -4
  12. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -2
  13. package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -2
  14. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +41 -8
  15. package/esm2022/presentation/components/presentation.component.mjs +17 -10
  16. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +4 -3
  17. package/esm2022/toolbox/components/toolbox.component.mjs +15 -12
  18. package/fesm2022/provoly-dashboard-dataset.mjs +2 -5
  19. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  20. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +1 -1
  21. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  22. package/fesm2022/provoly-dashboard-presentation.mjs +56 -16
  23. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  24. package/fesm2022/provoly-dashboard-toolbox.mjs +17 -13
  25. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  26. package/fesm2022/provoly-dashboard.mjs +76 -70
  27. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  28. package/lib/core/i18n/en.translations.d.ts +3 -0
  29. package/lib/core/i18n/fr.translations.d.ts +3 -0
  30. package/lib/core/model/display-options.interface.d.ts +3 -8
  31. package/lib/core/model/filter.interface.d.ts +1 -0
  32. package/lib/core/store/search/search.service.d.ts +1 -1
  33. package/lib/dashboard/store/dashboard.actions.d.ts +8 -6
  34. package/lib/dashboard/store/dashboard.effects.d.ts +9 -5
  35. package/lib/dashboard/store/dashboard.selectors.d.ts +1 -1
  36. package/package.json +31 -31
  37. package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +10 -2
  38. package/presentation/components/presentation.component.d.ts +5 -3
  39. package/styles/components/_a-btn.scss +11 -17
  40. package/styles-theme/base-theme/_typography.theme.scss +2 -1
  41. package/styles-theme/components-theme/_a-btn.theme.scss +4 -3
  42. package/styles-theme/components-theme/_a-form-field.theme.scss +1 -1
  43. package/styles-theme/components-theme/_a-label.theme.scss +1 -1
  44. package/styles-theme/components-theme/_a-pry-select.theme.scss +1 -1
  45. package/styles-theme/components-theme/_a-table.theme.scss +2 -2
  46. package/styles-theme/components-theme/_m-context-menu.theme.scss +1 -1
  47. package/styles-theme/components-theme/_m-filter.theme.scss +1 -1
  48. package/styles-theme/components-theme/_m-time-picker.theme.scss +1 -1
  49. package/styles-theme/components-theme/_o-date-picker.theme.scss +1 -1
  50. package/styles-theme/components-theme/_o-pry-card-menu.theme.scss +1 -1
  51. package/styles-theme/components-theme/_o-pry-presentation.theme.scss +0 -2
  52. package/styles-theme/components-theme/_o-search-fulltext.theme.scss +7 -7
  53. package/styles-theme/components-theme/_o-settings.theme.scss +1 -1
  54. package/styles-theme/components-theme/_o-widget.theme.scss +1 -3
  55. package/styles-theme/components-theme/_overlay.theme.scss +4 -4
  56. package/styles-theme/layout-theme/_o-manifest-layout.theme.scss +1 -1
  57. package/styles-theme/layout-theme/_o-workspace.theme.scss +1 -1
  58. package/toolbox/components/toolbox.component.d.ts +2 -1
@@ -1,57 +1,50 @@
1
- export var DisplayMode;
2
- (function (DisplayMode) {
3
- DisplayMode["CONSULT"] = "CONSULT";
4
- DisplayMode["CREATE"] = "CREATE";
5
- DisplayMode["EDIT"] = "EDIT";
6
- DisplayMode["SEARCH"] = "SEARCH";
7
- DisplayMode["CUSTOM"] = "CUSTOM";
8
- })(DisplayMode || (DisplayMode = {}));
1
+ import { ViewMode } from '../../dashboard/store/dashboard.actions';
2
+ export const BASE_DISPLAY_OPTIONS = {
3
+ presentationTitle: true,
4
+ search: false,
5
+ catalog: false,
6
+ useFilters: false,
7
+ toolbox: {
8
+ save_view: false,
9
+ save_view_as: false,
10
+ filter_settings: false,
11
+ new_tab: false,
12
+ clear_view: false,
13
+ default_size: false,
14
+ refresh_datasets: false,
15
+ automate_refresh: false
16
+ }
17
+ };
9
18
  export function getDisplayOptions(mode) {
10
- const displayOptions = {
11
- presentationTitle: true,
12
- search: false,
13
- catalog: false,
14
- useFilters: false,
15
- toolbox: {
16
- save_view: false,
17
- save_view_as: false,
18
- filter_settings: false,
19
- new_tab: false,
20
- clear_view: false,
21
- default_size: false,
22
- refresh_datasets: false,
23
- automate_refresh: false
24
- }
25
- };
26
19
  switch (mode) {
27
- case DisplayMode.CONSULT:
20
+ case ViewMode.CONSULT:
28
21
  return {
29
- ...displayOptions,
22
+ ...BASE_DISPLAY_OPTIONS,
30
23
  useFilters: true,
31
- toolbox: { ...displayOptions.toolbox, save_view_as: true, refresh_datasets: true }
24
+ toolbox: { ...BASE_DISPLAY_OPTIONS.toolbox, save_view_as: true, refresh_datasets: true }
32
25
  };
33
- case DisplayMode.SEARCH:
26
+ case ViewMode.SEARCH:
34
27
  return {
35
- ...displayOptions,
28
+ ...BASE_DISPLAY_OPTIONS,
36
29
  presentationTitle: false,
37
30
  search: true,
38
- toolbox: { ...displayOptions.toolbox, clear_view: true, default_size: true, refresh_datasets: true }
31
+ toolbox: { ...BASE_DISPLAY_OPTIONS.toolbox, clear_view: true, default_size: true, refresh_datasets: true }
39
32
  };
40
- case DisplayMode.EDIT:
41
- case DisplayMode.CREATE:
33
+ case ViewMode.EDITION:
34
+ case ViewMode.CREATION:
42
35
  return {
43
- ...displayOptions,
36
+ ...BASE_DISPLAY_OPTIONS,
44
37
  catalog: true,
45
38
  useFilters: true,
46
39
  toolbox: {
47
- ...Object.keys(displayOptions.toolbox).reduce((acc, key) => {
40
+ ...Object.keys(BASE_DISPLAY_OPTIONS.toolbox).reduce((acc, key) => {
48
41
  acc[key] = true;
49
42
  return acc;
50
43
  }, {})
51
44
  }
52
45
  };
53
46
  default:
54
- return displayOptions;
47
+ return BASE_DISPLAY_OPTIONS;
55
48
  }
56
49
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2Rpc3BsYXktb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsZ0NBQWlCLENBQUE7SUFDakIsNEJBQWEsQ0FBQTtJQUNiLGdDQUFpQixDQUFBO0lBQ2pCLGdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFOVyxXQUFXLEtBQVgsV0FBVyxRQU10QjtBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFrQjtJQUNsRCxNQUFNLGNBQWMsR0FBbUI7UUFDckMsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLEtBQUs7UUFDakIsT0FBTyxFQUFFO1lBQ1AsU0FBUyxFQUFFLEtBQUs7WUFDaEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxVQUFVLEVBQUUsS0FBSztZQUNqQixZQUFZLEVBQUUsS0FBSztZQUNuQixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGdCQUFnQixFQUFFLEtBQUs7U0FDeEI7S0FDRixDQUFDO0lBRUYsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLFdBQVcsQ0FBQyxPQUFPO1lBQ3RCLE9BQU87Z0JBQ0wsR0FBRyxjQUFjO2dCQUNqQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLEVBQUUsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFO2FBQ25GLENBQUM7UUFDSixLQUFLLFdBQVcsQ0FBQyxNQUFNO1lBQ3JCLE9BQU87Z0JBQ0wsR0FBRyxjQUFjO2dCQUNqQixpQkFBaUIsRUFBRSxLQUFLO2dCQUN4QixNQUFNLEVBQUUsSUFBSTtnQkFDWixPQUFPLEVBQUUsRUFBRSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRTthQUNyRyxDQUFDO1FBRUosS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3RCLEtBQUssV0FBVyxDQUFDLE1BQU07WUFDckIsT0FBTztnQkFDTCxHQUFHLGNBQWM7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUU7b0JBQ1AsR0FBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQXFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO3dCQUM5RixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO3dCQUNoQixPQUFPLEdBQUcsQ0FBQztvQkFDYixDQUFDLEVBQUUsRUFBMkIsQ0FBQztpQkFDaEM7YUFDRixDQUFDO1FBQ0o7WUFDRSxPQUFPLGNBQWMsQ0FBQztLQUN6QjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERpc3BsYXlPcHRpb25zIHtcbiAgcHJlc2VudGF0aW9uVGl0bGU6IGJvb2xlYW47XG4gIHNlYXJjaDogYm9vbGVhbjtcbiAgY2F0YWxvZzogYm9vbGVhbjtcbiAgdXNlRmlsdGVyczogYm9vbGVhbjtcbiAgdG9vbGJveDogVG9vbGJveERpc3BsYXlPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xib3hEaXNwbGF5T3B0aW9ucyB7XG4gIHNhdmVfdmlldzogYm9vbGVhbjtcbiAgc2F2ZV92aWV3X2FzOiBib29sZWFuO1xuICBmaWx0ZXJfc2V0dGluZ3M6IGJvb2xlYW47XG4gIG5ld190YWI6IGJvb2xlYW47XG4gIGNsZWFyX3ZpZXc6IGJvb2xlYW47XG4gIGRlZmF1bHRfc2l6ZTogYm9vbGVhbjtcbiAgcmVmcmVzaF9kYXRhc2V0czogYm9vbGVhbjtcbiAgYXV0b21hdGVfcmVmcmVzaDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gRGlzcGxheU1vZGUge1xuICBDT05TVUxUID0gJ0NPTlNVTFQnLFxuICBDUkVBVEUgPSAnQ1JFQVRFJyxcbiAgRURJVCA9ICdFRElUJyxcbiAgU0VBUkNIID0gJ1NFQVJDSCcsXG4gIENVU1RPTSA9ICdDVVNUT00nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXNwbGF5T3B0aW9ucyhtb2RlPzogRGlzcGxheU1vZGUpOiBEaXNwbGF5T3B0aW9ucyB7XG4gIGNvbnN0IGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9ucyA9IHtcbiAgICBwcmVzZW50YXRpb25UaXRsZTogdHJ1ZSxcbiAgICBzZWFyY2g6IGZhbHNlLFxuICAgIGNhdGFsb2c6IGZhbHNlLFxuICAgIHVzZUZpbHRlcnM6IGZhbHNlLFxuICAgIHRvb2xib3g6IHtcbiAgICAgIHNhdmVfdmlldzogZmFsc2UsXG4gICAgICBzYXZlX3ZpZXdfYXM6IGZhbHNlLFxuICAgICAgZmlsdGVyX3NldHRpbmdzOiBmYWxzZSxcbiAgICAgIG5ld190YWI6IGZhbHNlLFxuICAgICAgY2xlYXJfdmlldzogZmFsc2UsXG4gICAgICBkZWZhdWx0X3NpemU6IGZhbHNlLFxuICAgICAgcmVmcmVzaF9kYXRhc2V0czogZmFsc2UsXG4gICAgICBhdXRvbWF0ZV9yZWZyZXNoOiBmYWxzZVxuICAgIH1cbiAgfTtcblxuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIERpc3BsYXlNb2RlLkNPTlNVTFQ6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kaXNwbGF5T3B0aW9ucyxcbiAgICAgICAgdXNlRmlsdGVyczogdHJ1ZSxcbiAgICAgICAgdG9vbGJveDogeyAuLi5kaXNwbGF5T3B0aW9ucy50b29sYm94LCBzYXZlX3ZpZXdfYXM6IHRydWUsIHJlZnJlc2hfZGF0YXNldHM6IHRydWUgfVxuICAgICAgfTtcbiAgICBjYXNlIERpc3BsYXlNb2RlLlNFQVJDSDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRpc3BsYXlPcHRpb25zLFxuICAgICAgICBwcmVzZW50YXRpb25UaXRsZTogZmFsc2UsXG4gICAgICAgIHNlYXJjaDogdHJ1ZSxcbiAgICAgICAgdG9vbGJveDogeyAuLi5kaXNwbGF5T3B0aW9ucy50b29sYm94LCBjbGVhcl92aWV3OiB0cnVlLCBkZWZhdWx0X3NpemU6IHRydWUsIHJlZnJlc2hfZGF0YXNldHM6IHRydWUgfVxuICAgICAgfTtcblxuICAgIGNhc2UgRGlzcGxheU1vZGUuRURJVDpcbiAgICBjYXNlIERpc3BsYXlNb2RlLkNSRUFURTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRpc3BsYXlPcHRpb25zLFxuICAgICAgICBjYXRhbG9nOiB0cnVlLFxuICAgICAgICB1c2VGaWx0ZXJzOiB0cnVlLFxuICAgICAgICB0b29sYm94OiB7XG4gICAgICAgICAgLi4uKE9iamVjdC5rZXlzKGRpc3BsYXlPcHRpb25zLnRvb2xib3gpIGFzIChrZXlvZiBUb29sYm94RGlzcGxheU9wdGlvbnMpW10pLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGFjY1trZXldID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30gYXMgVG9vbGJveERpc3BsYXlPcHRpb25zKVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZGlzcGxheU9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2Rpc3BsYXktb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBcUJuRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNsQyxpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsS0FBSztJQUNqQixPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsS0FBSztRQUNoQixZQUFZLEVBQUUsS0FBSztRQUNuQixlQUFlLEVBQUUsS0FBSztRQUN0QixPQUFPLEVBQUUsS0FBSztRQUNkLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLFlBQVksRUFBRSxLQUFLO1FBQ25CLGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsZ0JBQWdCLEVBQUUsS0FBSztLQUN4QjtDQUNnQixDQUFDO0FBRXBCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFlO0lBQy9DLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSyxRQUFRLENBQUMsT0FBTztZQUNuQixPQUFPO2dCQUNMLEdBQUcsb0JBQW9CO2dCQUN2QixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUU7YUFDekYsQ0FBQztRQUNKLEtBQUssUUFBUSxDQUFDLE1BQU07WUFDbEIsT0FBTztnQkFDTCxHQUFHLG9CQUFvQjtnQkFDdkIsaUJBQWlCLEVBQUUsS0FBSztnQkFDeEIsTUFBTSxFQUFFLElBQUk7Z0JBQ1osT0FBTyxFQUFFLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRTthQUMzRyxDQUFDO1FBRUosS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ3RCLEtBQUssUUFBUSxDQUFDLFFBQVE7WUFDcEIsT0FBTztnQkFDTCxHQUFHLG9CQUFvQjtnQkFDdkIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDUCxHQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFxQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTt3QkFDcEcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFDaEIsT0FBTyxHQUFHLENBQUM7b0JBQ2IsQ0FBQyxFQUFFLEVBQTJCLENBQUM7aUJBQ2hDO2FBQ0YsQ0FBQztRQUNKO1lBQ0UsT0FBTyxvQkFBb0IsQ0FBQztLQUMvQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3TW9kZSB9IGZyb20gJy4uLy4uL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQuYWN0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcGxheU9wdGlvbnMge1xuICBwcmVzZW50YXRpb25UaXRsZTogYm9vbGVhbjtcbiAgc2VhcmNoOiBib29sZWFuO1xuICBjYXRhbG9nOiBib29sZWFuO1xuICB1c2VGaWx0ZXJzOiBib29sZWFuO1xuICB0b29sYm94OiBUb29sYm94RGlzcGxheU9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbGJveERpc3BsYXlPcHRpb25zIHtcbiAgc2F2ZV92aWV3OiBib29sZWFuO1xuICBzYXZlX3ZpZXdfYXM6IGJvb2xlYW47XG4gIGZpbHRlcl9zZXR0aW5nczogYm9vbGVhbjtcbiAgbmV3X3RhYjogYm9vbGVhbjtcbiAgY2xlYXJfdmlldzogYm9vbGVhbjtcbiAgZGVmYXVsdF9zaXplOiBib29sZWFuO1xuICByZWZyZXNoX2RhdGFzZXRzOiBib29sZWFuO1xuICBhdXRvbWF0ZV9yZWZyZXNoOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQkFTRV9ESVNQTEFZX09QVElPTlMgPSB7XG4gIHByZXNlbnRhdGlvblRpdGxlOiB0cnVlLFxuICBzZWFyY2g6IGZhbHNlLFxuICBjYXRhbG9nOiBmYWxzZSxcbiAgdXNlRmlsdGVyczogZmFsc2UsXG4gIHRvb2xib3g6IHtcbiAgICBzYXZlX3ZpZXc6IGZhbHNlLFxuICAgIHNhdmVfdmlld19hczogZmFsc2UsXG4gICAgZmlsdGVyX3NldHRpbmdzOiBmYWxzZSxcbiAgICBuZXdfdGFiOiBmYWxzZSxcbiAgICBjbGVhcl92aWV3OiBmYWxzZSxcbiAgICBkZWZhdWx0X3NpemU6IGZhbHNlLFxuICAgIHJlZnJlc2hfZGF0YXNldHM6IGZhbHNlLFxuICAgIGF1dG9tYXRlX3JlZnJlc2g6IGZhbHNlXG4gIH1cbn0gYXMgRGlzcGxheU9wdGlvbnM7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXNwbGF5T3B0aW9ucyhtb2RlPzogVmlld01vZGUpOiBEaXNwbGF5T3B0aW9ucyB7XG4gIHN3aXRjaCAobW9kZSkge1xuICAgIGNhc2UgVmlld01vZGUuQ09OU1VMVDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLkJBU0VfRElTUExBWV9PUFRJT05TLFxuICAgICAgICB1c2VGaWx0ZXJzOiB0cnVlLFxuICAgICAgICB0b29sYm94OiB7IC4uLkJBU0VfRElTUExBWV9PUFRJT05TLnRvb2xib3gsIHNhdmVfdmlld19hczogdHJ1ZSwgcmVmcmVzaF9kYXRhc2V0czogdHJ1ZSB9XG4gICAgICB9O1xuICAgIGNhc2UgVmlld01vZGUuU0VBUkNIOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uQkFTRV9ESVNQTEFZX09QVElPTlMsXG4gICAgICAgIHByZXNlbnRhdGlvblRpdGxlOiBmYWxzZSxcbiAgICAgICAgc2VhcmNoOiB0cnVlLFxuICAgICAgICB0b29sYm94OiB7IC4uLkJBU0VfRElTUExBWV9PUFRJT05TLnRvb2xib3gsIGNsZWFyX3ZpZXc6IHRydWUsIGRlZmF1bHRfc2l6ZTogdHJ1ZSwgcmVmcmVzaF9kYXRhc2V0czogdHJ1ZSB9XG4gICAgICB9O1xuXG4gICAgY2FzZSBWaWV3TW9kZS5FRElUSU9OOlxuICAgIGNhc2UgVmlld01vZGUuQ1JFQVRJT046XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5CQVNFX0RJU1BMQVlfT1BUSU9OUyxcbiAgICAgICAgY2F0YWxvZzogdHJ1ZSxcbiAgICAgICAgdXNlRmlsdGVyczogdHJ1ZSxcbiAgICAgICAgdG9vbGJveDoge1xuICAgICAgICAgIC4uLihPYmplY3Qua2V5cyhCQVNFX0RJU1BMQVlfT1BUSU9OUy50b29sYm94KSBhcyAoa2V5b2YgVG9vbGJveERpc3BsYXlPcHRpb25zKVtdKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9IGFzIFRvb2xib3hEaXNwbGF5T3B0aW9ucylcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIEJBU0VfRElTUExBWV9PUFRJT05TO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBkYXRhc291cmNlOiBzdHJpbmcgfVtdO1xuICBvcGVyYXRvcj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHBvc3NpYmxlVmFsdWVzPzogc3RyaW5nO1xuICBoYXNEYXRlUmFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbnRleHQge1xuICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bWJlcjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBkYXRhc291cmNlOiBzdHJpbmcgfVtdO1xuICBvcGVyYXRvcj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHBvc3NpYmxlVmFsdWVzPzogc3RyaW5nO1xuICBoYXNEYXRlUmFuZ2U/OiBib29sZWFuO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb250ZXh0IHtcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudW1iZXI7XG59XG4iXX0=
@@ -75,7 +75,7 @@ export class ConfigEffects {
75
75
  type: 'success'
76
76
  })), map(() => ConfigActions.loadWidgets()), catchError((error) => {
77
77
  this.snackBar.open({
78
- message: this.translateService.instant('@pry.toolbox.catalog.saveErrorCode.' + error.error.code, {
78
+ message: this.translateService.instant('@pry.toolbox.catalog.saveErrorCode.' + +(error.error?.code ?? 'UNKNOWN'), {
79
79
  name: action.widget.name
80
80
  }),
81
81
  type: 'error'
@@ -121,4 +121,4 @@ export class ConfigEffects {
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigEffects, decorators: [{
122
122
  type: Injectable
123
123
  }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.OpenMapTilesService }, { type: i3.Store }, { type: i4.ConfigService }, { type: i5.PrySnackbarService }, { type: i6.PryI18nService }, { type: i7.PryDialogService }]; } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9jb25maWcvY29uZmlnLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQXdCLE1BQU0sbURBQW1ELENBQUM7QUFJcEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBRUwsY0FBYyxFQUNkLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBSy9ELE1BQU0sT0FBTyxhQUFhO0lBcU54QixZQUNVLFFBQWlCLEVBQ2pCLG1CQUF3QyxFQUN4QyxLQUFZLEVBQ1osYUFBNEIsRUFDNUIsUUFBNEIsRUFDNUIsZ0JBQWdDLEVBQ2hDLFNBQTJCO1FBTjNCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osa0JBQWEs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Q3RDLEdBQUcsQ0FBQyxDQUFDLFlBQXNCLEVBQUUsRUFBRTtZQUM3QixPQUFPLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzdFLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFVQyxDQUFDOytHQTdOTyxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgdGFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByeURpYWxvZ0NvbmZpcm1Db21wb25lbnQsIFByeURpYWxvZ0NvbmZpcm1EYXRhIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vdmVybGF5L2RpYWxvZy1jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vdmVybGF5L2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFByeVNuYWNrYmFyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ0FjdGlvbnMgfSBmcm9tICcuL2NvbmZpZy5hY3Rpb25zJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4vY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBDb25maWdTZXJ2aWNlLFxuICBGSUxURVJTX0RPTUFJTixcbiAgU1lNQk9MX0RPTUFJTixcbiAgVEFCTEVfQVRUUl9ET01BSU4sXG4gIFRJTEVfQVRUUl9ET01BSU4sXG4gIFRPT0xUSVBTX0RPTUFJTlxufSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IENoYXJ0T3B0aW9uRGVmYXVsdCB9IGZyb20gJy4vY29uZmlnLndpZGdldC5jb25zdGFudHMnO1xuaW1wb3J0IHsgT3Blbk1hcFRpbGVzU2VydmljZSB9IGZyb20gJy4vb3Blbi1tYXAtdGlsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBWZXJzaW9ucyB9IGZyb20gJy4vdmVyc2lvbnMuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ0VmZmVjdHMge1xuICBtYXBTdHlsZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMuZ2V0TWFwU3R5bGVzKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5tYXBTdHlsZXMpKSxcbiAgICAgIGZpbHRlcigoW2FjdGlvbiwgbWFwU3R5bGVzXSkgPT4gIW1hcFN0eWxlcyB8fCBtYXBTdHlsZXMubGVuZ3RoID09PSAwKSxcbiAgICAgIG1lcmdlTWFwKChbYWN0aW9uXSkgPT5cbiAgICAgICAgdGhpcy5vcGVuTWFwVGlsZXNTZXJ2aWNlLmdldFN0eWxlcygpLnBpcGUobWFwKChzdHlsZXMpID0+IENvbmZpZ0FjdGlvbnMuZGVmaW5lTWFwU3R5bGVzKHsgc3R5bGVzIH0pKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2F2ZUljb25EZWZpbml0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5zYXZlSWNvbnMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlXG4gICAgICAgICAgLnNhdmVEZWZpbml0aW9ucyhhY3Rpb24uZGVmaW5pdGlvbnMsIFNZTUJPTF9ET01BSU4pXG4gICAgICAgICAgLnBpcGUobWFwKCgpID0+IENvbmZpZ0FjdGlvbnMubG9hZEN1c3RvbWl6YXRpb24oKSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNhdmVUYWJsZUF0dHJpYnV0ZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMuc2F2ZVRhYmxlRGVmYXVsdEF0dHJpYnV0ZXMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlXG4gICAgICAgICAgLnNhdmVEZWZpbml0aW9ucyhhY3Rpb24uZGVmaW5pdGlvbnMsIFRBQkxFX0FUVFJfRE9NQUlOKVxuICAgICAgICAgIC5waXBlKG1hcCgoKSA9PiBDb25maWdBY3Rpb25zLmxvYWRDdXN0b21pemF0aW9uKCkpKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBzYXZlVGlsZUF0dHJpYnV0ZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMuc2F2ZVRpbGVBdHRyaWJ1dGVzKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZVxuICAgICAgICAgIC5zYXZlRGVmaW5pdGlvbnMoYWN0aW9uLmRlZmluaXRpb25zLCBUSUxFX0FUVFJfRE9NQUlOKVxuICAgICAgICAgIC5waXBlKG1hcCgoKSA9PiBDb25maWdBY3Rpb25zLmxvYWRDdXN0b21pemF0aW9uKCkpKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBzYXZlVGVtcGxhdGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShDb25maWdBY3Rpb25zLnNhdmVUb29sdGlwKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZVxuICAgICAgICAgIC5zYXZlRGVmaW5pdGlvbnMoYWN0aW9uLmRlZmluaXRpb25zLCBUT09MVElQU19ET01BSU4pXG4gICAgICAgICAgLnBpcGUobWFwKCgpID0+IENvbmZpZ0FjdGlvbnMubG9hZEN1c3RvbWl6YXRpb24oKSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGdldEN1c3RvbWl6YXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMubG9hZEN1c3RvbWl6YXRpb24pLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0QWxsQ2xhc3NQYXJhbXMoKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChhbGxEZWZpbml0aW9ucykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaWNvbnMgPSBhbGxEZWZpbml0aW9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChkZWYpID0+IGRlZi5kb21haW4gPT09IFNZTUJPTF9ET01BSU4pXG4gICAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHAsIGMpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi5wLFxuICAgICAgICAgICAgICAgICAgW2Mub0NsYXNzXTogSlNPTi5wYXJzZShjLmNvbnRlbnQpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlQXR0cmlidXRlcyA9IGFsbERlZmluaXRpb25zXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGRlZikgPT4gZGVmLmRvbWFpbiA9PT0gVEFCTEVfQVRUUl9ET01BSU4pXG4gICAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHAsIGMpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi5wLFxuICAgICAgICAgICAgICAgICAgW2Mub0NsYXNzXTogSlNPTi5wYXJzZShjLmNvbnRlbnQpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHRvb2x0aXBzID0gYWxsRGVmaW5pdGlvbnNcbiAgICAgICAgICAgICAgLmZpbHRlcigoZGVmKSA9PiBkZWYuZG9tYWluID09PSBUT09MVElQU19ET01BSU4pXG4gICAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHAsIGMpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi5wLFxuICAgICAgICAgICAgICAgICAgW2Mub0NsYXNzXTogSlNPTi5wYXJzZShjLmNvbnRlbnQpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcnMgPSBhbGxEZWZpbml0aW9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChkZWYpID0+IGRlZi5kb21haW4gPT09IEZJTFRFUlNfRE9NQUlOKVxuICAgICAgICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgICAgIChwLCBjKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4ucCxcbiAgICAgICAgICAgICAgICAgIFtjLm9DbGFzc106IEpTT04ucGFyc2UoYy5jb250ZW50KVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCB0aWxlQXR0cmlidXRlcyA9IGFsbERlZmluaXRpb25zXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGRlZikgPT4gZGVmLmRvbWFpbiA9PT0gVElMRV9BVFRSX0RPTUFJTilcbiAgICAgICAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAgICAgICAocCwgYykgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLnAsXG4gICAgICAgICAgICAgICAgICBbYy5vQ2xhc3NdOiBKU09OLnBhcnNlKGMuY29udGVudClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gW0NvbmZpZ0FjdGlvbnMubG9hZGVkQ3VzdG9taXphdGlvbih7IGljb25zLCB0YWJsZUF0dHJpYnV0ZXMsIHRvb2x0aXBzLCBmaWx0ZXJzLCB0aWxlQXR0cmlidXRlcyB9KV07XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBzYXZlV2lkZ2V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShDb25maWdBY3Rpb25zLnNhdmVXaWRnZXQpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnNhdmVXaWRnZXQoYWN0aW9uLndpZGdldCkucGlwZShcbiAgICAgICAgICB0YXAoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3Blbih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnRvb2xib3guY2F0YWxvZy5zYXZlZCcsIHsgdmlld0lkOiBhY3Rpb24ud2lkZ2V0Lm5hbWUgfSksXG4gICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLFxuICAgICAgICAgIG1hcCgoKSA9PiBDb25maWdBY3Rpb25zLmxvYWRXaWRnZXRzKCkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oe1xuICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS50b29sYm94LmNhdGFsb2cuc2F2ZUVycm9yQ29kZS4nICsgZXJyb3IuZXJyb3IuY29kZSwge1xuICAgICAgICAgICAgICAgIG5hbWU6IGFjdGlvbi53aWRnZXQubmFtZVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBjb25maXJtUmVzdGl0dXRpb25EZWxldGlvbiQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMuY29uZmlybVJlc3RpdHV0aW9uRGVsZXRpb24pLFxuICAgICAgICB0YXAoKGFjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGE6IFByeURpYWxvZ0NvbmZpcm1EYXRhID0ge1xuICAgICAgICAgICAgdGl0bGU6ICdAcHJ5LndpZGdldC5tb2RhbFRpdGxlJyxcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAwLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnQHByeS50b29sYm94Lm1hbmlmZXN0LnZhbGlkYXRlJyxcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBbQ29uZmlnQWN0aW9ucy5kZWxldGVSZXN0aXR1dGlvbih7IGlkOiBhY3Rpb24uaWQgfSldXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogMSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jbG9zZScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdzZWNvbmRhcnknXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCwgeyBkYXRhIH0pO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgZGVsZXRlUmVzdGl0dXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMuZGVsZXRlUmVzdGl0dXRpb24pLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT4gdGhpcy5jb25maWdTZXJ2aWNlLmRlbGV0ZVJlc3RpdHV0aW9uKGFjdGlvbi5pZCkucGlwZShtYXAoKCkgPT4gQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cygpKSkpXG4gICAgKVxuICApO1xuXG4gIGxvYWRXaWRnZXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMubG9hZFdpZGdldHMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmdldEFsbFdpZGdldHMoKS5waXBlKG1hcCgod2lkZ2V0cykgPT4gQ29uZmlnQWN0aW9ucy5sb2FkZWRXaWRnZXRzKHsgd2lkZ2V0cyB9KSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxvYWRDaGFydE9wdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5sb2FkQ2hhcnRPcHRpb24pLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmNoYXJ0T3B0aW9uKSksXG4gICAgICBtYXAoKFthY3Rpb24sIGNoYXJ0T3B0aW9uc10pID0+IHtcbiAgICAgICAgY29uc3QgY2hhcnRPcHRpb24gPSB7XG4gICAgICAgICAgdHlwZTogY2hhcnRPcHRpb25zLnR5cGUgPz8gQ2hhcnRPcHRpb25EZWZhdWx0LnR5cGUsXG4gICAgICAgICAgc3ViVHlwZTogY2hhcnRPcHRpb25zLnN1YlR5cGUgPz8gQ2hhcnRPcHRpb25EZWZhdWx0LnN1YlR5cGUsXG4gICAgICAgICAgYWdncmVnYXRpb246IGNoYXJ0T3B0aW9ucy5hZ2dyZWdhdGlvbiA/PyBDaGFydE9wdGlvbkRlZmF1bHQuYWdncmVnYXRpb24sXG4gICAgICAgICAgY29sb3I6IGNoYXJ0T3B0aW9ucy5jb2xvciA/PyBDaGFydE9wdGlvbkRlZmF1bHQuY29sb3JcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIENvbmZpZ0FjdGlvbnMubG9hZGVkQ2hhcnRPcHRpb24oeyBjaGFydE9wdGlvbiB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuICBsb2FkVmVyc2lvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMubG9hZFZlcnNpb25zKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRBbGxWZXJzaW9ucygpLnBpcGUoXG4gICAgICAgICAgbWFwKCh2ZXJzaW9uc0RhdGE6IFZlcnNpb25zKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gQ29uZmlnQWN0aW9ucy5sb2FkVmVyc2lvbnNTdWNjZXNzKHsgdmVyc2lvbnM6IHZlcnNpb25zRGF0YSB9KTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gW0NvbmZpZ0FjdGlvbnMubG9hZFZlcnNpb25zRmFpbHVyZSh7IGVycm9yOiBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIG9wZW5NYXBUaWxlc1NlcnZpY2U6IE9wZW5NYXBUaWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgc25hY2tCYXI6IFByeVNuYWNrYmFyU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJ5RGlhbG9nOiBQcnlEaWFsb2dTZXJ2aWNlXG4gICkge31cbn1cbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9jb25maWcvY29uZmlnLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQXdCLE1BQU0sbURBQW1ELENBQUM7QUFJcEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBRUwsY0FBYyxFQUNkLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBSy9ELE1BQU0sT0FBTyxhQUFhO0lBd054QixZQUNVLFFBQWlCLEVBQ2pCLG1CQUF3QyxFQUN4QyxLQUFZLEVBQ1osYUFBNEIsRUFDNUIsUUFBNEIsRUFDNUIsZ0JBQWdDLEVBQ2hDLFNBQTJCO1FBTjNCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osa0JBQWEs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QUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLENBQUMsWUFBc0IsRUFBRSxFQUFFO1lBQzdCLE9BQU8sYUFBYSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDN0UsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQVVDLENBQUM7K0dBaE9PLGFBQWE7bUhBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCwgUHJ5RGlhbG9nQ29uZmlybURhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL292ZXJsYXkvZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFByeURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL292ZXJsYXkvZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJ5U25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucyB9IGZyb20gJy4vY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7XG4gIENvbmZpZ1NlcnZpY2UsXG4gIEZJTFRFUlNfRE9NQUlOLFxuICBTWU1CT0xfRE9NQUlOLFxuICBUQUJMRV9BVFRSX0RPTUFJTixcbiAgVElMRV9BVFRSX0RPTUFJTixcbiAgVE9PTFRJUFNfRE9NQUlOXG59IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRPcHRpb25EZWZhdWx0IH0gZnJvbSAnLi9jb25maWcud2lkZ2V0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBPcGVuTWFwVGlsZXNTZXJ2aWNlIH0gZnJvbSAnLi9vcGVuLW1hcC10aWxlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFZlcnNpb25zIH0gZnJvbSAnLi92ZXJzaW9ucy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlnRWZmZWN0cyB7XG4gIG1hcFN0eWxlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5nZXRNYXBTdHlsZXMpLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLm1hcFN0eWxlcykpLFxuICAgICAgZmlsdGVyKChbYWN0aW9uLCBtYXBTdHlsZXNdKSA9PiAhbWFwU3R5bGVzIHx8IG1hcFN0eWxlcy5sZW5ndGggPT09IDApLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb25dKSA9PlxuICAgICAgICB0aGlzLm9wZW5NYXBUaWxlc1NlcnZpY2UuZ2V0U3R5bGVzKCkucGlwZShtYXAoKHN0eWxlcykgPT4gQ29uZmlnQWN0aW9ucy5kZWZpbmVNYXBTdHlsZXMoeyBzdHlsZXMgfSkpKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBzYXZlSWNvbkRlZmluaXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShDb25maWdBY3Rpb25zLnNhdmVJY29ucyksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAuc2F2ZURlZmluaXRpb25zKGFjdGlvbi5kZWZpbml0aW9ucywgU1lNQk9MX0RPTUFJTilcbiAgICAgICAgICAucGlwZShtYXAoKCkgPT4gQ29uZmlnQWN0aW9ucy5sb2FkQ3VzdG9taXphdGlvbigpKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2F2ZVRhYmxlQXR0cmlidXRlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5zYXZlVGFibGVEZWZhdWx0QXR0cmlidXRlcyksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAuc2F2ZURlZmluaXRpb25zKGFjdGlvbi5kZWZpbml0aW9ucywgVEFCTEVfQVRUUl9ET01BSU4pXG4gICAgICAgICAgLnBpcGUobWFwKCgpID0+IENvbmZpZ0FjdGlvbnMubG9hZEN1c3RvbWl6YXRpb24oKSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNhdmVUaWxlQXR0cmlidXRlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5zYXZlVGlsZUF0dHJpYnV0ZXMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlXG4gICAgICAgICAgLnNhdmVEZWZpbml0aW9ucyhhY3Rpb24uZGVmaW5pdGlvbnMsIFRJTEVfQVRUUl9ET01BSU4pXG4gICAgICAgICAgLnBpcGUobWFwKCgpID0+IENvbmZpZ0FjdGlvbnMubG9hZEN1c3RvbWl6YXRpb24oKSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNhdmVUZW1wbGF0ZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMuc2F2ZVRvb2x0aXApLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlXG4gICAgICAgICAgLnNhdmVEZWZpbml0aW9ucyhhY3Rpb24uZGVmaW5pdGlvbnMsIFRPT0xUSVBTX0RPTUFJTilcbiAgICAgICAgICAucGlwZShtYXAoKCkgPT4gQ29uZmlnQWN0aW9ucy5sb2FkQ3VzdG9taXphdGlvbigpKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ2V0Q3VzdG9taXphdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5sb2FkQ3VzdG9taXphdGlvbiksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRBbGxDbGFzc1BhcmFtcygpLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKGFsbERlZmluaXRpb25zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpY29ucyA9IGFsbERlZmluaXRpb25zXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGRlZikgPT4gZGVmLmRvbWFpbiA9PT0gU1lNQk9MX0RPTUFJTilcbiAgICAgICAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAgICAgICAocCwgYykgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLnAsXG4gICAgICAgICAgICAgICAgICBbYy5vQ2xhc3NdOiBKU09OLnBhcnNlKGMuY29udGVudClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgdGFibGVBdHRyaWJ1dGVzID0gYWxsRGVmaW5pdGlvbnNcbiAgICAgICAgICAgICAgLmZpbHRlcigoZGVmKSA9PiBkZWYuZG9tYWluID09PSBUQUJMRV9BVFRSX0RPTUFJTilcbiAgICAgICAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAgICAgICAocCwgYykgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLnAsXG4gICAgICAgICAgICAgICAgICBbYy5vQ2xhc3NdOiBKU09OLnBhcnNlKGMuY29udGVudClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgdG9vbHRpcHMgPSBhbGxEZWZpbml0aW9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChkZWYpID0+IGRlZi5kb21haW4gPT09IFRPT0xUSVBTX0RPTUFJTilcbiAgICAgICAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAgICAgICAocCwgYykgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLnAsXG4gICAgICAgICAgICAgICAgICBbYy5vQ2xhc3NdOiBKU09OLnBhcnNlKGMuY29udGVudClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgZmlsdGVycyA9IGFsbERlZmluaXRpb25zXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGRlZikgPT4gZGVmLmRvbWFpbiA9PT0gRklMVEVSU19ET01BSU4pXG4gICAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHAsIGMpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi5wLFxuICAgICAgICAgICAgICAgICAgW2Mub0NsYXNzXTogSlNPTi5wYXJzZShjLmNvbnRlbnQpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHRpbGVBdHRyaWJ1dGVzID0gYWxsRGVmaW5pdGlvbnNcbiAgICAgICAgICAgICAgLmZpbHRlcigoZGVmKSA9PiBkZWYuZG9tYWluID09PSBUSUxFX0FUVFJfRE9NQUlOKVxuICAgICAgICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgICAgIChwLCBjKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4ucCxcbiAgICAgICAgICAgICAgICAgIFtjLm9DbGFzc106IEpTT04ucGFyc2UoYy5jb250ZW50KVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybiBbQ29uZmlnQWN0aW9ucy5sb2FkZWRDdXN0b21pemF0aW9uKHsgaWNvbnMsIHRhYmxlQXR0cmlidXRlcywgdG9vbHRpcHMsIGZpbHRlcnMsIHRpbGVBdHRyaWJ1dGVzIH0pXTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNhdmVXaWRnZXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKENvbmZpZ0FjdGlvbnMuc2F2ZVdpZGdldCksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2Uuc2F2ZVdpZGdldChhY3Rpb24ud2lkZ2V0KS5waXBlKFxuICAgICAgICAgIHRhcCgoKSA9PlxuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkudG9vbGJveC5jYXRhbG9nLnNhdmVkJywgeyB2aWV3SWQ6IGFjdGlvbi53aWRnZXQubmFtZSB9KSxcbiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICksXG4gICAgICAgICAgbWFwKCgpID0+IENvbmZpZ0FjdGlvbnMubG9hZFdpZGdldHMoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3Blbih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICdAcHJ5LnRvb2xib3guY2F0YWxvZy5zYXZlRXJyb3JDb2RlLicgKyArKGVycm9yLmVycm9yPy5jb2RlID8/ICdVTktOT1dOJyksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogYWN0aW9uLndpZGdldC5uYW1lXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNvbmZpcm1SZXN0aXR1dGlvbkRlbGV0aW9uJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5jb25maXJtUmVzdGl0dXRpb25EZWxldGlvbiksXG4gICAgICAgIHRhcCgoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICAgICAgICB0aXRsZTogJ0Bwcnkud2lkZ2V0Lm1vZGFsVGl0bGUnLFxuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QudmFsaWRhdGUnLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtDb25maWdBY3Rpb25zLmRlbGV0ZVJlc3RpdHV0aW9uKHsgaWQ6IGFjdGlvbi5pZCB9KV1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3NlY29uZGFyeSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5wcnlEaWFsb2cub3BlbihQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7IGRhdGEgfSk7XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBkZWxldGVSZXN0aXR1dGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5kZWxldGVSZXN0aXR1dGlvbiksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PiB0aGlzLmNvbmZpZ1NlcnZpY2UuZGVsZXRlUmVzdGl0dXRpb24oYWN0aW9uLmlkKS5waXBlKG1hcCgoKSA9PiBDb25maWdBY3Rpb25zLmxvYWRXaWRnZXRzKCkpKSlcbiAgICApXG4gICk7XG5cbiAgbG9hZFdpZGdldCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cyksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0QWxsV2lkZ2V0cygpLnBpcGUobWFwKCh3aWRnZXRzKSA9PiBDb25maWdBY3Rpb25zLmxvYWRlZFdpZGdldHMoeyB3aWRnZXRzIH0pKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbG9hZENoYXJ0T3B0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShDb25maWdBY3Rpb25zLmxvYWRDaGFydE9wdGlvbiksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuY2hhcnRPcHRpb24pKSxcbiAgICAgIG1hcCgoW2FjdGlvbiwgY2hhcnRPcHRpb25zXSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFydE9wdGlvbiA9IHtcbiAgICAgICAgICB0eXBlOiBjaGFydE9wdGlvbnMudHlwZSA/PyBDaGFydE9wdGlvbkRlZmF1bHQudHlwZSxcbiAgICAgICAgICBzdWJUeXBlOiBjaGFydE9wdGlvbnMuc3ViVHlwZSA/PyBDaGFydE9wdGlvbkRlZmF1bHQuc3ViVHlwZSxcbiAgICAgICAgICBhZ2dyZWdhdGlvbjogY2hhcnRPcHRpb25zLmFnZ3JlZ2F0aW9uID8/IENoYXJ0T3B0aW9uRGVmYXVsdC5hZ2dyZWdhdGlvbixcbiAgICAgICAgICBjb2xvcjogY2hhcnRPcHRpb25zLmNvbG9yID8/IENoYXJ0T3B0aW9uRGVmYXVsdC5jb2xvclxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gQ29uZmlnQWN0aW9ucy5sb2FkZWRDaGFydE9wdGlvbih7IGNoYXJ0T3B0aW9uIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG4gIGxvYWRWZXJzaW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQ29uZmlnQWN0aW9ucy5sb2FkVmVyc2lvbnMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmdldEFsbFZlcnNpb25zKCkucGlwZShcbiAgICAgICAgICBtYXAoKHZlcnNpb25zRGF0YTogVmVyc2lvbnMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBDb25maWdBY3Rpb25zLmxvYWRWZXJzaW9uc1N1Y2Nlc3MoeyB2ZXJzaW9uczogdmVyc2lvbnNEYXRhIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBbQ29uZmlnQWN0aW9ucy5sb2FkVmVyc2lvbnNGYWlsdXJlKHsgZXJyb3I6IGVycm9yIH0pXSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgb3Blbk1hcFRpbGVzU2VydmljZTogT3Blbk1hcFRpbGVzU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7fVxufVxuIl19
@@ -79,10 +79,13 @@ export class SearchService {
79
79
  this.transformations.forEach((func) => (transformed = func(id, transformed)));
80
80
  return transformed;
81
81
  }
82
- autocomplete(attributes, search) {
83
- return this.store.select(ConfigSelectors.dataUrl).pipe(switchMap((url) => this.httpClient.post(encodeURI(`${url}/data-sources/autocomplete`), {
84
- attributes: (attributes ?? []).map((attr) => ({ datasource: attr.datasource, attribute: attr.id })),
85
- search
82
+ autocomplete(attributes, search, limit = 10) {
83
+ return this.store.select(ConfigSelectors.dataUrl).pipe(switchMap((url) => this.httpClient.post(encodeURI(`${url}/data-sources/search`), {
84
+ datasourceByAttribute: (attributes ?? [])
85
+ .map((attr) => ({ [attr.id]: attr.datasource }))
86
+ .reduce((p, c) => ({ ...p, ...c }), {}),
87
+ value: search,
88
+ limit
86
89
  })));
87
90
  }
88
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchService, deps: [{ token: i1.HttpClient }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -94,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
94
97
  providedIn: 'root'
95
98
  }]
96
99
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }]; } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBUTVELE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQW9CLFVBQXNCLEVBQVUsS0FBdUM7UUFBdkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBSDNGLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQThDLEVBQUUsQ0FBQztRQUd0RCxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVUsRUFBRSxVQUF3QixFQUFFLFVBQW9CO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFR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VSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRyxNQUFNO1NBQ1AsQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBL0dVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRmlsdGVyQ29udGV4dCB9IGZyb20gJy4uLy4uL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0T3JkZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCB9IGZyb20gJy4uLy4uL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGdWxsVGV4dFNlYXJjaFBheWxvYWQsIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5yZWR1Y2VyJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgU2VhcmNoU3RhdGUgfSBmcm9tICcuL3NlYXJjaC5yZWR1Y2VyJztcblxuZXhwb3J0IHR5cGUgUmVzdWx0c2V0VHJhbnNmb3JtYXRpb24gPSAoaWQ6IHN0cmluZywgcmVzdWx0OiBSZXN1bHRTZXQpID0+IFJlc3VsdFNldDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VydmljZSB7XG4gIHRyYW5zZm9ybWF0aW9uczogUmVzdWx0c2V0VHJhbnNmb3JtYXRpb25bXSA9IFtdO1xuICBmaWx0ZXJzOiB7IFtkYXRhc291cmNlOiBzdHJpbmddOiBGaWx0ZXJDb250ZXh0W10gfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHJpdmF0ZSBzdG9yZTogU3RvcmU8Q29uZmlnU3RhdGUgfCBTZWFyY2hTdGF0ZT4pIHtcbiAgICBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmRhdGFzb3VyY2VGaWx0ZXJzKS5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XG4gICAgfSk7XG4gIH1cblxuICBnZXRJdGVtcyhpZDogc3RyaW5nLCBxdWlja09yZGVyPzogUmVzdWx0T3JkZXIsIGV4Y2x1ZGVHZW8/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxSZXN1bHRTZXQ+IHtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEl0ZW1zRmlsdGVyKGlkLCB0aGlzLmdldE9yZGVyKHF1aWNrT3JkZXIpKS5hcHBlbmQoXG4gICAgICAnZXhjbHVkZUdlbycsXG4gICAgICBmYWxzZSAvKiBUT0RPOiB3aGVuIGJhY2tlbmQgd2lsbCBoYXZlIGZpeGVkICM1MjogZXhjbHVkZUdlbyA/PyBmYWxzZSAqL1xuICAgICk7XG5cbiAgICBpZiAoIWlkKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vdCBzZW5kaW5nIGl0ZW1zIHJlcXVlc3Qgd2l0aCBubyBkYXRhc291cmNlIGF0dGFjaGVkLicpO1xuICAgICAgcmV0dXJuIG9mKHsgaXRlbXM6IHt9LCByZWxhdGlvbnM6IFtdIH0gYXMgUmVzdWx0U2V0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PFJlc3VsdFNldD4oZW5jb2RlVVJJKGAke3VybH0vZGF0YS1zb3VyY2VzL2lkLyR7aWR9L2l0ZW1zYCksIHsgcGFyYW1zIH0pKSxcbiAgICAgIG1hcCgocnMpID0+IHRoaXMuYXBwbHlUcmFuc2Zvcm1hdGlvbnMoJ2N1cnJlbnQnLCBycykpXG4gICAgKTtcbiAgfVxuXG4gIGdldEl0ZW1zU2VyaWFsaXplZFBhcmFtcyhpZDogc3RyaW5nLCBxdWlja09yZGVyOiB7IFtpZDogc3RyaW5nXTogUmVzdWx0T3JkZXIgfCB1bmRlZmluZWQgfSA9IHt9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3wnICsgdGhpcy5nZXRJdGVtc0ZpbHRlcihpZCwgdGhpcy5nZXRPcmRlcihxdWlja09yZGVyW2lkXSkpLnRvU3RyaW5nKCkgKyAnfCc7XG4gIH1cblxuICBnZXRJdGVtc0ZpbHRlcihpZDogc3RyaW5nLCBjdW11bGF0aXZlPzogSHR0cFBhcmFtcyk6IEh0dHBQYXJhbXMge1xuICAgIGxldCBwYXJhbXMgPSBjdW11bGF0aXZlID8/IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHRoaXMuZmlsdGVyc1tpZF0pIHtcbiAgICAgIHRoaXMuZmlsdGVyc1tpZF1cbiAgICAgICAgLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIudmFsdWUgIT09IG51bGwgJiYgZmlsdGVyLnZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdmaWx0ZXInLCBgJHtmaWx0ZXIuYXR0cmlidXRlfSwke2ZpbHRlci5vcGVyYXRvcn0sJHtmaWx0ZXIudmFsdWV9YCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgZ2V0T3JkZXIocXVpY2tPcmRlcjogUmVzdWx0T3JkZXIgfCB1bmRlZmluZWQsIGN1bXVsYXRpdmU/OiBIdHRwUGFyYW1zKTogSHR0cFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtcyA9IGN1bXVsYXRpdmUgPz8gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAocXVpY2tPcmRlcikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXInLCBgJHtxdWlja09yZGVyLmF0dHJpYnV0ZX0sJHtxdWlja09yZGVyLmFzYyA/PyAnJ31gKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXVuY2ggYSBzZWFyY2ggcmVxdWVzdCAoYW5kIHNhdmVzIGl0IGFzIGN1cnJlbnQgc2VhcmNoKVxuICAgKiBAcGFyYW0gY29uZGl0aW9uXG4gICAqL1xuICBzZWFyY2goY29uZGl0aW9uOiBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIHwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfCBGdWxsVGV4dFNlYXJjaFBheWxvYWQpOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5xdWlja09yZGVyKVxuICAgIF0pLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoW3VybCwgcXVpY2tPcmRlcl0pID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge30gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICAgICAgaWYgKHF1aWNrT3JkZXJbREVGQVVMVF9OQU1FRF9RVUVSWV9JRF0pIHtcbiAgICAgICAgICBwYXJhbXNbJ29yZGVyJ10gPSBgJHtxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdPy5hdHRyaWJ1dGV9LCR7XG4gICAgICAgICAgICBxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdPy5hc2MgPz8gJydcbiAgICAgICAgICB9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8UmVzdWx0U2V0PihlbmNvZGVVUkkoYCR7dXJsfS9pdGVtcy9zZWFyY2hgKSwgY29uZGl0aW9uLCB7IHBhcmFtcyB9KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChycykgPT4gdGhpcy5hcHBseVRyYW5zZm9ybWF0aW9ucyhERUZBVUxUX05BTUVEX1FVRVJZX0lELCBycykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRkIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gd2hlbiBnZXR0aW5nIHJlc3VsdHMgZnJvbSBiYWNrZW5kXG4gICAqIEBwYXJhbSBmdW5jXG4gICAqL1xuICBhZGRUcmFuc2Zvcm1hdGlvbihmdW5jOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgIHRoaXMudHJhbnNmb3JtYXRpb25zLnB1c2goZnVuYyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgYWxsIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uc1xuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIHJzXG4gICAqL1xuICBhcHBseVRyYW5zZm9ybWF0aW9ucyhpZDogc3RyaW5nLCByczogUmVzdWx0U2V0KSB7XG4gICAgbGV0IHRyYW5zZm9ybWVkID0gcnM7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvbnMuZm9yRWFjaCgoZnVuYykgPT4gKHRyYW5zZm9ybWVkID0gZnVuYyhpZCwgdHJhbnNmb3JtZWQpKSk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlKFxuICAgIGF0dHJpYnV0ZXM6XG4gICAgICB8IHtcbiAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICAgIGRhdGFzb3VyY2U6IHN0cmluZztcbiAgICAgICAgfVtdXG4gICAgICB8IHVuZGVmaW5lZCxcbiAgICBzZWFyY2g6IHN0cmluZ1xuICApIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVybCkgPT5cbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8c3RyaW5nW10+KGVuY29kZVVSSShgJHt1cmx9L2RhdGEtc291cmNlcy9hdXRvY29tcGxldGVgKSwge1xuICAgICAgICAgIGF0dHJpYnV0ZXM6IChhdHRyaWJ1dGVzID8/IFtdKS5tYXAoKGF0dHIpID0+ICh7IGRhdGFzb3VyY2U6IGF0dHIuZGF0YXNvdXJjZSwgYXR0cmlidXRlOiBhdHRyLmlkIH0pKSxcbiAgICAgICAgICBzZWFyY2hcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBUTVELE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQW9CLFVBQXNCLEVBQVUsS0FBdUM7UUFBdkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBSDNGLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQThDLEVBQUUsQ0FBQztRQUd0RCxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVUsRUFBRSxVQUF3QixFQUFFLFVBQW9CO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFR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RSxxQkFBcUIsRUFBRSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7aUJBQ3RDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2lCQUMvQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUs7U0FDTixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FuSFUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRPcmRlciB9IGZyb20gJy4uLy4uL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0IH0gZnJvbSAnLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1tb25vLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbXVsdGktY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnJlZHVjZXInO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4vc2VhcmNoLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBTZWFyY2hTdGF0ZSB9IGZyb20gJy4vc2VhcmNoLnJlZHVjZXInO1xuXG5leHBvcnQgdHlwZSBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbiA9IChpZDogc3RyaW5nLCByZXN1bHQ6IFJlc3VsdFNldCkgPT4gUmVzdWx0U2V0O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlIHtcbiAgdHJhbnNmb3JtYXRpb25zOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbltdID0gW107XG4gIGZpbHRlcnM6IHsgW2RhdGFzb3VyY2U6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JlOiBTdG9yZTxDb25maWdTdGF0ZSB8IFNlYXJjaFN0YXRlPikge1xuICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGF0YXNvdXJjZUZpbHRlcnMpLnN1YnNjcmliZSgoZmlsdGVycykgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgICB9KTtcbiAgfVxuXG4gIGdldEl0ZW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI/OiBSZXN1bHRPcmRlciwgZXhjbHVkZUdlbz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcikpLmFwcGVuZChcbiAgICAgICdleGNsdWRlR2VvJyxcbiAgICAgIGZhbHNlIC8qIFRPRE86IHdoZW4gYmFja2VuZCB3aWxsIGhhdmUgZml4ZWQgIzUyOiBleGNsdWRlR2VvID8/IGZhbHNlICovXG4gICAgKTtcblxuICAgIGlmICghaWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm90IHNlbmRpbmcgaXRlbXMgcmVxdWVzdCB3aXRoIG5vIGRhdGFzb3VyY2UgYXR0YWNoZWQuJyk7XG4gICAgICByZXR1cm4gb2YoeyBpdGVtczoge30sIHJlbGF0aW9uczogW10gfSBhcyBSZXN1bHRTZXQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8UmVzdWx0U2V0PihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhLXNvdXJjZXMvaWQvJHtpZH0vaXRlbXNgKSwgeyBwYXJhbXMgfSkpLFxuICAgICAgbWFwKChycykgPT4gdGhpcy5hcHBseVRyYW5zZm9ybWF0aW9ucygnY3VycmVudCcsIHJzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0SXRlbXNTZXJpYWxpemVkUGFyYW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI6IHsgW2lkOiBzdHJpbmddOiBSZXN1bHRPcmRlciB8IHVuZGVmaW5lZCB9ID0ge30pOiBzdHJpbmcge1xuICAgIHJldHVybiAnfCcgKyB0aGlzLmdldEl0ZW1zRmlsdGVyKGlkLCB0aGlzLmdldE9yZGVyKHF1aWNrT3JkZXJbaWRdKSkudG9TdHJpbmcoKSArICd8JztcbiAgfVxuXG4gIGdldEl0ZW1zRmlsdGVyKGlkOiBzdHJpbmcsIGN1bXVsYXRpdmU/OiBIdHRwUGFyYW1zKTogSHR0cFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtcyA9IGN1bXVsYXRpdmUgPz8gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAodGhpcy5maWx0ZXJzW2lkXSkge1xuICAgICAgdGhpcy5maWx0ZXJzW2lkXVxuICAgICAgICAuZmlsdGVyKChmaWx0ZXIpID0+IGZpbHRlci52YWx1ZSAhPT0gbnVsbCAmJiBmaWx0ZXIudmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2ZpbHRlcicsIGAke2ZpbHRlci5hdHRyaWJ1dGV9LCR7ZmlsdGVyLm9wZXJhdG9yfSwke2ZpbHRlci52YWx1ZX1gKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBnZXRPcmRlcihxdWlja09yZGVyOiBSZXN1bHRPcmRlciB8IHVuZGVmaW5lZCwgY3VtdWxhdGl2ZT86IEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcbiAgICBsZXQgcGFyYW1zID0gY3VtdWxhdGl2ZSA/PyBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChxdWlja09yZGVyKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlcicsIGAke3F1aWNrT3JkZXIuYXR0cmlidXRlfSwke3F1aWNrT3JkZXIuYXNjID8/ICcnfWApO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIExhdW5jaCBhIHNlYXJjaCByZXF1ZXN0IChhbmQgc2F2ZXMgaXQgYXMgY3VycmVudCBzZWFyY2gpXG4gICAqIEBwYXJhbSBjb25kaXRpb25cbiAgICovXG4gIHNlYXJjaChjb25kaXRpb246IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfCBNdWx0aUNsYXNzU2VhcmNoUGF5bG9hZCB8IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCk6IE9ic2VydmFibGU8UmVzdWx0U2V0PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnF1aWNrT3JkZXIpXG4gICAgXSkucGlwZShcbiAgICAgIG1lcmdlTWFwKChbdXJsLCBxdWlja09yZGVyXSkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgICAgICBpZiAocXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXSkge1xuICAgICAgICAgIHBhcmFtc1snb3JkZXInXSA9IGAke3F1aWNrT3JkZXJbREVGQVVMVF9OQU1FRF9RVUVSWV9JRF0/LmF0dHJpYnV0ZX0sJHtcbiAgICAgICAgICAgIHF1aWNrT3JkZXJbREVGQVVMVF9OQU1FRF9RVUVSWV9JRF0/LmFzYyA/PyAnJ1xuICAgICAgICAgIH1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxSZXN1bHRTZXQ+KGVuY29kZVVSSShgJHt1cmx9L2l0ZW1zL3NlYXJjaGApLCBjb25kaXRpb24sIHsgcGFyYW1zIH0pO1xuICAgICAgfSksXG4gICAgICBtYXAoKHJzKSA9PiB0aGlzLmFwcGx5VHJhbnNmb3JtYXRpb25zKERFRkFVTFRfTkFNRURfUVVFUllfSUQsIHJzKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGQgYSB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvbiB3aGVuIGdldHRpbmcgcmVzdWx0cyBmcm9tIGJhY2tlbmRcbiAgICogQHBhcmFtIGZ1bmNcbiAgICovXG4gIGFkZFRyYW5zZm9ybWF0aW9uKGZ1bmM6IFJlc3VsdHNldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvbnMucHVzaChmdW5jKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBhbGwgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb25zXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gcnNcbiAgICovXG4gIGFwcGx5VHJhbnNmb3JtYXRpb25zKGlkOiBzdHJpbmcsIHJzOiBSZXN1bHRTZXQpIHtcbiAgICBsZXQgdHJhbnNmb3JtZWQgPSBycztcbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9ucy5mb3JFYWNoKChmdW5jKSA9PiAodHJhbnNmb3JtZWQgPSBmdW5jKGlkLCB0cmFuc2Zvcm1lZCkpKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gIH1cblxuICBhdXRvY29tcGxldGUoXG4gICAgYXR0cmlidXRlczpcbiAgICAgIHwge1xuICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgZGF0YXNvdXJjZTogc3RyaW5nO1xuICAgICAgICB9W11cbiAgICAgIHwgdW5kZWZpbmVkLFxuICAgIHNlYXJjaDogc3RyaW5nLFxuICAgIGxpbWl0ID0gMTBcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0PHN0cmluZ1tdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhLXNvdXJjZXMvc2VhcmNoYCksIHtcbiAgICAgICAgICBkYXRhc291cmNlQnlBdHRyaWJ1dGU6IChhdHRyaWJ1dGVzID8/IFtdKVxuICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4gKHsgW2F0dHIuaWRdOiBhdHRyLmRhdGFzb3VyY2UgfSkpXG4gICAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiAoeyAuLi5wLCAuLi5jIH0pLCB7fSksXG4gICAgICAgICAgdmFsdWU6IHNlYXJjaCxcbiAgICAgICAgICBsaW1pdFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==