@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.
- package/fesm2022/igo2-integration.mjs +252 -254
- package/fesm2022/igo2-integration.mjs.map +1 -1
- package/package.json +8 -10
- package/esm2022/igo2-integration.mjs +0 -5
- package/esm2022/lib/about/about-tool/about-tool.component.mjs +0 -152
- package/esm2022/lib/about/about-tool/index.mjs +0 -2
- package/esm2022/lib/about/about.module.mjs +0 -26
- package/esm2022/lib/about/index.mjs +0 -2
- package/esm2022/lib/analytics/analytics-listener.service.mjs +0 -149
- package/esm2022/lib/analytics/index.mjs +0 -2
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -117
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -19
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -110
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -19
- package/esm2022/lib/catalog/catalog.module.mjs +0 -19
- package/esm2022/lib/catalog/catalog.state.mjs +0 -58
- package/esm2022/lib/catalog/index.mjs +0 -6
- package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -33
- package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -46
- package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -23
- package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +0 -40
- package/esm2022/lib/context/context.directive.mjs +0 -11
- package/esm2022/lib/context/context.module.mjs +0 -23
- package/esm2022/lib/context/context.state.mjs +0 -96
- package/esm2022/lib/context/index.mjs +0 -7
- package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +0 -121
- package/esm2022/lib/directions/directions-tool/index.mjs +0 -2
- package/esm2022/lib/directions/directions.module.mjs +0 -25
- package/esm2022/lib/directions/directions.state.mjs +0 -57
- package/esm2022/lib/directions/index.mjs +0 -3
- package/esm2022/lib/draw/draw.module.mjs +0 -18
- package/esm2022/lib/draw/draw.state.mjs +0 -43
- package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
- package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +0 -19
- package/esm2022/lib/draw/index.mjs +0 -4
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +0 -10
- package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -43
- package/esm2022/lib/filter/active-ogc-filter-tool/index.mjs +0 -2
- package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +0 -10
- package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -43
- package/esm2022/lib/filter/active-time-filter-tool/index.mjs +0 -2
- package/esm2022/lib/filter/filter.module.mjs +0 -53
- package/esm2022/lib/filter/index.mjs +0 -18
- package/esm2022/lib/filter/ogc-filter-tool/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -22
- package/esm2022/lib/filter/spatial-filter-tool/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -589
- package/esm2022/lib/filter/time-filter-tool/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -22
- package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +0 -188
- package/esm2022/lib/geometry-form/data-issue-reporter-tool/index.mjs +0 -2
- package/esm2022/lib/geometry-form/geometry-form.module.mjs +0 -37
- package/esm2022/lib/geometry-form/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -113
- package/esm2022/lib/import-export/import-export-tool/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export.module.mjs +0 -25
- package/esm2022/lib/import-export/import-export.state.mjs +0 -39
- package/esm2022/lib/import-export/index.mjs +0 -3
- package/esm2022/lib/integration.module.mjs +0 -70
- package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -446
- package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -66
- package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -157
- package/esm2022/lib/map/advanced-map-tool/index.mjs +0 -2
- package/esm2022/lib/map/index.mjs +0 -10
- package/esm2022/lib/map/layer-list-tool.state.mjs +0 -40
- package/esm2022/lib/map/map-details-tool/index.mjs +0 -2
- package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +0 -190
- package/esm2022/lib/map/map-legend/index.mjs +0 -2
- package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +0 -165
- package/esm2022/lib/map/map-proximity-tool/index.mjs +0 -2
- package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -152
- package/esm2022/lib/map/map-proximity.state.mjs +0 -179
- package/esm2022/lib/map/map-tool/index.mjs +0 -2
- package/esm2022/lib/map/map-tool/map-tool.component.mjs +0 -152
- package/esm2022/lib/map/map-tools/index.mjs +0 -2
- package/esm2022/lib/map/map-tools/map-tools.component.mjs +0 -350
- package/esm2022/lib/map/map.directive.mjs +0 -15
- package/esm2022/lib/map/map.module.mjs +0 -59
- package/esm2022/lib/map/map.state.mjs +0 -56
- package/esm2022/lib/measure/index.mjs +0 -4
- package/esm2022/lib/measure/measure.module.mjs +0 -18
- package/esm2022/lib/measure/measure.state.mjs +0 -41
- package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -51
- package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +0 -19
- package/esm2022/lib/print/index.mjs +0 -2
- package/esm2022/lib/print/print-tool/index.mjs +0 -2
- package/esm2022/lib/print/print-tool/print-tool.component.mjs +0 -32
- package/esm2022/lib/print/print.module.mjs +0 -25
- package/esm2022/lib/search/index.mjs +0 -7
- package/esm2022/lib/search/query.state.mjs +0 -48
- package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +0 -71
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
- package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +0 -557
- package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +0 -19
- package/esm2022/lib/search/search.module.mjs +0 -20
- package/esm2022/lib/search/search.state.mjs +0 -155
- package/esm2022/lib/storage/index.mjs +0 -2
- package/esm2022/lib/storage/storage.state.mjs +0 -25
- package/esm2022/lib/tool/index.mjs +0 -2
- package/esm2022/lib/tool/tool.state.mjs +0 -56
- package/esm2022/lib/workspace/index.mjs +0 -4
- package/esm2022/lib/workspace/shared/edition-actions.service.mjs +0 -75
- package/esm2022/lib/workspace/shared/feature-actions.service.mjs +0 -65
- package/esm2022/lib/workspace/shared/index.mjs +0 -3
- package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +0 -77
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -166
- package/esm2022/lib/workspace/workspace-button/index.mjs +0 -2
- package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +0 -72
- package/esm2022/lib/workspace/workspace.module.mjs +0 -19
- package/esm2022/lib/workspace/workspace.state.mjs +0 -205
- package/esm2022/public_api.mjs +0 -35
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { StorageService } from '@igo2/core/storage';
|
|
3
|
-
import { FEATURE, FeatureStore, featureFromOl, isLayerItem, measureOlGeometryLength, roundCoordTo } from '@igo2/geo';
|
|
4
|
-
import { uuid } from '@igo2/utils';
|
|
5
|
-
import GeoJSON from 'ol/format/GeoJSON';
|
|
6
|
-
import olLineString from 'ol/geom/LineString';
|
|
7
|
-
import olLayerVector from 'ol/layer/Vector';
|
|
8
|
-
import * as olProj from 'ol/proj';
|
|
9
|
-
import { BehaviorSubject, combineLatest, interval } from 'rxjs';
|
|
10
|
-
import { debounceTime } from 'rxjs/operators';
|
|
11
|
-
import { MapState } from '../map/map.state';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "../map/map.state";
|
|
14
|
-
import * as i2 from "@igo2/core/storage";
|
|
15
|
-
/**
|
|
16
|
-
* Service that holds the state of the direction module
|
|
17
|
-
*/
|
|
18
|
-
export class MapProximityState {
|
|
19
|
-
mapState;
|
|
20
|
-
storageService;
|
|
21
|
-
defaultProximityRadiusValue = 30;
|
|
22
|
-
enabled$ = new BehaviorSubject(false);
|
|
23
|
-
proximityRadiusValue$;
|
|
24
|
-
proximitylocationType$ = new BehaviorSubject('geolocation');
|
|
25
|
-
proximityFeatureStore;
|
|
26
|
-
subs$$ = [];
|
|
27
|
-
currentPositionCoordinate$ = new BehaviorSubject(undefined);
|
|
28
|
-
get map() {
|
|
29
|
-
return this.mapState.map;
|
|
30
|
-
}
|
|
31
|
-
constructor(mapState, storageService) {
|
|
32
|
-
this.mapState = mapState;
|
|
33
|
-
this.storageService = storageService;
|
|
34
|
-
this.proximityFeatureStore = new FeatureStore([], {
|
|
35
|
-
map: this.mapState.map
|
|
36
|
-
});
|
|
37
|
-
this.proximityRadiusValue$ = new BehaviorSubject(this.storageService.get('mapProximityRadius') ||
|
|
38
|
-
this.defaultProximityRadiusValue);
|
|
39
|
-
this.mapState.map.ol.once('rendercomplete', () => {
|
|
40
|
-
this.subscribeProximityMonitor();
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
subscribeProximityMonitor() {
|
|
44
|
-
this.subs$$.push(combineLatest([
|
|
45
|
-
this.enabled$,
|
|
46
|
-
this.proximitylocationType$,
|
|
47
|
-
this.proximityRadiusValue$,
|
|
48
|
-
interval(5000),
|
|
49
|
-
this.map.geolocationController.position$
|
|
50
|
-
])
|
|
51
|
-
.pipe(debounceTime(750))
|
|
52
|
-
.subscribe((bunch) => {
|
|
53
|
-
this.proximityFeatureStore.clear();
|
|
54
|
-
const enabled = bunch[0];
|
|
55
|
-
const layers = this.map.layerController.all;
|
|
56
|
-
const currentPos = this.map.geolocationController.position$.value;
|
|
57
|
-
const locationType = bunch[1];
|
|
58
|
-
const proximityRadiusValue = bunch[2];
|
|
59
|
-
this.storageService.set('mapProximityRadius', proximityRadiusValue || this.defaultProximityRadiusValue);
|
|
60
|
-
if (!enabled) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
let coord;
|
|
64
|
-
if (locationType === 'geolocation') {
|
|
65
|
-
if (!currentPos || !currentPos.position) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
coord = olProj.transform(currentPos.position, currentPos.projection, this.map.projection);
|
|
69
|
-
this.map.mapCenter$.next(false);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
coord = this.map.viewController.getCenter();
|
|
73
|
-
this.map.mapCenter$.next(true);
|
|
74
|
-
}
|
|
75
|
-
const coordLonLat = olProj.transform(coord, this.map.projection, 'EPSG:4269');
|
|
76
|
-
const roundedCoordLonLat = roundCoordTo(coordLonLat, 6);
|
|
77
|
-
this.currentPositionCoordinate$.next(roundedCoordLonLat);
|
|
78
|
-
const layersToMonitor = layers.filter((layer) => isLayerItem(layer) &&
|
|
79
|
-
layer.ol instanceof olLayerVector &&
|
|
80
|
-
layer.dataSource.options.queryable &&
|
|
81
|
-
layer.visible &&
|
|
82
|
-
layer.isInResolutionsRange);
|
|
83
|
-
layersToMonitor.map((layerToMonitor) => {
|
|
84
|
-
const layerSource = layerToMonitor.ol.getSource();
|
|
85
|
-
// Mostly for polygon features.
|
|
86
|
-
const olFeaturesAtCoordinate = layerSource.getFeaturesAtCoordinate(coord);
|
|
87
|
-
if (olFeaturesAtCoordinate && olFeaturesAtCoordinate.length) {
|
|
88
|
-
olFeaturesAtCoordinate.map((olFeatureAtCoordinate) => {
|
|
89
|
-
const featureAtThisPosition = featureFromOl(olFeatureAtCoordinate, this.map.projection);
|
|
90
|
-
const title = this.getQueryTitle(featureAtThisPosition, layerToMonitor);
|
|
91
|
-
// todo handle imported layers without querytitle? prompt title or detect first column?
|
|
92
|
-
this.addFeatureToStore(layerToMonitor, coord, featureAtThisPosition, title, 0);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
// compute proximity for remaining sources
|
|
97
|
-
const closestOlFeature = layerSource.getClosestFeatureToCoordinate(coord);
|
|
98
|
-
if (closestOlFeature) {
|
|
99
|
-
const closestOlGeom = closestOlFeature.getGeometry();
|
|
100
|
-
const closestFeature = featureFromOl(closestOlFeature, this.map.projection);
|
|
101
|
-
const geometryClosestPoint = closestOlGeom.getClosestPoint(coord);
|
|
102
|
-
const linebetween = new olLineString([
|
|
103
|
-
coord,
|
|
104
|
-
geometryClosestPoint
|
|
105
|
-
]);
|
|
106
|
-
const lineLength = measureOlGeometryLength(linebetween, 'EPSG:3857');
|
|
107
|
-
if (lineLength <= proximityRadiusValue) {
|
|
108
|
-
const title = this.getQueryTitle(closestFeature, layerToMonitor);
|
|
109
|
-
// todo handle imported layers without querytitle? prompt title or detect first column?
|
|
110
|
-
this.addFeatureToStore(layerToMonitor, coord, closestFeature, title, lineLength);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}));
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Add a feature with proximity properties to the store
|
|
119
|
-
* @internal
|
|
120
|
-
*/
|
|
121
|
-
addFeatureToStore(layer, coordFromCalculatedDistance, feature, title, distance) {
|
|
122
|
-
const featureId = uuid();
|
|
123
|
-
const projection = this.map.ol.getView().getProjection();
|
|
124
|
-
const olGeometry = feature.ol.getGeometry();
|
|
125
|
-
const geometry = new GeoJSON().writeGeometryObject(olGeometry, {
|
|
126
|
-
featureProjection: projection,
|
|
127
|
-
dataProjection: projection
|
|
128
|
-
});
|
|
129
|
-
this.proximityFeatureStore.update({
|
|
130
|
-
type: FEATURE,
|
|
131
|
-
geometry,
|
|
132
|
-
projection: projection.getCode(),
|
|
133
|
-
properties: {
|
|
134
|
-
...feature.properties,
|
|
135
|
-
...{
|
|
136
|
-
id: featureId,
|
|
137
|
-
element: title,
|
|
138
|
-
distance,
|
|
139
|
-
coordFromCalculatedDistance,
|
|
140
|
-
layerSrcId: layer.id,
|
|
141
|
-
layerSrcTitle: layer.title
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
meta: {
|
|
145
|
-
id: featureId
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
getQueryTitle(feature, layer) {
|
|
150
|
-
if (isLayerItem(layer) && layer.options?.source?.options) {
|
|
151
|
-
const dataSourceOptions = layer.options.source
|
|
152
|
-
.options;
|
|
153
|
-
if (dataSourceOptions.queryTitle) {
|
|
154
|
-
return this.getLabelMatch(feature, dataSourceOptions.queryTitle);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
getLabelMatch(feature, labelMatch) {
|
|
159
|
-
let label = labelMatch;
|
|
160
|
-
const labelToGet = Array.from(labelMatch.matchAll(/\$\{([^\{\}]+)\}/g));
|
|
161
|
-
labelToGet.forEach((v) => {
|
|
162
|
-
label = label.replace(v[0], feature.properties[v[1]]);
|
|
163
|
-
});
|
|
164
|
-
// Nothing done? check feature's attribute
|
|
165
|
-
if (labelToGet.length === 0 && label === labelMatch) {
|
|
166
|
-
label = feature.properties[labelMatch] || labelMatch;
|
|
167
|
-
}
|
|
168
|
-
return label;
|
|
169
|
-
}
|
|
170
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapProximityState, deps: [{ token: i1.MapState }, { token: i2.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
171
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapProximityState, providedIn: 'root' });
|
|
172
|
-
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapProximityState, decorators: [{
|
|
174
|
-
type: Injectable,
|
|
175
|
-
args: [{
|
|
176
|
-
providedIn: 'root'
|
|
177
|
-
}]
|
|
178
|
-
}], ctorParameters: () => [{ type: i1.MapState }, { type: i2.StorageService }] });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXByb3hpbWl0eS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1wcm94aW1pdHkuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUVMLE9BQU8sRUFFUCxZQUFZLEVBTVosYUFBYSxFQUNiLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsWUFBWSxFQUNiLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHbkMsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUM7QUFFeEMsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFHbEMsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBRTVDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjtJQW9CbEI7SUFDQTtJQXBCRiwyQkFBMkIsR0FBRyxFQUFFLENBQUM7SUFFbEMsUUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FDN0QsS0FBSyxDQUNOLENBQUM7SUFDSyxxQkFBcUIsQ0FBMEI7SUFDL0Msc0JBQXNCLEdBQzNCLElBQUksZUFBZSxDQUFTLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLHFCQUFxQixDQUF3QjtJQUM1QyxNQUFNLEdBQW1CLEVB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T0FBTyxFQUFFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQixFQUFFLFVBQVU7UUFDeEMsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFFeEUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFFSCwwQ0FBMEM7UUFDMUMsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDcEQsS0FBSyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBdk9VLGlCQUFpQjs0R0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcbmltcG9ydCB7XG4gIEFueUxheWVyLFxuICBGRUFUVVJFLFxuICBGZWF0dXJlLFxuICBGZWF0dXJlU3RvcmUsXG4gIElnb01hcCxcbiAgTGF5ZXIsXG4gIE1hcEdlb2xvY2F0aW9uU3RhdGUsXG4gIFF1ZXJ5YWJsZURhdGFTb3VyY2UsXG4gIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zLFxuICBmZWF0dXJlRnJvbU9sLFxuICBpc0xheWVySXRlbSxcbiAgbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgsXG4gIHJvdW5kQ29vcmRUb1xufSBmcm9tICdAaWdvMi9nZW8nO1xuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgQ29vcmRpbmF0ZSB9IGZyb20gJ29sL2Nvb3JkaW5hdGUnO1xuaW1wb3J0IEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xuaW1wb3J0IEdlb21ldHJ5IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IG9sTGluZVN0cmluZyBmcm9tICdvbC9nZW9tL0xpbmVTdHJpbmcnO1xuaW1wb3J0IG9sTGF5ZXJWZWN0b3IgZnJvbSAnb2wvbGF5ZXIvVmVjdG9yJztcbmltcG9ydCAqIGFzIG9sUHJvaiBmcm9tICdvbC9wcm9qJztcbmltcG9ydCBvbFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vbWFwL21hcC5zdGF0ZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgZGlyZWN0aW9uIG1vZHVsZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYXBQcm94aW1pdHlTdGF0ZSB7XG4gIHByaXZhdGUgZGVmYXVsdFByb3hpbWl0eVJhZGl1c1ZhbHVlID0gMzA7XG5cbiAgcHVibGljIGVuYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KFxuICAgIGZhbHNlXG4gICk7XG4gIHB1YmxpYyBwcm94aW1pdHlSYWRpdXNWYWx1ZSQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuICBwdWJsaWMgcHJveGltaXR5bG9jYXRpb25UeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignZ2VvbG9jYXRpb24nKTtcbiAgcHVibGljIHByb3hpbWl0eUZlYXR1cmVTdG9yZTogRmVhdHVyZVN0b3JlPEZlYXR1cmU+O1xuICBwcml2YXRlIHN1YnMkJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHVibGljIGN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb29yZGluYXRlPihcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5wcm94aW1pdHlGZWF0dXJlU3RvcmUgPSBuZXcgRmVhdHVyZVN0b3JlPEZlYXR1cmU+KFtdLCB7XG4gICAgICBtYXA6IHRoaXMubWFwU3RhdGUubWFwXG4gICAgfSk7XG5cbiAgICB0aGlzLnByb3hpbWl0eVJhZGl1c1ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihcbiAgICAgICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnbWFwUHJveGltaXR5UmFkaXVzJykgYXMgbnVtYmVyKSB8fFxuICAgICAgICB0aGlzLmRlZmF1bHRQcm94aW1pdHlSYWRpdXNWYWx1ZVxuICAgICk7XG5cbiAgICB0aGlzLm1hcFN0YXRlLm1hcC5vbC5vbmNlKCdyZW5kZXJjb21wbGV0ZScsICgpID0+IHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlUHJveGltaXR5TW9uaXRvcigpO1xuICAgIH0pO1xuICB9XG5cbiAgc3Vic2NyaWJlUHJveGltaXR5TW9uaXRvcigpIHtcbiAgICB0aGlzLnN1YnMkJC5wdXNoKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuZW5hYmxlZCQsXG4gICAgICAgIHRoaXMucHJveGltaXR5bG9jYXRpb25UeXBlJCxcbiAgICAgICAgdGhpcy5wcm94aW1pdHlSYWRpdXNWYWx1ZSQsXG4gICAgICAgIGludGVydmFsKDUwMDApLFxuICAgICAgICB0aGlzLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIucG9zaXRpb24kXG4gICAgICBdKVxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNzUwKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoYnVuY2g6IFtib29sZWFuLCBzdHJpbmcsIG51bWJlciwgbnVtYmVyLCBNYXBHZW9sb2NhdGlvblN0YXRlXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm94aW1pdHlGZWF0dXJlU3RvcmUuY2xlYXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGVuYWJsZWQgPSBidW5jaFswXTtcbiAgICAgICAgICAgIGNvbnN0IGxheWVycyA9IHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hbGw7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UG9zID0gdGhpcy5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLnBvc2l0aW9uJC52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uVHlwZSA9IGJ1bmNoWzFdO1xuICAgICAgICAgICAgY29uc3QgcHJveGltaXR5UmFkaXVzVmFsdWUgPSBidW5jaFsyXTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxuICAgICAgICAgICAgICAnbWFwUHJveGltaXR5UmFkaXVzJyxcbiAgICAgICAgICAgICAgcHJveGltaXR5UmFkaXVzVmFsdWUgfHwgdGhpcy5kZWZhdWx0UHJveGltaXR5UmFkaXVzVmFsdWVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmICghZW5hYmxlZCkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBjb29yZDogbnVtYmVyW107XG4gICAgICAgICAgICBpZiAobG9jYXRpb25UeXBlID09PSAnZ2VvbG9jYXRpb24nKSB7XG4gICAgICAgICAgICAgIGlmICghY3VycmVudFBvcyB8fCAhY3VycmVudFBvcy5wb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvb3JkID0gb2xQcm9qLnRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICBjdXJyZW50UG9zLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQb3MucHJvamVjdGlvbixcbiAgICAgICAgICAgICAgICB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMubWFwLm1hcENlbnRlciQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb29yZCA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLmdldENlbnRlcigpO1xuICAgICAgICAgICAgICB0aGlzLm1hcC5tYXBDZW50ZXIkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvb3JkTG9uTGF0ID0gb2xQcm9qLnRyYW5zZm9ybShcbiAgICAgICAgICAgICAgY29vcmQsXG4gICAgICAgICAgICAgIHRoaXMubWFwLnByb2plY3Rpb24sXG4gICAgICAgICAgICAgICdFUFNHOjQyNjknXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3Qgcm91bmRlZENvb3JkTG9uTGF0ID0gcm91bmRDb29yZFRvKFxuICAgICAgICAgICAgICBjb29yZExvbkxhdCBhcyBbbnVtYmVyLCBudW1iZXJdLFxuICAgICAgICAgICAgICA2XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UG9zaXRpb25Db29yZGluYXRlJC5uZXh0KHJvdW5kZWRDb29yZExvbkxhdCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGxheWVyc1RvTW9uaXRvciA9IGxheWVycy5maWx0ZXIoXG4gICAgICAgICAgICAgIChsYXllcikgPT5cbiAgICAgICAgICAgICAgICBpc0xheWVySXRlbShsYXllcikgJiZcbiAgICAgICAgICAgICAgICBsYXllci5vbCBpbnN0YW5jZW9mIG9sTGF5ZXJWZWN0b3IgJiZcbiAgICAgICAgICAgICAgICAobGF5ZXIuZGF0YVNvdXJjZSBhcyBRdWVyeWFibGVEYXRhU291cmNlKS5vcHRpb25zLnF1ZXJ5YWJsZSAmJlxuICAgICAgICAgICAgICAgIGxheWVyLnZpc2libGUgJiZcbiAgICAgICAgICAgICAgICBsYXllci5pc0luUmVzb2x1dGlvbnNSYW5nZVxuICAgICAgICAgICAgKSBhcyBMYXllcltdO1xuXG4gICAgICAgICAgICBsYXllcnNUb01vbml0b3IubWFwKChsYXllclRvTW9uaXRvcikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYXllclNvdXJjZSA9XG4gICAgICAgICAgICAgICAgbGF5ZXJUb01vbml0b3Iub2wuZ2V0U291cmNlKCkgYXMgb2xWZWN0b3JTb3VyY2U7XG5cbiAgICAgICAgICAgICAgLy8gTW9zdGx5IGZvciBwb2x5Z29uIGZlYXR1cmVzLlxuICAgICAgICAgICAgICBjb25zdCBvbEZlYXR1cmVzQXRDb29yZGluYXRlID1cbiAgICAgICAgICAgICAgICBsYXllclNvdXJjZS5nZXRGZWF0dXJlc0F0Q29vcmRpbmF0ZShjb29yZCk7XG4gICAgICAgICAgICAgIGlmIChvbEZlYXR1cmVzQXRDb29yZGluYXRlICYmIG9sRmVhdHVyZXNBdENvb3JkaW5hdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgb2xGZWF0dXJlc0F0Q29vcmRpbmF0ZS5tYXAoKG9sRmVhdHVyZUF0Q29vcmRpbmF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZmVhdHVyZUF0VGhpc1Bvc2l0aW9uID0gZmVhdHVyZUZyb21PbChcbiAgICAgICAgICAgICAgICAgICAgb2xGZWF0dXJlQXRDb29yZGluYXRlLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLmdldFF1ZXJ5VGl0bGUoXG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVBdFRoaXNQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgbGF5ZXJUb01vbml0b3JcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAvLyB0b2RvIGhhbmRsZSBpbXBvcnRlZCBsYXllcnMgd2l0aG91dCBxdWVyeXRpdGxlPyBwcm9tcHQgdGl0bGUgb3IgZGV0ZWN0IGZpcnN0IGNvbHVtbj9cbiAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRmVhdHVyZVRvU3RvcmUoXG4gICAgICAgICAgICAgICAgICAgIGxheWVyVG9Nb25pdG9yLFxuICAgICAgICAgICAgICAgICAgICBjb29yZCxcbiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZUF0VGhpc1Bvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBjb21wdXRlIHByb3hpbWl0eSBmb3IgcmVtYWluaW5nIHNvdXJjZXNcbiAgICAgICAgICAgICAgICBjb25zdCBjbG9zZXN0T2xGZWF0dXJlID1cbiAgICAgICAgICAgICAgICAgIGxheWVyU291cmNlLmdldENsb3Nlc3RGZWF0dXJlVG9Db29yZGluYXRlKGNvb3JkKTtcbiAgICAgICAgICAgICAgICBpZiAoY2xvc2VzdE9sRmVhdHVyZSkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgY2xvc2VzdE9sR2VvbSA9IGNsb3Nlc3RPbEZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNsb3Nlc3RGZWF0dXJlID0gZmVhdHVyZUZyb21PbChcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdE9sRmVhdHVyZSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXAucHJvamVjdGlvblxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5Q2xvc2VzdFBvaW50ID1cbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdE9sR2VvbS5nZXRDbG9zZXN0UG9pbnQoY29vcmQpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgbGluZWJldHdlZW4gPSBuZXcgb2xMaW5lU3RyaW5nKFtcbiAgICAgICAgICAgICAgICAgICAgY29vcmQsXG4gICAgICAgICAgICAgICAgICAgIGdlb21ldHJ5Q2xvc2VzdFBvaW50XG4gICAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVMZW5ndGggPSBtZWFzdXJlT2xHZW9tZXRyeUxlbmd0aChcbiAgICAgICAgICAgICAgICAgICAgbGluZWJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgICdFUFNHOjM4NTcnXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgaWYgKGxpbmVMZW5ndGggPD0gcHJveGltaXR5UmFkaXVzVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLmdldFF1ZXJ5VGl0bGUoXG4gICAgICAgICAgICAgICAgICAgICAgY2xvc2VzdEZlYXR1cmUsXG4gICAgICAgICAgICAgICAgICAgICAgbGF5ZXJUb01vbml0b3JcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdG9kbyBoYW5kbGUgaW1wb3J0ZWQgbGF5ZXJzIHdpdGhvdXQgcXVlcnl0aXRsZT8gcHJvbXB0IHRpdGxlIG9yIGRldGVjdCBmaXJzdCBjb2x1bW4/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRmVhdHVyZVRvU3RvcmUoXG4gICAgICAgICAgICAgICAgICAgICAgbGF5ZXJUb01vbml0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgY29vcmQsXG4gICAgICAgICAgICAgICAgICAgICAgY2xvc2VzdEZlYXR1cmUsXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgbGluZUxlbmd0aFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBmZWF0dXJlIHdpdGggcHJveGltaXR5IHByb3BlcnRpZXMgdG8gdGhlIHN0b3JlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBhZGRGZWF0dXJlVG9TdG9yZShcbiAgICBsYXllcjogTGF5ZXIsXG4gICAgY29vcmRGcm9tQ2FsY3VsYXRlZERpc3RhbmNlLFxuICAgIGZlYXR1cmU6IEZlYXR1cmUsXG4gICAgdGl0bGUsXG4gICAgZGlzdGFuY2VcbiAgKSB7XG4gICAgY29uc3QgZmVhdHVyZUlkID0gdXVpZCgpO1xuICAgIGNvbnN0IHByb2plY3Rpb24gPSB0aGlzLm1hcC5vbC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpO1xuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBmZWF0dXJlLm9sLmdldEdlb21ldHJ5KCkgYXMgR2VvbWV0cnk7XG4gICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgR2VvSlNPTigpLndyaXRlR2VvbWV0cnlPYmplY3Qob2xHZW9tZXRyeSwge1xuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb24sXG4gICAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvblxuICAgIH0pIGFzIGFueTtcbiAgICB0aGlzLnByb3hpbWl0eUZlYXR1cmVTdG9yZS51cGRhdGUoe1xuICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgIGdlb21ldHJ5LFxuICAgICAgcHJvamVjdGlvbjogcHJvamVjdGlvbi5nZXRDb2RlKCksXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLmZlYXR1cmUucHJvcGVydGllcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIGlkOiBmZWF0dXJlSWQsXG4gICAgICAgICAgZWxlbWVudDogdGl0bGUsXG4gICAgICAgICAgZGlzdGFuY2UsXG4gICAgICAgICAgY29vcmRGcm9tQ2FsY3VsYXRlZERpc3RhbmNlLFxuICAgICAgICAgIGxheWVyU3JjSWQ6IGxheWVyLmlkLFxuICAgICAgICAgIGxheWVyU3JjVGl0bGU6IGxheWVyLnRpdGxlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBtZXRhOiB7XG4gICAgICAgIGlkOiBmZWF0dXJlSWRcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldFF1ZXJ5VGl0bGUoZmVhdHVyZTogRmVhdHVyZSwgbGF5ZXI6IEFueUxheWVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoaXNMYXllckl0ZW0obGF5ZXIpICYmIGxheWVyLm9wdGlvbnM/LnNvdXJjZT8ub3B0aW9ucykge1xuICAgICAgY29uc3QgZGF0YVNvdXJjZU9wdGlvbnMgPSBsYXllci5vcHRpb25zLnNvdXJjZVxuICAgICAgICAub3B0aW9ucyBhcyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgICAgIGlmIChkYXRhU291cmNlT3B0aW9ucy5xdWVyeVRpdGxlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExhYmVsTWF0Y2goZmVhdHVyZSwgZGF0YVNvdXJjZU9wdGlvbnMucXVlcnlUaXRsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0TGFiZWxNYXRjaChmZWF0dXJlOiBGZWF0dXJlLCBsYWJlbE1hdGNoKTogc3RyaW5nIHtcbiAgICBsZXQgbGFiZWwgPSBsYWJlbE1hdGNoO1xuICAgIGNvbnN0IGxhYmVsVG9HZXQgPSBBcnJheS5mcm9tKGxhYmVsTWF0Y2gubWF0Y2hBbGwoL1xcJFxceyhbXlxce1xcfV0rKVxcfS9nKSk7XG5cbiAgICBsYWJlbFRvR2V0LmZvckVhY2goKHYpID0+IHtcbiAgICAgIGxhYmVsID0gbGFiZWwucmVwbGFjZSh2WzBdLCBmZWF0dXJlLnByb3BlcnRpZXNbdlsxXV0pO1xuICAgIH0pO1xuXG4gICAgLy8gTm90aGluZyBkb25lPyBjaGVjayBmZWF0dXJlJ3MgYXR0cmlidXRlXG4gICAgaWYgKGxhYmVsVG9HZXQubGVuZ3RoID09PSAwICYmIGxhYmVsID09PSBsYWJlbE1hdGNoKSB7XG4gICAgICBsYWJlbCA9IGZlYXR1cmUucHJvcGVydGllc1tsYWJlbE1hdGNoXSB8fCBsYWJlbE1hdGNoO1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './map-tool.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9tYXAtdG9vbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXAtdG9vbC5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
3
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
4
|
-
import { ToolComponent } from '@igo2/common/tool';
|
|
5
|
-
import { ContextListBindingDirective, ContextListComponent } from '@igo2/context';
|
|
6
|
-
import { ConfigService } from '@igo2/core/config';
|
|
7
|
-
import { IgoLanguageModule } from '@igo2/core/language';
|
|
8
|
-
import { Media, MediaService } from '@igo2/core/media';
|
|
9
|
-
import { ExportButtonComponent, LayerListControlsEnum, LayerViewerComponent, MetadataButtonComponent, OgcFilterButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent } from '@igo2/geo';
|
|
10
|
-
import { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';
|
|
11
|
-
import { ToolState } from '../../tool/tool.state';
|
|
12
|
-
import { WorkspaceButtonComponent } from '../../workspace/workspace-button/workspace-button.component';
|
|
13
|
-
import { MapState } from './../map.state';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "./../map.state";
|
|
16
|
-
import * as i2 from "../../tool/tool.state";
|
|
17
|
-
import * as i3 from "../../import-export/import-export.state";
|
|
18
|
-
import * as i4 from "@igo2/core/config";
|
|
19
|
-
import * as i5 from "@igo2/core/media";
|
|
20
|
-
import * as i6 from "@angular/material/tabs";
|
|
21
|
-
import * as i7 from "@ngx-translate/core";
|
|
22
|
-
/**
|
|
23
|
-
* Tool to browse a map's layers or to choose a different map
|
|
24
|
-
*/
|
|
25
|
-
let MapToolComponent = class MapToolComponent {
|
|
26
|
-
mapState;
|
|
27
|
-
toolState;
|
|
28
|
-
importExportState;
|
|
29
|
-
configService;
|
|
30
|
-
mediaService;
|
|
31
|
-
cdr;
|
|
32
|
-
isDesktop;
|
|
33
|
-
toggleLegendOnVisibilityChange = false;
|
|
34
|
-
expandLegendOfVisibleLayers = false;
|
|
35
|
-
updateLegendOnResolutionChange = false;
|
|
36
|
-
ogcButton = true;
|
|
37
|
-
timeButton = true;
|
|
38
|
-
layerListControls = {};
|
|
39
|
-
queryBadge = false;
|
|
40
|
-
get map() {
|
|
41
|
-
return this.mapState.map;
|
|
42
|
-
}
|
|
43
|
-
get excludeBaseLayers() {
|
|
44
|
-
return this.layerListControls.excludeBaseLayers || false;
|
|
45
|
-
}
|
|
46
|
-
get layerFilterAndSortOptions() {
|
|
47
|
-
const filterSortOptions = Object.assign({
|
|
48
|
-
showToolbar: LayerListControlsEnum.default
|
|
49
|
-
}, this.layerListControls);
|
|
50
|
-
switch (this.layerListControls.showToolbar) {
|
|
51
|
-
case LayerListControlsEnum.always:
|
|
52
|
-
filterSortOptions.showToolbar = LayerListControlsEnum.always;
|
|
53
|
-
break;
|
|
54
|
-
case LayerListControlsEnum.never:
|
|
55
|
-
filterSortOptions.showToolbar = LayerListControlsEnum.never;
|
|
56
|
-
break;
|
|
57
|
-
default:
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
return filterSortOptions;
|
|
61
|
-
}
|
|
62
|
-
_layerViewerOptions;
|
|
63
|
-
get layerViewerOptions() {
|
|
64
|
-
return {
|
|
65
|
-
filterAndSortOptions: this.layerFilterAndSortOptions,
|
|
66
|
-
legend: {
|
|
67
|
-
showForVisibleLayers: this.expandLegendOfVisibleLayers,
|
|
68
|
-
showOnVisibilityChange: this.toggleLegendOnVisibilityChange,
|
|
69
|
-
updateOnResolutionChange: this.updateLegendOnResolutionChange
|
|
70
|
-
},
|
|
71
|
-
queryBadge: this.queryBadge,
|
|
72
|
-
...this._layerViewerOptions
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
constructor(mapState, toolState, importExportState, configService, mediaService, cdr) {
|
|
76
|
-
this.mapState = mapState;
|
|
77
|
-
this.toolState = toolState;
|
|
78
|
-
this.importExportState = importExportState;
|
|
79
|
-
this.configService = configService;
|
|
80
|
-
this.mediaService = mediaService;
|
|
81
|
-
this.cdr = cdr;
|
|
82
|
-
this._layerViewerOptions = this.configService.getConfig('layer');
|
|
83
|
-
}
|
|
84
|
-
ngOnInit() {
|
|
85
|
-
this.handleMedia();
|
|
86
|
-
}
|
|
87
|
-
activateExport(layer) {
|
|
88
|
-
let id = layer.id;
|
|
89
|
-
if (layer.options.workspace?.workspaceId) {
|
|
90
|
-
id =
|
|
91
|
-
layer.options.workspace.workspaceId !== layer.id
|
|
92
|
-
? layer.options.workspace.workspaceId
|
|
93
|
-
: layer.id;
|
|
94
|
-
}
|
|
95
|
-
this.importExportState.setsExportOptions({ layers: [id] });
|
|
96
|
-
this.importExportState.setMode(ImportExportMode.export);
|
|
97
|
-
this.toolState.toolbox.activateTool('importExport');
|
|
98
|
-
}
|
|
99
|
-
handleMedia() {
|
|
100
|
-
this.mediaService.media$.subscribe((result) => {
|
|
101
|
-
this.isDesktop = result === Media.Desktop;
|
|
102
|
-
this.cdr.detectChanges();
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolComponent, deps: [{ token: i1.MapState }, { token: i2.ToolState }, { token: i3.ImportExportState }, { token: i4.ConfigService }, { token: i5.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapToolComponent, isStandalone: true, selector: "igo-map-tool", inputs: { toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", ogcButton: "ogcButton", timeButton: "timeButton", layerListControls: "layerListControls", queryBadge: "queryBadge" }, ngImport: i0, template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-viewer\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' | translate\">\n <igo-context-list igoContextListBinding></igo-context-list>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i6.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: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: ContextListComponent, selector: "igo-context-list", inputs: ["contexts", "selectedContext", "map", "defaultContextId", "term"], outputs: ["select", "unselect", "edit", "delete", "save", "clone", "create", "hide", "show", "showHiddenContexts", "favorite", "managePermissions", "manageTools", "filterPermissionsChanged"] }, { kind: "directive", type: ContextListBindingDirective, selector: "[igoContextListBinding]" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
107
|
-
};
|
|
108
|
-
MapToolComponent = __decorate([
|
|
109
|
-
ToolComponent({
|
|
110
|
-
name: 'map',
|
|
111
|
-
title: 'igo.integration.tools.map',
|
|
112
|
-
icon: 'map'
|
|
113
|
-
}),
|
|
114
|
-
__metadata("design:paramtypes", [MapState,
|
|
115
|
-
ToolState,
|
|
116
|
-
ImportExportState,
|
|
117
|
-
ConfigService,
|
|
118
|
-
MediaService,
|
|
119
|
-
ChangeDetectorRef])
|
|
120
|
-
], MapToolComponent);
|
|
121
|
-
export { MapToolComponent };
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolComponent, decorators: [{
|
|
123
|
-
type: Component,
|
|
124
|
-
args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
125
|
-
MatTabsModule,
|
|
126
|
-
WorkspaceButtonComponent,
|
|
127
|
-
ExportButtonComponent,
|
|
128
|
-
OgcFilterButtonComponent,
|
|
129
|
-
TimeFilterButtonComponent,
|
|
130
|
-
TrackFeatureButtonComponent,
|
|
131
|
-
MetadataButtonComponent,
|
|
132
|
-
LayerViewerComponent,
|
|
133
|
-
ContextListComponent,
|
|
134
|
-
ContextListBindingDirective,
|
|
135
|
-
IgoLanguageModule
|
|
136
|
-
], template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-viewer\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' | translate\">\n <igo-context-list igoContextListBinding></igo-context-list>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}\n"] }]
|
|
137
|
-
}], ctorParameters: () => [{ type: i1.MapState }, { type: i2.ToolState }, { type: i3.ImportExportState }, { type: i4.ConfigService }, { type: i5.MediaService }, { type: i0.ChangeDetectorRef }], propDecorators: { toggleLegendOnVisibilityChange: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], expandLegendOfVisibleLayers: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], updateLegendOnResolutionChange: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], ogcButton: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], timeButton: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], layerListControls: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], queryBadge: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2wvbWFwLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2wvbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLG9CQUFvQixFQUNyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQ0wscUJBQXFCLEVBSXJCLHFCQUFxQixFQUVyQixvQkFBb0IsRUFFcEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzVCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3ZH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QkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3FCQUNsQjs0TkFLUSw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBRUcsMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUVHLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcblxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbi90b29sJztcbmltcG9ydCB7XG4gIENvbnRleHRMaXN0QmluZGluZ0RpcmVjdGl2ZSxcbiAgQ29udGV4dExpc3RDb21wb25lbnRcbn0gZnJvbSAnQGlnbzIvY29udGV4dCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IE1lZGlhLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lZGlhJztcbmltcG9ydCB7XG4gIEV4cG9ydEJ1dHRvbkNvbXBvbmVudCxcbiAgRXhwb3J0T3B0aW9ucyxcbiAgSWdvTWFwLFxuICBMYXllcixcbiAgTGF5ZXJMaXN0Q29udHJvbHNFbnVtLFxuICBMYXllckxpc3RDb250cm9sc09wdGlvbnMsXG4gIExheWVyVmlld2VyQ29tcG9uZW50LFxuICBMYXllclZpZXdlck9wdGlvbnMsXG4gIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFRpbWVGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudFxufSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQge1xuICBJbXBvcnRFeHBvcnRNb2RlLFxuICBJbXBvcnRFeHBvcnRTdGF0ZVxufSBmcm9tICcuLi8uLi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQuc3RhdGUnO1xuaW1wb3J0IHsgVG9vbFN0YXRlIH0gZnJvbSAnLi4vLi4vdG9vbC90b29sLnN0YXRlJztcbmltcG9ydCB7IFdvcmtzcGFjZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dvcmtzcGFjZS93b3Jrc3BhY2UtYnV0dG9uL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi8uLi9tYXAuc3RhdGUnO1xuXG4vKipcbiAqIFRvb2wgdG8gYnJvd3NlIGEgbWFwJ3MgbGF5ZXJzIG9yIHRvIGNob29zZSBhIGRpZmZlcmVudCBtYXBcbiAqL1xuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnbWFwJyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMubWFwJyxcbiAgaWNvbjogJ21hcCdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tbWFwLXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdG9vbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50LFxuICAgIEV4cG9ydEJ1dHRvbkNvbXBvbmVudCxcbiAgICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gICAgVGltZUZpbHRlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnQsXG4gICAgTWV0YWRhdGFCdXR0b25Db21wb25lbnQsXG4gICAgTGF5ZXJWaWV3ZXJDb21wb25lbnQsXG4gICAgQ29udGV4dExpc3RDb21wb25lbnQsXG4gICAgQ29udGV4dExpc3RCaW5kaW5nRGlyZWN0aXZlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFwVG9vbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzRGVza3RvcDogYm9vbGVhbjtcblxuICBASW5wdXQoKSB0b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBleHBhbmRMZWdlbmRPZlZpc2libGVMYXllcnMgPSBmYWxzZTtcblxuICBASW5wdXQoKSB1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBvZ2NCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHRpbWVCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGxheWVyTGlzdENvbnRyb2xzOiBMYXllckxpc3RDb250cm9sc09wdGlvbnMgPSB7fTtcblxuICBASW5wdXQoKSBxdWVyeUJhZGdlID0gZmFsc2U7XG5cbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcbiAgfVxuXG4gIGdldCBleGNsdWRlQmFzZUxheWVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sYXllckxpc3RDb250cm9scy5leGNsdWRlQmFzZUxheWVycyB8fCBmYWxzZTtcbiAgfVxuXG4gIGdldCBsYXllckZpbHRlckFuZFNvcnRPcHRpb25zKCk6IGFueSB7XG4gICAgY29uc3QgZmlsdGVyU29ydE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBzaG93VG9vbGJhcjogTGF5ZXJMaXN0Q29udHJvbHNFbnVtLmRlZmF1bHRcbiAgICAgIH0sXG4gICAgICB0aGlzLmxheWVyTGlzdENvbnRyb2xzXG4gICAgKTtcblxuICAgIHN3aXRjaCAodGhpcy5sYXllckxpc3RDb250cm9scy5zaG93VG9vbGJhcikge1xuICAgICAgY2FzZSBMYXllckxpc3RDb250cm9sc0VudW0uYWx3YXlzOlxuICAgICAgICBmaWx0ZXJTb3J0T3B0aW9ucy5zaG93VG9vbGJhciA9IExheWVyTGlzdENvbnRyb2xzRW51bS5hbHdheXM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMYXllckxpc3RDb250cm9sc0VudW0ubmV2ZXI6XG4gICAgICAgIGZpbHRlclNvcnRPcHRpb25zLnNob3dUb29sYmFyID0gTGF5ZXJMaXN0Q29udHJvbHNFbnVtLm5ldmVyO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyU29ydE9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIF9sYXllclZpZXdlck9wdGlvbnM6IFBhcnRpYWw8TGF5ZXJWaWV3ZXJPcHRpb25zPjtcbiAgZ2V0IGxheWVyVmlld2VyT3B0aW9ucygpOiBMYXllclZpZXdlck9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBmaWx0ZXJBbmRTb3J0T3B0aW9uczogdGhpcy5sYXllckZpbHRlckFuZFNvcnRPcHRpb25zLFxuICAgICAgbGVnZW5kOiB7XG4gICAgICAgIHNob3dGb3JWaXNpYmxlTGF5ZXJzOiB0aGlzLmV4cGFuZExlZ2VuZE9mVmlzaWJsZUxheWVycyxcbiAgICAgICAgc2hvd09uVmlzaWJpbGl0eUNoYW5nZTogdGhpcy50b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UsXG4gICAgICAgIHVwZGF0ZU9uUmVzb2x1dGlvbkNoYW5nZTogdGhpcy51cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VcbiAgICAgIH0sXG4gICAgICBxdWVyeUJhZGdlOiB0aGlzLnF1ZXJ5QmFkZ2UsXG4gICAgICAuLi50aGlzLl9sYXllclZpZXdlck9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcbiAgICBwcml2YXRlIGltcG9ydEV4cG9ydFN0YXRlOiBJbXBvcnRFeHBvcnRTdGF0ZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHVibGljIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLl9sYXllclZpZXdlck9wdGlvbnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdsYXllcicpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVNZWRpYSgpO1xuICB9XG5cbiAgYWN0aXZhdGVFeHBvcnQobGF5ZXI6IExheWVyKSB7XG4gICAgbGV0IGlkID0gbGF5ZXIuaWQ7XG4gICAgaWYgKGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy53b3Jrc3BhY2VJZCkge1xuICAgICAgaWQgPVxuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZCAhPT0gbGF5ZXIuaWRcbiAgICAgICAgICA/IGxheWVyLm9wdGlvbnMud29ya3NwYWNlLndvcmtzcGFjZUlkXG4gICAgICAgICAgOiBsYXllci5pZDtcbiAgICB9XG4gICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyh7IGxheWVyczogW2lkXSB9IGFzIEV4cG9ydE9wdGlvbnMpO1xuICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0TW9kZShJbXBvcnRFeHBvcnRNb2RlLmV4cG9ydCk7XG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2ltcG9ydEV4cG9ydCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVNZWRpYSgpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhU2VydmljZS5tZWRpYSQuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuaXNEZXNrdG9wID0gcmVzdWx0ID09PSBNZWRpYS5EZXNrdG9wO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cD5cbiAgPG1hdC10YWIgW2xhYmVsXT1cIidpZ28uaW50ZWdyYXRpb24udG9vbHMubWFwJyB8IHRyYW5zbGF0ZVwiPlxuICAgIDxpZ28tbGF5ZXItdmlld2VyXG4gICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICBbb3B0aW9uc109XCJsYXllclZpZXdlck9wdGlvbnNcIlxuICAgICAgW2V4Y2x1ZGVCYXNlTGF5ZXJzXT1cImV4Y2x1ZGVCYXNlTGF5ZXJzXCJcbiAgICAgIFtpc0Rlc2t0b3BdPVwiaXNEZXNrdG9wXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbUJvdHRvbUFjdGlvbnMgbGV0LWxheWVyPVwibGF5ZXJcIj5cbiAgICAgICAgPGlnby13b3Jrc3BhY2UtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLXdvcmtzcGFjZS1idXR0b24+XG4gICAgICAgIDxpZ28tZXhwb3J0LWJ1dHRvblxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlRXhwb3J0KGxheWVyKVwiXG4gICAgICAgID48L2lnby1leHBvcnQtYnV0dG9uPlxuICAgICAgICA8aWdvLW9nYy1maWx0ZXItYnV0dG9uXG4gICAgICAgICAgW2hlYWRlcl09XCJvZ2NCdXR0b25cIlxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgID48L2lnby1vZ2MtZmlsdGVyLWJ1dHRvbj5cbiAgICAgICAgPGlnby10aW1lLWZpbHRlci1idXR0b25cbiAgICAgICAgICBbaGVhZGVyXT1cInRpbWVCdXR0b25cIlxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgID48L2lnby10aW1lLWZpbHRlci1idXR0b24+XG4gICAgICAgIDxpZ28tdHJhY2stZmVhdHVyZS1idXR0b25cbiAgICAgICAgICBbdHJhY2tGZWF0dXJlXT1cInRydWVcIlxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgID48L2lnby10cmFjay1mZWF0dXJlLWJ1dHRvbj5cbiAgICAgICAgPGlnby1tZXRhZGF0YS1idXR0b24gW2xheWVyXT1cImxheWVyXCI+PC9pZ28tbWV0YWRhdGEtYnV0dG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2lnby1sYXllci12aWV3ZXI+XG4gIDwvbWF0LXRhYj5cblxuICA8bWF0LXRhYiBbbGFiZWxdPVwiJ2lnby5pbnRlZ3JhdGlvbi50b29scy5jb250ZXh0cycgfCB0cmFuc2xhdGVcIj5cbiAgICA8aWdvLWNvbnRleHQtbGlzdCBpZ29Db250ZXh0TGlzdEJpbmRpbmc+PC9pZ28tY29udGV4dC1saXN0PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './map-tools.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9tYXAtdG9vbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwLXRvb2xzLmNvbXBvbmVudCc7XG4iXX0=
|