ntk-cms-api 18.3.466 → 18.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/service/base/apiServerBase.service.mjs +16 -11
- package/esm2020/lib/service/core-token/coreAuthV3.service.mjs +17 -23
- package/fesm2015/ntk-cms-api.mjs +34 -32
- package/fesm2015/ntk-cms-api.mjs.map +1 -1
- package/fesm2020/ntk-cms-api.mjs +34 -32
- package/fesm2020/ntk-cms-api.mjs.map +1 -1
- package/lib/service/base/apiServerBase.service.d.ts +3 -1
- package/lib/service/core-token/coreAuthV3.service.d.ts +1 -3
- package/package.json +1 -1
|
@@ -14,16 +14,21 @@ export class ApiServerBase {
|
|
|
14
14
|
this.keyJwt = 'jwtToken';
|
|
15
15
|
this.keyDeviceToken = 'deviceToken';
|
|
16
16
|
this.keyBaseUrl = 'baseUrl';
|
|
17
|
+
this.keyBaseVer = '';
|
|
17
18
|
this.accessLoad = false;
|
|
18
19
|
this.cachApiResult = [];
|
|
19
20
|
this.childConstructor();
|
|
20
21
|
this.headers = new Map();
|
|
21
22
|
}
|
|
22
|
-
setConfig(url, apiRetry = 1) {
|
|
23
|
+
setConfig(url, ver = '', apiRetry = 1) {
|
|
23
24
|
this.baseUrl = url;
|
|
24
|
-
localStorage.setItem(this.keyBaseUrl, url);
|
|
25
|
+
localStorage.setItem(this.Ver + this.keyBaseUrl, url);
|
|
26
|
+
localStorage.setItem(this.keyBaseVer, ver);
|
|
25
27
|
this.configApiRetry = apiRetry;
|
|
26
28
|
}
|
|
29
|
+
get Ver() {
|
|
30
|
+
return localStorage.getItem(this.keyBaseVer) + '';
|
|
31
|
+
}
|
|
27
32
|
cashApiIsValid(serviceNameKay, cashApiSeconds) {
|
|
28
33
|
if (cashApiSeconds > 0) {
|
|
29
34
|
if (!this.cachApiResult[serviceNameKay])
|
|
@@ -39,7 +44,7 @@ export class ApiServerBase {
|
|
|
39
44
|
// test
|
|
40
45
|
}
|
|
41
46
|
getBaseUrl() {
|
|
42
|
-
const BaseUrl = localStorage.getItem(this.keyBaseUrl);
|
|
47
|
+
const BaseUrl = localStorage.getItem(this.Ver + this.keyBaseUrl);
|
|
43
48
|
if (BaseUrl && BaseUrl.length > 0) {
|
|
44
49
|
return BaseUrl;
|
|
45
50
|
}
|
|
@@ -73,7 +78,7 @@ export class ApiServerBase {
|
|
|
73
78
|
if (this.deviceToken && this.deviceToken.length > 0) {
|
|
74
79
|
return this.deviceToken;
|
|
75
80
|
}
|
|
76
|
-
const token = localStorage.getItem(this.keyDeviceToken);
|
|
81
|
+
const token = localStorage.getItem(this.Ver + this.keyDeviceToken);
|
|
77
82
|
if (token && token.length > 0) {
|
|
78
83
|
return token;
|
|
79
84
|
}
|
|
@@ -81,20 +86,20 @@ export class ApiServerBase {
|
|
|
81
86
|
}
|
|
82
87
|
setDeviceToken(deviceToken) {
|
|
83
88
|
if (!deviceToken || deviceToken.length === 0) {
|
|
84
|
-
localStorage.removeItem(this.keyDeviceToken);
|
|
89
|
+
localStorage.removeItem(this.Ver + this.keyDeviceToken);
|
|
85
90
|
return;
|
|
86
91
|
}
|
|
87
|
-
localStorage.setItem(this.keyDeviceToken, deviceToken);
|
|
92
|
+
localStorage.setItem(this.Ver + this.keyDeviceToken, deviceToken);
|
|
88
93
|
}
|
|
89
94
|
setJWT(model) {
|
|
90
95
|
if (!model || model.accessToken?.length === 0) {
|
|
91
|
-
localStorage.removeItem(this.keyJwt);
|
|
96
|
+
localStorage.removeItem(this.Ver + this.keyJwt);
|
|
92
97
|
return;
|
|
93
98
|
}
|
|
94
|
-
localStorage.setItem(this.keyJwt, JSON.stringify(model));
|
|
99
|
+
localStorage.setItem(this.Ver + this.keyJwt, JSON.stringify(model));
|
|
95
100
|
}
|
|
96
101
|
getJWT() {
|
|
97
|
-
const token = localStorage.getItem(this.keyJwt);
|
|
102
|
+
const token = localStorage.getItem(this.Ver + this.keyJwt);
|
|
98
103
|
if (token && token.length > 0) {
|
|
99
104
|
var ret = JSON.parse(token);
|
|
100
105
|
if (!ret || !ret.accessToken || ret.accessToken.length == 0)
|
|
@@ -104,7 +109,7 @@ export class ApiServerBase {
|
|
|
104
109
|
return undefined;
|
|
105
110
|
}
|
|
106
111
|
removeToken() {
|
|
107
|
-
localStorage.removeItem(this.keyJwt);
|
|
112
|
+
localStorage.removeItem(this.Ver + this.keyJwt);
|
|
108
113
|
}
|
|
109
114
|
getHeaders() {
|
|
110
115
|
let dateTime = new Date();
|
|
@@ -198,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
198
203
|
type: Inject,
|
|
199
204
|
args: [HttpClient]
|
|
200
205
|
}] }]; } });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpU2VydmVyQmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnRrLWNtcy1hcGkvc3JjL2xpYi9zZXJ2aWNlL2Jhc2UvYXBpU2VydmVyQmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFPOUMsZ0ZBQWdGO0FBSWhGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXVDLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFJaEQsWUFBTyxHQUFHLDJCQUEyQixDQUFDO1FBQ3RDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsYUFBYSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFFZixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBTzNCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBbEJqQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQzNDLENBQUM7SUFXRCxTQUFTLENBQUMsR0FBVyxFQUFFLFFBQVEsR0FBRyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ25CLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FB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QUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQzthQUNwQztTQUNGO1FBQ0QsNEJBQTRCO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVLEVBQUUsTUFBdUI7UUFDN0MsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3pCLG9CQUFvQjtZQUNwQixZQUFZLEdBQUcsbUJBQW1CLEtBQUssQ0FBQyxNQUFNLGNBQWMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7Z0JBQ2xELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQztnQkFDNUIsTUFBTSxPQUFPLEdBQUcsMEJBQTBCLENBQUM7YUFDNUM7U0FDRjthQUFNLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDNUMsb0JBQW9CO1lBQ3BCLFlBQVksR0FBRyxjQUFjLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEQ7UUFFRCxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDOzsyR0F0TFUsYUFBYSxrQkFDSixVQUFVOytHQURuQixhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQUVJLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0JztcclxuaW1wb3J0IHsgRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0RXhwb3J0RmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvYmFzZS9lcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUnO1xyXG5pbXBvcnQgeyBNYW5hZ2VVc2VyQWNjZXNzRGF0YVR5cGVzRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnVtcy9iYXNlL21hbmFnZVVzZXJBY2Nlc3NEYXRhVHlwZXNFbnVtJztcclxuaW1wb3J0IHsgVG9rZW5JbmZvTW9kZWxWMyB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvY29yZS10b2tlbi90b2tlbkluZm9Nb2RlbFYzJztcclxuaW1wb3J0IHsgVG9rZW5KV1RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvY29yZS10b2tlbi9fZXhwb3J0JztcclxuLy9pbXBvcnQgeyBOdGtDbXNBcGlTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9udGtDbXNBcGlTdG9yZS5zZXJ2aWNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2ZXJCYXNlIHtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEh0dHBDbGllbnQpIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICB0aGlzLmNoaWxkQ29uc3RydWN0b3IoKTtcclxuICAgIHRoaXMuaGVhZGVycyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBiYXNlVXJsID0gJ2h0dHBzOi8vYXBpY21zLmlyL2FwaS92Mi8nO1xyXG4gIHB1YmxpYyB1c2VyVG9rZW4gPSAnJztcclxuICBwdWJsaWMgZGV2aWNlVG9rZW4gPSAnJztcclxuICBwdWJsaWMgY29uZmlnQXBpUmV0cnkgPSAwO1xyXG4gIGtleUp3dCA9ICdqd3RUb2tlbic7XHJcbiAga2V5RGV2aWNlVG9rZW4gPSAnZGV2aWNlVG9rZW4nO1xyXG4gIGtleUJhc2VVcmwgPSAnYmFzZVVybCc7XHJcbiAgcHJpdmF0ZSBoZWFkZXJzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByaXZhdGUgYWNjZXNzTG9hZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgYWNjZXNzRGF0YVR5cGU6IE1hbmFnZVVzZXJBY2Nlc3NEYXRhVHlwZXNFbnVtO1xyXG4gIHNldENvbmZpZyh1cmw6IHN0cmluZywgYXBpUmV0cnkgPSAxKTogdm9pZCB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSB1cmw7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleUJhc2VVcmwsIHVybCk7XHJcbiAgICB0aGlzLmNvbmZpZ0FwaVJldHJ5ID0gYXBpUmV0cnk7XHJcbiAgfVxyXG4gIGNhY2hBcGlSZXN1bHQgPSBbXTtcclxuICBjYXNoQXBpSXNWYWxpZChzZXJ2aWNlTmFtZUtheTogc3RyaW5nLCBjYXNoQXBpU2Vjb25kcz86IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGNhc2hBcGlTZWNvbmRzID4gMCkge1xyXG4gICAgICBpZiAoIXRoaXMuY2FjaEFwaVJlc3VsdFtzZXJ2aWNlTmFtZUtheV0pXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBpZiAoIXRoaXMuY2FjaEFwaVJlc3VsdFtzZXJ2aWNlTmFtZUtheV0uaXNTdWNjZXNzKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuY2FjaEFwaVJlc3VsdFtzZXJ2aWNlTmFtZUtheV0uZGF0ZVJlc3VsdCAmJiAobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLmNhY2hBcGlSZXN1bHRbc2VydmljZU5hbWVLYXldLmRhdGVSZXN1bHQpIDwgY2FzaEFwaVNlY29uZHMpXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNoaWxkQ29uc3RydWN0b3IoKTogYW55IHtcclxuICAgIC8vIHRlc3RcclxuICB9XHJcbiAgZ2V0QmFzZVVybCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgQmFzZVVybCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5QmFzZVVybCk7XHJcbiAgICBpZiAoQmFzZVVybCAmJiBCYXNlVXJsLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIEJhc2VVcmw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5iYXNlVXJsO1xyXG4gIH1cclxuICBnZXRNb2R1bGVDb250cm9sbGVyVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ0VtcHR5JztcclxuICB9XHJcblxyXG4gIHNldEhlYWRlcnMoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVycy5zZXQoa2V5LCB2YWx1ZSk7XHJcbiAgfVxyXG4gIHNldEFjY2Vzc0xvYWQoc3RhdHVzOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY2Nlc3NMb2FkID0gc3RhdHVzO1xyXG4gIH1cclxuICBzZXRBY2Nlc3NEYXRhVHlwZShzdGF0dXM6IE1hbmFnZVVzZXJBY2Nlc3NEYXRhVHlwZXNFbnVtKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjY2Vzc0RhdGFUeXBlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclRva2VuKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMudXNlclRva2VuICYmIHRoaXMudXNlclRva2VuLmxlbmd0aCA+IDApIHsgcmV0dXJuIHRoaXMudXNlclRva2VuOyB9XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0SldUKCk7XHJcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4uYWNjZXNzVG9rZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdG9rZW4uYWNjZXNzVG9rZW47XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aXRsZSA9ICfYqtin24zbjNivINiq2YjaqdmGJztcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSAn2YTYt9mB2Kcg2YXYrNiv2K/YpyDZiNin2LHYryDYrdiz2KfYqCDaqdin2LHYqNix24wg2K7ZiNivINi02YjbjNivJztcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgZ2V0RGV2aWNlVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5kZXZpY2VUb2tlbiAmJiB0aGlzLmRldmljZVRva2VuLmxlbmd0aCA+IDApIHsgcmV0dXJuIHRoaXMuZGV2aWNlVG9rZW47IH1cclxuICAgIGNvbnN0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlEZXZpY2VUb2tlbik7XHJcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdG9rZW47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIHNldERldmljZVRva2VuKGRldmljZVRva2VuOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghZGV2aWNlVG9rZW4gfHwgZGV2aWNlVG9rZW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMua2V5RGV2aWNlVG9rZW4pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleURldmljZVRva2VuLCBkZXZpY2VUb2tlbik7XHJcbiAgfVxyXG4gICBzZXRKV1QobW9kZWw6IFRva2VuSldUTW9kZWwpOiB2b2lkIHtcclxuICAgIGlmICghbW9kZWwgfHwgbW9kZWwuYWNjZXNzVG9rZW4/Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleUp3dCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5Snd0LEpTT04uc3RyaW5naWZ5KCBtb2RlbCkpO1xyXG4gIH1cclxuICBnZXRKV1QoKTogVG9rZW5KV1RNb2RlbCB7XHJcbiAgICAgIGNvbnN0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlKd3QpO1xyXG4gICAgaWYgKHRva2VuICYmIHRva2VuLmxlbmd0aCA+IDApIHtcclxuICAgICAgdmFyIHJldDpUb2tlbkpXVE1vZGVsPSBKU09OLnBhcnNlKCB0b2tlbik7XHJcbiAgICAgIGlmKCFyZXR8fCFyZXQuYWNjZXNzVG9rZW58fHJldC5hY2Nlc3NUb2tlbi5sZW5ndGg9PTApXHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIHJlbW92ZVRva2VuKCk6IHZvaWQge1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5rZXlKd3QpO1xyXG4gIH1cclxuICBnZXRIZWFkZXJzKCk6IGFueSB7XHJcbiAgICBsZXQgZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5oZWFkZXJzLnNldCgnRGF0ZS1UaW1lJywgZGF0ZVRpbWUudG9KU09OKCkpO1xyXG4gICAgdGhpcy5oZWFkZXJzLnNldCgnRGF0ZS1UaW1lLVpvbmUnLCAoZGF0ZVRpbWUuZ2V0VGltZXpvbmVPZmZzZXQoKSotMSkudG9TdHJpbmcoKSk7XHJcbiAgICAvKkF1dGhvcml6YXRpb24qL1xyXG4gICAgaWYgKHRoaXMuZ2V0VXNlclRva2VuKCkgJiYgdGhpcy5nZXRVc2VyVG9rZW4oKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCB0aGlzLmdldFVzZXJUb2tlbigpKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5oZWFkZXJzLmhhcygnQXV0aG9yaXphdGlvbicpKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5kZWxldGUoJ0F1dGhvcml6YXRpb24nKTtcclxuICAgIH1cclxuICAgIC8qRGV2aWNlVG9rZW4qL1xyXG4gICAgaWYgKHRoaXMuZ2V0RGV2aWNlVG9rZW4oKSAmJiB0aGlzLmdldERldmljZVRva2VuKCkubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuc2V0KCdEZXZpY2VUb2tlbicsIHRoaXMuZ2V0RGV2aWNlVG9rZW4oKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0RldmljZVRva2VuJykpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLmRlbGV0ZSgnRGV2aWNlVG9rZW4nKTtcclxuICAgIH1cclxuICAgIC8qQWNjZXNzTG9hZCovXHJcbiAgICBpZiAodGhpcy5hY2Nlc3NMb2FkKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ0FjY2Vzc0xvYWQnLCAndHJ1ZScpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5oZWFkZXJzLmhhcygnQWNjZXNzTG9hZCcpKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5kZWxldGUoJ0FjY2Vzc0xvYWQnKTtcclxuICAgIH1cclxuICAgIC8qQWNjZXNzRGF0YVR5cGUqL1xyXG4gICAgaWYgKHRoaXMuYWNjZXNzRGF0YVR5cGUpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLnNldCgnQWNjZXNzRGF0YVR5cGUnLCB0aGlzLmFjY2Vzc0RhdGFUeXBlLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5oZWFkZXJzLmhhcygnQWNjZXNzRGF0YVR5cGUnKSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuZGVsZXRlKCdBY2Nlc3NEYXRhVHlwZScpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmV0T3V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcclxuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIHRoaXMuaGVhZGVycykge1xyXG4gICAgICByZXRPdXRba10gPSB2OyAvLyBsb29rIG91dCEgS2V5IG11c3QgYmUgYSBzdHJpbmchXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0T3V0O1xyXG4gIH1cclxuXHJcbiAgZXJyb3JFeGNlcHRpb25SZXN1bHRDaGVjazxUTW9kZWw+KG1vZGVsOiBFcnJvckV4Y2VwdGlvblJlc3VsdDxUTW9kZWw+KTogRXJyb3JFeGNlcHRpb25SZXN1bHQ8VE1vZGVsPiB7XHJcbiAgICBpZiAobW9kZWwpIHtcclxuICAgICAgaWYgKCFtb2RlbC5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICBjb25zdCB0aXRsZSA9ICfYrti32Kcg2K/YsSDYr9ix24zYp9mB2Kog2KfYt9mE2KfYudin2Kog2KfYsiDYs9ix2YjYsSc7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG1vZGVsLmVycm9yTWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vZGVsO1xyXG4gIH1cclxuICBlcnJvckV4Y2VwdGlvblJlc3VsdEJhc2VDaGVjayhtb2RlbDogRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlKTogRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlIHtcclxuICAgIGlmIChtb2RlbCkge1xyXG4gICAgICBpZiAoIW1vZGVsLmlzU3VjY2Vzcykge1xyXG4gICAgICAgIGNvbnN0IHRpdGxlID0gJ9iu2LfYpyDYr9ixINiv2LHbjNin2YHYqiDYp9i32YTYp9i52KfYqiDYp9iyINiz2LHZiNixJztcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gbW9kZWwuZXJyb3JNZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTdGF0dXM9ZmFsc2U7XHJcbiAgICByZXR1cm4gbW9kZWw7XHJcbiAgfVxyXG4gIGVycm9yRXhjZXB0aW9uUmVzdWx0Q2hlY2tFeHBvcnRGaWxlKG1vZGVsOiBFcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUpOiBFcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUge1xyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIGlmICghbW9kZWwuaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSAn2K7Yt9inINiv2LEg2K/YsduM2KfZgdiqINin2LfZhNin2LnYp9iqINin2LIg2LPYsdmI2LEnO1xyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBtb2RlbC5lcnJvck1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIHRoaXMubG9hZGluZ1N0YXR1cz1mYWxzZTtcclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSwgY2F1Z2h0OiBPYnNlcnZhYmxlPGFueT4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IGVycm9yTWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICBpZiAoZXJyb3IgJiYgZXJyb3Iuc3RhdHVzKSB7XHJcbiAgICAgIC8vIHNlcnZlci1zaWRlIGVycm9yXHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBDbXMgRXJyb3IgQ29kZTogJHtlcnJvci5zdGF0dXN9XFxuTWVzc2FnZTogJHtlcnJvci5tZXNzYWdlfWA7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSB8fCBlcnJvci5zdGF0dXMgPT09ICc0MDEnKSB7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSAn2K7Yt9in24wg2KfZhdmG24zYqtuMJztcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gJ9mE2LfZgdinINmF2KzYr9ivINmI2KfYsdivINiz24zYs9iq2YUg2LTZiNivJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcclxuICAgICAgLy8gY2xpZW50LXNpZGUgZXJyb3JcclxuICAgICAgZXJyb3JNZXNzYWdlID0gYENtcyBFcnJvcjogJHtlcnJvci5lcnJvci5tZXNzYWdlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpU2VydmVyQmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnRrLWNtcy1hcGkvc3JjL2xpYi9zZXJ2aWNlL2Jhc2UvYXBpU2VydmVyQmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNOUMsZ0ZBQWdGO0FBSWhGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXVDLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFLaEQsWUFBTyxHQUFHLDJCQUEyQixDQUFDO1FBQ3RDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsYUFBYSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVSLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFXM0Isa0JBQWEsR0FBRyxFQUFFLENBQUM7UUF4QmpCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFFM0MsQ0FBQztJQVlELFNBQVMsQ0FBQyxHQUFXLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFB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TyxFQUFFLENBQUM7U0FDcEQ7UUFFRCxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDOzsyR0E1TFUsYUFBYSxrQkFDSixVQUFVOytHQURuQixhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQUVJLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0JztcclxuaW1wb3J0IHsgRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0RXhwb3J0RmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvYmFzZS9lcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUnO1xyXG5pbXBvcnQgeyBNYW5hZ2VVc2VyQWNjZXNzRGF0YVR5cGVzRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnVtcy9iYXNlL21hbmFnZVVzZXJBY2Nlc3NEYXRhVHlwZXNFbnVtJztcclxuaW1wb3J0IHsgVG9rZW5KV1RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvY29yZS10b2tlbi9fZXhwb3J0JztcclxuLy9pbXBvcnQgeyBOdGtDbXNBcGlTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9udGtDbXNBcGlTdG9yZS5zZXJ2aWNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2ZXJCYXNlIHtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEh0dHBDbGllbnQpIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICB0aGlzLmNoaWxkQ29uc3RydWN0b3IoKTtcclxuICAgIHRoaXMuaGVhZGVycyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcblxyXG4gIH1cclxuICBwdWJsaWMgYmFzZVVybCA9ICdodHRwczovL2FwaWNtcy5pci9hcGkvdjIvJztcclxuICBwdWJsaWMgdXNlclRva2VuID0gJyc7XHJcbiAgcHVibGljIGRldmljZVRva2VuID0gJyc7XHJcbiAgcHVibGljIGNvbmZpZ0FwaVJldHJ5ID0gMDtcclxuICBrZXlKd3QgPSAnand0VG9rZW4nO1xyXG4gIGtleURldmljZVRva2VuID0gJ2RldmljZVRva2VuJztcclxuICBrZXlCYXNlVXJsID0gJ2Jhc2VVcmwnO1xyXG4gIGtleUJhc2VWZXIgPSAnJztcclxuICBwcml2YXRlIGhlYWRlcnM6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJpdmF0ZSBhY2Nlc3NMb2FkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBhY2Nlc3NEYXRhVHlwZTogTWFuYWdlVXNlckFjY2Vzc0RhdGFUeXBlc0VudW07XHJcbiAgc2V0Q29uZmlnKHVybDogc3RyaW5nLCB2ZXIgPSAnJywgYXBpUmV0cnkgPSAxKTogdm9pZCB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSB1cmw7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLlZlciArIHRoaXMua2V5QmFzZVVybCwgdXJsKTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5QmFzZVZlciwgdmVyKTtcclxuICAgIHRoaXMuY29uZmlnQXBpUmV0cnkgPSBhcGlSZXRyeTtcclxuICB9XHJcbiAgZ2V0IFZlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5QmFzZVZlcikgKyAnJztcclxuICB9XHJcbiAgY2FjaEFwaVJlc3VsdCA9IFtdO1xyXG4gIGNhc2hBcGlJc1ZhbGlkKHNlcnZpY2VOYW1lS2F5OiBzdHJpbmcsIGNhc2hBcGlTZWNvbmRzPzogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoY2FzaEFwaVNlY29uZHMgPiAwKSB7XHJcbiAgICAgIGlmICghdGhpcy5jYWNoQXBpUmVzdWx0W3NlcnZpY2VOYW1lS2F5XSlcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGlmICghdGhpcy5jYWNoQXBpUmVzdWx0W3NlcnZpY2VOYW1lS2F5XS5pc1N1Y2Nlc3MpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5jYWNoQXBpUmVzdWx0W3NlcnZpY2VOYW1lS2F5XS5kYXRlUmVzdWx0ICYmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuY2FjaEFwaVJlc3VsdFtzZXJ2aWNlTmFtZUtheV0uZGF0ZVJlc3VsdCkgPCBjYXNoQXBpU2Vjb25kcylcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY2hpbGRDb25zdHJ1Y3RvcigpOiBhbnkge1xyXG4gICAgLy8gdGVzdFxyXG4gIH1cclxuICBnZXRCYXNlVXJsKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBCYXNlVXJsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5WZXIgKyB0aGlzLmtleUJhc2VVcmwpO1xyXG4gICAgaWYgKEJhc2VVcmwgJiYgQmFzZVVybC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiBCYXNlVXJsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYmFzZVVybDtcclxuICB9XHJcbiAgZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdFbXB0eSc7XHJcbiAgfVxyXG5cclxuICBzZXRIZWFkZXJzKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmhlYWRlcnMuc2V0KGtleSwgdmFsdWUpO1xyXG4gIH1cclxuICBzZXRBY2Nlc3NMb2FkKHN0YXR1czogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMuYWNjZXNzTG9hZCA9IHN0YXR1cztcclxuICB9XHJcbiAgc2V0QWNjZXNzRGF0YVR5cGUoc3RhdHVzOiBNYW5hZ2VVc2VyQWNjZXNzRGF0YVR5cGVzRW51bSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY2Nlc3NEYXRhVHlwZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIGdldFVzZXJUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh0aGlzLnVzZXJUb2tlbiAmJiB0aGlzLnVzZXJUb2tlbi5sZW5ndGggPiAwKSB7IHJldHVybiB0aGlzLnVzZXJUb2tlbjsgfVxyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdldEpXVCgpO1xyXG4gICAgaWYgKHRva2VuICYmIHRva2VuLmFjY2Vzc1Rva2VuLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRva2VuLmFjY2Vzc1Rva2VuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGl0bGUgPSAn2KrYp9uM24zYryDYqtmI2qnZhic7XHJcbiAgICBjb25zdCBtZXNzYWdlID0gJ9mE2LfZgdinINmF2KzYr9iv2Kcg2YjYp9ix2K8g2K3Ys9in2Kgg2qnYp9ix2KjYsduMINiu2YjYryDYtNmI24zYryc7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIGdldERldmljZVRva2VuKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMuZGV2aWNlVG9rZW4gJiYgdGhpcy5kZXZpY2VUb2tlbi5sZW5ndGggPiAwKSB7IHJldHVybiB0aGlzLmRldmljZVRva2VuOyB9XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuVmVyICsgdGhpcy5rZXlEZXZpY2VUb2tlbik7XHJcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdG9rZW47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIHNldERldmljZVRva2VuKGRldmljZVRva2VuOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghZGV2aWNlVG9rZW4gfHwgZGV2aWNlVG9rZW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuVmVyICsgdGhpcy5rZXlEZXZpY2VUb2tlbik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuVmVyICsgdGhpcy5rZXlEZXZpY2VUb2tlbiwgZGV2aWNlVG9rZW4pO1xyXG4gIH1cclxuICBzZXRKV1QobW9kZWw6IFRva2VuSldUTW9kZWwpOiB2b2lkIHtcclxuICAgIGlmICghbW9kZWwgfHwgbW9kZWwuYWNjZXNzVG9rZW4/Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlZlciArIHRoaXMua2V5Snd0KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5WZXIgKyB0aGlzLmtleUp3dCwgSlNPTi5zdHJpbmdpZnkobW9kZWwpKTtcclxuICB9XHJcbiAgZ2V0SldUKCk6IFRva2VuSldUTW9kZWwge1xyXG4gICAgY29uc3QgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLlZlciArIHRoaXMua2V5Snd0KTtcclxuICAgIGlmICh0b2tlbiAmJiB0b2tlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhciByZXQ6IFRva2VuSldUTW9kZWwgPSBKU09OLnBhcnNlKHRva2VuKTtcclxuICAgICAgaWYgKCFyZXQgfHwgIXJldC5hY2Nlc3NUb2tlbiB8fCByZXQuYWNjZXNzVG9rZW4ubGVuZ3RoID09IDApXHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIHJlbW92ZVRva2VuKCk6IHZvaWQge1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5WZXIgKyB0aGlzLmtleUp3dCk7XHJcbiAgfVxyXG4gIGdldEhlYWRlcnMoKTogYW55IHtcclxuICAgIGxldCBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLmhlYWRlcnMuc2V0KCdEYXRlLVRpbWUnLCBkYXRlVGltZS50b0pTT04oKSk7XHJcbiAgICB0aGlzLmhlYWRlcnMuc2V0KCdEYXRlLVRpbWUtWm9uZScsIChkYXRlVGltZS5nZXRUaW1lem9uZU9mZnNldCgpICogLTEpLnRvU3RyaW5nKCkpO1xyXG4gICAgLypBdXRob3JpemF0aW9uKi9cclxuICAgIGlmICh0aGlzLmdldFVzZXJUb2tlbigpICYmIHRoaXMuZ2V0VXNlclRva2VuKCkubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgdGhpcy5nZXRVc2VyVG9rZW4oKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0F1dGhvcml6YXRpb24nKSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuZGVsZXRlKCdBdXRob3JpemF0aW9uJyk7XHJcbiAgICB9XHJcbiAgICAvKkRldmljZVRva2VuKi9cclxuICAgIGlmICh0aGlzLmdldERldmljZVRva2VuKCkgJiYgdGhpcy5nZXREZXZpY2VUb2tlbigpLmxlbmd0aCA+IDEpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLnNldCgnRGV2aWNlVG9rZW4nLCB0aGlzLmdldERldmljZVRva2VuKCkpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhlYWRlcnMuaGFzKCdEZXZpY2VUb2tlbicpKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5kZWxldGUoJ0RldmljZVRva2VuJyk7XHJcbiAgICB9XHJcbiAgICAvKkFjY2Vzc0xvYWQqL1xyXG4gICAgaWYgKHRoaXMuYWNjZXNzTG9hZCkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuc2V0KCdBY2Nlc3NMb2FkJywgJ3RydWUnKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0FjY2Vzc0xvYWQnKSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuZGVsZXRlKCdBY2Nlc3NMb2FkJyk7XHJcbiAgICB9XHJcbiAgICAvKkFjY2Vzc0RhdGFUeXBlKi9cclxuICAgIGlmICh0aGlzLmFjY2Vzc0RhdGFUeXBlKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ0FjY2Vzc0RhdGFUeXBlJywgdGhpcy5hY2Nlc3NEYXRhVHlwZS50b1N0cmluZygpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0FjY2Vzc0RhdGFUeXBlJykpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLmRlbGV0ZSgnQWNjZXNzRGF0YVR5cGUnKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHJldE91dCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XHJcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiB0aGlzLmhlYWRlcnMpIHtcclxuICAgICAgcmV0T3V0W2tdID0gdjsgLy8gbG9vayBvdXQhIEtleSBtdXN0IGJlIGEgc3RyaW5nIVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldE91dDtcclxuICB9XHJcblxyXG4gIGVycm9yRXhjZXB0aW9uUmVzdWx0Q2hlY2s8VE1vZGVsPihtb2RlbDogRXJyb3JFeGNlcHRpb25SZXN1bHQ8VE1vZGVsPik6IEVycm9yRXhjZXB0aW9uUmVzdWx0PFRNb2RlbD4ge1xyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIGlmICghbW9kZWwuaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSAn2K7Yt9inINiv2LEg2K/YsduM2KfZgdiqINin2LfZhNin2LnYp9iqINin2LIg2LPYsdmI2LEnO1xyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBtb2RlbC5lcnJvck1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcbiAgZXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlQ2hlY2sobW9kZWw6IEVycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSk6IEVycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSB7XHJcbiAgICBpZiAobW9kZWwpIHtcclxuICAgICAgaWYgKCFtb2RlbC5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICBjb25zdCB0aXRsZSA9ICfYrti32Kcg2K/YsSDYr9ix24zYp9mB2Kog2KfYt9mE2KfYudin2Kog2KfYsiDYs9ix2YjYsSc7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG1vZGVsLmVycm9yTWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5sb2FkaW5nU3RhdHVzPWZhbHNlO1xyXG4gICAgcmV0dXJuIG1vZGVsO1xyXG4gIH1cclxuICBlcnJvckV4Y2VwdGlvblJlc3VsdENoZWNrRXhwb3J0RmlsZShtb2RlbDogRXJyb3JFeGNlcHRpb25SZXN1bHRFeHBvcnRGaWxlKTogRXJyb3JFeGNlcHRpb25SZXN1bHRFeHBvcnRGaWxlIHtcclxuICAgIGlmIChtb2RlbCkge1xyXG4gICAgICBpZiAoIW1vZGVsLmlzU3VjY2Vzcykge1xyXG4gICAgICAgIGNvbnN0IHRpdGxlID0gJ9iu2LfYpyDYr9ixINiv2LHbjNin2YHYqiDYp9i32YTYp9i52KfYqiDYp9iyINiz2LHZiNixJztcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gbW9kZWwuZXJyb3JNZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTdGF0dXM9ZmFsc2U7XHJcbiAgICByZXR1cm4gbW9kZWw7XHJcbiAgfVxyXG4gIGhhbmRsZUVycm9yKGVycm9yOiBhbnksIGNhdWdodDogT2JzZXJ2YWJsZTxhbnk+KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBlcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgaWYgKGVycm9yICYmIGVycm9yLnN0YXR1cykge1xyXG4gICAgICAvLyBzZXJ2ZXItc2lkZSBlcnJvclxyXG4gICAgICBlcnJvck1lc3NhZ2UgPSBgQ21zIEVycm9yIENvZGU6ICR7ZXJyb3Iuc3RhdHVzfVxcbk1lc3NhZ2U6ICR7ZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEgfHwgZXJyb3Iuc3RhdHVzID09PSAnNDAxJykge1xyXG4gICAgICAgIGNvbnN0IHRpdGxlID0gJ9iu2LfYp9uMINin2YXZhtuM2KrbjCc7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9ICfZhNi32YHYpyDZhdis2K/YryDZiNin2LHYryDYs9uM2LPYqtmFINi02YjYryc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgIC8vIGNsaWVudC1zaWRlIGVycm9yXHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBDbXMgRXJyb3I6ICR7ZXJyb3IuZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yTWVzc2FnZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
2
|
import { map } from 'rxjs/operators';
|
|
4
|
-
import { TokenDeviceModel } from '../../models/entity/core-token/tokenDeviceModel';
|
|
5
|
-
import { TokenInfoModelV3 } from '../../models/entity/core-token/tokenInfoModelV3';
|
|
6
3
|
import { ApiServerBase } from '../base/apiServerBase.service';
|
|
7
4
|
import { AuthRefreshTokenModel } from '../../models/dto/core-main/authRefreshTokenModel';
|
|
8
5
|
import * as i0 from "@angular/core";
|
|
9
6
|
export class CoreAuthV3Service extends ApiServerBase {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this.tokenInfoSubject = new BehaviorSubject(new TokenInfoModelV3);
|
|
13
|
-
this.tokenDeviceSubject = new BehaviorSubject(new TokenDeviceModel);
|
|
14
|
-
}
|
|
7
|
+
// public tokenInfoSubject: BehaviorSubject<TokenInfoModelV3> = new BehaviorSubject(new TokenInfoModelV3);
|
|
8
|
+
// public tokenDeviceSubject: BehaviorSubject<TokenDeviceModel> = new BehaviorSubject(new TokenDeviceModel);
|
|
15
9
|
getModuleControllerUrl() {
|
|
16
10
|
return 'auth';
|
|
17
11
|
}
|
|
@@ -48,7 +42,7 @@ export class CoreAuthV3Service extends ApiServerBase {
|
|
|
48
42
|
})
|
|
49
43
|
.pipe(map((ret) => {
|
|
50
44
|
this.setJWT(null);
|
|
51
|
-
this.tokenInfoSubject.next(new TokenInfoModelV3());
|
|
45
|
+
//this.tokenInfoSubject.next(new TokenInfoModelV3());
|
|
52
46
|
return ret;
|
|
53
47
|
}));
|
|
54
48
|
}
|
|
@@ -59,31 +53,31 @@ export class CoreAuthV3Service extends ApiServerBase {
|
|
|
59
53
|
}
|
|
60
54
|
ServiceCurrentToken() {
|
|
61
55
|
return this.http.get(this.getBaseUrl() + this.getModuleControllerUrl() + '/CurrentToken', { headers: this.getHeaders() }).pipe(map((ret) => {
|
|
62
|
-
this.tokenInfoSubject.next(ret.item);
|
|
56
|
+
//this.tokenInfoSubject.next(ret.item);
|
|
63
57
|
return ret;
|
|
64
58
|
}));
|
|
65
59
|
}
|
|
66
60
|
ServiceGetTokenDevice(model) {
|
|
67
61
|
return this.http.post(this.getBaseUrl() + this.getModuleControllerUrl() + '/GetTokenDevice/', model).pipe(map((ret) => {
|
|
68
62
|
this.setDeviceToken(ret.item.deviceToken);
|
|
69
|
-
if (!ret.item) {
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
|
|
74
|
-
}
|
|
63
|
+
// if (!ret.item) {
|
|
64
|
+
// this.tokenDeviceSubject.next(new TokenDeviceModel());
|
|
65
|
+
// }
|
|
66
|
+
// else {
|
|
67
|
+
// this.tokenDeviceSubject.next(ret.item);
|
|
68
|
+
// }
|
|
75
69
|
return ret;
|
|
76
70
|
}));
|
|
77
71
|
}
|
|
78
72
|
ServiceCurrentDeviceToken() {
|
|
79
73
|
return this.http.get(this.getBaseUrl() + this.getModuleControllerUrl() + '/CurrentDeviceToken', { headers: this.getHeaders() }).pipe(map((ret) => {
|
|
80
74
|
this.setDeviceToken(ret.item.deviceToken);
|
|
81
|
-
if (!ret.item) {
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
|
|
86
|
-
}
|
|
75
|
+
// if (!ret.item) {
|
|
76
|
+
// this.tokenDeviceSubject.next(new TokenDeviceModel());
|
|
77
|
+
// }
|
|
78
|
+
// else {
|
|
79
|
+
// this.tokenDeviceSubject.next(ret.item);
|
|
80
|
+
// }
|
|
87
81
|
return ret;
|
|
88
82
|
}));
|
|
89
83
|
}
|
|
@@ -98,4 +92,4 @@ CoreAuthV3Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
98
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CoreAuthV3Service, decorators: [{
|
|
99
93
|
type: Injectable
|
|
100
94
|
}] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZUF1dGhWMy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnRrLWNtcy1hcGkvc3JjL2xpYi9zZXJ2aWNlL2NvcmUtdG9rZW4vY29yZUF1dGhWMy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFpQnJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFLekYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7SUFEcEQ7O1FBRVMscUJBQWdCLEdBQXNDLElBQUksZUFBZSxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQztRQUNoRyx1QkFBa0IsR0FBc0MsSUFBSSxlQUFlLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDO0tBb0cxRztJQW5HQyxzQkFBc0I7UUFDcEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEtBQTBCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzlGLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxH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QUFDLENBQUM7YUFDdEQ7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsbUNBQW1DLENBQUMsS0FBMkM7UUFDN0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUVySCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNmLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OytHQXJHVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdXRoRW1haWxDb25maXJtRHRvTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi9hdXRoRW1haWxDb25maXJtRHRvTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoTW9iaWxlQ29uZmlybUR0b01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aE1vYmlsZUNvbmZpcm1EdG9Nb2RlbCc7XHJcbmltcG9ydCB7IEF1dGhSZW5ld1Rva2VuTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi9hdXRoUmVuZXdUb2tlbk1vZGVsJztcclxuaW1wb3J0IHsgQXV0aFVzZXJDaGFuZ2VQYXNzd29yZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFVzZXJDaGFuZ2VQYXNzd29yZE1vZGVsJztcclxuaW1wb3J0IHsgQXV0aFVzZXJGb3JnZXRQYXNzd29yZEVudHJ5UGluQ29kZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFVzZXJGb3JnZXRQYXNzd29yZEVudHJ5UGluQ29kZU1vZGVsJztcclxuaW1wb3J0IHsgQXV0aFVzZXJGb3JnZXRQYXNzd29yZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFVzZXJGb3JnZXRQYXNzd29yZE1vZGVsJztcclxuaW1wb3J0IHsgQXV0aFVzZXJTaWduSW5CeVNtc0R0b01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFVzZXJTaWduSW5CeVNtc0R0b01vZGVsJztcclxuaW1wb3J0IHsgQXV0aFVzZXJTaWduSW5Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vY29yZS1tYWluL2F1dGhVc2VyU2lnbkluTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoVXNlclNpZ25PdXRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vY29yZS1tYWluL2F1dGhVc2VyU2lnbk91dE1vZGVsJztcclxuaW1wb3J0IHsgQXV0aFVzZXJTaWduVXBNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vY29yZS1tYWluL2F1dGhVc2VyU2lnblVwTW9kZWwnO1xyXG5pbXBvcnQgeyBUb2tlbkRldmljZUNsaWVudEluZm9EdG9Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vY29yZS1tYWluL3Rva2VuRGV2aWNlQ2xpZW50SW5mb0R0b01vZGVsJztcclxuaW1wb3J0IHsgVG9rZW5EZXZpY2VTZXROb3RpZmljYXRpb25JZER0b01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vdG9rZW5EZXZpY2VTZXROb3RpZmljYXRpb25JZER0b01vZGVsJztcclxuaW1wb3J0IHsgQ2FwdGNoYU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2NhcHRjaGFNb2RlbCc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0JztcclxuaW1wb3J0IHsgRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSc7XHJcbmltcG9ydCB7IEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2ZpbHRlck1vZGVsJztcclxuaW1wb3J0IHsgVG9rZW5EZXZpY2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvY29yZS10b2tlbi90b2tlbkRldmljZU1vZGVsJztcclxuaW1wb3J0IHsgVG9rZW5JbmZvTW9kZWxWMyB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvY29yZS10b2tlbi90b2tlbkluZm9Nb2RlbFYzJztcclxuaW1wb3J0IHsgQXBpU2VydmVyQmFzZSB9IGZyb20gJy4uL2Jhc2UvYXBpU2VydmVyQmFzZS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEF1dGhSZWZyZXNoVG9rZW5Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vY29yZS1tYWluL2F1dGhSZWZyZXNoVG9rZW5Nb2RlbCc7XHJcbmltcG9ydCB7IFRva2VuSldUTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5L2NvcmUtdG9rZW4vdG9rZW5KV1RNb2RlbCc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29yZUF1dGhWM1NlcnZpY2UgZXh0ZW5kcyBBcGlTZXJ2ZXJCYXNlIHtcclxuICBwdWJsaWMgdG9rZW5JbmZvU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFRva2VuSW5mb01vZGVsVjM+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChuZXcgVG9rZW5JbmZvTW9kZWxWMyk7XHJcbiAgcHVibGljIHRva2VuRGV2aWNlU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFRva2VuRGV2aWNlTW9kZWw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChuZXcgVG9rZW5EZXZpY2VNb2RlbCk7XHJcbiAgZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdhdXRoJztcclxuICB9XHJcbiAgU2VydmljZVNpZ25pblVzZXIobW9kZWw6IEF1dGhVc2VyU2lnbkluTW9kZWwpOiBPYnNlcnZhYmxlPFRva2VuSldUTW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9zaWduaW4nLCBtb2RlbCkucGlwZShcclxuICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0SldUKHJldCk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuICBTZXJ2aWNlUmVmcmVzaFRva2VuKG1vZGVsOiBBdXRoUmVmcmVzaFRva2VuTW9kZWwgPSBuZXcgQXV0aFJlZnJlc2hUb2tlbk1vZGVsKCkpOiBPYnNlcnZhYmxlPEVycm9yRXhjZXB0aW9uUmVzdWx0PFRva2VuSW5mb01vZGVsVjM+PiB7XHJcbiAgICBpZiAobW9kZWwgPT0gbnVsbCkge1xyXG4gICAgICBtb2RlbCA9IG5ldyBBdXRoUmVmcmVzaFRva2VuTW9kZWwoKTtcclxuICAgIH1cclxuICAgIGlmICghbW9kZWwucmVmcmVzaFRva2VuIHx8IG1vZGVsLnJlZnJlc2hUb2tlbi5sZW5ndGggPT0gMCkge1xyXG4gICAgICB2YXIgand0ID0gdGhpcy5nZXRKV1QoKTtcclxuICAgICAgaWYgKGp3dCAmJiBqd3QucmVmcmVzaFRva2VuICYmIGp3dC5yZWZyZXNoVG9rZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG1vZGVsLnJlZnJlc2hUb2tlbiA9IGp3dC5yZWZyZXNoVG9rZW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9SZWZyZXNoVG9rZW4nLCBtb2RlbCwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSxcclxuICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmV0OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0SldUKHJldCk7XHJcbiAgICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG4gIH1cclxuICBTZXJ2aWNlTG9nb3V0KCk6IE9ic2VydmFibGU8RXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlPiB7XHJcbiAgICB2YXIgbW9kZWwgPSB0aGlzLmdldEpXVCgpO1xyXG4gICAgaWYgKCFtb2RlbCB8fCAhbW9kZWwucmVmcmVzaFRva2VuIHx8IG1vZGVsLnJlZnJlc2hUb2tlbi5sZW5ndGggPT0gMClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRCYXNlVXJsKCkgKyB0aGlzLmdldE1vZHVsZUNvbnRyb2xsZXJVcmwoKSArICcvc2lnbk91dC8nICsgbW9kZWwucmVmcmVzaFRva2VuLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLFxyXG4gICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRKV1QobnVsbCk7XHJcbiAgICAgICAgICB0aGlzLnRva2VuSW5mb1N1YmplY3QubmV4dChuZXcgVG9rZW5JbmZvTW9kZWxWMygpKTtcclxuICAgICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIFNlcnZpY2VJc0F1dGhlbnRpY2F0ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9Jc0F1dGhlbnRpY2F0ZWQnLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmV0OiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG4gIFNlcnZpY2VDdXJyZW50VG9rZW4oKTogT2JzZXJ2YWJsZTxFcnJvckV4Y2VwdGlvblJlc3VsdDxUb2tlbkluZm9Nb2RlbFYzPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRCYXNlVXJsKCkgKyB0aGlzLmdldE1vZHVsZUNvbnRyb2xsZXJVcmwoKSArICcvQ3VycmVudFRva2VuJywgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJldDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2tlbkluZm9TdWJqZWN0Lm5leHQocmV0Lml0ZW0pO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbiAgU2VydmljZUdldFRva2VuRGV2aWNlKG1vZGVsOiBUb2tlbkRldmljZUNsaWVudEluZm9EdG9Nb2RlbCk6IE9ic2VydmFibGU8RXJyb3JFeGNlcHRpb25SZXN1bHQ8VG9rZW5EZXZpY2VNb2RlbD4+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9HZXRUb2tlbkRldmljZS8nLCBtb2RlbCkucGlwZShcclxuICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGV2aWNlVG9rZW4ocmV0Lml0ZW0uZGV2aWNlVG9rZW4pO1xyXG4gICAgICAgIGlmICghcmV0Lml0ZW0pIHtcclxuICAgICAgICAgIHRoaXMudG9rZW5EZXZpY2VTdWJqZWN0Lm5leHQobmV3IFRva2VuRGV2aWNlTW9kZWwoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b2tlbkRldmljZVN1YmplY3QubmV4dChyZXQuaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbiAgU2VydmljZUN1cnJlbnREZXZpY2VUb2tlbigpOiBPYnNlcnZhYmxlPEVycm9yRXhjZXB0aW9uUmVzdWx0PFRva2VuRGV2aWNlTW9kZWw+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9DdXJyZW50RGV2aWNlVG9rZW4nLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcblxyXG4gICAgICBtYXAoKHJldDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXREZXZpY2VUb2tlbihyZXQuaXRlbS5kZXZpY2VUb2tlbik7XHJcbiAgICAgICAgaWYgKCFyZXQuaXRlbSkge1xyXG4gICAgICAgICAgdGhpcy50b2tlbkRldmljZVN1YmplY3QubmV4dChuZXcgVG9rZW5EZXZpY2VNb2RlbCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRva2VuRGV2aWNlU3ViamVjdC5uZXh0KHJldC5pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuICBTZXJ2aWNlU2V0VG9rZW5EZXZpY2VOb3RpZmljYXRpb25JZChtb2RlbDogVG9rZW5EZXZpY2VTZXROb3RpZmljYXRpb25JZER0b01vZGVsKTogT2JzZXJ2YWJsZTxFcnJvckV4Y2VwdGlvblJlc3VsdEJhc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9TZXRUb2tlbkRldmljZU5vdGlmaWNhdGlvbklkLycsIG1vZGVsKS5waXBlKFxyXG5cclxuICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZUF1dGhWMy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnRrLWNtcy1hcGkvc3JjL2xpYi9zZXJ2aWNlL2NvcmUtdG9rZW4vY29yZUF1dGhWMy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7O0FBS3pGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBQ2xELDBHQUEwRztJQUMxRyw0R0FBNEc7SUFDNUcsc0JBQXNCO1FBQ3BCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxLQUEwQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUM5RixHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELG1CQUFtQixDQUFDLFFBQStCLElBQUkscUJBQXFCLEVBQUU7UUFDNUUsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLEtBQUssR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMs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MUQsSUFBSTtZQUNKLFNBQVM7WUFDVCw0Q0FBNEM7WUFDNUMsSUFBSTtZQUNKLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFDRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEdBQUcscUJBQXFCLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBRWxJLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFDLG1CQUFtQjtZQUNuQiwwREFBMEQ7WUFDMUQsSUFBSTtZQUNKLFNBQVM7WUFDVCw0Q0FBNEM7WUFDNUMsSUFBSTtZQUNKLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxtQ0FBbUMsQ0FBQyxLQUEyQztRQUM3RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBRXJILEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2YsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7K0dBckdVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEF1dGhFbWFpbENvbmZpcm1EdG9Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vY29yZS1tYWluL2F1dGhFbWFpbENvbmZpcm1EdG9Nb2RlbCc7XHJcbmltcG9ydCB7IEF1dGhNb2JpbGVDb25maXJtRHRvTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi9hdXRoTW9iaWxlQ29uZmlybUR0b01vZGVsJztcclxuaW1wb3J0IHsgQXV0aFJlbmV3VG9rZW5Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vY29yZS1tYWluL2F1dGhSZW5ld1Rva2VuTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoVXNlckNoYW5nZVBhc3N3b3JkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi9hdXRoVXNlckNoYW5nZVBhc3N3b3JkTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoVXNlckZvcmdldFBhc3N3b3JkRW50cnlQaW5Db2RlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi9hdXRoVXNlckZvcmdldFBhc3N3b3JkRW50cnlQaW5Db2RlTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoVXNlckZvcmdldFBhc3N3b3JkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi9hdXRoVXNlckZvcmdldFBhc3N3b3JkTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoVXNlclNpZ25JbkJ5U21zRHRvTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi9hdXRoVXNlclNpZ25JbkJ5U21zRHRvTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoVXNlclNpZ25Jbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFVzZXJTaWduSW5Nb2RlbCc7XHJcbmltcG9ydCB7IEF1dGhVc2VyU2lnbk91dE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFVzZXJTaWduT3V0TW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoVXNlclNpZ25VcE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFVzZXJTaWduVXBNb2RlbCc7XHJcbmltcG9ydCB7IFRva2VuRGV2aWNlQ2xpZW50SW5mb0R0b01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vdG9rZW5EZXZpY2VDbGllbnRJbmZvRHRvTW9kZWwnO1xyXG5pbXBvcnQgeyBUb2tlbkRldmljZVNldE5vdGlmaWNhdGlvbklkRHRvTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL2NvcmUtbWFpbi90b2tlbkRldmljZVNldE5vdGlmaWNhdGlvbklkRHRvTW9kZWwnO1xyXG5pbXBvcnQgeyBDYXB0Y2hhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5L2Jhc2UvY2FwdGNoYU1vZGVsJztcclxuaW1wb3J0IHsgRXJyb3JFeGNlcHRpb25SZXN1bHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5L2Jhc2UvZXJyb3JFeGNlcHRpb25SZXN1bHQnO1xyXG5pbXBvcnQgeyBFcnJvckV4Y2VwdGlvblJlc3VsdEJhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5L2Jhc2UvZXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlJztcclxuaW1wb3J0IHsgRmlsdGVyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5L2Jhc2UvZmlsdGVyTW9kZWwnO1xyXG5pbXBvcnQgeyBUb2tlbkRldmljZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9jb3JlLXRva2VuL3Rva2VuRGV2aWNlTW9kZWwnO1xyXG5pbXBvcnQgeyBUb2tlbkluZm9Nb2RlbFYzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9jb3JlLXRva2VuL3Rva2VuSW5mb01vZGVsVjMnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2ZXJCYXNlIH0gZnJvbSAnLi4vYmFzZS9hcGlTZXJ2ZXJCYXNlLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFJlZnJlc2hUb2tlbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9jb3JlLW1haW4vYXV0aFJlZnJlc2hUb2tlbk1vZGVsJztcclxuaW1wb3J0IHsgVG9rZW5KV1RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvY29yZS10b2tlbi90b2tlbkpXVE1vZGVsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb3JlQXV0aFYzU2VydmljZSBleHRlbmRzIEFwaVNlcnZlckJhc2Uge1xyXG4gIC8vIHB1YmxpYyB0b2tlbkluZm9TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8VG9rZW5JbmZvTW9kZWxWMz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG5ldyBUb2tlbkluZm9Nb2RlbFYzKTtcclxuICAvLyBwdWJsaWMgdG9rZW5EZXZpY2VTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8VG9rZW5EZXZpY2VNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG5ldyBUb2tlbkRldmljZU1vZGVsKTtcclxuICBnZXRNb2R1bGVDb250cm9sbGVyVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ2F1dGgnO1xyXG4gIH1cclxuICBTZXJ2aWNlU2lnbmluVXNlcihtb2RlbDogQXV0aFVzZXJTaWduSW5Nb2RlbCk6IE9ic2VydmFibGU8VG9rZW5KV1RNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZ2V0QmFzZVVybCgpICsgdGhpcy5nZXRNb2R1bGVDb250cm9sbGVyVXJsKCkgKyAnL3NpZ25pbicsIG1vZGVsKS5waXBlKFxyXG4gICAgICBtYXAoKHJldDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRKV1QocmV0KTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG4gIFNlcnZpY2VSZWZyZXNoVG9rZW4obW9kZWw6IEF1dGhSZWZyZXNoVG9rZW5Nb2RlbCA9IG5ldyBBdXRoUmVmcmVzaFRva2VuTW9kZWwoKSk6IE9ic2VydmFibGU8RXJyb3JFeGNlcHRpb25SZXN1bHQ8VG9rZW5JbmZvTW9kZWxWMz4+IHtcclxuICAgIGlmIChtb2RlbCA9PSBudWxsKSB7XHJcbiAgICAgIG1vZGVsID0gbmV3IEF1dGhSZWZyZXNoVG9rZW5Nb2RlbCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFtb2RlbC5yZWZyZXNoVG9rZW4gfHwgbW9kZWwucmVmcmVzaFRva2VuLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHZhciBqd3QgPSB0aGlzLmdldEpXVCgpO1xyXG4gICAgICBpZiAoand0ICYmIGp3dC5yZWZyZXNoVG9rZW4gJiYgand0LnJlZnJlc2hUb2tlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbW9kZWwucmVmcmVzaFRva2VuID0gand0LnJlZnJlc2hUb2tlbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZ2V0QmFzZVVybCgpICsgdGhpcy5nZXRNb2R1bGVDb250cm9sbGVyVXJsKCkgKyAnL1JlZnJlc2hUb2tlbicsIG1vZGVsLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLFxyXG4gICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRKV1QocmV0KTtcclxuICAgICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIFNlcnZpY2VMb2dvdXQoKTogT2JzZXJ2YWJsZTxFcnJvckV4Y2VwdGlvblJlc3VsdEJhc2U+IHtcclxuICAgIHZhciBtb2RlbCA9IHRoaXMuZ2V0SldUKCk7XHJcbiAgICBpZiAoIW1vZGVsIHx8ICFtb2RlbC5yZWZyZXNoVG9rZW4gfHwgbW9kZWwucmVmcmVzaFRva2VuLmxlbmd0aCA9PSAwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9zaWduT3V0LycgKyBtb2RlbC5yZWZyZXNoVG9rZW4sIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksXHJcbiAgICB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJldDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldEpXVChudWxsKTtcclxuICAgICAgICAgIC8vdGhpcy50b2tlbkluZm9TdWJqZWN0Lm5leHQobmV3IFRva2VuSW5mb01vZGVsVjMoKSk7XHJcbiAgICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG4gIH1cclxuICBTZXJ2aWNlSXNBdXRoZW50aWNhdGVkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRCYXNlVXJsKCkgKyB0aGlzLmdldE1vZHVsZUNvbnRyb2xsZXJVcmwoKSArICcvSXNBdXRoZW50aWNhdGVkJywgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJldDogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuICBTZXJ2aWNlQ3VycmVudFRva2VuKCk6IE9ic2VydmFibGU8RXJyb3JFeGNlcHRpb25SZXN1bHQ8VG9rZW5JbmZvTW9kZWxWMz4+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZ2V0QmFzZVVybCgpICsgdGhpcy5nZXRNb2R1bGVDb250cm9sbGVyVXJsKCkgKyAnL0N1cnJlbnRUb2tlbicsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSkucGlwZShcclxuICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vdGhpcy50b2tlbkluZm9TdWJqZWN0Lm5leHQocmV0Lml0ZW0pO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbiAgU2VydmljZUdldFRva2VuRGV2aWNlKG1vZGVsOiBUb2tlbkRldmljZUNsaWVudEluZm9EdG9Nb2RlbCk6IE9ic2VydmFibGU8RXJyb3JFeGNlcHRpb25SZXN1bHQ8VG9rZW5EZXZpY2VNb2RlbD4+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9HZXRUb2tlbkRldmljZS8nLCBtb2RlbCkucGlwZShcclxuICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGV2aWNlVG9rZW4ocmV0Lml0ZW0uZGV2aWNlVG9rZW4pO1xyXG4gICAgICAgIC8vIGlmICghcmV0Lml0ZW0pIHtcclxuICAgICAgICAvLyAgIHRoaXMudG9rZW5EZXZpY2VTdWJqZWN0Lm5leHQobmV3IFRva2VuRGV2aWNlTW9kZWwoKSk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGVsc2Uge1xyXG4gICAgICAgIC8vICAgdGhpcy50b2tlbkRldmljZVN1YmplY3QubmV4dChyZXQuaXRlbSk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbiAgU2VydmljZUN1cnJlbnREZXZpY2VUb2tlbigpOiBPYnNlcnZhYmxlPEVycm9yRXhjZXB0aW9uUmVzdWx0PFRva2VuRGV2aWNlTW9kZWw+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9DdXJyZW50RGV2aWNlVG9rZW4nLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnBpcGUoXHJcblxyXG4gICAgICBtYXAoKHJldDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXREZXZpY2VUb2tlbihyZXQuaXRlbS5kZXZpY2VUb2tlbik7XHJcbiAgICAgICAgLy8gaWYgKCFyZXQuaXRlbSkge1xyXG4gICAgICAgIC8vICAgdGhpcy50b2tlbkRldmljZVN1YmplY3QubmV4dChuZXcgVG9rZW5EZXZpY2VNb2RlbCgpKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gZWxzZSB7XHJcbiAgICAgICAgLy8gICB0aGlzLnRva2VuRGV2aWNlU3ViamVjdC5uZXh0KHJldC5pdGVtKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuICBTZXJ2aWNlU2V0VG9rZW5EZXZpY2VOb3RpZmljYXRpb25JZChtb2RlbDogVG9rZW5EZXZpY2VTZXROb3RpZmljYXRpb25JZER0b01vZGVsKTogT2JzZXJ2YWJsZTxFcnJvckV4Y2VwdGlvblJlc3VsdEJhc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmdldEJhc2VVcmwoKSArIHRoaXMuZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpICsgJy9TZXRUb2tlbkRldmljZU5vdGlmaWNhdGlvbklkLycsIG1vZGVsKS5waXBlKFxyXG5cclxuICAgICAgbWFwKChyZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
package/fesm2015/ntk-cms-api.mjs
CHANGED
|
@@ -1151,16 +1151,21 @@ class ApiServerBase {
|
|
|
1151
1151
|
this.keyJwt = 'jwtToken';
|
|
1152
1152
|
this.keyDeviceToken = 'deviceToken';
|
|
1153
1153
|
this.keyBaseUrl = 'baseUrl';
|
|
1154
|
+
this.keyBaseVer = '';
|
|
1154
1155
|
this.accessLoad = false;
|
|
1155
1156
|
this.cachApiResult = [];
|
|
1156
1157
|
this.childConstructor();
|
|
1157
1158
|
this.headers = new Map();
|
|
1158
1159
|
}
|
|
1159
|
-
setConfig(url, apiRetry = 1) {
|
|
1160
|
+
setConfig(url, ver = '', apiRetry = 1) {
|
|
1160
1161
|
this.baseUrl = url;
|
|
1161
|
-
localStorage.setItem(this.keyBaseUrl, url);
|
|
1162
|
+
localStorage.setItem(this.Ver + this.keyBaseUrl, url);
|
|
1163
|
+
localStorage.setItem(this.keyBaseVer, ver);
|
|
1162
1164
|
this.configApiRetry = apiRetry;
|
|
1163
1165
|
}
|
|
1166
|
+
get Ver() {
|
|
1167
|
+
return localStorage.getItem(this.keyBaseVer) + '';
|
|
1168
|
+
}
|
|
1164
1169
|
cashApiIsValid(serviceNameKay, cashApiSeconds) {
|
|
1165
1170
|
if (cashApiSeconds > 0) {
|
|
1166
1171
|
if (!this.cachApiResult[serviceNameKay])
|
|
@@ -1176,7 +1181,7 @@ class ApiServerBase {
|
|
|
1176
1181
|
// test
|
|
1177
1182
|
}
|
|
1178
1183
|
getBaseUrl() {
|
|
1179
|
-
const BaseUrl = localStorage.getItem(this.keyBaseUrl);
|
|
1184
|
+
const BaseUrl = localStorage.getItem(this.Ver + this.keyBaseUrl);
|
|
1180
1185
|
if (BaseUrl && BaseUrl.length > 0) {
|
|
1181
1186
|
return BaseUrl;
|
|
1182
1187
|
}
|
|
@@ -1210,7 +1215,7 @@ class ApiServerBase {
|
|
|
1210
1215
|
if (this.deviceToken && this.deviceToken.length > 0) {
|
|
1211
1216
|
return this.deviceToken;
|
|
1212
1217
|
}
|
|
1213
|
-
const token = localStorage.getItem(this.keyDeviceToken);
|
|
1218
|
+
const token = localStorage.getItem(this.Ver + this.keyDeviceToken);
|
|
1214
1219
|
if (token && token.length > 0) {
|
|
1215
1220
|
return token;
|
|
1216
1221
|
}
|
|
@@ -1218,21 +1223,21 @@ class ApiServerBase {
|
|
|
1218
1223
|
}
|
|
1219
1224
|
setDeviceToken(deviceToken) {
|
|
1220
1225
|
if (!deviceToken || deviceToken.length === 0) {
|
|
1221
|
-
localStorage.removeItem(this.keyDeviceToken);
|
|
1226
|
+
localStorage.removeItem(this.Ver + this.keyDeviceToken);
|
|
1222
1227
|
return;
|
|
1223
1228
|
}
|
|
1224
|
-
localStorage.setItem(this.keyDeviceToken, deviceToken);
|
|
1229
|
+
localStorage.setItem(this.Ver + this.keyDeviceToken, deviceToken);
|
|
1225
1230
|
}
|
|
1226
1231
|
setJWT(model) {
|
|
1227
1232
|
var _a;
|
|
1228
1233
|
if (!model || ((_a = model.accessToken) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
1229
|
-
localStorage.removeItem(this.keyJwt);
|
|
1234
|
+
localStorage.removeItem(this.Ver + this.keyJwt);
|
|
1230
1235
|
return;
|
|
1231
1236
|
}
|
|
1232
|
-
localStorage.setItem(this.keyJwt, JSON.stringify(model));
|
|
1237
|
+
localStorage.setItem(this.Ver + this.keyJwt, JSON.stringify(model));
|
|
1233
1238
|
}
|
|
1234
1239
|
getJWT() {
|
|
1235
|
-
const token = localStorage.getItem(this.keyJwt);
|
|
1240
|
+
const token = localStorage.getItem(this.Ver + this.keyJwt);
|
|
1236
1241
|
if (token && token.length > 0) {
|
|
1237
1242
|
var ret = JSON.parse(token);
|
|
1238
1243
|
if (!ret || !ret.accessToken || ret.accessToken.length == 0)
|
|
@@ -1242,7 +1247,7 @@ class ApiServerBase {
|
|
|
1242
1247
|
return undefined;
|
|
1243
1248
|
}
|
|
1244
1249
|
removeToken() {
|
|
1245
|
-
localStorage.removeItem(this.keyJwt);
|
|
1250
|
+
localStorage.removeItem(this.Ver + this.keyJwt);
|
|
1246
1251
|
}
|
|
1247
1252
|
getHeaders() {
|
|
1248
1253
|
let dateTime = new Date();
|
|
@@ -3379,18 +3384,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3379
3384
|
type: Injectable
|
|
3380
3385
|
}] });
|
|
3381
3386
|
|
|
3382
|
-
class TokenInfoModelV3 {
|
|
3383
|
-
}
|
|
3384
|
-
|
|
3385
3387
|
class AuthRefreshTokenModel {
|
|
3386
3388
|
}
|
|
3387
3389
|
|
|
3388
3390
|
class CoreAuthV3Service extends ApiServerBase {
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
this.tokenInfoSubject = new BehaviorSubject(new TokenInfoModelV3);
|
|
3392
|
-
this.tokenDeviceSubject = new BehaviorSubject(new TokenDeviceModel);
|
|
3393
|
-
}
|
|
3391
|
+
// public tokenInfoSubject: BehaviorSubject<TokenInfoModelV3> = new BehaviorSubject(new TokenInfoModelV3);
|
|
3392
|
+
// public tokenDeviceSubject: BehaviorSubject<TokenDeviceModel> = new BehaviorSubject(new TokenDeviceModel);
|
|
3394
3393
|
getModuleControllerUrl() {
|
|
3395
3394
|
return 'auth';
|
|
3396
3395
|
}
|
|
@@ -3427,7 +3426,7 @@ class CoreAuthV3Service extends ApiServerBase {
|
|
|
3427
3426
|
})
|
|
3428
3427
|
.pipe(map((ret) => {
|
|
3429
3428
|
this.setJWT(null);
|
|
3430
|
-
this.tokenInfoSubject.next(new TokenInfoModelV3());
|
|
3429
|
+
//this.tokenInfoSubject.next(new TokenInfoModelV3());
|
|
3431
3430
|
return ret;
|
|
3432
3431
|
}));
|
|
3433
3432
|
}
|
|
@@ -3438,31 +3437,31 @@ class CoreAuthV3Service extends ApiServerBase {
|
|
|
3438
3437
|
}
|
|
3439
3438
|
ServiceCurrentToken() {
|
|
3440
3439
|
return this.http.get(this.getBaseUrl() + this.getModuleControllerUrl() + '/CurrentToken', { headers: this.getHeaders() }).pipe(map((ret) => {
|
|
3441
|
-
this.tokenInfoSubject.next(ret.item);
|
|
3440
|
+
//this.tokenInfoSubject.next(ret.item);
|
|
3442
3441
|
return ret;
|
|
3443
3442
|
}));
|
|
3444
3443
|
}
|
|
3445
3444
|
ServiceGetTokenDevice(model) {
|
|
3446
3445
|
return this.http.post(this.getBaseUrl() + this.getModuleControllerUrl() + '/GetTokenDevice/', model).pipe(map((ret) => {
|
|
3447
3446
|
this.setDeviceToken(ret.item.deviceToken);
|
|
3448
|
-
if (!ret.item) {
|
|
3449
|
-
|
|
3450
|
-
}
|
|
3451
|
-
else {
|
|
3452
|
-
|
|
3453
|
-
}
|
|
3447
|
+
// if (!ret.item) {
|
|
3448
|
+
// this.tokenDeviceSubject.next(new TokenDeviceModel());
|
|
3449
|
+
// }
|
|
3450
|
+
// else {
|
|
3451
|
+
// this.tokenDeviceSubject.next(ret.item);
|
|
3452
|
+
// }
|
|
3454
3453
|
return ret;
|
|
3455
3454
|
}));
|
|
3456
3455
|
}
|
|
3457
3456
|
ServiceCurrentDeviceToken() {
|
|
3458
3457
|
return this.http.get(this.getBaseUrl() + this.getModuleControllerUrl() + '/CurrentDeviceToken', { headers: this.getHeaders() }).pipe(map((ret) => {
|
|
3459
3458
|
this.setDeviceToken(ret.item.deviceToken);
|
|
3460
|
-
if (!ret.item) {
|
|
3461
|
-
|
|
3462
|
-
}
|
|
3463
|
-
else {
|
|
3464
|
-
|
|
3465
|
-
}
|
|
3459
|
+
// if (!ret.item) {
|
|
3460
|
+
// this.tokenDeviceSubject.next(new TokenDeviceModel());
|
|
3461
|
+
// }
|
|
3462
|
+
// else {
|
|
3463
|
+
// this.tokenDeviceSubject.next(ret.item);
|
|
3464
|
+
// }
|
|
3466
3465
|
return ret;
|
|
3467
3466
|
}));
|
|
3468
3467
|
}
|
|
@@ -3814,6 +3813,9 @@ class CoreTokenActivationModel extends BaseEntity {
|
|
|
3814
3813
|
class CoreTokenUserBadLoginModel extends BaseEntity {
|
|
3815
3814
|
}
|
|
3816
3815
|
|
|
3816
|
+
class TokenInfoModelV3 {
|
|
3817
|
+
}
|
|
3818
|
+
|
|
3817
3819
|
class TokenAccessModel {
|
|
3818
3820
|
}
|
|
3819
3821
|
|