@dereekb/dbx-web 9.6.5 → 9.7.0

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.
@@ -5,10 +5,12 @@ export * from './mapbox.marker';
5
5
  export * from './mapbox.marker.component';
6
6
  export * from './mapbox.markers.component';
7
7
  export * from './mapbox.menu.component';
8
+ export * from './mapbox.rxjs';
8
9
  export * from './mapbox.service';
9
10
  export * from './mapbox.store.map.directive';
10
11
  export * from './mapbox.store';
11
12
  export * from './mapbox.store.provide';
12
13
  export * from './mapbox';
14
+ export * from './mapbox.util';
13
15
  export * from './options';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LmxheW91dC5kcmF3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1hcmtlcic7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5tYXJrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1hcmtlcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3guc3RvcmUubWFwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5zdG9yZS5wcm92aWRlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94JztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LmxheW91dC5kcmF3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1hcmtlcic7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5tYXJrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1hcmtlcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94Lm1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LnJ4anMnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3guc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5zdG9yZS5tYXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LnN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LnN0b3JlLnByb3ZpZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbnMnO1xuIl19
@@ -1,5 +1,6 @@
1
1
  import { BehaviorSubject, combineLatest, distinctUntilChanged, map, shareReplay } from 'rxjs';
2
- import { Component, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
3
+ import { tapDetectChanges } from '@dereekb/dbx-core';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "./mapbox.marker.component";
@@ -7,7 +8,8 @@ import * as i2 from "./mapbox.marker.component";
7
8
  * Component used to render a set of DbxMapboxMarker values from the input data and marker factory.
8
9
  */
9
10
  export class DbxMapboxMarkersComponent {
10
- constructor() {
11
+ constructor(cdRef) {
12
+ this.cdRef = cdRef;
11
13
  this._data = new BehaviorSubject(undefined);
12
14
  this._markerFactory = new BehaviorSubject(undefined);
13
15
  this.markers$ = combineLatest([this._data.pipe(distinctUntilChanged()), this._markerFactory.pipe(distinctUntilChanged())]).pipe(map(([data, markerFactory]) => {
@@ -17,7 +19,7 @@ export class DbxMapboxMarkersComponent {
17
19
  else {
18
20
  return [];
19
21
  }
20
- }), shareReplay(1));
22
+ }), tapDetectChanges(this.cdRef), shareReplay(1));
21
23
  }
22
24
  get data() {
23
25
  return this._data.value;
@@ -36,21 +38,22 @@ export class DbxMapboxMarkersComponent {
36
38
  this._markerFactory.complete();
37
39
  }
38
40
  }
39
- DbxMapboxMarkersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxMapboxMarkersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ DbxMapboxMarkersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxMapboxMarkersComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
40
42
  DbxMapboxMarkersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxMapboxMarkersComponent, selector: "dbx-mapbox-markers", inputs: { data: "data", markerFactory: "markerFactory" }, ngImport: i0, template: `
41
43
  <dbx-mapbox-marker *ngFor="let marker of markers$ | async" [marker]="marker"></dbx-mapbox-marker>
42
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.DbxMapboxMarkerComponent, selector: "dbx-mapbox-marker", inputs: ["marker"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
44
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.DbxMapboxMarkerComponent, selector: "dbx-mapbox-marker", inputs: ["marker"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxMapboxMarkersComponent, decorators: [{
44
46
  type: Component,
45
47
  args: [{
46
48
  selector: 'dbx-mapbox-markers',
47
49
  template: `
48
50
  <dbx-mapbox-marker *ngFor="let marker of markers$ | async" [marker]="marker"></dbx-mapbox-marker>
49
- `
51
+ `,
52
+ changeDetection: ChangeDetectionStrategy.OnPush
50
53
  }]
