@provoly/dashboard 1.4.9 → 1.4.10

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 (50) hide show
  1. package/components/paginator/paginator.component.d.ts +3 -1
  2. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +4 -3
  3. package/esm2022/components/paginator/paginator.component.mjs +8 -4
  4. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +9 -11
  5. package/esm2022/import/components/list/import-list.component.mjs +1 -1
  6. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  7. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  8. package/esm2022/lib/core/model/result-set.interface.mjs +1 -1
  9. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
  10. package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
  11. package/esm2022/lib/core/store/search/search.effects.mjs +33 -8
  12. package/esm2022/lib/core/store/search/search.service.mjs +24 -6
  13. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +20 -2
  14. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -5
  15. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +16 -49
  16. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +2 -4
  17. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +34 -15
  18. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +60 -55
  19. package/esm2022/widgets/widget-map/interaction/tooltip-manager.class.mjs +41 -48
  20. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
  21. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +32 -17
  22. package/fesm2022/provoly-dashboard-components-paginator.mjs +7 -3
  23. package/fesm2022/provoly-dashboard-components-paginator.mjs.map +1 -1
  24. package/fesm2022/provoly-dashboard-dataset.mjs +9 -11
  25. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  26. package/fesm2022/provoly-dashboard-import.mjs +1 -1
  27. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  28. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +32 -13
  29. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  30. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +100 -102
  31. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  32. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +32 -17
  33. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  34. package/fesm2022/provoly-dashboard.mjs +299 -280
  35. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  36. package/lib/core/model/manifest.interface.d.ts +2 -10
  37. package/lib/core/model/result-set.interface.d.ts +1 -0
  38. package/lib/core/model/widget-map-manifest.interface.d.ts +1 -0
  39. package/lib/core/store/search/search.actions.d.ts +4 -0
  40. package/lib/core/store/search/search.effects.d.ts +12 -1
  41. package/lib/core/store/search/search.service.d.ts +3 -1
  42. package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +1 -0
  43. package/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.d.ts +1 -0
  44. package/lib/dashboard/store/dashboard.actions.d.ts +9 -18
  45. package/lib/dashboard/store/dashboard.effects.d.ts +3 -1
  46. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -9
  47. package/package.json +43 -43
  48. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +2 -1
  49. package/widgets/widget-map/component/widget-map.component.d.ts +1 -2
  50. package/widgets/widget-map/interaction/tooltip-manager.class.d.ts +0 -2
@@ -6,6 +6,8 @@ import { ConfigSelectors } from '../config/config.selectors';
6
6
  import { DEFAULT_NAMED_QUERY_ID } from './search.constants';
7
7
  import { FilterParamEncoder } from './filter-param-encoder';
8
8
  import { DateUtils } from '../../../dashboard/date-utils';
9
+ import { NamedQueryTypes } from '../data-source/named-query-types.model';
10
+ import { DataSourceSelectors } from '../data-source/data-source.selectors';
9
11
  import * as i0 from "@angular/core";
10
12
  import * as i1 from "@angular/common/http";
11
13
  import * as i2 from "@ngrx/store";
@@ -16,20 +18,31 @@ export class SearchService {
16
18
  this.transformations = [];
17
19
  this.filters = {};
18
20
  this.limits = {};
21
+ this.datasources = [];
19
22
  store.select(DashboardSelectors.datasourceFilters).subscribe((filters) => {
20
23
  this.filters = filters;
21
24
  });
22
25
  store.select(ConfigSelectors.limits).subscribe((limits) => {
23
26
  this.limits = limits;
24
27
  });
28
+ store.select(DataSourceSelectors.getDataSources).subscribe((datasources) => {
29
+ this.datasources = datasources;
30
+ });
25
31
  }
