@angular/google-maps 19.0.0-next.0 → 19.0.0-next.2
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/package.json +1 -3
- package/esm2022/google-map/google-map.mjs +0 -473
- package/esm2022/google-maps-module.mjs +0 -90
- package/esm2022/google-maps_public_index.mjs +0 -5
- package/esm2022/index.mjs +0 -9
- package/esm2022/map-advanced-marker/map-advanced-marker.mjs +0 -217
- package/esm2022/map-anchor-point.mjs +0 -10
- package/esm2022/map-base-layer.mjs +0 -51
- package/esm2022/map-bicycling-layer/map-bicycling-layer.mjs +0 -69
- package/esm2022/map-circle/map-circle.mjs +0 -280
- package/esm2022/map-directions-renderer/map-directions-renderer.mjs +0 -149
- package/esm2022/map-directions-renderer/map-directions-service.mjs +0 -61
- package/esm2022/map-event-manager.mjs +0 -73
- package/esm2022/map-geocoder/map-geocoder.mjs +0 -57
- package/esm2022/map-ground-overlay/map-ground-overlay.mjs +0 -193
- package/esm2022/map-heatmap-layer/map-heatmap-layer.mjs +0 -151
- package/esm2022/map-info-window/map-info-window.mjs +0 -238
- package/esm2022/map-kml-layer/map-kml-layer.mjs +0 -183
- package/esm2022/map-marker/map-marker.mjs +0 -447
- package/esm2022/map-marker-clusterer/map-marker-clusterer.mjs +0 -421
- package/esm2022/map-marker-clusterer/marker-clusterer-types.mjs +0 -10
- package/esm2022/map-polygon/map-polygon.mjs +0 -227
- package/esm2022/map-polyline/map-polyline.mjs +0 -220
- package/esm2022/map-rectangle/map-rectangle.mjs +0 -240
- package/esm2022/map-traffic-layer/map-traffic-layer.mjs +0 -103
- package/esm2022/map-transit-layer/map-transit-layer.mjs +0 -69
- package/esm2022/public-api.mjs +0 -29
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLW1hcHNfcHVibGljX2luZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dvb2dsZS1tYXBzL2dvb2dsZS1tYXBzX3B1YmxpY19pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/index.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export * from './public-api';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ29vZ2xlLW1hcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265
|
|
9
|
-
/// <reference types="google.maps" preserve="true" />
|
|
10
|
-
import { Input, Output, NgZone, Directive, inject, EventEmitter, } from '@angular/core';
|
|
11
|
-
import { GoogleMap } from '../google-map/google-map';
|
|
12
|
-
import { MapEventManager } from '../map-event-manager';
|
|
13
|
-
import { Observable } from 'rxjs';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "../google-map/google-map";
|
|
16
|
-
/**
|
|
17
|
-
* Default options for the Google Maps marker component. Displays a marker
|
|
18
|
-
* at the Googleplex.
|
|
19
|
-
*/
|
|
20
|
-
export const DEFAULT_MARKER_OPTIONS = {
|
|
21
|
-
position: { lat: 37.221995, lng: -122.184092 },
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Angular component that renders a Google Maps marker via the Google Maps JavaScript API.
|
|
25
|
-
*
|
|
26
|
-
* See developers.google.com/maps/documentation/javascript/reference/marker
|
|
27
|
-
*/
|
|
28
|
-
export class MapAdvancedMarker {
|
|
29
|
-
/**
|
|
30
|
-
* Rollover text. If provided, an accessibility text (e.g. for use with screen readers) will be added to the AdvancedMarkerElement with the provided value.
|
|
31
|
-
* See: https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.title
|
|
32
|
-
*/
|
|
33
|
-
set title(title) {
|
|
34
|
-
this._title = title;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Sets the AdvancedMarkerElement's position. An AdvancedMarkerElement may be constructed without a position, but will not be displayed until its position is provided - for example, by a user's actions or choices. An AdvancedMarkerElement's position can be provided by setting AdvancedMarkerElement.position if not provided at the construction.
|
|
38
|
-
* Note: AdvancedMarkerElement with altitude is only supported on vector maps.
|
|
39
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.position
|
|
40
|
-
*/
|
|
41
|
-
set position(position) {
|
|
42
|
-
this._position = position;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* The DOM Element backing the visual of an AdvancedMarkerElement.
|
|
46
|
-
* Note: AdvancedMarkerElement does not clone the passed-in DOM element. Once the DOM element is passed to an AdvancedMarkerElement, passing the same DOM element to another AdvancedMarkerElement will move the DOM element and cause the previous AdvancedMarkerElement to look empty.
|
|
47
|
-
* See: https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.content
|
|
48
|
-
*/
|
|
49
|
-
set content(content) {
|
|
50
|
-
this._content = content;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* If true, the AdvancedMarkerElement can be dragged.
|
|
54
|
-
* Note: AdvancedMarkerElement with altitude is not draggable.
|
|
55
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.gmpDraggable
|
|
56
|
-
*/
|
|
57
|
-
set gmpDraggable(draggable) {
|
|
58
|
-
this._draggable = draggable;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Options for constructing an AdvancedMarkerElement.
|
|
62
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions
|
|
63
|
-
*/
|
|
64
|
-
set options(options) {
|
|
65
|
-
this._options = options;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* AdvancedMarkerElements on the map are prioritized by zIndex, with higher values indicating higher display.
|
|
69
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.zIndex
|
|
70
|
-
*/
|
|
71
|
-
set zIndex(zIndex) {
|
|
72
|
-
this._zIndex = zIndex;
|
|
73
|
-
}
|
|
74
|
-
constructor(_googleMap, _ngZone) {
|
|
75
|
-
this._googleMap = _googleMap;
|
|
76
|
-
this._ngZone = _ngZone;
|
|
77
|
-
this._eventManager = new MapEventManager(inject(NgZone));
|
|
78
|
-
/**
|
|
79
|
-
* This event is fired when the AdvancedMarkerElement element is clicked.
|
|
80
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.click
|
|
81
|
-
*/
|
|
82
|
-
this.mapClick = this._eventManager.getLazyEmitter('click');
|
|
83
|
-
/**
|
|
84
|
-
* This event is repeatedly fired while the user drags the AdvancedMarkerElement.
|
|
85
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.drag
|
|
86
|
-
*/
|
|
87
|
-
this.mapDrag = this._eventManager.getLazyEmitter('drag');
|
|
88
|
-
/**
|
|
89
|
-
* This event is fired when the user stops dragging the AdvancedMarkerElement.
|
|
90
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.dragend
|
|
91
|
-
*/
|
|
92
|
-
this.mapDragend = this._eventManager.getLazyEmitter('dragend');
|
|
93
|
-
/**
|
|
94
|
-
* This event is fired when the user starts dragging the AdvancedMarkerElement.
|
|
95
|
-
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.dragstart
|
|
96
|
-
*/
|
|
97
|
-
this.mapDragstart = this._eventManager.getLazyEmitter('dragstart');
|
|
98
|
-
/** Event emitted when the marker is initialized. */
|
|
99
|
-
this.markerInitialized = new EventEmitter();
|
|
100
|
-
}
|
|
101
|
-
ngOnInit() {
|
|
102
|
-
if (!this._googleMap._isBrowser) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
if (google.maps.marker?.AdvancedMarkerElement && this._googleMap.googleMap) {
|
|
106
|
-
this._initialize(this._googleMap.googleMap, google.maps.marker.AdvancedMarkerElement);
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
this._ngZone.runOutsideAngular(() => {
|
|
110
|
-
Promise.all([this._googleMap._resolveMap(), google.maps.importLibrary('marker')]).then(([map, lib]) => {
|
|
111
|
-
this._initialize(map, lib.AdvancedMarkerElement);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
_initialize(map, advancedMarkerConstructor) {
|
|
117
|
-
// Create the object outside the zone so its events don't trigger change detection.
|
|
118
|
-
// We'll bring it back in inside the `MapEventManager` only for the events that the
|
|
119
|
-
// user has subscribed to.
|
|
120
|
-
this._ngZone.runOutsideAngular(() => {
|
|
121
|
-
this.advancedMarker = new advancedMarkerConstructor(this._combineOptions());
|
|
122
|
-
this._assertInitialized();
|
|
123
|
-
this.advancedMarker.map = map;
|
|
124
|
-
this._eventManager.setTarget(this.advancedMarker);
|
|
125
|
-
this.markerInitialized.next(this.advancedMarker);
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
ngOnChanges(changes) {
|
|
129
|
-
const { advancedMarker, _content, _position, _title, _draggable, _zIndex } = this;
|
|
130
|
-
if (advancedMarker) {
|
|
131
|
-
if (changes['title']) {
|
|
132
|
-
advancedMarker.title = _title;
|
|
133
|
-
}
|
|
134
|
-
if (changes['content']) {
|
|
135
|
-
advancedMarker.content = _content;
|
|
136
|
-
}
|
|
137
|
-
if (changes['gmpDraggable']) {
|
|
138
|
-
advancedMarker.gmpDraggable = _draggable;
|
|
139
|
-
}
|
|
140
|
-
if (changes['content']) {
|
|
141
|
-
advancedMarker.content = _content;
|
|
142
|
-
}
|
|
143
|
-
if (changes['position']) {
|
|
144
|
-
advancedMarker.position = _position;
|
|
145
|
-
}
|
|
146
|
-
if (changes['zIndex']) {
|
|
147
|
-
advancedMarker.zIndex = _zIndex;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
ngOnDestroy() {
|
|
152
|
-
this.markerInitialized.complete();
|
|
153
|
-
this._eventManager.destroy();
|
|
154
|
-
if (this.advancedMarker) {
|
|
155
|
-
this.advancedMarker.map = null;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
getAnchor() {
|
|
159
|
-
this._assertInitialized();
|
|
160
|
-
return this.advancedMarker;
|
|
161
|
-
}
|
|
162
|
-
/** Creates a combined options object using the passed-in options and the individual inputs. */
|
|
163
|
-
_combineOptions() {
|
|
164
|
-
const options = this._options || DEFAULT_MARKER_OPTIONS;
|
|
165
|
-
return {
|
|
166
|
-
...options,
|
|
167
|
-
title: this._title || options.title,
|
|
168
|
-
position: this._position || options.position,
|
|
169
|
-
content: this._content || options.content,
|
|
170
|
-
zIndex: this._zIndex ?? options.zIndex,
|
|
171
|
-
gmpDraggable: this._draggable ?? options.gmpDraggable,
|
|
172
|
-
map: this._googleMap.googleMap,
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
/** Asserts that the map has been initialized. */
|
|
176
|
-
_assertInitialized() {
|
|
177
|
-
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
178
|
-
if (!this.advancedMarker) {
|
|
179
|
-
throw Error('Cannot interact with a Google Map Marker before it has been ' +
|
|
180
|
-
'initialized. Please wait for the Marker to load before trying to interact with it.');
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MapAdvancedMarker, deps: [{ token: i1.GoogleMap }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
185
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: MapAdvancedMarker, isStandalone: true, selector: "map-advanced-marker", inputs: { title: "title", position: "position", content: "content", gmpDraggable: "gmpDraggable", options: "options", zIndex: "zIndex" }, outputs: { mapClick: "mapClick", mapDrag: "mapDrag", mapDragend: "mapDragend", mapDragstart: "mapDragstart", markerInitialized: "markerInitialized" }, exportAs: ["mapAdvancedMarker"], usesOnChanges: true, ngImport: i0 }); }
|
|
186
|
-
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MapAdvancedMarker, decorators: [{
|
|
188
|
-
type: Directive,
|
|
189
|
-
args: [{
|
|
190
|
-
selector: 'map-advanced-marker',
|
|
191
|
-
exportAs: 'mapAdvancedMarker',
|
|
192
|
-
standalone: true,
|
|
193
|
-
}]
|
|
194
|
-
}], ctorParameters: () => [{ type: i1.GoogleMap }, { type: i0.NgZone }], propDecorators: { title: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], position: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], content: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], gmpDraggable: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], options: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], zIndex: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}], mapClick: [{
|
|
207
|
-
type: Output
|
|
208
|
-
}], mapDrag: [{
|
|
209
|
-
type: Output
|
|
210
|
-
}], mapDragend: [{
|
|
211
|
-
type: Output
|
|
212
|
-
}], mapDragstart: [{
|
|
213
|
-
type: Output
|
|
214
|
-
}], markerInitialized: [{
|
|
215
|
-
type: Output
|
|
216
|
-
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWFkdmFuY2VkLW1hcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9nb29nbGUtbWFwcy9tYXAtYWR2YW5jZWQtbWFya2VyL21hcC1hZHZhbmNlZC1tYXJrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgseUVBQXlFO0FBQ3pFLHFEQUFxRDtBQUVyRCxPQUFPLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUdULE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFHaEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsUUFBUSxFQUFFLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUM7Q0FDN0MsQ0FBQztBQUVGOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBRzVCOzs7T0FHRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxJQUNJLFFBQVEsQ0FDVixRQUlxQztRQUVyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQ0ksT0FBTyxDQUFDLE9BQW9EO1FBQzlELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsSUFDSSxZQUFZLENBQUMsU0FBa0I7UUFDakMsSUFBSSxD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RixPQUFPO3NCQURWLEtBQUs7Z0JBV0YsTUFBTTtzQkFEVCxLQUFLO2dCQVVhLFFBQVE7c0JBQTFCLE1BQU07Z0JBT1ksT0FBTztzQkFBekIsTUFBTTtnQkFPWSxVQUFVO3NCQUE1QixNQUFNO2dCQU9ZLFlBQVk7c0JBQTlCLE1BQU07Z0JBSVksaUJBQWlCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8vIFdvcmthcm91bmQgZm9yOiBodHRwczovL2dpdGh1Yi5jb20vYmF6ZWxidWlsZC9ydWxlc19ub2RlanMvaXNzdWVzLzEyNjVcbi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiZ29vZ2xlLm1hcHNcIiBwcmVzZXJ2ZT1cInRydWVcIiAvPlxuXG5pbXBvcnQge1xuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgTmdab25lLFxuICBEaXJlY3RpdmUsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgaW5qZWN0LFxuICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0dvb2dsZU1hcH0gZnJvbSAnLi4vZ29vZ2xlLW1hcC9nb29nbGUtbWFwJztcbmltcG9ydCB7TWFwRXZlbnRNYW5hZ2VyfSBmcm9tICcuLi9tYXAtZXZlbnQtbWFuYWdlcic7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNYXBBbmNob3JQb2ludH0gZnJvbSAnLi4vbWFwLWFuY2hvci1wb2ludCc7XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIGZvciB0aGUgR29vZ2xlIE1hcHMgbWFya2VyIGNvbXBvbmVudC4gRGlzcGxheXMgYSBtYXJrZXJcbiAqIGF0IHRoZSBHb29nbGVwbGV4LlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVJLRVJfT1BUSU9OUyA9IHtcbiAgcG9zaXRpb246IHtsYXQ6IDM3LjIyMTk5NSwgbG5nOiAtMTIyLjE4NDA5Mn0sXG59O1xuXG4vKipcbiAqIEFuZ3VsYXIgY29tcG9uZW50IHRoYXQgcmVuZGVycyBhIEdvb2dsZSBNYXBzIG1hcmtlciB2aWEgdGhlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJLlxuICpcbiAqIFNlZSBkZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvcmVmZXJlbmNlL21hcmtlclxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdtYXAtYWR2YW5jZWQtbWFya2VyJyxcbiAgZXhwb3J0QXM6ICdtYXBBZHZhbmNlZE1hcmtlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcEFkdmFuY2VkTWFya2VyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgTWFwQW5jaG9yUG9pbnQge1xuICBwcml2YXRlIF9ldmVudE1hbmFnZXIgPSBuZXcgTWFwRXZlbnRNYW5hZ2VyKGluamVjdChOZ1pvbmUpKTtcblxuICAvKipcbiAgICogUm9sbG92ZXIgdGV4dC4gSWYgcHJvdmlkZWQsIGFuIGFjY2Vzc2liaWxpdHkgdGV4dCAoZS5nLiBmb3IgdXNlIHdpdGggc2NyZWVuIHJlYWRlcnMpIHdpbGwgYmUgYWRkZWQgdG8gdGhlIEFkdmFuY2VkTWFya2VyRWxlbWVudCB3aXRoIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICogU2VlOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9yZWZlcmVuY2UvYWR2YW5jZWQtbWFya2VycyNBZHZhbmNlZE1hcmtlckVsZW1lbnRPcHRpb25zLnRpdGxlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGl0bGUodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuX3RpdGxlID0gdGl0bGU7XG4gIH1cbiAgcHJpdmF0ZSBfdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogU2V0cyB0aGUgQWR2YW5jZWRNYXJrZXJFbGVtZW50J3MgcG9zaXRpb24uIEFuIEFkdmFuY2VkTWFya2VyRWxlbWVudCBtYXkgYmUgY29uc3RydWN0ZWQgd2l0aG91dCBhIHBvc2l0aW9uLCBidXQgd2lsbCBub3QgYmUgZGlzcGxheWVkIHVudGlsIGl0cyBwb3NpdGlvbiBpcyBwcm92aWRlZCAtIGZvciBleGFtcGxlLCBieSBhIHVzZXIncyBhY3Rpb25zIG9yIGNob2ljZXMuIEFuIEFkdmFuY2VkTWFya2VyRWxlbWVudCdzIHBvc2l0aW9uIGNhbiBiZSBwcm92aWRlZCBieSBzZXR0aW5nIEFkdmFuY2VkTWFya2VyRWxlbWVudC5wb3NpdGlvbiBpZiBub3QgcHJvdmlkZWQgYXQgdGhlIGNvbnN0cnVjdGlvbi5cbiAgICogTm90ZTogQWR2YW5jZWRNYXJrZXJFbGVtZW50IHdpdGggYWx0aXR1ZGUgaXMgb25seSBzdXBwb3J0ZWQgb24gdmVjdG9yIG1hcHMuXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JlZmVyZW5jZS9hZHZhbmNlZC1tYXJrZXJzI0FkdmFuY2VkTWFya2VyRWxlbWVudE9wdGlvbnMucG9zaXRpb25cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBwb3NpdGlvbihcbiAgICBwb3NpdGlvbjpcbiAgICAgIHwgZ29vZ2xlLm1hcHMuTGF0TG5nTGl0ZXJhbFxuICAgICAgfCBnb29nbGUubWFwcy5MYXRMbmdcbiAgICAgIHwgZ29vZ2xlLm1hcHMuTGF0TG5nQWx0aXR1ZGVcbiAgICAgIHwgZ29vZ2xlLm1hcHMuTGF0TG5nQWx0aXR1ZGVMaXRlcmFsLFxuICApIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICB9XG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBnb29nbGUubWFwcy5MYXRMbmdMaXRlcmFsIHwgZ29vZ2xlLm1hcHMuTGF0TG5nO1xuXG4gIC8qKlxuICAgKiBUaGUgRE9NIEVsZW1lbnQgYmFja2luZyB0aGUgdmlzdWFsIG9mIGFuIEFkdmFuY2VkTWFya2VyRWxlbWVudC5cbiAgICogTm90ZTogQWR2YW5jZWRNYXJrZXJFbGVtZW50IGRvZXMgbm90IGNsb25lIHRoZSBwYXNzZWQtaW4gRE9NIGVsZW1lbnQuIE9uY2UgdGhlIERPTSBlbGVtZW50IGlzIHBhc3NlZCB0byBhbiBBZHZhbmNlZE1hcmtlckVsZW1lbnQsIHBhc3NpbmcgdGhlIHNhbWUgRE9NIGVsZW1lbnQgdG8gYW5vdGhlciBBZHZhbmNlZE1hcmtlckVsZW1lbnQgd2lsbCBtb3ZlIHRoZSBET00gZWxlbWVudCBhbmQgY2F1c2UgdGhlIHByZXZpb3VzIEFkdmFuY2VkTWFya2VyRWxlbWVudCB0byBsb29rIGVtcHR5LlxuICAgKiBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JlZmVyZW5jZS9hZHZhbmNlZC1tYXJrZXJzI0FkdmFuY2VkTWFya2VyRWxlbWVudE9wdGlvbnMuY29udGVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNvbnRlbnQoY29udGVudDogTm9kZSB8IGdvb2dsZS5tYXBzLm1hcmtlci5QaW5FbGVtZW50IHwgbnVsbCkge1xuICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuICB9XG4gIHByaXZhdGUgX2NvbnRlbnQ6IE5vZGUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgQWR2YW5jZWRNYXJrZXJFbGVtZW50IGNhbiBiZSBkcmFnZ2VkLlxuICAgKiBOb3RlOiBBZHZhbmNlZE1hcmtlckVsZW1lbnQgd2l0aCBhbHRpdHVkZSBpcyBub3QgZHJhZ2dhYmxlLlxuICAgKiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9yZWZlcmVuY2UvYWR2YW5jZWQtbWFya2VycyNBZHZhbmNlZE1hcmtlckVsZW1lbnRPcHRpb25zLmdtcERyYWdnYWJsZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGdtcERyYWdnYWJsZShkcmFnZ2FibGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kcmFnZ2FibGUgPSBkcmFnZ2FibGU7XG4gIH1cbiAgcHJpdmF0ZSBfZHJhZ2dhYmxlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBjb25zdHJ1Y3RpbmcgYW4gQWR2YW5jZWRNYXJrZXJFbGVtZW50LlxuICAgKiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9yZWZlcmVuY2UvYWR2YW5jZWQtbWFya2VycyNBZHZhbmNlZE1hcmtlckVsZW1lbnRPcHRpb25zXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyhvcHRpb25zOiBnb29nbGUubWFwcy5tYXJrZXIuQWR2YW5jZWRNYXJrZXJFbGVtZW50T3B0aW9ucykge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zO1xuICB9XG4gIHByaXZhdGUgX29wdGlvbnM6IGdvb2dsZS5tYXBzLm1hcmtlci5BZHZhbmNlZE1hcmtlckVsZW1lbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBBZHZhbmNlZE1hcmtlckVsZW1lbnRzIG9uIHRoZSBtYXAgYXJlIHByaW9yaXRpemVkIGJ5IHpJbmRleCwgd2l0aCBoaWdoZXIgdmFsdWVzIGluZGljYXRpbmcgaGlnaGVyIGRpc3BsYXkuXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JlZmVyZW5jZS9hZHZhbmNlZC1tYXJrZXJzI0FkdmFuY2VkTWFya2VyRWxlbWVudE9wdGlvbnMuekluZGV4XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgekluZGV4KHpJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5fekluZGV4ID0gekluZGV4O1xuICB9XG4gIHByaXZhdGUgX3pJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIEFkdmFuY2VkTWFya2VyRWxlbWVudCBlbGVtZW50IGlzIGNsaWNrZWQuXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JlZmVyZW5jZS9hZHZhbmNlZC1tYXJrZXJzI0FkdmFuY2VkTWFya2VyRWxlbWVudC5jbGlja1xuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IG1hcENsaWNrOiBPYnNlcnZhYmxlPGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQ+ID1cbiAgICB0aGlzLl9ldmVudE1hbmFnZXIuZ2V0TGF6eUVtaXR0ZXI8Z29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudD4oJ2NsaWNrJyk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgcmVwZWF0ZWRseSBmaXJlZCB3aGlsZSB0aGUgdXNlciBkcmFncyB0aGUgQWR2YW5jZWRNYXJrZXJFbGVtZW50LlxuICAgKiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9yZWZlcmVuY2UvYWR2YW5jZWQtbWFya2VycyNBZHZhbmNlZE1hcmtlckVsZW1lbnQuZHJhZ1xuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IG1hcERyYWc6IE9ic2VydmFibGU8Z29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudD4gPVxuICAgIHRoaXMuX2V2ZW50TWFuYWdlci5nZXRMYXp5RW1pdHRlcjxnb29nbGUubWFwcy5NYXBNb3VzZUV2ZW50PignZHJhZycpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgc3RvcHMgZHJhZ2dpbmcgdGhlIEFkdmFuY2VkTWFya2VyRWxlbWVudC5cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvcmVmZXJlbmNlL2FkdmFuY2VkLW1hcmtlcnMjQWR2YW5jZWRNYXJrZXJFbGVtZW50LmRyYWdlbmRcbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBtYXBEcmFnZW5kOiBPYnNlcnZhYmxlPGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQ+ID1cbiAgICB0aGlzLl9ldmVudE1hbmFnZXIuZ2V0TGF6eUVtaXR0ZXI8Z29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudD4oJ2RyYWdlbmQnKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIHN0YXJ0cyBkcmFnZ2luZyB0aGUgQWR2YW5jZWRNYXJrZXJFbGVtZW50LlxuICAgKiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9yZWZlcmVuY2UvYWR2YW5jZWQtbWFya2VycyNBZHZhbmNlZE1hcmtlckVsZW1lbnQuZHJhZ3N0YXJ0XG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbWFwRHJhZ3N0YXJ0OiBPYnNlcnZhYmxlPGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQ+ID1cbiAgICB0aGlzLl9ldmVudE1hbmFnZXIuZ2V0TGF6eUVtaXR0ZXI8Z29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudD4oJ2RyYWdzdGFydCcpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1hcmtlciBpcyBpbml0aWFsaXplZC4gKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IG1hcmtlckluaXRpYWxpemVkOiBFdmVudEVtaXR0ZXI8Z29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Z29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudD4oKTtcblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgZ29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudCBvYmplY3QuXG4gICAqXG4gICAqIFNlZSBkZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvcmVmZXJlbmNlL2FkdmFuY2VkLW1hcmtlcnMjQWR2YW5jZWRNYXJrZXJFbGVtZW50XG4gICAqL1xuICBhZHZhbmNlZE1hcmtlcjogZ29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9nb29nbGVNYXA6IEdvb2dsZU1hcCxcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5fZ29vZ2xlTWFwLl9pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGdvb2dsZS5tYXBzLm1hcmtlcj8uQWR2YW5jZWRNYXJrZXJFbGVtZW50ICYmIHRoaXMuX2dvb2dsZU1hcC5nb29nbGVNYXApIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemUodGhpcy5fZ29vZ2xlTWFwLmdvb2dsZU1hcCwgZ29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIFByb21pc2UuYWxsKFt0aGlzLl9nb29nbGVNYXAuX3Jlc29sdmVNYXAoKSwgZ29vZ2xlLm1hcHMuaW1wb3J0TGlicmFyeSgnbWFya2VyJyldKS50aGVuKFxuICAgICAgICAgIChbbWFwLCBsaWJdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplKG1hcCwgKGxpYiBhcyBnb29nbGUubWFwcy5NYXJrZXJMaWJyYXJ5KS5BZHZhbmNlZE1hcmtlckVsZW1lbnQpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplKFxuICAgIG1hcDogZ29vZ2xlLm1hcHMuTWFwLFxuICAgIGFkdmFuY2VkTWFya2VyQ29uc3RydWN0b3I6IHR5cGVvZiBnb29nbGUubWFwcy5tYXJrZXIuQWR2YW5jZWRNYXJrZXJFbGVtZW50LFxuICApIHtcbiAgICAvLyBDcmVhdGUgdGhlIG9iamVjdCBvdXRzaWRlIHRoZSB6b25lIHNvIGl0cyBldmVudHMgZG9uJ3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgIC8vIFdlJ2xsIGJyaW5nIGl0IGJhY2sgaW4gaW5zaWRlIHRoZSBgTWFwRXZlbnRNYW5hZ2VyYCBvbmx5IGZvciB0aGUgZXZlbnRzIHRoYXQgdGhlXG4gICAgLy8gdXNlciBoYXMgc3Vic2NyaWJlZCB0by5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5hZHZhbmNlZE1hcmtlciA9IG5ldyBhZHZhbmNlZE1hcmtlckNvbnN0cnVjdG9yKHRoaXMuX2NvbWJpbmVPcHRpb25zKCkpO1xuICAgICAgdGhpcy5fYXNzZXJ0SW5pdGlhbGl6ZWQoKTtcbiAgICAgIHRoaXMuYWR2YW5jZWRNYXJrZXIubWFwID0gbWFwO1xuICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnNldFRhcmdldCh0aGlzLmFkdmFuY2VkTWFya2VyKTtcbiAgICAgIHRoaXMubWFya2VySW5pdGlhbGl6ZWQubmV4dCh0aGlzLmFkdmFuY2VkTWFya2VyKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCB7YWR2YW5jZWRNYXJrZXIsIF9jb250ZW50LCBfcG9zaXRpb24sIF90aXRsZSwgX2RyYWdnYWJsZSwgX3pJbmRleH0gPSB0aGlzO1xuICAgIGlmIChhZHZhbmNlZE1hcmtlcikge1xuICAgICAgaWYgKGNoYW5nZXNbJ3RpdGxlJ10pIHtcbiAgICAgICAgYWR2YW5jZWRNYXJrZXIudGl0bGUgPSBfdGl0bGU7XG4gICAgICB9XG5cbiAgICAgIGlmIChjaGFuZ2VzWydjb250ZW50J10pIHtcbiAgICAgICAgYWR2YW5jZWRNYXJrZXIuY29udGVudCA9IF9jb250ZW50O1xuICAgICAgfVxuXG4gICAgICBpZiAoY2hhbmdlc1snZ21wRHJhZ2dhYmxlJ10pIHtcbiAgICAgICAgYWR2YW5jZWRNYXJrZXIuZ21wRHJhZ2dhYmxlID0gX2RyYWdnYWJsZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoYW5nZXNbJ2NvbnRlbnQnXSkge1xuICAgICAgICBhZHZhbmNlZE1hcmtlci5jb250ZW50ID0gX2NvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChjaGFuZ2VzWydwb3NpdGlvbiddKSB7XG4gICAgICAgIGFkdmFuY2VkTWFya2VyLnBvc2l0aW9uID0gX3Bvc2l0aW9uO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2hhbmdlc1snekluZGV4J10pIHtcbiAgICAgICAgYWR2YW5jZWRNYXJrZXIuekluZGV4ID0gX3pJbmRleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm1hcmtlckluaXRpYWxpemVkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZXZlbnRNYW5hZ2VyLmRlc3Ryb3koKTtcblxuICAgIGlmICh0aGlzLmFkdmFuY2VkTWFya2VyKSB7XG4gICAgICB0aGlzLmFkdmFuY2VkTWFya2VyLm1hcCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0QW5jaG9yKCk6IGdvb2dsZS5tYXBzLm1hcmtlci5BZHZhbmNlZE1hcmtlckVsZW1lbnQge1xuICAgIHRoaXMuX2Fzc2VydEluaXRpYWxpemVkKCk7XG4gICAgcmV0dXJuIHRoaXMuYWR2YW5jZWRNYXJrZXI7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIGNvbWJpbmVkIG9wdGlvbnMgb2JqZWN0IHVzaW5nIHRoZSBwYXNzZWQtaW4gb3B0aW9ucyBhbmQgdGhlIGluZGl2aWR1YWwgaW5wdXRzLiAqL1xuICBwcml2YXRlIF9jb21iaW5lT3B0aW9ucygpOiBnb29nbGUubWFwcy5tYXJrZXIuQWR2YW5jZWRNYXJrZXJFbGVtZW50T3B0aW9ucyB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX29wdGlvbnMgfHwgREVGQVVMVF9NQVJLRVJfT1BUSU9OUztcbiAgICByZXR1cm4ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHRpdGxlOiB0aGlzLl90aXRsZSB8fCBvcHRpb25zLnRpdGxlLFxuICAgICAgcG9zaXRpb246IHRoaXMuX3Bvc2l0aW9uIHx8IG9wdGlvbnMucG9zaXRpb24sXG4gICAgICBjb250ZW50OiB0aGlzLl9jb250ZW50IHx8IG9wdGlvbnMuY29udGVudCxcbiAgICAgIHpJbmRleDogdGhpcy5fekluZGV4ID8/IG9wdGlvbnMuekluZGV4LFxuICAgICAgZ21wRHJhZ2dhYmxlOiB0aGlzLl9kcmFnZ2FibGUgPz8gb3B0aW9ucy5nbXBEcmFnZ2FibGUsXG4gICAgICBtYXA6IHRoaXMuX2dvb2dsZU1hcC5nb29nbGVNYXAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBc3NlcnRzIHRoYXQgdGhlIG1hcCBoYXMgYmVlbiBpbml0aWFsaXplZC4gKi9cbiAgcHJpdmF0ZSBfYXNzZXJ0SW5pdGlhbGl6ZWQoKTogYXNzZXJ0cyB0aGlzIGlzIHttYXJrZXI6IGdvb2dsZS5tYXBzLm1hcmtlci5BZHZhbmNlZE1hcmtlckVsZW1lbnR9IHtcbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICBpZiAoIXRoaXMuYWR2YW5jZWRNYXJrZXIpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgJ0Nhbm5vdCBpbnRlcmFjdCB3aXRoIGEgR29vZ2xlIE1hcCBNYXJrZXIgYmVmb3JlIGl0IGhhcyBiZWVuICcgK1xuICAgICAgICAgICAgJ2luaXRpYWxpemVkLiBQbGVhc2Ugd2FpdCBmb3IgdGhlIE1hcmtlciB0byBsb2FkIGJlZm9yZSB0cnlpbmcgdG8gaW50ZXJhY3Qgd2l0aCBpdC4nLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
/// <reference types="google.maps" preserve="true" />
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWFuY2hvci1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9nb29nbGUtbWFwcy9tYXAtYW5jaG9yLXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILHFEQUFxRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLyBXb3JrYXJvdW5kIGZvcjogaHR0cHM6Ly9naXRodWIuY29tL2JhemVsYnVpbGQvcnVsZXNfbm9kZWpzL2lzc3Vlcy8xMjY1XG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cImdvb2dsZS5tYXBzXCIgcHJlc2VydmU9XCJ0cnVlXCIgLz5cblxuZXhwb3J0IGludGVyZmFjZSBNYXBBbmNob3JQb2ludCB7XG4gIGdldEFuY2hvcigpOiBnb29nbGUubWFwcy5NVkNPYmplY3QgfCBnb29nbGUubWFwcy5tYXJrZXIuQWR2YW5jZWRNYXJrZXJFbGVtZW50O1xufVxuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265
|
|
9
|
-
/// <reference types="google.maps" preserve="true" />
|
|
10
|
-
import { Directive, NgZone } from '@angular/core';
|
|
11
|
-
import { GoogleMap } from './google-map/google-map';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "./google-map/google-map";
|
|
14
|
-
export class MapBaseLayer {
|
|
15
|
-
constructor(_map, _ngZone) {
|
|
16
|
-
this._map = _map;
|
|
17
|
-
this._ngZone = _ngZone;
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
if (this._map._isBrowser) {
|
|
21
|
-
this._ngZone.runOutsideAngular(() => {
|
|
22
|
-
this._initializeObject();
|
|
23
|
-
});
|
|
24
|
-
this._assertInitialized();
|
|
25
|
-
this._setMap();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
ngOnDestroy() {
|
|
29
|
-
this._unsetMap();
|
|
30
|
-
}
|
|
31
|
-
_assertInitialized() {
|
|
32
|
-
if (!this._map.googleMap) {
|
|
33
|
-
throw Error('Cannot access Google Map information before the API has been initialized. ' +
|
|
34
|
-
'Please wait for the API to load before trying to interact with it.');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
_initializeObject() { }
|
|
38
|
-
_setMap() { }
|
|
39
|
-
_unsetMap() { }
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MapBaseLayer, deps: [{ token: i1.GoogleMap }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: MapBaseLayer, isStandalone: true, selector: "map-base-layer", exportAs: ["mapBaseLayer"], ngImport: i0 }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MapBaseLayer, decorators: [{
|
|
44
|
-
type: Directive,
|
|
45
|
-
args: [{
|
|
46
|
-
selector: 'map-base-layer',
|
|
47
|
-
exportAs: 'mapBaseLayer',
|
|
48
|
-
standalone: true,
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: () => [{ type: i1.GoogleMap }, { type: i0.NgZone }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJhc2UtbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ29vZ2xlLW1hcHMvbWFwLWJhc2UtbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgseUVBQXlFO0FBQ3pFLHFEQUFxRDtBQUVyRCxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDcUIsSUFBZSxFQUNmLE9BQWU7UUFEZixTQUFJLEdBQUosSUFBSSxDQUFXO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUNqQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDekIsTUFBTSxLQUFLLENBQ1QsNEVBQTRFO2dCQUMxRSxvRUFBb0UsQ0FDdkUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRVMsaUJBQWlCLEtBQUksQ0FBQztJQUN0QixPQUFPLEtBQUksQ0FBQztJQUNaLFNBQVMsS0FBSSxDQUFDO3FIQS9CYixZQUFZO3lHQUFaLFlBQVk7O2tHQUFaLFlBQVk7a0JBTHhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLyBXb3JrYXJvdW5kIGZvcjogaHR0cHM6Ly9naXRodWIuY29tL2JhemVsYnVpbGQvcnVsZXNfbm9kZWpzL2lzc3Vlcy8xMjY1XG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cImdvb2dsZS5tYXBzXCIgcHJlc2VydmU9XCJ0cnVlXCIgLz5cblxuaW1wb3J0IHtEaXJlY3RpdmUsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0dvb2dsZU1hcH0gZnJvbSAnLi9nb29nbGUtbWFwL2dvb2dsZS1tYXAnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdtYXAtYmFzZS1sYXllcicsXG4gIGV4cG9ydEFzOiAnbWFwQmFzZUxheWVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQmFzZUxheWVyIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX21hcDogR29vZ2xlTWFwLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBfbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5fbWFwLl9pc0Jyb3dzZXIpIHtcbiAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVPYmplY3QoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fYXNzZXJ0SW5pdGlhbGl6ZWQoKTtcbiAgICAgIHRoaXMuX3NldE1hcCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc2V0TWFwKCk7XG4gIH1cblxuICBwcml2YXRlIF9hc3NlcnRJbml0aWFsaXplZCgpIHtcbiAgICBpZiAoIXRoaXMuX21hcC5nb29nbGVNYXApIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnQ2Fubm90IGFjY2VzcyBHb29nbGUgTWFwIGluZm9ybWF0aW9uIGJlZm9yZSB0aGUgQVBJIGhhcyBiZWVuIGluaXRpYWxpemVkLiAnICtcbiAgICAgICAgICAnUGxlYXNlIHdhaXQgZm9yIHRoZSBBUEkgdG8gbG9hZCBiZWZvcmUgdHJ5aW5nIHRvIGludGVyYWN0IHdpdGggaXQuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9pbml0aWFsaXplT2JqZWN0KCkge31cbiAgcHJvdGVjdGVkIF9zZXRNYXAoKSB7fVxuICBwcm90ZWN0ZWQgX3Vuc2V0TWFwKCkge31cbn1cbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265
|
|
9
|
-
/// <reference types="google.maps" preserve="true" />
|
|
10
|
-
import { Directive, EventEmitter, NgZone, Output, inject } from '@angular/core';
|
|
11
|
-
import { GoogleMap } from '../google-map/google-map';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
/**
|
|
14
|
-
* Angular component that renders a Google Maps Bicycling Layer via the Google Maps JavaScript API.
|
|
15
|
-
*
|
|
16
|
-
* See developers.google.com/maps/documentation/javascript/reference/map#BicyclingLayer
|
|
17
|
-
*/
|
|
18
|
-
export class MapBicyclingLayer {
|
|
19
|
-
constructor() {
|
|
20
|
-
this._map = inject(GoogleMap);
|
|
21
|
-
this._zone = inject(NgZone);
|
|
22
|
-
/** Event emitted when the bicycling layer is initialized. */
|
|
23
|
-
this.bicyclingLayerInitialized = new EventEmitter();
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
if (this._map._isBrowser) {
|
|
27
|
-
if (google.maps.BicyclingLayer && this._map.googleMap) {
|
|
28
|
-
this._initialize(this._map.googleMap, google.maps.BicyclingLayer);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
this._zone.runOutsideAngular(() => {
|
|
32
|
-
Promise.all([this._map._resolveMap(), google.maps.importLibrary('maps')]).then(([map, lib]) => {
|
|
33
|
-
this._initialize(map, lib.BicyclingLayer);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
_initialize(map, layerConstructor) {
|
|
40
|
-
this._zone.runOutsideAngular(() => {
|
|
41
|
-
this.bicyclingLayer = new layerConstructor();
|
|
42
|
-
this.bicyclingLayerInitialized.emit(this.bicyclingLayer);
|
|
43
|
-
this._assertLayerInitialized();
|
|
44
|
-
this.bicyclingLayer.setMap(map);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
ngOnDestroy() {
|
|
48
|
-
this.bicyclingLayer?.setMap(null);
|
|
49
|
-
}
|
|
50
|
-
_assertLayerInitialized() {
|
|
51
|
-
if (!this.bicyclingLayer) {
|
|
52
|
-
throw Error('Cannot interact with a Google Map Bicycling Layer before it has been initialized. ' +
|
|
53
|
-
'Please wait for the Transit Layer to load before trying to interact with it.');
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MapBicyclingLayer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
57
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: MapBicyclingLayer, isStandalone: true, selector: "map-bicycling-layer", outputs: { bicyclingLayerInitialized: "bicyclingLayerInitialized" }, exportAs: ["mapBicyclingLayer"], ngImport: i0 }); }
|
|
58
|
-
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MapBicyclingLayer, decorators: [{
|
|
60
|
-
type: Directive,
|
|
61
|
-
args: [{
|
|
62
|
-
selector: 'map-bicycling-layer',
|
|
63
|
-
exportAs: 'mapBicyclingLayer',
|
|
64
|
-
standalone: true,
|
|
65
|
-
}]
|
|
66
|
-
}], propDecorators: { bicyclingLayerInitialized: [{
|
|
67
|
-
type: Output
|
|
68
|
-
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJpY3ljbGluZy1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9nb29nbGUtbWFwcy9tYXAtYmljeWNsaW5nLWxheWVyL21hcC1iaWN5Y2xpbmctbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgseUVBQXlFO0FBQ3pFLHFEQUFxRDtBQUVyRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUVuRDs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQU1VLFNBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQVMvQiw2REFBNkQ7UUFDMUMsOEJBQXlCLEdBQzFDLElBQUksWUFBWSxFQUE4QixDQUFDO0tBdUNsRDtJQXJDQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtvQkFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO3dCQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFHLEdBQStCLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ3pFLENBQUMsQ0FDRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQW9CLEVBQUUsZ0JBQW1EO1FBQzNGLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsTUFBTSxLQUFLLENBQ1Qsb0ZBQW9GO2dCQUNsRiw4RUFBOEUsQ0FDakYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO3FIQW5EVSxpQkFBaUI7eUdBQWpCLGlCQUFpQjs7a0dBQWpCLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBYW9CLHlCQUF5QjtzQkFBM0MsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLyBXb3JrYXJvdW5kIGZvcjogaHR0cHM6Ly9naXRodWIuY29tL2JhemVsYnVpbGQvcnVsZXNfbm9kZWpzL2lzc3Vlcy8xMjY1XG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cImdvb2dsZS5tYXBzXCIgcHJlc2VydmU9XCJ0cnVlXCIgLz5cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0dvb2dsZU1hcH0gZnJvbSAnLi4vZ29vZ2xlLW1hcC9nb29nbGUtbWFwJztcblxuLyoqXG4gKiBBbmd1bGFyIGNvbXBvbmVudCB0aGF0IHJlbmRlcnMgYSBHb29nbGUgTWFwcyBCaWN5Y2xpbmcgTGF5ZXIgdmlhIHRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSS5cbiAqXG4gKiBTZWUgZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JlZmVyZW5jZS9tYXAjQmljeWNsaW5nTGF5ZXJcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbWFwLWJpY3ljbGluZy1sYXllcicsXG4gIGV4cG9ydEFzOiAnbWFwQmljeWNsaW5nTGF5ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBCaWN5Y2xpbmdMYXllciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfbWFwID0gaW5qZWN0KEdvb2dsZU1hcCk7XG4gIHByaXZhdGUgX3pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgZ29vZ2xlLm1hcHMuQmljeWNsaW5nTGF5ZXIgb2JqZWN0LlxuICAgKlxuICAgKiBTZWUgZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JlZmVyZW5jZS9tYXAjQmljeWNsaW5nTGF5ZXJcbiAgICovXG4gIGJpY3ljbGluZ0xheWVyPzogZ29vZ2xlLm1hcHMuQmljeWNsaW5nTGF5ZXI7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYmljeWNsaW5nIGxheWVyIGlzIGluaXRpYWxpemVkLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgYmljeWNsaW5nTGF5ZXJJbml0aWFsaXplZDogRXZlbnRFbWl0dGVyPGdvb2dsZS5tYXBzLkJpY3ljbGluZ0xheWVyPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxnb29nbGUubWFwcy5CaWN5Y2xpbmdMYXllcj4oKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbWFwLl9pc0Jyb3dzZXIpIHtcbiAgICAgIGlmIChnb29nbGUubWFwcy5CaWN5Y2xpbmdMYXllciAmJiB0aGlzLl9tYXAuZ29vZ2xlTWFwKSB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemUodGhpcy5fbWFwLmdvb2dsZU1hcCwgZ29vZ2xlLm1hcHMuQmljeWNsaW5nTGF5ZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgUHJvbWlzZS5hbGwoW3RoaXMuX21hcC5fcmVzb2x2ZU1hcCgpLCBnb29nbGUubWFwcy5pbXBvcnRMaWJyYXJ5KCdtYXBzJyldKS50aGVuKFxuICAgICAgICAgICAgKFttYXAsIGxpYl0pID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZShtYXAsIChsaWIgYXMgZ29vZ2xlLm1hcHMuTWFwc0xpYnJhcnkpLkJpY3ljbGluZ0xheWVyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZShtYXA6IGdvb2dsZS5tYXBzLk1hcCwgbGF5ZXJDb25zdHJ1Y3RvcjogdHlwZW9mIGdvb2dsZS5tYXBzLkJpY3ljbGluZ0xheWVyKSB7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmJpY3ljbGluZ0xheWVyID0gbmV3IGxheWVyQ29uc3RydWN0b3IoKTtcbiAgICAgIHRoaXMuYmljeWNsaW5nTGF5ZXJJbml0aWFsaXplZC5lbWl0KHRoaXMuYmljeWNsaW5nTGF5ZXIpO1xuICAgICAgdGhpcy5fYXNzZXJ0TGF5ZXJJbml0aWFsaXplZCgpO1xuICAgICAgdGhpcy5iaWN5Y2xpbmdMYXllci5zZXRNYXAobWFwKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYmljeWNsaW5nTGF5ZXI/LnNldE1hcChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2VydExheWVySW5pdGlhbGl6ZWQoKTogYXNzZXJ0cyB0aGlzIGlzIHtiaWN5Y2xpbmdMYXllcjogZ29vZ2xlLm1hcHMuQmljeWNsaW5nTGF5ZXJ9IHtcbiAgICBpZiAoIXRoaXMuYmljeWNsaW5nTGF5ZXIpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnQ2Fubm90IGludGVyYWN0IHdpdGggYSBHb29nbGUgTWFwIEJpY3ljbGluZyBMYXllciBiZWZvcmUgaXQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuICcgK1xuICAgICAgICAgICdQbGVhc2Ugd2FpdCBmb3IgdGhlIFRyYW5zaXQgTGF5ZXIgdG8gbG9hZCBiZWZvcmUgdHJ5aW5nIHRvIGludGVyYWN0IHdpdGggaXQuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|