@igo2/integration 18.0.0 → 18.0.1-next.1

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 (113) hide show
  1. package/fesm2022/igo2-integration.mjs +252 -254
  2. package/fesm2022/igo2-integration.mjs.map +1 -1
  3. package/package.json +8 -10
  4. package/esm2022/igo2-integration.mjs +0 -5
  5. package/esm2022/lib/about/about-tool/about-tool.component.mjs +0 -152
  6. package/esm2022/lib/about/about-tool/index.mjs +0 -2
  7. package/esm2022/lib/about/about.module.mjs +0 -26
  8. package/esm2022/lib/about/index.mjs +0 -2
  9. package/esm2022/lib/analytics/analytics-listener.service.mjs +0 -149
  10. package/esm2022/lib/analytics/index.mjs +0 -2
  11. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -117
  12. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -19
  13. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -110
  14. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -19
  15. package/esm2022/lib/catalog/catalog.module.mjs +0 -19
  16. package/esm2022/lib/catalog/catalog.state.mjs +0 -58
  17. package/esm2022/lib/catalog/index.mjs +0 -6
  18. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -33
  19. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -46
  20. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -23
  21. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +0 -40
  22. package/esm2022/lib/context/context.directive.mjs +0 -11
  23. package/esm2022/lib/context/context.module.mjs +0 -23
  24. package/esm2022/lib/context/context.state.mjs +0 -96
  25. package/esm2022/lib/context/index.mjs +0 -7
  26. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +0 -121
  27. package/esm2022/lib/directions/directions-tool/index.mjs +0 -2
  28. package/esm2022/lib/directions/directions.module.mjs +0 -25
  29. package/esm2022/lib/directions/directions.state.mjs +0 -57
  30. package/esm2022/lib/directions/index.mjs +0 -3
  31. package/esm2022/lib/draw/draw.module.mjs +0 -18
  32. package/esm2022/lib/draw/draw.state.mjs +0 -43
  33. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
  34. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +0 -19
  35. package/esm2022/lib/draw/index.mjs +0 -4
  36. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  37. package/esm2022/lib/environment/index.mjs +0 -2
  38. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +0 -10
  39. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -43
  40. package/esm2022/lib/filter/active-ogc-filter-tool/index.mjs +0 -2
  41. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +0 -10
  42. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -43
  43. package/esm2022/lib/filter/active-time-filter-tool/index.mjs +0 -2
  44. package/esm2022/lib/filter/filter.module.mjs +0 -53
  45. package/esm2022/lib/filter/index.mjs +0 -18
  46. package/esm2022/lib/filter/ogc-filter-tool/index.mjs +0 -2
  47. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -22
  48. package/esm2022/lib/filter/spatial-filter-tool/index.mjs +0 -2
  49. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -589
  50. package/esm2022/lib/filter/time-filter-tool/index.mjs +0 -2
  51. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -22
  52. package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +0 -188
  53. package/esm2022/lib/geometry-form/data-issue-reporter-tool/index.mjs +0 -2
  54. package/esm2022/lib/geometry-form/geometry-form.module.mjs +0 -37
  55. package/esm2022/lib/geometry-form/index.mjs +0 -2
  56. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -113
  57. package/esm2022/lib/import-export/import-export-tool/index.mjs +0 -2
  58. package/esm2022/lib/import-export/import-export.module.mjs +0 -25
  59. package/esm2022/lib/import-export/import-export.state.mjs +0 -39
  60. package/esm2022/lib/import-export/index.mjs +0 -3
  61. package/esm2022/lib/integration.module.mjs +0 -70
  62. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -446
  63. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -66
  64. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -157
  65. package/esm2022/lib/map/advanced-map-tool/index.mjs +0 -2
  66. package/esm2022/lib/map/index.mjs +0 -10
  67. package/esm2022/lib/map/layer-list-tool.state.mjs +0 -40
  68. package/esm2022/lib/map/map-details-tool/index.mjs +0 -2
  69. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +0 -190
  70. package/esm2022/lib/map/map-legend/index.mjs +0 -2
  71. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +0 -165
  72. package/esm2022/lib/map/map-proximity-tool/index.mjs +0 -2
  73. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -152
  74. package/esm2022/lib/map/map-proximity.state.mjs +0 -179
  75. package/esm2022/lib/map/map-tool/index.mjs +0 -2
  76. package/esm2022/lib/map/map-tool/map-tool.component.mjs +0 -152
  77. package/esm2022/lib/map/map-tools/index.mjs +0 -2
  78. package/esm2022/lib/map/map-tools/map-tools.component.mjs +0 -350
  79. package/esm2022/lib/map/map.directive.mjs +0 -15
  80. package/esm2022/lib/map/map.module.mjs +0 -59
  81. package/esm2022/lib/map/map.state.mjs +0 -56
  82. package/esm2022/lib/measure/index.mjs +0 -4
  83. package/esm2022/lib/measure/measure.module.mjs +0 -18
  84. package/esm2022/lib/measure/measure.state.mjs +0 -41
  85. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -51
  86. package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +0 -19
  87. package/esm2022/lib/print/index.mjs +0 -2
  88. package/esm2022/lib/print/print-tool/index.mjs +0 -2
  89. package/esm2022/lib/print/print-tool/print-tool.component.mjs +0 -32
  90. package/esm2022/lib/print/print.module.mjs +0 -25
  91. package/esm2022/lib/search/index.mjs +0 -7
  92. package/esm2022/lib/search/query.state.mjs +0 -48
  93. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +0 -71
  94. package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
  95. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +0 -557
  96. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +0 -19
  97. package/esm2022/lib/search/search.module.mjs +0 -20
  98. package/esm2022/lib/search/search.state.mjs +0 -155
  99. package/esm2022/lib/storage/index.mjs +0 -2
  100. package/esm2022/lib/storage/storage.state.mjs +0 -25
  101. package/esm2022/lib/tool/index.mjs +0 -2
  102. package/esm2022/lib/tool/tool.state.mjs +0 -56
  103. package/esm2022/lib/workspace/index.mjs +0 -4
  104. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +0 -75
  105. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +0 -65
  106. package/esm2022/lib/workspace/shared/index.mjs +0 -3
  107. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +0 -77
  108. package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -166
  109. package/esm2022/lib/workspace/workspace-button/index.mjs +0 -2
  110. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +0 -72
  111. package/esm2022/lib/workspace/workspace.module.mjs +0 -19
  112. package/esm2022/lib/workspace/workspace.state.mjs +0 -205
  113. package/esm2022/public_api.mjs +0 -35
