@sambath999/localize-token 12.3.9 → 12.4.0
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/bundles/sambath999-localize-token.umd.js +85 -77
- package/bundles/sambath999-localize-token.umd.js.map +1 -1
- package/esm2015/localize-logindlg/localize-logindlg.component.js +6 -6
- package/esm2015/localize-token/helpers/interfaces.js +1 -1
- package/esm2015/localize-token/localize.api.service.js +9 -8
- package/esm2015/localize-token/localize.token.js +1 -1
- package/esm2015/localize-token/localize.token.service.js +22 -15
- package/fesm2015/sambath999-localize-token.js +34 -26
- package/fesm2015/sambath999-localize-token.js.map +1 -1
- package/localize-token/helpers/interfaces.d.ts +0 -1
- package/localize-token/localize.token.d.ts +8 -7
- package/localize-token/localize.token.service.d.ts +2 -2
- package/package.json +1 -1
|
@@ -37,7 +37,7 @@ export class LocalizeLogindlgComponent {
|
|
|
37
37
|
this.cdt.detectChanges();
|
|
38
38
|
}
|
|
39
39
|
clickLogin() {
|
|
40
|
-
var _a, _b;
|
|
40
|
+
var _a, _b, _c;
|
|
41
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
42
|
if (!this.isValidPassword) {
|
|
43
43
|
return this.showMessage("error", "Password is required and must be at least 6 characters");
|
|
@@ -49,7 +49,7 @@ export class LocalizeLogindlgComponent {
|
|
|
49
49
|
}
|
|
50
50
|
this.tokenService.accessToken = loginRes.tokens.accessToken;
|
|
51
51
|
const cookieOptions = { expires: (_b = this.loginConfig.expire) !== null && _b !== void 0 ? _b : 365 };
|
|
52
|
-
LocalizeToken.storage.set(this.config.
|
|
52
|
+
LocalizeToken.storage.set(((_c = this.config.refreshToken) === null || _c === void 0 ? void 0 : _c.name) || '', loginRes.tokens.refreshToken, cookieOptions);
|
|
53
53
|
this.success = true;
|
|
54
54
|
setTimeout(() => {
|
|
55
55
|
this.dlgConfig.dismissableMask = true;
|
|
@@ -79,10 +79,10 @@ export class LocalizeLogindlgComponent {
|
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
getHeaders() {
|
|
82
|
-
var _a, _b;
|
|
82
|
+
var _a, _b, _c;
|
|
83
83
|
return {
|
|
84
|
-
[LocalizeToken.httpHeaders.X_REFRESH_TOKEN]: (
|
|
85
|
-
[LocalizeToken.httpHeaders.X_TENANT]: (
|
|
84
|
+
[LocalizeToken.httpHeaders.X_REFRESH_TOKEN]: (_b = LocalizeToken.storage.get(((_a = this.config.refreshToken) === null || _a === void 0 ? void 0 : _a.name) || '')) !== null && _b !== void 0 ? _b : "",
|
|
85
|
+
[LocalizeToken.httpHeaders.X_TENANT]: (_c = LocalizeToken.storage.get(this.loginConfig.tenantTokenName)) !== null && _c !== void 0 ? _c : "",
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
get isValidPassword() {
|
|
@@ -420,4 +420,4 @@ LocalizeLogindlgComponent.ctorParameters = () => [
|
|
|
420
420
|
{ type: HttpClient },
|
|
421
421
|
{ type: DomSanitizer }
|
|
422
422
|
];
|
|
423
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUF1VHpELE1BQU0sT0FBTyx5QkFBeUI7SUFjcEMsWUFDbUIsY0FBOEIsRUFDOUIsR0FBc0IsRUFDdEIsTUFBd0IsRUFDeEIsU0FBOEIsRUFDOUIsWUFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsU0FBdUI7UUFOdkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFwQmpDLGVBQVUsR0FBRyxZQUFZLENBQUM7UUFHbkMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBa0doQixnQkFB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bFQ1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbVBSO2FBZ0VGOzs7WUEzVFEsY0FBYztZQUxyQixpQkFBaUI7WUFNVyxnQkFBZ0I7WUFBckMsbUJBQW1CO1lBQ1Asb0JBQW9CO1lBVGhDLFVBQVU7WUFZVixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gXCJwcmltZW5nL2R5bmFtaWNkaWFsb2dcIjtcclxuaW1wb3J0IHsgSnd0UGF5bG9hZCwgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuIH0gZnJvbSBcIi4uL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuXCI7XHJcbmltcG9ydCB7IElMb2dpbkRpYWxvZ0NvbmZpZywgSUxvZ2luRGlhbG9nUHJvcGVydGllcyB9IGZyb20gXCIuL2xvY2FsaXplLWxvZ2luZGxnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0eWxlczogW2BcclxuICAjbG9naW4tZGxnLXdyYXAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuICBcclxuICAubG9naW4tZGxnLWVsbSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLmxvZ2luLWRsZy1lbG0ubG9naW4tZGxnLXN1Z2dlc3Qge1xyXG4gICAgZGlzcGxheTogZmxleCA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2RkZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgIGJveC1zaGFkb3c6IDFweCA1cHggMTBweCAtMTJweCAjMDAwO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1oZWFkZXIgaDMge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGNvbG9yOiBvcmFuZ2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1sb2dvIHtcclxuICAgIGhlaWdodDogNTVweDtcclxuICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgLyogYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvbG9nby0zMDBweC5wbmdcIikgbm8tcmVwZWF0OyAqL1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIHtcclxuICAgIGhlaWdodDogNDVweDtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1jb250ZW50IC5wLWlucHV0Z3JvdXAgLnAtaW5wdXRncm91cC1hZGRvbiB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4IDAgMCAxNXB4O1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgfVxyXG4gICNsb2dpbi1kbGctY29udGVudCAqe1xyXG4gICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgIC8qIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgJ1JvYm90bycsIHNhbnMtc2VyaWYsICdtYXRlcmlhbC1pY29ucy1yb3VuZCc7ICovXHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIC5wLWlucHV0Z3JvdXAtYWRkb24gKiB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIGlucHV0IHtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTVweCAxNXB4IDA7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCBidXR0b24ge1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICB9XHJcbiAgXHJcbiAgLypjaGVjayBhbmltYXRpb24gYmxvY2sqL1xyXG4gIFxyXG4gIC5jaGVjay1hbmltYXRpb24td3JhcCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjAwcHgpO1xyXG4gICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1tYWluLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDYuMjVyZW07XHJcbiAgICBoZWlnaHQ6IDcuNXJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIgLmNoZWNrLWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgIzVkZTU5MywgIzQxZDY3Yyk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVDb250YWluZXIgMC43NXMgZWFzZS1vdXQgZm9yd2FyZHMgMC43NXM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgXHJcbiAgLmNoZWNrLWNvbnRhaW5lciAuY2hlY2stYmFja2dyb3VuZCBzdmcge1xyXG4gICAgd2lkdGg6IDY1JTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjI1cmVtKTtcclxuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDgwO1xyXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDgwO1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2hlY2sgMC4zNXMgZm9yd2FyZHMgMS4yNXMgZWFzZS1vdXQ7XHJcbiAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgLmNoZWNrLWNvbnRhaW5lciAuY2hlY2stc2hhZG93IHtcclxuICAgIGJvdHRvbTogY2FsYygtMTUlIC0gNXB4KTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2xvc2VzdC1zaWRlLCByZ2JhKDczLCAyMTgsIDEzMSwgMSksIHRyYW5zcGFyZW50KTtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZVNoYWRvdyAwLjc1cyBlYXNlLW91dCBmb3J3YXJkcyAwLjc1cztcclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBhbmltYXRlQ29udGFpbmVyIHtcclxuICAgIDAlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAyNSUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgNDMuNzUlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNDMuMzM0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgNjIuNSUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggMjEuNjY3cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDgxLjI1JSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgYW5pbWF0ZUNoZWNrIHtcclxuICAgIGZyb20ge1xyXG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogODA7XHJcbiAgICB9XHJcbiAgXHJcbiAgICB0byB7XHJcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGFuaW1hdGVTaGFkb3cge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxNSU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAyNSUge1xyXG4gICAgICBvcGFjaXR5OiAwLjI1O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgNDMuNzUlIHtcclxuICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgaGVpZ2h0OiA3JTtcclxuICAgICAgb3BhY2l0eTogMC4zNTtcclxuICAgIH1cclxuICBcclxuICAgIDEwMCUge1xyXG4gICAgICB3aWR0aDogODUlO1xyXG4gICAgICBoZWlnaHQ6IDE1JTtcclxuICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgIH1cclxuICB9XHJcbiAgI2xvZ2luLWRsZy13cmFwIC5sb2FkZXItd3JhcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY0MjtcclxuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpO1xyXG4gIH1cclxuXHJcbiAgI2xvZ2luLWRsZy13cmFwIC5sb2dpbi1kbGctbG9hZGVyIHtcclxuICAgIGJvcmRlcjogMTVweCBzb2xpZCAjZTdlN2U3O1xyXG4gICAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAjNTJkYmExO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGFuaW1hdGlvbjogc3BpbmxvYWRlciAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICAjbG9naW4tZGxnLXdyYXAgLmxvYWRlci13cmFwOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm9yZGVyOiAxNXB4IHNvbGlkICNlN2U3ZTcwMDtcclxuICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgIzUyZGJhMWM5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBzcGlubG9hZGVyIC43NXMgbGluZWFyIGluZmluaXRlO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBzcGlubG9hZGVyIHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgfVxyXG4gIGBdLFxyXG4gIHRlbXBsYXRlOiBgPHAtdG9hc3Qga2V5PVwiJGxvZ2luLWRsZ1wiIHBvc2l0aW9uPVwidG9wLWNlbnRlclwiPjwvcC10b2FzdD5cclxuICA8ZGl2IGlkPVwibG9naW4tZGxnLXdyYXBcIj5cclxuICAgIDxkaXYgaWQ9XCJsb2dpbi1kbGctaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgaWQ9XCJsb2dpbi1sb2dvXCIgY2xhc3M9XCJwLW1iLTJcIiBzdHlsZT1cImJhY2tncm91bmQ6IHVybCgne3twcm9wZXJ0aWVzLmxvZ29JbWFnZX19Jykgbm8tcmVwZWF0XCI+PC9kaXY+XHJcbiAgICAgIDxoMyAqbmdJZj1cIiFzdWNjZXNzXCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZWRUaXRsZVwiPjwvaDM+XHJcbiAgICAgIDxoMyAqbmdJZj1cInN1Y2Nlc3NcIiBzdHlsZT1cImNvbG9yOmdyZWVuICFpbXBvcnRhbnQ7XCI+e3twcm9wZXJ0aWVzLmxvZ2luU3VjY2Vzc01lc3NhZ2V9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgaWQ9XCJsb2dpbi1kbGctY29udGVudFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN1Y2Nlc3NcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibG9hZGVyLXdyYXBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctbG9hZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1lbG1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWlucHV0Z3JvdXBcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb25cIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zLXJvdW5kXCI+cGVyc29uPC9pPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dCBkaXNhYmxlZCBwSW5wdXRUZXh0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJ7e3Byb3BlcnRpZXMudXNlcm5hbWU/LnBsYWNlSG9sZGVyfX1cIiBbdmFsdWVdPVwiZGVjb2RlVG9rZW4/LmVtYWlsXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctZWxtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1pbnB1dGdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1pbnB1dGdyb3VwLWFkZG9uXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiPmxvY2s8L2k+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0IFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgKGtleWRvd24uZW50ZXIpPVwiY2xpY2tMb2dpbigpXCIgcElucHV0VGV4dCB0eXBlPVwicGFzc3dvcmRcIiBcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7cHJvcGVydGllcy5wYXNzd29yZD8ucGxhY2VIb2xkZXJ9fVwiIFsobmdNb2RlbCldPVwicGFzc3dvcmRcIlxyXG4gICAgICAgICAgICAgIGF1dG9mb2N1cyAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1lbG1cIj5cclxuICAgICAgICAgIDxidXR0b24gc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBwQnV0dG9uIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cInt7cHJvcGVydGllcy5sb2dpbkJ1dHRvbj8ucGxhY2VIb2xkZXJ9fVwiIChjbGljayk9XCJjbGlja0xvZ2luKClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXBhc3N3b3JkIHx8IGxvYWRpbmdcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWVsbSBsb2dpbi1kbGctc3VnZ2VzdFwiIHN0eWxlPVwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXI7dXNlci1zZWxlY3Q6IG5vbmU7XCI+XHJcbiAgICAgICAgICA8c3Bhbj57e3Byb3BlcnRpZXMubG9nb3V0QnV0dG9uPy5tZXNzYWdlfX08L3NwYW4+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicC1idXR0b24tdGV4dFwiIHBCdXR0b24gdHlwZT1cImJ1dHRvblwiIGxhYmVsPVwie3twcm9wZXJ0aWVzLmxvZ291dEJ1dHRvbj8ucGxhY2VIb2xkZXJ9fVwiIFxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tMb2dvdXQoKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICBcclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1Y2Nlc3NcIj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDozNXB4O1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1hbmltYXRpb24td3JhcFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLW1haW4tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDY1IDUxXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNyAyNUwyNy4zMDc3IDQ0TDU4LjUgN1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMTNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PmAsXHJcbiAgc2VsZWN0b3I6IFwiYXBwLWxvY2FsaXplLWxvZ2luZGxnXCIsXHJcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZUxvZ2luZGxnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBtZXNzYWdlS2V5ID0gXCIkbG9naW4tZGxnXCI7XHJcbiAgcGFzc3dvcmQ6IGFueTtcclxuICByZWFkb25seSBkZWNvZGVUb2tlbjogSnd0UGF5bG9hZCB8IG51bGw7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHN1Y2Nlc3MgPSBmYWxzZTtcclxuICBwcml2YXRlIGdldCBjb25maWcoKSB7IHJldHVybiB0aGlzLnRva2VuU2VydmljZS5jb25maWc7IH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2luQ29uZmlnOiBJTG9naW5EaWFsb2dDb25maWdcclxuXHJcbiAgcHJpdmF0ZSBsb2dvdXQ/OiAoKSA9PiBhbnlcclxuICBwcml2YXRlIGxvZ2luVXJsPzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM6IElMb2dpbkRpYWxvZ1Byb3BlcnRpZXM7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHQ6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkbGdSZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRsZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5TZXJ2aWNlOiBMb2NhbGl6ZVRva2VuU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICAgIHRoaXMuZGVjb2RlVG9rZW4gPSB0aGlzLnRva2VuU2VydmljZS5kZWNvZGVSZWZyZXNoVG9rZW47XHJcbiAgICB0aGlzLmxvZ2luQ29uZmlnID0gdGhpcy5kbGdDb25maWcuZGF0YS5sb2dpbkNvbmZpZztcclxuICAgIHRoaXMucHJvcGVydGllcyA9IHRoaXMubG9naW5Db25maWcucHJvcGVydGllcyE7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGxnQ29uZmlnLmNsb3NhYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ291dCA9IHRoaXMubG9naW5Db25maWcubG9nb3V0RnVuYztcclxuICAgIHRoaXMubG9naW5VcmwgPSB0aGlzLmxvZ2luQ29uZmlnLmxvZ2luVXJsXHJcblxyXG4gICAgaWYgKCF0aGlzLmRlY29kZVRva2VuKSB7XHJcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UoXCJlcnJvclwiLCBcIlRva2VuIGlzIGludmFsaWRcIik7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2dvdXQ/LigpLCAyMDAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY2R0LmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNsaWNrTG9naW4oKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZFBhc3N3b3JkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgXCJQYXNzd29yZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnNcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxvZ2luUmVzID0gYXdhaXQgdGhpcy5sb2dpbigpO1xyXG4gICAgaWYgKCFsb2dpblJlcz8uc3RhdHVzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgbG9naW5SZXMubWVzc2FnZSA/PyBcIkFuIGVycm9yIG9jY3VycmVkXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9rZW5TZXJ2aWNlLmFjY2Vzc1Rva2VuID0gbG9naW5SZXMudG9rZW5zLmFjY2Vzc1Rva2VuO1xyXG4gICAgY29uc3QgY29va2llT3B0aW9ucyA9IHsgZXhwaXJlczogdGhpcy5sb2dpbkNvbmZpZy5leHBpcmUgPz8gMzY1IH1cclxuICAgIExvY2FsaXplVG9rZW4uc3RvcmFnZS5zZXQodGhpcy5jb25maWcucmVmcmVzaFRva2VuTmFtZSEsIGxvZ2luUmVzLnRva2Vucy5yZWZyZXNoVG9rZW4sIGNvb2tpZU9wdGlvbnMpO1xyXG4gICAgdGhpcy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRsZ0NvbmZpZy5kaXNtaXNzYWJsZU1hc2sgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRsZ0NvbmZpZy5tb2RhbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRsZ1JlZi5jbG9zZSh0cnVlKTtcclxuICAgIH0sIDIwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBsb2dpbigpIHtcclxuICAgIGlmICghdGhpcy5sb2dpblVybD8udHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgXCJMb2dpbiB1cmwgaXMgcmVxdWlyZWRcIik7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkxvZ2luIHVybCBpcyByZXF1aXJlZFwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG5cclxuICAgICAgaWYgKHRoaXMubG9naW5Db25maWcubG9naW5GdW5jdGlvbikge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiVXNpbmcgY3VzdG9tIGxvZ2luIGZ1bmN0aW9uXCIpO1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmxvZ2luQ29uZmlnLmxvZ2luRnVuY3Rpb24odGhpcy5kZWNvZGVUb2tlbj8uZW1haWwgPz8gJycsIHRoaXMucGFzc3dvcmQudHJpbSgpLCB0aGlzLmdldEhlYWRlcnMoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+XHJcbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5sb2dpblVybCEsXHJcbiAgICAgICAgICB7IHBhc3N3b3JkOiB0aGlzLnBhc3N3b3JkLnRyaW0oKSB9LFxyXG4gICAgICAgICAgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KS5zdWJzY3JpYmUoeyBuZXh0OiByZXNvbHZlLCBlcnJvcjogcmVqZWN0IH0pKTtcclxuXHJcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIGUubWVzc2FnZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgW0xvY2FsaXplVG9rZW4uaHR0cEhlYWRlcnMuWF9SRUZSRVNIX1RPS0VOXTogTG9jYWxpemVUb2tlbi5zdG9yYWdlLmdldCh0aGlzLmNvbmZpZy5yZWZyZXNoVG9rZW5OYW1lISkgPz8gXCJcIixcclxuICAgICAgW0xvY2FsaXplVG9rZW4uaHR0cEhlYWRlcnMuWF9URU5BTlRdOiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZ2V0KHRoaXMubG9naW5Db25maWcudGVuYW50VG9rZW5OYW1lISkgPz8gXCJcIixcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXQgaXNWYWxpZFBhc3N3b3JkKCk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnBhc3N3b3JkVmFsaWRhdG9yXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0aWVzLnBhc3N3b3JkVmFsaWRhdG9yKHRoaXMucGFzc3dvcmQpXHJcbiAgICAgIDogdGhpcy5wYXNzd29yZCAmJiB0aGlzLnBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPj0gNiAmJiB0aGlzLnBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPD0gNTA7XHJcbiAgfVxyXG5cclxuICBjbGlja0xvZ291dCA9ICgpID0+IHRoaXMubG9nb3V0Py4oKTtcclxuXHJcbiAgcHJpdmF0ZSBzaG93TWVzc2FnZShzZXZlcml0eTogc3RyaW5nLCBzdW1tYXJ5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiB0aGlzLm1lc3NhZ2VLZXksIHNldmVyaXR5LCBzdW1tYXJ5IH0pO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgc2FuaXRpemVkVGl0bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5wcm9wZXJ0aWVzLnRpdGxlID8/ICcnKTtcclxuICB9XHJcbn1cclxuIl19
|
|
423
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtbG9naW5kbGcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvY2FsaXplLWxvZ2luZGxnL2xvY2FsaXplLWxvZ2luZGxnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUF1VHpELE1BQU0sT0FBTyx5QkFBeUI7SUFjcEMsWUFDbUIsY0FBOEIsRUFDOUIsR0FBc0IsRUFDdEIsTUFBd0IsRUFDeEIsU0FBOEIsRUFDOUIsWUFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsU0FBdUI7UUFOdkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFwQmpDLGVBQVUsR0FBRyxZQUFZLENBQUM7UUFHbkMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBa0doQixnQkFB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LEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQzNCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO3lCQWxUNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1QUjthQWdFRjs7O1lBM1RRLGNBQWM7WUFMckIsaUJBQWlCO1lBTVcsZ0JBQWdCO1lBQXJDLG1CQUFtQjtZQUNQLG9CQUFvQjtZQVRoQyxVQUFVO1lBWVYsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XHJcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tIFwicHJpbWVuZy9keW5hbWljZGlhbG9nXCI7XHJcbmltcG9ydCB7IEp3dFBheWxvYWQsIExvY2FsaXplVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4uL2xvY2FsaXplLXRva2VuL2xvY2FsaXplLnRva2VuLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlbiB9IGZyb20gXCIuLi9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlblwiO1xyXG5pbXBvcnQgeyBJTG9naW5EaWFsb2dDb25maWcsIElMb2dpbkRpYWxvZ1Byb3BlcnRpZXMgfSBmcm9tIFwiLi9sb2NhbGl6ZS1sb2dpbmRsZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdHlsZXM6IFtgXHJcbiAgI2xvZ2luLWRsZy13cmFwIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmxvZ2luLWRsZy1lbG0ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICB9XHJcblxyXG4gIC5sb2dpbi1kbGctZWxtLmxvZ2luLWRsZy1zdWdnZXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXggO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNkZGQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcbiAgICBib3gtc2hhZG93OiAxcHggNXB4IDEwcHggLTEycHggIzAwMDtcclxuICB9XHJcbiAgXHJcbiAgI2xvZ2luLWRsZy1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctaGVhZGVyIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjb2xvcjogb3JhbmdlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tbG9nbyB7XHJcbiAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICB3aWR0aDogNTVweDtcclxuICAgIC8qIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaW1hZ2VzL2xvZ28tMzAwcHgucG5nXCIpIG5vLXJlcGVhdDsgKi9cclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgLnAtaW5wdXRncm91cCB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgfVxyXG4gIFxyXG4gICNsb2dpbi1kbGctY29udGVudCAucC1pbnB1dGdyb3VwIC5wLWlucHV0Z3JvdXAtYWRkb24ge1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweCAwIDAgMTVweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gIH1cclxuICAjbG9naW4tZGxnLWNvbnRlbnQgKntcclxuICAgIGZvbnQtc2l6ZTogLjlyZW07XHJcbiAgICAvKiBmb250LWZhbWlseTogJ0xleGVuZCcsICdSb2JvdG8nLCBzYW5zLXNlcmlmLCAnbWF0ZXJpYWwtaWNvbnMtcm91bmQnOyAqL1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgLnAtaW5wdXRncm91cCAucC1pbnB1dGdyb3VwLWFkZG9uICoge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgLnAtaW5wdXRncm91cCBpbnB1dCB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDE1cHggMTVweCAwO1xyXG4gIH1cclxuICBcclxuICAjbG9naW4tZGxnLWNvbnRlbnQgYnV0dG9uIHtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC8qY2hlY2sgYW5pbWF0aW9uIGJsb2NrKi9cclxuICBcclxuICAuY2hlY2stYW5pbWF0aW9uLXdyYXAge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwMHB4KTtcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stbWFpbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiA2LjI1cmVtO1xyXG4gICAgaGVpZ2h0OiA3LjVyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuICBcclxuICAuY2hlY2stY29udGFpbmVyIC5jaGVjay1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICM1ZGU1OTMsICM0MWQ2N2MpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ29udGFpbmVyIDAuNzVzIGVhc2Utb3V0IGZvcndhcmRzIDAuNzVzO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIgLmNoZWNrLWJhY2tncm91bmQgc3ZnIHtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4yNXJlbSk7XHJcbiAgICBzdHJva2UtZGFzaGFycmF5OiA4MDtcclxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4MDtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUNoZWNrIDAuMzVzIGZvcndhcmRzIDEuMjVzIGVhc2Utb3V0O1xyXG4gICAgbWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVjay1jb250YWluZXIgLmNoZWNrLXNoYWRvdyB7XHJcbiAgICBib3R0b206IGNhbGMoLTE1JSAtIDVweCk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNsb3Nlc3Qtc2lkZSwgcmdiYSg3MywgMjE4LCAxMzEsIDEpLCB0cmFuc3BhcmVudCk7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVTaGFkb3cgMC43NXMgZWFzZS1vdXQgZm9yd2FyZHMgMC43NXM7XHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgYW5pbWF0ZUNvbnRhaW5lciB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggNjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgMjUlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA2NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDQzLjc1JSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDQzLjMzNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDY1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldDtcclxuICAgIH1cclxuICBcclxuICAgIDYyLjUlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDIxLjY2N3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICA4MS4yNSUge1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAxMDAlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGFuaW1hdGVDaGVjayB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDgwO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgdG8ge1xyXG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBhbmltYXRlU2hhZG93IHtcclxuICAgIDAlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTUlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgMjUlIHtcclxuICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgIH1cclxuICBcclxuICAgIDQzLjc1JSB7XHJcbiAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgIGhlaWdodDogNyU7XHJcbiAgICAgIG9wYWNpdHk6IDAuMzU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAxMDAlIHtcclxuICAgICAgd2lkdGg6IDg1JTtcclxuICAgICAgaGVpZ2h0OiAxNSU7XHJcbiAgICAgIG9wYWNpdHk6IDAuMjU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNsb2dpbi1kbGctd3JhcCAubG9hZGVyLXdyYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDoxMDAlO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmNDI7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KTtcclxuICB9XHJcblxyXG4gICNsb2dpbi1kbGctd3JhcCAubG9naW4tZGxnLWxvYWRlciB7XHJcbiAgICBib3JkZXI6IDE1cHggc29saWQgI2U3ZTdlNztcclxuICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgIzUyZGJhMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBhbmltYXRpb246IHNwaW5sb2FkZXIgMnMgbGluZWFyIGluZmluaXRlO1xyXG4gIH1cclxuXHJcbiAgI2xvZ2luLWRsZy13cmFwIC5sb2FkZXItd3JhcDo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNzBweDtcclxuICAgIGhlaWdodDogNzBweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvcmRlcjogMTVweCBzb2xpZCAjZTdlN2U3MDA7XHJcbiAgICBib3JkZXItdG9wOiAxNXB4IHNvbGlkICM1MmRiYTFjOTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGFuaW1hdGlvbjogc3BpbmxvYWRlciAuNzVzIGxpbmVhciBpbmZpbml0ZTtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc3BpbmxvYWRlciB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gIH1cclxuICBgXSxcclxuICB0ZW1wbGF0ZTogYDxwLXRvYXN0IGtleT1cIiRsb2dpbi1kbGdcIiBwb3NpdGlvbj1cInRvcC1jZW50ZXJcIj48L3AtdG9hc3Q+XHJcbiAgPGRpdiBpZD1cImxvZ2luLWRsZy13cmFwXCI+XHJcbiAgICA8ZGl2IGlkPVwibG9naW4tZGxnLWhlYWRlclwiPlxyXG4gICAgICA8ZGl2IGlkPVwibG9naW4tbG9nb1wiIGNsYXNzPVwicC1tYi0yXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiB1cmwoJ3t7cHJvcGVydGllcy5sb2dvSW1hZ2V9fScpIG5vLXJlcGVhdFwiPjwvZGl2PlxyXG4gICAgICA8aDMgKm5nSWY9XCIhc3VjY2Vzc1wiIFtpbm5lckhUTUxdPVwic2FuaXRpemVkVGl0bGVcIj48L2gzPlxyXG4gICAgICA8aDMgKm5nSWY9XCJzdWNjZXNzXCIgc3R5bGU9XCJjb2xvcjpncmVlbiAhaW1wb3J0YW50O1wiPnt7cHJvcGVydGllcy5sb2dpblN1Y2Nlc3NNZXNzYWdlfX08L2gzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwibG9naW4tZGxnLWNvbnRlbnRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdWNjZXNzXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImxvYWRlci13cmFwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWxvYWRlclwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctZWxtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1pbnB1dGdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1pbnB1dGdyb3VwLWFkZG9uXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiPnBlcnNvbjwvaT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXQgZGlzYWJsZWQgcElucHV0VGV4dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwie3twcm9wZXJ0aWVzLnVzZXJuYW1lPy5wbGFjZUhvbGRlcn19XCIgW3ZhbHVlXT1cImRlY29kZVRva2VuPy5lbWFpbFwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naW4tZGxnLWVsbVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtaW5wdXRncm91cFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXRncm91cC1hZGRvblwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtcm91bmRcIj5sb2NrPC9pPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwibG9hZGluZ1wiIChrZXlkb3duLmVudGVyKT1cImNsaWNrTG9naW4oKVwiIHBJbnB1dFRleHQgdHlwZT1cInBhc3N3b3JkXCIgXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3Byb3BlcnRpZXMucGFzc3dvcmQ/LnBsYWNlSG9sZGVyfX1cIiBbKG5nTW9kZWwpXT1cInBhc3N3b3JkXCJcclxuICAgICAgICAgICAgICBhdXRvZm9jdXMgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dpbi1kbGctZWxtXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgcEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbGFiZWw9XCJ7e3Byb3BlcnRpZXMubG9naW5CdXR0b24/LnBsYWNlSG9sZGVyfX1cIiAoY2xpY2spPVwiY2xpY2tMb2dpbigpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwYXNzd29yZCB8fCBsb2FkaW5nXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvZ2luLWRsZy1lbG0gbG9naW4tZGxnLXN1Z2dlc3RcIiBzdHlsZT1cImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczogY2VudGVyO3VzZXItc2VsZWN0OiBub25lO1wiPlxyXG4gICAgICAgICAgPHNwYW4+e3twcm9wZXJ0aWVzLmxvZ291dEJ1dHRvbj8ubWVzc2FnZX19PC9zcGFuPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInAtYnV0dG9uLXRleHRcIiBwQnV0dG9uIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cInt7cHJvcGVydGllcy5sb2dvdXRCdXR0b24/LnBsYWNlSG9sZGVyfX1cIiBcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrTG9nb3V0KClcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdWNjZXNzXCI+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6MzVweDtcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stYW5pbWF0aW9uLXdyYXBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1tYWluLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWJhY2tncm91bmRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCA2NSA1MVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcgMjVMMjcuMzA3NyA0NEw1OC41IDdcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5gLFxyXG4gIHNlbGVjdG9yOiBcImFwcC1sb2NhbGl6ZS1sb2dpbmRsZ1wiLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVMb2dpbmRsZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgbWVzc2FnZUtleSA9IFwiJGxvZ2luLWRsZ1wiO1xyXG4gIHBhc3N3b3JkOiBhbnk7XHJcbiAgcmVhZG9ubHkgZGVjb2RlVG9rZW46IEp3dFBheWxvYWQgfCBudWxsO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzdWNjZXNzID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBnZXQgY29uZmlnKCkgeyByZXR1cm4gdGhpcy50b2tlblNlcnZpY2UuY29uZmlnOyB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dpbkNvbmZpZzogSUxvZ2luRGlhbG9nQ29uZmlnXHJcblxyXG4gIHByaXZhdGUgbG9nb3V0PzogKCkgPT4gYW55XHJcbiAgcHJpdmF0ZSBsb2dpblVybD86IHN0cmluZztcclxuICByZWFkb25seSBwcm9wZXJ0aWVzOiBJTG9naW5EaWFsb2dQcm9wZXJ0aWVzO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2R0OiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGxnUmVmOiBEeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkbGdDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuU2VydmljZTogTG9jYWxpemVUb2tlblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRlY29kZVRva2VuID0gdGhpcy50b2tlblNlcnZpY2UuZGVjb2RlUmVmcmVzaFRva2VuO1xyXG4gICAgdGhpcy5sb2dpbkNvbmZpZyA9IHRoaXMuZGxnQ29uZmlnLmRhdGEubG9naW5Db25maWc7XHJcbiAgICB0aGlzLnByb3BlcnRpZXMgPSB0aGlzLmxvZ2luQ29uZmlnLnByb3BlcnRpZXMhO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRsZ0NvbmZpZy5jbG9zYWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2dvdXQgPSB0aGlzLmxvZ2luQ29uZmlnLmxvZ291dEZ1bmM7XHJcbiAgICB0aGlzLmxvZ2luVXJsID0gdGhpcy5sb2dpbkNvbmZpZy5sb2dpblVybFxyXG5cclxuICAgIGlmICghdGhpcy5kZWNvZGVUb2tlbikge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgXCJUb2tlbiBpcyBpbnZhbGlkXCIpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubG9nb3V0Py4oKSwgMjAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNkdC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjbGlja0xvZ2luKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRQYXNzd29yZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIFwiUGFzc3dvcmQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBsb2dpblJlcyA9IGF3YWl0IHRoaXMubG9naW4oKTtcclxuICAgIGlmICghbG9naW5SZXM/LnN0YXR1cykge1xyXG4gICAgICByZXR1cm4gdGhpcy5zaG93TWVzc2FnZShcImVycm9yXCIsIGxvZ2luUmVzLm1lc3NhZ2UgPz8gXCJBbiBlcnJvciBvY2N1cnJlZFwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRva2VuU2VydmljZS5hY2Nlc3NUb2tlbiA9IGxvZ2luUmVzLnRva2Vucy5hY2Nlc3NUb2tlbjtcclxuICAgIGNvbnN0IGNvb2tpZU9wdGlvbnMgPSB7IGV4cGlyZXM6IHRoaXMubG9naW5Db25maWcuZXhwaXJlID8/IDM2NSB9XHJcbiAgICBMb2NhbGl6ZVRva2VuLnN0b3JhZ2Uuc2V0KHRoaXMuY29uZmlnLnJlZnJlc2hUb2tlbj8ubmFtZSB8fCAnJywgbG9naW5SZXMudG9rZW5zLnJlZnJlc2hUb2tlbiwgY29va2llT3B0aW9ucyk7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGxnQ29uZmlnLmRpc21pc3NhYmxlTWFzayA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGxnQ29uZmlnLm1vZGFsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGxnUmVmLmNsb3NlKHRydWUpO1xyXG4gICAgfSwgMjAwMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGxvZ2luKCkge1xyXG4gICAgaWYgKCF0aGlzLmxvZ2luVXJsPy50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UoXCJlcnJvclwiLCBcIkxvZ2luIHVybCBpcyByZXF1aXJlZFwiKTtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9naW4gdXJsIGlzIHJlcXVpcmVkXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5sb2dpbkNvbmZpZy5sb2dpbkZ1bmN0aW9uKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJVc2luZyBjdXN0b20gbG9naW4gZnVuY3Rpb25cIik7XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubG9naW5Db25maWcubG9naW5GdW5jdGlvbih0aGlzLmRlY29kZVRva2VuPy5lbWFpbCA/PyAnJywgdGhpcy5wYXNzd29yZC50cmltKCksIHRoaXMuZ2V0SGVhZGVycygpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT5cclxuICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmxvZ2luVXJsISxcclxuICAgICAgICAgIHsgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQudHJpbSgpIH0sXHJcbiAgICAgICAgICB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pLnN1YnNjcmliZSh7IG5leHQ6IHJlc29sdmUsIGVycm9yOiByZWplY3QgfSkpO1xyXG5cclxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKFwiZXJyb3JcIiwgZS5tZXNzYWdlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEhlYWRlcnMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBbTG9jYWxpemVUb2tlbi5odHRwSGVhZGVycy5YX1JFRlJFU0hfVE9LRU5dOiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZ2V0KHRoaXMuY29uZmlnLnJlZnJlc2hUb2tlbj8ubmFtZSB8fCAnJykgPz8gXCJcIixcclxuICAgICAgW0xvY2FsaXplVG9rZW4uaHR0cEhlYWRlcnMuWF9URU5BTlRdOiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZ2V0KHRoaXMubG9naW5Db25maWcudGVuYW50VG9rZW5OYW1lISkgPz8gXCJcIixcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXQgaXNWYWxpZFBhc3N3b3JkKCk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnBhc3N3b3JkVmFsaWRhdG9yXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0aWVzLnBhc3N3b3JkVmFsaWRhdG9yKHRoaXMucGFzc3dvcmQpXHJcbiAgICAgIDogdGhpcy5wYXNzd29yZCAmJiB0aGlzLnBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPj0gNiAmJiB0aGlzLnBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPD0gNTA7XHJcbiAgfVxyXG5cclxuICBjbGlja0xvZ291dCA9ICgpID0+IHRoaXMubG9nb3V0Py4oKTtcclxuXHJcbiAgcHJpdmF0ZSBzaG93TWVzc2FnZShzZXZlcml0eTogc3RyaW5nLCBzdW1tYXJ5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiB0aGlzLm1lc3NhZ2VLZXksIHNldmVyaXR5LCBzdW1tYXJ5IH0pO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgc2FuaXRpemVkVGl0bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5wcm9wZXJ0aWVzLnRpdGxlID8/ICcnKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -9,4 +9,4 @@ export var EMethod;
|
|
|
9
9
|
EMethod["DELETE"] = "delete";
|
|
10
10
|
EMethod["PATCH"] = "patch";
|
|
11
11
|
})(EMethod || (EMethod = {}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxPQU1YO0FBTkQsV0FBWSxPQUFPO0lBQ2Ysd0JBQWEsQ0FBQTtJQUNiLHNCQUFXLENBQUE7SUFDWCxzQkFBVyxDQUFBO0lBQ1gsNEJBQWlCLENBQUE7SUFDakIsMEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTlcsT0FBTyxLQUFQLE9BQU8sUUFNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLyoqXHJcbiAqIEh0dHAgbWV0aG9kIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBlbnVtIEVNZXRob2Qge1xyXG4gICAgUE9TVCA9ICdwb3N0JyxcclxuICAgIEdFVCA9ICdnZXQnLFxyXG4gICAgUFVUID0gJ3B1dCcsXHJcbiAgICBERUxFVEUgPSAnZGVsZXRlJyxcclxuICAgIFBBVENIID0gJ3BhdGNoJyxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT25Db25uZWN0aW9uRXJyb3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB0byBleGVjdXRlIHdoZW4gYSBjb25uZWN0aW9uIGVycm9yIG9jY3Vycy5cclxuICAgICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiBhIFByb21pc2Ugb3IgYW55IHZhbHVlLlxyXG4gICAgICovXHJcbiAgICBjYWxsYmFjaz86IChlcnJvcjogSU5vcm1hbGl6ZWRFcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIC8qKlxyXG4gICAgICogSWYgdHJ1ZSwgdGhlIHJlcXVlc3Qgd2lsbCBibG9jayB0aGUgc2NyZWVuIHdpdGggb3ZlcmxheSBvbiBjb25uZWN0aW9uIGVycm9ycy5cclxuICAgICAqIERlZmF1bHQgaXMgZmFsc2UuXHJcbiAgICAgKi9cclxuICAgIGJsb2NrU2NyZWVuPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3B0aW9uYWwgei1pbmRleCBmb3IgdGhlIGJsb2NrIHNjcmVlbiBvdmVybGF5LlxyXG4gICAgICogRGVmYXVsdCBpcyAxMDAwMC5cclxuICAgICAqL1xyXG4gICAgYmxvY2tTY3JlZW5aSW5kZXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICovXHJcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgc3VnZ2VzdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJUmV0cnlPcHRpb25zIHtcclxuXHJcbiAgICAvKipcclxuICAgICAgICogTWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBmb3IgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAgICogRGVmYXVsdCBpcyAxMDAuXHJcbiAgICAgICAqL1xyXG4gICAgbWF4UmV0cmllcz86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbGF5IGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgcmV0cnlpbmcgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAqIERlZmF1bHQgaXMgNTAwbXMuXHJcbiAgICAgKi9cclxuICAgIGRlbGF5PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGEgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCBiYXNlZCBvbiB0aGUgZXJyb3IuXHJcbiAgICAgKiBJZiBub3QgcHJvdmlkZWQsIHRoZSBkZWZhdWx0IGZ1bmN0aW9uIHdpbGwgcmV0cnkgZm9yIG5ldHdvcmsgZXJyb3JzIGFuZCBzZXJ2ZXIgZXJyb3JzIChzdGF0dXMgNTAwLTU5OSkuXHJcbiAgICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3Igb2JqZWN0IGZyb20gdGhlIGZhaWxlZCByZXF1ZXN0LlxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICovXHJcbiAgICByZXRyeUZ1bmN0aW9uPzogKGVycm9yOiBJTm9ybWFsaXplZEVycm9yKSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIGEgY29ubmVjdGlvbiBlcnJvciBvY2N1cnMuXHJcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYSBQcm9taXNlIG9yIGFueSB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgb25Db25uZWN0aW9uRXJyb3I/
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9oZWxwZXJzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxPQU1YO0FBTkQsV0FBWSxPQUFPO0lBQ2Ysd0JBQWEsQ0FBQTtJQUNiLHNCQUFXLENBQUE7SUFDWCxzQkFBVyxDQUFBO0lBQ1gsNEJBQWlCLENBQUE7SUFDakIsMEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTlcsT0FBTyxLQUFQLE9BQU8sUUFNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLyoqXHJcbiAqIEh0dHAgbWV0aG9kIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBlbnVtIEVNZXRob2Qge1xyXG4gICAgUE9TVCA9ICdwb3N0JyxcclxuICAgIEdFVCA9ICdnZXQnLFxyXG4gICAgUFVUID0gJ3B1dCcsXHJcbiAgICBERUxFVEUgPSAnZGVsZXRlJyxcclxuICAgIFBBVENIID0gJ3BhdGNoJyxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT25Db25uZWN0aW9uRXJyb3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB0byBleGVjdXRlIHdoZW4gYSBjb25uZWN0aW9uIGVycm9yIG9jY3Vycy5cclxuICAgICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiBhIFByb21pc2Ugb3IgYW55IHZhbHVlLlxyXG4gICAgICovXHJcbiAgICBjYWxsYmFjaz86IChlcnJvcjogSU5vcm1hbGl6ZWRFcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IGFueTtcclxuICAgIC8qKlxyXG4gICAgICogSWYgdHJ1ZSwgdGhlIHJlcXVlc3Qgd2lsbCBibG9jayB0aGUgc2NyZWVuIHdpdGggb3ZlcmxheSBvbiBjb25uZWN0aW9uIGVycm9ycy5cclxuICAgICAqIERlZmF1bHQgaXMgZmFsc2UuXHJcbiAgICAgKi9cclxuICAgIGJsb2NrU2NyZWVuPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogT3B0aW9uYWwgei1pbmRleCBmb3IgdGhlIGJsb2NrIHNjcmVlbiBvdmVybGF5LlxyXG4gICAgICogRGVmYXVsdCBpcyAxMDAwMC5cclxuICAgICAqL1xyXG4gICAgYmxvY2tTY3JlZW5aSW5kZXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBhIGNvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLlxyXG4gICAgICovXHJcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgc3VnZ2VzdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJUmV0cnlPcHRpb25zIHtcclxuXHJcbiAgICAvKipcclxuICAgICAgICogTWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBmb3IgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAgICogRGVmYXVsdCBpcyAxMDAuXHJcbiAgICAgICAqL1xyXG4gICAgbWF4UmV0cmllcz86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbGF5IGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgcmV0cnlpbmcgYSBmYWlsZWQgcmVxdWVzdC5cclxuICAgICAqIERlZmF1bHQgaXMgNTAwbXMuXHJcbiAgICAgKi9cclxuICAgIGRlbGF5PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGEgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCBiYXNlZCBvbiB0aGUgZXJyb3IuXHJcbiAgICAgKiBJZiBub3QgcHJvdmlkZWQsIHRoZSBkZWZhdWx0IGZ1bmN0aW9uIHdpbGwgcmV0cnkgZm9yIG5ldHdvcmsgZXJyb3JzIGFuZCBzZXJ2ZXIgZXJyb3JzIChzdGF0dXMgNTAwLTU5OSkuXHJcbiAgICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3Igb2JqZWN0IGZyb20gdGhlIGZhaWxlZCByZXF1ZXN0LlxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcmVxdWVzdCBzaG91bGQgYmUgcmV0cmllZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICovXHJcbiAgICByZXRyeUZ1bmN0aW9uPzogKGVycm9yOiBJTm9ybWFsaXplZEVycm9yKSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZXhlY3V0ZSB3aGVuIGEgY29ubmVjdGlvbiBlcnJvciBvY2N1cnMuXHJcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYSBQcm9taXNlIG9yIGFueSB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgb25Db25uZWN0aW9uRXJyb3I/OiBJT25Db25uZWN0aW9uRXJyb3I7XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbGl6ZUFwaUNvbmZpZ3Mge1xyXG4gICAgb25QcmVwYXJlUmVxdWVzdD86ICgpID0+IFByb21pc2U8dm9pZD4gfCBhbnk7XHJcbiAgICBvbkF1dG9Mb2dvdXQ/OiAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG4gICAgb25SZXZva2VVbmF1dGhvcml6ZWQ/OiAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgYW55O1xyXG5cclxuICAgIHdhaXRFYWNoUmVxdWVzdD86IHtcclxuICAgICAgICBtaWxsaXNlY29uZHM6IG51bWJlcjtcclxuICAgIH07XHJcbiAgICBlbmFibGVSZXF1ZXN0Q2FuY2VsbGF0aW9uPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbmZpZyBmb3IgcmV0cnlpbmcgZmFpbGVkIHJlcXVlc3RzLlxyXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCB0aGUgZGVmYXVsdCByZXRyeSBvcHRpb25zIHdpbGwgYmUgdXNlZC5cclxuICAgICAqL1xyXG4gICAgcmV0cnlPcHRpb25zPzogSVJldHJ5T3B0aW9ucztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXBpT3B0aW9ucyB7XHJcbiAgICBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIG1ldGhvZDogRU1ldGhvZDtcclxuICAgIHJlcXVlc3RVcmw6IHN0cmluZztcclxuICAgIHJlcXVlc3RCb2R5PzogYW55O1xyXG4gICAgaXNGb3JtRGF0YT86IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIElmIHRydWUsIHRoZSByZXF1ZXN0IHdpbGwgdXNlIHRoZSByZWZyZXNoIHRva2VuIGZvciBhdXRob3JpemF0aW9uLlxyXG4gICAgICovXHJcbiAgICByZWZyZXNoVG9rZW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXIge1xyXG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElOb3JtYWxpemVkRXJyb3Ige1xyXG4gICAgY29kZTogc3RyaW5nO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgZGV0YWlscz86IGFueTtcclxuICAgIHN0YXR1czogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -40,14 +40,14 @@ export class LocalizeApiService {
|
|
|
40
40
|
this.func = (baseUrl) => (path, method = EMethod.GET, reqBody = null, reqHeaders) => this.request(baseUrl, path, method, reqBody, reqHeaders);
|
|
41
41
|
}
|
|
42
42
|
get isResolvingStartup() { return this.isResolvingStartupSubject.value; }
|
|
43
|
-
get needTenant() { return this.localizeTokenService.config.
|
|
43
|
+
get needTenant() { return this.localizeTokenService.config.tenantToken !== undefined; }
|
|
44
44
|
get isRequesting() { return this.isRequestingSubject.value; }
|
|
45
45
|
get isRevokingToken() { return this.localizeTokenService.isRevokingToken; }
|
|
46
46
|
set isRevokingToken(value) { this.localizeTokenService.isRevokingToken = value; }
|
|
47
47
|
get accessToken() { return this.localizeTokenService.accessToken; }
|
|
48
48
|
set accessToken(value) { this.localizeTokenService.accessToken = value; }
|
|
49
49
|
get refreshToken() { return this.localizeTokenService.refreshToken; }
|
|
50
|
-
get tenantToken() { return this.localizeTokenService.tenantToken(
|
|
50
|
+
get tenantToken() { return this.localizeTokenService.tenantToken(); }
|
|
51
51
|
get config() {
|
|
52
52
|
this.validateConfig();
|
|
53
53
|
return this.configSubject.value;
|
|
@@ -121,12 +121,13 @@ export class LocalizeApiService {
|
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
revokeToken() {
|
|
124
|
+
var _a;
|
|
124
125
|
return __awaiter(this, void 0, void 0, function* () {
|
|
125
126
|
try {
|
|
126
127
|
if (yield this.interceptRevokeToken())
|
|
127
128
|
return;
|
|
128
129
|
this.isRevokingToken = true;
|
|
129
|
-
const apiOptions = Object.assign(Object.assign({}, this.buildApiOptions(this.localizeTokenService.config.
|
|
130
|
+
const apiOptions = Object.assign(Object.assign({}, this.buildApiOptions(((_a = this.localizeTokenService.config.refreshToken) === null || _a === void 0 ? void 0 : _a.requestUrl) || '')), { refreshToken: true });
|
|
130
131
|
// const revokeToken = await this.performRequest(apiOptions);
|
|
131
132
|
const revokeToken = yield ApiHelper.performRequestWithRetry(apiOptions, this.config, this.performRequest.bind(this));
|
|
132
133
|
yield this.handleOnTokenRevoked(revokeToken);
|
|
@@ -189,12 +190,12 @@ export class LocalizeApiService {
|
|
|
189
190
|
});
|
|
190
191
|
}
|
|
191
192
|
validateConfig() {
|
|
192
|
-
var _a;
|
|
193
|
-
|
|
194
|
-
|
|
193
|
+
var _a, _b, _c, _d;
|
|
194
|
+
if (this.localizeTokenService.config.tenantToken
|
|
195
|
+
&& !((_b = (_a = this.localizeTokenService.config.tenantToken) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.trim().length)) {
|
|
195
196
|
throw Error('Tenant token is required but tenantTokenName is not configured');
|
|
196
197
|
}
|
|
197
|
-
if (!this.localizeTokenService.config.
|
|
198
|
+
if (!((_d = (_c = this.localizeTokenService.config.refreshToken) === null || _c === void 0 ? void 0 : _c.requestUrl) === null || _d === void 0 ? void 0 : _d.trim().length)) {
|
|
198
199
|
throw Error('Revoke token URL is not configured - token refresh will not work');
|
|
199
200
|
}
|
|
200
201
|
}
|
|
@@ -209,4 +210,4 @@ LocalizeApiService.ctorParameters = () => [
|
|
|
209
210
|
{ type: HttpClient },
|
|
210
211
|
{ type: LocalizeTokenService }
|
|
211
212
|
];
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBcUIsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQyxPQUFPLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7QUFLMUMsTUFBTSxPQUFPLGtCQUFrQjtJQXlDN0IsWUFBcUIsVUFBc0IsRUFDeEIsb0JBQTBDO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQXpDNUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBK0IsRUFBRSxDQUFDLENBQUM7UUFDOUUsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFlakUsa0JBQWEsR0FBaUM7WUFDcEQsZUFBZSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRTtZQUNwQyx5QkFBeUIs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IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemVUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuLCB3YWl0Rm9yLCB3YWl0VW50aWwgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlblwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJTG9jYWxpemVBcGlDb25maWdzLCBJQXBpT3B0aW9ucywgRU1ldGhvZCwgSUhlYWRlciB9IGZyb20gXCIuL2hlbHBlcnMvaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBBcGlIZWxwZXIgfSBmcm9tIFwiLi9wdWJsaWMtYXBpXCI7XHJcblxyXG5jb25zdCBTQ0hFTUVTID0gTG9jYWxpemVUb2tlbi5odHRwSGVhZGVycztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplQXBpU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPElMb2NhbGl6ZUFwaUNvbmZpZ3M+Pih7fSk7XHJcbiAgcmVhZG9ubHkgaXNSZXF1ZXN0aW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlYWRvbmx5IGlzUmVzb2x2aW5nU3RhcnR1cFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBnZXQgaXNSZXNvbHZpbmdTdGFydHVwKCkgeyByZXR1cm4gdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXBTdWJqZWN0LnZhbHVlOyB9XHJcblxyXG4gIGdldCBuZWVkVGVuYW50KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcubmVlZFRlbmFudDsgfVxyXG5cclxuICBnZXQgaXNSZXF1ZXN0aW5nKCkgeyByZXR1cm4gdGhpcy5pc1JlcXVlc3RpbmdTdWJqZWN0LnZhbHVlOyB9XHJcbiAgZ2V0IGlzUmV2b2tpbmdUb2tlbigpIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuaXNSZXZva2luZ1Rva2VuOyB9XHJcbiAgc2V0IGlzUmV2b2tpbmdUb2tlbih2YWx1ZTogYm9vbGVhbikgeyB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmlzUmV2b2tpbmdUb2tlbiA9IHZhbHVlOyB9XHJcblxyXG4gIGdldCBhY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5hY2Nlc3NUb2tlbjsgfVxyXG4gIHNldCBhY2Nlc3NUb2tlbih2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7IHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuYWNjZXNzVG9rZW4gPSB2YWx1ZTsgfVxyXG5cclxuICBnZXQgcmVmcmVzaFRva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLnJlZnJlc2hUb2tlbjsgfVxyXG4gIGdldCB0ZW5hbnRUb2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS50ZW5hbnRUb2tlbih0aGlzLmNvbmZpZy50ZW5hbnRUb2tlbk5hbWUpOyB9XHJcblxyXG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogUGFydGlhbDxJTG9jYWxpemVBcGlDb25maWdzPiA9IHtcclxuICAgIHdhaXRFYWNoUmVxdWVzdDogeyBtaWxsaXNlY29uZHM6IDAgfSxcclxuICAgIGVuYWJsZVJlcXVlc3RDYW5jZWxsYXRpb246IHRydWUsXHJcblxyXG4gICAgcmV0cnlPcHRpb25zOiB7XHJcbiAgICAgIG1heFJldHJpZXM6IDEwMDAsXHJcbiAgICAgIGRlbGF5OiAxMDAwLFxyXG4gICAgICByZXRyeUZ1bmN0aW9uOiBBcGlIZWxwZXIuZGVmYXVsdFJldHJ5RnVuY3Rpb24uYmluZCh0aGlzKSxcclxuICAgIH0sXHJcblxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZ2V0IGNvbmZpZygpOiBQYXJ0aWFsPElMb2NhbGl6ZUFwaUNvbmZpZ3M+IHtcclxuICAgIHRoaXMudmFsaWRhdGVDb25maWcoKTtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QudmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwaU9wdGlvbnM6IFBhcnRpYWw8SUFwaU9wdGlvbnM+ID0ge1xyXG4gICAgbWV0aG9kOiBFTWV0aG9kLkdFVCxcclxuICAgIHJlcXVlc3RCb2R5OiBudWxsLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXplVG9rZW5TZXJ2aWNlOiBMb2NhbGl6ZVRva2VuU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIEFQSSBzZXJ2aWNlLlxyXG4gICAqIEBwYXJhbSBhcGlDb25maWdzIC0gVGhlIEFQSSBjb25maWd1cmF0aW9ucy5cclxuICAgKi9cclxuICBpbml0KGFwaUNvbmZpZ3M6IElMb2NhbGl6ZUFwaUNvbmZpZ3MpIHtcclxuICAgIGNvbnNvbGUubG9nKCdMb2NhbGl6ZUFwaVNlcnZpY2UgaXMgaW5pdGlhbGl6ZWQuJyk7XHJcbiAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uYXBpQ29uZmlncyB9KTtcclxuICB9XHJcblxyXG4gIGNhbmNlbFBlbmRpbmdSZXF1ZXN0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnLmVuYWJsZVJlcXVlc3RDYW5jZWxsYXRpb25cclxuICAgICAgJiYgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgLy8gdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXBTdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICAvLyB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QuY29tcGxldGUoKTtcclxuICAgIC8vIHRoaXMuY29uZmlnU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQSBoaWdoZXItb3JkZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY3VycmllZCBmdW5jdGlvbiBmb3IgbWFraW5nIEFQSSByZXF1ZXN0cy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBiYXNlVXJsIC0gVGhlIGJhc2UgVVJMIG9mIHRoZSBBUEkuXHJcbiAgICogQHJldHVybnMgQSBjdXJyaWVkIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBBUEkgcmVxdWVzdHMuXHJcbiAgICovXHJcbiAgZnVuYyA9IChiYXNlVXJsOiBzdHJpbmcpID0+XHJcbiAgICA8VCA9IGFueT4ocGF0aDogc3RyaW5nLCBtZXRob2Q6IEVNZXRob2QgPSBFTWV0aG9kLkdFVCwgcmVxQm9keTogYW55ID0gbnVsbCwgcmVxSGVhZGVycz86IElIZWFkZXIpID0+XHJcbiAgICAgIHRoaXMucmVxdWVzdDxUPihiYXNlVXJsLCBwYXRoLCBtZXRob2QsIHJlcUJvZHksIHJlcUhlYWRlcnMpXHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXF1ZXN0PFQgPSBhbnk+KGJhc2VVcmw6IHN0cmluZyxcclxuICAgIHBhdGg6IHN0cmluZyxcclxuICAgIG1ldGhvZDogRU1ldGhvZCA9IEVNZXRob2QuR0VULFxyXG4gICAgcmVxQm9keTogYW55ID0gbnVsbCxcclxuICAgIHJlcUhlYWRlcnM/OiBJSGVhZGVyKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmVzb2x2aW5nU3RhcnR1cCwgNTAwKTtcclxuXHJcbiAgICBhd2FpdCBBcGlIZWxwZXIuaW52b2tlSG9vayh0aGlzLmNvbmZpZy5vblByZXBhcmVSZXF1ZXN0KTtcclxuXHJcbiAgICBjb25zdCBhcGlPcHRpb25zID0gdGhpcy5idWlsZEFwaU9wdGlvbnMoYmFzZVVybCwgcGF0aCwgbWV0aG9kLCByZXFCb2R5LCByZXFIZWFkZXJzKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLnRvV2FpdEZvclByZXZpb3VzUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmV0dXJuIGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmVxdWVzdFdpdGhSZXRyeTxUPihcclxuICAgICAgICBhcGlPcHRpb25zLFxyXG4gICAgICAgIHRoaXMuY29uZmlnLFxyXG4gICAgICAgIHRoaXMucGVyZm9ybVJlcXVlc3QuYmluZCh0aGlzKVxyXG4gICAgICApO1xyXG5cclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZU9uUmVxdWVzdEVycm9yKGVycm9yLCBhcGlPcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlT25SZXF1ZXN0RXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBvcHRpb25zOiBJQXBpT3B0aW9ucyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBpZiAoZXJyb3Iuc3RhdHVzICE9PSA0MDEpXHJcbiAgICAgIHRocm93IGVycm9yO1xyXG5cclxuICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jlc29sdmluZ1N0YXJ0dXAsIDUwMCk7XHJcblxyXG4gICAgcmV0dXJuIGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmV0cnkoe1xyXG4gICAgICBtYXhSZXRyaWVzOiAoKSA9PiAxMDAwLFxyXG4gICAgICBkZWxheTogNTAwLFxyXG4gICAgICByZXRyeVVubGVzczogKGVycm9yKSA9PiBlcnJvci5zdGF0dXMgPT09IDQwMSB8fCBBcGlIZWxwZXIuaXNDb25uZWN0aW9uRXJyb3IoZXJyb3IpLFxyXG4gICAgICBjYWxsYmFjazogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIC8vIE9ubHkgaGFuZGxlIDQwMSBVbmF1dGhvcml6ZWQgZXJyb3JzXHJcbiAgICAgICAgYXdhaXQgdGhpcy5yZXZva2VUb2tlbigpO1xyXG5cclxuICAgICAgICAvLyBSZXRyeSB0aGUgcmVxdWVzdCB3aXRoIHRoZSBuZXcgYWNjZXNzIHRva2VuXHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucGVyZm9ybVJlcXVlc3Qob3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtUmVxdWVzdDxUID0gYW55PihvcHRpb25zOiBJQXBpT3B0aW9ucyk6IFByb21pc2U8VD4ge1xyXG5cclxuICAgIC8vIEJ1aWxkIHRoZSByZXF1ZXN0IG9wdGlvbnNcclxuICAgIGNvbnN0IGJ1aWxkT3B0aW9ucyA9IHsgaGVhZGVyczogdGhpcy5idWlsZEhlYWRlck9wdGlvbnMob3B0aW9ucykgfTtcclxuXHJcbiAgICAvLyBDcmVhdGUgdGhlIHJlcXVlc3Qgb2JzZXJ2YWJsZVxyXG4gICAgY29uc3QgcmVxdWVzdCQgPSBBcGlIZWxwZXIuY3JlYXRlUmVxdWVzdDxUPih7XHJcbiAgICAgIGNsaWVudDogdGhpcy5odHRwQ2xpZW50LFxyXG4gICAgICBkZXN0cm95JDogKCkgPT4gdGhpcy5kZXN0cm95JFxyXG4gICAgfSwgb3B0aW9ucy5tZXRob2QsIG9wdGlvbnMucmVxdWVzdFVybCwgb3B0aW9ucy5yZXF1ZXN0Qm9keSwgYnVpbGRPcHRpb25zKTtcclxuXHJcbiAgICAvLyBTZXQgdGhlIGlzUmVxdWVzdGluZyBzdGF0ZSB0byB0cnVlIGJlZm9yZSBtYWtpbmcgdGhlIHJlcXVlc3RcclxuICAgIHRoaXMuaXNSZXF1ZXN0aW5nU3ViamVjdC5uZXh0KHRydWUpO1xyXG5cclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PlxyXG4gICAgICByZXF1ZXN0JC5zdWJzY3JpYmUoeyBuZXh0OiAocmVzKSA9PiByZXNvbHZlKHJlcy5ib2R5KSwgZXJyb3I6IHJlamVjdCB9KSk7XHJcblxyXG4gICAgLy8gUmVzZXQgdGhlIGlzUmVxdWVzdGluZyBzdGF0ZSBhZnRlciB0aGUgcmVxdWVzdCBjb21wbGV0ZXNcclxuICAgIHRoaXMuaXNSZXF1ZXN0aW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJldm9rZVRva2VuKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChhd2FpdCB0aGlzLmludGVyY2VwdFJldm9rZVRva2VuKCkpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5pc1Jldm9raW5nVG9rZW4gPSB0cnVlO1xyXG5cclxuICAgICAgY29uc3QgYXBpT3B0aW9uczogSUFwaU9wdGlvbnMgPSB7XHJcbiAgICAgICAgLi4udGhpcy5idWlsZEFwaU9wdGlvbnModGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcucmV2b2tlVG9rZW5VcmwpLFxyXG4gICAgICAgIHJlZnJlc2hUb2tlbjogdHJ1ZSxcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gY29uc3QgcmV2b2tlVG9rZW4gPSBhd2FpdCB0aGlzLnBlcmZvcm1SZXF1ZXN0KGFwaU9wdGlvbnMpO1xyXG4gICAgICBjb25zdCByZXZva2VUb2tlbiA9IGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmVxdWVzdFdpdGhSZXRyeShcclxuICAgICAgICBhcGlPcHRpb25zLFxyXG4gICAgICAgIHRoaXMuY29uZmlnLFxyXG4gICAgICAgIHRoaXMucGVyZm9ybVJlcXVlc3QuYmluZCh0aGlzKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVPblRva2VuUmV2b2tlZChyZXZva2VUb2tlbik7XHJcblxyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAvLyBIYW5kbGUgdGhlIGVycm9yLCBsb2cgaXRcclxuICAgICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25BdXRvTG9nb3V0KTtcclxuXHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICAvLyBSZXNldCB0aGUgcmV2b2tpbmcgdG9rZW4gc3RhdGVcclxuICAgICAgdGhpcy5pc1Jldm9raW5nVG9rZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBkZWZhdWx0IGh0dHAgcmVxdWVzdCBvcHRpb25zICovXHJcbiAgcHJpdmF0ZSBidWlsZEhlYWRlck9wdGlvbnMob3B0aW9uczogSUFwaU9wdGlvbnMpOiBIdHRwSGVhZGVycyB7XHJcblxyXG4gICAgY29uc3QgaGVhZGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAgICAgLi4uKG9wdGlvbnMucmVmcmVzaFRva2VuICYmIHsgW1NDSEVNRVMuWF9SRUZSRVNIX1RPS0VOXTogYCR7dGhpcy5yZWZyZXNoVG9rZW59YCB9KSxcclxuICAgICAgLi4uKCFvcHRpb25zLmlzRm9ybURhdGEgJiYgeyBbU0NIRU1FUy5DT05URU5UX1RZUEVdOiAnYXBwbGljYXRpb24vanNvbicgfSksXHJcbiAgICAgICAgW1NDSEVNRVMuQVVUSE9SSVpBVElPTl06IGBCZWFyZXIgJHt0aGlzLmFjY2Vzc1Rva2VufWAsXHJcbiAgICAgICAgLi4uKHRoaXMubmVlZFRlbmFudCAmJiB7IFtTQ0hFTUVTLlhfVEVOQU5UXTogYCR7dGhpcy50ZW5hbnRUb2tlbn1gIH0pXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoeyAuLi5oZWFkZXJzLCAuLi5vcHRpb25zLmhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQXBpT3B0aW9ucyhcclxuICAgIGJhc2VVcmw6IHN0cmluZyxcclxuICAgIHBhdGg6IHN0cmluZyA9ICcnLFxyXG4gICAgbWV0aG9kOiBFTWV0aG9kID0gRU1ldGhvZC5HRVQsXHJcbiAgICByZXF1ZXN0Qm9keTogYW55ID0gbnVsbCxcclxuICAgIGhlYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XHJcbiAgKTogSUFwaU9wdGlvbnMge1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3RVcmwgPSBBcGlIZWxwZXIuYnVpbGRVcmwoYmFzZVVybCwgcGF0aCk7XHJcbiAgICBjb25zdCBpc0Zvcm1EYXRhID0gcmVxdWVzdEJvZHkgJiYgcmVxdWVzdEJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnRoaXMuYXBpT3B0aW9ucyxcclxuICAgICAgLi4ueyBoZWFkZXJzLCBtZXRob2QsIHJlcXVlc3RVcmwsIHJlcXVlc3RCb2R5LCBpc0Zvcm1EYXRhIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyB0b1dhaXRGb3JQcmV2aW91c1JlcXVlc3QoKSB7XHJcbiAgICB0aGlzLmlzUmV2b2tpbmdUb2tlbiAmJlxyXG4gICAgICAoYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmV2b2tpbmdUb2tlbikpO1xyXG5cclxuICAgIC8vIHRvIHdhaXQgZm9yIGVhY2ggcmVxdWVzdCBpbiA1MG1zLCBldmVuIGlmIHRoZSByZXF1ZXN0IGlzIG5vdCBjb21wbGV0ZWRcclxuICAgIHRoaXMuY29uZmlnLndhaXRFYWNoUmVxdWVzdD8ubWlsbGlzZWNvbmRzICYmXHJcbiAgICAgIChhd2FpdCB3YWl0Rm9yKHRoaXMuY29uZmlnLndhaXRFYWNoUmVxdWVzdC5taWxsaXNlY29uZHMsIHRoaXMuaXNSZXF1ZXN0aW5nKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVPblRva2VuUmV2b2tlZChyZXNwb25zZTogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGlzIHN1Y2Nlc3NmdWwsIHVwZGF0ZSB0aGUgYWNjZXNzIHRva2VuXHJcbiAgICAgIHRoaXMuYWNjZXNzVG9rZW4gPSByZXNwb25zZS5tZXNzYWdlO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIElmIHRoZSByZXNwb25zZSBpbmRpY2F0ZXMgYW4gZXJyb3IsIGludm9rZSB0aGUgb25SZXZva2VVbmF1dGhvcml6ZWQgaG9va1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1Rva2VuIHJldm9jYXRpb24gZmFpbGVkLCByZWZyZXNoIHRva2VuIGlzIGV4cGlyZWQuJywgcmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIGF3YWl0IEFwaUhlbHBlci5pbnZva2VIb29rKHRoaXMuY29uZmlnLm9uUmV2b2tlVW5hdXRob3JpemVkKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGludGVyY2VwdFJldm9rZVRva2VuKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmlzUmV2b2tpbmdUb2tlbikge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1Rva2VuIGlzIGFscmVhZHkgYmVpbmcgcmV2b2tlZC4gV2FpdGluZyBmb3IgdGhlIGN1cnJlbnQgb3BlcmF0aW9uIHRvIGNvbXBsZXRlLi4uJyk7XHJcbiAgICAgIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiAhdGhpcy5pc1Jldm9raW5nVG9rZW4pO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMucmVmcmVzaFRva2VuKSB7XHJcbiAgICAgIC8vIGF3YWl0IEFwaUhlbHBlci5pbnZva2VIb29rKHRoaXMuYXBpQ29uZmlncy5vbkF1dG9Mb2dvdXQpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlZnJlc2ggdG9rZW4gaXMgbWlzc2luZy4gUGxlYXNlIGxvZ2luIGFnYWluLicpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVDb25maWcoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ1N1YmplY3QudmFsdWUgYXMgSUxvY2FsaXplQXBpQ29uZmlncztcclxuICAgIGlmICh0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5uZWVkVGVuYW50ICYmICFjb25maWcudGVuYW50VG9rZW5OYW1lPy50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdUZW5hbnQgdG9rZW4gaXMgcmVxdWlyZWQgYnV0IHRlbmFudFRva2VuTmFtZSBpcyBub3QgY29uZmlndXJlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcucmV2b2tlVG9rZW5VcmwudHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignUmV2b2tlIHRva2VuIFVSTCBpcyBub3QgY29uZmlndXJlZCAtIHRva2VuIHJlZnJlc2ggd2lsbCBub3Qgd29yaycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBcUIsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQyxPQUFPLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7QUFLMUMsTUFBTSxPQUFPLGtCQUFrQjtJQXlDN0IsWUFBcUIsVUFBc0IsRUFDeEIsb0JBQTBDO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQXpDNUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBK0IsRUFBRSxDQUFDLENBQUM7UUFDOUUsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFlakUsa0JBQWEsR0FBaUM7WUFDcEQsZUFBZSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRTtZQUNwQyx5QkFBeUIs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Y3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuU2VydmljZSB9IGZyb20gXCIuL2xvY2FsaXplLnRva2VuLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IExvY2FsaXplVG9rZW4sIHdhaXRGb3IsIHdhaXRVbnRpbCB9IGZyb20gXCIuL2xvY2FsaXplLnRva2VuXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElMb2NhbGl6ZUFwaUNvbmZpZ3MsIElBcGlPcHRpb25zLCBFTWV0aG9kLCBJSGVhZGVyIH0gZnJvbSBcIi4vaGVscGVycy9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7IEFwaUhlbHBlciB9IGZyb20gXCIuL3B1YmxpYy1hcGlcIjtcclxuXHJcbmNvbnN0IFNDSEVNRVMgPSBMb2NhbGl6ZVRva2VuLmh0dHBIZWFkZXJzO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVBcGlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8SUxvY2FsaXplQXBpQ29uZmlncz4+KHt9KTtcclxuICByZWFkb25seSBpc1JlcXVlc3RpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVhZG9ubHkgaXNSZXNvbHZpbmdTdGFydHVwU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGdldCBpc1Jlc29sdmluZ1N0YXJ0dXAoKSB7IHJldHVybiB0aGlzLmlzUmVzb2x2aW5nU3RhcnR1cFN1YmplY3QudmFsdWU7IH1cclxuXHJcbiAgZ2V0IG5lZWRUZW5hbnQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy50ZW5hbnRUb2tlbiAhPT0gdW5kZWZpbmVkOyB9XHJcblxyXG4gIGdldCBpc1JlcXVlc3RpbmcoKSB7IHJldHVybiB0aGlzLmlzUmVxdWVzdGluZ1N1YmplY3QudmFsdWU7IH1cclxuICBnZXQgaXNSZXZva2luZ1Rva2VuKCkgeyByZXR1cm4gdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5pc1Jldm9raW5nVG9rZW47IH1cclxuICBzZXQgaXNSZXZva2luZ1Rva2VuKHZhbHVlOiBib29sZWFuKSB7IHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UuaXNSZXZva2luZ1Rva2VuID0gdmFsdWU7IH1cclxuXHJcbiAgZ2V0IGFjY2Vzc1Rva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmFjY2Vzc1Rva2VuOyB9XHJcbiAgc2V0IGFjY2Vzc1Rva2VuKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHsgdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5hY2Nlc3NUb2tlbiA9IHZhbHVlOyB9XHJcblxyXG4gIGdldCByZWZyZXNoVG9rZW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMubG9jYWxpemVUb2tlblNlcnZpY2UucmVmcmVzaFRva2VuOyB9XHJcbiAgZ2V0IHRlbmFudFRva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLnRlbmFudFRva2VuKCk7IH1cclxuXHJcbiAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPElMb2NhbGl6ZUFwaUNvbmZpZ3M+ID0ge1xyXG4gICAgd2FpdEVhY2hSZXF1ZXN0OiB7IG1pbGxpc2Vjb25kczogMCB9LFxyXG4gICAgZW5hYmxlUmVxdWVzdENhbmNlbGxhdGlvbjogdHJ1ZSxcclxuXHJcbiAgICByZXRyeU9wdGlvbnM6IHtcclxuICAgICAgbWF4UmV0cmllczogMTAwMCxcclxuICAgICAgZGVsYXk6IDEwMDAsXHJcbiAgICAgIHJldHJ5RnVuY3Rpb246IEFwaUhlbHBlci5kZWZhdWx0UmV0cnlGdW5jdGlvbi5iaW5kKHRoaXMpLFxyXG4gICAgfSxcclxuXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgY29uZmlnKCk6IFBhcnRpYWw8SUxvY2FsaXplQXBpQ29uZmlncz4ge1xyXG4gICAgdGhpcy52YWxpZGF0ZUNvbmZpZygpO1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3ViamVjdC52YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBpT3B0aW9uczogUGFydGlhbDxJQXBpT3B0aW9ucz4gPSB7XHJcbiAgICBtZXRob2Q6IEVNZXRob2QuR0VULFxyXG4gICAgcmVxdWVzdEJvZHk6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxpemVUb2tlblNlcnZpY2U6IExvY2FsaXplVG9rZW5TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGUgQVBJIHNlcnZpY2UuXHJcbiAgICogQHBhcmFtIGFwaUNvbmZpZ3MgLSBUaGUgQVBJIGNvbmZpZ3VyYXRpb25zLlxyXG4gICAqL1xyXG4gIGluaXQoYXBpQ29uZmlnczogSUxvY2FsaXplQXBpQ29uZmlncykge1xyXG4gICAgY29uc29sZS5sb2coJ0xvY2FsaXplQXBpU2VydmljZSBpcyBpbml0aWFsaXplZC4nKTtcclxuICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5hcGlDb25maWdzIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsUGVuZGluZ1JlcXVlc3RzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWcuZW5hYmxlUmVxdWVzdENhbmNlbGxhdGlvblxyXG4gICAgICAmJiB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICAvLyB0aGlzLmlzUmVzb2x2aW5nU3RhcnR1cFN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIC8vIHRoaXMuaXNSZXF1ZXN0aW5nU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgLy8gdGhpcy5jb25maWdTdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBIGhpZ2hlci1vcmRlciBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjdXJyaWVkIGZ1bmN0aW9uIGZvciBtYWtpbmcgQVBJIHJlcXVlc3RzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGJhc2VVcmwgLSBUaGUgYmFzZSBVUkwgb2YgdGhlIEFQSS5cclxuICAgKiBAcmV0dXJucyBBIGN1cnJpZWQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB0byBtYWtlIEFQSSByZXF1ZXN0cy5cclxuICAgKi9cclxuICBmdW5jID0gKGJhc2VVcmw6IHN0cmluZykgPT5cclxuICAgIDxUID0gYW55PihwYXRoOiBzdHJpbmcsIG1ldGhvZDogRU1ldGhvZCA9IEVNZXRob2QuR0VULCByZXFCb2R5OiBhbnkgPSBudWxsLCByZXFIZWFkZXJzPzogSUhlYWRlcikgPT5cclxuICAgICAgdGhpcy5yZXF1ZXN0PFQ+KGJhc2VVcmwsIHBhdGgsIG1ldGhvZCwgcmVxQm9keSwgcmVxSGVhZGVycylcclxuXHJcbiAgcHVibGljIGFzeW5jIHJlcXVlc3Q8VCA9IGFueT4oYmFzZVVybDogc3RyaW5nLFxyXG4gICAgcGF0aDogc3RyaW5nLFxyXG4gICAgbWV0aG9kOiBFTWV0aG9kID0gRU1ldGhvZC5HRVQsXHJcbiAgICByZXFCb2R5OiBhbnkgPSBudWxsLFxyXG4gICAgcmVxSGVhZGVycz86IElIZWFkZXIpOiBQcm9taXNlPFQ+IHtcclxuXHJcbiAgICBhd2FpdCB3YWl0VW50aWwoKCkgPT4gIXRoaXMuaXNSZXNvbHZpbmdTdGFydHVwLCA1MDApO1xyXG5cclxuICAgIGF3YWl0IEFwaUhlbHBlci5pbnZva2VIb29rKHRoaXMuY29uZmlnLm9uUHJlcGFyZVJlcXVlc3QpO1xyXG5cclxuICAgIGNvbnN0IGFwaU9wdGlvbnMgPSB0aGlzLmJ1aWxkQXBpT3B0aW9ucyhiYXNlVXJsLCBwYXRoLCBtZXRob2QsIHJlcUJvZHksIHJlcUhlYWRlcnMpO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMudG9XYWl0Rm9yUHJldmlvdXNSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXR1cm4gYXdhaXQgQXBpSGVscGVyLnBlcmZvcm1SZXF1ZXN0V2l0aFJldHJ5PFQ+KFxyXG4gICAgICAgIGFwaU9wdGlvbnMsXHJcbiAgICAgICAgdGhpcy5jb25maWcsXHJcbiAgICAgICAgdGhpcy5wZXJmb3JtUmVxdWVzdC5iaW5kKHRoaXMpXHJcbiAgICAgICk7XHJcblxyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlT25SZXF1ZXN0RXJyb3IoZXJyb3IsIGFwaU9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVPblJlcXVlc3RFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIG9wdGlvbnM6IElBcGlPcHRpb25zKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmIChlcnJvci5zdGF0dXMgIT09IDQwMSlcclxuICAgICAgdGhyb3cgZXJyb3I7XHJcblxyXG4gICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmVzb2x2aW5nU3RhcnR1cCwgNTAwKTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgQXBpSGVscGVyLnBlcmZvcm1SZXRyeSh7XHJcbiAgICAgIG1heFJldHJpZXM6ICgpID0+IDEwMDAsXHJcbiAgICAgIGRlbGF5OiA1MDAsXHJcbiAgICAgIHJldHJ5VW5sZXNzOiAoZXJyb3IpID0+IGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IEFwaUhlbHBlci5pc0Nvbm5lY3Rpb25FcnJvcihlcnJvciksXHJcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgLy8gT25seSBoYW5kbGUgNDAxIFVuYXV0aG9yaXplZCBlcnJvcnNcclxuICAgICAgICBhd2FpdCB0aGlzLnJldm9rZVRva2VuKCk7XHJcblxyXG4gICAgICAgIC8vIFJldHJ5IHRoZSByZXF1ZXN0IHdpdGggdGhlIG5ldyBhY2Nlc3MgdG9rZW5cclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJmb3JtUmVxdWVzdChvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHBlcmZvcm1SZXF1ZXN0PFQgPSBhbnk+KG9wdGlvbnM6IElBcGlPcHRpb25zKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgLy8gQnVpbGQgdGhlIHJlcXVlc3Qgb3B0aW9uc1xyXG4gICAgY29uc3QgYnVpbGRPcHRpb25zID0geyBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVyT3B0aW9ucyhvcHRpb25zKSB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSB0aGUgcmVxdWVzdCBvYnNlcnZhYmxlXHJcbiAgICBjb25zdCByZXF1ZXN0JCA9IEFwaUhlbHBlci5jcmVhdGVSZXF1ZXN0PFQ+KHtcclxuICAgICAgY2xpZW50OiB0aGlzLmh0dHBDbGllbnQsXHJcbiAgICAgIGRlc3Ryb3kkOiAoKSA9PiB0aGlzLmRlc3Ryb3kkXHJcbiAgICB9LCBvcHRpb25zLm1ldGhvZCwgb3B0aW9ucy5yZXF1ZXN0VXJsLCBvcHRpb25zLnJlcXVlc3RCb2R5LCBidWlsZE9wdGlvbnMpO1xyXG5cclxuICAgIC8vIFNldCB0aGUgaXNSZXF1ZXN0aW5nIHN0YXRlIHRvIHRydWUgYmVmb3JlIG1ha2luZyB0aGUgcmVxdWVzdFxyXG4gICAgdGhpcy5pc1JlcXVlc3RpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcblxyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+XHJcbiAgICAgIHJlcXVlc3QkLnN1YnNjcmliZSh7IG5leHQ6IChyZXMpID0+IHJlc29sdmUocmVzLmJvZHkpLCBlcnJvcjogcmVqZWN0IH0pKTtcclxuXHJcbiAgICAvLyBSZXNldCB0aGUgaXNSZXF1ZXN0aW5nIHN0YXRlIGFmdGVyIHRoZSByZXF1ZXN0IGNvbXBsZXRlc1xyXG4gICAgdGhpcy5pc1JlcXVlc3RpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcmV2b2tlVG9rZW4oKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGF3YWl0IHRoaXMuaW50ZXJjZXB0UmV2b2tlVG9rZW4oKSlcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICB0aGlzLmlzUmV2b2tpbmdUb2tlbiA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCBhcGlPcHRpb25zOiBJQXBpT3B0aW9ucyA9IHtcclxuICAgICAgICAuLi50aGlzLmJ1aWxkQXBpT3B0aW9ucyh0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5yZWZyZXNoVG9rZW4/LnJlcXVlc3RVcmwgfHwgJycpLFxyXG4gICAgICAgIHJlZnJlc2hUb2tlbjogdHJ1ZSxcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gY29uc3QgcmV2b2tlVG9rZW4gPSBhd2FpdCB0aGlzLnBlcmZvcm1SZXF1ZXN0KGFwaU9wdGlvbnMpO1xyXG4gICAgICBjb25zdCByZXZva2VUb2tlbiA9IGF3YWl0IEFwaUhlbHBlci5wZXJmb3JtUmVxdWVzdFdpdGhSZXRyeShcclxuICAgICAgICBhcGlPcHRpb25zLFxyXG4gICAgICAgIHRoaXMuY29uZmlnLFxyXG4gICAgICAgIHRoaXMucGVyZm9ybVJlcXVlc3QuYmluZCh0aGlzKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVPblRva2VuUmV2b2tlZChyZXZva2VUb2tlbik7XHJcblxyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAvLyBIYW5kbGUgdGhlIGVycm9yLCBsb2cgaXRcclxuICAgICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25BdXRvTG9nb3V0KTtcclxuXHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICAvLyBSZXNldCB0aGUgcmV2b2tpbmcgdG9rZW4gc3RhdGVcclxuICAgICAgdGhpcy5pc1Jldm9raW5nVG9rZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBkZWZhdWx0IGh0dHAgcmVxdWVzdCBvcHRpb25zICovXHJcbiAgcHJpdmF0ZSBidWlsZEhlYWRlck9wdGlvbnMob3B0aW9uczogSUFwaU9wdGlvbnMpOiBIdHRwSGVhZGVycyB7XHJcblxyXG4gICAgY29uc3QgaGVhZGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAgICAgLi4uKG9wdGlvbnMucmVmcmVzaFRva2VuICYmIHsgW1NDSEVNRVMuWF9SRUZSRVNIX1RPS0VOXTogYCR7dGhpcy5yZWZyZXNoVG9rZW59YCB9KSxcclxuICAgICAgLi4uKCFvcHRpb25zLmlzRm9ybURhdGEgJiYgeyBbU0NIRU1FUy5DT05URU5UX1RZUEVdOiAnYXBwbGljYXRpb24vanNvbicgfSksXHJcbiAgICAgIFtTQ0hFTUVTLkFVVEhPUklaQVRJT05dOiBgQmVhcmVyICR7dGhpcy5hY2Nlc3NUb2tlbn1gLFxyXG4gICAgICAuLi4odGhpcy5uZWVkVGVuYW50ICYmIHsgW1NDSEVNRVMuWF9URU5BTlRdOiBgJHt0aGlzLnRlbmFudFRva2VufWAgfSlcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7IC4uLmhlYWRlcnMsIC4uLm9wdGlvbnMuaGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBcGlPcHRpb25zKFxyXG4gICAgYmFzZVVybDogc3RyaW5nLFxyXG4gICAgcGF0aDogc3RyaW5nID0gJycsXHJcbiAgICBtZXRob2Q6IEVNZXRob2QgPSBFTWV0aG9kLkdFVCxcclxuICAgIHJlcXVlc3RCb2R5OiBhbnkgPSBudWxsLFxyXG4gICAgaGVhZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cclxuICApOiBJQXBpT3B0aW9ucyB7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdFVybCA9IEFwaUhlbHBlci5idWlsZFVybChiYXNlVXJsLCBwYXRoKTtcclxuICAgIGNvbnN0IGlzRm9ybURhdGEgPSByZXF1ZXN0Qm9keSAmJiByZXF1ZXN0Qm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udGhpcy5hcGlPcHRpb25zLFxyXG4gICAgICAuLi57IGhlYWRlcnMsIG1ldGhvZCwgcmVxdWVzdFVybCwgcmVxdWVzdEJvZHksIGlzRm9ybURhdGEgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGFzeW5jIHRvV2FpdEZvclByZXZpb3VzUmVxdWVzdCgpIHtcclxuICAgIHRoaXMuaXNSZXZva2luZ1Rva2VuICYmXHJcbiAgICAgIChhd2FpdCB3YWl0VW50aWwoKCkgPT4gIXRoaXMuaXNSZXZva2luZ1Rva2VuKSk7XHJcblxyXG4gICAgLy8gdG8gd2FpdCBmb3IgZWFjaCByZXF1ZXN0IGluIDUwbXMsIGV2ZW4gaWYgdGhlIHJlcXVlc3QgaXMgbm90IGNvbXBsZXRlZFxyXG4gICAgdGhpcy5jb25maWcud2FpdEVhY2hSZXF1ZXN0Py5taWxsaXNlY29uZHMgJiZcclxuICAgICAgKGF3YWl0IHdhaXRGb3IodGhpcy5jb25maWcud2FpdEVhY2hSZXF1ZXN0Lm1pbGxpc2Vjb25kcywgdGhpcy5pc1JlcXVlc3RpbmcpKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uVG9rZW5SZXZva2VkKHJlc3BvbnNlOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaXMgc3VjY2Vzc2Z1bCwgdXBkYXRlIHRoZSBhY2Nlc3MgdG9rZW5cclxuICAgICAgdGhpcy5hY2Nlc3NUb2tlbiA9IHJlc3BvbnNlLm1lc3NhZ2U7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGluZGljYXRlcyBhbiBlcnJvciwgaW52b2tlIHRoZSBvblJldm9rZVVuYXV0aG9yaXplZCBob29rXHJcbiAgICAgIGNvbnNvbGUud2FybignVG9rZW4gcmV2b2NhdGlvbiBmYWlsZWQsIHJlZnJlc2ggdG9rZW4gaXMgZXhwaXJlZC4nLCByZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5jb25maWcub25SZXZva2VVbmF1dGhvcml6ZWQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaW50ZXJjZXB0UmV2b2tlVG9rZW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNSZXZva2luZ1Rva2VuKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignVG9rZW4gaXMgYWxyZWFkeSBiZWluZyByZXZva2VkLiBXYWl0aW5nIGZvciB0aGUgY3VycmVudCBvcGVyYXRpb24gdG8gY29tcGxldGUuLi4nKTtcclxuICAgICAgYXdhaXQgd2FpdFVudGlsKCgpID0+ICF0aGlzLmlzUmV2b2tpbmdUb2tlbik7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5yZWZyZXNoVG9rZW4pIHtcclxuICAgICAgLy8gYXdhaXQgQXBpSGVscGVyLmludm9rZUhvb2sodGhpcy5hcGlDb25maWdzLm9uQXV0b0xvZ291dCk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVmcmVzaCB0b2tlbiBpcyBtaXNzaW5nLiBQbGVhc2UgbG9naW4gYWdhaW4uJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUNvbmZpZygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy50ZW5hbnRUb2tlblxyXG4gICAgICAmJiAhdGhpcy5sb2NhbGl6ZVRva2VuU2VydmljZS5jb25maWcudGVuYW50VG9rZW4/Lm5hbWU/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1RlbmFudCB0b2tlbiBpcyByZXF1aXJlZCBidXQgdGVuYW50VG9rZW5OYW1lIGlzIG5vdCBjb25maWd1cmVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmxvY2FsaXplVG9rZW5TZXJ2aWNlLmNvbmZpZy5yZWZyZXNoVG9rZW4/LnJlcXVlc3RVcmw/LnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1Jldm9rZSB0b2tlbiBVUkwgaXMgbm90IGNvbmZpZ3VyZWQgLSB0b2tlbiByZWZyZXNoIHdpbGwgbm90IHdvcmsnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -46,4 +46,4 @@ export function extractMainDomain(subdomain) {
|
|
|
46
46
|
const parts = subdomain.split('.');
|
|
47
47
|
return parts.length > 2 ? parts.slice(-2).join('.') : subdomain;
|
|
48
48
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxpemUtdG9rZW4vbG9jYWxpemUudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBcUJoRSxNQUFNLE9BQU8sYUFBYTs7QUFFUixxQkFBTyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztBQUVyQyx5QkFBVyxHQUFHO0lBQzVCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLGVBQWUsRUFBRSxnQkFBZ0I7SUFDakMsWUFBWSxFQUFFLGNBQWM7Q0FDN0IsQ0FBQTtBQUlIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFnQixPQUFPLENBQUMsWUFBb0IsRUFBRSxPQUFnQixJQUFJOztRQUN0RSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQUE7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFnQixTQUFTLENBQUMsSUFBZSxFQUFFLGlCQUF5QixFQUFFOztRQUMxRSxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFTLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMzRCxJQUFJLE1BQU0sRUFBRTtvQkFDVixhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZjtZQUNILENBQUMsQ0FBQSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUFBO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQWtCO0lBQ2xELFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxJQUFULFNBQVMsR0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBQztJQUN2QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxpemVUb2tlblN0b3JhZ2UgfSBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlbi5zdG9yYWdlXCI7XHJcblxyXG5pbnRlcmZhY2UgSUxvY2FsaXplVG9rZW5Ub2tlbnMge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICByZXF1ZXN0VXJsPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbGl6ZVRva2VuQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBUaGUgbWFpbiBkb21haW4gb2YgdGhlIGFwcGxpY2F0aW9uIHRvIHNldCB0aGUgY29va2llcyB0byBiZSBhdmFpbGFibGUgZm9yIGNyb3NzIGFwcGxpY2F0aW9uIHdpdGggc3ViZG9tYWlucy5cclxuICAgKiBcclxuICAgKiBEZWZhdWx0IGlzIGxvY2F0aW9uLmhvc3RuYW1lIChjdXJyZW50IGRvbWFpbikgYW5kIGF1dG9tYXRpY2FsbHkgc2V0IGV4dHJhY3RlZCBtYWluIGRvbWFpbiBpZiBpdCBpcyBzdWJkb21haW4uXHJcbiAgICovXHJcbiAgbWFpbkRvbWFpbj86IHN0cmluZztcclxuICBcclxuICBpc1Byb2R1Y3Rpb246IGJvb2xlYW47XHJcbiAgYXV0aFRva2VuPzogSUxvY2FsaXplVG9rZW5Ub2tlbnM7XHJcbiAgcmVmcmVzaFRva2VuPzogSUxvY2FsaXplVG9rZW5Ub2tlbnM7XHJcbiAgdGVuYW50VG9rZW4/OiBJTG9jYWxpemVUb2tlblRva2VucztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvY2FsaXplVG9rZW4ge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgc3RvcmFnZSA9IG5ldyBMb2NhbGl6ZVRva2VuU3RvcmFnZSgpO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgaHR0cEhlYWRlcnMgPSB7XHJcbiAgICBBVVRIT1JJWkFUSU9OOiAnQXV0aG9yaXphdGlvbicsXHJcbiAgICBYX1RFTkFOVDogJ1gtVGVuYW50JyxcclxuICAgIFhfUkVGUkVTSF9UT0tFTjogJ1gtUmVmcmVzaFRva2VuJyxcclxuICAgIENPTlRFTlRfVFlQRTogJ0NvbnRlbnQtVHlwZScsXHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBXYWl0cyBmb3IgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUuXHJcbiAqIEBwYXJhbSBtaWxsaXNlY29uZHMgIC0gVGhlIG1pbGxpc2Vjb25kcyB0byB3YWl0LlxyXG4gKiBAcGFyYW0gd2hlbiAgLSBUaGUgY29uZGl0aW9uIHRvIHdhaXQgZm9yLiBEZWZhdWx0IGlzIHRydWUuXHJcbiAqIEByZXR1cm5zICAtIFByb21pc2U8dm9pZD5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yKG1pbGxpc2Vjb25kczogbnVtYmVyLCB3aGVuOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gIGlmICghd2hlbikgcmV0dXJuO1xyXG4gIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtaWxsaXNlY29uZHMpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqICBXYWl0cyB1bnRpbCB0aGUgY29uZGl0aW9uIGlzIG1ldC5cclxuICogQHBhcmFtIHdoZW4gIC0gVGhlIGNvbmRpdGlvbiB0byB3YWl0IGZvci5cclxuICogQHBhcmFtIGludGVydmFsTnVtYmVyICAtIFRoZSBpbnRlcnZhbCBudW1iZXIgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIHRoZSBjb25kaXRpb24uIERlZmF1bHQgaXMgNTAuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdFVudGlsKHdoZW46ICgpID0+IGFueSwgaW50ZXJ2YWxOdW1iZXI6IG51bWJlciA9IDUwKSB7XHJcbiAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgY29uZCA9IHdoZW4oKTtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gY29uZCBpbnN0YW5jZW9mIFByb21pc2UgPyBhd2FpdCBjb25kIDogY29uZDtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xyXG4gICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0sIGludGVydmFsTnVtYmVyKTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RNYWluRG9tYWluKHN1YmRvbWFpbj86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgc3ViZG9tYWluID8/PSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7XHJcbiAgY29uc3QgcGFydHMgPSBzdWJkb21haW4uc3BsaXQoJy4nKTtcclxuICByZXR1cm4gcGFydHMubGVuZ3RoID4gMiA/IHBhcnRzLnNsaWNlKC0yKS5qb2luKCcuJykgOiBzdWJkb21haW47XHJcbn0iXX0=
|
|
@@ -9,8 +9,13 @@ export class LocalizeTokenService {
|
|
|
9
9
|
this.isRevokingTokenSubject = new BehaviorSubject(false);
|
|
10
10
|
this.defaultConfig = {
|
|
11
11
|
mainDomain: extractMainDomain(),
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
authToken: {
|
|
13
|
+
name: 'auth-token',
|
|
14
|
+
},
|
|
15
|
+
refreshToken: {
|
|
16
|
+
name: 'refresh-token',
|
|
17
|
+
requestUrl: '/api/token/revoke'
|
|
18
|
+
},
|
|
14
19
|
};
|
|
15
20
|
this.isInitialized = false;
|
|
16
21
|
this.decodeToken = (token) => jwt_decode.jwtDecode(token);
|
|
@@ -30,11 +35,12 @@ export class LocalizeTokenService {
|
|
|
30
35
|
}
|
|
31
36
|
get authToken() { return this.storageGet(); }
|
|
32
37
|
set authToken(value) {
|
|
38
|
+
var _a;
|
|
33
39
|
value
|
|
34
40
|
? this.storageSet(value)
|
|
35
|
-
: LocalizeToken.storage.delete(this.config.
|
|
41
|
+
: LocalizeToken.storage.delete((_a = this.config.authToken) === null || _a === void 0 ? void 0 : _a.name);
|
|
36
42
|
}
|
|
37
|
-
get refreshToken() { return LocalizeToken.storage.get(this.config.
|
|
43
|
+
get refreshToken() { var _a; return LocalizeToken.storage.get(((_a = this.config.refreshToken) === null || _a === void 0 ? void 0 : _a.name) || ''); }
|
|
38
44
|
get accessToken() { var _a; return (_a = this.authToken) === null || _a === void 0 ? void 0 : _a.token; }
|
|
39
45
|
set accessToken(value) {
|
|
40
46
|
value && (this.authToken = { token: value, revoke: false });
|
|
@@ -44,32 +50,33 @@ export class LocalizeTokenService {
|
|
|
44
50
|
this.isRevokingTokenSubject.next(value);
|
|
45
51
|
this.authToken && (this.authToken = Object.assign(Object.assign({}, this.authToken), { revoke: value }));
|
|
46
52
|
}
|
|
47
|
-
tenantToken(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return LocalizeToken.storage.get(name);
|
|
53
|
+
tenantToken() {
|
|
54
|
+
var _a;
|
|
55
|
+
return LocalizeToken.storage.get(((_a = this.config.tenantToken) === null || _a === void 0 ? void 0 : _a.name) || '');
|
|
51
56
|
}
|
|
52
57
|
storageGet() {
|
|
58
|
+
var _a;
|
|
53
59
|
try {
|
|
54
|
-
const encoded = LocalizeToken.storage.get(this.config.
|
|
60
|
+
const encoded = LocalizeToken.storage.get(((_a = this.config.authToken) === null || _a === void 0 ? void 0 : _a.name) || '');
|
|
55
61
|
const decoded = atob(encoded || '');
|
|
56
62
|
return JSON.parse(decoded);
|
|
57
63
|
}
|
|
58
|
-
catch (
|
|
64
|
+
catch (_b) {
|
|
59
65
|
return undefined;
|
|
60
66
|
}
|
|
61
67
|
}
|
|
62
68
|
storageSet(value) {
|
|
69
|
+
var _a;
|
|
63
70
|
const base64 = btoa(JSON.stringify(value));
|
|
64
|
-
LocalizeToken.storage.set(this.config.
|
|
71
|
+
LocalizeToken.storage.set(((_a = this.config.authToken) === null || _a === void 0 ? void 0 : _a.name) || '', base64);
|
|
65
72
|
}
|
|
66
|
-
tokensValid(
|
|
73
|
+
tokensValid() {
|
|
67
74
|
var _a, _b;
|
|
68
75
|
return !!((_a = this.refreshToken) === null || _a === void 0 ? void 0 : _a.length)
|
|
69
|
-
&& (!this.config.
|
|
76
|
+
&& (!this.config.tenantToken || !!((_b = this.tenantToken()) === null || _b === void 0 ? void 0 : _b.length));
|
|
70
77
|
}
|
|
71
78
|
get decodeRefreshToken() {
|
|
72
|
-
const token =
|
|
79
|
+
const token = this.refreshToken;
|
|
73
80
|
return !token ? null : this.decodeToken(token);
|
|
74
81
|
}
|
|
75
82
|
throwIfNotInitialized() {
|
|
@@ -82,4 +89,4 @@ LocalizeTokenService.ɵprov = i0.ɵɵdefineInjectable({ factory: function Locali
|
|
|
82
89
|
LocalizeTokenService.decorators = [
|
|
83
90
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
84
91
|
];
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDOztBQWlCekMsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVxQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFnQyxFQUFFLENBQUMsQ0FBQztRQUMvRSwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNyRCxrQkFBYSxHQUFrQztZQUM1RCxVQUFVLEVBQUUsaUJBQWlCLEVBQUU7WUFDL0IsU0FBUyxFQUFFO2dCQUNQLElBQUksRUFBRSxZQUFZO2FBQ3JCO1lBQ0QsWUFBWSxFQUFFO2dCQUNWLElBQUksRUFBRSxlQUFlO2dCQUNyQixVQUFVLEVBQUUsbUJBQW1CO2FBQ2xDO1NBQ0osQ0FBQTtRQU9PLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBMEQ5QixnQkFBVyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFhLEtBQUssQ0FBQyxDQUFDO0tBWTVFO0lBM0VHLElBQUksTUFBTTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUE2QixDQUFDO0lBQzVELENBQUM7SUFJRCxJQUFJLENBQUMsTUFBNEI7UUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQ3BE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QUMsV0FBVyxFQUFFLDBDQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUdELElBQUksa0JBQWtCO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4RUFBOEUsQ0FBQyxDQUFDO1NBQ25HO0lBQ0wsQ0FBQzs7OztZQXhGSixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGV4dHJhY3RNYWluRG9tYWluLCBJTG9jYWxpemVUb2tlbkNvbmZpZywgTG9jYWxpemVUb2tlbiB9IGZyb20gJy4vbG9jYWxpemUudG9rZW4nO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgand0X2RlY29kZSBmcm9tICdqd3QtZGVjb2RlJztcclxuZXhwb3J0IGludGVyZmFjZSBKd3RQYXlsb2FkIGV4dGVuZHMgand0X2RlY29kZS5Kd3RQYXlsb2FkIHtcclxuICAgIC8vIERlZmluZSB0aGUgc3RydWN0dXJlIG9mIHlvdXIgSldUIHBheWxvYWQgaGVyZVxyXG4gICAgZW1haWw6IHN0cmluZztcclxuICAgIHN1Yjogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgaWF0OiBudW1iZXI7XHJcbiAgICBleHA6IG51bWJlcjtcclxuICAgIC8vIEFkZCBvdGhlciBmaWVsZHMgYXMgbmVlZGVkXHJcbn1cclxuXHJcbmludGVyZmFjZSBJQXV0aFRva2VuIHtcclxuICAgIHRva2VuOiBzdHJpbmc7XHJcbiAgICByZXZva2U6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZVRva2VuU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8SUxvY2FsaXplVG9rZW5Db25maWc+Pih7fSk7XHJcbiAgICByZWFkb25seSBpc1Jldm9raW5nVG9rZW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8SUxvY2FsaXplVG9rZW5Db25maWc+ID0ge1xyXG4gICAgICAgIG1haW5Eb21haW46IGV4dHJhY3RNYWluRG9tYWluKCksXHJcbiAgICAgICAgYXV0aFRva2VuOiB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdhdXRoLXRva2VuJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlZnJlc2hUb2tlbjoge1xyXG4gICAgICAgICAgICBuYW1lOiAncmVmcmVzaC10b2tlbicsXHJcbiAgICAgICAgICAgIHJlcXVlc3RVcmw6ICcvYXBpL3Rva2VuL3Jldm9rZSdcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb25maWcoKTogSUxvY2FsaXplVG9rZW5Db25maWcge1xyXG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXRpYWxpemVkKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnU3ViamVjdC52YWx1ZSBhcyBJTG9jYWxpemVUb2tlbkNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgICBpbml0KGNvbmZpZzogSUxvY2FsaXplVG9rZW5Db25maWcpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnTG9jYWxpemVUb2tlblNlcnZpY2UgaXMgaW5pdGlhbGl6ZWQuJyk7XHJcbiAgICAgICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQoeyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9KTtcclxuICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRoaXMuY29uZmlnU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuaXNSZXZva2luZ1Rva2VuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IGF1dGhUb2tlbigpIHsgcmV0dXJuIHRoaXMuc3RvcmFnZUdldCgpIH1cclxuICAgIHByaXZhdGUgc2V0IGF1dGhUb2tlbih2YWx1ZTogSUF1dGhUb2tlbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgID8gdGhpcy5zdG9yYWdlU2V0KHZhbHVlKVxyXG4gICAgICAgICAgICA6IExvY2FsaXplVG9rZW4uc3RvcmFnZS5kZWxldGUodGhpcy5jb25maWcuYXV0aFRva2VuPy5uYW1lISk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJlZnJlc2hUb2tlbigpIHsgcmV0dXJuIExvY2FsaXplVG9rZW4uc3RvcmFnZS5nZXQodGhpcy5jb25maWcucmVmcmVzaFRva2VuPy5uYW1lIHx8ICcnKSB9XHJcbiAgICBnZXQgYWNjZXNzVG9rZW4oKSB7IHJldHVybiB0aGlzLmF1dGhUb2tlbj8udG9rZW4gfVxyXG5cclxuICAgIHNldCBhY2Nlc3NUb2tlbih2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdmFsdWUgJiYgKHRoaXMuYXV0aFRva2VuID0geyB0b2tlbjogdmFsdWUsIHJldm9rZTogZmFsc2UgfSlcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNSZXZva2luZ1Rva2VuKCkgeyByZXR1cm4gdGhpcy5pc1Jldm9raW5nVG9rZW5TdWJqZWN0LnZhbHVlIC8qIHRoaXMuYXV0aFRva2VuPy5yZXZva2UgPz8gZmFsc2UgKi8gfVxyXG5cclxuICAgIHNldCBpc1Jldm9raW5nVG9rZW4odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmlzUmV2b2tpbmdUb2tlblN1YmplY3QubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5hdXRoVG9rZW4gJiYgKHRoaXMuYXV0aFRva2VuID0geyAuLi50aGlzLmF1dGhUb2tlbiwgcmV2b2tlOiB2YWx1ZSB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRlbmFudFRva2VuKCkge1xyXG4gICAgICAgIHJldHVybiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZ2V0KHRoaXMuY29uZmlnLnRlbmFudFRva2VuPy5uYW1lIHx8ICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VHZXQoKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgZW5jb2RlZCA9IExvY2FsaXplVG9rZW4uc3RvcmFnZS5nZXQodGhpcy5jb25maWcuYXV0aFRva2VuPy5uYW1lIHx8ICcnKTtcclxuICAgICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGF0b2IoZW5jb2RlZCB8fCAnJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpIGFzIElBdXRoVG9rZW47XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2V0KHZhbHVlOiBJQXV0aFRva2VuKSB7XHJcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgICAgIExvY2FsaXplVG9rZW4uc3RvcmFnZS5zZXQodGhpcy5jb25maWcuYXV0aFRva2VuPy5uYW1lIHx8ICcnLCBiYXNlNjQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRva2Vuc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMucmVmcmVzaFRva2VuPy5sZW5ndGhcclxuICAgICAgICAgICAgJiYgKCF0aGlzLmNvbmZpZy50ZW5hbnRUb2tlbiB8fCAhIXRoaXMudGVuYW50VG9rZW4oKT8ubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWNvZGVUb2tlbiA9ICh0b2tlbjogc3RyaW5nKSA9PiBqd3RfZGVjb2RlLmp3dERlY29kZTxKd3RQYXlsb2FkPih0b2tlbik7XHJcbiAgICBnZXQgZGVjb2RlUmVmcmVzaFRva2VuKCkge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5yZWZyZXNoVG9rZW47XHJcbiAgICAgICAgcmV0dXJuICF0b2tlbiA/IG51bGwgOiB0aGlzLmRlY29kZVRva2VuKHRva2VuKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRocm93SWZOb3RJbml0aWFsaXplZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsaXplVG9rZW5TZXJ2aWNlIGlzIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBpbml0KCkgbWV0aG9kIGJlZm9yZSB1c2luZyBpdC4nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|