@ethlete/core 2.1.0 → 2.2.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/esm2022/lib/components/structured-data/structured-data.component.mjs +3 -3
- package/esm2022/lib/directives/animatable/animatable.directive.mjs +3 -3
- package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +3 -3
- package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +41 -8
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +3 -3
- package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +3 -3
- package/esm2022/lib/directives/delayable/delayable.directive.mjs +3 -3
- package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +3 -3
- package/esm2022/lib/directives/let/let.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-resize/index.mjs +2 -0
- package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +3 -3
- package/esm2022/lib/directives/repeat/repeat.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
- package/esm2022/lib/directives/seo/seo.directive.mjs +3 -3
- package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
- package/esm2022/lib/services/click-observer.service.mjs +6 -6
- package/esm2022/lib/services/content-observer.service.mjs +6 -6
- package/esm2022/lib/services/focus-visible.service.mjs +3 -3
- package/esm2022/lib/services/resize-observer.service.mjs +6 -6
- package/esm2022/lib/services/router-state.service.mjs +62 -5
- package/esm2022/lib/services/viewport.service.mjs +3 -3
- package/fesm2022/ethlete-core.mjs +416 -328
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/lib/directives/animated-overlay/animated-overlay.directive.d.ts +11 -4
- package/lib/directives/observe-resize/index.d.ts +1 -0
- package/lib/services/router-state.service.d.ts +22 -0
- package/package.json +5 -5
|
@@ -7,11 +7,11 @@ class ClickObserverFactory {
|
|
|
7
7
|
create() {
|
|
8
8
|
return fromEvent(document, 'click');
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
11
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverFactory, providedIn: 'root' }); }
|
|
12
12
|
}
|
|
13
13
|
export { ClickObserverFactory };
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverFactory, decorators: [{
|
|
15
15
|
type: Injectable,
|
|
16
16
|
args: [{ providedIn: 'root' }]
|
|
17
17
|
}] });
|
|
@@ -64,11 +64,11 @@ class ClickObserverService {
|
|
|
64
64
|
this._observedElements.delete(element);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
68
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverService, deps: [{ token: ClickObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverService, providedIn: 'root' }); }
|
|
69
69
|
}
|
|
70
70
|
export { ClickObserverService };
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverService, decorators: [{
|
|
72
72
|
type: Injectable,
|
|
73
73
|
args: [{ providedIn: 'root' }]
|
|
74
74
|
}], ctorParameters: function () { return [{ type: ClickObserverFactory }]; } });
|
|
@@ -7,11 +7,11 @@ class MutationObserverFactory {
|
|
|
7
7
|
create(callback) {
|
|
8
8
|
return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
11
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' }); }
|
|
12
12
|
}
|
|
13
13
|
export { MutationObserverFactory };
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MutationObserverFactory, decorators: [{
|
|
15
15
|
type: Injectable,
|
|
16
16
|
args: [{ providedIn: 'root' }]
|
|
17
17
|
}] });
|
|
@@ -70,11 +70,11 @@ class ContentObserverService {
|
|
|
70
70
|
this._observedElements.delete(element);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
74
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContentObserverService, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContentObserverService, providedIn: 'root' }); }
|
|
75
75
|
}
|
|
76
76
|
export { ContentObserverService };
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContentObserverService, decorators: [{
|
|
78
78
|
type: Injectable,
|
|
79
79
|
args: [{ providedIn: 'root' }]
|
|
80
80
|
}], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });
|
|
@@ -22,11 +22,11 @@ class FocusVisibleService {
|
|
|
22
22
|
onPointerDown() {
|
|
23
23
|
this._hadKeyboardEvent = false;
|
|
24
24
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
26
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FocusVisibleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FocusVisibleService, providedIn: 'root' }); }
|
|
27
27
|
}
|
|
28
28
|
export { FocusVisibleService };
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FocusVisibleService, decorators: [{
|
|
30
30
|
type: Injectable,
|
|
31
31
|
args: [{
|
|
32
32
|
providedIn: 'root',
|
|
@@ -7,11 +7,11 @@ class ResizeObserverFactory {
|
|
|
7
7
|
create(callback) {
|
|
8
8
|
return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
11
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverFactory, providedIn: 'root' }); }
|
|
12
12
|
}
|
|
13
13
|
export { ResizeObserverFactory };
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverFactory, decorators: [{
|
|
15
15
|
type: Injectable,
|
|
16
16
|
args: [{ providedIn: 'root' }]
|
|
17
17
|
}] });
|
|
@@ -66,11 +66,11 @@ class ResizeObserverService {
|
|
|
66
66
|
this._observedElements.delete(element);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
70
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverService, deps: [{ token: ResizeObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
70
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverService, providedIn: 'root' }); }
|
|
71
71
|
}
|
|
72
72
|
export { ResizeObserverService };
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverService, decorators: [{
|
|
74
74
|
type: Injectable,
|
|
75
75
|
args: [{ providedIn: 'root' }]
|
|
76
76
|
}], ctorParameters: function () { return [{ type: ResizeObserverFactory }]; } });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { NavigationEnd, Router } from '@angular/router';
|
|
3
|
-
import { BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, filter, map, pairwise, } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, filter, map, pairwise, shareReplay, } from 'rxjs';
|
|
4
4
|
import { equal } from '../utils';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export const routerDisableScrollTop = (config = {}) => {
|
|
@@ -13,6 +13,7 @@ export const routerDisableScrollTop = (config = {}) => {
|
|
|
13
13
|
disableScrollTopAsReturnRoute: true,
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
|
+
export const ET_PROPERTY_REMOVED = Symbol('ET_PROPERTY_REMOVED');
|
|
16
17
|
class RouterStateService {
|
|
17
18
|
get route$() {
|
|
18
19
|
return this._route$.asObservable().pipe(distinctUntilChanged());
|
|
@@ -20,6 +21,48 @@ class RouterStateService {
|
|
|
20
21
|
get state$() {
|
|
21
22
|
return this._state$.asObservable();
|
|
22
23
|
}
|
|
24
|
+
get state() {
|
|
25
|
+
return this._state$.getValue();
|
|
26
|
+
}
|
|
27
|
+
get data$() {
|
|
28
|
+
return this._state$.pipe(map((state) => state.data), distinctUntilChanged((a, b) => equal(a, b)));
|
|
29
|
+
}
|
|
30
|
+
get data() {
|
|
31
|
+
return this._state$.getValue().data;
|
|
32
|
+
}
|
|
33
|
+
get pathParams$() {
|
|
34
|
+
return this._state$.pipe(map((state) => state.pathParams), distinctUntilChanged((a, b) => equal(a, b)));
|
|
35
|
+
}
|
|
36
|
+
get pathParams() {
|
|
37
|
+
return this._state$.getValue().pathParams;
|
|
38
|
+
}
|
|
39
|
+
get queryParams$() {
|
|
40
|
+
return this._state$.pipe(map((state) => state.queryParams), distinctUntilChanged((a, b) => equal(a, b)));
|
|
41
|
+
}
|
|
42
|
+
get queryParams() {
|
|
43
|
+
return this._state$.getValue().queryParams;
|
|
44
|
+
}
|
|
45
|
+
get title$() {
|
|
46
|
+
return this._state$.pipe(map((state) => state.title), distinctUntilChanged());
|
|
47
|
+
}
|
|
48
|
+
get title() {
|
|
49
|
+
return this._state$.getValue().title;
|
|
50
|
+
}
|
|
51
|
+
get fragment$() {
|
|
52
|
+
return this._state$.pipe(map((state) => state.fragment), distinctUntilChanged());
|
|
53
|
+
}
|
|
54
|
+
get fragment() {
|
|
55
|
+
return this._state$.getValue().fragment;
|
|
56
|
+
}
|
|
57
|
+
get dataChanges$() {
|
|
58
|
+
return this.data$.pipe(pairwise(), map((v) => this._findChanges(v)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
59
|
+
}
|
|
60
|
+
get queryParamChanges$() {
|
|
61
|
+
return this.queryParams$.pipe(pairwise(), map((v) => this._findChanges(v)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
62
|
+
}
|
|
63
|
+
get pathParamChanges$() {
|
|
64
|
+
return this.pathParams$.pipe(pairwise(), map((v) => this._findChanges(v)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
65
|
+
}
|
|
23
66
|
constructor() {
|
|
24
67
|
this._isScrollTopOnNavigationEnabled = false;
|
|
25
68
|
this._router = inject(Router);
|
|
@@ -103,14 +146,28 @@ class RouterStateService {
|
|
|
103
146
|
selectData(key) {
|
|
104
147
|
return this._state$.pipe(map((state) => state.data[key]), distinctUntilChanged((a, b) => equal(a, b)));
|
|
105
148
|
}
|
|
106
|
-
|
|
107
|
-
|
|
149
|
+
_findChanges([previous, current,]) {
|
|
150
|
+
const changes = {};
|
|
151
|
+
const allKeys = new Set([
|
|
152
|
+
...Object.keys(previous),
|
|
153
|
+
...Object.keys(current),
|
|
154
|
+
]);
|
|
155
|
+
for (const key of allKeys) {
|
|
156
|
+
if (!equal(previous[key], current[key])) {
|
|
157
|
+
const val = current[key] === undefined ? ET_PROPERTY_REMOVED : current[key];
|
|
158
|
+
changes[key] = val;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return changes;
|
|
162
|
+
}
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RouterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
164
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RouterStateService, providedIn: 'root' }); }
|
|
108
165
|
}
|
|
109
166
|
export { RouterStateService };
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RouterStateService, decorators: [{
|
|
111
168
|
type: Injectable,
|
|
112
169
|
args: [{
|
|
113
170
|
providedIn: 'root',
|
|
114
171
|
}]
|
|
115
172
|
}], ctorParameters: function () { return []; } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZXItc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQVEsYUFBYSxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFFSCxRQUFRLEdBQ1QsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVqQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFNBQXNDLEVBQUUsRUFBRSxFQUFFO0lBQ2pGLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1FBQ3pCLE9BQU87WUFDTCxnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUM7S0FDSDtJQUVELE9BQU87UUFDTCw2QkFBNkIsRUFBRSxJQUFJO0tBQ3BDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUdhLGtCQUFrQjtJQW9CN0IsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7UUEzQlEsb0NBQStCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsWUFBTyxHQUFH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TTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGEsIE5hdmlnYXRpb25FbmQsIFBhcmFtcywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHBhaXJ3aXNlLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGVxdWFsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3Qgcm91dGVyRGlzYWJsZVNjcm9sbFRvcCA9IChjb25maWc6IHsgYXNSZXR1cm5Sb3V0ZT86IGJvb2xlYW4gfSA9IHt9KSA9PiB7XG4gIGlmICghY29uZmlnLmFzUmV0dXJuUm91dGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGlzYWJsZVNjcm9sbFRvcDogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkaXNhYmxlU2Nyb2xsVG9wQXNSZXR1cm5Sb3V0ZTogdHJ1ZSxcbiAgfTtcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZVNlcnZpY2Uge1xuICBwcml2YXRlIF9pc1Njcm9sbFRvcE9uTmF2aWdhdGlvbkVuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnLycpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e1xuICAgIGRhdGE6IERhdGE7XG4gICAgcGF0aFBhcmFtczogUGFyYW1zO1xuICAgIHF1ZXJ5UGFyYW1zOiBQYXJhbXM7XG4gICAgdGl0bGU6IHN0cmluZyB8IG51bGw7XG4gICAgZnJhZ21lbnQ6IHN0cmluZyB8IG51bGw7XG4gIH0+KHtcbiAgICB0aXRsZTogbnVsbCxcbiAgICBmcmFnbWVudDogbnVsbCxcbiAgICBkYXRhOiB7fSxcbiAgICBwYXRoUGFyYW1zOiB7fSxcbiAgICBxdWVyeVBhcmFtczoge30sXG4gIH0pO1xuXG4gIGdldCByb3V0ZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdXRlJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgZ2V0IHN0YXRlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBOYXZpZ2F0aW9uRW5kID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhLnVybCA9PT0gYi51cmwpLFxuICAgICAgICBtYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyB1cmwgfSA9IGV2ZW50O1xuXG4gICAgICAgICAgY29uc3QgdXJsV2l0aG91dFF1ZXJ5UGFyYW1zID0gdXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgICAgY29uc3Qgd2l0aG91dEZyYWdtZW50ID0gdXJsV2l0aG91dFF1ZXJ5UGFyYW1zLnNwbGl0KCcjJylbMF07XG5cbiAgICAgICAgICByZXR1cm4gd2l0aG91dEZyYWdtZW50O1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5fcm91dGUkKTtcblxuICAgIHRoaXMuX3JvdXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgbGV0IHJvdXRlID0gdGhpcy5fcm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG5cbiAgICAgICAgICB3aGlsZSAocm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgcm91dGUgPSByb3V0ZS5maXJzdENoaWxkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHsgZGF0YSwgcGFyYW1zLCBxdWVyeVBhcmFtcywgdGl0bGUsIGZyYWdtZW50IH0gPSByb3V0ZTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGF0aFBhcmFtczogcGFyYW1zLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUgPz8gbnVsbCxcbiAgICAgICAgICAgIGZyYWdtZW50LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLl9zdGF0ZSQpO1xuICB9XG5cbiAgZW5hYmxlU2Nyb2xsRW5oYW5jZW1lbnRzKFxuICAgIGNvbmZpZzoge1xuICAgICAgc2Nyb2xsRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAgICAgcXVlcnlQYXJhbVRyaWdnZXJMaXN0Pzogc3RyaW5nW107XG4gICAgICBmcmFnbWVudD86IHtcbiAgICAgICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgICAgIHNtb290aD86IGJvb2xlYW47XG4gICAgICB9O1xuICAgIH0gPSB7fSxcbiAgKSB7XG4gICAgaWYgKHRoaXMuX2lzU2Nyb2xsVG9wT25OYXZpZ2F0aW9uRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzU2Nyb2xsVG9wT25OYXZpZ2F0aW9uRW5hYmxlZCA9IHRydWU7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zdGF0ZSQucGlwZShwYWlyd2lzZSgpKSwgdGhpcy5fcm91dGUkLnBpcGUocGFpcndpc2UoKSldKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW1twcmV2U3RhdGUsIGN1cnJTdGF0ZV0sIFtwcmV2Um91dGUsIGN1cnJSb3V0ZV1dKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhbWVVcmxOYXZpZ2F0aW9uID0gcHJldlJvdXRlID09PSBjdXJyUm91dGUgJiYgZXF1YWwocHJldlN0YXRlLnBhdGhQYXJhbXMsIGN1cnJTdGF0ZS5wYXRoUGFyYW1zKTtcbiAgICAgICAgY29uc3QgZGlkRnJhZ21lbnRDaGFuZ2UgPSBwcmV2U3RhdGUuZnJhZ21lbnQgIT09IGN1cnJTdGF0ZS5mcmFnbWVudDtcblxuICAgICAgICBpZiAoc2FtZVVybE5hdmlnYXRpb24pIHtcbiAgICAgICAgICBjb25zdCBhbGxRdWVyeVBhcmFtcyA9IFtcbiAgICAgICAgICAgIC4uLm5ldyBTZXQoT2JqZWN0LmtleXMocHJldlN0YXRlLnF1ZXJ5UGFyYW1zKS5jb25jYXQoT2JqZWN0LmtleXMoY3VyclN0YXRlLnF1ZXJ5UGFyYW1zKSkpLFxuICAgICAgICAgIF07XG5cbiAgICAgICAgICBjb25zdCBjaGFuZ2VkUXVlcnlQYXJhbXMgPSBhbGxRdWVyeVBhcmFtcy5maWx0ZXIoXG4gICAgICAgICAgICAoa2V5KSA9PiBjdXJyU3RhdGUucXVlcnlQYXJhbXNba2V5XSAhPT0gcHJldlN0YXRlLnF1ZXJ5UGFyYW1zW2tleV0sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmICghY29uZmlnLnF1ZXJ5UGFyYW1UcmlnZ2VyTGlzdD8ubGVuZ3RoICYmICFkaWRGcmFnbWVudENoYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNhc2VRdWVyeVBhcmFtcyA9IGNoYW5nZWRRdWVyeVBhcmFtcy5zb21lKChrZXkpID0+IGNvbmZpZy5xdWVyeVBhcmFtVHJpZ2dlckxpc3Q/LmluY2x1ZGVzKGtleSkpO1xuICAgICAgICAgIGNvbnN0IGNhc2VGcmFnbWVudCA9IGRpZEZyYWdtZW50Q2hhbmdlICYmIGNvbmZpZy5mcmFnbWVudD8uZW5hYmxlZDtcblxuICAgICAgICAgIGlmIChjYXNlUXVlcnlQYXJhbXMpIHtcbiAgICAgICAgICAgIChjb25maWcuc2Nyb2xsRWxlbWVudCA/PyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnNjcm9sbFRvcCA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChjYXNlRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGN1cnJTdGF0ZS5mcmFnbWVudCA/PyAnJyk7XG5cbiAgICAgICAgICAgIGlmIChmcmFnbWVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgZnJhZ21lbnRFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6IGNvbmZpZy5mcmFnbWVudD8uc21vb3RoID8gJ3Ntb290aCcgOiAnYXV0bycgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoY3VyclN0YXRlLmRhdGFbJ2Rpc2FibGVTY3JvbGxUb3BBc1JldHVyblJvdXRlJ10gJiYgcHJldlN0YXRlLmRhdGFbJ2Rpc2FibGVTY3JvbGxUb3AnXSkgJiZcbiAgICAgICAgICAgICFjdXJyU3RhdGUuZGF0YVsnZGlzYWJsZVNjcm9sbFRvcCddXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAoY29uZmlnLnNjcm9sbEVsZW1lbnQgPz8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBzZWxlY3RRdWVyeVBhcmFtPFQgPSBzdHJpbmcgfCB1bmRlZmluZWQ+KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKFxuICAgICAgbWFwKChzdGF0ZSkgPT4gc3RhdGUucXVlcnlQYXJhbXNba2V5XSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG4gIH1cblxuICBzZWxlY3RQYXRoUGFyYW08VCA9IHN0cmluZyB8IHVuZGVmaW5lZD4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHN0YXRlKSA9PiBzdGF0ZS5wYXRoUGFyYW1zW2tleV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0RGF0YTxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHN0YXRlKSA9PiBzdGF0ZS5kYXRhW2tleV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGVxdWFsKGEsIGIpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZXItc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQVEsYUFBYSxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFFSCxRQUFRLEVBQ1IsV0FBVyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFakMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxTQUFzQyxFQUFFLEVBQUUsRUFBRTtJQUNqRixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtRQUN6QixPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFDO0tBQ0g7SUFFRCxPQUFPO1FBQ0wsNkJBQTZCLEVBQUUsSUFBSTtLQUNwQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFakUsTUFHYSxrQkFBa0I7SUFvQjdCLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQ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b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhLCBOYXZpZ2F0aW9uRW5kLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBwYWlyd2lzZSxcbiAgc2hhcmVSZXBsYXksXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZXF1YWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCByb3V0ZXJEaXNhYmxlU2Nyb2xsVG9wID0gKGNvbmZpZzogeyBhc1JldHVyblJvdXRlPzogYm9vbGVhbiB9ID0ge30pID0+IHtcbiAgaWYgKCFjb25maWcuYXNSZXR1cm5Sb3V0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICBkaXNhYmxlU2Nyb2xsVG9wOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRpc2FibGVTY3JvbGxUb3BBc1JldHVyblJvdXRlOiB0cnVlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IEVUX1BST1BFUlRZX1JFTU9WRUQgPSBTeW1ib2woJ0VUX1BST1BFUlRZX1JFTU9WRUQnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlclN0YXRlU2VydmljZSB7XG4gIHByaXZhdGUgX2lzU2Nyb2xsVG9wT25OYXZpZ2F0aW9uRW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcvJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7XG4gICAgZGF0YTogRGF0YTtcbiAgICBwYXRoUGFyYW1zOiBQYXJhbXM7XG4gICAgcXVlcnlQYXJhbXM6IFBhcmFtcztcbiAgICB0aXRsZTogc3RyaW5nIHwgbnVsbDtcbiAgICBmcmFnbWVudDogc3RyaW5nIHwgbnVsbDtcbiAgfT4oe1xuICAgIHRpdGxlOiBudWxsLFxuICAgIGZyYWdtZW50OiBudWxsLFxuICAgIGRhdGE6IHt9LFxuICAgIHBhdGhQYXJhbXM6IHt9LFxuICAgIHF1ZXJ5UGFyYW1zOiB7fSxcbiAgfSk7XG5cbiAgZ2V0IHJvdXRlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm91dGUkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBnZXQgc3RhdGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGRhdGEkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoc3RhdGUpID0+IHN0YXRlLmRhdGEpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGVxdWFsKGEsIGIpKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpLmRhdGE7XG4gIH1cblxuICBnZXQgcGF0aFBhcmFtcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKFxuICAgICAgbWFwKChzdGF0ZSkgPT4gc3RhdGUucGF0aFBhcmFtcyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gZXF1YWwoYSwgYikpLFxuICAgICk7XG4gIH1cblxuICBnZXQgcGF0aFBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLmdldFZhbHVlKCkucGF0aFBhcmFtcztcbiAgfVxuXG4gIGdldCBxdWVyeVBhcmFtcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKFxuICAgICAgbWFwKChzdGF0ZSkgPT4gc3RhdGUucXVlcnlQYXJhbXMpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGVxdWFsKGEsIGIpKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5UGFyYW1zKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuZ2V0VmFsdWUoKS5xdWVyeVBhcmFtcztcbiAgfVxuXG4gIGdldCB0aXRsZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKFxuICAgICAgbWFwKChzdGF0ZSkgPT4gc3RhdGUudGl0bGUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuZ2V0VmFsdWUoKS50aXRsZTtcbiAgfVxuXG4gIGdldCBmcmFnbWVudCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKFxuICAgICAgbWFwKChzdGF0ZSkgPT4gc3RhdGUuZnJhZ21lbnQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGZyYWdtZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuZ2V0VmFsdWUoKS5mcmFnbWVudDtcbiAgfVxuXG4gIGdldCBkYXRhQ2hhbmdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YSQucGlwZShcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKHYpID0+IHRoaXMuX2ZpbmRDaGFuZ2VzKHYpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBxdWVyeVBhcmFtQ2hhbmdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlQYXJhbXMkLnBpcGUoXG4gICAgICBwYWlyd2lzZSgpLFxuICAgICAgbWFwKCh2KSA9PiB0aGlzLl9maW5kQ2hhbmdlcyh2KSksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICAgICk7XG4gIH1cblxuICBnZXQgcGF0aFBhcmFtQ2hhbmdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMucGF0aFBhcmFtcyQucGlwZShcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKHYpID0+IHRoaXMuX2ZpbmRDaGFuZ2VzKHYpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX3JvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgTmF2aWdhdGlvbkVuZCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYS51cmwgPT09IGIudXJsKSxcbiAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgdXJsIH0gPSBldmVudDtcblxuICAgICAgICAgIGNvbnN0IHVybFdpdGhvdXRRdWVyeVBhcmFtcyA9IHVybC5zcGxpdCgnPycpWzBdO1xuICAgICAgICAgIGNvbnN0IHdpdGhvdXRGcmFnbWVudCA9IHVybFdpdGhvdXRRdWVyeVBhcmFtcy5zcGxpdCgnIycpWzBdO1xuXG4gICAgICAgICAgcmV0dXJuIHdpdGhvdXRGcmFnbWVudDtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuX3JvdXRlJCk7XG5cbiAgICB0aGlzLl9yb3V0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGxldCByb3V0ZSA9IHRoaXMuX3JvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC5yb290O1xuXG4gICAgICAgICAgd2hpbGUgKHJvdXRlLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgIHJvdXRlID0gcm91dGUuZmlyc3RDaGlsZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB7IGRhdGEsIHBhcmFtcywgcXVlcnlQYXJhbXMsIHRpdGxlLCBmcmFnbWVudCB9ID0gcm91dGU7XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhdGhQYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlID8/IG51bGwsXG4gICAgICAgICAgICBmcmFnbWVudCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5fc3RhdGUkKTtcbiAgfVxuXG4gIGVuYWJsZVNjcm9sbEVuaGFuY2VtZW50cyhcbiAgICBjb25maWc6IHtcbiAgICAgIHNjcm9sbEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgICAgIHF1ZXJ5UGFyYW1UcmlnZ2VyTGlzdD86IHN0cmluZ1tdO1xuICAgICAgZnJhZ21lbnQ/OiB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgICBzbW9vdGg/OiBib29sZWFuO1xuICAgICAgfTtcbiAgICB9ID0ge30sXG4gICkge1xuICAgIGlmICh0aGlzLl9pc1Njcm9sbFRvcE9uTmF2aWdhdGlvbkVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1Njcm9sbFRvcE9uTmF2aWdhdGlvbkVuYWJsZWQgPSB0cnVlO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fc3RhdGUkLnBpcGUocGFpcndpc2UoKSksIHRoaXMuX3JvdXRlJC5waXBlKHBhaXJ3aXNlKCkpXSlcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtbcHJldlN0YXRlLCBjdXJyU3RhdGVdLCBbcHJldlJvdXRlLCBjdXJyUm91dGVdXSkgPT4ge1xuICAgICAgICBjb25zdCBzYW1lVXJsTmF2aWdhdGlvbiA9IHByZXZSb3V0ZSA9PT0gY3VyclJvdXRlICYmIGVxdWFsKHByZXZTdGF0ZS5wYXRoUGFyYW1zLCBjdXJyU3RhdGUucGF0aFBhcmFtcyk7XG4gICAgICAgIGNvbnN0IGRpZEZyYWdtZW50Q2hhbmdlID0gcHJldlN0YXRlLmZyYWdtZW50ICE9PSBjdXJyU3RhdGUuZnJhZ21lbnQ7XG5cbiAgICAgICAgaWYgKHNhbWVVcmxOYXZpZ2F0aW9uKSB7XG4gICAgICAgICAgY29uc3QgYWxsUXVlcnlQYXJhbXMgPSBbXG4gICAgICAgICAgICAuLi5uZXcgU2V0KE9iamVjdC5rZXlzKHByZXZTdGF0ZS5xdWVyeVBhcmFtcykuY29uY2F0KE9iamVjdC5rZXlzKGN1cnJTdGF0ZS5xdWVyeVBhcmFtcykpKSxcbiAgICAgICAgICBdO1xuXG4gICAgICAgICAgY29uc3QgY2hhbmdlZFF1ZXJ5UGFyYW1zID0gYWxsUXVlcnlQYXJhbXMuZmlsdGVyKFxuICAgICAgICAgICAgKGtleSkgPT4gY3VyclN0YXRlLnF1ZXJ5UGFyYW1zW2tleV0gIT09IHByZXZTdGF0ZS5xdWVyeVBhcmFtc1trZXldLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoIWNvbmZpZy5xdWVyeVBhcmFtVHJpZ2dlckxpc3Q/Lmxlbmd0aCAmJiAhZGlkRnJhZ21lbnRDaGFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjYXNlUXVlcnlQYXJhbXMgPSBjaGFuZ2VkUXVlcnlQYXJhbXMuc29tZSgoa2V5KSA9PiBjb25maWcucXVlcnlQYXJhbVRyaWdnZXJMaXN0Py5pbmNsdWRlcyhrZXkpKTtcbiAgICAgICAgICBjb25zdCBjYXNlRnJhZ21lbnQgPSBkaWRGcmFnbWVudENoYW5nZSAmJiBjb25maWcuZnJhZ21lbnQ/LmVuYWJsZWQ7XG5cbiAgICAgICAgICBpZiAoY2FzZVF1ZXJ5UGFyYW1zKSB7XG4gICAgICAgICAgICAoY29uZmlnLnNjcm9sbEVsZW1lbnQgPz8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY2FzZUZyYWdtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBmcmFnbWVudEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjdXJyU3RhdGUuZnJhZ21lbnQgPz8gJycpO1xuXG4gICAgICAgICAgICBpZiAoZnJhZ21lbnRFbGVtZW50KSB7XG4gICAgICAgICAgICAgIGZyYWdtZW50RWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiBjb25maWcuZnJhZ21lbnQ/LnNtb290aCA/ICdzbW9vdGgnIDogJ2F1dG8nIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhKGN1cnJTdGF0ZS5kYXRhWydkaXNhYmxlU2Nyb2xsVG9wQXNSZXR1cm5Sb3V0ZSddICYmIHByZXZTdGF0ZS5kYXRhWydkaXNhYmxlU2Nyb2xsVG9wJ10pICYmXG4gICAgICAgICAgICAhY3VyclN0YXRlLmRhdGFbJ2Rpc2FibGVTY3JvbGxUb3AnXVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgKGNvbmZpZy5zY3JvbGxFbGVtZW50ID8/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuc2Nyb2xsVG9wID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0UXVlcnlQYXJhbTxUID0gc3RyaW5nIHwgdW5kZWZpbmVkPihrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoc3RhdGUpID0+IHN0YXRlLnF1ZXJ5UGFyYW1zW2tleV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0UGF0aFBhcmFtPFQgPSBzdHJpbmcgfCB1bmRlZmluZWQ+KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKFxuICAgICAgbWFwKChzdGF0ZSkgPT4gc3RhdGUucGF0aFBhcmFtc1trZXldKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdERhdGE8VCA9IHVua25vd24+KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKFxuICAgICAgbWFwKChzdGF0ZSkgPT4gc3RhdGUuZGF0YVtrZXldKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBlcXVhbChhLCBiKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDaGFuZ2VzPFQgZXh0ZW5kcyBbUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+XSwgSiBleHRlbmRzIFBhcnRpYWw8VFtudW1iZXJdPj4oW1xuICAgIHByZXZpb3VzLFxuICAgIGN1cnJlbnQsXG4gIF06IFQpIHtcbiAgICBjb25zdCBjaGFuZ2VzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gICAgY29uc3QgYWxsS2V5cyA9IG5ldyBTZXQ8a2V5b2YgdHlwZW9mIHByZXZpb3VzICYga2V5b2YgdHlwZW9mIGN1cnJlbnQ+KFtcbiAgICAgIC4uLk9iamVjdC5rZXlzKHByZXZpb3VzKSxcbiAgICAgIC4uLk9iamVjdC5rZXlzKGN1cnJlbnQpLFxuICAgIF0pO1xuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgYWxsS2V5cykge1xuICAgICAgaWYgKCFlcXVhbChwcmV2aW91c1trZXldLCBjdXJyZW50W2tleV0pKSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IGN1cnJlbnRba2V5XSA9PT0gdW5kZWZpbmVkID8gRVRfUFJPUEVSVFlfUkVNT1ZFRCA6IGN1cnJlbnRba2V5XTtcblxuICAgICAgICBjaGFuZ2VzW2tleV0gPSB2YWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYW5nZXMgYXMgSjtcbiAgfVxufVxuIl19
|
|
@@ -135,8 +135,8 @@ class ViewportService {
|
|
|
135
135
|
}
|
|
136
136
|
return 'xs';
|
|
137
137
|
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
139
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.
|
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ViewportService, deps: [{ token: VIEWPORT_CONFIG, optional: true }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
139
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ViewportService, providedIn: 'root' }); }
|
|
140
140
|
}
|
|
141
141
|
__decorate([
|
|
142
142
|
Memo(),
|
|
@@ -155,7 +155,7 @@ __decorate([
|
|
|
155
155
|
__metadata("design:returntype", void 0)
|
|
156
156
|
], ViewportService.prototype, "_buildMediaQuery", null);
|
|
157
157
|
export { ViewportService };
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ViewportService, decorators: [{
|
|
159
159
|
type: Injectable,
|
|
160
160
|
args: [{
|
|
161
161
|
providedIn: 'root',
|