@@ -1,350 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatListModule } from '@angular/material/list';
6
- import { MatTabsModule } from '@angular/material/tabs';
7
- import { ToolComponent } from '@igo2/common/tool';
8
- import { ConfigService } from '@igo2/core/config';
9
- import { IgoLanguageModule } from '@igo2/core/language';
10
- import { Media, MediaService } from '@igo2/core/media';
11
- import { ExportButtonComponent, LayerLegendListBindingDirective, LayerLegendListComponent, LayerListControlsEnum, LayerViewerComponent, MetadataButtonComponent, OgcFilterButtonComponent, SearchSourceService, StyleModalLayerButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent, VectorLayer, sourceCanSearch } from '@igo2/geo';
12
- import { BehaviorSubject, combineLatest } from 'rxjs';
13
- import { debounceTime, map } from 'rxjs/operators';
14
- import { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';
15
- import { ToolState } from '../../tool/tool.state';
16
- import { WorkspaceButtonComponent } from '../../workspace/workspace-button/workspace-button.component';
17
- import { LayerListToolState } from '../layer-list-tool.state';
18
- import { MapState } from '../map.state';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "../layer-list-tool.state";
21
- import * as i2 from "../../tool/tool.state";
22
- import * as i3 from "../map.state";
23
- import * as i4 from "@igo2/geo";
24
- import * as i5 from "../../import-export/import-export.state";
25
- import * as i6 from "@igo2/core/config";
26
- import * as i7 from "@igo2/core/media";
27
- import * as i8 from "@angular/material/tabs";
28
- import * as i9 from "@angular/material/list";
29
- import * as i10 from "@angular/material/icon";
30
- import * as i11 from "@ngx-translate/core";
31
- /**
32
- * Tool to browse a map's layers or to choose a different map
33
- */
34
- let MapToolsComponent = class MapToolsComponent {
35
- layerListToolState;
36
- toolState;
37
- mapState;
38
- searchSourceService;
39
- importExportState;
40
- configService;
41
- mediaService;
42
- cdr;
43
- isDesktop;
44
- layers$ = new BehaviorSubject([]);
45
- showAllLegendsValue$ = new BehaviorSubject(false);
46
- resolution$$;
47
- visibleOrInRangeLayers$$;
48
- delayedShowEmptyMapContent = false;
49
- allowShowAllLegends = false;
50
- showAllLegendsValue = false;
51
- toggleLegendOnVisibilityChange = false;
52
- expandLegendOfVisibleLayers = false;
53
- updateLegendOnResolutionChange = false;
54
- selectedTabAtOpening;
55
- ogcButton = true;
56
- timeButton = true;
57
- layerAdditionAllowed = true;
58
- get layerListControls() {
59
- return this._layerListControls;
60
- }
61
- set layerListControls(value) {
62
- const stateOptions = this.layerListToolState.getLayerListControls();
63
- const stateKeyword = stateOptions.keyword;
64
- const stateOnlyVisible = stateOptions.onlyVisible;
65
- const stateSortAlpha = stateOptions.sortAlpha;
66
- value.keyword = stateKeyword !== '' ? stateKeyword : value.keyword;
67
- value.onlyVisible =
68
- stateOnlyVisible !== undefined ? stateOnlyVisible : value.onlyVisible;
69
- value.sortAlpha =
70
- stateSortAlpha !== undefined ? stateSortAlpha : value.sortAlpha;
71
- value.onlyVisible =
72
- value.onlyVisible === undefined ? false : value.onlyVisible;
73
- value.sortAlpha = value.sortAlpha === undefined ? false : value.sortAlpha;
74
- this._layerListControls = value;
75
- }
76
- _layerListControls = {};
77
- get map() {
78
- return this.mapState.map;
79
- }
80
- queryBadge = false;
81
- get visibleOrInRangeLayers$() {
82
- return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.displayed)));
83
- }
84
- get visibleLayers$() {
85
- return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible)));
86
- }
87
- get excludeBaseLayers() {
88
- return this.layerListControls.excludeBaseLayers || false;
89
- }
90
- get layerFilterAndSortOptions() {
91
- const filterSortOptions = Object.assign({
92
- showToolbar: LayerListControlsEnum.default
93
- }, this.layerListControls);
94
- switch (this.layerListControls.showToolbar) {
95
- case LayerListControlsEnum.always:
96
- filterSortOptions.showToolbar = LayerListControlsEnum.always;
97
- break;
98
- case LayerListControlsEnum.never:
99
- filterSortOptions.showToolbar = LayerListControlsEnum.never;
100
- break;
101
- default:
102
- break;
103
- }
104
- return filterSortOptions;
105
- }
106
- _layerViewerOptions;
107
- get layerViewerOptions() {
108
- return {
109
- filterAndSortOptions: this.layerFilterAndSortOptions,
110
- legend: {
111
- showForVisibleLayers: this.expandLegendOfVisibleLayers,
112
- showOnVisibilityChange: this.toggleLegendOnVisibilityChange,
113
- updateOnResolutionChange: this.updateLegendOnResolutionChange
114
- },
115
- queryBadge: this.queryBadge,
116
- ...this._layerViewerOptions
117
- };
118
- }
119
- tabGroup;
120
- get searchToolInToolbar() {
121
- return (this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&
122
- this.searchSourceService
123
- .getSources()
124
- .filter(sourceCanSearch)
125
- .filter((s) => s.available && s.getType() === 'Layer').length > 0);
126
- }
127
- get catalogToolInToolbar() {
128
- return this.toolState.toolbox.getToolbar().indexOf('catalog') !== -1;
129
- }
130
- get contextToolInToolbar() {
131
- return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;
132
- }
133
- constructor(layerListToolState, toolState, mapState, searchSourceService, importExportState, configService, mediaService, cdr) {
134
- this.layerListToolState = layerListToolState;
135
- this.toolState = toolState;
136
- this.mapState = mapState;
137
- this.searchSourceService = searchSourceService;
138
- this.importExportState = importExportState;
139
- this.configService = configService;
140
- this.mediaService = mediaService;
141
- this.cdr = cdr;
142
- this._layerViewerOptions = this.configService.getConfig('layer');
143
- }
144
- ngOnInit() {
145
- this.handleMedia();
146
- this.selectedTab();
147
- this.resolution$$ = combineLatest([
148
- this.map.layerController.all$,
149
- this.map.viewController.resolution$
150
- ])
151
- .pipe(debounceTime(10))
152
- .subscribe(([layers]) => {
153
- this.layers$.next(layers);
154
- });
155
- if (this.allowShowAllLegends) {
156
- this.mapState.showAllLegendsValue =
157
- this.mapState.showAllLegendsValue !== undefined
158
- ? this.mapState.showAllLegendsValue
159
- : this.showAllLegendsValue || false;
160
- this.showAllLegendsValue$.next(this.mapState.showAllLegendsValue);
161
- }
162
- else {
163
- this.showAllLegendsValue$.next(false);
164
- }
165
- // prevent message to be shown too quickly. Waiting for layers
166
- setTimeout(() => (this.delayedShowEmptyMapContent = true), 250);
167
- }
168
- ngOnDestroy() {
169
- this.resolution$$.unsubscribe();
170
- if (this.visibleOrInRangeLayers$$) {
171
- this.visibleOrInRangeLayers$$.unsubscribe();
172
- }
173
- }
174
- onShowAllLegends(event) {
175
- this.mapState.showAllLegendsValue = event;
176
- this.showAllLegendsValue$.next(event);
177
- }
178
- selectedTab() {
179
- const userSelectedTab = this.layerListToolState.selectedTab$.value;
180
- if (userSelectedTab !== undefined) {
181
- this.layerListToolState.setSelectedTab(userSelectedTab);
182
- }
183
- else {
184
- if (this.selectedTabAtOpening === 'legend') {
185
- this.layerListToolState.setSelectedTab(1);
186
- }
187
- else {
188
- this.layerListToolState.setSelectedTab(0);
189
- }
190
- }
191
- }
192
- tabChanged(tab) {
193
- this.layerListToolState.setSelectedTab(tab.index);
194
- this.layers$.next(this.map.layerController.all);
195
- }
196
- onLayerListChange(appliedFilters) {
197
- this.layerListToolState.setKeyword(appliedFilters.keyword);
198
- this.layerListToolState.setSortAlpha(appliedFilters.sortAlpha);
199
- this.layerListToolState.setOnlyVisible(appliedFilters.onlyVisible);
200
- }
201
- showAllLegend() {
202
- if (this.layers$.getValue().length === 0) {
203
- return false;
204
- }
205
- else if (this.layers$.getValue().length !== 0 &&
206
- this.allowShowAllLegends === false) {
207
- let visibleOrInRangeLayers;
208
- this.visibleOrInRangeLayers$$ = this.visibleOrInRangeLayers$.subscribe((value) => {
209
- visibleOrInRangeLayers = value.length === 0 ? false : true;
210
- });
211
- if (visibleOrInRangeLayers === false) {
212
- return false;
213
- }
214
- }
215
- return true;
216
- }
217
- activateExport(layer) {
218
- let id = layer.id;
219
- if (layer.options.workspace?.workspaceId) {
220
- id =
221
- layer.options.workspace.workspaceId !== layer.id
222
- ? layer.options.workspace.workspaceId
223
- : layer.id;
224
- }
225
- this.importExportState.setsExportOptions({ layers: [id] });
226
- this.importExportState.setMode(ImportExportMode.export);
227
- this.toolState.toolbox.activateTool('importExport');
228
- }
229
- activateTimeFilter() {
230
- this.toolState.toolbox.activateTool('activeTimeFilter');
231
- }
232
- activateOgcFilter() {
233
- this.toolState.toolbox.activateTool('activeOgcFilter');
234
- }
235
- searchEmit() {
236
- this.toolState.toolbox.activateTool('searchResults');
237
- }
238
- catalogEmit() {
239
- this.toolState.toolbox.activateTool('catalog');
240
- }
241
- contextEmit() {
242
- this.toolState.toolbox.activateTool('contextManager');
243
- }
244
- isTimeFilterButton(layer) {
245
- const options = layer.dataSource.options;
246
- return this.timeButton && options.timeFilterable && options.timeFilter;
247
- }
248
- isOGCFilterButton(layer) {
249
- const options = layer.dataSource.options;
250
- return (this.ogcButton &&
251
- options.ogcFilters &&
252
- options.ogcFilters.enabled &&
253
- (options.ogcFilters.pushButtons ||
254
- options.ogcFilters.checkboxes ||
255
- options.ogcFilters.radioButtons ||
256
- options.ogcFilters.select ||
257
- options.ogcFilters.autocomplete ||
258
- options.ogcFilters.editable));
259
- }
260
- isExportButton(layer) {
261
- if ((layer instanceof VectorLayer && layer.exportable === true) ||
262
- (layer.dataSource.options.download &&
263
- layer.dataSource.options.download.url) ||
264
- (layer.options.workspace?.enabled &&
265
- layer.options.workspace?.workspaceId !== layer.id)) {
266
- return true;
267
- }
268
- return false;
269
- }
270
- isStyleEditButton(layer) {
271
- if (layer instanceof VectorLayer) {
272
- if (layer.options?.igoStyle?.editable) {
273
- return true;
274
- }
275
- }
276
- return false;
277
- }
278
- handleMedia() {
279
- this.mediaService.media$.subscribe((result) => {
280
- this.isDesktop = result === Media.Desktop;
281
- this.cdr.detectChanges();
282
- });
283
- }
284
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolsComponent, deps: [{ token: i1.LayerListToolState }, { token: i2.ToolState }, { token: i3.MapState }, { token: i4.SearchSourceService }, { token: i5.ImportExportState }, { token: i6.ConfigService }, { token: i7.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
285
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapToolsComponent, isStandalone: true, selector: "igo-map-tools", inputs: { allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", selectedTabAtOpening: "selectedTabAtOpening", ogcButton: "ogcButton", timeButton: "timeButton", layerAdditionAllowed: "layerAdditionAllowed", layerListControls: "layerListControls", queryBadge: "queryBadge" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-style-modal-layer-button\n *ngIf=\"isStyleEditButton(layer)\"\n [layer]=\"layer\"\n ></igo-style-modal-layer-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-time-filter-button\n *ngIf=\"isTimeFilterButton(layer)\"\n [header]=\"timeButton\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n ></igo-time-filter-button>\n <igo-ogc-filter-button\n *ngIf=\"isOGCFilterButton(layer)\"\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n ></igo-ogc-filter-button>\n <igo-export-button\n *ngIf=\"isExportButton(layer)\"\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\"></ng-template>\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n <igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-list>\n <ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n ></ng-template>\n\n <p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n >\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep mat-tab-header{border-bottom:1px solid #ccc}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: StyleModalLayerButtonComponent, selector: "igo-style-modal-layer-button", inputs: ["layer"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i9.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i9.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
286
- };
287
- MapToolsComponent = __decorate([
288
- ToolComponent({
289
- name: 'mapTools',
290
- title: 'igo.integration.tools.map',
291
- icon: 'map'
292
- }),
293
- __metadata("design:paramtypes", [LayerListToolState,
294
- ToolState,
295
- MapState,
296
- SearchSourceService,
297
- ImportExportState,
298
- ConfigService,
299
- MediaService,
300
- ChangeDetectorRef])
301
- ], MapToolsComponent);
302
- export { MapToolsComponent };
303
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolsComponent, decorators: [{
304
- type: Component,
305
- args: [{ selector: 'igo-map-tools', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
306
- MatTabsModule,
307
- NgIf,
308
- NgTemplateOutlet,
309
- LayerViewerComponent,
310
- StyleModalLayerButtonComponent,
311
- MetadataButtonComponent,
312
- TrackFeatureButtonComponent,
313
- TimeFilterButtonComponent,
314
- OgcFilterButtonComponent,
315
- ExportButtonComponent,
316
- WorkspaceButtonComponent,
317
- LayerLegendListComponent,
318
- LayerLegendListBindingDirective,
319
- MatListModule,
320
- MatIconModule,
321
- AsyncPipe,
322
- IgoLanguageModule
323
- ], template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-style-modal-layer-button\n *ngIf=\"isStyleEditButton(layer)\"\n [layer]=\"layer\"\n ></igo-style-modal-layer-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-time-filter-button\n *ngIf=\"isTimeFilterButton(layer)\"\n [header]=\"timeButton\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n ></igo-time-filter-button>\n <igo-ogc-filter-button\n *ngIf=\"isOGCFilterButton(layer)\"\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n ></igo-ogc-filter-button>\n <igo-export-button\n *ngIf=\"isExportButton(layer)\"\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\"></ng-template>\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n <igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-list>\n <ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n ></ng-template>\n\n <p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n >\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep mat-tab-header{border-bottom:1px solid #ccc}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"] }]
324
- }], ctorParameters: () => [{ type: i1.LayerListToolState }, { type: i2.ToolState }, { type: i3.MapState }, { type: i4.SearchSourceService }, { type: i5.ImportExportState }, { type: i6.ConfigService }, { type: i7.MediaService }, { type: i0.ChangeDetectorRef }], propDecorators: { allowShowAllLegends: [{
325
- type: Input
326
- }], showAllLegendsValue: [{
327
- type: Input
328
- }], toggleLegendOnVisibilityChange: [{
329
- type: Input
330
- }], expandLegendOfVisibleLayers: [{
331
- type: Input
332
- }], updateLegendOnResolutionChange: [{
333
- type: Input
334
- }], selectedTabAtOpening: [{
335
- type: Input
336
- }], ogcButton: [{
337
- type: Input
338
- }], timeButton: [{
339
- type: Input
340
- }], layerAdditionAllowed: [{
341
- type: Input
342
- }], layerListControls: [{
343
- type: Input
344
- }], queryBadge: [{
345
- type: Input
346
- }], tabGroup: [{
347
- type: ViewChild,
348
- args: ['tabGroup', { static: true }]
349
- }] } });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC10b29scy9tYXAtdG9vbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2xzL21hcC10b29scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBcUIsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFFTCxxQkFBcUIsRUFJckIsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN4QixxQkFBcUIsRUFFckIsb0JBQW9CLEVBRXBCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLFdBQVcs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UUFDbEMsSUFBSSxFQUFFLEtBQUs7S0FDWixDQUFDO3FDQTRKNkIsa0JBQWtCO1FBQzFCLFNBQVM7UUFDWCxRQUFRO1FBQ0ksbUJBQW1CO1FBQ3JCLGlCQUFpQjtRQUNyQixhQUFhO1FBQ2YsWUFBWTtRQUNwQixpQkFBaUI7R0F4SXJCLGlCQUFpQixDQWlUN0I7OzRGQWpUWSxpQkFBaUI7a0JBMUI3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCxpQkFBaUI7cUJBQ2xCOytSQVdRLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsOEJBQThCO3NCQUF0QyxLQUFLO2dCQUVHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFFRyw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0YsaUJBQWlCO3NCQURwQixLQUFLO2dCQTRCRyxVQUFVO3NCQUFsQixLQUFLO2dCQXFEbUMsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdFRhYkNoYW5nZUV2ZW50LCBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5cbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24vdG9vbCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IE1lZGlhLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lZGlhJztcbmltcG9ydCB7XG4gIEFueUxheWVyLFxuICBFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gIEV4cG9ydE9wdGlvbnMsXG4gIElnb01hcCxcbiAgTGF5ZXIsXG4gIExheWVyTGVnZW5kTGlzdEJpbmRpbmdEaXJlY3RpdmUsXG4gIExheWVyTGVnZW5kTGlzdENvbXBvbmVudCxcbiAgTGF5ZXJMaXN0Q29udHJvbHNFbnVtLFxuICBMYXllckxpc3RDb250cm9sc09wdGlvbnMsXG4gIExheWVyVmlld2VyQ29tcG9uZW50LFxuICBMYXllclZpZXdlck9wdGlvbnMsXG4gIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gIFN0eWxlTW9kYWxMYXllckJ1dHRvbkNvbXBvbmVudCxcbiAgVGltZUZpbHRlckJ1dHRvbkNvbXBvbmVudCxcbiAgVHJhY2tGZWF0dXJlQnV0dG9uQ29tcG9uZW50LFxuICBWZWN0b3JMYXllcixcbiAgc291cmNlQ2FuU2VhcmNoXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgSW1wb3J0RXhwb3J0TW9kZSxcbiAgSW1wb3J0RXhwb3J0U3RhdGVcbn0gZnJvbSAnLi4vLi4vaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnN0YXRlJztcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi93b3Jrc3BhY2Uvd29ya3NwYWNlLWJ1dHRvbi93b3Jrc3BhY2UtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXllckxpc3RUb29sU3RhdGUgfSBmcm9tICcuLi9sYXllci1saXN0LXRvb2wuc3RhdGUnO1xuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi9tYXAuc3RhdGUnO1xuXG4vKipcbiAqIFRvb2wgdG8gYnJvd3NlIGEgbWFwJ3MgbGF5ZXJzIG9yIHRvIGNob29zZSBhIGRpZmZlcmVudCBtYXBcbiAqL1xuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnbWFwVG9vbHMnLFxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5tYXAnLFxuICBpY29uOiAnbWFwJ1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1tYXAtdG9vbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXRvb2xzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXRvb2xzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBOZ0lmLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTGF5ZXJWaWV3ZXJDb21wb25lbnQsXG4gICAgU3R5bGVNb2RhbExheWVyQnV0dG9uQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICAgIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBUaW1lRmlsdGVyQnV0dG9uQ29tcG9uZW50LFxuICAgIE9nY0ZpbHRlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50LFxuICAgIExheWVyTGVnZW5kTGlzdENvbXBvbmVudCxcbiAgICBMYXllckxlZ2VuZExpc3RCaW5kaW5nRGlyZWN0aXZlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNYXBUb29sc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgaXNEZXNrdG9wOiBib29sZWFuO1xuICBsYXllcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBbnlMYXllcltdPihbXSk7XG4gIHNob3dBbGxMZWdlbmRzVmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgYWxsb3dTaG93QWxsTGVnZW5kcyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNob3dBbGxMZWdlbmRzVmFsdWUgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBleHBhbmRMZWdlbmRPZlZpc2libGVMYXllcnMgPSBmYWxzZTtcblxuICBASW5wdXQoKSB1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZWxlY3RlZFRhYkF0T3BlbmluZzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIG9nY0J1dHRvbiA9IHRydWU7XG5cbiAgQElucHV0KCkgdGltZUJ1dHRvbiA9IHRydWU7XG5cbiAgQElucHV0KCkgbGF5ZXJBZGRpdGlvbkFsbG93ZWQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBsYXllckxpc3RDb250cm9scygpOiBMYXllckxpc3RDb250cm9sc09wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLl9sYXllckxpc3RDb250cm9scztcbiAgfVxuICBzZXQgbGF5ZXJMaXN0Q29udHJvbHModmFsdWU6IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucykge1xuICAgIGNvbnN0IHN0YXRlT3B0aW9ucyA9IHRoaXMubGF5ZXJMaXN0VG9vbFN0YXRlLmdldExheWVyTGlzdENvbnRyb2xzKCk7XG4gICAgY29uc3Qgc3RhdGVLZXl3b3JkID0gc3RhdGVPcHRpb25zLmtleXdvcmQ7XG4gICAgY29uc3Qgc3RhdGVPbmx5VmlzaWJsZSA9IHN0YXRlT3B0aW9ucy5vbmx5VmlzaWJsZTtcbiAgICBjb25zdCBzdGF0ZVNvcnRBbHBoYSA9IHN0YXRlT3B0aW9ucy5zb3J0QWxwaGE7XG5cbiAgICB2YWx1ZS5rZXl3b3JkID0gc3RhdGVLZXl3b3JkICE9PSAnJyA/IHN0YXRlS2V5d29yZCA6IHZhbHVlLmtleXdvcmQ7XG4gICAgdmFsdWUub25seVZpc2libGUgPVxuICAgICAgc3RhdGVPbmx5VmlzaWJsZSAhPT0gdW5kZWZpbmVkID8gc3RhdGVPbmx5VmlzaWJsZSA6IHZhbHVlLm9ubHlWaXNpYmxlO1xuICAgIHZhbHVlLnNvcnRBbHBoYSA9XG4gICAgICBzdGF0ZVNvcnRBbHBoYSAhPT0gdW5kZWZpbmVkID8gc3RhdGVTb3J0QWxwaGEgOiB2YWx1ZS5zb3J0QWxwaGE7XG5cbiAgICB2YWx1ZS5vbmx5VmlzaWJsZSA9XG4gICAgICB2YWx1ZS5vbmx5VmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiB2YWx1ZS5vbmx5VmlzaWJsZTtcbiAgICB2YWx1ZS5zb3J0QWxwaGEgPSB2YWx1ZS5zb3J0QWxwaGEgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogdmFsdWUuc29ydEFscGhhO1xuXG4gICAgdGhpcy5fbGF5ZXJMaXN0Q29udHJvbHMgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9sYXllckxpc3RDb250cm9scyA9IHt9O1xuXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XG4gIH1cblxuICBASW5wdXQoKSBxdWVyeUJhZGdlID0gZmFsc2U7XG5cbiAgZ2V0IHZpc2libGVPckluUmFuZ2VMYXllcnMkKCk6IE9ic2VydmFibGU8QW55TGF5ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmxheWVycyQucGlwZShcbiAgICAgIG1hcCgobGF5ZXJzKSA9PiBsYXllcnMuZmlsdGVyKChsYXllcikgPT4gbGF5ZXIuZGlzcGxheWVkKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IHZpc2libGVMYXllcnMkKCk6IE9ic2VydmFibGU8QW55TGF5ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmxheWVycyQucGlwZShcbiAgICAgIG1hcCgobGF5ZXJzKSA9PiBsYXllcnMuZmlsdGVyKChsYXllcikgPT4gbGF5ZXIudmlzaWJsZSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBleGNsdWRlQmFzZUxheWVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sYXllckxpc3RDb250cm9scy5leGNsdWRlQmFzZUxheWVycyB8fCBmYWxzZTtcbiAgfVxuXG4gIGdldCBsYXllckZpbHRlckFuZFNvcnRPcHRpb25zKCk6IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyB7XG4gICAgY29uc3QgZmlsdGVyU29ydE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBzaG93VG9vbGJhcjogTGF5ZXJMaXN0Q29udHJvbHNFbnVtLmRlZmF1bHRcbiAgICAgIH0sXG4gICAgICB0aGlzLmxheWVyTGlzdENvbnRyb2xzXG4gICAgKTtcblxuICAgIHN3aXRjaCAodGhpcy5sYXllckxpc3RDb250cm9scy5zaG93VG9vbGJhcikge1xuICAgICAgY2FzZSBMYXllckxpc3RDb250cm9sc0VudW0uYWx3YXlzOlxuICAgICAgICBmaWx0ZXJTb3J0T3B0aW9ucy5zaG93VG9vbGJhciA9IExheWVyTGlzdENvbnRyb2xzRW51bS5hbHdheXM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMYXllckxpc3RDb250cm9sc0VudW0ubmV2ZXI6XG4gICAgICAgIGZpbHRlclNvcnRPcHRpb25zLnNob3dUb29sYmFyID0gTGF5ZXJMaXN0Q29udHJvbHNFbnVtLm5ldmVyO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyU29ydE9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIF9sYXllclZpZXdlck9wdGlvbnM6IFBhcnRpYWw8TGF5ZXJWaWV3ZXJPcHRpb25zPjtcbiAgZ2V0IGxheWVyVmlld2VyT3B0aW9ucygpOiBMYXllclZpZXdlck9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBmaWx0ZXJBbmRTb3J0T3B0aW9uczogdGhpcy5sYXllckZpbHRlckFuZFNvcnRPcHRpb25zLFxuICAgICAgbGVnZW5kOiB7XG4gICAgICAgIHNob3dGb3JWaXNpYmxlTGF5ZXJzOiB0aGlzLmV4cGFuZExlZ2VuZE9mVmlzaWJsZUxheWVycyxcbiAgICAgICAgc2hvd09uVmlzaWJpbGl0eUNoYW5nZTogdGhpcy50b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UsXG4gICAgICAgIHVwZGF0ZU9uUmVzb2x1dGlvbkNoYW5nZTogdGhpcy51cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VcbiAgICAgIH0sXG4gICAgICBxdWVyeUJhZGdlOiB0aGlzLnF1ZXJ5QmFkZ2UsXG4gICAgICAuLi50aGlzLl9sYXllclZpZXdlck9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndGFiR3JvdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJHcm91cDtcblxuICBnZXQgc2VhcmNoVG9vbEluVG9vbGJhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5nZXRUb29sYmFyKCkuaW5kZXhPZignc2VhcmNoUmVzdWx0cycpICE9PSAtMSAmJlxuICAgICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAgIC5nZXRTb3VyY2VzKClcbiAgICAgICAgLmZpbHRlcihzb3VyY2VDYW5TZWFyY2gpXG4gICAgICAgIC5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICYmIHMuZ2V0VHlwZSgpID09PSAnTGF5ZXInKS5sZW5ndGggPiAwXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjYXRhbG9nVG9vbEluVG9vbGJhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50b29sU3RhdGUudG9vbGJveC5nZXRUb29sYmFyKCkuaW5kZXhPZignY2F0YWxvZycpICE9PSAtMTtcbiAgfVxuXG4gIGdldCBjb250ZXh0VG9vbEluVG9vbGJhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50b29sU3RhdGUudG9vbGJveC5nZXRUb29sYmFyKCkuaW5kZXhPZignY29udGV4dE1hbmFnZXInKSAhPT0gLTE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbGF5ZXJMaXN0VG9vbFN0YXRlOiBMYXllckxpc3RUb29sU3RhdGUsXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcbiAgICBwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlLFxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcbiAgICBwcml2YXRlIGltcG9ydEV4cG9ydFN0YXRlOiBJbXBvcnRFeHBvcnRTdGF0ZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHVibGljIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLl9sYXllclZpZXdlck9wdGlvbnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdsYXllcicpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVNZWRpYSgpO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIoKTtcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5tYXAubGF5ZXJDb250cm9sbGVyLmFsbCQsXG4gICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJFxuICAgIF0pXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApKVxuICAgICAgLnN1YnNjcmliZSgoW2xheWVyc10pID0+IHtcbiAgICAgICAgdGhpcy5sYXllcnMkLm5leHQobGF5ZXJzKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dTaG93QWxsTGVnZW5kcykge1xuICAgICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlID1cbiAgICAgICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHRoaXMubWFwU3RhdGUuc2hvd0FsbExlZ2VuZHNWYWx1ZVxuICAgICAgICAgIDogdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlIHx8IGZhbHNlO1xuICAgICAgdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlJC5uZXh0KHRoaXMubWFwU3RhdGUuc2hvd0FsbExlZ2VuZHNWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0FsbExlZ2VuZHNWYWx1ZSQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gcHJldmVudCBtZXNzYWdlIHRvIGJlIHNob3duIHRvbyBxdWlja2x5LiBXYWl0aW5nIGZvciBsYXllcnNcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50ID0gdHJ1ZSksIDI1MCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xuICAgIGlmICh0aGlzLnZpc2libGVPckluUmFuZ2VMYXllcnMkJCkge1xuICAgICAgdGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBvblNob3dBbGxMZWdlbmRzKGV2ZW50KSB7XG4gICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlID0gZXZlbnQ7XG4gICAgdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlJC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0ZWRUYWIoKSB7XG4gICAgY29uc3QgdXNlclNlbGVjdGVkVGFiID0gdGhpcy5sYXllckxpc3RUb29sU3RhdGUuc2VsZWN0ZWRUYWIkLnZhbHVlO1xuICAgIGlmICh1c2VyU2VsZWN0ZWRUYWIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5sYXllckxpc3RUb29sU3RhdGUuc2V0U2VsZWN0ZWRUYWIodXNlclNlbGVjdGVkVGFiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRUYWJBdE9wZW5pbmcgPT09ICdsZWdlbmQnKSB7XG4gICAgICAgIHRoaXMubGF5ZXJMaXN0VG9vbFN0YXRlLnNldFNlbGVjdGVkVGFiKDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sYXllckxpc3RUb29sU3RhdGUuc2V0U2VsZWN0ZWRUYWIoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRhYkNoYW5nZWQodGFiOiBNYXRUYWJDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMubGF5ZXJMaXN0VG9vbFN0YXRlLnNldFNlbGVjdGVkVGFiKHRhYi5pbmRleCk7XG4gICAgdGhpcy5sYXllcnMkLm5leHQodGhpcy5tYXAubGF5ZXJDb250cm9sbGVyLmFsbCk7XG4gIH1cblxuICBvbkxheWVyTGlzdENoYW5nZShhcHBsaWVkRmlsdGVyczogTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zKSB7XG4gICAgdGhpcy5sYXllckxpc3RUb29sU3RhdGUuc2V0S2V5d29yZChhcHBsaWVkRmlsdGVycy5rZXl3b3JkKTtcbiAgICB0aGlzLmxheWVyTGlzdFRvb2xTdGF0ZS5zZXRTb3J0QWxwaGEoYXBwbGllZEZpbHRlcnMuc29ydEFscGhhKTtcbiAgICB0aGlzLmxheWVyTGlzdFRvb2xTdGF0ZS5zZXRPbmx5VmlzaWJsZShhcHBsaWVkRmlsdGVycy5vbmx5VmlzaWJsZSk7XG4gIH1cblxuICBzaG93QWxsTGVnZW5kKCkge1xuICAgIGlmICh0aGlzLmxheWVycyQuZ2V0VmFsdWUoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5sYXllcnMkLmdldFZhbHVlKCkubGVuZ3RoICE9PSAwICYmXG4gICAgICB0aGlzLmFsbG93U2hvd0FsbExlZ2VuZHMgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICBsZXQgdmlzaWJsZU9ySW5SYW5nZUxheWVycztcbiAgICAgIHRoaXMudmlzaWJsZU9ySW5SYW5nZUxheWVycyQkID0gdGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJC5zdWJzY3JpYmUoXG4gICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHZpc2libGVPckluUmFuZ2VMYXllcnMgPSB2YWx1ZS5sZW5ndGggPT09IDAgPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGlmICh2aXNpYmxlT3JJblJhbmdlTGF5ZXJzID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYWN0aXZhdGVFeHBvcnQobGF5ZXI6IExheWVyKSB7XG4gICAgbGV0IGlkID0gbGF5ZXIuaWQ7XG4gICAgaWYgKGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy53b3Jrc3BhY2VJZCkge1xuICAgICAgaWQgPVxuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZCAhPT0gbGF5ZXIuaWRcbiAgICAgICAgICA/IGxheWVyLm9wdGlvbnMud29ya3NwYWNlLndvcmtzcGFjZUlkXG4gICAgICAgICAgOiBsYXllci5pZDtcbiAgICB9XG4gICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyh7IGxheWVyczogW2lkXSB9IGFzIEV4cG9ydE9wdGlvbnMpO1xuICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0TW9kZShJbXBvcnRFeHBvcnRNb2RlLmV4cG9ydCk7XG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2ltcG9ydEV4cG9ydCcpO1xuICB9XG5cbiAgYWN0aXZhdGVUaW1lRmlsdGVyKCkge1xuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdhY3RpdmVUaW1lRmlsdGVyJyk7XG4gIH1cblxuICBhY3RpdmF0ZU9nY0ZpbHRlcigpIHtcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnYWN0aXZlT2djRmlsdGVyJyk7XG4gIH1cblxuICBzZWFyY2hFbWl0KCkge1xuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdzZWFyY2hSZXN1bHRzJyk7XG4gIH1cblxuICBjYXRhbG9nRW1pdCgpIHtcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnY2F0YWxvZycpO1xuICB9XG5cbiAgY29udGV4dEVtaXQoKSB7XG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2NvbnRleHRNYW5hZ2VyJyk7XG4gIH1cblxuICBpc1RpbWVGaWx0ZXJCdXR0b24obGF5ZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCBvcHRpb25zID0gbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zO1xuICAgIHJldHVybiB0aGlzLnRpbWVCdXR0b24gJiYgb3B0aW9ucy50aW1lRmlsdGVyYWJsZSAmJiBvcHRpb25zLnRpbWVGaWx0ZXI7XG4gIH1cblxuICBpc09HQ0ZpbHRlckJ1dHRvbihsYXllcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBsYXllci5kYXRhU291cmNlLm9wdGlvbnM7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMub2djQnV0dG9uICYmXG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMgJiZcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycy5lbmFibGVkICYmXG4gICAgICAob3B0aW9ucy5vZ2NGaWx0ZXJzLnB1c2hCdXR0b25zIHx8XG4gICAgICAgIG9wdGlvbnMub2djRmlsdGVycy5jaGVja2JveGVzIHx8XG4gICAgICAgIG9wdGlvbnMub2djRmlsdGVycy5yYWRpb0J1dHRvbnMgfHxcbiAgICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLnNlbGVjdCB8fFxuICAgICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlIHx8XG4gICAgICAgIG9wdGlvbnMub2djRmlsdGVycy5lZGl0YWJsZSlcbiAgICApO1xuICB9XG5cbiAgaXNFeHBvcnRCdXR0b24obGF5ZXI6IExheWVyKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgKGxheWVyIGluc3RhbmNlb2YgVmVjdG9yTGF5ZXIgJiYgbGF5ZXIuZXhwb3J0YWJsZSA9PT0gdHJ1ZSkgfHxcbiAgICAgIChsYXllci5kYXRhU291cmNlLm9wdGlvbnMuZG93bmxvYWQgJiZcbiAgICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLmRvd25sb2FkLnVybCkgfHxcbiAgICAgIChsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZCAmJlxuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ud29ya3NwYWNlSWQgIT09IGxheWVyLmlkKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzU3R5bGVFZGl0QnV0dG9uKGxheWVyOiBMYXllcik6IGJvb2xlYW4ge1xuICAgIGlmIChsYXllciBpbnN0YW5jZW9mIFZlY3RvckxheWVyKSB7XG4gICAgICBpZiAoKGxheWVyIGFzIFZlY3RvckxheWVyKS5vcHRpb25zPy5pZ29TdHlsZT8uZWRpdGFibGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTWVkaWEoKTogdm9pZCB7XG4gICAgdGhpcy5tZWRpYVNlcnZpY2UubWVkaWEkLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmlzRGVza3RvcCA9IHJlc3VsdCA9PT0gTWVkaWEuRGVza3RvcDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG1hdC10YWItZ3JvdXBcbiAgI3RhYkdyb3VwXG4gIFtzZWxlY3RlZEluZGV4XT1cImxheWVyTGlzdFRvb2xTdGF0ZS5zZWxlY3RlZFRhYiQgfCBhc3luY1wiXG4gIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJ0YWJDaGFuZ2VkKCRldmVudClcIlxuPlxuICA8bWF0LXRhYiBbbGFiZWxdPVwiJ2lnby5pbnRlZ3JhdGlvbi50b29scy5sYXllcnMnIHwgdHJhbnNsYXRlXCI+XG4gICAgPGlnby1sYXllci12aWV3ZXJcbiAgICAgIFtvcHRpb25zXT1cImxheWVyVmlld2VyT3B0aW9uc1wiXG4gICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICBbZXhjbHVkZUJhc2VMYXllcnNdPVwiZXhjbHVkZUJhc2VMYXllcnNcIlxuICAgICAgW2lzRGVza3RvcF09XCJpc0Rlc2t0b3BcIlxuICAgICAgKGFwcGxpZWRGaWx0ZXJBbmRTb3J0KT1cIm9uTGF5ZXJMaXN0Q2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tQm90dG9tQWN0aW9ucyBsZXQtbGF5ZXI9XCJsYXllclwiPlxuICAgICAgICA8aWdvLXN0eWxlLW1vZGFsLWxheWVyLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiaXNTdHlsZUVkaXRCdXR0b24obGF5ZXIpXCJcbiAgICAgICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgICAgICA+PC9pZ28tc3R5bGUtbW9kYWwtbGF5ZXItYnV0dG9uPlxuICAgICAgICA8aWdvLW1ldGFkYXRhLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby1tZXRhZGF0YS1idXR0b24+XG4gICAgICAgIDxpZ28tdHJhY2stZmVhdHVyZS1idXR0b25cbiAgICAgICAgICBbdHJhY2tGZWF0dXJlXT1cInRydWVcIlxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgID48L2lnby10cmFjay1mZWF0dXJlLWJ1dHRvbj5cbiAgICAgICAgPGlnby10aW1lLWZpbHRlci1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImlzVGltZUZpbHRlckJ1dHRvbihsYXllcilcIlxuICAgICAgICAgIFtoZWFkZXJdPVwidGltZUJ1dHRvblwiXG4gICAgICAgICAgW2xheWVyXT1cImxheWVyXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVUaW1lRmlsdGVyKClcIlxuICAgICAgICA+PC9pZ28tdGltZS1maWx0ZXItYnV0dG9uPlxuICAgICAgICA8aWdvLW9nYy1maWx0ZXItYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJpc09HQ0ZpbHRlckJ1dHRvbihsYXllcilcIlxuICAgICAgICAgIFtoZWFkZXJdPVwib2djQnV0dG9uXCJcbiAgICAgICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZU9nY0ZpbHRlcigpXCJcbiAgICAgICAgPjwvaWdvLW9nYy1maWx0ZXItYnV0dG9uPlxuICAgICAgICA8aWdvLWV4cG9ydC1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImlzRXhwb3J0QnV0dG9uKGxheWVyKVwiXG4gICAgICAgICAgW2xheWVyXT1cImxheWVyXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVFeHBvcnQobGF5ZXIpXCJcbiAgICAgICAgPjwvaWdvLWV4cG9ydC1idXR0b24+XG4gICAgICAgIDxpZ28td29ya3NwYWNlLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby13b3Jrc3BhY2UtYnV0dG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cIltlbXB0eUxpc3RdXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eUxheWVyc1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2lnby1sYXllci12aWV3ZXI+XG4gIDwvbWF0LXRhYj5cblxuICA8bWF0LXRhYiBbbGFiZWxdPVwiJ2lnby5pbnRlZ3JhdGlvbi50b29scy5sZWdlbmQnIHwgdHJhbnNsYXRlXCI+XG4gICAgPGlnby1sYXllci1sZWdlbmQtbGlzdFxuICAgICAgKm5nSWY9XCJzaG93QWxsTGVnZW5kKClcIlxuICAgICAgaWdvTGF5ZXJMZWdlbmRMaXN0QmluZGluZ1xuICAgICAgW2FsbG93U2hvd0FsbExlZ2VuZHNdPVwiYWxsb3dTaG93QWxsTGVnZW5kc1wiXG4gICAgICBbc2hvd0FsbExlZ2VuZHNWYWx1ZV09XCJzaG93QWxsTGVnZW5kc1ZhbHVlJCB8IGFzeW5jXCJcbiAgICAgIChhbGxMZWdlbmRzU2hvd24pPVwib25TaG93QWxsTGVnZW5kcygkZXZlbnQpXCJcbiAgICAgIFtleGNsdWRlQmFzZUxheWVyc109XCJleGNsdWRlQmFzZUxheWVyc1wiXG4gICAgICBbdXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlXT1cInVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZVwiXG4gICAgPlxuICAgIDwvaWdvLWxheWVyLWxlZ2VuZC1saXN0PlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgKm5nSWY9XCIobGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggIT09IDA7IGVsc2UgZW1wdHlMYXllcnNcIlxuICAgID48L25nLXRlbXBsYXRlPlxuXG4gICAgPHBcbiAgICAgIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICFhbGxvd1Nob3dBbGxMZWdlbmRzICYmXG4gICAgICAgIChsYXllcnMkIHwgYXN5bmMpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAodmlzaWJsZU9ySW5SYW5nZUxheWVycyQgfCBhc3luYykubGVuZ3RoID09PSAwXG4gICAgICBcIlxuICAgID5cbiAgICAgIHt7XG4gICAgICAgICh2aXNpYmxlTGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGhcbiAgICAgICAgICA/ICgnaWdvLmludGVncmF0aW9uLm1hcFRvb2wubm9MYXllcnNJblJhbmdlJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICA6ICgnaWdvLmludGVncmF0aW9uLm1hcFRvb2wubm9MYXllcnNWaXNpYmxlJyB8IHRyYW5zbGF0ZSlcbiAgICAgIH19XG4gICAgPC9wPlxuICA8L21hdC10YWI+XG5cbiAgPG5nLXRlbXBsYXRlICNlbXB0eUxheWVycz5cbiAgICA8bWF0LWxpc3QgKm5nSWY9XCJkZWxheWVkU2hvd0VtcHR5TWFwQ29udGVudFwiPlxuICAgICAgPHAgY2xhc3M9XCJtYXAtZW1wdHkgbWF0LXR5cG9ncmFwaHlcIj5cbiAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLmVtcHR5JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9wPlxuICAgICAgPHBcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBsYXllckFkZGl0aW9uQWxsb3dlZCAmJlxuICAgICAgICAgIChzZWFyY2hUb29sSW5Ub29sYmFyIHx8IGNhdGFsb2dUb29sSW5Ub29sYmFyIHx8IGNvbnRleHRUb29sSW5Ub29sYmFyKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cIm1hcC1lbXB0eSBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5jdXN0b21pemUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3A+XG5cbiAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwibGF5ZXJBZGRpdGlvbkFsbG93ZWQgJiYgc2VhcmNoVG9vbEluVG9vbGJhclwiPlxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxuICAgICAgICAgIChjbGljayk9XCJzZWFyY2hFbWl0KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLnNlYXJjaC10b29sJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIGNhdGFsb2dUb29sSW5Ub29sYmFyXCI+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+bGlicmFyeV9hZGQ8L21hdC1pY29uPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgICAgICBjbGFzcz1cImNhdGFsb2ctdG9vbCBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNhdGFsb2dFbWl0KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLmNhdGFsb2ctdG9vbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJsYXllckFkZGl0aW9uQWxsb3dlZCAmJiBjb250ZXh0VG9vbEluVG9vbGJhclwiPlxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uPnN0YXI8L21hdC1pY29uPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgICAgICBjbGFzcz1cImNvbnRleHQtdG9vbCBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbnRleHRFbWl0KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLmNvbnRleHQtdG9vbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDwvbWF0LWxpc3Q+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { AdvancedMapToolComponent } from './advanced-map-tool';
2
- import { MapDetailsToolComponent } from './map-details-tool';
3
- import { MapLegendToolComponent } from './map-legend';
4
- import { MapProximityToolComponent } from './map-proximity-tool';
5
- import { MapToolComponent } from './map-tool';
6
- import { MapToolsComponent } from './map-tools';
7
- export const INTEGRATION_MAP_DIRECTIVES = [
8
- AdvancedMapToolComponent,
9
- MapProximityToolComponent,
10
- MapToolComponent,
11
- MapToolsComponent,
12
- MapDetailsToolComponent,
13
- MapLegendToolComponent
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixzQkFBc0I7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWR2YW5jZWRNYXBUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9hZHZhbmNlZC1tYXAtdG9vbCc7XG5pbXBvcnQgeyBNYXBEZXRhaWxzVG9vbENvbXBvbmVudCB9IGZyb20gJy4vbWFwLWRldGFpbHMtdG9vbCc7XG5pbXBvcnQgeyBNYXBMZWdlbmRUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtbGVnZW5kJztcbmltcG9ydCB7IE1hcFByb3hpbWl0eVRvb2xDb21wb25lbnQgfSBmcm9tICcuL21hcC1wcm94aW1pdHktdG9vbCc7XG5pbXBvcnQgeyBNYXBUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtdG9vbCc7XG5pbXBvcnQgeyBNYXBUb29sc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXRvb2xzJztcblxuZXhwb3J0IGNvbnN0IElOVEVHUkFUSU9OX01BUF9ESVJFQ1RJVkVTID0gW1xuICBBZHZhbmNlZE1hcFRvb2xDb21wb25lbnQsXG4gIE1hcFByb3hpbWl0eVRvb2xDb21wb25lbnQsXG4gIE1hcFRvb2xDb21wb25lbnQsXG4gIE1hcFRvb2xzQ29tcG9uZW50LFxuICBNYXBEZXRhaWxzVG9vbENvbXBvbmVudCxcbiAgTWFwTGVnZW5kVG9vbENvbXBvbmVudFxuXSBhcyBjb25zdDtcbiJdfQ==
@@ -1,59 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { AdvancedMapToolComponent } from './advanced-map-tool/advanced-map-tool.component';
3
- import { MapDetailsToolComponent } from './map-details-tool/map-details-tool.component';
4
- import { MapLegendToolComponent } from './map-legend/map-legend-tool.component';
5
- import { MapProximityToolComponent } from './map-proximity-tool/map-proximity-tool.component';
6
- import { MapToolComponent } from './map-tool/map-tool.component';
7
- import { MapToolsComponent } from './map-tools/map-tools.component';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * @deprecated import the ImportExportToolComponent directly or INTEGRATION_MAP_DIRECTIVES for the set
11
- */
12
- export class IgoAppMapModule {
13
- static forRoot() {
14
- return {
15
- ngModule: IgoAppMapModule,
16
- providers: []
17
- };
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
21
- MapProximityToolComponent,
22
- MapToolComponent,
23
- MapToolsComponent,
24
- MapDetailsToolComponent,
25
- MapLegendToolComponent], exports: [AdvancedMapToolComponent,
26
- MapProximityToolComponent,
27
- MapToolComponent,
28
- MapToolsComponent,
29
- MapDetailsToolComponent,
30
- MapLegendToolComponent] });
31
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
32
- MapProximityToolComponent,
33
- MapToolComponent,
34
- MapToolsComponent,
35
- MapDetailsToolComponent,
36
- MapLegendToolComponent] });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMapModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- imports: [
42
- AdvancedMapToolComponent,
43
- MapProximityToolComponent,
44
- MapToolComponent,
45
- MapToolsComponent,
46
- MapDetailsToolComponent,
47
- MapLegendToolComponent
48
- ],
49
- exports: [
50
- AdvancedMapToolComponent,
51
- MapProximityToolComponent,
52
- MapToolComponent,
53
- MapToolsComponent,
54
- MapDetailsToolComponent,
55
- MapLegendToolComponent
56
- ]
57
- }]
58
- }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRXBFOztHQUVHO0FBbUJILE1BQU0sT0FBTyxlQUFlO0lBQzFCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7d0dBTlUsZUFBZTt5R0FBZixlQUFlLFlBaEJ4Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHNCQUFzQixhQUd0Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjt5R0FHYixlQUFlLFlBaEJ4Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjs7NEZBV2IsZUFBZTtrQkFsQjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFkdmFuY2VkTWFwVG9vbENvbXBvbmVudCB9IGZyb20gJy4vYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcERldGFpbHNUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtZGV0YWlscy10b29sL21hcC1kZXRhaWxzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcExlZ2VuZFRvb2xDb21wb25lbnQgfSBmcm9tICcuL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQcm94aW1pdHlUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcHJveGltaXR5LXRvb2wvbWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtdG9vbC9tYXAtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwVG9vbHNDb21wb25lbnQgfSBmcm9tICcuL21hcC10b29scy9tYXAtdG9vbHMuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIEltcG9ydEV4cG9ydFRvb2xDb21wb25lbnQgZGlyZWN0bHkgb3IgSU5URUdSQVRJT05fTUFQX0RJUkVDVElWRVMgZm9yIHRoZSBzZXRcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEFkdmFuY2VkTWFwVG9vbENvbXBvbmVudCxcbiAgICBNYXBQcm94aW1pdHlUb29sQ29tcG9uZW50LFxuICAgIE1hcFRvb2xDb21wb25lbnQsXG4gICAgTWFwVG9vbHNDb21wb25lbnQsXG4gICAgTWFwRGV0YWlsc1Rvb2xDb21wb25lbnQsXG4gICAgTWFwTGVnZW5kVG9vbENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQWR2YW5jZWRNYXBUb29sQ29tcG9uZW50LFxuICAgIE1hcFByb3hpbWl0eVRvb2xDb21wb25lbnQsXG4gICAgTWFwVG9vbENvbXBvbmVudCxcbiAgICBNYXBUb29sc0NvbXBvbmVudCxcbiAgICBNYXBEZXRhaWxzVG9vbENvbXBvbmVudCxcbiAgICBNYXBMZWdlbmRUb29sQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQXBwTWFwTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29BcHBNYXBNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IElnb0FwcE1hcE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,56 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ConfigService } from '@igo2/core/config';
3
- import { StorageService } from '@igo2/core/storage';
4
- import { IgoMap, MapService, ProjectionService } from '@igo2/geo';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@igo2/geo";
7
- import * as i2 from "@igo2/core/storage";
8
- import * as i3 from "@igo2/core/config";
9
- /**
10
- * Service that holds the state of the map module
11
- */
12
- export class MapState {
13
- mapService;
14
- projectionService;
15
- storageService;
16
- configService;
17
- get showAllLegendsValue() {
18
- return this._legendToolShowAll;
19
- }
20
- set showAllLegendsValue(value) {
21
- this._legendToolShowAll = value;
22
- }
23
- _legendToolShowAll;
24
- /**
25
- * Active map
26
- */
27
- get map() {
28
- return this._map;
29
- }
30
- _map;
31
- constructor(mapService, projectionService, // Don't remove this or it'll never be injected,
32
- storageService, configService) {
33
- this.mapService = mapService;
34
- this.projectionService = projectionService;
35
- this.storageService = storageService;
36
- this.configService = configService;
37
- this._map = new IgoMap({
38
- controls: {
39
- scaleLine: true,
40
- attribution: {
41
- collapsed: true
42
- }
43
- }
44
- }, this.storageService, this.configService);
45
- this.mapService.setMap(this.map);
46
- }
47
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapState, deps: [{ token: i1.MapService }, { token: i1.ProjectionService }, { token: i2.StorageService }, { token: i3.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
48
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapState, providedIn: 'root' });
49
- }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapState, decorators: [{
51
- type: Injectable,
52
- args: [{
53
- providedIn: 'root'
54
- }]
55
- }], ctorParameters: () => [{ type: i1.MapService }, { type: i1.ProjectionService }, { type: i2.StorageService }, { type: i3.ConfigService }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFFbEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sUUFBUTtJQW1CVDtJQUNBO0lBQ0E7SUFDQTtJQXJCVixJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNPLGtCQUFrQixDQUFVO0lBRXBDOztPQUVHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDTyxJQUFJLENBQVM7SUFFckIsWUFDVSxVQUFzQixFQUN0QixpQkFBb0MsRUFBRSxnREFBZ0Q7SUFDdEYsY0FBOEIsRUFDOUIsYUFBNEI7UUFINUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUVwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksTUFBTSxDQUNwQjtZQUNFLFFBQVEsRUFBRTtnQkFDUixTQUFTLEVBQUUsSUFBSTtnQkFDZixXQUFXLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLElBQUk7aUJBQ2hCO2FBQ0Y7U0FDRixFQUNELElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxhQUFhLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQzt3R0F0Q1UsUUFBUTs0R0FBUixRQUFRLGNBRlAsTUFBTTs7NEZBRVAsUUFBUTtrQkFIcEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBJZ29NYXAsIE1hcFNlcnZpY2UsIFByb2plY3Rpb25TZXJ2aWNlIH0gZnJvbSAnQGlnbzIvZ2VvJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHRoZSBtYXAgbW9kdWxlXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1hcFN0YXRlIHtcbiAgZ2V0IHNob3dBbGxMZWdlbmRzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2xlZ2VuZFRvb2xTaG93QWxsO1xuICB9XG5cbiAgc2V0IHNob3dBbGxMZWdlbmRzVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLl9sZWdlbmRUb29sU2hvd0FsbCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2xlZ2VuZFRvb2xTaG93QWxsOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBY3RpdmUgbWFwXG4gICAqL1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMuX21hcDtcbiAgfVxuICBwcml2YXRlIF9tYXA6IElnb01hcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hcFNlcnZpY2U6IE1hcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9qZWN0aW9uU2VydmljZTogUHJvamVjdGlvblNlcnZpY2UsIC8vIERvbid0IHJlbW92ZSB0aGlzIG9yIGl0J2xsIG5ldmVyIGJlIGluamVjdGVkLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLl9tYXAgPSBuZXcgSWdvTWFwKFxuICAgICAge1xuICAgICAgICBjb250cm9sczoge1xuICAgICAgICAgIHNjYWxlTGluZTogdHJ1ZSxcbiAgICAgICAgICBhdHRyaWJ1dGlvbjoge1xuICAgICAgICAgICAgY29sbGFwc2VkOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZSxcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZVxuICAgICk7XG5cbiAgICB0aGlzLm1hcFNlcnZpY2Uuc2V0TWFwKHRoaXMubWFwKTtcbiAgfVxufVxuIl19
@@ -1,4 +0,0 @@
1
- export * from './measure.state';
2
- export * from './measurer-tool/measurer-tool.component';
3
- export * from './measurer-tool/measurer-tool.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21lYXN1cmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lYXN1cmUuc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tZWFzdXJlci10b29sL21lYXN1cmVyLXRvb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWVhc3VyZXItdG9vbC9tZWFzdXJlci10b29sLm1vZHVsZSc7XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { IgoAppMeasurerToolModule } from './measurer-tool/measurer-tool.module';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @deprecated import the MeasurerToolComponent directly
6
- */
7
- export class IgoAppMeasureModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMeasureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMeasureModule, exports: [IgoAppMeasurerToolModule] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMeasureModule, imports: [IgoAppMeasurerToolModule] });
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppMeasureModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- exports: [IgoAppMeasurerToolModule]
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21lYXN1cmUvbWVhc3VyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFFaEY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO3dHQUFuQixtQkFBbUI7eUdBQW5CLG1CQUFtQixZQUZwQix3QkFBd0I7eUdBRXZCLG1CQUFtQixZQUZwQix3QkFBd0I7OzRGQUV2QixtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWdvQXBwTWVhc3VyZXJUb29sTW9kdWxlIH0gZnJvbSAnLi9tZWFzdXJlci10b29sL21lYXN1cmVyLXRvb2wubW9kdWxlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIE1lYXN1cmVyVG9vbENvbXBvbmVudCBkaXJlY3RseVxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbSWdvQXBwTWVhc3VyZXJUb29sTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBNZWFzdXJlTW9kdWxlIHt9XG4iXX0=