@smartbit4all/ng-client 4.5.9 → 4.5.11
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/session/smart-backend-bootstrap.config.mjs +1 -1
- package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +30 -3
- package/esm2022/lib/session/smart-error-catching.interceptor.mjs +7 -7
- package/esm2022/lib/session/smart-session.service.mjs +15 -2
- package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -2
- package/fesm2022/smartbit4all-ng-client.mjs +48 -9
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/smart-backend-bootstrap.config.d.ts +21 -0
- package/lib/session/smart-backend-bootstrap.service.d.ts +9 -0
- package/lib/session/smart-error-catching.interceptor.d.ts +3 -3
- package/lib/session/smart-session.service.d.ts +7 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.5.11.tgz +0 -0
- package/smartbit4all-ng-client-4.5.9.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xuaW1wb3J0IHsgU21hcnRWaWV3SGFuZGxlck1vZGVsIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBFeHRlcm5hbGx5IHByb3ZpZGVkIHNlc3Npb24gKyB2aWV3Q29udGV4dCB0byBoeWRyYXRlIHRoZSBib290c3RyYXAgd2l0aCxcbiAqIGJ5cGFzc2luZyB0aGUgcmVndWxhciBgc3RhcnQoKWAgZmxvdy4gVHlwaWNhbCB1c2UgY2FzZTogYSBuYXRpdmUgbW9iaWxlXG4gKiBzaGVsbCB0aGF0IHBlcmZvcm1lZCBhdXRoZW50aWNhdGlvbiBpdHNlbGYgYW5kIGhhbmRzIG9mZiB0aGUgcmVzdWx0IHRvIGFcbiAqIHdlYnZpZXctaG9zdGVkIEFuZ3VsYXIgYXBwIHZpYSBVUkwgZnJhZ21lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMge1xuICAvKiogU0lEIGlzc3VlZCBieSB0aGUgYmFja2VuZDsgd2lsbCBiZSBzZW50IGFzIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHNlc3Npb25Ub2tlbj5gLiAqL1xuICBzZXNzaW9uVG9rZW46IHN0cmluZztcbiAgLyoqIFVVSUQgb2YgYW4gYWxyZWFkeS1leGlzdGluZyB2aWV3Q29udGV4dCBvbiB0aGUgYmFja2VuZC4gKi9cbiAgdmlld0NvbnRleHRVdWlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBsb25nLWxpdmVkIHJlZnJlc2ggdG9rZW4gcGFpcmVkIHdpdGggdGhlIFNJRC4gSWYgcHJvdmlkZWQsIGl0IGlzXG4gICAqIHBlcnNpc3RlZCB0byBsb2NhbFN0b3JhZ2Ugc28gdGhlIGF1dG9ub21vdXMgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYFxuICAgKiBSRUZSRVNIIGZsb3cgY2FuIHJlY292ZXIgZnJvbSBgc2Vzc2lvbi5leHBpcmVkYCBlcnJvcnMgd2l0aG91dCBkcm9wcGluZ1xuICAgKiB0aGUgdXNlciBiYWNrIHRvIGEgZnJlc2ggYW5vbnltb3VzIHNlc3Npb24uXG4gICAqL1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGNvb2tpZU5hbWU6IHN0cmluZztcbiAgbWVzc2FnZURpYWxvZ05hbWU6IHN0cmluZztcbiAgdmlld0hhbmRsZXJzOiBTbWFydFZpZXdIYW5kbGVyTW9kZWxbXTtcbiAgYWN0aW9uRGVzY3JpcHRvcnM6IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj47XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgaGFuZGxlU2Vzc2lvbkVycm9yYCBmbG93LiAqL1xuICBvblNlc3Npb25FcnJvcj86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgb3BlblNtYXJ0TGlua2AgaGFuZGxlci4gKi9cbiAgb25TbWFydExpbms/OiAoY2hhbm5lbDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuICAvKiogSG9vayBmb3IgaG9zdCBVWCB3aGVuIGBzdGFydCgpYCByZWplY3RzIChzbmFja2JhciArIHJldHJ5KS4gKi9cbiAgb25TdGFydEVycm9yPzogKGVycjogdW5rbm93bikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhvb2sgY2FsbGVkIHdoZW4gdGhlIGJhY2tlbmQgcmVwb3J0cyB0aGUgY3VycmVudCB2aWV3Q29udGV4dCBpcyBnb25lXG4gICAqIChsb2dvdXQsIHNlc3Npb24gZXhwaXJ5LCBiYWNrZW5kIHJlc3RhcnQpIOKAlCBpLmUuIHdoZW4gdGhlXG4gICAqIGBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcmAgd291bGQgaGlzdG9yaWNhbGx5IGF1dG8tdHJpZ2dlclxuICAgKiBgUkVTVEFSVF9WSUVXQ09OVEVYVGAuXG4gICAqXG4gICAqIERlZmF1bHQ6IHJlYnVpbGRzIGEgZnJlc2ggYW5vbnltb3VzIHZpZXdDb250ZXh0IHZpYVxuICAgKiBgdmlld0NvbnRleHQuaW5pdE5ld1ZpZXdDb250ZXh0KClgICh0aGUgaGlzdG9yaWNhbCB3ZWIgZmxvdykuXG4gICAqXG4gICAqIE1vYmlsZS9lbWJlZGRlZCBob3N0cyBvdmVycmlkZSB0aGlzIHRvIGZ1bGx5IGRlbGVnYXRlIHRvIHRoZSBzaGVsbCDigJRcbiAgICogdHlwaWNhbGx5IGJ5IGNhbGxpbmcgYSBKUyBicmlkZ2UgdGhhdCBzaWduYWxzIHRoZSBuYXRpdmUgc2lkZSB0b1xuICAgKiB0ZWFyIGRvd24gdGhlIHdlYnZpZXcgYW5kIHJldHVybiB0byB0aGUgbmF0aXZlIGxvZ2luIHBhZ2UuXG4gICAqL1xuICBvblZpZXdDb250ZXh0TG9zdD86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59XG4iXX0=
|
|
@@ -29,7 +29,10 @@ export class SmartBackendBootstrapService {
|
|
|
29
29
|
await this.config.onSmartLink(channel);
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
-
await
|
|
32
|
+
// Default: simply unblock showPublishedView's `await openSmartLink.toPromise()`.
|
|
33
|
+
// The viewContext is already initialized by start()/bootstrapWith() — calling
|
|
34
|
+
// initialize() here without a uuid would always trigger startViewContext(),
|
|
35
|
+
// creating a second viewcontext and producing duplicate UI (e.g. two login pages).
|
|
33
36
|
this.viewContext.openSmartLink.complete();
|
|
34
37
|
}
|
|
35
38
|
start() {
|
|
@@ -72,8 +75,32 @@ export class SmartBackendBootstrapService {
|
|
|
72
75
|
this.runningInit = undefined;
|
|
73
76
|
this.lastInitFailed = false;
|
|
74
77
|
this.mode = undefined;
|
|
78
|
+
this.runningViewContextLost = undefined;
|
|
75
79
|
return this.start();
|
|
76
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Called by `SmartErrorCatchingInterceptor` when the backend reports
|
|
83
|
+
* `session.viewcontext.missing`. Idempotent across concurrent and
|
|
84
|
+
* sequential calls until the next `reset()` — multiple racing BFF
|
|
85
|
+
* failures collapse into a single recovery attempt.
|
|
86
|
+
*/
|
|
87
|
+
handleViewContextLost(err) {
|
|
88
|
+
if (!this.config) {
|
|
89
|
+
return Promise.reject(new Error('SmartBackendBootstrapService.configure() must be called before handleViewContextLost().'));
|
|
90
|
+
}
|
|
91
|
+
if (this.runningViewContextLost) {
|
|
92
|
+
return this.runningViewContextLost;
|
|
93
|
+
}
|
|
94
|
+
this.runningViewContextLost = this.runViewContextLost(err);
|
|
95
|
+
return this.runningViewContextLost;
|
|
96
|
+
}
|
|
97
|
+
async runViewContextLost(err) {
|
|
98
|
+
if (this.config?.onViewContextLost) {
|
|
99
|
+
await this.config.onViewContextLost(err);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
await this.viewContext.initNewViewContext();
|
|
103
|
+
}
|
|
77
104
|
async runInit() {
|
|
78
105
|
try {
|
|
79
106
|
await this.session.initialize();
|
|
@@ -86,7 +113,7 @@ export class SmartBackendBootstrapService {
|
|
|
86
113
|
}
|
|
87
114
|
async runBootstrapWith(creds) {
|
|
88
115
|
try {
|
|
89
|
-
this.session.setSessionToken(creds.sessionToken);
|
|
116
|
+
this.session.setSessionToken(creds.sessionToken, creds.refreshToken);
|
|
90
117
|
await this.viewContext.initFromExistingViewContext(creds.viewContextUuid);
|
|
91
118
|
}
|
|
92
119
|
catch (err) {
|
|
@@ -121,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
121
148
|
type: Injectable,
|
|
122
149
|
args: [{ providedIn: 'root' }]
|
|
123
150
|
}], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartViewContextService }] });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFNdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFMdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFNNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsaUJBQWlC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LENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFpQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxPQUFPO1FBQ1QsQ0FBQztRQUNELGtGQUFrRjtRQUNsRixpRkFBaUY7UUFDakYsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDL0MsQ0FBQzsrR0FqSVUsNEJBQTRCO21IQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzs0RkFDbkIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IsIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcsXG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzLFxufSBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLmNvbmZpZyc7XG5cbnR5cGUgQm9vdHN0cmFwTW9kZSA9ICdzdGFydCcgfCAnYm9vdHN0cmFwV2l0aCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSBpbXBsZW1lbnRzIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWc/OiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWc7XG4gIHByaXZhdGUgcnVubmluZ0luaXQ/OiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIGxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gIHByaXZhdGUgbW9kZT86IEJvb3RzdHJhcE1vZGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgY29uZmlndXJlKGNvbmZpZzogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgYWxyZWFkeSBjb25maWd1cmVkOyBpZ25vcmluZyBkdXBsaWNhdGUgY29uZmlndXJlKCkgY2FsbC4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG5cbiAgICB0aGlzLnNlc3Npb24uc2V0VXJsKGNvbmZpZy51cmwpO1xuICAgIHRoaXMuc2Vzc2lvbi5zZXRDb29raWVOYW1lKGNvbmZpZy5jb29raWVOYW1lKTtcbiAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKHRoaXMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRWaWV3SGFuZGxlcnMoY29uZmlnLnZpZXdIYW5kbGVycyk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRNZXNzYWdlRGlhbG9nTmFtZShjb25maWcubWVzc2FnZURpYWxvZ05hbWUpO1xuICAgIHRoaXMudmlld0NvbnRleHQuc2V0QWN0aW9uRGVzY3JpcHRvcnMoY29uZmlnLmFjdGlvbkRlc2NyaXB0b3JzKTtcblxuICAgIHRoaXMudmlld0NvbnRleHQub3BlblNtYXJ0TGluay5zdWJzY3JpYmUoKGNoYW5uZWw6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVTbWFydExpbmsoY2hhbm5lbCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZVNtYXJ0TGluayhjaGFubmVsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jb25maWc/Lm9uU21hcnRMaW5rKSB7XG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblNtYXJ0TGluayhjaGFubmVsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBzdGFydCgpLicpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2Jvb3RzdHJhcFdpdGgnICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFxuICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5ib290c3RyYXBXaXRoKCkgd2FzIGFscmVhZHkgY2FsbGVkOyBzdGFydCgpIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGl0LiBDYWxsIHJlc2V0KCkgZmlyc3QgdG8gc3dpdGNoIGVudHJ5IHBvaW50cy4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdJbml0ICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgICB9XG4gICAgdGhpcy5tb2RlID0gJ3N0YXJ0JztcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHRoaXMucnVuSW5pdCgpO1xuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xuICB9XG5cbiAgYm9vdHN0cmFwV2l0aChjcmVkczogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBib290c3RyYXBXaXRoKCkuJykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlID09PSAnc3RhcnQnICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFxuICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5zdGFydCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgYm9vdHN0cmFwV2l0aCgpIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGl0LiBDYWxsIHJlc2V0KCkgZmlyc3QgdG8gc3dpdGNoIGVudHJ5IHBvaW50cy4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdJbml0ICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgICB9XG4gICAgdGhpcy5tb2RlID0gJ2Jvb3RzdHJhcFdpdGgnO1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdGhpcy5ydW5Cb290c3RyYXBXaXRoKGNyZWRzKTtcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIHdoZW5SZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMucnVubmluZ0luaXQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0Jvb3RzdHJhcE5vdFN0YXJ0ZWQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xuICB9XG5cbiAgYXN5bmMgcmVzZXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5tb2RlID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5pbml0aWFsaXplKCk7XG4gICAgICBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmluaXRWaWV3Q29udGV4dCgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVJbml0RmFpbHVyZShlcnIpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuQm9vdHN0cmFwV2l0aChjcmVkczogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zZXNzaW9uLnNldFNlc3Npb25Ub2tlbihjcmVkcy5zZXNzaW9uVG9rZW4pO1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0RnJvbUV4aXN0aW5nVmlld0NvbnRleHQoY3JlZHMudmlld0NvbnRleHRVdWlkKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUluaXRGYWlsdXJlKGVycjogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TdGFydEVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblN0YXJ0RXJyb3IoZXJyKTtcbiAgICAgIH0gY2F0Y2ggKGNhbGxiYWNrRXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uub25TdGFydEVycm9yIGNhbGxiYWNrIHRocmV3JywgY2FsbGJhY2tFcnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVNlc3Npb25FcnJvcihlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TZXNzaW9uRXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU2Vzc2lvbkVycm9yKGVycik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIERlZmF1bHQ6IGNsZWFyIHRoZSBzZXNzaW9uIGFuZCBsZXQgdGhlIGJhY2tlbmQgcmVidWlsZCB2aWEgUkVTVEFSVF9WSUVXQ09OVEVYVC5cbiAgICAvLyBObyByb3V0ZXIgbmF2aWdhdGlvbiBoZXJlIOKAlCB0aGUgbmV3IHZpZXdjb250ZXh0IGRyaXZlcyBuYXZpZ2F0aW9uIHNlcnZlci1zaWRlLlxuICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICB9XG59XG4iXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFOdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsaUJBQWlC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VSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25FcnJvciwgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZyxcbiAgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMsXG59IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcblxudHlwZSBCb290c3RyYXBNb2RlID0gJ3N0YXJ0JyB8ICdib290c3RyYXBXaXRoJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlIGltcGxlbWVudHMgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZz86IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZztcbiAgcHJpdmF0ZSBydW5uaW5nSW5pdD86IFByb21pc2U8dm9pZD47XG4gIHByaXZhdGUgbGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBtb2RlPzogQm9vdHN0cmFwTW9kZTtcbiAgcHJpdmF0ZSBydW5uaW5nVmlld0NvbnRleHRMb3N0PzogUHJvbWlzZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBjb25maWd1cmUoY29uZmlnOiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGNvbnNvbGUud2FybignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSBhbHJlYWR5IGNvbmZpZ3VyZWQ7IGlnbm9yaW5nIGR1cGxpY2F0ZSBjb25maWd1cmUoKSBjYWxsLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIHRoaXMuc2Vzc2lvbi5zZXRVcmwoY29uZmlnLnVybCk7XG4gICAgdGhpcy5zZXNzaW9uLnNldENvb2tpZU5hbWUoY29uZmlnLmNvb2tpZU5hbWUpO1xuICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uSGFuZGxlclNlcnZpY2UodGhpcyk7XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldFZpZXdIYW5kbGVycyhjb25maWcudmlld0hhbmRsZXJzKTtcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldE1lc3NhZ2VEaWFsb2dOYW1lKGNvbmZpZy5tZXNzYWdlRGlhbG9nTmFtZSk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRBY3Rpb25EZXNjcmlwdG9ycyhjb25maWcuYWN0aW9uRGVzY3JpcHRvcnMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLnN1YnNjcmliZSgoY2hhbm5lbDogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVNtYXJ0TGluayhjaGFubmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlU21hcnRMaW5rKGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TbWFydExpbmspIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU21hcnRMaW5rKGNoYW5uZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBzaW1wbHkgdW5ibG9jayBzaG93UHVibGlzaGVkVmlldydzIGBhd2FpdCBvcGVuU21hcnRMaW5rLnRvUHJvbWlzZSgpYC5cbiAgICAvLyBUaGUgdmlld0NvbnRleHQgaXMgYWxyZWFkeSBpbml0aWFsaXplZCBieSBzdGFydCgpL2Jvb3RzdHJhcFdpdGgoKSDigJQgY2FsbGluZ1xuICAgIC8vIGluaXRpYWxpemUoKSBoZXJlIHdpdGhvdXQgYSB1dWlkIHdvdWxkIGFsd2F5cyB0cmlnZ2VyIHN0YXJ0Vmlld0NvbnRleHQoKSxcbiAgICAvLyBjcmVhdGluZyBhIHNlY29uZCB2aWV3Y29udGV4dCBhbmQgcHJvZHVjaW5nIGR1cGxpY2F0ZSBVSSAoZS5nLiB0d28gbG9naW4gcGFnZXMpLlxuICAgIHRoaXMudmlld0NvbnRleHQub3BlblNtYXJ0TGluay5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgc3RhcnQoKS4nKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdib290c3RyYXBXaXRoJyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuYm9vdHN0cmFwV2l0aCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgc3RhcnQoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdzdGFydCc7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB0aGlzLnJ1bkluaXQoKTtcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYm9vdHN0cmFwV2l0aCgpLicpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3N0YXJ0JyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uuc3RhcnQoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IGJvb3RzdHJhcFdpdGgoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdib290c3RyYXBXaXRoJztcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHRoaXMucnVuQm9vdHN0cmFwV2l0aChjcmVkcyk7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gIH1cblxuICB3aGVuUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnJ1bm5pbmdJbml0KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdCb290c3RyYXBOb3RTdGFydGVkJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGFzeW5jIHJlc2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCB3aGVuIHRoZSBiYWNrZW5kIHJlcG9ydHNcbiAgICogYHNlc3Npb24udmlld2NvbnRleHQubWlzc2luZ2AuIElkZW1wb3RlbnQgYWNyb3NzIGNvbmN1cnJlbnQgYW5kXG4gICAqIHNlcXVlbnRpYWwgY2FsbHMgdW50aWwgdGhlIG5leHQgYHJlc2V0KClgIOKAlCBtdWx0aXBsZSByYWNpbmcgQkZGXG4gICAqIGZhaWx1cmVzIGNvbGxhcHNlIGludG8gYSBzaW5nbGUgcmVjb3ZlcnkgYXR0ZW1wdC5cbiAgICovXG4gIGhhbmRsZVZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVWaWV3Q29udGV4dExvc3QoKS4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XG4gICAgfVxuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHRoaXMucnVuVmlld0NvbnRleHRMb3N0KGVycik7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVmlld0NvbnRleHRMb3N0KGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblZpZXdDb250ZXh0TG9zdCkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25WaWV3Q29udGV4dExvc3QoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zZXNzaW9uLmluaXRpYWxpemUoKTtcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdFZpZXdDb250ZXh0KCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUluaXRGYWlsdXJlKGVycik7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydW5Cb290c3RyYXBXaXRoKGNyZWRzOiBTbWFydEJhY2tlbmRCb290c3RyYXBDcmVkZW50aWFscyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvblRva2VuKGNyZWRzLnNlc3Npb25Ub2tlbiwgY3JlZHMucmVmcmVzaFRva2VuKTtcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdEZyb21FeGlzdGluZ1ZpZXdDb250ZXh0KGNyZWRzLnZpZXdDb250ZXh0VXVpZCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUluaXRGYWlsdXJlKGVycik7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbml0RmFpbHVyZShlcnI6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5jb25maWc/Lm9uU3RhcnRFcnJvcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TdGFydEVycm9yKGVycik7XG4gICAgICB9IGNhdGNoIChjYWxsYmFja0Vycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLm9uU3RhcnRFcnJvciBjYWxsYmFjayB0aHJldycsIGNhbGxiYWNrRXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBoYW5kbGVTZXNzaW9uRXJyb3IoZXJyOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jb25maWc/Lm9uU2Vzc2lvbkVycm9yKSB7XG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblNlc3Npb25FcnJvcihlcnIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBjbGVhciB0aGUgc2Vzc2lvbiBhbmQgbGV0IHRoZSBiYWNrZW5kIHJlYnVpbGQgdmlhIFJFU1RBUlRfVklFV0NPTlRFWFQuXG4gICAgLy8gTm8gcm91dGVyIG5hdmlnYXRpb24gaGVyZSDigJQgdGhlIG5ldyB2aWV3Y29udGV4dCBkcml2ZXMgbmF2aWdhdGlvbiBzZXJ2ZXItc2lkZS5cbiAgICBhd2FpdCB0aGlzLnNlc3Npb24uY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcbiAgfVxufVxuIl19
|
|
@@ -4,11 +4,11 @@ import { catchError, switchMap } from 'rxjs/operators';
|
|
|
4
4
|
import { SessionErrorBehaviour, } from './projects';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./projects";
|
|
7
|
-
import * as i2 from "
|
|
7
|
+
import * as i2 from "./smart-backend-bootstrap.service";
|
|
8
8
|
export class SmartErrorCatchingInterceptor {
|
|
9
|
-
constructor(session,
|
|
9
|
+
constructor(session, bootstrap) {
|
|
10
10
|
this.session = session;
|
|
11
|
-
this.
|
|
11
|
+
this.bootstrap = bootstrap;
|
|
12
12
|
this.sessionErrorCodes = [
|
|
13
13
|
{
|
|
14
14
|
code: 'session.expired',
|
|
@@ -79,7 +79,7 @@ export class SmartErrorCatchingInterceptor {
|
|
|
79
79
|
return from(this.session.handleSessionError(sessionError));
|
|
80
80
|
}
|
|
81
81
|
if (sessionError.behaviour === SessionErrorBehaviour.RESTART_VIEWCONTEXT) {
|
|
82
|
-
return from(this.
|
|
82
|
+
return from(this.bootstrap.handleViewContextLost(sessionError));
|
|
83
83
|
}
|
|
84
84
|
return from(this.session.refreshSession());
|
|
85
85
|
}
|
|
@@ -91,10 +91,10 @@ export class SmartErrorCatchingInterceptor {
|
|
|
91
91
|
});
|
|
92
92
|
return request;
|
|
93
93
|
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: i1.SmartSessionService }, { token: i2.
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: i1.SmartSessionService }, { token: i2.SmartBackendBootstrapService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
95
95
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor }); }
|
|
96
96
|
}
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
|
|
98
98
|
type: Injectable
|
|
99
|
-
}], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
}], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartBackendBootstrapService }] });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWVycm9yLWNhdGNoaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sWUFBWSxDQUFDOzs7O0FBSXBCLE1BQU0sT0FBTyw2QkFBNkI7SUFnQ3hDLFlBQ1UsT0FBNEIsRUFDNUIsU0FBdUM7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFqQ2pELHNCQUFpQixHQUFtQjtZQUNsQztnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsU0FB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cUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxPQUE2QjtRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDN0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUM7YUFDeEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOytHQXJHVSw2QkFBNkI7bUhBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBcGlFcnJvcixcbiAgSGVhZGVyUGFyYW0sXG4gIFNlc3Npb25FcnJvcixcbiAgU2Vzc2lvbkVycm9yQmVoYXZpb3VyLFxuICBTbWFydFNlc3Npb25TZXJ2aWNlLFxufSBmcm9tICcuL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBzZXNzaW9uRXJyb3JDb2RlczogU2Vzc2lvbkVycm9yW10gPSBbXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uZXhwaXJlZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRUZSRVNILFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24ucmVmcmVzaHRva2VuLmludmFsaWQnLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLmJhZHJlcXVlc3QubWlzc2luZ3Rva2VuJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5zZWN1cml0eS5ub2NvbnRleHQnLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLmludmFsaWRzZXNzaW9udXJpJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5ub3Rpbml0aWFsaXplZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24udmlld2NvbnRleHQubWlzc2luZycsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUX1ZJRVdDT05URVhULFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYm9vdHN0cmFwOiBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLFxuICApIHt9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgcmV0dXJuIG5leHRcbiAgICAgIC5oYW5kbGUocmVxdWVzdClcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgcmVxdWVzdCwgbmV4dCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IoZXJyb3IpKSB7XG4gICAgICBjb25zdCBzZXNzaW9uRXJyb3IgPSB0aGlzLmdldFNlc3Npb25FcnJvcihlcnJvcik7XG4gICAgICBpZiAoc2Vzc2lvbkVycm9yKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVFcnJvcihzZXNzaW9uRXJyb3IpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChyZXNvbHZlZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc29sdmVkICYmIHNlc3Npb25FcnJvci5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRUZSRVNIKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLnVwZGF0ZVJlcXVlc3RIZWFkZXJzKHJlcXVlc3QpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChyZXNvbHZlRXJyb3IpID0+IHtcbiAgICAgICAgICAgIC8vIHdoZW4gdGhlIHJlc29sdmVFcnJvciB0aHJvd3MgYSByZXN0YXJ0IGVycm9yIChpbiB0aGUgcmVmcmVzaFNlc3Npb24pLCByZXRocm93IHRoZSBvcmlnaW5hbCBlcnJvclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IocmVzb2x2ZUVycm9yKSkge1xuICAgICAgICAgICAgICBjb25zdCByZXNvbHZlU2Vzc2lvbkVycm9yID0gdGhpcy5nZXRTZXNzaW9uRXJyb3IocmVzb2x2ZUVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKHJlc29sdmVTZXNzaW9uRXJyb3I/LmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHJlc29sdmVFcnJvcik7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlICE9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFNlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBTZXNzaW9uRXJyb3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25FcnJvckNvZGVzLmZpbmQoXG4gICAgICAoc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpID0+IHNlc3Npb25FcnJvci5jb2RlID09PSAoZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3IpLmNvZGVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRXJyb3Ioc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5zZXNzaW9uLmhhbmRsZVNlc3Npb25FcnJvcihzZXNzaW9uRXJyb3IpKTtcbiAgICB9XG4gICAgaWYgKHNlc3Npb25FcnJvci5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUX1ZJRVdDT05URVhUKSB7XG4gICAgICByZXR1cm4gZnJvbSh0aGlzLmJvb3RzdHJhcC5oYW5kbGVWaWV3Q29udGV4dExvc3Qoc2Vzc2lvbkVycm9yKSk7XG4gICAgfVxuICAgIHJldHVybiBmcm9tKHRoaXMuc2Vzc2lvbi5yZWZyZXNoU2Vzc2lvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVxdWVzdEhlYWRlcnMocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4pOiBIdHRwUmVxdWVzdDx1bmtub3duPiB7XG4gICAgdGhpcy5zZXNzaW9uLmhlYWRlclBhcmFtcy5mb3JFYWNoKChoZWFkZXJQYXJhbTogSGVhZGVyUGFyYW0pID0+IHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldChoZWFkZXJQYXJhbS5oZWFkZXJOYW1lLCBoZWFkZXJQYXJhbS52YWx1ZSksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxufVxuIl19
|
|
@@ -61,10 +61,23 @@ export class SmartSessionService {
|
|
|
61
61
|
* `initialize()`'s backend round-trip. Used by the
|
|
62
62
|
* `SmartBackendBootstrapService.bootstrapWith()` flow when a host
|
|
63
63
|
* (e.g. native mobile shell) hands over an already-authenticated session.
|
|
64
|
+
*
|
|
65
|
+
* Persists the SID to localStorage + cookie so that a page reload can
|
|
66
|
+
* rehydrate the session through `initialize()`'s regular
|
|
67
|
+
* `tokenFromLocalStorage === tokenFromCookies` path. The optional
|
|
68
|
+
* refreshToken is persisted to enable autonomous refresh via
|
|
69
|
+
* `refreshSession()` when the SID expires.
|
|
64
70
|
*/
|
|
65
|
-
setSessionToken(token) {
|
|
71
|
+
setSessionToken(token, refreshToken) {
|
|
66
72
|
this.token = token;
|
|
67
73
|
this.setUpTokenForSessionService();
|
|
74
|
+
if (this.cookieName) {
|
|
75
|
+
localStorage.setItem('token', token);
|
|
76
|
+
this.cookieService.set(this.cookieName, token);
|
|
77
|
+
if (refreshToken) {
|
|
78
|
+
localStorage.setItem('refreshToken', refreshToken);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
68
81
|
}
|
|
69
82
|
setUrl(url) {
|
|
70
83
|
this.basePath = url;
|
|
@@ -244,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
244
257
|
providedIn: 'root',
|
|
245
258
|
}]
|
|
246
259
|
}], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.SmartCookieService }] });
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFTekQsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVksZUFBZSxDQUFDLGVBQTRDO1FBQ3RFLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxLQUFLLGVBQWUsRUFBRSxVQUFVLENBQUM7UUFFdkYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUV4QyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQW1CRCxZQUNVLFVBQTBCLEVBQzFCLGFBQWlDO1FBRGpDLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQWxDbkMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBaUIxQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQywrQkFBMEIsR0FBcUIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWhGLGlCQUFZLEdBQXVCLElB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REFBcUQsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNFLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hELFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQzsrR0ExUlUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBcGlFcnJvcixcbiAgQXV0aGVudGljYXRpb25Qcm92aWRlckRhdGEsXG4gIEdldEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzUmVzcG9uc2UsXG4gIFNlc3Npb25JbmZvRGF0YSxcbiAgU2Vzc2lvblNlcnZpY2UsXG59IGZyb20gJy4vYXBpJztcbmltcG9ydCB7IFNtYXJ0Q29va2llU2VydmljZSB9IGZyb20gJy4vY29va2llLXNlcnZpY2Uvc21hcnQtY29va2llLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkVycm9yLCBTbWFydFNlc3Npb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyUGFyYW0ge1xuICBoZWFkZXJOYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRTZXNzaW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIHByaXZhdGUgdG9rZW4/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3Nlc3Npb25JbmZvRGF0YT86IFNlc3Npb25JbmZvRGF0YTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBnZXQgc2Vzc2lvbkluZm9EYXRhKCk6IFNlc3Npb25JbmZvRGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb25JbmZvRGF0YTtcbiAgfVxuICBwcml2YXRlIHNldCBzZXNzaW9uSW5mb0RhdGEoc2Vzc2lvbkluZm9EYXRhOiBTZXNzaW9uSW5mb0RhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBsZXQgZXhwaXJhY3lDaGFuZ2VkID0gdGhpcy5zZXNzaW9uSW5mb0RhdGE/LmV4cGlyYXRpb24gIT09IHNlc3Npb25JbmZvRGF0YT8uZXhwaXJhdGlvbjtcblxuICAgIHRoaXMuX3Nlc3Npb25JbmZvRGF0YSA9IHNlc3Npb25JbmZvRGF0YTtcblxuICAgIGlmIChleHBpcmFjeUNoYW5nZWQpIHtcbiAgICAgIHRoaXMuc2Vzc2lvbkV4cGlyYWN5Q2hhbmdlZC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm92aWRlcnM/OiBBcnJheTxBdXRoZW50aWNhdGlvblByb3ZpZGVyRGF0YT47XG4gIHByaXZhdGUgY29va2llTmFtZT86IHN0cmluZztcbiAgcHVibGljIGlzQXV0aGVudGljYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBhdXRoZW50aWNhdGlvblN0YXRlQ2hhbmdlZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gIHB1YmxpYyBoZWFkZXJQYXJhbXM6IEFycmF5PEhlYWRlclBhcmFtPiA9IG5ldyBBcnJheSgpO1xuXG4gIC8vIExvY2FsZVxuICBwcml2YXRlIGxvY2FsU3RvcmFnZUxvY2FsZU5hbWU6IHN0cmluZyA9ICdsb2NhbGUnO1xuICBwdWJsaWMgbG9jYWxlQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICBwcml2YXRlIGluaXRpYWxpemVSdW5uaW5nOiBTdWJqZWN0PHZvaWQ+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBzZXNzaW9uRXhwaXJhY3lDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG5cbiAgcHJpdmF0ZSBzZXNzaW9uSGFuZGxlclNlcnZpY2U/OiBTbWFydFNlc3Npb25IYW5kbGVyU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogU21hcnRDb29raWVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZXNzaW9uSGFuZGxlclNlcnZpY2Uoc21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2U6IFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKTogdm9pZCB7XG4gICAgdGhpcy5zZXNzaW9uSGFuZGxlclNlcnZpY2UgPSBzbWFydFNlc3Npb25IYW5kbGVyU2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSGFuZGxlclNlcnZpY2UpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNlc3Npb25IYW5kbGVyU2VydmljZS5oYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBzZXNzaW9uSGFuZGxlclNlcnZpY2Ugd2FzIG5vdCBpbml0aWFsaXplZC4gRXJyb3I6ICR7c2Vzc2lvbkVycm9yLmNvZGV9YCk7XG4gIH1cblxuICBwdWJsaWMgYWRkSGVhZGVyUGFyYW0oaGVhZGVyUGFyYW06IEhlYWRlclBhcmFtKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVhZGVyUGFyYW1zLmZpbmQoKGg6IEhlYWRlclBhcmFtKSA9PiBoLmhlYWRlck5hbWUgPT09IGhlYWRlclBhcmFtLmhlYWRlck5hbWUpKSB7XG4gICAgICBsZXQgaW5kZXggPSB0aGlzLmhlYWRlclBhcmFtcy5maW5kSW5kZXgoXG4gICAgICAgIChoOiBIZWFkZXJQYXJhbSkgPT4gaC5oZWFkZXJOYW1lID09PSBoZWFkZXJQYXJhbS5oZWFkZXJOYW1lXG4gICAgICApO1xuICAgICAgdGhpcy5oZWFkZXJQYXJhbXNbaW5kZXghXS52YWx1ZSA9IGhlYWRlclBhcmFtLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlYWRlclBhcmFtcy5wdXNoKGhlYWRlclBhcmFtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZEhlYWRlclBhcmFtKHtcbiAgICAgIGhlYWRlck5hbWU6ICdBdXRob3JpemF0aW9uJyxcbiAgICAgIHZhbHVlOiBgQmVhcmVyICR7dGhpcy50b2tlbiF9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyB0aGUgc2Vzc2lvbiB3aXRoIGFuIGV4dGVybmFsbHkgb2J0YWluZWQgU0lELCBieXBhc3NpbmdcbiAgICogYGluaXRpYWxpemUoKWAncyBiYWNrZW5kIHJvdW5kLXRyaXAuIFVzZWQgYnkgdGhlXG4gICAqIGBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmJvb3RzdHJhcFdpdGgoKWAgZmxvdyB3aGVuIGEgaG9zdFxuICAgKiAoZS5nLiBuYXRpdmUgbW9iaWxlIHNoZWxsKSBoYW5kcyBvdmVyIGFuIGFscmVhZHktYXV0aGVudGljYXRlZCBzZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHNldFNlc3Npb25Ub2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgIHRoaXMuc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VXJsKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5iYXNlUGF0aCA9IHVybDtcbiAgfVxuICBwdWJsaWMgZ2V0QmFzZVBhdGgoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuYmFzZVBhdGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQmFzZVBhdGggaGFzIG5vdCBiZWVuIHNldCBpbiBTbWFydFNlc3Npb25TZXJ2aWNlIScpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlUGF0aDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb29raWVOYW1lKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29va2llTmFtZSA9IG5hbWU7XG4gIH1cblxuICBwcml2YXRlIHNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSAmJiB0aGlzLmNvb2tpZU5hbWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnNpZCk7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnJlZnJlc2hUb2tlbiAmJlxuICAgICAgICB0aGlzLnNlc3Npb25JbmZvRGF0YS5yZWZyZXNoVG9rZW4gIT09IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyZWZyZXNoVG9rZW4nKVxuICAgICAgKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyZWZyZXNoVG9rZW4nLCB0aGlzLnNlc3Npb25JbmZvRGF0YS5yZWZyZXNoVG9rZW4pO1xuICAgICAgfVxuICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCh0aGlzLmNvb2tpZU5hbWUsIHRoaXMudG9rZW4hKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEF1dGhlbnRpY2F0aW9uU3RhdHVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSAmJiB0aGlzLnNlc3Npb25JbmZvRGF0YS5hdXRoZW50aWNhdGlvbnMpIHtcbiAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkID0gdGhpcy5zZXNzaW9uSW5mb0RhdGEuYXV0aGVudGljYXRpb25zLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIHRoaXMuYXV0aGVudGljYXRpb25TdGF0ZUNoYW5nZWQubmV4dCh0aGlzLmlzQXV0aGVudGljYXRlZCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU3RhdGVtZW50cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYmFzZVBhdGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHVybCBvZiB0aGUgYmFja2VuZCBhcGkgaGFzIG5vdCBiZWVuIHNldCEnKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvb2tpZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIG5hbWUgb2YgdGhlIGNvb2tpZSByZXF1aXJlZCBieSB0aGUgYmFja2VuZCBoYXMgbm90IGJlZW4gc2V0IScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVSdW5uaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplUnVubmluZy50b1Byb21pc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0aWFsaXplUnVubmluZyA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlbWVudHMoKTtcblxuICAgICAgICBsZXQgdG9rZW5Gcm9tTG9jYWxTdG9yYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgIGxldCB0b2tlbkZyb21Db29raWVzID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCh0aGlzLmNvb2tpZU5hbWUhKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgdG9rZW5Gcm9tTG9jYWxTdG9yYWdlICYmXG4gICAgICAgICAgdG9rZW5Gcm9tQ29va2llcyAmJlxuICAgICAgICAgIHRva2VuRnJvbUxvY2FsU3RvcmFnZSA9PT0gdG9rZW5Gcm9tQ29va2llc1xuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnRva2VuID0gdG9rZW5Gcm9tTG9jYWxTdG9yYWdlO1xuICAgICAgICAgIHRoaXMuc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0U2Vzc2lvbigpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydFNlc3Npb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSAmJiB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpIHtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUxvY2FsZU5hbWUsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSk7XG4gICAgICAgICAgdGhpcy5sb2NhbGVDaGFuZ2VkLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUnVubmluZy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRTZXNzaW9uKCk6IFByb21pc2U8U2Vzc2lvbkluZm9EYXRhPiB7XG4gICAgbGV0IHNlc3Npb25JbmZvID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnN0YXJ0U2Vzc2lvbigpLnRvUHJvbWlzZSgpO1xuICAgIGlmIChzZXNzaW9uSW5mbykge1xuICAgICAgdGhpcy51cGRhdGVTZXNzaW9uSW5mbyhzZXNzaW9uSW5mbyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkluZm9EYXRhITtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTZXNzaW9uKCk6IFByb21pc2U8U2Vzc2lvbkluZm9EYXRhPiB7XG4gICAgbGV0IHNlc3Npb25JbmZvID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmdldFNlc3Npb24oKS50b1Byb21pc2UoKTtcbiAgICBpZiAoc2Vzc2lvbkluZm8pIHtcbiAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhID0gc2Vzc2lvbkluZm87XG4gICAgICB0aGlzLnRva2VuID0gc2Vzc2lvbkluZm8uc2lkO1xuICAgICAgdGhpcy5zYXZlVG9rZW5Ub0xvY2FsU3RvcmFnZSgpO1xuICAgICAgdGhpcy5zZXRBdXRoZW50aWNhdGlvblN0YXR1cygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlc3Npb25JbmZvRGF0YSE7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVmcmVzaFNlc3Npb24oKTogUHJvbWlzZTxTZXNzaW9uSW5mb0RhdGE+IHtcbiAgICBsZXQgcmVmcmVzaFRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JlZnJlc2hUb2tlbicpO1xuICAgIGlmICghcmVmcmVzaFRva2VuKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5zdGFydFNlc3Npb24oKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2Vzc2lvbkluZm8gPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuYXBpU2VydmljZS5yZWZyZXNoU2Vzc2lvbih7IHJlZnJlc2hUb2tlbiB9KSk7XG4gICAgICBpZiAoc2Vzc2lvbkluZm8pIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZXNzaW9uSW5mbyhzZXNzaW9uSW5mbyk7XG4gICAgICAgIHJldHVybiBzZXNzaW9uSW5mbztcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKHRoaXMuaXNJbnZhbGlkUmVmcmVzaFRva2VuRXJyb3IoZXJyb3IpKSB7XG4gICAgICAgIHRoaXMuY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcbiAgICAgICAgLy8gc3RpbGwgdGhyb3cgdGhlIGVycm9yLCBzbyB0aGUgZXJyb3IgY2FuIGJlIGhhbmRsZWQgaW4gdGhlIGNhbGxlclxuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIC8vIG5vIHNlc3Npb25JbmZvIHJldHVybmVkXG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gcmVmcmVzaCBzZXNzaW9uJyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNlc3Npb25JbmZvKHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mb0RhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlc3Npb25JbmZvRGF0YSA9IHNlc3Npb25JbmZvO1xuICAgIHRoaXMudG9rZW4gPSBzZXNzaW9uSW5mby5zaWQ7XG4gICAgdGhpcy5zYXZlVG9rZW5Ub0xvY2FsU3RvcmFnZSgpO1xuICAgIHRoaXMuc2V0QXV0aGVudGljYXRpb25TdGF0dXMoKTtcbiAgICB0aGlzLnNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0ludmFsaWRSZWZyZXNoVG9rZW5FcnJvcihlcnJvcjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiZcbiAgICAgIGVycm9yLmVycm9yICYmXG4gICAgICAoZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3IpLmNvZGUgPT09ICdzZXNzaW9uLnJlZnJlc2h0b2tlbi5pbnZhbGlkJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0QXV0aGVudGljYXRpb25Qcm92aWRlcnMoKTogUHJvbWlzZTxBcnJheTxBdXRoZW50aWNhdGlvblByb3ZpZGVyRGF0YT4+IHtcbiAgICBsZXQgcHJvdmlkZXJzOiBHZXRBdXRoZW50aWNhdGlvblByb3ZpZGVyc1Jlc3BvbnNlIHwgdW5kZWZpbmVkID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0QXV0aGVudGljYXRpb25Qcm92aWRlcnMoKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgdGhpcy5wcm92aWRlcnMgPSBwcm92aWRlcnM/LmF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzO1xuXG4gICAgcmV0dXJuIHRoaXMucHJvdmlkZXJzITtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRJc0F1dGhlbnRpY2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0F1dGhlbnRpY2F0ZWQ7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuZ2V0U2Vzc2lvbigpO1xuICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpczJGQU5lY2Vzc2FyeSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmF1dGhlbnRpY2F0aW9ucz8uc29tZSgoYWNjb3VudEluZm8pID0+IGFjY291bnRJbmZvLnR3b0ZBID09PSB0cnVlKSA/P1xuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5nZXRTZXNzaW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhIS5hdXRoZW50aWNhdGlvbnM/LnNvbWUoKGFjY291bnRJbmZvKSA9PiBhY2NvdW50SW5mby50d29GQSA9PT0gdHJ1ZSkgPz9cbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIHRoaXMuaGVhZGVyUGFyYW1zID0gW107XG4gICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZSh0aGlzLmNvb2tpZU5hbWUhKTtcblxuICAgIGF3YWl0IHRoaXMuc3RhcnRTZXNzaW9uKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSkge1xuICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSkgIT09IHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUxvY2FsZU5hbWUsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZXJlIGlzIG5vIFNlc3Npb25JbmZvRGF0YSBvciBsb2NhbGUgaXMgdW5kZWZpbmVkLicpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNoYW5nZUxvY2FsZShsb2NhbGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnNldExvY2FsZShsb2NhbGUpLnRvUHJvbWlzZSgpO1xuICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSAmJiB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSwgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKTtcbiAgICAgIHRoaXMubG9jYWxlQ2hhbmdlZC5uZXh0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFTekQsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVksZUFBZSxDQUFDLGVBQTRDO1FBQ3RFLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxLQUFLLGVBQWUsRUFBRSxVQUFVLENBQUM7UUFFdkYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUV4QyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQW1CRCxZQUNVLFVBQTBCLEVBQzFCLGFBQWlDO1FBRGpDLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQWxDbkMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBaUIxQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQywrQkFBMEIsR0FBcUIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWhGLGlCQUFZLEdBQXVCLElBQUksS0FBSyxFQUFFLENBQUM7UUFFdEQsU0FBUztRQUNELDJCQUFzQixHQUFXLFFBQVEsQ0FBQztRQUMzQyxrQkFBYSxHQUFrQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFHaEUsMkJBQXNCLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQU83RSxDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sd0JBQXdCLENBQUMsMEJBQXNEO1FBQ3BGLElBQUksQ0FBQyxxQkFBcUIsR0FBRywwQkFBMEIsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLFlBQTBCO1FBQ3hELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsT0FBTyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUF3QjtRQUM1QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3hGLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUNyQyxDQUFDLENBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsVUFBVSxDQUM1RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFNLENBQUMsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUN0RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDbEIsVUFBVSxFQUFFLGVBQWU7WUFDM0IsS0FBSyxFQUFFLFVBQVUsSUFBSSxDQUFDLEtBQU0sRUFBRTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxlQUFlLENBQUMsS0FBYSxFQUFFLFlBQXFCO1FBQ3pELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDdEIsQ0FBQztJQUNNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVk7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEQsSUFDRSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVk7Z0JBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQzFFLENBQUM7Z0JBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxRSxDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUNsRSxDQUFDO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7UUFDdEYsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVTtRQUNyQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUV2QixJQUFJLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzFELElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVcsQ0FBQyxDQUFDO2dCQUVoRSxJQUNFLHFCQUFxQjtvQkFDckIsZ0JBQWdCO29CQUNoQixxQkFBcUIsS0FBSyxnQkFBZ0IsRUFDMUMsQ0FBQztvQkFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDO29CQUNuQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxDQUFDO3dCQUNILE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUMxQixDQUFDO29CQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7d0JBQ2IsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzVCLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQ3ZDLENBQUM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3hELFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQy9FLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO29CQUFTLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZO1FBQ3hCLElBQUksV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuRSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzdCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxlQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN6QixJQUFJLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRixJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLE9BQU8sV0FBVyxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2dCQUMvQixtRUFBbUU7WUFDckUsQ0FBQztZQUNELE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELDBCQUEwQjtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFdBQTRCO1FBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUM3QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sMEJBQTBCLENBQUMsS0FBVTtRQUMzQyxPQUFPLENBQ0wsS0FBSyxZQUFZLGlCQUFpQjtZQUNsQyxLQUFLLENBQUMsS0FBSztZQUNWLEtBQUssQ0FBQyxLQUFrQixDQUFDLElBQUksS0FBSyw4QkFBOEIsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsMEJBQTBCO1FBQ3JDLElBQUksU0FBUyxHQUFtRCxNQUFNLElBQUksQ0FBQyxVQUFVO2FBQ2xGLDBCQUEwQixFQUFFO2FBQzVCLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsdUJBQXVCLENBQUM7UUFFcEQsT0FBTyxJQUFJLENBQUMsU0FBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixPQUFPLENBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztnQkFDdkYsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUNMLElBQUksQ0FBQyxlQUFnQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDO1lBQ3hGLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUI7UUFDbEMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVyxDQUFDLENBQUM7UUFFNUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4RCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEYsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqRixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNFLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hELFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQzsrR0F2U1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBcGlFcnJvcixcbiAgQXV0aGVudGljYXRpb25Qcm92aWRlckRhdGEsXG4gIEdldEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzUmVzcG9uc2UsXG4gIFNlc3Npb25JbmZvRGF0YSxcbiAgU2Vzc2lvblNlcnZpY2UsXG59IGZyb20gJy4vYXBpJztcbmltcG9ydCB7IFNtYXJ0Q29va2llU2VydmljZSB9IGZyb20gJy4vY29va2llLXNlcnZpY2Uvc21hcnQtY29va2llLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkVycm9yLCBTbWFydFNlc3Npb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyUGFyYW0ge1xuICBoZWFkZXJOYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRTZXNzaW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIHByaXZhdGUgdG9rZW4/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3Nlc3Npb25JbmZvRGF0YT86IFNlc3Npb25JbmZvRGF0YTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBnZXQgc2Vzc2lvbkluZm9EYXRhKCk6IFNlc3Npb25JbmZvRGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb25JbmZvRGF0YTtcbiAgfVxuICBwcml2YXRlIHNldCBzZXNzaW9uSW5mb0RhdGEoc2Vzc2lvbkluZm9EYXRhOiBTZXNzaW9uSW5mb0RhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBsZXQgZXhwaXJhY3lDaGFuZ2VkID0gdGhpcy5zZXNzaW9uSW5mb0RhdGE/LmV4cGlyYXRpb24gIT09IHNlc3Npb25JbmZvRGF0YT8uZXhwaXJhdGlvbjtcblxuICAgIHRoaXMuX3Nlc3Npb25JbmZvRGF0YSA9IHNlc3Npb25JbmZvRGF0YTtcblxuICAgIGlmIChleHBpcmFjeUNoYW5nZWQpIHtcbiAgICAgIHRoaXMuc2Vzc2lvbkV4cGlyYWN5Q2hhbmdlZC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm92aWRlcnM/OiBBcnJheTxBdXRoZW50aWNhdGlvblByb3ZpZGVyRGF0YT47XG4gIHByaXZhdGUgY29va2llTmFtZT86IHN0cmluZztcbiAgcHVibGljIGlzQXV0aGVudGljYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBhdXRoZW50aWNhdGlvblN0YXRlQ2hhbmdlZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gIHB1YmxpYyBoZWFkZXJQYXJhbXM6IEFycmF5PEhlYWRlclBhcmFtPiA9IG5ldyBBcnJheSgpO1xuXG4gIC8vIExvY2FsZVxuICBwcml2YXRlIGxvY2FsU3RvcmFnZUxvY2FsZU5hbWU6IHN0cmluZyA9ICdsb2NhbGUnO1xuICBwdWJsaWMgbG9jYWxlQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICBwcml2YXRlIGluaXRpYWxpemVSdW5uaW5nOiBTdWJqZWN0PHZvaWQ+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBzZXNzaW9uRXhwaXJhY3lDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG5cbiAgcHJpdmF0ZSBzZXNzaW9uSGFuZGxlclNlcnZpY2U/OiBTbWFydFNlc3Npb25IYW5kbGVyU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogU21hcnRDb29raWVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZXNzaW9uSGFuZGxlclNlcnZpY2Uoc21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2U6IFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKTogdm9pZCB7XG4gICAgdGhpcy5zZXNzaW9uSGFuZGxlclNlcnZpY2UgPSBzbWFydFNlc3Npb25IYW5kbGVyU2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSGFuZGxlclNlcnZpY2UpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNlc3Npb25IYW5kbGVyU2VydmljZS5oYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBzZXNzaW9uSGFuZGxlclNlcnZpY2Ugd2FzIG5vdCBpbml0aWFsaXplZC4gRXJyb3I6ICR7c2Vzc2lvbkVycm9yLmNvZGV9YCk7XG4gIH1cblxuICBwdWJsaWMgYWRkSGVhZGVyUGFyYW0oaGVhZGVyUGFyYW06IEhlYWRlclBhcmFtKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVhZGVyUGFyYW1zLmZpbmQoKGg6IEhlYWRlclBhcmFtKSA9PiBoLmhlYWRlck5hbWUgPT09IGhlYWRlclBhcmFtLmhlYWRlck5hbWUpKSB7XG4gICAgICBsZXQgaW5kZXggPSB0aGlzLmhlYWRlclBhcmFtcy5maW5kSW5kZXgoXG4gICAgICAgIChoOiBIZWFkZXJQYXJhbSkgPT4gaC5oZWFkZXJOYW1lID09PSBoZWFkZXJQYXJhbS5oZWFkZXJOYW1lXG4gICAgICApO1xuICAgICAgdGhpcy5oZWFkZXJQYXJhbXNbaW5kZXghXS52YWx1ZSA9IGhlYWRlclBhcmFtLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlYWRlclBhcmFtcy5wdXNoKGhlYWRlclBhcmFtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZEhlYWRlclBhcmFtKHtcbiAgICAgIGhlYWRlck5hbWU6ICdBdXRob3JpemF0aW9uJyxcbiAgICAgIHZhbHVlOiBgQmVhcmVyICR7dGhpcy50b2tlbiF9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyB0aGUgc2Vzc2lvbiB3aXRoIGFuIGV4dGVybmFsbHkgb2J0YWluZWQgU0lELCBieXBhc3NpbmdcbiAgICogYGluaXRpYWxpemUoKWAncyBiYWNrZW5kIHJvdW5kLXRyaXAuIFVzZWQgYnkgdGhlXG4gICAqIGBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmJvb3RzdHJhcFdpdGgoKWAgZmxvdyB3aGVuIGEgaG9zdFxuICAgKiAoZS5nLiBuYXRpdmUgbW9iaWxlIHNoZWxsKSBoYW5kcyBvdmVyIGFuIGFscmVhZHktYXV0aGVudGljYXRlZCBzZXNzaW9uLlxuICAgKlxuICAgKiBQZXJzaXN0cyB0aGUgU0lEIHRvIGxvY2FsU3RvcmFnZSArIGNvb2tpZSBzbyB0aGF0IGEgcGFnZSByZWxvYWQgY2FuXG4gICAqIHJlaHlkcmF0ZSB0aGUgc2Vzc2lvbiB0aHJvdWdoIGBpbml0aWFsaXplKClgJ3MgcmVndWxhclxuICAgKiBgdG9rZW5Gcm9tTG9jYWxTdG9yYWdlID09PSB0b2tlbkZyb21Db29raWVzYCBwYXRoLiBUaGUgb3B0aW9uYWxcbiAgICogcmVmcmVzaFRva2VuIGlzIHBlcnNpc3RlZCB0byBlbmFibGUgYXV0b25vbW91cyByZWZyZXNoIHZpYVxuICAgKiBgcmVmcmVzaFNlc3Npb24oKWAgd2hlbiB0aGUgU0lEIGV4cGlyZXMuXG4gICAqL1xuICBwdWJsaWMgc2V0U2Vzc2lvblRva2VuKHRva2VuOiBzdHJpbmcsIHJlZnJlc2hUb2tlbj86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcbiAgICB0aGlzLnNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpO1xuICAgIGlmICh0aGlzLmNvb2tpZU5hbWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIHRva2VuKTtcbiAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQodGhpcy5jb29raWVOYW1lLCB0b2tlbik7XG4gICAgICBpZiAocmVmcmVzaFRva2VuKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyZWZyZXNoVG9rZW4nLCByZWZyZXNoVG9rZW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRVcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmJhc2VQYXRoID0gdXJsO1xuICB9XG4gIHB1YmxpYyBnZXRCYXNlUGF0aCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5iYXNlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCYXNlUGF0aCBoYXMgbm90IGJlZW4gc2V0IGluIFNtYXJ0U2Vzc2lvblNlcnZpY2UhJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJhc2VQYXRoO1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZU5hbWUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb29raWVOYW1lID0gbmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZVRva2VuVG9Mb2NhbFN0b3JhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuY29va2llTmFtZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgdGhpcy5zZXNzaW9uSW5mb0RhdGEuc2lkKTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEucmVmcmVzaFRva2VuICYmXG4gICAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnJlZnJlc2hUb2tlbiAhPT0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JlZnJlc2hUb2tlbicpXG4gICAgICApIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnJlZnJlc2hUb2tlbik7XG4gICAgICB9XG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KHRoaXMuY29va2llTmFtZSwgdGhpcy50b2tlbiEpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QXV0aGVudGljYXRpb25TdGF0dXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmF1dGhlbnRpY2F0aW9ucykge1xuICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQgPSB0aGlzLnNlc3Npb25JbmZvRGF0YS5hdXRoZW50aWNhdGlvbnMubGVuZ3RoID4gMDtcbiAgICB9XG4gICAgdGhpcy5hdXRoZW50aWNhdGlvblN0YXRlQ2hhbmdlZC5uZXh0KHRoaXMuaXNBdXRoZW50aWNhdGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tTdGF0ZW1lbnRzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5iYXNlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgdXJsIG9mIHRoZSBiYWNrZW5kIGFwaSBoYXMgbm90IGJlZW4gc2V0IScpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuY29va2llTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgbmFtZSBvZiB0aGUgY29va2llIHJlcXVpcmVkIGJ5IHRoZSBiYWNrZW5kIGhhcyBub3QgYmVlbiBzZXQhJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVSdW5uaW5nLnRvUHJvbWlzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGVtZW50cygpO1xuXG4gICAgICAgIGxldCB0b2tlbkZyb21Mb2NhbFN0b3JhZ2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKTtcbiAgICAgICAgbGV0IHRva2VuRnJvbUNvb2tpZXMgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuY29va2llTmFtZSEpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0b2tlbkZyb21Mb2NhbFN0b3JhZ2UgJiZcbiAgICAgICAgICB0b2tlbkZyb21Db29raWVzICYmXG4gICAgICAgICAgdG9rZW5Gcm9tTG9jYWxTdG9yYWdlID09PSB0b2tlbkZyb21Db29raWVzXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMudG9rZW4gPSB0b2tlbkZyb21Mb2NhbFN0b3JhZ2U7XG4gICAgICAgICAgdGhpcy5zZXRVcFRva2VuRm9yU2Vzc2lvblNlcnZpY2UoKTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRTZXNzaW9uKCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0U2Vzc2lvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSwgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKTtcbiAgICAgICAgICB0aGlzLmxvY2FsZUNoYW5nZWQubmV4dCgpO1xuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGFydFNlc3Npb24oKTogUHJvbWlzZTxTZXNzaW9uSW5mb0RhdGE+IHtcbiAgICBsZXQgc2Vzc2lvbkluZm8gPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2Uuc3RhcnRTZXNzaW9uKCkudG9Qcm9taXNlKCk7XG4gICAgaWYgKHNlc3Npb25JbmZvKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlc3Npb25JbmZvKHNlc3Npb25JbmZvKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uSW5mb0RhdGEhO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFNlc3Npb24oKTogUHJvbWlzZTxTZXNzaW9uSW5mb0RhdGE+IHtcbiAgICBsZXQgc2Vzc2lvbkluZm8gPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UuZ2V0U2Vzc2lvbigpLnRvUHJvbWlzZSgpO1xuICAgIGlmIChzZXNzaW9uSW5mbykge1xuICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEgPSBzZXNzaW9uSW5mbztcbiAgICAgIHRoaXMudG9rZW4gPSBzZXNzaW9uSW5mby5zaWQ7XG4gICAgICB0aGlzLnNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk7XG4gICAgICB0aGlzLnNldEF1dGhlbnRpY2F0aW9uU3RhdHVzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkluZm9EYXRhITtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZWZyZXNoU2Vzc2lvbigpOiBQcm9taXNlPFNlc3Npb25JbmZvRGF0YT4ge1xuICAgIGxldCByZWZyZXNoVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVmcmVzaFRva2VuJyk7XG4gICAgaWYgKCFyZWZyZXNoVG9rZW4pIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnN0YXJ0U2Vzc2lvbigpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZXNzaW9uSW5mbyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5hcGlTZXJ2aWNlLnJlZnJlc2hTZXNzaW9uKHsgcmVmcmVzaFRva2VuIH0pKTtcbiAgICAgIGlmIChzZXNzaW9uSW5mbykge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlc3Npb25JbmZvKHNlc3Npb25JbmZvKTtcbiAgICAgICAgcmV0dXJuIHNlc3Npb25JbmZvO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAodGhpcy5pc0ludmFsaWRSZWZyZXNoVG9rZW5FcnJvcihlcnJvcikpIHtcbiAgICAgICAgdGhpcy5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICAgICAgICAvLyBzdGlsbCB0aHJvdyB0aGUgZXJyb3IsIHNvIHRoZSBlcnJvciBjYW4gYmUgaGFuZGxlZCBpbiB0aGUgY2FsbGVyXG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgLy8gbm8gc2Vzc2lvbkluZm8gcmV0dXJuZWRcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byByZWZyZXNoIHNlc3Npb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2Vzc2lvbkluZm8oc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhID0gc2Vzc2lvbkluZm87XG4gICAgdGhpcy50b2tlbiA9IHNlc3Npb25JbmZvLnNpZDtcbiAgICB0aGlzLnNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk7XG4gICAgdGhpcy5zZXRBdXRoZW50aWNhdGlvblN0YXR1cygpO1xuICAgIHRoaXMuc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk7XG4gIH1cblxuICBwcml2YXRlIGlzSW52YWxpZFJlZnJlc2hUb2tlbkVycm9yKGVycm9yOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJlxuICAgICAgZXJyb3IuZXJyb3IgJiZcbiAgICAgIChlcnJvci5lcnJvciBhcyBBcGlFcnJvcikuY29kZSA9PT0gJ3Nlc3Npb24ucmVmcmVzaHRva2VuLmludmFsaWQnXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRBdXRoZW50aWNhdGlvblByb3ZpZGVycygpOiBQcm9taXNlPEFycmF5PEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJEYXRhPj4ge1xuICAgIGxldCBwcm92aWRlcnM6IEdldEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzUmVzcG9uc2UgfCB1bmRlZmluZWQgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRBdXRoZW50aWNhdGlvblByb3ZpZGVycygpXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICB0aGlzLnByb3ZpZGVycyA9IHByb3ZpZGVycz8uYXV0aGVudGljYXRpb25Qcm92aWRlcnM7XG5cbiAgICByZXR1cm4gdGhpcy5wcm92aWRlcnMhO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldElzQXV0aGVudGljYXRlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZDtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5nZXRTZXNzaW9uKCk7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGlzMkZBTmVjZXNzYXJ5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEuYXV0aGVudGljYXRpb25zPy5zb21lKChhY2NvdW50SW5mbykgPT4gYWNjb3VudEluZm8udHdvRkEgPT09IHRydWUpID8/XG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmdldFNlc3Npb24oKTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEhLmF1dGhlbnRpY2F0aW9ucz8uc29tZSgoYWNjb3VudEluZm8pID0+IGFjY291bnRJbmZvLnR3b0ZBID09PSB0cnVlKSA/P1xuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBbXTtcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKHRoaXMuY29va2llTmFtZSEpO1xuXG4gICAgYXdhaXQgdGhpcy5zdGFydFNlc3Npb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhbGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKSB7XG4gICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5sb2NhbFN0b3JhZ2VMb2NhbGVOYW1lKSAhPT0gdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSwgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGU7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignVGhlcmUgaXMgbm8gU2Vzc2lvbkluZm9EYXRhIG9yIGxvY2FsZSBpcyB1bmRlZmluZWQuJyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hhbmdlTG9jYWxlKGxvY2FsZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2Uuc2V0TG9jYWxlKGxvY2FsZSkudG9Qcm9taXNlKCk7XG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5sb2NhbFN0b3JhZ2VMb2NhbGVOYW1lLCB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpO1xuICAgICAgdGhpcy5sb2NhbGVDaGFuZ2VkLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -98,7 +98,6 @@ export class SmartComponentLayoutUtility {
|
|
|
98
98
|
result.push(...this.getToolbars(expandable));
|
|
99
99
|
}
|
|
100
100
|
let expandeableHeaderToolbar = comp.expandableComponents?.first?.toolbar;
|
|
101
|
-
console.log(expandeableHeaderToolbar);
|
|
102
101
|
if (expandeableHeaderToolbar) {
|
|
103
102
|
result.push(expandeableHeaderToolbar);
|
|
104
103
|
}
|
|
@@ -151,4 +150,4 @@ export class SmartComponentLayoutUtility {
|
|
|
151
150
|
comp.components?.forEach((child) => this.setUuid(child, uuid));
|
|
152
151
|
}
|
|
153
152
|
}
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixtQkFBbUIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFjN0YsTUFBTSxPQUFPLDJCQUEyQjtJQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQW1DO1FBQ3hELElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDNUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FB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QztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBSZW5kZXJlclN0eWxlRmxhZ3MyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1mb3JtL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0R3JpZENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1tYXAvc21hcnQtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xuaW1wb3J0IHsgU3R5bGUsIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnREaWFncmFtQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZGlhZ3JhbS9wcm9qZWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1iZWRkZWRTbG90SW5mbyB7XG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xufVxuXG5leHBvcnQgY2xhc3MgU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5IHtcbiAgcHVibGljIHN0YXRpYyBnZXRGb3Jtcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0Zm9ybUNvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBTbWFydGZvcm1Db21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0Rm9ybXMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0Rm9ybXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC5zbWFydEZvcm1Db21wb25lbnQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAuc21hcnRGb3JtQ29tcG9uZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0R3JpZHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydEdyaWRDb21wb25lbnRbXSB7XG4gICAgbGV0IHJlc3VsdDogU21hcnRHcmlkQ29tcG9uZW50W10gPSBbXTtcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xuICAgICAgICAubWFwKChjKSA9PiB0aGlzLmdldEdyaWRzKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldEdyaWRzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuc21hcnRHcmlkQ29tcG9uZW50KSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0R3JpZENvbXBvbmVudCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1hcHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBBcnJheTxTbWFydE1hcENvbXBvbmVudD4ge1xuICAgIGNvbnN0IHJlc3VsdDogQXJyYXk8U21hcnRNYXBDb21wb25lbnQ+ID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LmdldE1hcHMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRNYXBzKGV4cGFuZGFibGUpKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcC5zbWFydE1hcENvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydE1hcENvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGdldERpYWdyYW1zKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogQXJyYXk8U21hcnREaWFncmFtQ29tcG9uZW50PiB7XG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxTbWFydERpYWdyYW1Db21wb25lbnQ+ID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LmdldERpYWdyYW1zKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0RGlhZ3JhbXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cblxuICAgIGlmIChjb21wLnNtYXJ0RGlhZ3JhbUNvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydERpYWdyYW1Db21wb25lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFRyZWVzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2VbXSB7XG4gICAgbGV0IHJlc3VsdDogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2VbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgID8ubWFwKChjKSA9PiB0aGlzLmdldFRyZWVzKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldFRyZWVzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAudHJlZVNlcnZpY2UpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAudHJlZVNlcnZpY2UpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRUb29sYmFycyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0VG9vbGJhcnMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0VG9vbGJhcnMoZXhwYW5kYWJsZSkpO1xuICAgIH1cblxuICAgIGxldCBleHBhbmRlYWJsZUhlYWRlclRvb2xiYXIgPSBjb21wLmV4cGFuZGFibGVDb21wb25lbnRzPy5maXJzdD8udG9vbGJhcjtcblxuICAgIGNvbnNvbGUubG9nKGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhcik7XG4gICAgaWYgKGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhcikge1xuICAgICAgcmVzdWx0LnB1c2goZXhwYW5kZWFibGVIZWFkZXJUb29sYmFyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcC50b29sYmFyKSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnRvb2xiYXIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRFbWJlZGRlZFNsb3RzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogRW1iZWRkZWRTbG90SW5mb1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IEVtYmVkZGVkU2xvdEluZm9bXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0RW1iZWRkZWRTbG90cyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRFbWJlZGRlZFNsb3RzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuX2VtYmVkZGVkU2xvdFZjUmVmICYmIGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgY29udGFpbmVySWQ6IGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQsIHZjUmVmOiBjb21wLl9lbWJlZGRlZFNsb3RWY1JlZiB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRFeHBhbmRhYmxlQ29tcG9uZW50KFxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XG4gICk6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gY29tcC5leHBhbmRhYmxlQ29tcG9uZW50cz8uZmlyc3Q/LmNvbXBvbmVudFJlZj8uaW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFwcGx5U3R5bGUoXG4gICAgc3R5bGU6IFN0eWxlIHwgdW5kZWZpbmVkLFxuICAgIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge1xuICAgIGlmIChzdHlsZSAmJiBlbGVtZW50UmVmICYmIHJlbmRlcmVyKSB7XG4gICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIC8vIGNzcyBzdHlsZSBwcm9wZXJ0aWVzXG4gICAgICBpZiAoc3R5bGUuc3R5bGUpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGUuc3R5bGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsIGtleSwgdmFsdWUsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvLyBhZGQgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb0FkZCkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9BZGQuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgICAvLyByZW1vdmUgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb1JlbW92ZSkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9SZW1vdmUuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRVdWlkKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LCB1dWlkPzogc3RyaW5nKSB7XG4gICAgY29tcC51cGRhdGVVdWlkKHV1aWQpO1xuICAgIGNvbXAuY29tcG9uZW50cz8uZm9yRWFjaCgoY2hpbGQpID0+IHRoaXMuc2V0VXVpZChjaGlsZCwgdXVpZCkpO1xuICB9XG59XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixtQkFBbUIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFjN0YsTUFBTSxPQUFPLDJCQUEyQjtJQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQW1DO1FBQ3hELElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDNUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FB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UmVmLCBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczIsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZ3JpZC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydE1hcENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LW1hcC9zbWFydC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdHJlZS9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTdHlsZSwgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydERpYWdyYW1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1kaWFncmFtL3Byb2plY3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBFbWJlZGRlZFNsb3RJbmZvIHtcbiAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgdmNSZWY6IFZpZXdDb250YWluZXJSZWY7XG59XG5cbmV4cG9ydCBjbGFzcyBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHkge1xuICBwdWJsaWMgc3RhdGljIGdldEZvcm1zKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogU21hcnRmb3JtQ29tcG9uZW50W10ge1xuICAgIGxldCByZXN1bHQ6IFNtYXJ0Zm9ybUNvbXBvbmVudFtdID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gdGhpcy5nZXRGb3JtcyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRGb3JtcyhleHBhbmRhYmxlKSk7XG4gICAgfVxuICAgIGlmIChjb21wLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydEZvcm1Db21wb25lbnQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRHcmlkcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0R3JpZENvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBTbWFydEdyaWRDb21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0R3JpZHMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0R3JpZHMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC5zbWFydEdyaWRDb21wb25lbnQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAuc21hcnRHcmlkQ29tcG9uZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWFwcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IEFycmF5PFNtYXJ0TWFwQ29tcG9uZW50PiB7XG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxTbWFydE1hcENvbXBvbmVudD4gPSBbXTtcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xuICAgICAgICAubWFwKChjKSA9PiBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHkuZ2V0TWFwcyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldE1hcHMoZXhwYW5kYWJsZSkpO1xuICAgIH1cblxuICAgIGlmIChjb21wLnNtYXJ0TWFwQ29tcG9uZW50KSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0TWFwQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgZ2V0RGlhZ3JhbXMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBBcnJheTxTbWFydERpYWdyYW1Db21wb25lbnQ+IHtcbiAgICBjb25zdCByZXN1bHQ6IEFycmF5PFNtYXJ0RGlhZ3JhbUNvbXBvbmVudD4gPSBbXTtcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xuICAgICAgICAubWFwKChjKSA9PiBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHkuZ2V0RGlhZ3JhbXMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXREaWFncmFtcyhleHBhbmRhYmxlKSk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXAuc21hcnREaWFncmFtQ29tcG9uZW50KSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0RGlhZ3JhbUNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VHJlZXMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydHRyZWVHZW5lcmljU2VydmljZVtdIHtcbiAgICBsZXQgcmVzdWx0OiBTbWFydHRyZWVHZW5lcmljU2VydmljZVtdID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgPy5tYXAoKGMpID0+IHRoaXMuZ2V0VHJlZXMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0VHJlZXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC50cmVlU2VydmljZSkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC50cmVlU2VydmljZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFRvb2xiYXJzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50W10ge1xuICAgIGxldCByZXN1bHQ6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudFtdID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gdGhpcy5nZXRUb29sYmFycyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRUb29sYmFycyhleHBhbmRhYmxlKSk7XG4gICAgfVxuXG4gICAgbGV0IGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhciA9IGNvbXAuZXhwYW5kYWJsZUNvbXBvbmVudHM/LmZpcnN0Py50b29sYmFyO1xuXG4gICAgaWYgKGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhcikge1xuICAgICAgcmVzdWx0LnB1c2goZXhwYW5kZWFibGVIZWFkZXJUb29sYmFyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcC50b29sYmFyKSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnRvb2xiYXIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRFbWJlZGRlZFNsb3RzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogRW1iZWRkZWRTbG90SW5mb1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IEVtYmVkZGVkU2xvdEluZm9bXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0RW1iZWRkZWRTbG90cyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRFbWJlZGRlZFNsb3RzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuX2VtYmVkZGVkU2xvdFZjUmVmICYmIGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgY29udGFpbmVySWQ6IGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQsIHZjUmVmOiBjb21wLl9lbWJlZGRlZFNsb3RWY1JlZiB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRFeHBhbmRhYmxlQ29tcG9uZW50KFxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XG4gICk6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gY29tcC5leHBhbmRhYmxlQ29tcG9uZW50cz8uZmlyc3Q/LmNvbXBvbmVudFJlZj8uaW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFwcGx5U3R5bGUoXG4gICAgc3R5bGU6IFN0eWxlIHwgdW5kZWZpbmVkLFxuICAgIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge1xuICAgIGlmIChzdHlsZSAmJiBlbGVtZW50UmVmICYmIHJlbmRlcmVyKSB7XG4gICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIC8vIGNzcyBzdHlsZSBwcm9wZXJ0aWVzXG4gICAgICBpZiAoc3R5bGUuc3R5bGUpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGUuc3R5bGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsIGtleSwgdmFsdWUsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvLyBhZGQgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb0FkZCkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9BZGQuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgICAvLyByZW1vdmUgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb1JlbW92ZSkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9SZW1vdmUuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRVdWlkKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LCB1dWlkPzogc3RyaW5nKSB7XG4gICAgY29tcC51cGRhdGVVdWlkKHV1aWQpO1xuICAgIGNvbXAuY29tcG9uZW50cz8uZm9yRWFjaCgoY2hpbGQpID0+IHRoaXMuc2V0VXVpZChjaGlsZCwgdXVpZCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -919,10 +919,23 @@ class SmartSessionService {
|
|
|
919
919
|
* `initialize()`'s backend round-trip. Used by the
|
|
920
920
|
* `SmartBackendBootstrapService.bootstrapWith()` flow when a host
|
|
921
921
|
* (e.g. native mobile shell) hands over an already-authenticated session.
|
|
922
|
+
*
|
|
923
|
+
* Persists the SID to localStorage + cookie so that a page reload can
|
|
924
|
+
* rehydrate the session through `initialize()`'s regular
|
|
925
|
+
* `tokenFromLocalStorage === tokenFromCookies` path. The optional
|
|
926
|
+
* refreshToken is persisted to enable autonomous refresh via
|
|
927
|
+
* `refreshSession()` when the SID expires.
|
|
922
928
|
*/
|
|
923
|
-
setSessionToken(token) {
|
|
929
|
+
setSessionToken(token, refreshToken) {
|
|
924
930
|
this.token = token;
|
|
925
931
|
this.setUpTokenForSessionService();
|
|
932
|
+
if (this.cookieName) {
|
|
933
|
+
localStorage.setItem('token', token);
|
|
934
|
+
this.cookieService.set(this.cookieName, token);
|
|
935
|
+
if (refreshToken) {
|
|
936
|
+
localStorage.setItem('refreshToken', refreshToken);
|
|
937
|
+
}
|
|
938
|
+
}
|
|
926
939
|
}
|
|
927
940
|
setUrl(url) {
|
|
928
941
|
this.basePath = url;
|
|
@@ -13210,7 +13223,10 @@ class SmartBackendBootstrapService {
|
|
|
13210
13223
|
await this.config.onSmartLink(channel);
|
|
13211
13224
|
return;
|
|
13212
13225
|
}
|
|
13213
|
-
await
|
|
13226
|
+
// Default: simply unblock showPublishedView's `await openSmartLink.toPromise()`.
|
|
13227
|
+
// The viewContext is already initialized by start()/bootstrapWith() — calling
|
|
13228
|
+
// initialize() here without a uuid would always trigger startViewContext(),
|
|
13229
|
+
// creating a second viewcontext and producing duplicate UI (e.g. two login pages).
|
|
13214
13230
|
this.viewContext.openSmartLink.complete();
|
|
13215
13231
|
}
|
|
13216
13232
|
start() {
|
|
@@ -13253,8 +13269,32 @@ class SmartBackendBootstrapService {
|
|
|
13253
13269
|
this.runningInit = undefined;
|
|
13254
13270
|
this.lastInitFailed = false;
|
|
13255
13271
|
this.mode = undefined;
|
|
13272
|
+
this.runningViewContextLost = undefined;
|
|
13256
13273
|
return this.start();
|
|
13257
13274
|
}
|
|
13275
|
+
/**
|
|
13276
|
+
* Called by `SmartErrorCatchingInterceptor` when the backend reports
|
|
13277
|
+
* `session.viewcontext.missing`. Idempotent across concurrent and
|
|
13278
|
+
* sequential calls until the next `reset()` — multiple racing BFF
|
|
13279
|
+
* failures collapse into a single recovery attempt.
|
|
13280
|
+
*/
|
|
13281
|
+
handleViewContextLost(err) {
|
|
13282
|
+
if (!this.config) {
|
|
13283
|
+
return Promise.reject(new Error('SmartBackendBootstrapService.configure() must be called before handleViewContextLost().'));
|
|
13284
|
+
}
|
|
13285
|
+
if (this.runningViewContextLost) {
|
|
13286
|
+
return this.runningViewContextLost;
|
|
13287
|
+
}
|
|
13288
|
+
this.runningViewContextLost = this.runViewContextLost(err);
|
|
13289
|
+
return this.runningViewContextLost;
|
|
13290
|
+
}
|
|
13291
|
+
async runViewContextLost(err) {
|
|
13292
|
+
if (this.config?.onViewContextLost) {
|
|
13293
|
+
await this.config.onViewContextLost(err);
|
|
13294
|
+
return;
|
|
13295
|
+
}
|
|
13296
|
+
await this.viewContext.initNewViewContext();
|
|
13297
|
+
}
|
|
13258
13298
|
async runInit() {
|
|
13259
13299
|
try {
|
|
13260
13300
|
await this.session.initialize();
|
|
@@ -13267,7 +13307,7 @@ class SmartBackendBootstrapService {
|
|
|
13267
13307
|
}
|
|
13268
13308
|
async runBootstrapWith(creds) {
|
|
13269
13309
|
try {
|
|
13270
|
-
this.session.setSessionToken(creds.sessionToken);
|
|
13310
|
+
this.session.setSessionToken(creds.sessionToken, creds.refreshToken);
|
|
13271
13311
|
await this.viewContext.initFromExistingViewContext(creds.viewContextUuid);
|
|
13272
13312
|
}
|
|
13273
13313
|
catch (err) {
|
|
@@ -13308,9 +13348,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
13308
13348
|
*/
|
|
13309
13349
|
|
|
13310
13350
|
class SmartErrorCatchingInterceptor {
|
|
13311
|
-
constructor(session,
|
|
13351
|
+
constructor(session, bootstrap) {
|
|
13312
13352
|
this.session = session;
|
|
13313
|
-
this.
|
|
13353
|
+
this.bootstrap = bootstrap;
|
|
13314
13354
|
this.sessionErrorCodes = [
|
|
13315
13355
|
{
|
|
13316
13356
|
code: 'session.expired',
|
|
@@ -13381,7 +13421,7 @@ class SmartErrorCatchingInterceptor {
|
|
|
13381
13421
|
return from(this.session.handleSessionError(sessionError));
|
|
13382
13422
|
}
|
|
13383
13423
|
if (sessionError.behaviour === SessionErrorBehaviour.RESTART_VIEWCONTEXT) {
|
|
13384
|
-
return from(this.
|
|
13424
|
+
return from(this.bootstrap.handleViewContextLost(sessionError));
|
|
13385
13425
|
}
|
|
13386
13426
|
return from(this.session.refreshSession());
|
|
13387
13427
|
}
|
|
@@ -13393,12 +13433,12 @@ class SmartErrorCatchingInterceptor {
|
|
|
13393
13433
|
});
|
|
13394
13434
|
return request;
|
|
13395
13435
|
}
|
|
13396
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: SmartSessionService }, { token:
|
|
13436
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: SmartSessionService }, { token: SmartBackendBootstrapService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13397
13437
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor }); }
|
|
13398
13438
|
}
|
|
13399
13439
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
|
|
13400
13440
|
type: Injectable
|
|
13401
|
-
}], ctorParameters: () => [{ type: SmartSessionService }, { type:
|
|
13441
|
+
}], ctorParameters: () => [{ type: SmartSessionService }, { type: SmartBackendBootstrapService }] });
|
|
13402
13442
|
|
|
13403
13443
|
class SmartHeaderMaintainerInterceptor {
|
|
13404
13444
|
constructor(session) {
|
|
@@ -22298,7 +22338,6 @@ class SmartComponentLayoutUtility {
|
|
|
22298
22338
|
result.push(...this.getToolbars(expandable));
|
|
22299
22339
|
}
|
|
22300
22340
|
let expandeableHeaderToolbar = comp.expandableComponents?.first?.toolbar;
|
|
22301
|
-
console.log(expandeableHeaderToolbar);
|
|
22302
22341
|
if (expandeableHeaderToolbar) {
|
|
22303
22342
|
result.push(expandeableHeaderToolbar);
|
|
22304
22343
|
}
|