@skyux/core 6.15.0 → 6.17.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/documentation.json +1042 -892
- package/esm2020/lib/modules/adapter-service/adapter.service.mjs +21 -22
- package/esm2020/lib/modules/affix/affix-offset.mjs +1 -1
- package/esm2020/lib/modules/affix/affix.directive.mjs +38 -23
- package/esm2020/lib/modules/affix/affixer.mjs +266 -260
- package/esm2020/lib/modules/affix/dom-utils.mjs +7 -7
- package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +48 -44
- package/esm2020/lib/modules/dock/dock-item.mjs +10 -5
- package/esm2020/lib/modules/dock/dock.component.mjs +55 -31
- package/esm2020/lib/modules/dock/dock.service.mjs +40 -36
- package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +37 -22
- package/esm2020/lib/modules/log/log.service.mjs +37 -37
- package/esm2020/lib/modules/media-query/media-query.service.mjs +50 -47
- package/esm2020/lib/modules/mutation/mutation-observer-service.mjs +3 -1
- package/esm2020/lib/modules/numeric/numeric.pipe.mjs +26 -19
- package/esm2020/lib/modules/numeric/numeric.service.mjs +84 -99
- package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +23 -17
- package/esm2020/lib/modules/overlay/overlay-instance.mjs +18 -9
- package/esm2020/lib/modules/overlay/overlay.component.mjs +79 -55
- package/esm2020/lib/modules/overlay/overlay.service.mjs +55 -49
- package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +32 -21
- package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +38 -46
- package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +66 -67
- package/esm2020/lib/modules/title/title.service.mjs +8 -4
- package/esm2020/lib/modules/trim/trim.directive.mjs +10 -11
- package/esm2020/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +1 -1
- package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +75 -60
- package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +166 -156
- package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +7 -3
- package/esm2020/testing/core-testing.module.mjs +4 -1
- package/esm2020/testing/mock-media-query.service.mjs +4 -1
- package/esm2020/testing/mock-ui-config.service.mjs +4 -1
- package/esm2020/testing/overlay/overlay-harness-filters.mjs +1 -1
- package/esm2020/testing/overlay/overlay-harness.mjs +2 -1
- package/esm2020/testing/shared/component-harness.mjs +4 -1
- package/esm2020/testing/shared/harness-filters.mjs +1 -1
- package/fesm2015/skyux-core-testing.mjs +13 -0
- package/fesm2015/skyux-core-testing.mjs.map +1 -1
- package/fesm2015/skyux-core.mjs +1276 -1151
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core-testing.mjs +13 -0
- package/fesm2020/skyux-core-testing.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +1278 -1150
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/lib/modules/adapter-service/adapter.service.d.ts +3 -5
- package/lib/modules/affix/affix-offset.d.ts +1 -1
- package/lib/modules/affix/affix.directive.d.ts +12 -13
- package/lib/modules/affix/affixer.d.ts +2 -34
- package/lib/modules/affix/dom-utils.d.ts +3 -3
- package/lib/modules/dock/dock-dom-adapter.service.d.ts +2 -9
- package/lib/modules/dock/dock-item.d.ts +1 -1
- package/lib/modules/dock/dock.component.d.ts +2 -10
- package/lib/modules/dock/dock.service.d.ts +2 -5
- package/lib/modules/dynamic-component/dynamic-component.service.d.ts +2 -7
- package/lib/modules/log/log.service.d.ts +2 -6
- package/lib/modules/media-query/media-query.service.d.ts +1 -8
- package/lib/modules/numeric/numeric.pipe.d.ts +2 -8
- package/lib/modules/numeric/numeric.service.d.ts +3 -36
- package/lib/modules/overlay/overlay-adapter.service.d.ts +1 -3
- package/lib/modules/overlay/overlay-instance.d.ts +1 -2
- package/lib/modules/overlay/overlay.component.d.ts +1 -14
- package/lib/modules/overlay/overlay.service.d.ts +1 -7
- package/lib/modules/percent-pipe/percent.pipe.d.ts +2 -9
- package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +2 -7
- package/lib/modules/scrollable-host/scrollable-host.service.d.ts +2 -11
- package/lib/modules/title/title.service.d.ts +2 -2
- package/lib/modules/trim/trim.directive.d.ts +0 -2
- package/lib/modules/viewkeeper/viewkeeper-boundary-info.d.ts +1 -1
- package/lib/modules/viewkeeper/viewkeeper.d.ts +2 -24
- package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +4 -16
- package/lib/modules/viewkeeper/viewkeeper.service.d.ts +1 -1
- package/package.json +2 -2
- package/testing/core-testing.module.d.ts +3 -0
- package/testing/mock-media-query.service.d.ts +3 -0
- package/testing/mock-ui-config.service.d.ts +3 -0
- package/testing/overlay/overlay-harness-filters.d.ts +1 -0
- package/testing/overlay/overlay-harness.d.ts +1 -0
- package/testing/shared/component-harness.d.ts +3 -0
- package/testing/shared/harness-filters.d.ts +1 -0
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyOverlayInstance_backdropClick, _SkyOverlayInstance_backdropClickObs, _SkyOverlayInstance_closed, _SkyOverlayInstance_closedObs;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { Subject } from 'rxjs';
|
2
4
|
/**
|
3
5
|
* Represents a new overlay instance. It is used to manage the "closed" state of the overlay,
|
@@ -11,29 +13,35 @@ export class SkyOverlayInstance {
|
|
11
13
|
config, componentRef) {
|
12
14
|
this.config = config;
|
13
15
|
this.componentRef = componentRef;
|
14
|
-
this
|
15
|
-
this
|
16
|
+
_SkyOverlayInstance_backdropClick.set(this, void 0);
|
17
|
+
_SkyOverlayInstance_backdropClickObs.set(this, void 0);
|
18
|
+
_SkyOverlayInstance_closed.set(this, void 0);
|
19
|
+
_SkyOverlayInstance_closedObs.set(this, void 0);
|
16
20
|
this.id = this.componentRef.instance.id;
|
17
21
|
this.componentRef.instance.closed.subscribe(() => {
|
18
|
-
this.
|
19
|
-
this.
|
20
|
-
this.
|
22
|
+
__classPrivateFieldGet(this, _SkyOverlayInstance_closed, "f").next();
|
23
|
+
__classPrivateFieldGet(this, _SkyOverlayInstance_closed, "f").complete();
|
24
|
+
__classPrivateFieldGet(this, _SkyOverlayInstance_backdropClick, "f").complete();
|
21
25
|
});
|
22
26
|
this.componentRef.instance.backdropClick.subscribe(() => {
|
23
|
-
this.
|
27
|
+
__classPrivateFieldGet(this, _SkyOverlayInstance_backdropClick, "f").next();
|
24
28
|
});
|
29
|
+
__classPrivateFieldSet(this, _SkyOverlayInstance_backdropClick, new Subject(), "f");
|
30
|
+
__classPrivateFieldSet(this, _SkyOverlayInstance_closed, new Subject(), "f");
|
31
|
+
__classPrivateFieldSet(this, _SkyOverlayInstance_backdropClickObs, __classPrivateFieldGet(this, _SkyOverlayInstance_backdropClick, "f").asObservable(), "f");
|
32
|
+
__classPrivateFieldSet(this, _SkyOverlayInstance_closedObs, __classPrivateFieldGet(this, _SkyOverlayInstance_closed, "f").asObservable(), "f");
|
25
33
|
}
|
26
34
|
/**
|
27
35
|
* Emits when the overlay is clicked (but not its content).
|
28
36
|
*/
|
29
37
|
get backdropClick() {
|
30
|
-
return this
|
38
|
+
return __classPrivateFieldGet(this, _SkyOverlayInstance_backdropClickObs, "f");
|
31
39
|
}
|
32
40
|
/**
|
33
41
|
* Emits after the overlay is closed.
|
34
42
|
*/
|
35
43
|
get closed() {
|
36
|
-
return this
|
44
|
+
return __classPrivateFieldGet(this, _SkyOverlayInstance_closedObs, "f");
|
37
45
|
}
|
38
46
|
/**
|
39
47
|
* Creates and attaches a component to the overlay.
|
@@ -53,4 +61,5 @@ export class SkyOverlayInstance {
|
|
53
61
|
this.componentRef.instance.attachTemplate(templateRef, context);
|
54
62
|
}
|
55
63
|
}
|
56
|
-
|
64
|
+
_SkyOverlayInstance_backdropClick = new WeakMap(), _SkyOverlayInstance_backdropClickObs = new WeakMap(), _SkyOverlayInstance_closed = new WeakMap(), _SkyOverlayInstance_closedObs = new WeakMap();
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUF5QjdCO0lBQ0U7O09BRUc7SUFDYSxNQUF3QixFQUN4QixZQUErQztRQUQvQyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBbUM7UUFiakUsb0RBQThCO1FBRTlCLHVEQUFvQztRQUVwQyw2Q0FBdUI7UUFFdkIsZ0RBQTZCO1FBUzNCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9DLHVCQUFBLElBQUksa0NBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQix1QkFBQSxJQUFJLGtDQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsdUJBQUEsSUFBSSx5Q0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsdUJBQUEsSUFBSSx5Q0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsdUJBQUEsSUFBSSxxQ0FBa0IsSUFBSSxPQUFPLEVBQVEsTUFBQSxDQUFDO1FBQzFDLHVCQUFBLElBQUksOEJBQVcsSUFBSSxPQUFPLEVBQVEsTUFBQSxDQUFDO1FBRW5DLHVCQUFBLElBQUksd0NBQXFCLHVCQUFBLElBQUkseUNBQWUsQ0FBQyxZQUFZLEVBQUUsTUFBQSxDQUFDO1FBQzVELHVCQUFBLElBQUksaUNBQWMsdUJBQUEsSUFBSSxrQ0FBUSxDQUFDLFlBQVksRUFBRSxNQUFBLENBQUM7SUFDaEQsQ0FBQztJQWhERDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUN0QixPQUFPLHVCQUFBLElBQUksNENBQWtCLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLHFDQUFXLENBQUM7SUFDekIsQ0FBQztJQXNDRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUE0QjtRQUU1QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQzdELFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBSSxXQUEyQixFQUFFLE9BQVc7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL292ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmV3IG92ZXJsYXkgaW5zdGFuY2UuIEl0IGlzIHVzZWQgdG8gbWFuYWdlIHRoZSBcImNsb3NlZFwiIHN0YXRlIG9mIHRoZSBvdmVybGF5LFxuICogYW5kIGFjY2VzcyBhbnkgcHVibGljIG1lbWJlcnMgb24gdGhlIGFwcGVuZGVkIGNvbnRlbnQgY29tcG9uZW50IGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheUluc3RhbmNlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIG92ZXJsYXkgaXMgY2xpY2tlZCAoYnV0IG5vdCBpdHMgY29udGVudCkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnM7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYWZ0ZXIgdGhlIG92ZXJsYXkgaXMgY2xvc2VkLlxuICAgKi9cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gICNiYWNrZHJvcENsaWNrOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNiYWNrZHJvcENsaWNrT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjbG9zZWQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2Nsb3NlZE9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U2t5T3ZlcmxheUNvbXBvbmVudD5cbiAgKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmlkO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLmNvbXBsZXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5iYWNrZHJvcENsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLm5leHQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI2Nsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrT2JzID0gdGhpcy4jYmFja2Ryb3BDbGljay5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNjbG9zZWRPYnMgPSB0aGlzLiNjbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbmQgYXR0YWNoZXMgYSBjb21wb25lbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBhdHRhY2guXG4gICAqIEBwYXJhbSBwcm92aWRlcnMgQ3VzdG9tIHByb3ZpZGVycyB0byBhcHBseSB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGF0dGFjaENvbXBvbmVudDxDPihcbiAgICBjb21wb25lbnQ6IFR5cGU8Qz4sXG4gICAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXVxuICApOiBDIHtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hdHRhY2hDb21wb25lbnQoXG4gICAgICBjb21wb25lbnQsXG4gICAgICBwcm92aWRlcnNcbiAgICApO1xuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgYSBgVGVtcGxhdGVSZWZgIHRvIHRoZSBvdmVybGF5LlxuICAgKiBAcGFyYW0gdGVtcGxhdGVSZWYgVGhlIGBUZW1wbGF0ZVJlZmAgdG8gYXR0YWNoLlxuICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCB0byBwcm92aWRlIHRvIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZTxUPih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sIGNvbnRleHQ/OiBUKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXR0YWNoVGVtcGxhdGUodGVtcGxhdGVSZWYsIGNvbnRleHQpO1xuICB9XG59XG4iXX0=
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyOverlayComponent_instances, _SkyOverlayComponent_backdropClick, _SkyOverlayComponent_backdropClickObs, _SkyOverlayComponent_changeDetector, _SkyOverlayComponent_closed, _SkyOverlayComponent_closedObs, _SkyOverlayComponent_context, _SkyOverlayComponent_coreAdapter, _SkyOverlayComponent_injector, _SkyOverlayComponent_ngUnsubscribe, _SkyOverlayComponent_resolver, _SkyOverlayComponent_router, _SkyOverlayComponent_routerSubscription, _SkyOverlayComponent_applyConfig, _SkyOverlayComponent_addBackdropClickListener, _SkyOverlayComponent_addRouteListener, _SkyOverlayComponent_removeRouteListener;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, HostBinding, Injector, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
|
2
4
|
import { NavigationStart, Router } from '@angular/router';
|
3
5
|
import { Subject, fromEvent } from 'rxjs';
|
@@ -29,51 +31,70 @@ let uniqueZIndex = 5000;
|
|
29
31
|
* @internal
|
30
32
|
*/
|
31
33
|
export class SkyOverlayComponent {
|
34
|
+
// TODO: Replace deprecated `ComponentFactoryResolver`.
|
32
35
|
constructor(changeDetector, resolver, injector, coreAdapter, context, idSvc, router) {
|
33
|
-
this
|
34
|
-
this.resolver = resolver;
|
35
|
-
this.injector = injector;
|
36
|
-
this.coreAdapter = coreAdapter;
|
37
|
-
this.context = context;
|
38
|
-
this.router = router;
|
36
|
+
_SkyOverlayComponent_instances.add(this);
|
39
37
|
this.wrapperClass = '';
|
40
38
|
this.enablePointerEvents = false;
|
41
39
|
this.showBackdrop = false;
|
42
40
|
this.zIndex = `${++uniqueZIndex}`;
|
43
|
-
this
|
44
|
-
this
|
45
|
-
this
|
41
|
+
_SkyOverlayComponent_backdropClick.set(this, void 0);
|
42
|
+
_SkyOverlayComponent_backdropClickObs.set(this, void 0);
|
43
|
+
_SkyOverlayComponent_changeDetector.set(this, void 0);
|
44
|
+
_SkyOverlayComponent_closed.set(this, void 0);
|
45
|
+
_SkyOverlayComponent_closedObs.set(this, void 0);
|
46
|
+
_SkyOverlayComponent_context.set(this, void 0);
|
47
|
+
_SkyOverlayComponent_coreAdapter.set(this, void 0);
|
48
|
+
_SkyOverlayComponent_injector.set(this, void 0);
|
49
|
+
_SkyOverlayComponent_ngUnsubscribe.set(this, new Subject());
|
50
|
+
_SkyOverlayComponent_resolver.set(this, void 0);
|
51
|
+
_SkyOverlayComponent_router.set(this, void 0);
|
52
|
+
_SkyOverlayComponent_routerSubscription.set(this, void 0);
|
53
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_changeDetector, changeDetector, "f");
|
54
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_resolver, resolver, "f");
|
55
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_injector, injector, "f");
|
56
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_coreAdapter, coreAdapter, "f");
|
57
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_context, context, "f");
|
58
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_router, router, "f");
|
46
59
|
this.id = idSvc.generateId();
|
60
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_backdropClick, new Subject(), "f");
|
61
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_closed, new Subject(), "f");
|
62
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_backdropClickObs, __classPrivateFieldGet(this, _SkyOverlayComponent_backdropClick, "f").asObservable(), "f");
|
63
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_closedObs, __classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").asObservable(), "f");
|
47
64
|
}
|
48
65
|
get backdropClick() {
|
49
|
-
return this
|
66
|
+
return __classPrivateFieldGet(this, _SkyOverlayComponent_backdropClickObs, "f");
|
50
67
|
}
|
51
68
|
get closed() {
|
52
|
-
return this
|
69
|
+
return __classPrivateFieldGet(this, _SkyOverlayComponent_closedObs, "f");
|
53
70
|
}
|
54
71
|
ngOnInit() {
|
55
|
-
this.
|
72
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_applyConfig).call(this, __classPrivateFieldGet(this, _SkyOverlayComponent_context, "f").config);
|
56
73
|
setTimeout(() => {
|
57
|
-
this.
|
74
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_addBackdropClickListener).call(this);
|
58
75
|
});
|
59
|
-
if (this.
|
60
|
-
this.
|
76
|
+
if (__classPrivateFieldGet(this, _SkyOverlayComponent_context, "f").config.closeOnNavigation) {
|
77
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_addRouteListener).call(this);
|
61
78
|
}
|
62
79
|
}
|
63
80
|
ngOnDestroy() {
|
64
|
-
this.
|
65
|
-
this.
|
66
|
-
this.
|
67
|
-
this.
|
68
|
-
this.
|
69
|
-
this.
|
81
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_removeRouteListener).call(this);
|
82
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f").next();
|
83
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f").complete();
|
84
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_backdropClick, "f").complete();
|
85
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").next();
|
86
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").complete();
|
70
87
|
}
|
71
88
|
attachComponent(component, providers = []) {
|
89
|
+
/*istanbul ignore if: untestable*/
|
90
|
+
if (!this.targetRef) {
|
91
|
+
throw new Error('[SkyOverlayComponent] Could not attach the component because the target element could not be found.');
|
92
|
+
}
|
72
93
|
this.targetRef.clear();
|
73
|
-
const factory = this.
|
94
|
+
const factory = __classPrivateFieldGet(this, _SkyOverlayComponent_resolver, "f").resolveComponentFactory(component);
|
74
95
|
const injector = Injector.create({
|
75
96
|
providers,
|
76
|
-
parent: this
|
97
|
+
parent: __classPrivateFieldGet(this, _SkyOverlayComponent_injector, "f"),
|
77
98
|
});
|
78
99
|
const componentRef = this.targetRef.createComponent(factory, undefined, injector);
|
79
100
|
// Run an initial change detection cycle after the component has been created.
|
@@ -81,48 +102,51 @@ export class SkyOverlayComponent {
|
|
81
102
|
return componentRef;
|
82
103
|
}
|
83
104
|
attachTemplate(templateRef, context) {
|
105
|
+
/*istanbul ignore if: untestable*/
|
106
|
+
if (!this.targetRef) {
|
107
|
+
throw new Error('[SkyOverlayComponent] Could not attach the template because the target element could not be found.');
|
108
|
+
}
|
84
109
|
this.targetRef.clear();
|
85
110
|
return this.targetRef.createEmbeddedView(templateRef, context);
|
86
111
|
}
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
112
|
+
}
|
113
|
+
_SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdropClickObs = new WeakMap(), _SkyOverlayComponent_changeDetector = new WeakMap(), _SkyOverlayComponent_closed = new WeakMap(), _SkyOverlayComponent_closedObs = new WeakMap(), _SkyOverlayComponent_context = new WeakMap(), _SkyOverlayComponent_coreAdapter = new WeakMap(), _SkyOverlayComponent_injector = new WeakMap(), _SkyOverlayComponent_ngUnsubscribe = new WeakMap(), _SkyOverlayComponent_resolver = new WeakMap(), _SkyOverlayComponent_router = new WeakMap(), _SkyOverlayComponent_routerSubscription = new WeakMap(), _SkyOverlayComponent_instances = new WeakSet(), _SkyOverlayComponent_applyConfig = function _SkyOverlayComponent_applyConfig(config) {
|
114
|
+
this.wrapperClass = config.wrapperClass || '';
|
115
|
+
this.showBackdrop = !!config.showBackdrop;
|
116
|
+
this.enablePointerEvents = !!config.enablePointerEvents;
|
117
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_changeDetector, "f").markForCheck();
|
118
|
+
}, _SkyOverlayComponent_addBackdropClickListener = function _SkyOverlayComponent_addBackdropClickListener() {
|
119
|
+
fromEvent(window.document, 'click')
|
120
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f")))
|
121
|
+
.subscribe((event) => {
|
122
|
+
if (event.target && this.overlayContentRef && this.overlayRef) {
|
97
123
|
const isChild = this.overlayContentRef.nativeElement.contains(event.target);
|
98
|
-
const isAbove = this.
|
124
|
+
const isAbove = __classPrivateFieldGet(this, _SkyOverlayComponent_coreAdapter, "f").isTargetAboveElement(event.target, this.overlayRef.nativeElement);
|
99
125
|
/* istanbul ignore else */
|
100
126
|
if (!isChild && !isAbove) {
|
101
|
-
this.
|
102
|
-
if (this.
|
103
|
-
this.
|
127
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_backdropClick, "f").next();
|
128
|
+
if (__classPrivateFieldGet(this, _SkyOverlayComponent_context, "f").config.enableClose) {
|
129
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").next();
|
104
130
|
}
|
105
131
|
}
|
106
|
-
});
|
107
|
-
}
|
108
|
-
addRouteListener() {
|
109
|
-
/*istanbul ignore else*/
|
110
|
-
if (this.router) {
|
111
|
-
this.routerSubscription = this.router.events.subscribe((event) => {
|
112
|
-
/* istanbul ignore else */
|
113
|
-
if (event instanceof NavigationStart) {
|
114
|
-
this._closed.next();
|
115
|
-
}
|
116
|
-
});
|
117
132
|
}
|
133
|
+
});
|
134
|
+
}, _SkyOverlayComponent_addRouteListener = function _SkyOverlayComponent_addRouteListener() {
|
135
|
+
/*istanbul ignore else*/
|
136
|
+
if (__classPrivateFieldGet(this, _SkyOverlayComponent_router, "f")) {
|
137
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_routerSubscription, __classPrivateFieldGet(this, _SkyOverlayComponent_router, "f").events.subscribe((event) => {
|
138
|
+
/* istanbul ignore else */
|
139
|
+
if (event instanceof NavigationStart) {
|
140
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").next();
|
141
|
+
}
|
142
|
+
}), "f");
|
118
143
|
}
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
}
|
144
|
+
}, _SkyOverlayComponent_removeRouteListener = function _SkyOverlayComponent_removeRouteListener() {
|
145
|
+
if (__classPrivateFieldGet(this, _SkyOverlayComponent_routerSubscription, "f")) {
|
146
|
+
__classPrivateFieldGet(this, _SkyOverlayComponent_routerSubscription, "f").unsubscribe();
|
147
|
+
__classPrivateFieldSet(this, _SkyOverlayComponent_routerSubscription, undefined, "f");
|
124
148
|
}
|
125
|
-
}
|
149
|
+
};
|
126
150
|
SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyOverlayContext }, { token: i3.SkyIdService }, { token: i4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
127
151
|
SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"wrapperClass\"\n [style.zIndex]=\"zIndex\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{position:fixed;top:0;right:0;left:0;bottom:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);top:0;right:0;left:0;bottom:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
128
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyOverlayComponent, decorators: [{
|
@@ -152,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
152
176
|
static: true,
|
153
177
|
}]
|
154
178
|
}] } });
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUV4QixVQUFVLEVBRVYsV0FBVyxFQUNYLFFBQVEsRUFHUixRQUFRLEVBSVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBYyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBRXREOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztBQUV4Qjs7R0FFRztBQU9ILE1BQU0sT0FBTyxtQkFBbUI7SUE4QzlCLFlBQ1UsY0FBaUMsRUFDakMsUUFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsV0FBa0MsRUFDbEMsT0FBMEIsRUFDbEMsS0FBbUIsRUFDQyxNQUFlO1FBTjNCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUVkLFdBQU0sR0FBTixNQUFNLENBQVM7UUFwRDlCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBVWxCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUs1QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixXQUFNLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO1FBb0I1QixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFJcEMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXJDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBV3BDLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFyREQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFpRE0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxlQUFlLENBQ3BCLFNBQWtCLEVBQ2xCLFlBQThCLEVBQUU7UUFFaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUztZQUNULE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN0QixDQUFDLENBQUM7UUFFSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FDakQsT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLENBQ1QsQ0FBQztRQUVGLDhFQUE4RTtRQUM5RSxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFL0MsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVNLGNBQWMsQ0FDbkIsV0FBMkIsRUFDM0IsT0FBVTtRQUVWLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sV0FBVyxDQUFDLE1BQXdCO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQzthQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQzNELEtBQUssQ0FBQyxNQUFNLENBQ2IsQ0FBQztZQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQ25ELEtBQUssQ0FBQyxNQUFNLEVBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQzlCLENBQUM7WUFFRiwwQkFBMEI7WUFDMUIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ3JCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsd0JBQXdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDL0QsMEJBQTBCO2dCQUMxQixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7b0JBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ3JCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7U0FDckM7SUFDSCxDQUFDOztnSEFoS1UsbUJBQW1CO29HQUFuQixtQkFBbUIsaU1BcUJ0QixVQUFVLGlIQU1WLFVBQVUsNEdBTVYsZ0JBQWdCLDJDQ3ZGMUIsK1hBY0E7MkZEd0NhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OzBCQXVENUMsUUFBUTs0Q0F2Q0osRUFBRTtzQkFEUixXQUFXO3VCQUFDLElBQUk7Z0JBV1QsaUJBQWlCO3NCQUp4QixTQUFTO3VCQUFDLG1CQUFtQixFQUFFO3dCQUM5QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT08sVUFBVTtzQkFKakIsU0FBUzt1QkFBQyxZQUFZLEVBQUU7d0JBQ3ZCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTyxTQUFTO3NCQUpoQixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFN0YXRpY1Byb3ZpZGVyLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lJZFNlcnZpY2UgfSBmcm9tICcuLi9pZC9pZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbmZpZyB9IGZyb20gJy4vb3ZlcmxheS1jb25maWcnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbnRleHQgfSBmcm9tICcuL292ZXJsYXktY29udGV4dCc7XG5cbi8qKlxuICogT21uaWJhciBpcyAxMDAwLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYmxhY2tiYXVkL2F1dGgtY2xpZW50L2Jsb2IvbWFzdGVyL3NyYy9vbW5pYmFyL29tbmliYXIudHMjTDEzOVxuICogLS0tXG4gKiBNb2RhbHMgc3RhcnQgdGhlaXIgei1pbmRleGVzIGF0IDEwNDAuIEhvd2V2ZXIsIGVhY2ggbW9kYWwncyB6LWluZGV4IGlzIGEgbXVsdGlwbGUgb2YgMTAsIHNvIGl0XG4gKiB3aWxsIGJlIGRpZmZpY3VsdCB0byByZWxpYWJseSBwcmVkaWN0IGEgei1pbmRleCB0aGF0IHdpbGwgYWx3YXlzIGFwcGVhciBhYm92ZSBhbGwgb3RoZXJcbiAqIGxheWVycy4gU3RhcnRpbmcgdGhlIHotaW5kZXggZm9yIG92ZXJsYXlzIGF0IGEgbnVtYmVyIG11Y2ggZ3JlYXRlciB0aGFuIG1vZGFscyB3aWxsIGFjY29tbW9kYXRlXG4gKiB0aGUgbW9zdCByZWFzb25hYmxlIG9mIHNjZW5hcmlvcy5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JsYWNrYmF1ZC9za3l1eC1tb2RhbHMvYmxvYi9tYXN0ZXIvc3JjL2FwcC9wdWJsaWMvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LnNlcnZpY2UudHMjTDIyXG4gKiAoTk9URTogSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgbW9kYWxzIGRvIG5vdCB1c2UgdGhlIG92ZXJsYXkgc2VydmljZSwgd2hpY2ggaXMgc29tZXRoaW5nIHdlXG4gKiBzaG91bGQgZG8gaW4gdGhlIG5lYXIgZnV0dXJlIHRvIG1ha2Ugc3VyZSB6LWluZGV4ZXMgYXJlIHByZWRpY3RhYmxlIGFjcm9zcyBhbGwgY29tcG9uZW50XG4gKiBsaWJyYXJpZXMuKVxuICovXG5sZXQgdW5pcXVlWkluZGV4ID0gNTAwMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL292ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreU92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3MgPSAnJztcblxuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tkcm9wQ2xpY2suYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZVBvaW50ZXJFdmVudHMgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgcHVibGljIHNob3dCYWNrZHJvcCA9IGZhbHNlO1xuXG4gIHB1YmxpYyB6SW5kZXggPSBgJHsrK3VuaXF1ZVpJbmRleH1gO1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlDb250ZW50UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIG92ZXJsYXlDb250ZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgdGFyZ2V0UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIF9iYWNrZHJvcENsaWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9jbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0OiBTa3lPdmVybGF5Q29udGV4dCxcbiAgICBpZFN2YzogU2t5SWRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyPzogUm91dGVyXG4gICkge1xuICAgIHRoaXMuaWQgPSBpZFN2Yy5nZW5lcmF0ZUlkKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseUNvbmZpZyh0aGlzLmNvbnRleHQuY29uZmlnKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hZGRCYWNrZHJvcENsaWNrTGlzdGVuZXIoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbnRleHQuY29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uKSB7XG4gICAgICB0aGlzLmFkZFJvdXRlTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVSb3V0ZUxpc3RlbmVyKCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuX2JhY2tkcm9wQ2xpY2suY29tcGxldGUoKTtcblxuICAgIHRoaXMuX2Nsb3NlZC5uZXh0KCk7XG4gICAgdGhpcy5fY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoQ29tcG9uZW50PEM+KFxuICAgIGNvbXBvbmVudDogVHlwZTxDPixcbiAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXVxuICApOiBDb21wb25lbnRSZWY8Qz4ge1xuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVycyxcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0UmVmLmNyZWF0ZUNvbXBvbmVudDxDPihcbiAgICAgIGZhY3RvcnksXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpbmplY3RvclxuICAgICk7XG5cbiAgICAvLyBSdW4gYW4gaW5pdGlhbCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlIGFmdGVyIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gY3JlYXRlZC5cbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZTxUPihcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sXG4gICAgY29udGV4dDogVFxuICApOiBFbWJlZGRlZFZpZXdSZWY8VD4ge1xuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICByZXR1cm4gdGhpcy50YXJnZXRSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlUmVmLCBjb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDb25maWcoY29uZmlnOiBTa3lPdmVybGF5Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy53cmFwcGVyQ2xhc3MgPSBjb25maWcud3JhcHBlckNsYXNzIHx8ICcnO1xuICAgIHRoaXMuc2hvd0JhY2tkcm9wID0gY29uZmlnLnNob3dCYWNrZHJvcDtcbiAgICB0aGlzLmVuYWJsZVBvaW50ZXJFdmVudHMgPSBjb25maWcuZW5hYmxlUG9pbnRlckV2ZW50cztcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRCYWNrZHJvcENsaWNrTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KHdpbmRvdy5kb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaXNDaGlsZCA9IHRoaXMub3ZlcmxheUNvbnRlbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICBldmVudC50YXJnZXRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaXNBYm92ZSA9IHRoaXMuY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LFxuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCFpc0NoaWxkICYmICFpc0Fib3ZlKSB7XG4gICAgICAgICAgdGhpcy5fYmFja2Ryb3BDbGljay5uZXh0KCk7XG4gICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5jb25maWcuZW5hYmxlQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NlZC5uZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUm91dGVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy5yb3V0ZXIpIHtcbiAgICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgdGhpcy5fY2xvc2VkLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVSb3V0ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJvdXRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCJcbiAgW3N0eWxlLnpJbmRleF09XCJ6SW5kZXhcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2VuYWJsZS1wb2ludGVyLWV2ZW50cy1wYXNzLXRocm91Z2gnOiBlbmFibGVQb2ludGVyRXZlbnRzLFxuICAgICdza3ktb3ZlcmxheSc6IHRydWVcbiAgfVwiXG4gICNvdmVybGF5UmVmXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktb3ZlcmxheS1jb250ZW50XCIgI292ZXJsYXlDb250ZW50UmVmPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFyZ2V0PiA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dCYWNrZHJvcFwiIGNsYXNzPVwic2t5LW92ZXJsYXktYmFja2Ryb3BcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBRXhCLFVBQVUsRUFFVixXQUFXLEVBQ1gsUUFBUSxFQUdSLFFBQVEsRUFJUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7QUFFdEQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBRXhCOztHQUVHO0FBT0gsTUFBTSxPQUFPLG1CQUFtQjtJQThEOUIsdURBQXVEO0lBQ3ZELFlBQ0UsY0FBaUMsRUFDakMsUUFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsV0FBa0MsRUFDbEMsT0FBMEIsRUFDMUIsS0FBbUIsRUFDUCxNQUFlOztRQXJFdEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFVbEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBSzVCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLFdBQU0sR0FBRyxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUM7UUFvQnBDLHFEQUE4QjtRQUU5Qix3REFBb0M7UUFFcEMsc0RBQW1DO1FBRW5DLDhDQUF1QjtRQUV2QixpREFBNkI7UUFFN0IsK0NBQTRCO1FBRTVCLG1EQUFvQztRQUVwQyxnREFBb0I7UUFFcEIsNkNBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFFckMsZ0RBQW9DO1FBRXBDLDhDQUE0QjtRQUU1QiwwREFBOEM7UUFZNUMsdUJBQUEsSUFBSSx1Q0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSxpQ0FBYSxRQUFRLE1BQUEsQ0FBQztRQUMxQix1QkFBQSxJQUFJLGlDQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUksb0NBQWdCLFdBQVcsTUFBQSxDQUFDO1FBQ2hDLHVCQUFBLElBQUksZ0NBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSwrQkFBVyxNQUFNLE1BQUEsQ0FBQztRQUV0QixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU3Qix1QkFBQSxJQUFJLHNDQUFrQixJQUFJLE9BQU8sRUFBUSxNQUFBLENBQUM7UUFDMUMsdUJBQUEsSUFBSSwrQkFBVyxJQUFJLE9BQU8sRUFBUSxNQUFBLENBQUM7UUFFbkMsdUJBQUEsSUFBSSx5Q0FBcUIsdUJBQUEsSUFBSSwwQ0FBZSxDQUFDLFlBQVksRUFBRSxNQUFBLENBQUM7UUFDNUQsdUJBQUEsSUFBSSxrQ0FBYyx1QkFBQSxJQUFJLG1DQUFRLENBQUMsWUFBWSxFQUFFLE1BQUEsQ0FBQztJQUNoRCxDQUFDO0lBbkZELElBQVcsYUFBYTtRQUN0QixPQUFPLHVCQUFBLElBQUksNkNBQWtCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sdUJBQUEsSUFBSSxzQ0FBVyxDQUFDO0lBQ3pCLENBQUM7SUErRU0sUUFBUTtRQUNiLHVCQUFBLElBQUksd0VBQWEsTUFBakIsSUFBSSxFQUFjLHVCQUFBLElBQUksb0NBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsdUJBQUEsSUFBSSxxRkFBMEIsTUFBOUIsSUFBSSxDQUE0QixDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBQSxJQUFJLG9DQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFO1lBQzFDLHVCQUFBLElBQUksNkVBQWtCLE1BQXRCLElBQUksQ0FBb0IsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLHVCQUFBLElBQUksZ0ZBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQztRQUM1Qix1QkFBQSxJQUFJLDBDQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsdUJBQUEsSUFBSSwwQ0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRS9CLHVCQUFBLElBQUksMENBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUvQix1QkFBQSxJQUFJLG1DQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsdUJBQUEsSUFBSSxtQ0FBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxlQUFlLENBQ3BCLFNBQWtCLEVBQ2xCLFlBQThCLEVBQUU7UUFFaEMsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQ2IscUdBQXFHLENBQ3RHLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFdkIsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSxxQ0FBVSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUztZQUNULE1BQU0sRUFBRSx1QkFBQSxJQUFJLHFDQUFVO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUNqRCxPQUFPLEVBQ1AsU0FBUyxFQUNULFFBQVEsQ0FDVCxDQUFDO1FBRUYsOEVBQThFO1FBQzlFLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUvQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU0sY0FBYyxDQUNuQixXQUEyQixFQUMzQixPQUFVO1FBRVYsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0dBQW9HLENBQ3JHLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDOztrdEJBRVksTUFBd0I7SUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDO0lBQ3hELHVCQUFBLElBQUksMkNBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7QUFDdEMsQ0FBQztJQUdDLFNBQVMsQ0FBYSxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQztTQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksMENBQWUsQ0FBQyxDQUFDO1NBQ3BDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ25CLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDM0QsS0FBSyxDQUFDLE1BQU0sQ0FDYixDQUFDO1lBRUYsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSx3Q0FBYSxDQUFDLG9CQUFvQixDQUNwRCxLQUFLLENBQUMsTUFBTSxFQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUM5QixDQUFDO1lBRUYsMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hCLHVCQUFBLElBQUksMENBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSx1QkFBQSxJQUFJLG9DQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtvQkFDcEMsdUJBQUEsSUFBSSxtQ0FBUSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUNyQjthQUNGO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7SUFHQyx3QkFBd0I7SUFDeEIsSUFBSSx1QkFBQSxJQUFJLG1DQUFRLEVBQUU7UUFDaEIsdUJBQUEsSUFBSSwyQ0FBdUIsdUJBQUEsSUFBSSxtQ0FBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqRSwwQkFBMEI7WUFDMUIsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUNwQyx1QkFBQSxJQUFJLG1DQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUMsTUFBQSxDQUFDO0tBQ0o7QUFDSCxDQUFDO0lBR0MsSUFBSSx1QkFBQSxJQUFJLCtDQUFvQixFQUFFO1FBQzVCLHVCQUFBLElBQUksK0NBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkMsdUJBQUEsSUFBSSwyQ0FBdUIsU0FBUyxNQUFBLENBQUM7S0FDdEM7QUFDSCxDQUFDO2dIQS9NVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixpTUFxQnRCLFVBQVUsaUhBTVYsVUFBVSw0R0FNVixnQkFBZ0IsMkNDdkYxQiwrWEFjQTsyRkR3Q2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs7MEJBd0U1QyxRQUFROzRDQXhESixFQUFFO3NCQURSLFdBQVc7dUJBQUMsSUFBSTtnQkFXVCxpQkFBaUI7c0JBSnhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUU7d0JBQzlCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTyxVQUFVO3NCQUpqQixTQUFTO3VCQUFDLFlBQVksRUFBRTt3QkFDdkIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLFNBQVM7c0JBSmhCLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU3RhdGljUHJvdmlkZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi9hZGFwdGVyLXNlcnZpY2UvYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4uL2lkL2lkLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29udGV4dCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcblxuLyoqXG4gKiBPbW5pYmFyIGlzIDEwMDAuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2JhdWQvYXV0aC1jbGllbnQvYmxvYi9tYXN0ZXIvc3JjL29tbmliYXIvb21uaWJhci50cyNMMTM5XG4gKiAtLS1cbiAqIE1vZGFscyBzdGFydCB0aGVpciB6LWluZGV4ZXMgYXQgMTA0MC4gSG93ZXZlciwgZWFjaCBtb2RhbCdzIHotaW5kZXggaXMgYSBtdWx0aXBsZSBvZiAxMCwgc28gaXRcbiAqIHdpbGwgYmUgZGlmZmljdWx0IHRvIHJlbGlhYmx5IHByZWRpY3QgYSB6LWluZGV4IHRoYXQgd2lsbCBhbHdheXMgYXBwZWFyIGFib3ZlIGFsbCBvdGhlclxuICogbGF5ZXJzLiBTdGFydGluZyB0aGUgei1pbmRleCBmb3Igb3ZlcmxheXMgYXQgYSBudW1iZXIgbXVjaCBncmVhdGVyIHRoYW4gbW9kYWxzIHdpbGwgYWNjb21tb2RhdGVcbiAqIHRoZSBtb3N0IHJlYXNvbmFibGUgb2Ygc2NlbmFyaW9zLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYmxhY2tiYXVkL3NreXV4LW1vZGFscy9ibG9iL21hc3Rlci9zcmMvYXBwL3B1YmxpYy9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3Quc2VydmljZS50cyNMMjJcbiAqIChOT1RFOiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBtb2RhbHMgZG8gbm90IHVzZSB0aGUgb3ZlcmxheSBzZXJ2aWNlLCB3aGljaCBpcyBzb21ldGhpbmcgd2VcbiAqIHNob3VsZCBkbyBpbiB0aGUgbmVhciBmdXR1cmUgdG8gbWFrZSBzdXJlIHotaW5kZXhlcyBhcmUgcHJlZGljdGFibGUgYWNyb3NzIGFsbCBjb21wb25lbnRcbiAqIGxpYnJhcmllcy4pXG4gKi9cbmxldCB1bmlxdWVaSW5kZXggPSA1MDAwO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3ZlcmxheS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHdyYXBwZXJDbGFzcyA9ICcnO1xuXG4gIHB1YmxpYyBnZXQgYmFja2Ryb3BDbGljaygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jYmFja2Ryb3BDbGlja09icztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xvc2VkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNjbG9zZWRPYnM7XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlUG9pbnRlckV2ZW50cyA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnaWQnKVxuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgc2hvd0JhY2tkcm9wID0gZmFsc2U7XG5cbiAgcHVibGljIHpJbmRleCA9IGAkeysrdW5pcXVlWkluZGV4fWA7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheUNvbnRlbnRSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgb3ZlcmxheUNvbnRlbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheVJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSB0YXJnZXRSZWY6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2JhY2tkcm9wQ2xpY2s6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2JhY2tkcm9wQ2xpY2tPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY2xvc2VkOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNjbG9zZWRPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NvbnRleHQ6IFNreU92ZXJsYXlDb250ZXh0O1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuXG4gICNyb3V0ZXI6IFJvdXRlciB8IHVuZGVmaW5lZDtcblxuICAjcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgLy8gVE9ETzogUmVwbGFjZSBkZXByZWNhdGVkIGBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJgLlxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBjb250ZXh0OiBTa3lPdmVybGF5Q29udGV4dCxcbiAgICBpZFN2YzogU2t5SWRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcj86IFJvdXRlclxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3Jlc29sdmVyID0gcmVzb2x2ZXI7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI2NvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcblxuICAgIHRoaXMuaWQgPSBpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLiNjbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGlja09icyA9IHRoaXMuI2JhY2tkcm9wQ2xpY2suYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jY2xvc2VkT2JzID0gdGhpcy4jY2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FwcGx5Q29uZmlnKHRoaXMuI2NvbnRleHQuY29uZmlnKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuY2xvc2VPbk5hdmlnYXRpb24pIHtcbiAgICAgIHRoaXMuI2FkZFJvdXRlTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlUm91dGVMaXN0ZW5lcigpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2suY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoQ29tcG9uZW50PEM+KFxuICAgIGNvbXBvbmVudDogVHlwZTxDPixcbiAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXVxuICApOiBDb21wb25lbnRSZWY8Qz4ge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdbU2t5T3ZlcmxheUNvbXBvbmVudF0gQ291bGQgbm90IGF0dGFjaCB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50YXJnZXRSZWYuY3JlYXRlQ29tcG9uZW50PEM+KFxuICAgICAgZmFjdG9yeSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGluamVjdG9yXG4gICAgKTtcblxuICAgIC8vIFJ1biBhbiBpbml0aWFsIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBjcmVhdGVkLlxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlPFQ+KFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb250ZXh0OiBUXG4gICk6IEVtYmVkZGVkVmlld1JlZjxUPiB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgaWY6IHVudGVzdGFibGUqL1xuICAgIGlmICghdGhpcy50YXJnZXRSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1tTa3lPdmVybGF5Q29tcG9uZW50XSBDb3VsZCBub3QgYXR0YWNoIHRoZSB0ZW1wbGF0ZSBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldFJlZi5jbGVhcigpO1xuXG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0UmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZVJlZiwgY29udGV4dCk7XG4gIH1cblxuICAjYXBwbHlDb25maWcoY29uZmlnOiBTa3lPdmVybGF5Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy53cmFwcGVyQ2xhc3MgPSBjb25maWcud3JhcHBlckNsYXNzIHx8ICcnO1xuICAgIHRoaXMuc2hvd0JhY2tkcm9wID0gISFjb25maWcuc2hvd0JhY2tkcm9wO1xuICAgIHRoaXMuZW5hYmxlUG9pbnRlckV2ZW50cyA9ICEhY29uZmlnLmVuYWJsZVBvaW50ZXJFdmVudHM7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3cuZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIHRoaXMub3ZlcmxheUNvbnRlbnRSZWYgJiYgdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgY29uc3QgaXNDaGlsZCA9IHRoaXMub3ZlcmxheUNvbnRlbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID0gdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNDaGlsZCAmJiAhaXNBYm92ZSkge1xuICAgICAgICAgICAgdGhpcy4jYmFja2Ryb3BDbGljay5uZXh0KCk7XG4gICAgICAgICAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuZW5hYmxlQ2xvc2UpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI2FkZFJvdXRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3JvdXRlcikge1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy4jcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVSb3V0ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI3JvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCJcbiAgW3N0eWxlLnpJbmRleF09XCJ6SW5kZXhcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2VuYWJsZS1wb2ludGVyLWV2ZW50cy1wYXNzLXRocm91Z2gnOiBlbmFibGVQb2ludGVyRXZlbnRzLFxuICAgICdza3ktb3ZlcmxheSc6IHRydWVcbiAgfVwiXG4gICNvdmVybGF5UmVmXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktb3ZlcmxheS1jb250ZW50XCIgI292ZXJsYXlDb250ZW50UmVmPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFyZ2V0PiA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dCYWNrZHJvcFwiIGNsYXNzPVwic2t5LW92ZXJsYXktYmFja2Ryb3BcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyOverlayService_instances, _SkyOverlayService_adapter, _SkyOverlayService_applicationRef, _SkyOverlayService_componentFactoryResolver, _SkyOverlayService_injector, _SkyOverlayService_createOverlay, _SkyOverlayService_prepareConfig, _SkyOverlayService_destroyOverlay;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, } from '@angular/core';
|
2
4
|
import { SkyOverlayAdapterService } from './overlay-adapter.service';
|
3
5
|
import { SkyOverlayContext } from './overlay-context';
|
@@ -10,22 +12,28 @@ import * as i1 from "./overlay-adapter.service";
|
|
10
12
|
* @dynamic
|
11
13
|
*/
|
12
14
|
export class SkyOverlayService {
|
15
|
+
// TODO: Replace deprecated `ComponentFactoryResolver`.
|
13
16
|
constructor(applicationRef, componentFactoryResolver, injector, adapter) {
|
14
|
-
this
|
15
|
-
this
|
16
|
-
this
|
17
|
-
this
|
17
|
+
_SkyOverlayService_instances.add(this);
|
18
|
+
_SkyOverlayService_adapter.set(this, void 0);
|
19
|
+
_SkyOverlayService_applicationRef.set(this, void 0);
|
20
|
+
_SkyOverlayService_componentFactoryResolver.set(this, void 0);
|
21
|
+
_SkyOverlayService_injector.set(this, void 0);
|
22
|
+
__classPrivateFieldSet(this, _SkyOverlayService_applicationRef, applicationRef, "f");
|
23
|
+
__classPrivateFieldSet(this, _SkyOverlayService_componentFactoryResolver, componentFactoryResolver, "f");
|
24
|
+
__classPrivateFieldSet(this, _SkyOverlayService_injector, injector, "f");
|
25
|
+
__classPrivateFieldSet(this, _SkyOverlayService_adapter, adapter, "f");
|
18
26
|
}
|
19
27
|
/**
|
20
28
|
* Creates an empty overlay. Use the returned `SkyOverlayInstance` to append content.
|
21
29
|
* @param config Configuration for the overlay.
|
22
30
|
*/
|
23
31
|
create(config) {
|
24
|
-
const settings = this.
|
32
|
+
const settings = __classPrivateFieldGet(this, _SkyOverlayService_instances, "m", _SkyOverlayService_prepareConfig).call(this, config);
|
25
33
|
if (settings.enableScroll === false) {
|
26
|
-
this.
|
34
|
+
__classPrivateFieldGet(this, _SkyOverlayService_adapter, "f").restrictBodyScroll();
|
27
35
|
}
|
28
|
-
const componentRef = this.
|
36
|
+
const componentRef = __classPrivateFieldGet(this, _SkyOverlayService_instances, "m", _SkyOverlayService_createOverlay).call(this, settings);
|
29
37
|
const instance = new SkyOverlayInstance(settings, componentRef);
|
30
38
|
instance.closed.subscribe(() => {
|
31
39
|
// Only execute the service's close method if the instance still exists.
|
@@ -42,8 +50,8 @@ export class SkyOverlayService {
|
|
42
50
|
* @param instance The instance to close.
|
43
51
|
*/
|
44
52
|
close(instance) {
|
45
|
-
this.
|
46
|
-
this.
|
53
|
+
__classPrivateFieldGet(this, _SkyOverlayService_instances, "m", _SkyOverlayService_destroyOverlay).call(this, instance);
|
54
|
+
__classPrivateFieldGet(this, _SkyOverlayService_applicationRef, "f").detachView(instance.componentRef.hostView);
|
47
55
|
instance.componentRef.destroy();
|
48
56
|
// In some cases, Angular keeps dynamically-generated component's nodes in the DOM during
|
49
57
|
// unit tests. This can make querying difficult because the older DOM nodes still exist and
|
@@ -67,47 +75,45 @@ export class SkyOverlayService {
|
|
67
75
|
this.close(SkyOverlayService.overlays[0]);
|
68
76
|
}
|
69
77
|
}
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
if
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
this.adapter.releaseBodyScroll();
|
107
|
-
}
|
78
|
+
}
|
79
|
+
_SkyOverlayService_adapter = new WeakMap(), _SkyOverlayService_applicationRef = new WeakMap(), _SkyOverlayService_componentFactoryResolver = new WeakMap(), _SkyOverlayService_injector = new WeakMap(), _SkyOverlayService_instances = new WeakSet(), _SkyOverlayService_createOverlay = function _SkyOverlayService_createOverlay(config) {
|
80
|
+
const injector = Injector.create({
|
81
|
+
parent: __classPrivateFieldGet(this, _SkyOverlayService_injector, "f"),
|
82
|
+
providers: [
|
83
|
+
{
|
84
|
+
provide: SkyOverlayContext,
|
85
|
+
useValue: new SkyOverlayContext(config),
|
86
|
+
},
|
87
|
+
],
|
88
|
+
});
|
89
|
+
const componentRef = __classPrivateFieldGet(this, _SkyOverlayService_componentFactoryResolver, "f")
|
90
|
+
.resolveComponentFactory(SkyOverlayComponent)
|
91
|
+
.create(injector);
|
92
|
+
__classPrivateFieldGet(this, _SkyOverlayService_applicationRef, "f").attachView(componentRef.hostView);
|
93
|
+
const domElem = componentRef.hostView
|
94
|
+
.rootNodes[0];
|
95
|
+
document.body.appendChild(domElem);
|
96
|
+
return componentRef;
|
97
|
+
}, _SkyOverlayService_prepareConfig = function _SkyOverlayService_prepareConfig(config = {}) {
|
98
|
+
const defaults = {
|
99
|
+
closeOnNavigation: true,
|
100
|
+
enableClose: false,
|
101
|
+
enablePointerEvents: false,
|
102
|
+
enableScroll: true,
|
103
|
+
showBackdrop: false,
|
104
|
+
wrapperClass: '',
|
105
|
+
};
|
106
|
+
return { ...defaults, ...config };
|
107
|
+
}, _SkyOverlayService_destroyOverlay = function _SkyOverlayService_destroyOverlay(instance) {
|
108
|
+
SkyOverlayService.overlays.splice(SkyOverlayService.overlays.indexOf(instance), 1);
|
109
|
+
if (instance.config.enableScroll === false) {
|
110
|
+
// Only release the body scroll if no other overlay wishes it to be disabled.
|
111
|
+
const anotherOverlayDisablesScroll = SkyOverlayService.overlays.some((o) => !o.config.enableScroll);
|
112
|
+
if (!anotherOverlayDisablesScroll) {
|
113
|
+
__classPrivateFieldGet(this, _SkyOverlayService_adapter, "f").releaseBodyScroll();
|
108
114
|
}
|
109
115
|
}
|
110
|
-
}
|
116
|
+
};
|
111
117
|
SkyOverlayService.overlays = [];
|
112
118
|
SkyOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i1.SkyOverlayAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
113
119
|
SkyOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyOverlayService, providedIn: 'root' });
|
@@ -117,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
117
123
|
providedIn: 'root',
|
118
124
|
}]
|
119
125
|
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i1.SkyOverlayAdapterService }]; } });
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsd0JBQXdCLEVBR3hCLFVBQVUsRUFDVixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUUxRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQ1UsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELFFBQWtCLEVBQ2xCLE9BQWlDO1FBSGpDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFDeEMsQ0FBQztJQUVKOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxNQUF5QjtRQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ25DO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxNQUFNLFFBQVEs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LENBQy9CLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQzVDLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDMUMsNkVBQTZFO1lBQzdFLE1BQU0sNEJBQTRCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQzlCLENBQUM7WUFDRixJQUFJLENBQUMsNEJBQTRCLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUNsQztTQUNGO0lBQ0gsQ0FBQzs7QUE1SGMsMEJBQVEsR0FBeUIsRUFBRyxDQUFBOzhHQUR4QyxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL292ZXJsYXktYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb250ZXh0IH0gZnJvbSAnLi9vdmVybGF5LWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUluc3RhbmNlIH0gZnJvbSAnLi9vdmVybGF5LWluc3RhbmNlJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL292ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgaXMgdXNlZCB0byBjcmVhdGUgbmV3IG92ZXJsYXlzLlxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU92ZXJsYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgb3ZlcmxheXM6IFNreU92ZXJsYXlJbnN0YW5jZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGFkYXB0ZXI6IFNreU92ZXJsYXlBZGFwdGVyU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gZW1wdHkgb3ZlcmxheS4gVXNlIHRoZSByZXR1cm5lZCBgU2t5T3ZlcmxheUluc3RhbmNlYCB0byBhcHBlbmQgY29udGVudC5cbiAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgb3ZlcmxheS5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGUoY29uZmlnPzogU2t5T3ZlcmxheUNvbmZpZyk6IFNreU92ZXJsYXlJbnN0YW5jZSB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLnByZXBhcmVDb25maWcoY29uZmlnKTtcblxuICAgIGlmIChzZXR0aW5ncy5lbmFibGVTY3JvbGwgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmFkYXB0ZXIucmVzdHJpY3RCb2R5U2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KHNldHRpbmdzKTtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTa3lPdmVybGF5SW5zdGFuY2Uoc2V0dGluZ3MsIGNvbXBvbmVudFJlZik7XG5cbiAgICBpbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIC8vIE9ubHkgZXhlY3V0ZSB0aGUgc2VydmljZSdzIGNsb3NlIG1ldGhvZCBpZiB0aGUgaW5zdGFuY2Ugc3RpbGwgZXhpc3RzLlxuICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gYWRkcmVzcyBhIHJhY2UgY29uZGl0aW9uIGlmIHRoZSBkZXByZWNhdGVkIGluc3RhbmNlLmNsb3NlIG1ldGhvZCBpcyB1c2VkIGluc3RlYWQuXG4gICAgICBpZiAoU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMuaW5kZXhPZihpbnN0YW5jZSkgPiAtMSkge1xuICAgICAgICB0aGlzLmNsb3NlKGluc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzLnB1c2goaW5zdGFuY2UpO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyAoYW5kIGRlc3Ryb3lzKSBhbiBvdmVybGF5IGluc3RhbmNlLlxuICAgKiBAcGFyYW0gaW5zdGFuY2UgVGhlIGluc3RhbmNlIHRvIGNsb3NlLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGluc3RhbmNlOiBTa3lPdmVybGF5SW5zdGFuY2UpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KGluc3RhbmNlKTtcbiAgICB0aGlzLmFwcGxpY2F0aW9uUmVmLmRldGFjaFZpZXcoaW5zdGFuY2UuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuXG4gICAgLy8gSW4gc29tZSBjYXNlcywgQW5ndWxhciBrZWVwcyBkeW5hbWljYWxseS1nZW5lcmF0ZWQgY29tcG9uZW50J3Mgbm9kZXMgaW4gdGhlIERPTSBkdXJpbmdcbiAgICAvLyB1bml0IHRlc3RzLiBUaGlzIGNhbiBtYWtlIHF1ZXJ5aW5nIGRpZmZpY3VsdCBiZWNhdXNlIHRoZSBvbGRlciBET00gbm9kZXMgc3RpbGwgZXhpc3QgYW5kXG4gICAgLy8gcHJvZHVjZSBpbmNvbnNpc3RlbnQgcmVzdWx0cy5cbiAgICAvLyBBbmd1bGFyIE1hdGVyaWFsJ3Mgb3ZlcmxheSBhcHBlYXJzIHRvIGRvIHRoZSBzYW1lIHRoaW5nOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYXN0ZXIvc3JjL2Nkay9wb3J0YWwvZG9tLXBvcnRhbC1vdXRsZXQudHMjTDE0My1MMTQ1XG4gICAgLy8gKElnbm9yaW5nIGNvdmVyYWdlIHNpbmNlIHRoaXMgYnJhbmNoIHdpbGwgb25seSBiZSBoaXQgYnkgY29uc3VtZXIgdW5pdCB0ZXN0cy4pXG4gICAgY29uc3QgY29tcG9uZW50RWxlbWVudCA9IGluc3RhbmNlLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChjb21wb25lbnRFbGVtZW50LnBhcmVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbXBvbmVudEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjb21wb25lbnRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIGFsbCBvdmVybGF5IGluc3RhbmNlcy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICAvLyBUaGUgYGNsb3NlYCBldmVudCBoYW5kbGVyIGZvciBlYWNoIGluc3RhbmNlIGFsdGVycyB0aGUgYXJyYXkncyBsZW5ndGggYXN5bmNocm9ub3VzbHksXG4gICAgLy8gc28gdGhlIG9ubHkgXCJzYWZlXCIgaW5kZXggdG8gY2FsbCBpcyB6ZXJvLlxuICAgIHdoaWxlIChTa3lPdmVybGF5U2VydmljZS5vdmVybGF5cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNsb3NlKFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzWzBdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoXG4gICAgY29uZmlnPzogU2t5T3ZlcmxheUNvbmZpZ1xuICApOiBDb21wb25lbnRSZWY8U2t5T3ZlcmxheUNvbXBvbmVudD4ge1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5T3ZlcmxheUNvbnRleHQsXG4gICAgICAgICAgdXNlVmFsdWU6IG5ldyBTa3lPdmVybGF5Q29udGV4dChjb25maWcpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoU2t5T3ZlcmxheUNvbXBvbmVudClcbiAgICAgIC5jcmVhdGUoaW5qZWN0b3IpO1xuXG4gICAgdGhpcy5hcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55PilcbiAgICAgIC5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZUNvbmZpZyhjb25maWc6IFNreU92ZXJsYXlDb25maWcpOiBTa3lPdmVybGF5Q29uZmlnIHtcbiAgICBjb25zdCBkZWZhdWx0czogU2t5T3ZlcmxheUNvbmZpZyA9IHtcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgZW5hYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogZmFsc2UsXG4gICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICBzaG93QmFja2Ryb3A6IGZhbHNlLFxuICAgICAgd3JhcHBlckNsYXNzOiAnJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHsgLi4uZGVmYXVsdHMsIC4uLmNvbmZpZyB9O1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95T3ZlcmxheShpbnN0YW5jZTogU2t5T3ZlcmxheUluc3RhbmNlKTogdm9pZCB7XG4gICAgU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMuc3BsaWNlKFxuICAgICAgU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMuaW5kZXhPZihpbnN0YW5jZSksXG4gICAgICAxXG4gICAgKTtcblxuICAgIGlmIChpbnN0YW5jZS5jb25maWcuZW5hYmxlU2Nyb2xsID09PSBmYWxzZSkge1xuICAgICAgLy8gT25seSByZWxlYXNlIHRoZSBib2R5IHNjcm9sbCBpZiBubyBvdGhlciBvdmVybGF5IHdpc2hlcyBpdCB0byBiZSBkaXNhYmxlZC5cbiAgICAgIGNvbnN0IGFub3RoZXJPdmVybGF5RGlzYWJsZXNTY3JvbGwgPSBTa3lPdmVybGF5U2VydmljZS5vdmVybGF5cy5zb21lKFxuICAgICAgICAobykgPT4gIW8uY29uZmlnLmVuYWJsZVNjcm9sbFxuICAgICAgKTtcbiAgICAgIGlmICghYW5vdGhlck92ZXJsYXlEaXNhYmxlc1Njcm9sbCkge1xuICAgICAgICB0aGlzLmFkYXB0ZXIucmVsZWFzZUJvZHlTY3JvbGwoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFHeEIsVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRTFEOzs7R0FHRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFXNUIsdURBQXVEO0lBQ3ZELFlBQ0UsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELFFBQWtCLEVBQ2xCLE9BQWlDOztRQWJuQyw2Q0FBbUM7UUFFbkMsb0RBQWdDO1FBRWhDLDhEQUFvRDtRQUVwRCw4Q0FBb0I7UUFTbEIsdUJBQUEsSUFBSSxxQ0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSwrQ0FBNkIsd0JBQXdCLE1BQUEsQ0FBQztRQUMxRCx1QkFBQSxJQUFJLCtCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUksOEJBQVksT0FBTyxNQUFBLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxNQUF5QjtRQUNyQyxNQUFNLFFBQVEsR0FBRyx1QkFBQSxJQUFJLHNFQUFlLE1BQW5CLElBQUksRUFBZ0IsTUFBTSxDQUFDLENBQUM7UUFFN0MsSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLEtBQUss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QUFLO1FBQ25CLFlBQVksRUFBRSxFQUFFO0tBQ2pCLENBQUM7SUFFRixPQUFPLEVBQUUsR0FBRyxRQUFRLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNwQyxDQUFDLGlGQUVlLFFBQTRCO0lBQzFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQy9CLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQzVDLENBQUMsQ0FDRixDQUFDO0lBRUYsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7UUFDMUMsNkVBQTZFO1FBQzdFLE1BQU0sNEJBQTRCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQzlCLENBQUM7UUFDRixJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDakMsdUJBQUEsSUFBSSxrQ0FBUyxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDbkM7S0FDRjtBQUNILENBQUM7QUF4SWMsMEJBQVEsR0FBeUIsRUFBRyxDQUFBOzhHQUR4QyxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL292ZXJsYXktYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb250ZXh0IH0gZnJvbSAnLi9vdmVybGF5LWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUluc3RhbmNlIH0gZnJvbSAnLi9vdmVybGF5LWluc3RhbmNlJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL292ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgaXMgdXNlZCB0byBjcmVhdGUgbmV3IG92ZXJsYXlzLlxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU92ZXJsYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgb3ZlcmxheXM6IFNreU92ZXJsYXlJbnN0YW5jZVtdID0gW107XG5cbiAgI2FkYXB0ZXI6IFNreU92ZXJsYXlBZGFwdGVyU2VydmljZTtcblxuICAjYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmO1xuXG4gICNjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcblxuICAjaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIC8vIFRPRE86IFJlcGxhY2UgZGVwcmVjYXRlZCBgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyYC5cbiAgY29uc3RydWN0b3IoXG4gICAgYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBhZGFwdGVyOiBTa3lPdmVybGF5QWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYgPSBhcHBsaWNhdGlvblJlZjtcbiAgICB0aGlzLiNjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNhZGFwdGVyID0gYWRhcHRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGVtcHR5IG92ZXJsYXkuIFVzZSB0aGUgcmV0dXJuZWQgYFNreU92ZXJsYXlJbnN0YW5jZWAgdG8gYXBwZW5kIGNvbnRlbnQuXG4gICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgdGhlIG92ZXJsYXkuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlKGNvbmZpZz86IFNreU92ZXJsYXlDb25maWcpOiBTa3lPdmVybGF5SW5zdGFuY2Uge1xuICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy4jcHJlcGFyZUNvbmZpZyhjb25maWcpO1xuXG4gICAgaWYgKHNldHRpbmdzLmVuYWJsZVNjcm9sbCA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXIucmVzdHJpY3RCb2R5U2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jY3JlYXRlT3ZlcmxheShzZXR0aW5ncyk7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU2t5T3ZlcmxheUluc3RhbmNlKHNldHRpbmdzLCBjb21wb25lbnRSZWYpO1xuXG4gICAgaW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyBPbmx5IGV4ZWN1dGUgdGhlIHNlcnZpY2UncyBjbG9zZSBtZXRob2QgaWYgdGhlIGluc3RhbmNlIHN0aWxsIGV4aXN0cy5cbiAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIHRvIGFkZHJlc3MgYSByYWNlIGNvbmRpdGlvbiBpZiB0aGUgZGVwcmVjYXRlZCBpbnN0YW5jZS5jbG9zZSBtZXRob2QgaXMgdXNlZCBpbnN0ZWFkLlxuICAgICAgaWYgKFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzLmluZGV4T2YoaW5zdGFuY2UpID4gLTEpIHtcbiAgICAgICAgdGhpcy5jbG9zZShpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBTa3lPdmVybGF5U2VydmljZS5vdmVybGF5cy5wdXNoKGluc3RhbmNlKTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgKGFuZCBkZXN0cm95cykgYW4gb3ZlcmxheSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGluc3RhbmNlIFRoZSBpbnN0YW5jZSB0byBjbG9zZS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShpbnN0YW5jZTogU2t5T3ZlcmxheUluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jZGVzdHJveU92ZXJsYXkoaW5zdGFuY2UpO1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmLmRldGFjaFZpZXcoaW5zdGFuY2UuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuXG4gICAgLy8gSW4gc29tZSBjYXNlcywgQW5ndWxhciBrZWVwcyBkeW5hbWljYWxseS1nZW5lcmF0ZWQgY29tcG9uZW50J3Mgbm9kZXMgaW4gdGhlIERPTSBkdXJpbmdcbiAgICAvLyB1bml0IHRlc3RzLiBUaGlzIGNhbiBtYWtlIHF1ZXJ5aW5nIGRpZmZpY3VsdCBiZWNhdXNlIHRoZSBvbGRlciBET00gbm9kZXMgc3RpbGwgZXhpc3QgYW5kXG4gICAgLy8gcHJvZHVjZSBpbmNvbnNpc3RlbnQgcmVzdWx0cy5cbiAgICAvLyBBbmd1bGFyIE1hdGVyaWFsJ3Mgb3ZlcmxheSBhcHBlYXJzIHRvIGRvIHRoZSBzYW1lIHRoaW5nOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYXN0ZXIvc3JjL2Nkay9wb3J0YWwvZG9tLXBvcnRhbC1vdXRsZXQudHMjTDE0My1MMTQ1XG4gICAgLy8gKElnbm9yaW5nIGNvdmVyYWdlIHNpbmNlIHRoaXMgYnJhbmNoIHdpbGwgb25seSBiZSBoaXQgYnkgY29uc3VtZXIgdW5pdCB0ZXN0cy4pXG4gICAgY29uc3QgY29tcG9uZW50RWxlbWVudCA9IGluc3RhbmNlLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChjb21wb25lbnRFbGVtZW50LnBhcmVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbXBvbmVudEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjb21wb25lbnRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIGFsbCBvdmVybGF5IGluc3RhbmNlcy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICAvLyBUaGUgYGNsb3NlYCBldmVudCBoYW5kbGVyIGZvciBlYWNoIGluc3RhbmNlIGFsdGVycyB0aGUgYXJyYXkncyBsZW5ndGggYXN5bmNocm9ub3VzbHksXG4gICAgLy8gc28gdGhlIG9ubHkgXCJzYWZlXCIgaW5kZXggdG8gY2FsbCBpcyB6ZXJvLlxuICAgIHdoaWxlIChTa3lPdmVybGF5U2VydmljZS5vdmVybGF5cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNsb3NlKFNreU92ZXJsYXlTZXJ2aWNlLm92ZXJsYXlzWzBdKTtcbiAgICB9XG4gIH1cblxuICAjY3JlYXRlT3ZlcmxheShjb25maWc6IFNreU92ZXJsYXlDb25maWcpOiBDb21wb25lbnRSZWY8U2t5T3ZlcmxheUNvbXBvbmVudD4ge1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogdGhpcy4jaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNreU92ZXJsYXlDb250ZXh0LFxuICAgICAgICAgIHVzZVZhbHVlOiBuZXcgU2t5T3ZlcmxheUNvbnRleHQoY29uZmlnKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLiNjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShTa3lPdmVybGF5Q29tcG9uZW50KVxuICAgICAgLmNyZWF0ZShpbmplY3Rvcik7XG5cbiAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55PilcbiAgICAgIC5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gICNwcmVwYXJlQ29uZmlnKGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZyA9IHt9KTogU2t5T3ZlcmxheUNvbmZpZyB7XG4gICAgY29uc3QgZGVmYXVsdHM6IFNreU92ZXJsYXlDb25maWcgPSB7XG4gICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgIGVuYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgIGVuYWJsZVBvaW50ZXJFdmVudHM6IGZhbHNlLFxuICAgICAgZW5hYmxlU2Nyb2xsOiB0cnVlLFxuICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgIHdyYXBwZXJDbGFzczogJycsXG4gICAgfTtcblxuICAgIHJldHVybiB7IC4uLmRlZmF1bHRzLCAuLi5jb25maWcgfTtcbiAgfVxuXG4gICNkZXN0cm95T3ZlcmxheShpbnN0YW5jZTogU2t5T3ZlcmxheUluc3RhbmNlKTogdm9pZCB7XG4gICAgU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMuc3BsaWNlKFxuICAgICAgU2t5T3ZlcmxheVNlcnZpY2Uub3ZlcmxheXMuaW5kZXhPZihpbnN0YW5jZSksXG4gICAgICAxXG4gICAgKTtcblxuICAgIGlmIChpbnN0YW5jZS5jb25maWcuZW5hYmxlU2Nyb2xsID09PSBmYWxzZSkge1xuICAgICAgLy8gT25seSByZWxlYXNlIHRoZSBib2R5IHNjcm9sbCBpZiBubyBvdGhlciBvdmVybGF5IHdpc2hlcyBpdCB0byBiZSBkaXNhYmxlZC5cbiAgICAgIGNvbnN0IGFub3RoZXJPdmVybGF5RGlzYWJsZXNTY3JvbGwgPSBTa3lPdmVybGF5U2VydmljZS5vdmVybGF5cy5zb21lKFxuICAgICAgICAobykgPT4gIW8uY29uZmlnLmVuYWJsZVNjcm9sbFxuICAgICAgKTtcbiAgICAgIGlmICghYW5vdGhlck92ZXJsYXlEaXNhYmxlc1Njcm9sbCkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyLnJlbGVhc2VCb2R5U2Nyb2xsKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|