51
- }], propDecorators: { data: [{
54
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
52
55
  type: Input
53
56
  }], markerFactory: [{
54
57
  type: Input
55
58
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94Lm1hcmtlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gubWFya2Vycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7OztBQUc1RDs7R0FFRztBQU9ILE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFPVSxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQWEsU0FBUyxDQUFDLENBQUM7UUFDbkQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsU0FBUyxDQUFDLENBQUM7UUFFakYsYUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFJLElBQUksRUFBRSxNQUFNLElBQUksYUFBYSxFQUFFO2dCQUNqQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0tBd0JIO0lBdEJDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUErQztRQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztzSEFwQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUIsb0hBSjFCOztHQUVUOzJGQUVVLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7O0dBRVQ7aUJBQ0Y7OEJBaUJLLElBQUk7c0JBRFAsS0FBSztnQkFVRixhQUFhO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWFya2VyRmFjdG9yeSB9IGZyb20gJy4vbWFwYm94Lm1hcmtlcic7XG5cbi8qKlxuICogQ29tcG9uZW50IHVzZWQgdG8gcmVuZGVyIGEgc2V0IG9mIERieE1hcGJveE1hcmtlciB2YWx1ZXMgZnJvbSB0aGUgaW5wdXQgZGF0YSBhbmQgbWFya2VyIGZhY3RvcnkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1tYXBib3gtbWFya2VycycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1tYXBib3gtbWFya2VyICpuZ0Zvcj1cImxldCBtYXJrZXIgb2YgbWFya2VycyQgfCBhc3luY1wiIFttYXJrZXJdPVwibWFya2VyXCI+PC9kYngtbWFwYm94LW1hcmtlcj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhNYXBib3hNYXJrZXJzQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8VFtdPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfbWFya2VyRmFjdG9yeSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4TWFwYm94TWFya2VyRmFjdG9yeTxUPj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgbWFya2VycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kYXRhLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIHRoaXMuX21hcmtlckZhY3RvcnkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKV0pLnBpcGUoXG4gICAgbWFwKChbZGF0YSwgbWFya2VyRmFjdG9yeV0pID0+IHtcbiAgICAgIGlmIChkYXRhPy5sZW5ndGggJiYgbWFya2VyRmFjdG9yeSkge1xuICAgICAgICByZXR1cm4gZGF0YS5tYXAobWFya2VyRmFjdG9yeSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS52YWx1ZTtcbiAgfVxuXG4gIHNldCBkYXRhKGRhdGE6IE1heWJlPFRbXT4pIHtcbiAgICB0aGlzLl9kYXRhLm5leHQoZGF0YSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgbWFya2VyRmFjdG9yeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWFya2VyRmFjdG9yeS52YWx1ZTtcbiAgfVxuXG4gIHNldCBtYXJrZXJGYWN0b3J5KG1hcmtlckZhY3Rvcnk6IE1heWJlPERieE1hcGJveE1hcmtlckZhY3Rvcnk8VD4+KSB7XG4gICAgdGhpcy5fbWFya2VyRmFjdG9yeS5uZXh0KG1hcmtlckZhY3RvcnkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGF0YS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX21hcmtlckZhY3RvcnkuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94Lm1hcmtlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gubWFya2Vycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUVyRDs7R0FFRztBQVFILE1BQU0sT0FBTyx5QkFBeUI7SUFnQnBDLFlBQXFCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBZnJDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBYSxTQUFTLENBQUMsQ0FBQztRQUNuRCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFtQyxTQUFTLENBQUMsQ0FBQztRQUVqRixhQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQzVCLElBQUksSUFBSSxFQUFFLE1BQU0sSUFBSSxhQUFhLEVBQUU7Z0JBQ2pDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNoQztpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUM1QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUU4QyxDQUFDO0lBRWpELElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUErQztRQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztzSEF2Q1UseUJBQXlCOzBHQUF6Qix5QkFBeUIsb0hBTDFCOztHQUVUOzJGQUdVLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7O0dBRVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3dHQW9CSyxJQUFJO3NCQURQLEtBQUs7Z0JBVUYsYUFBYTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWFya2VyRmFjdG9yeSB9IGZyb20gJy4vbWFwYm94Lm1hcmtlcic7XG5pbXBvcnQgeyB0YXBEZXRlY3RDaGFuZ2VzIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB1c2VkIHRvIHJlbmRlciBhIHNldCBvZiBEYnhNYXBib3hNYXJrZXIgdmFsdWVzIGZyb20gdGhlIGlucHV0IGRhdGEgYW5kIG1hcmtlciBmYWN0b3J5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbWFwYm94LW1hcmtlcnMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtbWFwYm94LW1hcmtlciAqbmdGb3I9XCJsZXQgbWFya2VyIG9mIG1hcmtlcnMkIHwgYXN5bmNcIiBbbWFya2VyXT1cIm1hcmtlclwiPjwvZGJ4LW1hcGJveC1tYXJrZXI+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERieE1hcGJveE1hcmtlcnNDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9kYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxUW10+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9tYXJrZXJGYWN0b3J5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhNYXBib3hNYXJrZXJGYWN0b3J5PFQ+Pj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBtYXJrZXJzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2RhdGEucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSwgdGhpcy5fbWFya2VyRmFjdG9yeS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXSkucGlwZShcbiAgICBtYXAoKFtkYXRhLCBtYXJrZXJGYWN0b3J5XSkgPT4ge1xuICAgICAgaWYgKGRhdGE/Lmxlbmd0aCAmJiBtYXJrZXJGYWN0b3J5KSB7XG4gICAgICAgIHJldHVybiBkYXRhLm1hcChtYXJrZXJGYWN0b3J5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLnZhbHVlO1xuICB9XG5cbiAgc2V0IGRhdGEoZGF0YTogTWF5YmU8VFtdPikge1xuICAgIHRoaXMuX2RhdGEubmV4dChkYXRhKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBtYXJrZXJGYWN0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLl9tYXJrZXJGYWN0b3J5LnZhbHVlO1xuICB9XG5cbiAgc2V0IG1hcmtlckZhY3RvcnkobWFya2VyRmFjdG9yeTogTWF5YmU8RGJ4TWFwYm94TWFya2VyRmFjdG9yeTxUPj4pIHtcbiAgICB0aGlzLl9tYXJrZXJGYWN0b3J5Lm5leHQobWFya2VyRmFjdG9yeSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRhLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fbWFya2VyRmFjdG9yeS5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -14,4 +14,4 @@ export const MAPBOX_MAX_ZOOM_LEVEL = 22;
14
14
  export function mapboxZoomLevel(input) {
15
15
  return Math.min(Math.max(input, MAPBOX_MIN_ZOOM_LEVEL), MAPBOX_MAX_ZOOM_LEVEL);
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXVCO0lBQ3JELEVBQUU7SUFDRixvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLGtDQUFrQztJQUNsQyxpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLDhDQUE4QztJQUM5QywwQ0FBMEM7SUFDMUMsNENBQTRDO0NBQzdDLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBb0IsQ0FBQyxDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFvQixFQUFFLENBQUM7QUFFekQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFhO0lBQzNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhdExuZ1BvaW50SW5wdXQsIExhdExuZ0JvdW5kSW5wdXQsIFpvb21MZXZlbCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0ICogYXMgTWFwYm94R2wgZnJvbSAnbWFwYm94LWdsJztcblxuZXhwb3J0IHR5cGUgS25vd25NYXBib3hTdHlsZSA9ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3N0cmVldHMtdjExJyB8ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L291dGRvb3JzLXYxMScgfCAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9saWdodC12MTAnIHwgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvZGFyay12MTAnIHwgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXY5JyB8ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS1zdHJlZXRzLXYxMScgfCAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9uYXZpZ2F0aW9uLWRheS12MScgfCAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9uYXZpZ2F0aW9uLW5pZ2h0LXYxJztcblxuZXhwb3J0IGNvbnN0IEtOT1dOX01BUEJPWF9TVFlMRVM6IEtub3duTWFwYm94U3R5bGVbXSA9IFtcbiAgLy9cbiAgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvc3RyZWV0cy12MTEnLFxuICAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9vdXRkb29ycy12MTEnLFxuICAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9saWdodC12MTAnLFxuICAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9kYXJrLXYxMCcsXG4gICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS12OScsXG4gICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS1zdHJlZXRzLXYxMScsXG4gICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L25hdmlnYXRpb24tZGF5LXYxJyxcbiAgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvbmF2aWdhdGlvbi1uaWdodC12MSdcbl07XG5cbmV4cG9ydCB0eXBlIE1hcGJveFpvb21MZXZlbCA9IFpvb21MZXZlbDtcblxuZXhwb3J0IGNvbnN0IE1BUEJPWF9NSU5fWk9PTV9MRVZFTDogTWFwYm94Wm9vbUxldmVsID0gMDtcbmV4cG9ydCBjb25zdCBNQVBCT1hfTUFYX1pPT01fTEVWRUw6IE1hcGJveFpvb21MZXZlbCA9IDIyO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFwYm94Wm9vbUxldmVsKGlucHV0OiBudW1iZXIpOiBNYXBib3hab29tTGV2ZWwge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoaW5wdXQsIE1BUEJPWF9NSU5fWk9PTV9MRVZFTCksIE1BUEJPWF9NQVhfWk9PTV9MRVZFTCk7XG59XG5cbmV4cG9ydCB0eXBlIE1hcGJveFBpdGNoID0gbnVtYmVyO1xuZXhwb3J0IHR5cGUgTWFwYm94QmVhcmluZyA9IG51bWJlcjtcblxuZXhwb3J0IHR5cGUgRGJ4TWFwYm94Q2xpY2tFdmVudCA9IE1hcGJveEdsLk1hcE1vdXNlRXZlbnQgJiBNYXBib3hHbC5FdmVudERhdGE7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94U3R5bGVDb25maWcge1xuICBzdHlsZTogTWFwYm94R2wuU3R5bGUgfCBzdHJpbmc7XG4gIG9wdGlvbnM/OiB7XG4gICAgZGlmZj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgbG9jYWxJZGVvZ3JhcGhGb250RmFtaWx5Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveEZpdEJvdW5kcyB7XG4gIGJvdW5kczogTGF0TG5nQm91bmRJbnB1dDtcbiAgb3B0aW9ucz86IG1hcGJveGdsLkZpdEJvdW5kc09wdGlvbnM7XG4gIGV2ZW50RGF0YT86IG1hcGJveGdsLkV2ZW50RGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBib3hKdW1wVG9Qb3NpdGlvbk9wdGlvbnMgZXh0ZW5kcyBPbWl0PE1hcGJveEdsLkNhbWVyYU9wdGlvbnMsICdjZW50ZXInPiB7XG4gIGNlbnRlcjogTGF0TG5nUG9pbnRJbnB1dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBib3hKdW1wVG8ge1xuICBjZW50ZXI/OiBMYXRMbmdQb2ludElucHV0O1xuICB0bz86IE1hcGJveEp1bXBUb1Bvc2l0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveEVhc2VUb1Bvc2l0aW9uT3B0aW9ucyBleHRlbmRzIE9taXQ8TWFwYm94R2wuRWFzZVRvT3B0aW9ucywgJ2NlbnRlcic+LCBNYXBib3hKdW1wVG9Qb3NpdGlvbk9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBNYXBib3hFYXNlVG8ge1xuICBjZW50ZXI/OiBMYXRMbmdQb2ludElucHV0O1xuICB0bz86IE1hcGJveEVhc2VUb1Bvc2l0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveEZseVRvUG9zaXRpb25PcHRpb25zIGV4dGVuZHMgT21pdDxNYXBib3hHbC5GbHlUb09wdGlvbnMsICdjZW50ZXInPiwgTWFwYm94SnVtcFRvUG9zaXRpb25PcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94Rmx5VG8ge1xuICBjZW50ZXI/OiBMYXRMbmdQb2ludElucHV0O1xuICB0bz86IE1hcGJveEZseVRvUG9zaXRpb25PcHRpb25zO1xuICBldmVudERhdGE/OiBtYXBib3hnbC5FdmVudERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94Um90YXRlVG8ge1xuICBiZWFyaW5nOiBNYXBib3hCZWFyaW5nO1xuICBvcHRpb25zPzogbWFwYm94Z2wuQW5pbWF0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveFJlc2V0Tm9ydGgge1xuICBvcHRpb25zPzogbWFwYm94Z2wuQW5pbWF0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveFJlc2V0Tm9ydGhQaXRjaCB7XG4gIG9wdGlvbnM/OiBtYXBib3hnbC5BbmltYXRpb25PcHRpb25zO1xuICBldmVudERhdGE/OiBtYXBib3hnbC5FdmVudERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94U25hcFRvTm9ydGgge1xuICBvcHRpb25zPzogbWFwYm94Z2wuQW5pbWF0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXVCO0lBQ3JELEVBQUU7SUFDRixvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLGtDQUFrQztJQUNsQyxpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLDhDQUE4QztJQUM5QywwQ0FBMEM7SUFDMUMsNENBQTRDO0NBQzdDLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBb0IsQ0FBQyxDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFvQixFQUFFLENBQUM7QUFFekQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFhO0lBQzNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhdExuZ1BvaW50SW5wdXQsIExhdExuZ0JvdW5kSW5wdXQsIFpvb21MZXZlbCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0ICogYXMgTWFwYm94R2wgZnJvbSAnbWFwYm94LWdsJztcblxuZXhwb3J0IHR5cGUgS25vd25NYXBib3hTdHlsZSA9ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3N0cmVldHMtdjExJyB8ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L291dGRvb3JzLXYxMScgfCAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9saWdodC12MTAnIHwgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvZGFyay12MTAnIHwgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXY5JyB8ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS1zdHJlZXRzLXYxMScgfCAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9uYXZpZ2F0aW9uLWRheS12MScgfCAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9uYXZpZ2F0aW9uLW5pZ2h0LXYxJztcblxuZXhwb3J0IGNvbnN0IEtOT1dOX01BUEJPWF9TVFlMRVM6IEtub3duTWFwYm94U3R5bGVbXSA9IFtcbiAgLy9cbiAgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvc3RyZWV0cy12MTEnLFxuICAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9vdXRkb29ycy12MTEnLFxuICAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9saWdodC12MTAnLFxuICAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9kYXJrLXYxMCcsXG4gICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS12OScsXG4gICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS1zdHJlZXRzLXYxMScsXG4gICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L25hdmlnYXRpb24tZGF5LXYxJyxcbiAgJ21hcGJveDovL3N0eWxlcy9tYXBib3gvbmF2aWdhdGlvbi1uaWdodC12MSdcbl07XG5cbmV4cG9ydCB0eXBlIE1hcGJveFpvb21MZXZlbCA9IFpvb21MZXZlbDtcblxuZXhwb3J0IGNvbnN0IE1BUEJPWF9NSU5fWk9PTV9MRVZFTDogTWFwYm94Wm9vbUxldmVsID0gMDtcbmV4cG9ydCBjb25zdCBNQVBCT1hfTUFYX1pPT01fTEVWRUw6IE1hcGJveFpvb21MZXZlbCA9IDIyO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFwYm94Wm9vbUxldmVsKGlucHV0OiBudW1iZXIpOiBNYXBib3hab29tTGV2ZWwge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoaW5wdXQsIE1BUEJPWF9NSU5fWk9PTV9MRVZFTCksIE1BUEJPWF9NQVhfWk9PTV9MRVZFTCk7XG59XG5cbmV4cG9ydCB0eXBlIE1hcGJveFBpdGNoID0gbnVtYmVyO1xuZXhwb3J0IHR5cGUgTWFwYm94QmVhcmluZyA9IG51bWJlcjtcblxuLyoqXG4gKiBTaXplIG9mIHRoZSB0aWxlcy4gVmVjdG9yLWJhc2VkIHRpbGVzIHVzZWQgYnkgdGhlIHdlYiBhcmUgZ2VuZXJhbGx5IDUxMng1MTIsIGFuZCBsZWdhY3kgb25lcyBhcmUgMjU2eDI1Ni5cbiAqXG4gKiBodHRwczovL2Jsb2cubWFwYm94LmNvbS81MTItbWFwLXRpbGVzLWNiNWJmZDZlNzJiYVxuICovXG5leHBvcnQgdHlwZSBNYXBib3hUaWxlU2l6ZSA9IDUxMiB8IDI1NjtcblxuZXhwb3J0IHR5cGUgRGJ4TWFwYm94Q2xpY2tFdmVudCA9IE1hcGJveEdsLk1hcE1vdXNlRXZlbnQgJiBNYXBib3hHbC5FdmVudERhdGE7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94U3R5bGVDb25maWcge1xuICBzdHlsZTogTWFwYm94R2wuU3R5bGUgfCBzdHJpbmc7XG4gIG9wdGlvbnM/OiB7XG4gICAgZGlmZj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgbG9jYWxJZGVvZ3JhcGhGb250RmFtaWx5Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveEZpdEJvdW5kcyB7XG4gIGJvdW5kczogTGF0TG5nQm91bmRJbnB1dDtcbiAgb3B0aW9ucz86IG1hcGJveGdsLkZpdEJvdW5kc09wdGlvbnM7XG4gIGV2ZW50RGF0YT86IG1hcGJveGdsLkV2ZW50RGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBib3hKdW1wVG9Qb3NpdGlvbk9wdGlvbnMgZXh0ZW5kcyBPbWl0PE1hcGJveEdsLkNhbWVyYU9wdGlvbnMsICdjZW50ZXInPiB7XG4gIGNlbnRlcjogTGF0TG5nUG9pbnRJbnB1dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBib3hKdW1wVG8ge1xuICBjZW50ZXI/OiBMYXRMbmdQb2ludElucHV0O1xuICB0bz86IE1hcGJveEp1bXBUb1Bvc2l0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveEVhc2VUb1Bvc2l0aW9uT3B0aW9ucyBleHRlbmRzIE9taXQ8TWFwYm94R2wuRWFzZVRvT3B0aW9ucywgJ2NlbnRlcic+LCBNYXBib3hKdW1wVG9Qb3NpdGlvbk9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBNYXBib3hFYXNlVG8ge1xuICBjZW50ZXI/OiBMYXRMbmdQb2ludElucHV0O1xuICB0bz86IE1hcGJveEVhc2VUb1Bvc2l0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveEZseVRvUG9zaXRpb25PcHRpb25zIGV4dGVuZHMgT21pdDxNYXBib3hHbC5GbHlUb09wdGlvbnMsICdjZW50ZXInPiwgTWFwYm94SnVtcFRvUG9zaXRpb25PcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94Rmx5VG8ge1xuICBjZW50ZXI/OiBMYXRMbmdQb2ludElucHV0O1xuICB0bz86IE1hcGJveEZseVRvUG9zaXRpb25PcHRpb25zO1xuICBldmVudERhdGE/OiBtYXBib3hnbC5FdmVudERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94Um90YXRlVG8ge1xuICBiZWFyaW5nOiBNYXBib3hCZWFyaW5nO1xuICBvcHRpb25zPzogbWFwYm94Z2wuQW5pbWF0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveFJlc2V0Tm9ydGgge1xuICBvcHRpb25zPzogbWFwYm94Z2wuQW5pbWF0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveFJlc2V0Tm9ydGhQaXRjaCB7XG4gIG9wdGlvbnM/OiBtYXBib3hnbC5BbmltYXRpb25PcHRpb25zO1xuICBldmVudERhdGE/OiBtYXBib3hnbC5FdmVudERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94U25hcFRvTm9ydGgge1xuICBvcHRpb25zPzogbWFwYm94Z2wuQW5pbWF0aW9uT3B0aW9ucztcbiAgZXZlbnREYXRhPzogbWFwYm94Z2wuRXZlbnREYXRhO1xufVxuIl19
@@ -0,0 +1,53 @@
1
+ import { asObservable } from '@dereekb/rxjs';
2
+ import { LAT_LONG_10M_PRECISION, latLngPointFunction, roundNumberToStepFunction } from '@dereekb/util';
3
+ import { combineLatestWith, map, switchMap, shareReplay, distinctUntilChanged } from 'rxjs';
4
+ /**
5
+ * Filters the input objects based on their center and zoom values.
6
+ *
7
+ * This function caches the bounds computations for each of the input values.
8
+ *
9
+ * @param config
10
+ * @returns
11
+ */
12
+ export function filterByMapboxViewportBound(config) {
13
+ const { boundDecisionObs: inputBoundDecisionObs, boundFunctionObs: inputBoundFunctionObs, defaultZoom: inputDefaultZoom = 17, readValue, zoomRounding, precision = LAT_LONG_10M_PRECISION } = config;
14
+ const _latLngPoint = latLngPointFunction({ wrap: false, validate: false, precision });
15
+ const _roundZoom = roundNumberToStepFunction(zoomRounding || { step: 0.5, round: 'floor' });
16
+ const boundDecisionObs = asObservable(inputBoundDecisionObs);
17
+ const boundFunctionObs = asObservable(inputBoundFunctionObs);
18
+ return (input) => {
19
+ return boundFunctionObs.pipe(distinctUntilChanged(), switchMap((viewportBoundFunction) => {
20
+ const cache = new Map();
21
+ return input.pipe(map((values) => {
22
+ return values.map((value) => {
23
+ const item = readValue(value);
24
+ const centerLatLng = _latLngPoint(item.center);
25
+ const zoomStep = _roundZoom(item.zoom || inputDefaultZoom);
26
+ const cacheKey = `${zoomStep}_${centerLatLng.lat}_${centerLatLng.lng}`;
27
+ const cachedValue = cache.get(cacheKey);
28
+ let bound;
29
+ if (!cachedValue) {
30
+ bound = viewportBoundFunction({ center: centerLatLng, zoom: zoomStep });
31
+ cache.set(cacheKey, bound);
32
+ }
33
+ else {
34
+ bound = cachedValue;
35
+ }
36
+ return {
37
+ value,
38
+ bound
39
+ };
40
+ });
41
+ }), combineLatestWith(boundDecisionObs), map(([items, boundFunction]) => {
42
+ let valuesInBounds = [];
43
+ items.forEach((item) => {
44
+ if (boundFunction(item.bound)) {
45
+ valuesInBounds.push(item.value);
46
+ }
47
+ });
48
+ return valuesInBounds;
49
+ }));
50
+ }), shareReplay(1));
51
+ };
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LnJ4anMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL21hcGJveC5yeGpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBMkQsbUJBQW1CLEVBQUUseUJBQXlCLEVBQWlGLE1BQU0sZUFBZSxDQUFDO0FBQy9PLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQWdDLFNBQVMsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFxQzFIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQUksTUFBa0M7SUFDL0UsTUFBTSxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEdBQUcsc0JBQXNCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDck0sTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0RixNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQyxZQUFZLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTVGLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUU3RCxPQUFPLENBQUMsS0FBc0IsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUMxQixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO1lBRTdDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDbEIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBUSxFQUFFLEVBQUU7b0JBQzdCLE1BQU0sSUFBSSxHQUF5QyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3BFLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQy9DLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLGdCQUFnQixDQUFDLENBQUM7b0JBQzNELE1BQU0sUUFBUSxHQUFHLEdBQUcsUUFBUSxJQUFJLFlBQVksQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUV2RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN4QyxJQUFJLEtBQWtCLENBQUM7b0JBRXZCLElBQUksQ0FBQyxXQUFXLEVBQUU7d0JBQ2hCLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7d0JBQ3hFLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO3FCQUM1Qjt5QkFBTTt3QkFDTCxLQUFLLEdBQUcsV0FBVyxDQUFDO3FCQUNyQjtvQkFFRCxPQUFPO3dCQUNMLEtBQUs7d0JBQ0wsS0FBSztxQkFDZ0MsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsRUFDRixpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNuQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO2dCQUM3QixJQUFJLGNBQWMsR0FBUSxFQUFFLENBQUM7Z0JBRTdCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDckIsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUM3QixjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDakM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxjQUFjLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlLCBhc09ic2VydmFibGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IExBVF9MT05HXzEwTV9QUkVDSVNJT04sIExhdExuZ1BvaW50SW5wdXQsIExhdExuZ0JvdW5kLCBMYXRMbmdCb3VuZENoZWNrRnVuY3Rpb24sIGxhdExuZ1BvaW50RnVuY3Rpb24sIHJvdW5kTnVtYmVyVG9TdGVwRnVuY3Rpb24sIFJvdW5kTnVtYmVyVG9TdGVwRnVuY3Rpb25JbnB1dCwgTGF0TG5nUHJlY2lzaW9uLCBMQVRfTE9OR18xTV9QUkVDSVNJT04sIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0V2l0aCwgbWFwLCBPYnNlcnZhYmxlLCBPcGVyYXRvckZ1bmN0aW9uLCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWFwYm94Wm9vbUxldmVsIH0gZnJvbSAnLi9tYXBib3gnO1xuaW1wb3J0IHsgTWFwYm94Vmlld3BvcnRCb3VuZEZ1bmN0aW9uIH0gZnJvbSAnLi9tYXBib3gudXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyTWFwYm94Qm91bmRDb25maWc8VD4ge1xuICBib3VuZEZ1bmN0aW9uT2JzOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXBib3hWaWV3cG9ydEJvdW5kRnVuY3Rpb24+O1xuICBib3VuZERlY2lzaW9uT2JzOiBPYnNlcnZhYmxlT3JWYWx1ZTxMYXRMbmdCb3VuZENoZWNrRnVuY3Rpb24+O1xuICAvKipcbiAgICogUmVhZHMgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IGl0ZW0uXG4gICAqL1xuICByZWFkVmFsdWU6ICh2YWx1ZTogVCkgPT4gTWFwYm94Vmlld3BvcnRCb3VuZEZ1bmN0aW9uSXRlbVZhbHVlO1xuICAvKipcbiAgICogTWluaW11bSBwcmVjaXNpb24gdG8gcmV0YWluLiBEZWZhdWx0cyB0byBMQVRfTE9OR18xME1fUFJFQ0lTSU9OXG4gICAqL1xuICBwcmVjaXNpb24/OiBMYXRMbmdQcmVjaXNpb247XG4gIC8qKlxuICAgKiBBbW91bnQgb2Ygem9vbSByb3VuZGluZyB0byB1c2UuIEJ5IGRlZmF1bHQgcm91bmRzIHRvIDAuNSBzdGVwcyB1c2luZyBcImZsb29yXCIgaW4gb3JkZXIgdG8gXCJyb3VuZCB1cFwiIHNpbmNlIHpvb20gdmFsdWVzIGFyZSBpbnZlcnNlbHkgcHJvcG9ydGlvbmFsIHRvIGJvdW5kcyBhcmVhLlxuICAgKi9cbiAgem9vbVJvdW5kaW5nPzogUm91bmROdW1iZXJUb1N0ZXBGdW5jdGlvbklucHV0O1xuICAvKipcbiAgICogRGVmYXVsdCB6b29tIGxldmVsIGZvciBpdGVtIHZhbHVlcyB0aGF0IGRvIG5vdCBoYXZlIGFuIGV4cGxpY2l0IHpvb20sIG9yIGEgem9vbSBvZiAwLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byAxNywgd2hpY2ggY2FuIHByb2R1Y2UgYSB2aWV3cG9ydC9ib3VuZHMgYWJvdXQgdGhlIHNpemUgb2YgYSBwYXJrLlxuICAgKi9cbiAgZGVmYXVsdFpvb20/OiBNYXBib3hab29tTGV2ZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94Vmlld3BvcnRCb3VuZEZ1bmN0aW9uSXRlbVZhbHVlIHtcbiAgcmVhZG9ubHkgY2VudGVyOiBMYXRMbmdQb2ludElucHV0O1xuICByZWFkb25seSB6b29tPzogTWF5YmU8TWFwYm94Wm9vbUxldmVsPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBib3hWaWV3cG9ydEJvdW5kRnVuY3Rpb25JdGVtPFQ+IHtcbiAgcmVhZG9ubHkgdmFsdWU6IFQ7XG4gIHJlYWRvbmx5IGJvdW5kOiBMYXRMbmdCb3VuZDtcbn1cblxuLyoqXG4gKiBGaWx0ZXJzIHRoZSBpbnB1dCBvYmplY3RzIGJhc2VkIG9uIHRoZWlyIGNlbnRlciBhbmQgem9vbSB2YWx1ZXMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBjYWNoZXMgdGhlIGJvdW5kcyBjb21wdXRhdGlvbnMgZm9yIGVhY2ggb2YgdGhlIGlucHV0IHZhbHVlcy5cbiAqXG4gKiBAcGFyYW0gY29uZmlnXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyQnlNYXBib3hWaWV3cG9ydEJvdW5kPFQ+KGNvbmZpZzogRmlsdGVyTWFwYm94Qm91bmRDb25maWc8VD4pOiBPcGVyYXRvckZ1bmN0aW9uPFRbXSwgVFtdPiB7XG4gIGNvbnN0IHsgYm91bmREZWNpc2lvbk9iczogaW5wdXRCb3VuZERlY2lzaW9uT2JzLCBib3VuZEZ1bmN0aW9uT2JzOiBpbnB1dEJvdW5kRnVuY3Rpb25PYnMsIGRlZmF1bHRab29tOiBpbnB1dERlZmF1bHRab29tID0gMTcsIHJlYWRWYWx1ZSwgem9vbVJvdW5kaW5nLCBwcmVjaXNpb24gPSBMQVRfTE9OR18xME1fUFJFQ0lTSU9OIH0gPSBjb25maWc7XG4gIGNvbnN0IF9sYXRMbmdQb2ludCA9IGxhdExuZ1BvaW50RnVuY3Rpb24oeyB3cmFwOiBmYWxzZSwgdmFsaWRhdGU6IGZhbHNlLCBwcmVjaXNpb24gfSk7XG4gIGNvbnN0IF9yb3VuZFpvb20gPSByb3VuZE51bWJlclRvU3RlcEZ1bmN0aW9uKHpvb21Sb3VuZGluZyB8fCB7IHN0ZXA6IDAuNSwgcm91bmQ6ICdmbG9vcicgfSk7XG5cbiAgY29uc3QgYm91bmREZWNpc2lvbk9icyA9IGFzT2JzZXJ2YWJsZShpbnB1dEJvdW5kRGVjaXNpb25PYnMpO1xuICBjb25zdCBib3VuZEZ1bmN0aW9uT2JzID0gYXNPYnNlcnZhYmxlKGlucHV0Qm91bmRGdW5jdGlvbk9icyk7XG5cbiAgcmV0dXJuIChpbnB1dDogT2JzZXJ2YWJsZTxUW10+KSA9PiB7XG4gICAgcmV0dXJuIGJvdW5kRnVuY3Rpb25PYnMucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzd2l0Y2hNYXAoKHZpZXdwb3J0Qm91bmRGdW5jdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBMYXRMbmdCb3VuZD4oKTtcblxuICAgICAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgICAgICBtYXAoKHZhbHVlczogVFtdKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaXRlbTogTWFwYm94Vmlld3BvcnRCb3VuZEZ1bmN0aW9uSXRlbVZhbHVlID0gcmVhZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgY29uc3QgY2VudGVyTGF0TG5nID0gX2xhdExuZ1BvaW50KGl0ZW0uY2VudGVyKTtcbiAgICAgICAgICAgICAgY29uc3Qgem9vbVN0ZXAgPSBfcm91bmRab29tKGl0ZW0uem9vbSB8fCBpbnB1dERlZmF1bHRab29tKTtcbiAgICAgICAgICAgICAgY29uc3QgY2FjaGVLZXkgPSBgJHt6b29tU3RlcH1fJHtjZW50ZXJMYXRMbmcubGF0fV8ke2NlbnRlckxhdExuZy5sbmd9YDtcblxuICAgICAgICAgICAgICBjb25zdCBjYWNoZWRWYWx1ZSA9IGNhY2hlLmdldChjYWNoZUtleSk7XG4gICAgICAgICAgICAgIGxldCBib3VuZDogTGF0TG5nQm91bmQ7XG5cbiAgICAgICAgICAgICAgaWYgKCFjYWNoZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGJvdW5kID0gdmlld3BvcnRCb3VuZEZ1bmN0aW9uKHsgY2VudGVyOiBjZW50ZXJMYXRMbmcsIHpvb206IHpvb21TdGVwIH0pO1xuICAgICAgICAgICAgICAgIGNhY2hlLnNldChjYWNoZUtleSwgYm91bmQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGJvdW5kID0gY2FjaGVkVmFsdWU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIGJvdW5kXG4gICAgICAgICAgICAgIH0gYXMgTWFwYm94Vmlld3BvcnRCb3VuZEZ1bmN0aW9uSXRlbTxUPjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNvbWJpbmVMYXRlc3RXaXRoKGJvdW5kRGVjaXNpb25PYnMpLFxuICAgICAgICAgIG1hcCgoW2l0ZW1zLCBib3VuZEZ1bmN0aW9uXSkgPT4ge1xuICAgICAgICAgICAgbGV0IHZhbHVlc0luQm91bmRzOiBUW10gPSBbXTtcblxuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoYm91bmRGdW5jdGlvbihpdGVtLmJvdW5kKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlc0luQm91bmRzLnB1c2goaXRlbS52YWx1ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWVzSW5Cb3VuZHM7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9O1xufVxuIl19