bx-rest 0.1.1 → 0.1.6
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/consts/part-name-metods.d.ts +11 -0
- package/esm2020/consts/part-name-metods.mjs +12 -1
- package/esm2020/map/lists.mjs +2 -2
- package/esm2020/map/task.mjs +10 -1
- package/esm2020/public-api.mjs +2 -2
- package/esm2020/request/bizproc/activity.mjs +23 -0
- package/esm2020/request/bizproc/event.mjs +19 -0
- package/esm2020/request/bizproc/robot.mjs +22 -0
- package/esm2020/request/bizproc/task.mjs +20 -0
- package/esm2020/request/bizproc/workflow/instance.mjs +19 -0
- package/esm2020/request/bizproc/workflow/template.mjs +27 -0
- package/esm2020/request/bizproc/workflow.mjs +31 -0
- package/esm2020/request/bizproc.mjs +25 -0
- package/esm2020/request/lists/element.mjs +4 -3
- package/esm2020/request/lists.mjs +2 -2
- package/esm2020/request/log/blogcomment.mjs +19 -0
- package/esm2020/request/log/blogpost.mjs +31 -0
- package/esm2020/request/log.mjs +19 -0
- package/esm2020/request/tasks/task.mjs +34 -1
- package/esm2020/request/user.mjs +9 -6
- package/esm2020/request-navvy/bizproc/workflow.mjs +22 -0
- package/esm2020/request-navvy/bizproc.mjs +60 -0
- package/esm2020/request-navvy/disk/storage.mjs +7 -10
- package/esm2020/request-navvy/lists/element.mjs +6 -3
- package/esm2020/request-navvy/lists.mjs +2 -10
- package/esm2020/request-navvy/log/blogcomment.mjs +19 -0
- package/esm2020/request-navvy/log/blogpost.mjs +33 -0
- package/esm2020/request-navvy/log.mjs +19 -0
- package/esm2020/request-navvy/tasks/task.mjs +67 -19
- package/esm2020/request-navvy/user.mjs +7 -8
- package/esm2020/rest.mjs +25 -17
- package/esm2020/services/base.mjs +3 -3
- package/esm2020/services/http/HttpBX.mjs +34 -36
- package/esm2020/services/http/http.mjs +36 -38
- package/esm2020/services/http/sessionKey.mjs +126 -113
- package/esm2020/services/vanilla/sessionStorage.mjs +7 -7
- package/esm2020/settings.mjs +2 -2
- package/esm2020/typification/auth/save.mjs +1 -1
- package/esm2020/typification/rest/base/OrderOptions.mjs +2 -0
- package/esm2020/typification/rest/base/sort.mjs +2 -0
- package/esm2020/typification/rest/bizproc/base/filedEnum.mjs +2 -0
- package/esm2020/typification/rest/bizproc/workflow/start.mjs +2 -0
- package/esm2020/typification/rest/bizproc/workflow/template/list.mjs +2 -0
- package/esm2020/typification/rest/lists/element/add.mjs +2 -0
- package/esm2020/typification/rest/log/blogpost/add.mjs +2 -0
- package/esm2020/typification/rest/task/base/fieldsName.mjs +2 -0
- package/esm2020/typification/rest/tasks/task/add.mjs +2 -0
- package/esm2020/typification/rest/tasks/task/get.mjs +2 -0
- package/esm2020/typification/rest/tasks/task/list.mjs +2 -0
- package/esm2020/typification/rest/user/get.mjs +1 -1
- package/fesm2015/bx-rest.mjs +913 -490
- package/fesm2015/bx-rest.mjs.map +1 -1
- package/fesm2020/bx-rest.mjs +916 -488
- package/fesm2020/bx-rest.mjs.map +1 -1
- package/map/lists.d.ts +1 -1
- package/map/task.d.ts +4 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/request/bizproc/activity.d.ts +12 -0
- package/request/bizproc/event.d.ts +8 -0
- package/request/bizproc/robot.d.ts +11 -0
- package/request/bizproc/task.d.ts +9 -0
- package/request/bizproc/workflow/instance.d.ts +8 -0
- package/request/bizproc/workflow/template.d.ts +16 -0
- package/request/bizproc/workflow.d.ts +20 -0
- package/request/bizproc.d.ts +16 -0
- package/request/lists/element.d.ts +2 -1
- package/request/lists.d.ts +1 -1
- package/request/log/blogcomment.d.ts +8 -0
- package/request/log/blogpost.d.ts +17 -0
- package/request/log.d.ts +10 -0
- package/request/tasks/task.d.ts +9 -1
- package/request-navvy/bizproc/workflow.d.ts +12 -0
- package/request-navvy/bizproc.d.ts +24 -0
- package/request-navvy/disk/storage.d.ts +1 -3
- package/request-navvy/lists/element.d.ts +3 -1
- package/request-navvy/lists.d.ts +1 -8
- package/request-navvy/log/blogcomment.d.ts +8 -0
- package/request-navvy/log/blogpost.d.ts +19 -0
- package/request-navvy/log.d.ts +10 -0
- package/request-navvy/tasks/task.d.ts +13 -3
- package/request-navvy/user.d.ts +1 -3
- package/rest.d.ts +17 -9
- package/services/http/sessionKey.d.ts +3 -23
- package/services/vanilla/sessionStorage.d.ts +5 -5
- package/settings.d.ts +1 -1
- package/typification/auth/save.d.ts +1 -1
- package/typification/rest/base/OrderOptions.d.ts +1 -0
- package/typification/rest/base/sort.d.ts +1 -0
- package/typification/rest/bizproc/base/filedEnum.d.ts +1 -0
- package/typification/rest/bizproc/workflow/start.d.ts +5 -0
- package/typification/rest/bizproc/workflow/template/list.d.ts +8 -0
- package/typification/rest/lists/element/add.d.ts +9 -0
- package/typification/rest/log/blogpost/add.d.ts +12 -0
- package/typification/rest/task/base/fieldsName.d.ts +1 -0
- package/typification/rest/{task/fieldsForSend.d.ts → tasks/task/add.d.ts} +1 -1
- package/typification/rest/tasks/task/get.d.ts +5 -0
- package/typification/rest/tasks/task/list.d.ts +65 -0
- package/typification/rest/user/get.d.ts +6 -1
- package/esm2020/store/auth.mjs +0 -26
- package/esm2020/typification/rest/task/fieldsForSend.mjs +0 -2
- package/store/auth.d.ts +0 -20
|
@@ -12,46 +12,44 @@ export class HttpServices extends BaseHttpServices {
|
|
|
12
12
|
this.session = session;
|
|
13
13
|
}
|
|
14
14
|
httpPost(url, params = {}, settings = this.defSettings) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}));
|
|
15
|
+
let auth = this.session.getAuthParams();
|
|
16
|
+
if (auth) {
|
|
17
|
+
const paramsClone = clone(params);
|
|
18
|
+
paramsClone[this.session.getKeyAuth()] = auth;
|
|
19
|
+
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
20
|
+
if (v) {
|
|
21
|
+
return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings));
|
|
22
|
+
}
|
|
23
|
+
return throwError(() => 'get base url error');
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.snackBar.error('Error: Auth not get');
|
|
28
|
+
return throwError(() => 'auth not get');
|
|
29
|
+
}
|
|
31
30
|
}
|
|
32
31
|
httpGet(url, params = {}, settings = this.defSettings) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
const paramsClone = clone(params);
|
|
39
|
-
paramsClone[this.session.getKeyAuth()] = auth;
|
|
40
|
-
let options = {
|
|
41
|
-
params: this.getHttpParamsGet(paramsClone)
|
|
42
|
-
};
|
|
43
|
-
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
44
|
-
if (v) {
|
|
45
|
-
return this.http.get(this.prepareBaseAddress(v) + url, options);
|
|
46
|
-
}
|
|
47
|
-
return throwError(() => 'get base url error');
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
this.snackBar.error('Error: Auth not get');
|
|
52
|
-
return throwError(() => 'auth not get');
|
|
32
|
+
let auth = this.session.getAuthParams();
|
|
33
|
+
if (auth) {
|
|
34
|
+
if (params === null) {
|
|
35
|
+
params = {};
|
|
53
36
|
}
|
|
54
|
-
|
|
37
|
+
const paramsClone = clone(params);
|
|
38
|
+
paramsClone[this.session.getKeyAuth()] = auth;
|
|
39
|
+
let options = {
|
|
40
|
+
params: this.getHttpParamsGet(paramsClone)
|
|
41
|
+
};
|
|
42
|
+
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
43
|
+
if (v) {
|
|
44
|
+
return this.http.get(this.prepareBaseAddress(v) + url, options);
|
|
45
|
+
}
|
|
46
|
+
return throwError(() => 'get base url error');
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.snackBar.error('Error: Auth not get');
|
|
51
|
+
return throwError(() => 'auth not get');
|
|
52
|
+
}
|
|
55
53
|
}
|
|
56
54
|
}
|
|
57
55
|
HttpServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpServices, deps: [{ token: i1.HttpClient }, { token: SnackBarService }, { token: SessionKeyServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -62,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
62
60
|
providedIn: 'root'
|
|
63
61
|
}]
|
|
64
62
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SnackBarService }, { type: SessionKeyServices }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sZUFBZSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3hFLE9BQU8sa0JBQWtCLE1BQU0sZ0NBQWdDLENBQUE7QUFDL0QsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBSzlDLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBRWhELFlBQVksSUFBZ0IsRUFBRSxRQUF5QixFQUFTLE9BQTJCO1FBQ3pGLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFEeUMsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFFM0YsQ0FBQztJQUVRLFFBQVEsQ0FBSSxHQUFXLEVBQ1gsU0FBYyxFQUFFLEVBQ2hCLFdBQStCLElBQUksQ0FBQyxXQUFXO1FBRWxFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDdkMsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDakMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUE7WUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxFQUFFO29CQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7aUJBQzVFO2dCQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUE7WUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1lBQzFDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1NBQ3hDO0lBRUgsQ0FBQztJQUVRLE9BQU8sQ0FDZCxHQUFXLEVBQ1gsU0FBYyxFQUFFLEVBQ2hCLFdBQStCLElBQUksQ0FBQyxXQUFXO1FBRS9DLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDdkMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7Z0JBQ25CLE1BQU0sR0FBRyxFQUFFLENBQUE7YUFDWjtZQUNELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNqQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQTtZQUM3QyxJQUFJLE9BQU8sR0FBRztnQkFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQzthQUMzQyxDQUFBO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDbkMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxFQUFFO29CQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtpQkFDbkU7Z0JBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtZQUMvQyxDQUFDLENBQUMsQ0FDSCxDQUFBO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7WUFDMUMsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUE7U0FDeEM7SUFDSCxDQUFDOzt5R0F6RFUsWUFBWSw0Q0FUbEIsZUFBZSxhQUNmLGtCQUFrQjs2R0FRWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjttRkFSTSxlQUFlLFlBQ2Ysa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgU25hY2tCYXJTZXJ2aWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSdcclxuaW1wb3J0IFNlc3Npb25LZXlTZXJ2aWNlcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL3Nlc3Npb25LZXknXHJcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xyXG5pbXBvcnQgeyBpSHR0cFBhcmFtU2V0dGluZ3MgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9zZXR0aW5ncydcclxuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlcyB9IGZyb20gJy4vYmFzZS9odHRwJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2VzIGV4dGVuZHMgQmFzZUh0dHBTZXJ2aWNlcyB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGh0dHA6IEh0dHBDbGllbnQsIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uS2V5U2VydmljZXMpIHtcclxuICAgIHN1cGVyKGh0dHAsIHNuYWNrQmFyKVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaHR0cFBvc3Q8VD4odXJsOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICBpZiAoYXV0aCkge1xyXG4gICAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUobWVyZ2VNYXAodiA9PiB7XHJcbiAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUIHwgdW5kZWZpbmVkPihcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0SHR0cFBhcmFtc1Bvc3QocGFyYW1zQ2xvbmUsIG5ldyBGb3JtRGF0YSgpLCBmYWxzZSwgW10sIHNldHRpbmdzKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2dldCBiYXNlIHVybCBlcnJvcicpXHJcbiAgICAgIH0pKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5lcnJvcignRXJyb3I6IEF1dGggbm90IGdldCcpXHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdhdXRoIG5vdCBnZXQnKVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGh0dHBHZXQ8VD4oXHJcbiAgICB1cmw6IHN0cmluZyxcclxuICAgIHBhcmFtczogYW55ID0ge30sXHJcbiAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICBpZiAoYXV0aCkge1xyXG4gICAgICBpZiAocGFyYW1zID09PSBudWxsKSB7XHJcbiAgICAgICAgcGFyYW1zID0ge31cclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICAgIHBhcmFtczogdGhpcy5nZXRIdHRwUGFyYW1zR2V0KHBhcmFtc0Nsb25lKVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsIG9wdGlvbnMpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnZ2V0IGJhc2UgdXJsIGVycm9yJylcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCdFcnJvcjogQXV0aCBub3QgZ2V0JylcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2F1dGggbm90IGdldCcpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,124 +1,142 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
2
|
import Cookies from '../../services/vanilla/сookies';
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import { saveAccessToken } from '../../store/auth';
|
|
6
|
-
import { map } from 'rxjs/operators';
|
|
3
|
+
import { of, Subscription } from 'rxjs';
|
|
4
|
+
// import { ActivatedRoute, ParamMap } from '@angular/router'
|
|
7
5
|
import { BaseServices } from '../base';
|
|
8
6
|
import { LocalStorageServices as LocalStorage } from '../../services/vanilla/localStorage';
|
|
9
|
-
import {
|
|
7
|
+
import { BX_REST_SETTINGS } from '../../settings';
|
|
8
|
+
import { SessionStorage } from '../vanilla/sessionStorage';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "
|
|
12
|
-
import * as i2 from "@angular/router";
|
|
13
|
-
import * as i3 from "../../typification/rest/api-lib";
|
|
10
|
+
import * as i1 from "../../typification/rest/api-lib";
|
|
14
11
|
export default class SessionKeyServices extends BaseServices {
|
|
15
|
-
constructor(
|
|
12
|
+
constructor(
|
|
13
|
+
// private route: ActivatedRoute,
|
|
14
|
+
BxApiLib) {
|
|
16
15
|
super();
|
|
17
|
-
this.store = store;
|
|
18
|
-
this.route = route;
|
|
19
16
|
this.BxApiLib = BxApiLib;
|
|
20
17
|
this.authHave = false;
|
|
21
18
|
this.subscribe = {
|
|
22
19
|
authData: new Subscription()
|
|
23
20
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
let save = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
status: (param.status) ? param.status : undefined,
|
|
50
|
-
user_id: (param.user_id) ? param.user_id : undefined,
|
|
51
|
-
type: (param.type) ? param.type : undefined,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
21
|
+
let authData = SessionStorage.getItem(this.constructor.name);
|
|
22
|
+
if ((authData && !authData.access_token.length) || !authData) {
|
|
23
|
+
// получаем токен по собственным каналом (в битриксе приложение trace:apps.trace)
|
|
24
|
+
window.addEventListener('message', (event) => {
|
|
25
|
+
if (event.origin !== window.origin) { // проверяем что это не наше сообщение (с текущего приложения)
|
|
26
|
+
if (event.data && event.data.param) {
|
|
27
|
+
if (typeof event.data.param === 'string') {
|
|
28
|
+
event.data.param = JSON.parse(event.data.param);
|
|
29
|
+
}
|
|
30
|
+
if (event.data.param.access_token) {
|
|
31
|
+
let param = event.data.param;
|
|
32
|
+
let save = {
|
|
33
|
+
access_token: (param.access_token) ? param.access_token : undefined,
|
|
34
|
+
client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,
|
|
35
|
+
domain: (param.domain) ? param.domain : undefined,
|
|
36
|
+
expires: (param.expires) ? param.expires : undefined,
|
|
37
|
+
expires_in: (param.expires_in) ? param.expires_in : undefined,
|
|
38
|
+
member_id: (param.member_id) ? param.member_id : undefined,
|
|
39
|
+
refresh_token: (param.refresh_token) ? param.refresh_token : undefined,
|
|
40
|
+
scope: (param.scope) ? param.scope : undefined,
|
|
41
|
+
server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,
|
|
42
|
+
status: (param.status) ? param.status : undefined,
|
|
43
|
+
user_id: (param.user_id) ? param.user_id : undefined,
|
|
44
|
+
type: (param.type) ? param.type : undefined,
|
|
45
|
+
};
|
|
54
46
|
if (Object.keys(save).length && save.access_token) {
|
|
55
|
-
this.
|
|
47
|
+
SessionStorage.setItem(this.constructor.name, save);
|
|
56
48
|
this.subscribeAll();
|
|
57
49
|
}
|
|
58
50
|
}
|
|
59
51
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
/*
|
|
55
|
+
this.subscribe.authData = this.route.queryParamMap
|
|
56
|
+
.pipe(
|
|
57
|
+
filter(param =>
|
|
58
|
+
param.has('AUTH_ID')
|
|
59
|
+
|| param.has('access_token')
|
|
60
|
+
|| param.has('REFRESH_ID')
|
|
61
|
+
|| param.has('DOMAIN')
|
|
62
|
+
)
|
|
63
|
+
)
|
|
64
|
+
.subscribe((param: ParamMap) => {
|
|
65
|
+
if(!save) {
|
|
66
|
+
let save = {
|
|
67
|
+
access_token: undefined,
|
|
68
|
+
client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,
|
|
69
|
+
domain: (param.domain) ? param.domain : undefined,
|
|
70
|
+
expires: (param.expires) ? param.expires : undefined,
|
|
71
|
+
expires_in: (param.expires_in) ? param.expires_in : undefined,
|
|
72
|
+
member_id: (param.member_id) ? param.member_id : undefined,
|
|
73
|
+
refresh_token: (param.refresh_token) ? param.refresh_token : undefined,
|
|
74
|
+
scope: (param.scope) ? param.scope : undefined,
|
|
75
|
+
server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,
|
|
76
|
+
status: (param.status) ? param.status : undefined,
|
|
77
|
+
user_id: (param.user_id) ? param.user_id : undefined,
|
|
78
|
+
type: (param.type) ? param.type : undefined,
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (param.has('AUTH_ID') && !authData?.access_token.length) {
|
|
83
|
+
const get = param.get('AUTH_ID')
|
|
84
|
+
if (get) {
|
|
85
|
+
Cookies.set('auth', get) //TODO: потом убрать
|
|
86
|
+
save.access_token = get
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (param.has('access_token') && !authData.access_token.length) {
|
|
91
|
+
const get = param.get('access_token')
|
|
92
|
+
if (get) {
|
|
93
|
+
Cookies.set('auth', get) // TODO: потом убрать
|
|
94
|
+
save.access_token = get
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (param.has('REFRESH_ID') && !authData.refresh_token.length) {
|
|
99
|
+
const get = param.get('REFRESH_ID')
|
|
100
|
+
if (get) {
|
|
101
|
+
save.refresh_token = get
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (param.has('DOMAIN') && !authData.domain.length) {
|
|
106
|
+
const get = param.get('DOMAIN')
|
|
107
|
+
if (get) {
|
|
108
|
+
save.domain = get
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (Object.keys(save).length && save.access_token) {
|
|
112
|
+
SessionStorage.setItem(this.constructor.name, save)
|
|
113
|
+
this.subscribeAll()
|
|
114
|
+
} else {
|
|
115
|
+
// если битрикс не шлёт нужные мне параметры на прямую
|
|
116
|
+
// просим их мне отдать так как описано это в документации
|
|
117
|
+
let f = () => {
|
|
118
|
+
if (this.BxApiLib.BX24) {
|
|
119
|
+
const initDate = this.BxApiLib.BX24.getAuth()
|
|
120
|
+
SessionStorage.setItem(this.constructor.name, save)
|
|
108
121
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
this.BxApiLib.init(f)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
})
|
|
128
|
+
*/
|
|
129
|
+
}
|
|
130
|
+
else if (this.getAuth().length) {
|
|
131
|
+
this.authHave = true;
|
|
132
|
+
}
|
|
133
|
+
this.authData = authData;
|
|
116
134
|
}
|
|
117
135
|
subscribeAll() {
|
|
118
136
|
this.subscribe.authData.unsubscribe();
|
|
119
137
|
}
|
|
120
138
|
getAuth() {
|
|
121
|
-
switch (
|
|
139
|
+
switch (BX_REST_SETTINGS.auth.key) {
|
|
122
140
|
case 'auth':
|
|
123
141
|
return Cookies.get('auth');
|
|
124
142
|
default:
|
|
@@ -135,8 +153,8 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
135
153
|
}
|
|
136
154
|
}
|
|
137
155
|
getKeyAuth() {
|
|
138
|
-
if (
|
|
139
|
-
return
|
|
156
|
+
if (BX_REST_SETTINGS.auth.key.length) {
|
|
157
|
+
return BX_REST_SETTINGS.auth.key;
|
|
140
158
|
}
|
|
141
159
|
else {
|
|
142
160
|
if (window.BX && window.BX.bitrix_sessid()
|
|
@@ -171,32 +189,27 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
171
189
|
return false;
|
|
172
190
|
}
|
|
173
191
|
getAuthParams() {
|
|
174
|
-
switch (
|
|
192
|
+
switch (BX_REST_SETTINGS.auth.source) {
|
|
175
193
|
case 'cookies':
|
|
176
|
-
return
|
|
194
|
+
return this.getAuth();
|
|
177
195
|
default:
|
|
178
|
-
return this.authData
|
|
196
|
+
return (this.authData) ? this.authData.access_token : undefined;
|
|
179
197
|
}
|
|
180
198
|
}
|
|
181
199
|
getBaseUrl() {
|
|
182
|
-
return of(this.prepareBaseAddress(
|
|
200
|
+
return of(this.prepareBaseAddress(BX_REST_SETTINGS.urls.home, 'rest'));
|
|
183
201
|
// return this.authData$.pipe( // TODO: разобраться позже
|
|
184
202
|
// take(1),
|
|
185
203
|
// map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain) : undefined)
|
|
186
204
|
// )
|
|
187
205
|
}
|
|
188
206
|
}
|
|
189
|
-
SessionKeyServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, deps: [{ token: i1.
|
|
207
|
+
SessionKeyServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, deps: [{ token: i1.RestServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
190
208
|
SessionKeyServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, providedIn: 'root' });
|
|
191
209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, decorators: [{
|
|
192
210
|
type: Injectable,
|
|
193
211
|
args: [{
|
|
194
212
|
providedIn: 'root'
|
|
195
213
|
}]
|
|
196
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
197
|
-
type: Optional
|
|
198
|
-
}, {
|
|
199
|
-
type: Inject,
|
|
200
|
-
args: [REST_SETTINGS]
|
|
201
|
-
}] }]; } });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUQsT0FBTyxPQUFPLE1BQU0sZ0NBQWdDLENBQUE7QUFHcEQsd0VBQXdFO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxrQkFBa0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLElBQUksWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFFMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7OztBQU85QyxNQUFNLENBQUMsT0FBTyxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFXMUQsWUFDUyxLQUEyQyxFQUMxQyxLQUFxQixFQUN0QixRQUFzQixFQUNNLGFBS2xDO1FBRUQsS0FBSyxFQUFFLENBQUE7UUFWQSxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBWi9CLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHaEIsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQzdCLENBQUE7UUFnQkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDNUQsaUZBQWlGO2dCQUNqRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBbUIsRUFBRSxFQUFFO29CQUN6RCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLDhEQUE4RDt3QkFDbEcsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFOzRCQUNsQyxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO2dDQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7NkJBQ2hEOzRCQUVELElBQUksSUFBSSxHQUE0QixFQUFFLENBQUE7NEJBRXRDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO2dDQUNqQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQ0FDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUE7Z0NBQ2pELElBQUksR0FBRztvQ0FDTCxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7b0NBQ25FLGVBQWUsRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQ0FDNUUsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTO29DQUNqRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7b0NBQ3BELFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQ0FDN0QsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTO29DQUMxRCxhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVM7b0NBQ3RFLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUztvQ0FDOUMsZUFBZSxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTO29DQUM1RSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVM7b0NBQ2pELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztvQ0FDcEQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO2lDQUM1QyxDQUFBOzZCQUNGOzRCQUVELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQ0FDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7Z0NBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTs2QkFDcEI7eUJBQ0Y7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUE7Z0JBRUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO3FCQUMvQyxJQUFJLENBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7dUJBQ2pCLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO3VCQUN6QixLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQzt1QkFDdkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FDdkIsQ0FDRjtxQkFDQSxTQUFTLENBQUMsQ0FBQyxLQUFlLEVBQUUsRUFBRTtvQkFDN0IsSUFBSSxJQUFJLEdBQTRCLEVBQUUsQ0FBQTtvQkFDdEMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7d0JBQ3pELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7d0JBQ2hDLElBQUksR0FBRyxFQUFFOzRCQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUMsZUFBZTs0QkFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUE7eUJBQ3hCO3FCQUNGO29CQUVELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO3dCQUM5RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFBO3dCQUNyQyxJQUFJLEdBQUcsRUFBRTs0QkFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQSxDQUFDLGVBQWU7NEJBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFBO3lCQUN4QjtxQkFDRjtvQkFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTt3QkFDN0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTt3QkFDbkMsSUFBSSxHQUFHLEVBQUU7NEJBQ1AsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUE7eUJBQ3pCO3FCQUNGO29CQUVELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO3dCQUNsRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO3dCQUMvQixJQUFJLEdBQUcsRUFBRTs0QkFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQTt5QkFDbEI7cUJBQ0Y7b0JBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO3dCQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTt3QkFDMUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO3FCQUNwQjt5QkFBTTt3QkFDTCxzREFBc0Q7d0JBQ3RELDBEQUEwRDt3QkFDMUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFOzRCQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0NBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO2dDQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTs2QkFDL0M7d0JBQ0gsQ0FBQyxDQUFBO3dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO3FCQUN0QjtnQkFFSCxDQUFDLENBQUMsQ0FBQTthQUNMO2lCQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7YUFDckI7WUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUMxQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUVELE9BQU87UUFDTCxRQUFRLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDO1lBQzdCLEtBQUssTUFBTTtnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDNUI7Z0JBQ0UsSUFBVSxNQUFPLENBQUMsRUFBRSxJQUFVLE1BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUU7b0JBQ3hELE9BQWEsTUFBTyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtpQkFDeEM7cUJBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFO29CQUNsQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7b0JBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7aUJBQ3hCO3FCQUFNO29CQUNMLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtpQkFDM0I7U0FDSjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUM7WUFDL0IsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtTQUM5QjthQUFNO1lBQ0wsSUFBVSxNQUFPLENBQUMsRUFBRSxJQUFVLE1BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFO21CQUNuRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFO2dCQUM1QixPQUFPLFFBQVEsQ0FBQTthQUNoQjtpQkFBTTtnQkFDTCxPQUFPLE1BQU0sQ0FBQTthQUNkO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3pFLElBQUksS0FBSyxFQUFFO1lBQ1QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDakMsT0FBTyxLQUFLLENBQUE7U0FDYjthQUFNLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUE7U0FDbEM7UUFDRCxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxhQUFhLENBQUksTUFBVztRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDakMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUE7U0FDWjthQUFNLElBQUksT0FBTyxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDaEMsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGFBQWE7UUFDWCxRQUFRLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pDLEtBQUssU0FBUztnQkFDWixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUMzQjtnQkFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUE7U0FDSjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3hFLHlEQUF5RDtRQUN6RCxhQUFhO1FBQ2IsOEVBQThFO1FBQzlFLElBQUk7SUFDTixDQUFDOzsrR0ExTWtCLGtCQUFrQixpR0FlZixhQUFhO21IQWZoQixrQkFBa0IsY0FGekIsTUFBTTsyRkFFQyxrQkFBa0I7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFnQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgQ29va2llcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL9GBb29raWVzJ1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCBzYXZlQXBwbGljYXRpb25BdXRoIGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXG4vLyBpbXBvcnQgeyBlbnZpcm9ubWVudCBhcyBlbnYgfSBmcm9tICdieC1yZXN0L2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCdcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBzYXZlQWNjZXNzVG9rZW4sIHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXV0aCdcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgQmFzZVNlcnZpY2VzIH0gZnJvbSAnLi4vYmFzZSdcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2VzIGFzIExvY2FsU3RvcmFnZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbmlsbGEvbG9jYWxTdG9yYWdlJ1xuaW1wb3J0IHsgUmVzdFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYXBpLWxpYidcbmltcG9ydCB7IFJFU1RfU0VUVElOR1MgfSBmcm9tICcuLi8uLi9zZXR0aW5ncydcblxudHlwZSBJS2V5QXV0aCA9ICdzZXNzaWQnIHwgJ2F1dGgnIHwgc3RyaW5nXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Vzc2lvbktleVNlcnZpY2VzIGV4dGVuZHMgQmFzZVNlcnZpY2VzIHtcblxuICBhdXRoSGF2ZSA9IGZhbHNlXG4gIGF1dGhEYXRhJDogT2JzZXJ2YWJsZTxzYXZlQXBwbGljYXRpb25BdXRoPlxuICBhdXRoRGF0YTogc2F2ZUFwcGxpY2F0aW9uQXV0aCB8IHVuZGVmaW5lZFxuICBzdWJzY3JpYmUgPSB7XG4gICAgYXV0aERhdGE6IG5ldyBTdWJzY3JpcHRpb24oKVxuICB9XG5cbiAgUkVTVF9TRVRUSU5HU1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdG9yZTogU3RvcmU8eyBhdXRoOiBzYXZlQXBwbGljYXRpb25BdXRoIH0+LFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBCeEFwaUxpYjogUmVzdFNlcnZpY2VzLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUkVTVF9TRVRUSU5HUykgUkVTVF9TRVRUSU5HUzoge1xuICAgICAgYXV0aDogJ2Nvb2tpZXMnLFxuICAgICAgdXJsczoge1xuICAgICAgICBob21lOiAnJ1xuICAgICAgfVxuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuUkVTVF9TRVRUSU5HUyA9IFJFU1RfU0VUVElOR1NcbiAgICB0aGlzLmF1dGhEYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdhdXRoJylcbiAgICB0aGlzLmF1dGhEYXRhJC5zdWJzY3JpYmUoYXV0aERhdGEgPT4ge1xuICAgICAgaWYgKChhdXRoRGF0YSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkgfHwgIWF1dGhEYXRhKSB7XG4gICAgICAgIC8vINC/0L7Qu9GD0YfQsNC10Lwg0YLQvtC60LXQvSDQv9C+INGB0L7QsdGB0YLQstC10L3QvdGL0Lwg0LrQsNC90LDQu9C+0LwgKNCyINCx0LjRgtGA0LjQutGB0LUg0L/RgNC40LvQvtC20LXQvdC40LUgdHJhY2U6YXBwcy50cmFjZSlcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gIT09IHdpbmRvdy5vcmlnaW4pIHsgLy8g0L/RgNC+0LLQtdGA0Y/QtdC8INGH0YLQviDRjdGC0L4g0L3QtSDQvdCw0YjQtSDRgdC+0L7QsdGJ0LXQvdC40LUgKNGBINGC0LXQutGD0YnQtdCz0L4g0L/RgNC40LvQvtC20LXQvdC40Y8pXG4gICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLnBhcmFtKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgZXZlbnQuZGF0YS5wYXJhbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBldmVudC5kYXRhLnBhcmFtID0gSlNPTi5wYXJzZShldmVudC5kYXRhLnBhcmFtKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGV0IHNhdmU6IHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoID0ge31cblxuICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyYW0gPSBldmVudC5kYXRhLnBhcmFtO1xuICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW5cbiAgICAgICAgICAgICAgICBzYXZlID0ge1xuICAgICAgICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiAocGFyYW0uYWNjZXNzX3Rva2VuKSA/IHBhcmFtLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGNsaWVudF9lbmRwb2ludDogKHBhcmFtLmNsaWVudF9lbmRwb2ludCkgPyBwYXJhbS5jbGllbnRfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBkb21haW46IChwYXJhbS5kb21haW4pID8gcGFyYW0uZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgZXhwaXJlczogKHBhcmFtLmV4cGlyZXMpID8gcGFyYW0uZXhwaXJlcyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IChwYXJhbS5leHBpcmVzX2luKSA/IHBhcmFtLmV4cGlyZXNfaW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBtZW1iZXJfaWQ6IChwYXJhbS5tZW1iZXJfaWQpID8gcGFyYW0ubWVtYmVyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgcmVmcmVzaF90b2tlbjogKHBhcmFtLnJlZnJlc2hfdG9rZW4pID8gcGFyYW0ucmVmcmVzaF90b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHNjb3BlOiAocGFyYW0uc2NvcGUpID8gcGFyYW0uc2NvcGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBzZXJ2ZXJfZW5kcG9pbnQ6IChwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQpID8gcGFyYW0uc2VydmVyX2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgc3RhdHVzOiAocGFyYW0uc3RhdHVzKSA/IHBhcmFtLnN0YXR1cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IChwYXJhbS51c2VyX2lkKSA/IHBhcmFtLnVzZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAocGFyYW0udHlwZSkgPyBwYXJhbS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXBcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihwYXJhbSA9PlxuICAgICAgICAgICAgICBwYXJhbS5oYXMoJ0FVVEhfSUQnKVxuICAgICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpXG4gICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpXG4gICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnRE9NQUlOJylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgocGFyYW06IFBhcmFtTWFwKSA9PiB7XG4gICAgICAgICAgICBsZXQgc2F2ZTogc2F2ZUFwcGxpY2F0aW9uQXV0aFBhdGggPSB7fVxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnQVVUSF9JRCcpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnQVVUSF9JRCcpXG4gICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICBDb29raWVzLnNldCgnYXV0aCcsIGdldCkgLy8g0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgICBzYXZlLmFjY2Vzc190b2tlbiA9IGdldFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnYWNjZXNzX3Rva2VuJylcbiAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgIENvb2tpZXMuc2V0KCdhdXRoJywgZ2V0KSAvLyDQv9C+0YLQvtC8INGD0LHRgNCw0YLRjFxuICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpICYmICFhdXRoRGF0YS5yZWZyZXNoX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ1JFRlJFU0hfSUQnKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5yZWZyZXNoX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnRE9NQUlOJykgJiYgIWF1dGhEYXRhLmRvbWFpbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdET01BSU4nKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5kb21haW4gPSBnZXRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBbGwoKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8g0LXRgdC70Lgg0LHQuNGC0YDQuNC60YEg0L3QtSDRiNC70ZHRgiDQvdGD0LbQvdGL0LUg0LzQvdC1INC/0LDRgNCw0LzQtdGC0YDRiyDQvdCwINC/0YDRj9C80YPRjlxuICAgICAgICAgICAgICAvLyDQv9GA0L7RgdC40Lwg0LjRhSDQvNC90LUg0L7RgtC00LDRgtGMINGC0LDQuiDQutCw0Log0L7Qv9C40YHQsNC90L4g0Y3RgtC+INCyINC00L7QutGD0LzQtdC90YLQsNGG0LjQuFxuICAgICAgICAgICAgICBsZXQgZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5CeEFwaUxpYi5CWDI0KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpbml0RGF0ZSA9IHRoaXMuQnhBcGlMaWIuQlgyNC5nZXRBdXRoKClcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFjY2Vzc1Rva2VuKGluaXREYXRlKSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0aGlzLkJ4QXBpTGliLmluaXQoZilcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0QXV0aCgpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmF1dGhIYXZlID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICB0aGlzLmF1dGhEYXRhID0gYXV0aERhdGFcbiAgICB9KVxuICB9XG5cbiAgc3Vic2NyaWJlQWxsKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlLmF1dGhEYXRhLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIGdldEF1dGgoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKFJFU1RfU0VUVElOR1MuYXV0aC5rZXkpe1xuICAgICAgY2FzZSAnYXV0aCc6XG4gICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKSkge1xuICAgICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgbGV0IHN0ciA9IHRoaXMuZ2V0U2Vzc2lkKClcbiAgICAgICAgICByZXR1cm4gKHN0cikgPyBzdHIgOiAnJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRLZXlBdXRoKCk6IElLZXlBdXRoIHtcbiAgICBpZihSRVNUX1NFVFRJTkdTLmF1dGgua2V5Lmxlbmd0aCl7XG4gICAgICByZXR1cm4gUkVTVF9TRVRUSU5HUy5hdXRoLmtleVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB8fCB0aGlzLmdldFNlc3NpZCgpLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gJ3Nlc3NpZCdcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnYXV0aCdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZXNzaWQoKSB7XG4gICAgY29uc3QgY2hlY2sgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdzZXNzaWQnKVxuICAgIGlmIChjaGVjaykge1xuICAgICAgTG9jYWxTdG9yYWdlLnNldCgnc2Vzc2lkJywgY2hlY2spXG4gICAgICByZXR1cm4gY2hlY2tcbiAgICB9IGVsc2UgaWYgKExvY2FsU3RvcmFnZS5nZXQoJ3Nlc3NpZCcpKSB7XG4gICAgICByZXR1cm4gTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJylcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBzZXRBdXRoUGFyYW1zPFQ+KHBhcmFtczogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5QXV0aCA9IHRoaXMuZ2V0S2V5QXV0aCgpXG4gICAgaWYgKHBhcmFtc1trZXlBdXRoXSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGtleUF1dGgpIHtcbiAgICAgIHBhcmFtc1trZXlBdXRoXSA9IHRoaXMuZ2V0QXV0aCgpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldEF1dGhQYXJhbXMoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBzd2l0Y2ggKFJFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2UpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gb2YodGhpcy5nZXRBdXRoKCkpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoRGF0YSQucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIG1hcCh2ID0+ICh2KSA/IHYuYWNjZXNzX3Rva2VuIDogdW5kZWZpbmVkKVxuICAgICAgICApXG4gICAgfVxuICB9XG5cbiAgZ2V0QmFzZVVybCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBvZih0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh0aGlzLlJFU1RfU0VUVElOR1MudXJscy5ob21lLCAncmVzdCcpKVxuICAgIC8vIHJldHVybiB0aGlzLmF1dGhEYXRhJC5waXBlKCAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINC/0L7Qt9C20LVcbiAgICAvLyAgIHRha2UoMSksXG4gICAgLy8gICBtYXAodiA9PiAodiAmJiB2LmRvbWFpbikgPyB0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2LmRvbWFpbikgOiB1bmRlZmluZWQpXG4gICAgLy8gKVxuICB9XG5cbiAgLy8gZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAvLyAgICAgcmV0dXJuIGVudi51cmxzLmhvbWVcbiAgLy8gfVxufVxuIl19
|
|
214
|
+
}], ctorParameters: function () { return [{ type: i1.RestServices }]; } });
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sT0FBTyxNQUFNLGdDQUFnQyxDQUFBO0FBRXBELE9BQU8sRUFBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25ELDZEQUE2RDtBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUUxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7OztBQU8xRCxNQUFNLENBQUMsT0FBTyxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFRMUQ7SUFDRSxpQ0FBaUM7SUFDMUIsUUFBc0I7UUFFN0IsS0FBSyxFQUFFLENBQUE7UUFGQSxhQUFRLEdBQVIsUUFBUSxDQUFjO1FBUi9CLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFFaEIsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQzdCLENBQUE7UUFPQyxJQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFjLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekUsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUQsaUZBQWlGO1lBQ2pGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFtQixFQUFF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Q0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1NBQ2xFO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLHlEQUF5RDtRQUN6RCxhQUFhO1FBQ2IsOEVBQThFO1FBQzlFLElBQUk7SUFDTixDQUFDOzsrR0ExTWtCLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRnpCLE1BQU07MkZBRUMsa0JBQWtCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IENvb2tpZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS/RgW9va2llcydcbmltcG9ydCBzYXZlQXBwbGljYXRpb25BdXRoIGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbi8vIGltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IEJhc2VTZXJ2aWNlcyB9IGZyb20gJy4uL2Jhc2UnXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlcyBhcyBMb2NhbFN0b3JhZ2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL2xvY2FsU3RvcmFnZSdcbmltcG9ydCB7IFJlc3RTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2FwaS1saWInXG5pbXBvcnQgeyBCWF9SRVNUX1NFVFRJTkdTIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3MnXG5pbXBvcnQgaUJYUmVzdEF1dGggZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL2F1dGgvc2F2ZSdcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlIH0gZnJvbSAnLi4vdmFuaWxsYS9zZXNzaW9uU3RvcmFnZSdcblxudHlwZSBJS2V5QXV0aCA9ICdzZXNzaWQnIHwgJ2F1dGgnIHwgc3RyaW5nXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Vzc2lvbktleVNlcnZpY2VzIGV4dGVuZHMgQmFzZVNlcnZpY2VzIHtcblxuICBhdXRoSGF2ZSA9IGZhbHNlXG4gIGF1dGhEYXRhOiBzYXZlQXBwbGljYXRpb25BdXRoIHwgdW5kZWZpbmVkXG4gIHN1YnNjcmliZSA9IHtcbiAgICBhdXRoRGF0YTogbmV3IFN1YnNjcmlwdGlvbigpXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAvLyBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgQnhBcGlMaWI6IFJlc3RTZXJ2aWNlcyxcbiAgKSB7XG4gICAgc3VwZXIoKVxuICAgIGxldCBhdXRoRGF0YSA9IFNlc3Npb25TdG9yYWdlLmdldEl0ZW08aUJYUmVzdEF1dGg+KHRoaXMuY29uc3RydWN0b3IubmFtZSlcbiAgICBpZiAoKGF1dGhEYXRhICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB8fCAhYXV0aERhdGEpIHtcbiAgICAgIC8vINC/0L7Qu9GD0YfQsNC10Lwg0YLQvtC60LXQvSDQv9C+INGB0L7QsdGB0YLQstC10L3QvdGL0Lwg0LrQsNC90LDQu9C+0LwgKNCyINCx0LjRgtGA0LjQutGB0LUg0L/RgNC40LvQvtC20LXQvdC40LUgdHJhY2U6YXBwcy50cmFjZSlcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiAhPT0gd2luZG93Lm9yaWdpbikgeyAvLyDQv9GA0L7QstC10YDRj9C10Lwg0YfRgtC+INGN0YLQviDQvdC1INC90LDRiNC1INGB0L7QvtCx0YnQtdC90LjQtSAo0YEg0YLQtdC60YPRidC10LPQviDQv9GA0LjQu9C+0LbQtdC90LjRjylcbiAgICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLnBhcmFtKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGV2ZW50LmRhdGEucGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGV2ZW50LmRhdGEucGFyYW0gPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEucGFyYW0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhLnBhcmFtLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICBsZXQgcGFyYW0gPSBldmVudC5kYXRhLnBhcmFtO1xuICAgICAgICAgICAgICBsZXQgc2F2ZSA9IHtcbiAgICAgICAgICAgICAgICBhY2Nlc3NfdG9rZW46IChwYXJhbS5hY2Nlc3NfdG9rZW4pID8gcGFyYW0uYWNjZXNzX3Rva2VuIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGNsaWVudF9lbmRwb2ludDogKHBhcmFtLmNsaWVudF9lbmRwb2ludCkgPyBwYXJhbS5jbGllbnRfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgZG9tYWluOiAocGFyYW0uZG9tYWluKSA/IHBhcmFtLmRvbWFpbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBleHBpcmVzOiAocGFyYW0uZXhwaXJlcykgPyBwYXJhbS5leHBpcmVzIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IChwYXJhbS5leHBpcmVzX2luKSA/IHBhcmFtLmV4cGlyZXNfaW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgbWVtYmVyX2lkOiAocGFyYW0ubWVtYmVyX2lkKSA/IHBhcmFtLm1lbWJlcl9pZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICByZWZyZXNoX3Rva2VuOiAocGFyYW0ucmVmcmVzaF90b2tlbikgPyBwYXJhbS5yZWZyZXNoX3Rva2VuIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHNjb3BlOiAocGFyYW0uc2NvcGUpID8gcGFyYW0uc2NvcGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgc2VydmVyX2VuZHBvaW50OiAocGFyYW0uc2VydmVyX2VuZHBvaW50KSA/IHBhcmFtLnNlcnZlcl9lbmRwb2ludCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IChwYXJhbS5zdGF0dXMpID8gcGFyYW0uc3RhdHVzIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHVzZXJfaWQ6IChwYXJhbS51c2VyX2lkKSA/IHBhcmFtLnVzZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgdHlwZTogKHBhcmFtLnR5cGUpID8gcGFyYW0udHlwZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICBTZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuY29uc3RydWN0b3IubmFtZSwgc2F2ZSlcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIC8qXG4gICAgICB0aGlzLnN1YnNjcmliZS5hdXRoRGF0YSA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIocGFyYW0gPT5cbiAgICAgICAgICAgIHBhcmFtLmhhcygnQVVUSF9JRCcpXG4gICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpXG4gICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ1JFRlJFU0hfSUQnKVxuICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdET01BSU4nKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChwYXJhbTogUGFyYW1NYXApID0+IHtcbiAgICAgICAgICBpZighc2F2ZSkge1xuICAgICAgICAgICAgbGV0IHNhdmUgPSB7XG4gICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBjbGllbnRfZW5kcG9pbnQ6IChwYXJhbS5jbGllbnRfZW5kcG9pbnQpID8gcGFyYW0uY2xpZW50X2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBkb21haW46IChwYXJhbS5kb21haW4pID8gcGFyYW0uZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBleHBpcmVzOiAocGFyYW0uZXhwaXJlcykgPyBwYXJhbS5leHBpcmVzIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBleHBpcmVzX2luOiAocGFyYW0uZXhwaXJlc19pbikgPyBwYXJhbS5leHBpcmVzX2luIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBtZW1iZXJfaWQ6IChwYXJhbS5tZW1iZXJfaWQpID8gcGFyYW0ubWVtYmVyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICByZWZyZXNoX3Rva2VuOiAocGFyYW0ucmVmcmVzaF90b2tlbikgPyBwYXJhbS5yZWZyZXNoX3Rva2VuIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBzY29wZTogKHBhcmFtLnNjb3BlKSA/IHBhcmFtLnNjb3BlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBzZXJ2ZXJfZW5kcG9pbnQ6IChwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQpID8gcGFyYW0uc2VydmVyX2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBzdGF0dXM6IChwYXJhbS5zdGF0dXMpID8gcGFyYW0uc3RhdHVzIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB1c2VyX2lkOiAocGFyYW0udXNlcl9pZCkgPyBwYXJhbS51c2VyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB0eXBlOiAocGFyYW0udHlwZSkgPyBwYXJhbS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ0FVVEhfSUQnKSAmJiAhYXV0aERhdGE/LmFjY2Vzc190b2tlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnQVVUSF9JRCcpXG4gICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgIENvb2tpZXMuc2V0KCdhdXRoJywgZ2V0KSAvL1RPRE86INC/0L7RgtC+0Lwg0YPQsdGA0LDRgtGMXG4gICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhcmFtLmhhcygnYWNjZXNzX3Rva2VuJykgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnYWNjZXNzX3Rva2VuJylcbiAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ2F1dGgnLCBnZXQpIC8vIFRPRE86INC/0L7RgtC+0Lwg0YPQsdGA0LDRgtGMXG4gICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpICYmICFhdXRoRGF0YS5yZWZyZXNoX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdSRUZSRVNIX0lEJylcbiAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgc2F2ZS5yZWZyZXNoX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhcmFtLmhhcygnRE9NQUlOJykgJiYgIWF1dGhEYXRhLmRvbWFpbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnRE9NQUlOJylcbiAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgc2F2ZS5kb21haW4gPSBnZXRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgU2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmNvbnN0cnVjdG9yLm5hbWUsIHNhdmUpXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vINC10YHQu9C4INCx0LjRgtGA0LjQutGBINC90LUg0YjQu9GR0YIg0L3Rg9C20L3Ri9C1INC80L3QtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0L3QsCDQv9GA0Y/QvNGD0Y5cbiAgICAgICAgICAgIC8vINC/0YDQvtGB0LjQvCDQuNGFINC80L3QtSDQvtGC0LTQsNGC0Ywg0YLQsNC6INC60LDQuiDQvtC/0LjRgdCw0L3QviDRjdGC0L4g0LIg0LTQvtC60YPQvNC10L3RgtCw0YbQuNC4XG4gICAgICAgICAgICBsZXQgZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuQnhBcGlMaWIuQlgyNCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluaXREYXRlID0gdGhpcy5CeEFwaUxpYi5CWDI0LmdldEF1dGgoKVxuICAgICAgICAgICAgICAgIFNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBzYXZlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuQnhBcGlMaWIuaW5pdChmKVxuICAgICAgICAgIH1cblxuICAgICAgICB9KVxuICAgICAgKi9cbiAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0QXV0aCgpLmxlbmd0aCkge1xuICAgICAgdGhpcy5hdXRoSGF2ZSA9IHRydWVcbiAgICB9XG5cbiAgICB0aGlzLmF1dGhEYXRhID0gYXV0aERhdGFcblxuICB9XG5cbiAgc3Vic2NyaWJlQWxsKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlLmF1dGhEYXRhLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIGdldEF1dGgoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKEJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkpIHtcbiAgICAgIGNhc2UgJ2F1dGgnOlxuICAgICAgICByZXR1cm4gQ29va2llcy5nZXQoJ2F1dGgnKVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKCg8YW55PndpbmRvdykuQlggJiYgKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKCkpIHtcbiAgICAgICAgICByZXR1cm4gKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKClcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmdldFNlc3NpZCgpLmxlbmd0aCkge1xuICAgICAgICAgIGxldCBzdHIgPSB0aGlzLmdldFNlc3NpZCgpXG4gICAgICAgICAgcmV0dXJuIChzdHIpID8gc3RyIDogJydcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gQ29va2llcy5nZXQoJ2F1dGgnKVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0S2V5QXV0aCgpOiBJS2V5QXV0aCB7XG4gICAgaWYgKEJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB8fCB0aGlzLmdldFNlc3NpZCgpLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gJ3Nlc3NpZCdcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnYXV0aCdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZXNzaWQoKSB7XG4gICAgY29uc3QgY2hlY2sgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdzZXNzaWQnKVxuICAgIGlmIChjaGVjaykge1xuICAgICAgTG9jYWxTdG9yYWdlLnNldCgnc2Vzc2lkJywgY2hlY2spXG4gICAgICByZXR1cm4gY2hlY2tcbiAgICB9IGVsc2UgaWYgKExvY2FsU3RvcmFnZS5nZXQoJ3Nlc3NpZCcpKSB7XG4gICAgICByZXR1cm4gTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJylcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBzZXRBdXRoUGFyYW1zPFQ+KHBhcmFtczogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5QXV0aCA9IHRoaXMuZ2V0S2V5QXV0aCgpXG4gICAgaWYgKHBhcmFtc1trZXlBdXRoXSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGtleUF1dGgpIHtcbiAgICAgIHBhcmFtc1trZXlBdXRoXSA9IHRoaXMuZ2V0QXV0aCgpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldEF1dGhQYXJhbXMoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKEJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2UpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRBdXRoKClcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAodGhpcy5hdXRoRGF0YSkgPyB0aGlzLmF1dGhEYXRhLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIGdldEJhc2VVcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gb2YodGhpcy5wcmVwYXJlQmFzZUFkZHJlc3MoQlhfUkVTVF9TRVRUSU5HUy51cmxzLmhvbWUsICdyZXN0JykpXG4gICAgLy8gcmV0dXJuIHRoaXMuYXV0aERhdGEkLnBpcGUoIC8vIFRPRE86INGA0LDQt9C+0LHRgNCw0YLRjNGB0Y8g0L/QvtC30LbQtVxuICAgIC8vICAgdGFrZSgxKSxcbiAgICAvLyAgIG1hcCh2ID0+ICh2ICYmIHYuZG9tYWluKSA/IHRoaXMucHJlcGFyZUJhc2VBZGRyZXNzKHYuZG9tYWluKSA6IHVuZGVmaW5lZClcbiAgICAvLyApXG4gIH1cblxuICAvLyBnZXRIb21lVXJsKCk6IHN0cmluZyB7XG4gIC8vICAgICByZXR1cm4gZW52LnVybHMuaG9tZVxuICAvLyB9XG59XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export class
|
|
4
|
-
setItem(name, value) {
|
|
3
|
+
export class SessionStorage {
|
|
4
|
+
static setItem(name, value) {
|
|
5
5
|
sessionStorage.setItem(name, JSON.stringify(value));
|
|
6
6
|
}
|
|
7
|
-
getItem(name) {
|
|
7
|
+
static getItem(name) {
|
|
8
8
|
const res = sessionStorage.getItem(name);
|
|
9
9
|
if (res) {
|
|
10
10
|
return JSON.parse(res);
|
|
@@ -12,12 +12,12 @@ export class SessionStorageServices {
|
|
|
12
12
|
return undefined;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type:
|
|
15
|
+
SessionStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
SessionStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorage, providedIn: 'root' });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorage, decorators: [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{
|
|
20
20
|
providedIn: 'root'
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvblN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy92YW5pbGxhL3Nlc3Npb25TdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBSzFDLE1BQU0sT0FBTyxjQUFjO0lBRXpCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDckMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFJLElBQVk7UUFDNUIsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFHLEdBQUcsRUFBQztZQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU0sQ0FBQTtTQUM1QjtRQUNELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7OzJHQVpVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdG9yYWdlIHtcclxuXHJcbiAgc3RhdGljIHNldEl0ZW0obmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KXtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0obmFtZSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEl0ZW08VD4obmFtZTogc3RyaW5nKXtcclxuICAgIGNvbnN0IHJlcyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0obmFtZSlcclxuICAgIGlmKHJlcyl7XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlcykgYXMgVFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2020/settings.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const BX_REST_SETTINGS = {
|
|
2
2
|
auth: {
|
|
3
3
|
source: 'cookies',
|
|
4
4
|
key: 'auth'
|
|
@@ -7,4 +7,4 @@ export const REST_SETTINGS = {
|
|
|
7
7
|
home: 'b24.trace-studio.com'
|
|
8
8
|
}
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBa0I7SUFDN0MsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLFNBQVM7UUFDakIsR0FBRyxFQUFFLE1BQU07S0FDWjtJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxzQkFBc0I7S0FDN0I7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaVJlc3RTZXR0aW5ncyB9IGZyb20gJy4vdHlwaWZpY2F0aW9uL3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IEJYX1JFU1RfU0VUVElOR1M6IGlSZXN0U2V0dGluZ3MgPSB7XHJcbiAgYXV0aDoge1xyXG4gICAgc291cmNlOiAnY29va2llcycsXHJcbiAgICBrZXk6ICdhdXRoJ1xyXG4gIH0sXHJcbiAgdXJsczoge1xyXG4gICAgaG9tZTogJ2IyNC50cmFjZS1zdHVkaW8uY29tJ1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBpQlhSZXN0QXV0aCB7XG4gIGFjY2Vzc190b2tlbjogc3RyaW5nLCAvLyDQvtGB0L3QvtCy0L3QvtC5INCw0LLRgtC+0YDQuNC30LDRhtC40L7QvdC90YvQuSDRgtC+0LrQtdC9LCDRgtGA0LXQsdGD0LXQvNGL0Lkg0LTQu9GPINC00L7RgdGC0YPQv9CwINC6IFJFU1QgQVBJXG4gIGNsaWVudF9lbmRwb2ludDogc3RyaW5nLCAvLyDQsNC00YDQtdGBIFJFU1Qt0LjQvdGC0LXRgNGE0LXQudGB0LAg0L/QvtGA0YLQsNC70LBcbiAgZG9tYWluOiBzdHJpbmcsXG4gIGV4cGlyZXM6IG51bWJlcixcbiAgZXhwaXJlc19pbjogbnVtYmVyLFxuICBtZW1iZXJfaWQ6IHN0cmluZyxcbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nLCAvLyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C5INCw0LLRgtC+0YDQuNC30LDRhtC40L7QvdC90YvQuSDRgtC+0LrQtdC9LCDRgdC70YPQttCw0YnQuNC5INC00LvRjyDQv9GA0L7QtNC70LXQvdC40Y8g0YHQvtGF0YDQsNC90LXQvdC90L7QuSDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4XG4gIHNjb3BlOiBzdHJpbmcsXG4gIHNlcnZlcl9lbmRwb2ludDogc3RyaW5nLCAvLyDQsNC00YDQtdGBIFJFU1Qt0LjQvdGC0LXRgNGE0LXQudGB0LAg0YHQtdGA0LLQtdGA0LBcbiAgc3RhdHVzOiBzdHJpbmcsIC8vINGB0YLQsNGC0YPRgSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQvdCwINC/0L7RgNGC0LDQu9C1XG4gIHVzZXJfaWQ6IG51bWJlcixcbiAgc3RhdGU/OiBhbnlcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9PcmRlck9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIGlCWFJlc3RPcmRlck9wdGlvbiA9ICdhc2MnIC8vINC/0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjlxyXG4gfCAnZGVzYycgIC8vINC/0L4g0YPQsdGL0LLQsNC90LjRjlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2Uvc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgaUJYUmVzdFBhcmFtU29ydCA9ICdBU0MnIHwgJ0RFU0MnXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZWRFbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYml6cHJvYy9iYXNlL2ZpbGVkRW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgaVJlc3RCWEJpenByb2NXb3JrZmxvd1RlbXBsYXRlRmllbGRFbnVtID1cclxuICAnSUQnXHJcbiAgfCAnTU9EVUxFX0lEJ1xyXG4gIHwgJ0VOVElUWSdcclxuICB8ICdET0NVTUVOVF9UWVBFJ1xyXG4gIHwgJ0FVVE9fRVhFQ1VURSdcclxuICB8ICdOQU1FJ1xyXG4gIHwgJ1RFTVBMQVRFJ1xyXG4gIHwgJ1BBUkFNRVRFUlMnXHJcbiAgfCAnVkFSSUFCTEVTJ1xyXG4gIHwgJ0NPTlNUQU5UUydcclxuICB8ICdNT0RJRklFRCdcclxuICB8ICdJU19NT0RJRklFRCdcclxuICB8ICdVU0VSX0lEJ1xyXG4gIHwgJ1NZU1RFTV9DT0RFJ1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iaXpwcm9jL3dvcmtmbG93L3N0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbUJpenByb2NXb3JrZmxvd1N0YXJ0IHtcclxuICBURU1QTEFURV9JRDogbnVtYmVyLCAvL1x00JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YjQsNCx0LvQvtC90LAg0JHQn1xyXG4gIERPQ1VNRU5UX0lEOiBzdHJpbmdbXSwgLy9cdNCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC00L7QutGD0LzQtdC90YLQsCDQkdCfXHJcbiAgUEFSQU1FVEVSUzogYW55IC8vXHTQl9C90LDRh9C10L3QuNGPINC/0LDRgNCw0LzQtdGC0YDQvtCyINCR0J8gKNC10YHQu9C4INGI0LDQsdC70L7QvSDRgSDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4KSBUT0RPOiDQntC/0LjRgdCw0YLRjCDQvdC+0YDQvNCw0LvRjNC90L5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2JpenByb2Mvd29ya2Zsb3cvdGVtcGxhdGUvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaVJlc3RCWEJpenByb2NXb3JrZmxvd1RlbXBsYXRlRmllbGRFbnVtIH0gZnJvbSAnLi4vLi4vYmFzZS9maWxlZEVudW0nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbUJpenByb2NXb3JrZmxvd1RlbXBsYXRlTGlzdCB7XHJcbiAgc2VsZWN0OiBpUmVzdEJYQml6cHJvY1dvcmtmbG93VGVtcGxhdGVGaWVsZEVudW1bXSxcclxuICBmaWx0ZXI6IGlCWFJlc3RQYXJhbUJpenByb2NXb3JrZmxvd1RlbXBsYXRlTGlzdEZpbHRlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBpQlhSZXN0UGFyYW1CaXpwcm9jV29ya2Zsb3dUZW1wbGF0ZUxpc3RGaWx0ZXIgPSB7XHJcbiAgW1Byb3BlcnR5IGluIGlSZXN0QlhCaXpwcm9jV29ya2Zsb3dUZW1wbGF0ZUZpZWxkRW51bV0/OiBhbnk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvbGlzdHMvZWxlbWVudC9hZGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtTGlzdHNFbGVtZW50QWRkIHtcclxuICBJQkxPQ0tfVFlQRV9JRDogJ2xpc3RzJyB8ICdiaXRyaXhfcHJvY2Vzc2VzJywgLy8gVE9ETzog0LLRi9C00LXQu9C40YLRjCDQsiDQvtGC0LTQtdC70YzQvdGL0Lkg0YLQuNC/XHJcbiAgSUJMT0NLX0lEOiBudW1iZXIgfCBhbnksXHJcbiAgRUxFTUVOVF9DT0RFOiBzdHJpbmcsXHJcbiAgRklFTERTOiB7XHJcbiAgICBOQU1FOiBzdHJpbmcsXHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvbG9nL2Jsb2dwb3N0L2FkZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdFllc05vIH0gZnJvbSAnLi4vLi4vYmFzZS9ZZXNObyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbUxvZ0Jsb2dQb3N0QWRkIHtcclxuICBVU0VSX0lEPzogbnVtYmVyLCAgLy8gSUQg0LDQstGC0L7RgNCwINC30LDQv9C40YHQuCAo0L7Qv9GG0LjQvtC90LDQu9GM0L3Qviwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSDRgtC10LrRg9GJ0LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwsINC00YDRg9Cz0L7QtSDQt9C90LDRh9C10L3QuNC1INC00L7RgdGC0YPQv9C90L4g0YLQvtC70YzQutC+INCw0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA0YMg0LIg0LrQvtGA0L7QsdC+0YfQvdC+0Lkg0LLQtdGA0YHQuNC4KVxyXG4gIFBPU1RfTUVTU0FHRTogc3RyaW5nIC8vINCi0LXQutGB0YIg0YHQvtC+0LHRidC10L3QuNGPXHJcbiAgUE9TVF9USVRMRT86IHN0cmluZywgLy8g0JfQsNCz0L7Qu9C+0LLQvtC6INGB0L7QvtCx0YnQtdC90LjRjyAo0L7Qv9GG0LjQvtC90LDQu9GM0L3QvilcclxuICBERVNUPzogc3RyaW5nW10sXHQvLyDQn9GA0LDQstCwINC90LAg0L/RgNC+0YHQvNC+0YLRgCDRgdC+0L7QsdGJ0LXQvdC40Y8gKNC+0L/RhtC40L7QvdCw0LvRjNC90L4pLCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAtIGFycmF5KFwiVUFcIikgLSDQstGB0LXQvCDQsNCy0YLQvtGA0LjQt9C+0LLQsNC90L3Ri9C8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj9C8LlxyXG4gIC8vINCc0L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC30L3QsNGH0LXQvdC40Y86XHJcbiAgLy8gU0c8WD4gLSDRgNCw0LHQvtGH0LDRjyDQs9GA0YPQv9C/0LAsINC90LDQv9GA0LjQvNC10YAgU0cxIC0g0YDQsNCx0L7Rh9Cw0Y8g0LPRgNGD0L/Qv9CwINGBINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QvCAxO1xyXG4gIC8vIFU8WD4gLSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwsINC90LDQv9GA0LjQvNC10YAgVTQ1IC0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGBINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QvCA0NTtcclxuICAvLyBEUjxYPiAtINC+0YLQtNC10LssINCy0LrQu9GO0YfQsNGPINC/0L7QtNGA0LDQt9C00LXQu9GLLCDQvdCw0L/RgNC40LzQtdGAIERSMjMgLSDRgNCw0LfQtNC10Lsg0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8IDIzO1xyXG4gIC8vIFVBIC0g0LLRgdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C4LlxyXG4gIC8vIEc8WD4gLSDQs9GA0YPQv9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LksINC90LDQv9GA0LjQvNC10YAgRzIgLSDQs9GA0YPQv9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lkg0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8IDIuXHJcbiAgRklMRVM/OiBzdHJpbmdbXVtdLCAvLyDQpNCw0LnQu9GLLCDQvNCw0YHRgdC40LIg0LfQvdCw0YfQtdC90LjQuSwg0L7Qv9C40YHQsNC90L3Ri9C5INC/0L4g0L/RgNCw0LLQuNC70LDQvCwg0L/RgNC40LLQtdC00LXQvdC90YvQvCDRgtGD0YI6IGh0dHBzOi8vZGV2LjFjLWJpdHJpeC5ydS9yZXN0X2hlbHAvanNfbGlicmFyeS9yZXN0L2ZpbGVzLnBocFxyXG4gIElNUE9SVEFOVD86IGlCWFJlc3RZZXNObywgLy8g0J/QviDRg9C80L7Qu9GH0LDQvdC40Y4gTi4g0KHQvtC+0LHRidC10L3QuNC1INC70LXQvdGC0Ysg0L/Rg9Cx0LvQuNC60YPQtdGC0YHRjyDQutCw0LogXCLQstCw0LbQvdC+0LVcIlxyXG4gIElNUE9SVEFOVF9EQVRFX0VORD86IERhdGUgLy8g0KPQutCw0LfRi9Cy0LDQtdGC0YHRjyDQt9C90LDRh9C10L3QuNC1INC00LDRgtGLL9Cy0YDQtdC80LXQvdC4LCDQtNC+INC60L7RgtC+0YDQvtCz0L4g0YHQvtC+0LHRidC10L3QuNC1INCx0YPQtNC10YIg0YHRh9C40YLQsNGC0YzRgdGPINCy0LDQttC90YvQvC5cclxuICBHUkFUSVRVREVfTUVEQUw/OiBzdHJpbmcsXHJcbiAgR1JBVElUVURFX0VNUExPWUVFUz86IG51bWJlcltdXHJcbn1cclxuIl19
|