26
- getItems(id, quickOrder, excludeGeo) {
27
- const params = this.getItemsFilter(id, this.getOrder(quickOrder)).append('excludeGeo', excludeGeo ?? false);
32
+ getItems(id, quickOrder, excludeGeo, searchAfter) {
33
+ const params = this.getItemsFilter(id, this.getOrder(quickOrder));
28
34
  if (!id) {
29
35
  console.warn('Not sending items request with no datasource attached.');
30
36
  return of({ items: {}, relations: [] });
31
37
  }
32
- return this.store.select(ConfigSelectors.dataUrl).pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/data-sources/id/${id}/items`), { params })), map((rs) => this.applyTransformations('current', rs)));
38
+ return this.store.select(ConfigSelectors.dataUrl).pipe(mergeMap((url) => {
39
+ const ds = this.datasources.find((d) => d.id === id);
40
+ return this.httpClient.post(encodeURI(`${url}/data-sources/id/${id}/items`), {
41
+ type: ds?.sourceType === 'namedQuery' ? ds.request.type : NamedQueryTypes.MONO_CLASS,
42
+ excludeGeo: excludeGeo ?? false,
43
+ searchAfter: searchAfter ?? undefined
44
+ }, { params });
45
+ }), map((rs) => this.applyTransformations('current', rs)));
33
46
  }
34
47
  getItemsSerializedParams(id, quickOrder = {}) {
35
48
  return '|' + this.getItemsFilter(id, this.getOrder(quickOrder[id])).toString() + '|';
@@ -60,8 +73,10 @@ export class SearchService {
60
73
  });
61
74
  }
62
75
  if (includeLimit) {
63
- const limit = this.limits[id] ?? this.limits['default'];
64
- params = params.append('limit', limit);
76
+ const limit = this.limits[id];
77
+ if (limit) {
78
+ params = params.append('limit', limit);
79
+ }
65
80
  }
66
81
  return params;
67
82
  }
@@ -70,6 +85,9 @@ export class SearchService {
70
85
  if (quickOrder) {
71
86
  params = params.append('order', `${quickOrder.attribute},${quickOrder.asc ?? ''}`);
72
87
  }
88
+ else {
89
+ params = params.append('order', 'true,asc');
90
+ }
73
91
  return params;
74
92
  }
75
93
  /**
@@ -123,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
123
141
  providedIn: 'root'
124
142
  }]
125
143
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Store }] });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQU8xRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUNVLFVBQXNCLEVBQ3RCLEtBQXVDO1FBRHZDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFOakQsb0JBQWUsR0FBOEIsRUFBRSxDQUFDO1FBQ2hELFlBQU8sR0FBOEMsRUFBRSxDQUFDO1FBQ3hELFdBQU0sR0FBNEIsRUFBRSxDQUFDO1FBTW5DLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztR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O1NBQ04sQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7OEdBeklVLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRmlsdGVyQ29udGV4dCB9IGZyb20gJy4uLy4uL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0T3JkZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCB9IGZyb20gJy4uLy4uL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGdWxsVGV4dFNlYXJjaFBheWxvYWQsIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5yZWR1Y2VyJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgU2VhcmNoU3RhdGUgfSBmcm9tICcuL3NlYXJjaC5yZWR1Y2VyJztcbmltcG9ydCB7IEZpbHRlclBhcmFtRW5jb2RlciB9IGZyb20gJy4vZmlsdGVyLXBhcmFtLWVuY29kZXInO1xuaW1wb3J0IHsgRGF0ZVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2RhdGUtdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbiA9IChpZDogc3RyaW5nLCByZXN1bHQ6IFJlc3VsdFNldCkgPT4gUmVzdWx0U2V0O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlIHtcbiAgdHJhbnNmb3JtYXRpb25zOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbltdID0gW107XG4gIGZpbHRlcnM6IHsgW2RhdGFzb3VyY2U6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9ID0ge307XG4gIGxpbWl0czogeyBbcDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8Q29uZmlnU3RhdGUgfCBTZWFyY2hTdGF0ZT5cbiAgKSB7XG4gICAgc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kYXRhc291cmNlRmlsdGVycykuc3Vic2NyaWJlKChmaWx0ZXJzKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgIH0pO1xuICAgIHN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMubGltaXRzKS5zdWJzY3JpYmUoKGxpbWl0cykgPT4ge1xuICAgICAgdGhpcy5saW1pdHMgPSBsaW1pdHM7XG4gICAgfSk7XG4gIH1cblxuICBnZXRJdGVtcyhpZDogc3RyaW5nLCBxdWlja09yZGVyPzogUmVzdWx0T3JkZXIsIGV4Y2x1ZGVHZW8/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxSZXN1bHRTZXQ+IHtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEl0ZW1zRmlsdGVyKGlkLCB0aGlzLmdldE9yZGVyKHF1aWNrT3JkZXIpKS5hcHBlbmQoJ2V4Y2x1ZGVHZW8nLCBleGNsdWRlR2VvID8/IGZhbHNlKTtcblxuICAgIGlmICghaWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm90IHNlbmRpbmcgaXRlbXMgcmVxdWVzdCB3aXRoIG5vIGRhdGFzb3VyY2UgYXR0YWNoZWQuJyk7XG4gICAgICByZXR1cm4gb2YoeyBpdGVtczoge30sIHJlbGF0aW9uczogW10gfSBhcyBSZXN1bHRTZXQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8UmVzdWx0U2V0PihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhLXNvdXJjZXMvaWQvJHtpZH0vaXRlbXNgKSwgeyBwYXJhbXMgfSkpLFxuICAgICAgbWFwKChycykgPT4gdGhpcy5hcHBseVRyYW5zZm9ybWF0aW9ucygnY3VycmVudCcsIHJzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0SXRlbXNTZXJpYWxpemVkUGFyYW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI6IHsgW2lkOiBzdHJpbmddOiBSZXN1bHRPcmRlciB8IHVuZGVmaW5lZCB9ID0ge30pOiBzdHJpbmcge1xuICAgIHJldHVybiAnfCcgKyB0aGlzLmdldEl0ZW1zRmlsdGVyKGlkLCB0aGlzLmdldE9yZGVyKHF1aWNrT3JkZXJbaWRdKSkudG9TdHJpbmcoKSArICd8JztcbiAgfVxuXG4gIGdldEl0ZW1zRmlsdGVyKGlkOiBzdHJpbmcsIGN1bXVsYXRpdmU/OiBIdHRwUGFyYW1zLCBpbmNsdWRlTGltaXQgPSB0cnVlKTogSHR0cFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtcyA9IGN1bXVsYXRpdmUgPz8gbmV3IEh0dHBQYXJhbXMoeyBlbmNvZGVyOiBuZXcgRmlsdGVyUGFyYW1FbmNvZGVyKCkgfSk7XG4gICAgaWYgKHRoaXMuZmlsdGVyc1tpZF0pIHtcbiAgICAgIHRoaXMuZmlsdGVyc1tpZF1cbiAgICAgICAgLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIudmFsdWUgIT09IG51bGwgJiYgZmlsdGVyLnZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWVzVG9BZGRUb1BhcmFtcyA9IGZpbHRlci52YWx1ZTtcbiAgICAgICAgICAvLyBJTlNJREUgYW5kIE9VVFNJREUgb3BlcmF0b3JzIHVzZXMgMiB2YWx1ZXMgYnV0IG5vdCBzZW50IGluIGFuIGFycmF5LCB2YWx1ZXMgYXJlIHNlcGFyYXRlZCBieSBhIGNvbWFcbiAgICAgICAgICAvLyB3aWNoIG11c3Qgbm90IGJlIGVuY29kZWQgKGFzIGlmIHZhbHVlcyB3ZXJlIGluIGFuIGFycmF5KVxuICAgICAgICAgIGNvbnN0IGlzTXVsdGlWYWx1ZWQgPSBbJ0lOU0lERScsICdPVVRTSURFJ10uZmluZCgodmFsKSA9PiB2YWwgPT09IGZpbHRlci5vcGVyYXRvcikgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAoaXNNdWx0aVZhbHVlZCkge1xuICAgICAgICAgICAgdmFsdWVzVG9BZGRUb1BhcmFtcyA9IChmaWx0ZXIudmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBkYXRlIGZpbHRlciB2YWx1ZSBtdXN0IGJlIHNlbmQgaW4gSVNPLTg2MDEgZm9ybWF0XG4gICAgICAgICAgaWYgKGZpbHRlci50eXBlID09PSAnZGF0ZScpIHtcbiAgICAgICAgICAgIHZhbHVlc1RvQWRkVG9QYXJhbXMgPSBpc011bHRpVmFsdWVkXG4gICAgICAgICAgICAgID8gKHZhbHVlc1RvQWRkVG9QYXJhbXMgYXMgc3RyaW5nW10pLm1hcCgodmFsdWUpID0+IERhdGVVdGlscy5wYXJzZVRvSXNvU3RyaW5nKHZhbHVlKSlcbiAgICAgICAgICAgICAgOiBEYXRlVXRpbHMucGFyc2VUb0lzb1N0cmluZyh2YWx1ZXNUb0FkZFRvUGFyYW1zIGFzIHN0cmluZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZXNUb0FkZFRvUGFyYW1zKVxuICAgICAgICAgICAgPyB2YWx1ZXNUb0FkZFRvUGFyYW1zLm1hcCgodikgPT4gZW5jb2RlVVJJQ29tcG9uZW50KHYudG9TdHJpbmcoKS5zcGxpdCgnLCcpLmpvaW4oJ1xcXFwsJykpKS5qb2luKCcsJylcbiAgICAgICAgICAgIDogZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlc1RvQWRkVG9QYXJhbXMhLnRvU3RyaW5nKCkucmVwbGFjZSgvLC9nLCAnXFxcXCwnKSk7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZmlsdGVyJywgYCR7ZmlsdGVyLmF0dHJpYnV0ZX0sJHtmaWx0ZXIub3BlcmF0b3J9LCR7dmFsdWV9YCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZUxpbWl0KSB7XG4gICAgICBjb25zdCBsaW1pdCA9IHRoaXMubGltaXRzW2lkXSA/PyB0aGlzLmxpbWl0c1snZGVmYXVsdCddO1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbGltaXQnLCBsaW1pdCk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBnZXRPcmRlcihxdWlja09yZGVyOiBSZXN1bHRPcmRlciB8IHVuZGVmaW5lZCk6IEh0dHBQYXJhbXMge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGVuY29kZXI6IG5ldyBGaWx0ZXJQYXJhbUVuY29kZXIoKSB9KTtcbiAgICBpZiAocXVpY2tPcmRlcikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXInLCBgJHtxdWlja09yZGVyLmF0dHJpYnV0ZX0sJHtxdWlja09yZGVyLmFzYyA/PyAnJ31gKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXVuY2ggYSBzZWFyY2ggcmVxdWVzdCAoYW5kIHNhdmVzIGl0IGFzIGN1cnJlbnQgc2VhcmNoKVxuICAgKiBAcGFyYW0gY29uZGl0aW9uXG4gICAqL1xuICBzZWFyY2goY29uZGl0aW9uOiBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIHwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfCBGdWxsVGV4dFNlYXJjaFBheWxvYWQpOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5xdWlja09yZGVyKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5saW1pdHMpXG4gICAgXSkucGlwZShcbiAgICAgIG1lcmdlTWFwKChbdXJsLCBxdWlja09yZGVyLCBsaW1pdHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICAgIGlmIChxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdKSB7XG4gICAgICAgICAgcGFyYW1zWydvcmRlciddID0gYCR7cXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXR0cmlidXRlfSwke1xuICAgICAgICAgICAgcXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXNjID8/ICcnXG4gICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgX2NvbmRpdGlvbiA9IHsgLi4uY29uZGl0aW9uLCBsaW1pdDogbGltaXRzW0RFRkFVTFRfTkFNRURfUVVFUllfSURdID8/IGxpbWl0c1snZGVmYXVsdCddIH07XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxSZXN1bHRTZXQ+KGVuY29kZVVSSShgJHt1cmx9L2l0ZW1zL3NlYXJjaGApLCBfY29uZGl0aW9uLCB7IHBhcmFtcyB9KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChycykgPT4gdGhpcy5hcHBseVRyYW5zZm9ybWF0aW9ucyhERUZBVUxUX05BTUVEX1FVRVJZX0lELCBycykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRkIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gd2hlbiBnZXR0aW5nIHJlc3VsdHMgZnJvbSBiYWNrZW5kXG4gICAqIEBwYXJhbSBmdW5jXG4gICAqL1xuICBhZGRUcmFuc2Zvcm1hdGlvbihmdW5jOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgIHRoaXMudHJhbnNmb3JtYXRpb25zLnB1c2goZnVuYyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgYWxsIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uc1xuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIHJzXG4gICAqL1xuICBhcHBseVRyYW5zZm9ybWF0aW9ucyhpZDogc3RyaW5nLCByczogUmVzdWx0U2V0KSB7XG4gICAgbGV0IHRyYW5zZm9ybWVkID0gcnM7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvbnMuZm9yRWFjaCgoZnVuYykgPT4gKHRyYW5zZm9ybWVkID0gZnVuYyhpZCwgdHJhbnNmb3JtZWQpKSk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlKFxuICAgIGF0dHJpYnV0ZXM6XG4gICAgICB8IHtcbiAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgIGRhdGFzb3VyY2U6IHN0cmluZztcbiAgICAgICAgfVtdXG4gICAgICB8IHVuZGVmaW5lZCxcbiAgICBzZWFyY2g6IHN0cmluZyA9ICcnLFxuICAgIGxpbWl0PzogbnVtYmVyXG4gICkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxzdHJpbmdbXT4oZW5jb2RlVVJJKGAke3VybH0vZGF0YS1zb3VyY2VzL3ZhbHVlc2ApLCB7XG4gICAgICAgICAgYXR0cmlidXRlczogKGF0dHJpYnV0ZXMgPz8gW10pLm1hcCgoYXR0cikgPT4gKHsgZGF0YXNvdXJjZTogYXR0ci5kYXRhc291cmNlLCBhdHRyaWJ1dGU6IGF0dHIuaWQgfSkpLFxuICAgICAgICAgIHZhbHVlOiBzZWFyY2gsXG4gICAgICAgICAgbGltaXRcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFRM0UsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDVSxVQUFzQixFQUN0QixLQUF1QztRQUR2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBUGpELG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQThDLEVBQUUsQ0FBQztRQUN4RCxXQUFNLEdBQTRCLEVBQUUsQ0FBQztRQUNyQyxnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFNN0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxr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Q0FBQyxFQUFVLEVBQUUsRUFBYTtRQUM1QyxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZLENBQ1YsVUFLYSxFQUNiLFNBQWlCLEVBQUUsRUFDbkIsS0FBYztRQUVkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDcEQsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQVcsU0FBUyxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxFQUFFO1lBQ3RFLFVBQVUsRUFBRSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkcsS0FBSyxFQUFFLE1BQU07WUFDYixLQUFLO1NBQ04sQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7OEdBM0pVLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRmlsdGVyQ29udGV4dCB9IGZyb20gJy4uLy4uL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0T3JkZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCB9IGZyb20gJy4uLy4uL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGdWxsVGV4dFNlYXJjaFBheWxvYWQsIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5yZWR1Y2VyJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgU2VhcmNoU3RhdGUgfSBmcm9tICcuL3NlYXJjaC5yZWR1Y2VyJztcbmltcG9ydCB7IEZpbHRlclBhcmFtRW5jb2RlciB9IGZyb20gJy4vZmlsdGVyLXBhcmFtLWVuY29kZXInO1xuaW1wb3J0IHsgRGF0ZVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2RhdGUtdXRpbHMnO1xuaW1wb3J0IHsgTmFtZWRRdWVyeVR5cGVzIH0gZnJvbSAnLi4vZGF0YS1zb3VyY2UvbmFtZWQtcXVlcnktdHlwZXMubW9kZWwnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVNlbGVjdG9ycyB9IGZyb20gJy4uL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbiA9IChpZDogc3RyaW5nLCByZXN1bHQ6IFJlc3VsdFNldCkgPT4gUmVzdWx0U2V0O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlIHtcbiAgdHJhbnNmb3JtYXRpb25zOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbltdID0gW107XG4gIGZpbHRlcnM6IHsgW2RhdGFzb3VyY2U6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9ID0ge307XG4gIGxpbWl0czogeyBbcDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgZGF0YXNvdXJjZXM6IERhdGFTb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxDb25maWdTdGF0ZSB8IFNlYXJjaFN0YXRlPlxuICApIHtcbiAgICBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmRhdGFzb3VyY2VGaWx0ZXJzKS5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XG4gICAgfSk7XG4gICAgc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5saW1pdHMpLnN1YnNjcmliZSgobGltaXRzKSA9PiB7XG4gICAgICB0aGlzLmxpbWl0cyA9IGxpbWl0cztcbiAgICB9KTtcbiAgICBzdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5nZXREYXRhU291cmNlcykuc3Vic2NyaWJlKChkYXRhc291cmNlcykgPT4ge1xuICAgICAgdGhpcy5kYXRhc291cmNlcyA9IGRhdGFzb3VyY2VzO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SXRlbXMoaWQ6IHN0cmluZywgcXVpY2tPcmRlcj86IFJlc3VsdE9yZGVyLCBleGNsdWRlR2VvPzogYm9vbGVhbiwgc2VhcmNoQWZ0ZXI/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcikpO1xuICAgIGlmICghaWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm90IHNlbmRpbmcgaXRlbXMgcmVxdWVzdCB3aXRoIG5vIGRhdGFzb3VyY2UgYXR0YWNoZWQuJyk7XG4gICAgICByZXR1cm4gb2YoeyBpdGVtczoge30sIHJlbGF0aW9uczogW10gfSBhcyBSZXN1bHRTZXQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgY29uc3QgZHMgPSB0aGlzLmRhdGFzb3VyY2VzLmZpbmQoKGQpID0+IGQuaWQgPT09IGlkKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3VsdFNldD4oXG4gICAgICAgICAgZW5jb2RlVVJJKGAke3VybH0vZGF0YS1zb3VyY2VzL2lkLyR7aWR9L2l0ZW1zYCksXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogZHM/LnNvdXJjZVR5cGUgPT09ICduYW1lZFF1ZXJ5JyA/IGRzLnJlcXVlc3QudHlwZSA6IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTLFxuICAgICAgICAgICAgZXhjbHVkZUdlbzogZXhjbHVkZUdlbyA/PyBmYWxzZSxcbiAgICAgICAgICAgIHNlYXJjaEFmdGVyOiBzZWFyY2hBZnRlciA/PyB1bmRlZmluZWRcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgcGFyYW1zIH1cbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChycykgPT4gdGhpcy5hcHBseVRyYW5zZm9ybWF0aW9ucygnY3VycmVudCcsIHJzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0SXRlbXNTZXJpYWxpemVkUGFyYW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI6IHsgW2lkOiBzdHJpbmddOiBSZXN1bHRPcmRlciB8IHVuZGVmaW5lZCB9ID0ge30pOiBzdHJpbmcge1xuICAgIHJldHVybiAnfCcgKyB0aGlzLmdldEl0ZW1zRmlsdGVyKGlkLCB0aGlzLmdldE9yZGVyKHF1aWNrT3JkZXJbaWRdKSkudG9TdHJpbmcoKSArICd8JztcbiAgfVxuXG4gIGdldEl0ZW1zRmlsdGVyKGlkOiBzdHJpbmcsIGN1bXVsYXRpdmU/OiBIdHRwUGFyYW1zLCBpbmNsdWRlTGltaXQgPSB0cnVlKTogSHR0cFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtcyA9IGN1bXVsYXRpdmUgPz8gbmV3IEh0dHBQYXJhbXMoeyBlbmNvZGVyOiBuZXcgRmlsdGVyUGFyYW1FbmNvZGVyKCkgfSk7XG4gICAgaWYgKHRoaXMuZmlsdGVyc1tpZF0pIHtcbiAgICAgIHRoaXMuZmlsdGVyc1tpZF1cbiAgICAgICAgLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIudmFsdWUgIT09IG51bGwgJiYgZmlsdGVyLnZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWVzVG9BZGRUb1BhcmFtcyA9IGZpbHRlci52YWx1ZTtcbiAgICAgICAgICAvLyBJTlNJREUgYW5kIE9VVFNJREUgb3BlcmF0b3JzIHVzZXMgMiB2YWx1ZXMgYnV0IG5vdCBzZW50IGluIGFuIGFycmF5LCB2YWx1ZXMgYXJlIHNlcGFyYXRlZCBieSBhIGNvbWFcbiAgICAgICAgICAvLyB3aWNoIG11c3Qgbm90IGJlIGVuY29kZWQgKGFzIGlmIHZhbHVlcyB3ZXJlIGluIGFuIGFycmF5KVxuICAgICAgICAgIGNvbnN0IGlzTXVsdGlWYWx1ZWQgPSBbJ0lOU0lERScsICdPVVRTSURFJ10uZmluZCgodmFsKSA9PiB2YWwgPT09IGZpbHRlci5vcGVyYXRvcikgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAoaXNNdWx0aVZhbHVlZCkge1xuICAgICAgICAgICAgdmFsdWVzVG9BZGRUb1BhcmFtcyA9IChmaWx0ZXIudmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBkYXRlIGZpbHRlciB2YWx1ZSBtdXN0IGJlIHNlbmQgaW4gSVNPLTg2MDEgZm9ybWF0XG4gICAgICAgICAgaWYgKGZpbHRlci50eXBlID09PSAnZGF0ZScpIHtcbiAgICAgICAgICAgIHZhbHVlc1RvQWRkVG9QYXJhbXMgPSBpc011bHRpVmFsdWVkXG4gICAgICAgICAgICAgID8gKHZhbHVlc1RvQWRkVG9QYXJhbXMgYXMgc3RyaW5nW10pLm1hcCgodmFsdWUpID0+IERhdGVVdGlscy5wYXJzZVRvSXNvU3RyaW5nKHZhbHVlKSlcbiAgICAgICAgICAgICAgOiBEYXRlVXRpbHMucGFyc2VUb0lzb1N0cmluZyh2YWx1ZXNUb0FkZFRvUGFyYW1zIGFzIHN0cmluZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZXNUb0FkZFRvUGFyYW1zKVxuICAgICAgICAgICAgPyB2YWx1ZXNUb0FkZFRvUGFyYW1zLm1hcCgodikgPT4gZW5jb2RlVVJJQ29tcG9uZW50KHYudG9TdHJpbmcoKS5zcGxpdCgnLCcpLmpvaW4oJ1xcXFwsJykpKS5qb2luKCcsJylcbiAgICAgICAgICAgIDogZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlc1RvQWRkVG9QYXJhbXMhLnRvU3RyaW5nKCkucmVwbGFjZSgvLC9nLCAnXFxcXCwnKSk7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZmlsdGVyJywgYCR7ZmlsdGVyLmF0dHJpYnV0ZX0sJHtmaWx0ZXIub3BlcmF0b3J9LCR7dmFsdWV9YCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZUxpbWl0KSB7XG4gICAgICBjb25zdCBsaW1pdCA9IHRoaXMubGltaXRzW2lkXTtcbiAgICAgIGlmIChsaW1pdCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdsaW1pdCcsIGxpbWl0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIGdldE9yZGVyKHF1aWNrT3JkZXI6IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkKTogSHR0cFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogbmV3IEZpbHRlclBhcmFtRW5jb2RlcigpIH0pO1xuICAgIGlmIChxdWlja09yZGVyKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlcicsIGAke3F1aWNrT3JkZXIuYXR0cmlidXRlfSwke3F1aWNrT3JkZXIuYXNjID8/ICcnfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlcicsICd0cnVlLGFzYycpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIExhdW5jaCBhIHNlYXJjaCByZXF1ZXN0IChhbmQgc2F2ZXMgaXQgYXMgY3VycmVudCBzZWFyY2gpXG4gICAqIEBwYXJhbSBjb25kaXRpb25cbiAgICovXG4gIHNlYXJjaChjb25kaXRpb246IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfCBNdWx0aUNsYXNzU2VhcmNoUGF5bG9hZCB8IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCk6IE9ic2VydmFibGU8UmVzdWx0U2V0PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnF1aWNrT3JkZXIpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmxpbWl0cylcbiAgICBdKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKFt1cmwsIHF1aWNrT3JkZXIsIGxpbWl0c10pID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge30gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICAgICAgaWYgKHF1aWNrT3JkZXJbREVGQVVMVF9OQU1FRF9RVUVSWV9JRF0pIHtcbiAgICAgICAgICBwYXJhbXNbJ29yZGVyJ10gPSBgJHtxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdPy5hdHRyaWJ1dGV9LCR7XG4gICAgICAgICAgICBxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdPy5hc2MgPz8gJydcbiAgICAgICAgICB9YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBfY29uZGl0aW9uID0geyAuLi5jb25kaXRpb24sIGxpbWl0OiBsaW1pdHNbREVGQVVMVF9OQU1FRF9RVUVSWV9JRF0gPz8gbGltaXRzWydkZWZhdWx0J10gfTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3VsdFNldD4oZW5jb2RlVVJJKGAke3VybH0vaXRlbXMvc2VhcmNoYCksIF9jb25kaXRpb24sIHsgcGFyYW1zIH0pO1xuICAgICAgfSksXG4gICAgICBtYXAoKHJzKSA9PiB0aGlzLmFwcGx5VHJhbnNmb3JtYXRpb25zKERFRkFVTFRfTkFNRURfUVVFUllfSUQsIHJzKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGQgYSB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvbiB3aGVuIGdldHRpbmcgcmVzdWx0cyBmcm9tIGJhY2tlbmRcbiAgICogQHBhcmFtIGZ1bmNcbiAgICovXG4gIGFkZFRyYW5zZm9ybWF0aW9uKGZ1bmM6IFJlc3VsdHNldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvbnMucHVzaChmdW5jKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBhbGwgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb25zXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gcnNcbiAgICovXG4gIGFwcGx5VHJhbnNmb3JtYXRpb25zKGlkOiBzdHJpbmcsIHJzOiBSZXN1bHRTZXQpIHtcbiAgICBsZXQgdHJhbnNmb3JtZWQgPSBycztcbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9ucy5mb3JFYWNoKChmdW5jKSA9PiAodHJhbnNmb3JtZWQgPSBmdW5jKGlkLCB0cmFuc2Zvcm1lZCkpKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gIH1cblxuICBhdXRvY29tcGxldGUoXG4gICAgYXR0cmlidXRlczpcbiAgICAgIHwge1xuICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgZGF0YXNvdXJjZTogc3RyaW5nO1xuICAgICAgICB9W11cbiAgICAgIHwgdW5kZWZpbmVkLFxuICAgIHNlYXJjaDogc3RyaW5nID0gJycsXG4gICAgbGltaXQ/OiBudW1iZXJcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0PHN0cmluZ1tdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhLXNvdXJjZXMvdmFsdWVzYCksIHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiAoYXR0cmlidXRlcyA/PyBbXSkubWFwKChhdHRyKSA9PiAoeyBkYXRhc291cmNlOiBhdHRyLmRhdGFzb3VyY2UsIGF0dHJpYnV0ZTogYXR0ci5pZCB9KSksXG4gICAgICAgICAgdmFsdWU6IHNlYXJjaCxcbiAgICAgICAgICBsaW1pdFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -68,7 +68,25 @@ export class WidgetFactoryService {
68
68
  (widgetDefinition.autoLoadDatasource === 'geo' && DatasourceUtils.isGeo(matching)) ||
69
69
  (widgetDefinition.autoLoadDatasource === 'not-geo' && !DatasourceUtils.isGeo(matching))));
70
70
  })
71
- .map((ds) => ({ datasetId: ds, excludeGeo: !NON_EXCLUDE_GEO_WIDGET_TYPES.values.includes(manifest.type) }));
71
+ .map((datasetId) => {
72
+ const matching = this.datasources.find((ds) => ds.id === datasetId);
73
+ return { datasetId: datasetId, excludeGeo: this.calculateExcludeGeo(manifest, matching) };
74
+ });
75
+ }
76
+ calculateExcludeGeo(manifest, matching) {
77
+ if (manifest.excludeGeo === undefined || manifest.excludeGeo === 'widget-type-based') {
78
+ return !NON_EXCLUDE_GEO_WIDGET_TYPES.values.includes(manifest.type);
79
+ }
80
+ switch (manifest.excludeGeo) {
81
+ case 'exclude-all':
82
+ return true;
83
+ case 'exclude-none':
84
+ return false;
85
+ case 'exclude-geo':
86
+ return DatasourceUtils.isGeo(matching);
87
+ case 'exclude-not-geo':
88
+ return !DatasourceUtils.isGeo(matching);
89
+ }
72
90
  }
73
91
  aggregatesToAutoLoad(manifest) {
74
92
  const widgetDefinition = this.reference$.getValue()[manifest.type];
@@ -104,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
104
122
  type: Inject,
105
123
  args: [WIDGET_DEFINITION]
106
124
  }] }, { type: i1.Store }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7QUFJL0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ3hCLENBQUM7QUFLRixNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQ1UsUUFBa0IsRUFDQyxTQUE4QyxFQUNqRSxLQUFZO1FBRlosYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVsQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBVnRCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBc0M7WUFDcEUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVB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Q0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzhHQXJHVSxvQkFBb0IsMENBVXJCLGlCQUFpQjtrSEFWaEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVdJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbSwgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2xvYmFsTWFuaWZlc3QsIFdpZGdldE1hbmlmZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzZVdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2Utd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXRGaWxsZXJDb21wb25lbnQgfSBmcm9tICcuLi93aWRnZXQtZmlsbGVyL3dpZGdldC1maWxsZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vd2lkZ2V0LXBsYWNlaG9sZGVyL3dpZGdldC1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0RGVmaW5pdGlvbiwgV2lkZ2V0TGF6eURlZmluaXRpb24sIFdpZGdldFN0YXRpY0RlZmluaXRpb24gfSBmcm9tICcuL3dpZGdldHMtZGVmaW5pdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhc291cmNlVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGFzb3VyY2UtdXRpbHMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2Uuc2VsZWN0b3JzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgV0lER0VUX0RFRklOSVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignV2lkZ2V0cyBkZWZpbml0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTID0ge1xuICB2YWx1ZXM6IFsnbWFwJywgJ3RpbGUnXVxufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RmFjdG9yeVNlcnZpY2Uge1xuICByZWZlcmVuY2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IFdpZGdldERlZmluaXRpb24gfT4oe1xuICAgIHBsYWNlaG9sZGVyOiB7IG5hbWU6ICdwbGFjZWhvbGRlcicsIGNvbXBvbmVudDogV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSxcbiAgICBmaWxsZXI6IHsgbmFtZTogJ2ZpbGxlcicsIGNvbXBvbmVudDogV2lkZ2V0RmlsbGVyQ29tcG9uZW50IH1cbiAgfSk7XG4gIG1vZHVsZVJlZkNhY2hlID0ge30gYXMgeyBbbWFuaWZlc3RUeXBlOiBzdHJpbmddOiBUeXBlPEJhc2VXaWRnZXRDb21wb25lbnQ+IH07XG4gIGRhdGFzb3VyY2VzOiBEYXRhU291cmNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KFdJREdFVF9ERUZJTklUSU9OKSByZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlXG4gICkge1xuICAgIHRoaXMucHV0RGVmaW5pdGlvbnMocmVmZXJlbmNlKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzKS5zdWJzY3JpYmUoKGRhdGFzb3VyY2VzKSA9PiAodGhpcy5kYXRhc291cmNlcyA9IGRhdGFzb3VyY2VzKSk7XG4gIH1cblxuICByZXNvbHZlQ29tcG9uZW50KG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdCkge1xuICAgIGlmICh0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgfVxuICAgIGlmICghIW1hbmlmZXN0ICYmIHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW21hbmlmZXN0LnR5cGVdKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAodGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0ubG9hZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSAoXG4gICAgICAgICAgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0gYXMgV2lkZ2V0U3RhdGljRGVmaW5pdGlvblxuICAgICAgICApLmNvbXBvbmVudDtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgKHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW21hbmlmZXN0LnR5cGVdIGFzIFdpZGdldExhenlEZWZpbml0aW9uKS5sb2FkKCkudGhlbigoZm4pID0+IHtcbiAgICAgICAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSBmbih0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSAoXG4gICAgICAgIHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpWydwbGFjZWhvbGRlciddIGFzIFdpZGdldFN0YXRpY0RlZmluaXRpb25cbiAgICAgICkuY29tcG9uZW50O1xuICAgICAgcmV0dXJuIG9mKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcHV0RGVmaW5pdGlvbnMoZGVmaW5pdGlvbnM6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9KSB7XG4gICAgdGhpcy5yZWZlcmVuY2UkLm5leHQoe1xuICAgICAgLi4udGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKCksXG4gICAgICAuLi5kZWZpbml0aW9uc1xuICAgIH0pO1xuICB9XG5cbiAgaXNNb2R1bGVMb2FkZWQodHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlJC5waXBlKG1hcCgoY29tcG9uZW50RGVmcykgPT4gISFjb21wb25lbnREZWZzW3R5cGVdKSk7XG4gIH1cblxuICBkYXRhc291cmNlc1RvQXV0b0xvYWQobWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0KSB7XG4gICAgY29uc3Qgd2lkZ2V0RGVmaW5pdGlvbiA9IHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW21hbmlmZXN0LnR5cGVdO1xuICAgIGNvbnN0IGRhdGFzb3VyY2VzQXJyYXk6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheShtYW5pZmVzdC5kYXRhc291cmNlID8/IFtdKVxuICAgICAgPyAoKG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pIGFzIHN0cmluZ1tdKVxuICAgICAgOiAoW21hbmlmZXN0LmRhdGFzb3VyY2VdIGFzIHN0cmluZ1tdKTtcbiAgICByZXR1cm4gZGF0YXNvdXJjZXNBcnJheVxuICAgICAgLmZpbHRlcigoZGF0YXNvdXJjZSkgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZGF0YXNvdXJjZXMuZmluZCgoZHMpID0+IGRzLmlkID09PSBkYXRhc291cmNlKSE7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgISFtYXRjaGluZyAmJlxuICAgICAgICAgICh3aWRnZXREZWZpbml0aW9uLmF1dG9Mb2FkRGF0YXNvdXJjZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICB3aWRnZXREZWZpbml0aW9uLmF1dG9Mb2FkRGF0YXNvdXJjZSA9PT0gJ2FsbCcgfHxcbiAgICAgICAgICAgICh3aWRnZXREZWZpbml0aW9uLmF1dG9Mb2FkRGF0YXNvdXJjZSA9PT0gJ2dlbycgJiYgRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKSkgfHxcbiAgICAgICAgICAgICh3aWRnZXREZWZpbml0aW9uLmF1dG9Mb2FkRGF0YXNvdXJjZSA9PT0gJ25vdC1nZW8nICYmICFEYXRhc291cmNlVXRpbHMuaXNHZW8obWF0Y2hpbmcpKSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgICAubWFwKChkcykgPT4gKHsgZGF0YXNldElkOiBkcywgZXhjbHVkZUdlbzogIU5PTl9FWENMVURFX0dFT19XSURHRVRfVFlQRVMudmFsdWVzLmluY2x1ZGVzKG1hbmlmZXN0LnR5cGUpIH0pKTtcbiAgfVxuXG4gIGFnZ3JlZ2F0ZXNUb0F1dG9Mb2FkKG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdCkge1xuICAgIGNvbnN0IHdpZGdldERlZmluaXRpb24gPSB0aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKVttYW5pZmVzdC50eXBlXTtcbiAgICBjb25zdCBkYXRhc291cmNlc0FycmF5OiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSlcbiAgICAgID8gKChtYW5pZmVzdC5kYXRhc291cmNlID8/IFtdKSBhcyBzdHJpbmdbXSlcbiAgICAgIDogKFttYW5pZmVzdC5kYXRhc291cmNlXSBhcyBzdHJpbmdbXSk7XG4gICAgcmV0dXJuIGRhdGFzb3VyY2VzQXJyYXkuZmlsdGVyKFxuICAgICAgKCkgPT4gd2lkZ2V0RGVmaW5pdGlvbi5hdXRvTG9hZERhdGFzb3VyY2UgPT09IHVuZGVmaW5lZCB8fCB3aWRnZXREZWZpbml0aW9uLmF1dG9Mb2FkRGF0YXNvdXJjZSA9PT0gJ2FnZ3JlZ2F0ZSdcbiAgICApO1xuICB9XG5cbiAgZ2V0T2JqZWN0c1RvQXV0b0xvYWQobWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0KSB7XG4gICAgY29uc3QgZGF0YXNvdXJjZXM6IHsgZGF0YXNldElkOiBzdHJpbmc7IGV4Y2x1ZGVHZW86IGJvb2xlYW4gfVtdID0gW107XG4gICAgY29uc3QgYWdncmVnYXRlczogc3RyaW5nW10gPSBbXTtcblxuICAgIG1hbmlmZXN0LndpbmRvd3MuZm9yRWFjaCgod2luZG93TWFuaWZlc3QpID0+IHtcbiAgICAgICh3aW5kb3dNYW5pZmVzdC53aWRnZXRzID8/IFtdKS5mb3JFYWNoKCh3aWRnZXRNYW5pZmVzdCkgPT4ge1xuICAgICAgICB0aGlzLmRhdGFzb3VyY2VzVG9BdXRvTG9hZCh3aWRnZXRNYW5pZmVzdCkuZm9yRWFjaCgocmVzOiB7IGRhdGFzZXRJZDogc3RyaW5nOyBleGNsdWRlR2VvOiBib29sZWFuIH0pID0+IHtcbiAgICAgICAgICBpZiAocmVzLmRhdGFzZXRJZCkge1xuICAgICAgICAgICAgZGF0YXNvdXJjZXMucHVzaChyZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hZ2dyZWdhdGVzVG9BdXRvTG9hZCh3aWRnZXRNYW5pZmVzdCkuZm9yRWFjaCgoZHM6IHN0cmluZykgPT4gYWdncmVnYXRlcy5wdXNoKGRzKSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7IGRhdGFzb3VyY2VzLCBhZ2dyZWdhdGVzIH07XG4gIH1cbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7QUFJL0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ3hCLENBQUM7QUFLRixNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQ1UsUUFBa0IsRUFDQyxTQUE4QyxFQUNqRSxLQUFZO1FBRlosYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVsQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBVnRCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBc0M7WUFDcEUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVB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LFdBQVcsQ0FDL0csQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxRQUF3QjtRQUMzQyxNQUFNLFdBQVcsR0FBaUQsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztRQUVoQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzFDLENBQUMsY0FBYyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDeEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQStDLEVBQUUsRUFBRTtvQkFDckcsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3hCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7OEdBeEhVLG9CQUFvQiwwQ0FVckIsaUJBQWlCO2tIQVZoQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHbG9iYWxNYW5pZmVzdCwgV2lkZ2V0TWFuaWZlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldEZpbGxlckNvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC1maWxsZXIvd2lkZ2V0LWZpbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuLi93aWRnZXQtcGxhY2Vob2xkZXIvd2lkZ2V0LXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXREZWZpbml0aW9uLCBXaWRnZXRMYXp5RGVmaW5pdGlvbiwgV2lkZ2V0U3RhdGljRGVmaW5pdGlvbiB9IGZyb20gJy4vd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IERhdGFzb3VyY2VVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS11dGlscyc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhU291cmNlLCBOYW1lZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBXSURHRVRfREVGSU5JVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdXaWRnZXRzIGRlZmluaXRpb24nKTtcblxuZXhwb3J0IGNvbnN0IE5PTl9FWENMVURFX0dFT19XSURHRVRfVFlQRVMgPSB7XG4gIHZhbHVlczogWydtYXAnLCAndGlsZSddXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRGYWN0b3J5U2VydmljZSB7XG4gIHJlZmVyZW5jZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9Pih7XG4gICAgcGxhY2Vob2xkZXI6IHsgbmFtZTogJ3BsYWNlaG9sZGVyJywgY29tcG9uZW50OiBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCB9LFxuICAgIGZpbGxlcjogeyBuYW1lOiAnZmlsbGVyJywgY29tcG9uZW50OiBXaWRnZXRGaWxsZXJDb21wb25lbnQgfVxuICB9KTtcbiAgbW9kdWxlUmVmQ2FjaGUgPSB7fSBhcyB7IFttYW5pZmVzdFR5cGU6IHN0cmluZ106IFR5cGU8QmFzZVdpZGdldENvbXBvbmVudD4gfTtcbiAgZGF0YXNvdXJjZXM6IERhdGFTb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBJbmplY3QoV0lER0VUX0RFRklOSVRJT04pIHJlZmVyZW5jZTogeyBba2V5OiBzdHJpbmddOiBXaWRnZXREZWZpbml0aW9uIH0sXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcbiAgKSB7XG4gICAgdGhpcy5wdXREZWZpbml0aW9ucyhyZWZlcmVuY2UpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0RGF0YVNvdXJjZXMpLnN1YnNjcmliZSgoZGF0YXNvdXJjZXMpID0+ICh0aGlzLmRhdGFzb3VyY2VzID0gZGF0YXNvdXJjZXMpKTtcbiAgfVxuXG4gIHJlc29sdmVDb21wb25lbnQobWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0KSB7XG4gICAgaWYgKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pIHtcbiAgICAgIHJldHVybiBvZih0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdKTtcbiAgICB9XG4gICAgaWYgKCEhbWFuaWZlc3QgJiYgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmICh0aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKVttYW5pZmVzdC50eXBlXS5sb2FkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IChcbiAgICAgICAgICB0aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKVttYW5pZmVzdC50eXBlXSBhcyBXaWRnZXRTdGF0aWNEZWZpbml0aW9uXG4gICAgICAgICkuY29tcG9uZW50O1xuICAgICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAodGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0gYXMgV2lkZ2V0TGF6eURlZmluaXRpb24pLmxvYWQoKS50aGVuKChmbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IGZuKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV07XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IChcbiAgICAgICAgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbJ3BsYWNlaG9sZGVyJ10gYXMgV2lkZ2V0U3RhdGljRGVmaW5pdGlvblxuICAgICAgKS5jb21wb25lbnQ7XG4gICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwdXREZWZpbml0aW9ucyhkZWZpbml0aW9uczogeyBba2V5OiBzdHJpbmddOiBXaWRnZXREZWZpbml0aW9uIH0pIHtcbiAgICB0aGlzLnJlZmVyZW5jZSQubmV4dCh7XG4gICAgICAuLi50aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKSxcbiAgICAgIC4uLmRlZmluaXRpb25zXG4gICAgfSk7XG4gIH1cblxuICBpc01vZHVsZUxvYWRlZCh0eXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2UkLnBpcGUobWFwKChjb21wb25lbnREZWZzKSA9PiAhIWNvbXBvbmVudERlZnNbdHlwZV0pKTtcbiAgfVxuXG4gIGRhdGFzb3VyY2VzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5XG4gICAgICAuZmlsdGVyKChkYXRhc291cmNlKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nID0gdGhpcy5kYXRhc291cmNlcy5maW5kKChkcykgPT4gZHMuaWQgPT09IGRhdGFzb3VyY2UpITtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAhIW1hdGNoaW5nICYmXG4gICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnYWxsJyB8fFxuICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnZ2VvJyAmJiBEYXRhc291cmNlVXRpbHMuaXNHZW8obWF0Y2hpbmcpKSB8fFxuICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnbm90LWdlbycgJiYgIURhdGFzb3VyY2VVdGlscy5pc0dlbyhtYXRjaGluZykpKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICAgIC5tYXAoKGRhdGFzZXRJZCkgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZGF0YXNvdXJjZXMuZmluZCgoZHMpID0+IGRzLmlkID09PSBkYXRhc2V0SWQpITtcbiAgICAgICAgcmV0dXJuIHsgZGF0YXNldElkOiBkYXRhc2V0SWQsIGV4Y2x1ZGVHZW86IHRoaXMuY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdCwgbWF0Y2hpbmcpIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QsIG1hdGNoaW5nOiBOYW1lZFF1ZXJ5IHwgRGF0YXNldCkge1xuICAgIGlmIChtYW5pZmVzdC5leGNsdWRlR2VvID09PSB1bmRlZmluZWQgfHwgbWFuaWZlc3QuZXhjbHVkZUdlbyA9PT0gJ3dpZGdldC10eXBlLWJhc2VkJykge1xuICAgICAgcmV0dXJuICFOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTLnZhbHVlcy5pbmNsdWRlcyhtYW5pZmVzdC50eXBlKTtcbiAgICB9XG4gICAgc3dpdGNoIChtYW5pZmVzdC5leGNsdWRlR2VvKSB7XG4gICAgICBjYXNlICdleGNsdWRlLWFsbCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1ub25lJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1nZW8nOlxuICAgICAgICByZXR1cm4gRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICAgIGNhc2UgJ2V4Y2x1ZGUtbm90LWdlbyc6XG4gICAgICAgIHJldHVybiAhRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICB9XG4gIH1cblxuICBhZ2dyZWdhdGVzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5LmZpbHRlcihcbiAgICAgICgpID0+IHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHwgd2lkZ2V0RGVmaW5pdGlvbi5hdXRvTG9hZERhdGFzb3VyY2UgPT09ICdhZ2dyZWdhdGUnXG4gICAgKTtcbiAgfVxuXG4gIGdldE9iamVjdHNUb0F1dG9Mb2FkKG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCkge1xuICAgIGNvbnN0IGRhdGFzb3VyY2VzOiB7IGRhdGFzZXRJZDogc3RyaW5nOyBleGNsdWRlR2VvOiBib29sZWFuIH1bXSA9IFtdO1xuICAgIGNvbnN0IGFnZ3JlZ2F0ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBtYW5pZmVzdC53aW5kb3dzLmZvckVhY2goKHdpbmRvd01hbmlmZXN0KSA9PiB7XG4gICAgICAod2luZG93TWFuaWZlc3Qud2lkZ2V0cyA/PyBbXSkuZm9yRWFjaCgod2lkZ2V0TWFuaWZlc3QpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhc291cmNlc1RvQXV0b0xvYWQod2lkZ2V0TWFuaWZlc3QpLmZvckVhY2goKHJlczogeyBkYXRhc2V0SWQ6IHN0cmluZzsgZXhjbHVkZUdlbzogYm9vbGVhbiB9KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcy5kYXRhc2V0SWQpIHtcbiAgICAgICAgICAgIGRhdGFzb3VyY2VzLnB1c2gocmVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWdncmVnYXRlc1RvQXV0b0xvYWQod2lkZ2V0TWFuaWZlc3QpLmZvckVhY2goKGRzOiBzdHJpbmcpID0+IGFnZ3JlZ2F0ZXMucHVzaChkcykpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4geyBkYXRhc291cmNlcywgYWdncmVnYXRlcyB9O1xuICB9XG59XG4iXX0=
@@ -30,6 +30,7 @@ export const DashboardActions = {
30
30
  setRefreshRate: createAction('[Dashboard] (bus) setting refreshRate', props()),
31
31
  updateManifestsList: createAction('[Dashboard] (bus) received manifests list', props()),
32
32
  fetchStaticManifest: createAction('[Dashboard] (bus) fetching staticManifest', props()),
33
+ fetchMoreItems: createAction('[Dashboard] (bus) fetching more items', props()),
33
34
  endLoading: createAction('[Dashboard] end loading'),
34
35
  updateStaticManifest: createAction('[Dashboard] (bus) received staticManifest', props()),
35
36
  loadManifest: createAction('[Dashboard] (bus) load manifest', props()),
@@ -84,9 +85,6 @@ export const DashboardActions = {
84
85
  addManifestMetadata: createAction('[Dashboard] Add manifest metadata', props()),
85
86
  deleteManifestMetadata: createAction('[Dashboard] Delete manifest metadata', props()),
86
87
  triggerAggregate: createAction('[Dashboard] (bus) Triggering aggregates for datasource', props()),
87
- loadPresentation: createAction('[Dashboard] load presentation', props()),
88
- initDefaultLayerGroup: createAction('[Dashboard] init default layer group', props()),
89
- updateLayerVisibility: createAction('[Dashboard] update visible layers on the layer group', props()),
90
- updateLayerGroups: createAction('[Dashboard] update all layer groups', props())
88
+ loadPresentation: createAction('[Dashboard] load presentation', props())
91
89
  };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBOEJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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QzNHLHFCQUFxQixFQUFFLFlBQVksQ0FDakMsc0RBQXNELEVBQ3RELEtBQUssRUFBdUQsQ0FDN0Q7SUFDRCxpQkFBaUIsRUFBRSxZQUFZLENBQUMscUNBQXFDLEVBQUUsS0FBSyxFQUFpQyxDQUFDO0NBQy9HLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkTWFuaWZlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9yZGVyVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB9IGZyb20gJy4vd21zLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5ZXJHcm91cCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvd2lkZ2V0LW1hcC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDZWxsUGFyYW1zID0ge1xuICBncmlkV2lkdGg6IG51bWJlcjtcbiAgZ3JpZEhlaWdodDogbnVtYmVyO1xuICBncmlkR2FwOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgY2VsbEhlaWdodDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIGNlbGxXaWR0aDogbnVtYmVyO1xuICBvZmZzZXRMZWZ0OiBudW1iZXI7XG4gIG9mZnNldFRvcDogbnVtYmVyO1xuICBtb2JpbGVNb2RlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBDQVRBTE9HID0gJ2NhdGFsb2cnLFxuICBDT05TVUxUID0gJ2NvbnN1bHQnLFxuICBDUkVBVElPTiA9ICdjcmVhdGlvbicsXG4gIEVESVRJT04gPSAnZWRpdGlvbicsXG4gIEVESVRPUiA9ICdlZGl0b3InLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgQ1VTVE9NID0gJ2N1c3RvbSdcbn1cblxuZXhwb3J0IGNvbnN0IERhc2hib2FyZEFjdGlvbnMgPSB7XG4gIGpvaW46IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gam9pbmVkJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgbGVhdmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbGVhdmUnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2g6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgZmV0Y2gnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBidXQgZG8gbm90IGFjdGl2YXRlIGl0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRKb2luOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBqb2luJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICAgIHByZXNlbnRhdGlvbj86IHsgY3VycmVudD86IE1hbmlmZXN0RGVzY3JpcHRpb247IGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDsgdmlld01vZGU/OiBWaWV3TW9kZSB9O1xuICAgICAgZGlzcGxheT86IERpc3BsYXlPcHRpb25zO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudExlYXZlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBsZWF2ZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICBzZWxlY3RQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0UHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0SW5pdGlhbFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgaW5pdGlhbCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDtcbiAgICB9PigpXG4gICksXG4gIGRlY2xhcmVTZW5kZXJJZDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZWxmLXVwZGF0aW5nIG1hbmlmZXN0JywgcHJvcHM8eyB0ZW5hbnRzOiBzdHJpbmdbXTsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIGRhc2hib2FyZCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIHdpZGdldCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdDsgaW5kZXg6IG51bWJlciB9PigpXG4gICksXG4gIGFkZFdpZGdldFRvUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGFkZCB3aWRnZXQgdG8gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnk7IGFsZXJ0PzogYm9vbGVhbiB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB3aWRnZXQgaW4gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnkgfT4oKVxuICApLFxuICByZXF1ZXN0QWxsUm91dGVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlcXVlc3Rpbmcgcm91dGUgdXBkYXRlJyksXG4gIHVwZGF0ZVJvdXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgcm91dGUnLCBwcm9wczx7IHNlbmRlcj86IHN0cmluZzsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIGF2YWlsYWJsZSBtYW5pZmVzdHMnKSxcbiAgc2V0UmVmcmVzaFJhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0dGluZyByZWZyZXNoUmF0ZScsIHByb3BzPHsgaWQ6IHN0cmluZzsgcmF0ZTogbnVtYmVyIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG1hbmlmZXN0cyBsaXN0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0czogTWFuaWZlc3REZXNjcmlwdGlvbltdIH0+KClcbiAgKSxcbiAgZmV0Y2hTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBzdGF0aWNNYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgICAgIGFjY2Vzc1JpZ2h0c0J5R3JvdXA/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb24/OiBzdHJpbmc7XG4gICAgfT4oKVxuICApLFxuICBzb2x2ZUNvbGxpc2lvbnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc29sdmluZyBjb2xsaXNpb25zJyksXG4gIGNsZWFyTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY2xlYXIgbWFuaWZlc3QnKSxcbiAgZm9sbG93TWFuaWZlc3RSb3V0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmb2xsb3cgbWFuaWZlc3Qgcm91dGUnKSxcbiAgbW92ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtb3Zpbmcgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyOyB0YXJnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBtYXhpbWl6ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtYXhpbWl6ZSB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIGFzc2VydFJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gYXNzZXJ0IHJlc3VsdFNldCcsIHByb3BzPHsgc3RhdGljTWFuaWZlc3Q/OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpKSxcbiAgdXBkYXRlUmVzdWx0U2V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG5hbWVkIHJlc3VsdFNldCAobm90LWFjdGl2ZS1hY3Rpb24pJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHJlc3VsdFNldDogUmVzdWx0U2V0OyBwYXJhbXM/OiBzdHJpbmcgfT4oKVxuICApLFxuICBhZGRSZWxhdGlvbnNUb1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIHJlbGF0aW9ucyB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgcmVsYXRpb25zOiBSZWxhdGlvbltdIH0+KClcbiAgKSxcbiAgYWRkSXRlbVRvUmVzdWx0U2V0czogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgaXRlbSB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgaXRlbTogSXRlbTsgcmVzdWx0U2V0Pzogc3RyaW5nIH0+KClcbiAgKSxcbiAgc3RhcnRpbmdNaXNzaW5nVmlld3M6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gb3BlbmluZyBtaXNzaW5nIHZpZXdzIGZvciBtYW5pZmVzdCcpLFxuICBzZXRBdmFpbGFibGVOYW1lZFF1ZXJpZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGF2YWlsYWJsZSBycyBuYW1lcycsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICBzZXREZWZhdWx0RGF0YXNvdXJjZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgY3VycmVudCBycyBuYW1lJywgcHJvcHM8eyBuYW1lczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZFBhcmFtczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzZXQgZGFzaGJvYXJkIGNlbGwgcGFyYW1zJyxcbiAgICBwcm9wczx7IHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPiB9PigpXG4gICksXG4gIHRvZ2dsZUVkaXRpb25Nb2RlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHRvZ2dsZSBlZGl0aW9uIG1vZGUnLCBwcm9wczx7IGZvcmNlPzogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtJywgcHJvcHM8eyBpZDogc3RyaW5nOyBjdW11bGF0aXZlOiBib29sZWFuIH0+KCkpLFxuICBzZWxlY3RNYW55OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtcycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgaW52ZXJ0U2VsZWN0aW9uOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGludmVydCBzZWxlY3Rpb24nKSxcbiAgZmV0Y2hPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBmZXRjaCBvYmplY3RzIGRldGFpbHMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZU9iamVjdHNEZXRhaWxzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBvYmplY3RzIGRldGFpbHMnLFxuICAgIHByb3BzPHsgbGlzdDogeyBbaWQ6IHN0cmluZ106IEl0ZW0gfSB9PigpXG4gICksXG4gIGV4cGxvcmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgaXNvbGF0ZSBpbiBkYXRhIHNldCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGV0YWlsOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGFkZCBkZXRhaWwgdmlldycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgcHJveGltaXR5OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHByb3hpbWl0eSBzZWFyY2gnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHRhcmdldFJlc3VsdFNldDogc3RyaW5nIH0+KCkpLFxuICBtdWx0aVNuYWNrQmFyOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGRpc3BsYXkgc25hY2sgbWVzc2FnZScsIHByb3BzPHsgbWVzc2FnZTogUHJ5U25hY2tNZXNzYWdlIH0+KCkpLFxuICBxdWlja09yZGVyOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHF1aWNrIG9yZGVyJyxcbiAgICBwcm9wczx7IGRhdGFzb3VyY2VJZDogc3RyaW5nOyBhdHRyaWJ1dGU6IHN0cmluZzsgYXNjOiBPcmRlclZhbHVlIH0+KClcbiAgKSxcbiAgc2V0R3JpZExheW91dDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgZ3JpZCBsYXlvdXQnLCBwcm9wczx7IGxheW91dDogc3RyaW5nIH0+KCkpLFxuICBwcm9wYWdhdGVHcmlkTGF5b3V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGNoYW5nZSBncmlkIGxheW91dCcsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogRGFzaGJvYXJkTWFuaWZlc3Q7IHJhbms6IG51bWJlciB9PigpXG4gICksXG4gIGNyZWF0ZVRhYjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBjcmVhdGUgbmV3IHRhYicpLFxuICByZXN0b3JlSW5pdGlhbE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlc3RvcmluZyBtaXNzaW5nIHRhYnMnKSxcbiAgc2V0RmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgZGF0YXNvdXJjZSBmaWx0ZXJzJywgcHJvcHM8eyBmaWx0ZXJzOiBGaWx0ZXJbXSB9PigpKSxcbiAgdXBkYXRlRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgZGF0YXNvdXJjZSBmaWx0ZXJzJywgcHJvcHM8eyBmaWx0ZXI6IEZpbHRlciB9PigpKSxcbiAgcmVtb3ZlRmlsdGVyOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlbW92ZSBmaWx0ZXIgaW4gcHJlc2VudGF0aW9uJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICByZW1vdmVGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlbW92ZSBmaWx0ZXJzJyksXG4gIHVwZGF0ZUZpbHRlclZhbHVlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBmaWx0ZXIgdmFsdWUnLFxuICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgdmFsdWU6IGFueTsgZGF0YXNvdXJjZUlkOiBzdHJpbmcgfT4oKVxuICApLFxuICBjbGVhckFsbEZpbHRlclZhbHVlczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBjbGVhciBhbGwgZmlsdGVyIHZhbHVlcycpLFxuICBkaXNwYXRjaEZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgYXBwbHkgZmlsdGVycyB0byBwcmVzZW50YXRpb24gZGF0YXNvdXJjZXMnKSxcbiAgcmVzZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gUmVzZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBsYXllciBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGFkZFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBTZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBmZWF0dXJlczogYW55OyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXZnNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3IgcG9pbnQnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW107IHN0eWxlOiBzdHJpbmcgfT4oKVxuICApLFxuICBnZXRXZnNGZWF0dXJlc0ZvclBvaW50U3RhY2tUb29sdGlwczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3Igc2hvd2luZyBzdGFjayB0b29sdGlwcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHVwZGF0ZURpc3BsYXlPcHRpb25zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmQvRGlzcGxheV0gKGJ1cykgVXBkYXRlIGRpc3BsYXllZCBkYXNoYm9hcmQgbWFuYWdlbWVudCBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyBtb2RlOiBWaWV3TW9kZTsgY3VzdG9tRGlzcGxheT86IERpc3BsYXlPcHRpb25zIH0+KClcbiAgKSxcbiAgZ2V0Q2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBjYXBhYmlsaXR5JywgcHJvcHM8eyB1cmw6IHN0cmluZzsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICB1cGRhdGVDYXBhYmlsaXR5OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tXaWRnZXQgbWFwXSBTdG9yZSBXbXMgY2FwYWJpbGl0eScsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgY2FwYWJpbGl0eTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0+KClcbiAgKSxcbiAgYWRkTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBBZGQgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KClcbiAgKSxcbiAgZGVsZXRlTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBEZWxldGUgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgdHJpZ2dlckFnZ3JlZ2F0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBUcmlnZ2VyaW5nIGFnZ3JlZ2F0ZXMgZm9yIGRhdGFzb3VyY2UnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGxvYWRQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gbG9hZCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uOyB2aWV3TW9kZTogVmlld01vZGUgfT4oKVxuICApLFxuICBpbml0RGVmYXVsdExheWVyR3JvdXA6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gaW5pdCBkZWZhdWx0IGxheWVyIGdyb3VwJywgcHJvcHM8eyBsYXllcnM/OiBzdHJpbmdbXSB9PigpKSxcbiAgdXBkYXRlTGF5ZXJWaXNpYmlsaXR5OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB2aXNpYmxlIGxheWVycyBvbiB0aGUgbGF5ZXIgZ3JvdXAnLFxuICAgIHByb3BzPHsgbmFtZTogc3RyaW5nOyB2aXNpYmxlTGF5ZXJzPzogc3RyaW5nIHwgc3RyaW5nW10gfT4oKVxuICApLFxuICB1cGRhdGVMYXllckdyb3VwczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSB1cGRhdGUgYWxsIGxheWVyIGdyb3VwcycsIHByb3BzPHsgbGF5ZXJHcm91cHM6IExheWVyR3JvdXBbXSB9PigpKVxufTtcbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBNkJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFByeVNuYWNrTWVzc2FnZSB9IGZyb20gJy4uLy4uL2NvcmUvY29tcG9uZW50cy9zbmFja2Jhci9zbmFjay5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlzcGxheU9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2Rpc3BsYXktb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZE1hbmlmZXN0LFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgTWFuaWZlc3REZXNjcmlwdGlvbixcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3JlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPcmRlclZhbHVlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCwgUmVzdWx0U2V0cyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfSBmcm9tICcuL3dtcy5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgRGFzaGJvYXJkQ2VsbFBhcmFtcyA9IHtcbiAgZ3JpZFdpZHRoOiBudW1iZXI7XG4gIGdyaWRIZWlnaHQ6IG51bWJlcjtcbiAgZ3JpZEdhcDogbnVtYmVyO1xuICBjb2x1bW5zOiBudW1iZXI7XG4gIGNlbGxIZWlnaHQ6IG51bWJlcjtcbiAgcm93czogbnVtYmVyO1xuICBjZWxsV2lkdGg6IG51bWJlcjtcbiAgb2Zmc2V0TGVmdDogbnVtYmVyO1xuICBvZmZzZXRUb3A6IG51bWJlcjtcbiAgbW9iaWxlTW9kZTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBlbnVtIFZpZXdNb2RlIHtcbiAgQ0FUQUxPRyA9ICdjYXRhbG9nJyxcbiAgQ09OU1VMVCA9ICdjb25zdWx0JyxcbiAgQ1JFQVRJT04gPSAnY3JlYXRpb24nLFxuICBFRElUSU9OID0gJ2VkaXRpb24nLFxuICBFRElUT1IgPSAnZWRpdG9yJyxcbiAgU0VBUkNIID0gJ3NlYXJjaCcsXG4gIENVU1RPTSA9ICdjdXN0b20nXG59XG5cbmV4cG9ydCBjb25zdCBEYXNoYm9hcmRBY3Rpb25zID0ge1xuICBqb2luOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGpvaW5lZCcsIHByb3BzPHsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIGxlYXZlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGxlYXZlJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlckZldGNoOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIGZldGNoJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0V2l0aG91dEFjdGl2YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYnV0IGRvIG5vdCBhY3RpdmF0ZSBpdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50Sm9pbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgam9pbicsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgICBwcmVzZW50YXRpb24/OiB7IGN1cnJlbnQ/OiBNYW5pZmVzdERlc2NyaXB0aW9uOyBpbml0aWFsPzogR2xvYmFsTWFuaWZlc3Q7IHZpZXdNb2RlPzogVmlld01vZGUgfTtcbiAgICAgIGRpc3BsYXk/OiBEaXNwbGF5T3B0aW9ucztcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRMZWF2ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgbGVhdmUnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgc2VsZWN0UHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdFByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8e1xuICAgICAgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgdmlld01vZGU/OiBWaWV3TW9kZTtcbiAgICB9PigpXG4gICksXG4gIHNldEluaXRpYWxQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGluaXRpYWwgcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBpbml0aWFsPzogR2xvYmFsTWFuaWZlc3Q7XG4gICAgfT4oKVxuICApLFxuICBkZWNsYXJlU2VuZGVySWQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2VsZi11cGRhdGluZyBtYW5pZmVzdCcsIHByb3BzPHsgdGVuYW50czogc3RyaW5nW107IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGluZyBkYXNoYm9hcmQgdmlldycsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogRGFzaGJvYXJkTWFuaWZlc3QgfT4oKVxuICApLFxuICB1cGRhdGVXaWRnZXRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGluZyB3aWRnZXQgdmlldycsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3Q7IGluZGV4OiBudW1iZXIgfT4oKVxuICApLFxuICBhZGRXaWRnZXRUb1ByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBhZGQgd2lkZ2V0IHRvIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBpZD86IHN0cmluZyB8IHN0cmluZ1tdOyB3aWRnZXRUeXBlOiBzdHJpbmc7IGFkZGl0aW9uYWxPcHRpb25zPzogYW55OyBhbGVydD86IGJvb2xlYW4gfT4oKVxuICApLFxuICB1cGRhdGVXaWRnZXRJblByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGUgd2lkZ2V0IGluIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBpZD86IHN0cmluZyB8IHN0cmluZ1tdOyB3aWRnZXRUeXBlOiBzdHJpbmc7IGFkZGl0aW9uYWxPcHRpb25zPzogYW55IH0+KClcbiAgKSxcbiAgcmVxdWVzdEFsbFJvdXRlczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXF1ZXN0aW5nIHJvdXRlIHVwZGF0ZScpLFxuICB1cGRhdGVSb3V0ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIHJvdXRlJywgcHJvcHM8eyBzZW5kZXI/OiBzdHJpbmc7IHJvdXRlOiBzdHJpbmcgfT4oKSksXG4gIGZldGNoTWFuaWZlc3RzTGlzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBhdmFpbGFibGUgbWFuaWZlc3RzJyksXG4gIHNldFJlZnJlc2hSYXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldHRpbmcgcmVmcmVzaFJhdGUnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHJhdGU6IG51bWJlciB9PigpKSxcbiAgdXBkYXRlTWFuaWZlc3RzTGlzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBtYW5pZmVzdHMgbGlzdCcsXG4gICAgcHJvcHM8eyBtYW5pZmVzdHM6IE1hbmlmZXN0RGVzY3JpcHRpb25bXSB9PigpXG4gICksXG4gIGZldGNoU3RhdGljTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZmV0Y2hpbmcgc3RhdGljTWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGZldGNoTW9yZUl0ZW1zOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIG1vcmUgaXRlbXMnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHdpZGdldFR5cGU6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgICAgIGFjY2Vzc1JpZ2h0c0J5R3JvdXA/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb24/OiBzdHJpbmc7XG4gICAgfT4oKVxuICApLFxuICBzb2x2ZUNvbGxpc2lvbnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc29sdmluZyBjb2xsaXNpb25zJyksXG4gIGNsZWFyTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY2xlYXIgbWFuaWZlc3QnKSxcbiAgZm9sbG93TWFuaWZlc3RSb3V0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmb2xsb3cgbWFuaWZlc3Qgcm91dGUnKSxcbiAgbW92ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtb3Zpbmcgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyOyB0YXJnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBtYXhpbWl6ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtYXhpbWl6ZSB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIGFzc2VydFJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gYXNzZXJ0IHJlc3VsdFNldCcsIHByb3BzPHsgc3RhdGljTWFuaWZlc3Q/OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpKSxcbiAgdXBkYXRlUmVzdWx0U2V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG5hbWVkIHJlc3VsdFNldCAobm90LWFjdGl2ZS1hY3Rpb24pJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHJlc3VsdFNldDogUmVzdWx0U2V0OyBwYXJhbXM/OiBzdHJpbmc7IG5leHQ/OiBib29sZWFuIH0+KClcbiAgKSxcbiAgYWRkUmVsYXRpb25zVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCByZWxhdGlvbnMgdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IHJlbGF0aW9uczogUmVsYXRpb25bXSB9PigpXG4gICksXG4gIGFkZEl0ZW1Ub1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGl0ZW0gdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IGl0ZW06IEl0ZW07IHJlc3VsdFNldD86IHN0cmluZyB9PigpXG4gICksXG4gIHN0YXJ0aW5nTWlzc2luZ1ZpZXdzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG9wZW5pbmcgbWlzc2luZyB2aWV3cyBmb3IgbWFuaWZlc3QnKSxcbiAgc2V0QXZhaWxhYmxlTmFtZWRRdWVyaWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBhdmFpbGFibGUgcnMgbmFtZXMnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgc2V0RGVmYXVsdERhdGFzb3VyY2U6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGN1cnJlbnQgcnMgbmFtZScsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRQYXJhbXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gc2V0IGRhc2hib2FyZCBjZWxsIHBhcmFtcycsXG4gICAgcHJvcHM8eyBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz4gfT4oKVxuICApLFxuICB0b2dnbGVFZGl0aW9uTW9kZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSB0b2dnbGUgZWRpdGlvbiBtb2RlJywgcHJvcHM8eyBmb3JjZT86IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbScsIHByb3BzPHsgaWQ6IHN0cmluZzsgY3VtdWxhdGl2ZTogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0TWFueTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbXMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIGludmVydFNlbGVjdGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpbnZlcnQgc2VsZWN0aW9uJyksXG4gIGZldGNoT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZmV0Y2ggb2JqZWN0cyBkZXRhaWxzJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgb2JqZWN0cyBkZXRhaWxzJyxcbiAgICBwcm9wczx7IGxpc3Q6IHsgW2lkOiBzdHJpbmddOiBJdGVtIH0gfT4oKVxuICApLFxuICBleHBsb3JlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGlzb2xhdGUgaW4gZGF0YSBzZXQnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRldGFpbDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgZGV0YWlsIHZpZXcnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHByb3hpbWl0eTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBwcm94aW1pdHkgc2VhcmNoJywgcHJvcHM8eyBpZDogc3RyaW5nOyB0YXJnZXRSZXN1bHRTZXQ6IHN0cmluZyB9PigpKSxcbiAgbXVsdGlTbmFja0JhcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBkaXNwbGF5IHNuYWNrIG1lc3NhZ2UnLCBwcm9wczx7IG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSB9PigpKSxcbiAgcXVpY2tPcmRlcjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBxdWljayBvcmRlcicsXG4gICAgcHJvcHM8eyBkYXRhc291cmNlSWQ6IHN0cmluZzsgYXR0cmlidXRlOiBzdHJpbmc7IGFzYzogT3JkZXJWYWx1ZSB9PigpXG4gICksXG4gIHNldEdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGdyaWQgbGF5b3V0JywgcHJvcHM8eyBsYXlvdXQ6IHN0cmluZyB9PigpKSxcbiAgcHJvcGFnYXRlR3JpZExheW91dDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBjaGFuZ2UgZ3JpZCBsYXlvdXQnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0OyByYW5rOiBudW1iZXIgfT4oKVxuICApLFxuICBjcmVhdGVUYWI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY3JlYXRlIG5ldyB0YWInKSxcbiAgcmVzdG9yZUluaXRpYWxNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXN0b3JpbmcgbWlzc2luZyB0YWJzJyksXG4gIHNldEZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyczogRmlsdGVyW10gfT4oKSksXG4gIHVwZGF0ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyOiBGaWx0ZXIgfT4oKSksXG4gIHJlbW92ZUZpbHRlcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVyIGluIHByZXNlbnRhdGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgcmVtb3ZlRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVycycpLFxuICB1cGRhdGVGaWx0ZXJWYWx1ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgZmlsdGVyIHZhbHVlJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRhdGFzb3VyY2VJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgY2xlYXJBbGxGaWx0ZXJWYWx1ZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY2xlYXIgYWxsIGZpbHRlciB2YWx1ZXMnKSxcbiAgZGlzcGF0Y2hGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGFwcGx5IGZpbHRlcnMgdG8gcHJlc2VudGF0aW9uIGRhdGFzb3VyY2VzJyksXG4gIHJlc2V0V21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbignW1dpZGdldCBtYXBdIFJlc2V0IFdtcyBsYXllciBmZWF0dXJlcycsIHByb3BzPHsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpKSxcbiAgZ2V0V21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIEdldCBXbXMgbGF5ZXIgZmVhdHVyZXMnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW107IGNvbXBvbmVudElkOiBzdHJpbmcgfT4oKVxuICApLFxuICBhZGRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gU2V0IFdtcyBsYXllciBmZWF0dXJlcycsIHByb3BzPHsgZmVhdHVyZXM6IGFueTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpKSxcbiAgZ2V0V2ZzRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIEdldCB3ZnMgRmVhdHVyZXMgZm9yIHBvaW50JyxcbiAgICBwcm9wczx7IHVybDogc3RyaW5nOyBvQ2xhc3M6IHN0cmluZzsgY29vcmRpbmF0ZXM6IG51bWJlcltdOyBzdHlsZTogc3RyaW5nIH0+KClcbiAgKSxcbiAgZ2V0V2ZzRmVhdHVyZXNGb3JQb2ludFN0YWNrVG9vbHRpcHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIEdldCB3ZnMgRmVhdHVyZXMgZm9yIHNob3dpbmcgc3RhY2sgdG9vbHRpcHMnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW107IGNvbXBvbmVudElkOiBzdHJpbmcgfT4oKVxuICApLFxuICB1cGRhdGVEaXNwbGF5T3B0aW9uczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkL0Rpc3BsYXldIChidXMpIFVwZGF0ZSBkaXNwbGF5ZWQgZGFzaGJvYXJkIG1hbmFnZW1lbnQgZmVhdHVyZXMnLFxuICAgIHByb3BzPHsgbW9kZTogVmlld01vZGU7IGN1c3RvbURpc3BsYXk/OiBEaXNwbGF5T3B0aW9ucyB9PigpXG4gICksXG4gIGdldENhcGFiaWxpdHk6IGNyZWF0ZUFjdGlvbignW1dpZGdldCBtYXBdIEdldCBXbXMgY2FwYWJpbGl0eScsIHByb3BzPHsgdXJsOiBzdHJpbmc7IGZvcmNlPzogYm9vbGVhbiB9PigpKSxcbiAgdXBkYXRlQ2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gU3RvcmUgV21zIGNhcGFiaWxpdHknLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IGNhcGFiaWxpdHk6IEdldENhcGFiaWxpdGllc1Jlc3BvbnNlIHwgbnVsbCB9PigpXG4gICksXG4gIGFkZE1hbmlmZXN0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gQWRkIG1hbmlmZXN0IG1ldGFkYXRhJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbklkOiBzdHJpbmc7IG1ldGFkYXRhSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PigpXG4gICksXG4gIGRlbGV0ZU1hbmlmZXN0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gRGVsZXRlIG1hbmlmZXN0IG1ldGFkYXRhJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbklkOiBzdHJpbmc7IG1ldGFkYXRhSWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHRyaWdnZXJBZ2dyZWdhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgVHJpZ2dlcmluZyBhZ2dyZWdhdGVzIGZvciBkYXRhc291cmNlJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBsb2FkUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGxvYWQgcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbjogTWFuaWZlc3REZXNjcmlwdGlvbjsgdmlld01vZGU6IFZpZXdNb2RlIH0+KClcbiAgKVxufTtcbiJdfQ==