@acorex/modules 21.0.0-next.1 → 21.0.0-next.3
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/auth/index.d.ts +21 -25
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-Xhv636ad.mjs → acorex-modules-auth-acorex-modules-auth-DyMrPzio.mjs} +128 -173
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DyMrPzio.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CVTPqwuU.mjs → acorex-modules-auth-app-chooser.component-CeTkWuU7.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CVTPqwuU.mjs.map → acorex-modules-auth-app-chooser.component-CeTkWuU7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-D-OyMAOZ.mjs → acorex-modules-auth-login.module-DanUC1V9.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-D-OyMAOZ.mjs.map → acorex-modules-auth-login.module-DanUC1V9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-Daxd7Nh7.mjs → acorex-modules-auth-master.layout-StFhVYaW.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-Daxd7Nh7.mjs.map → acorex-modules-auth-master.layout-StFhVYaW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DrpoLauM.mjs → acorex-modules-auth-oauth-callback.component-BYZyzG0Q.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DrpoLauM.mjs.map → acorex-modules-auth-oauth-callback.component-BYZyzG0Q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-Ce1GT_9U.mjs → acorex-modules-auth-password.component-CshkJ94Y.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-Ce1GT_9U.mjs.map → acorex-modules-auth-password.component-CshkJ94Y.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-OFNLNftl.mjs → acorex-modules-auth-password.component-Cwnmr_K3.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-OFNLNftl.mjs.map → acorex-modules-auth-password.component-Cwnmr_K3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-nKIv8r0R.mjs → acorex-modules-auth-routes-QmD6HTen.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-nKIv8r0R.mjs.map → acorex-modules-auth-routes-QmD6HTen.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CxhH6CxU.mjs → acorex-modules-auth-two-factor.module-CUrjDJKb.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-CxhH6CxU.mjs.map → acorex-modules-auth-two-factor.module-CUrjDJKb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-CMIlSHxl.mjs → acorex-modules-auth-user-sessions.component-f5tjvO2x.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-CMIlSHxl.mjs.map → acorex-modules-auth-user-sessions.component-f5tjvO2x.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-CHubrWiR.mjs → acorex-modules-document-management-acorex-modules-document-management-BUV6euwQ.mjs} +18 -382
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BUV6euwQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DeLipvyw.mjs → acorex-modules-document-management-attachment-widget.component-y_nPA03O.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DeLipvyw.mjs.map → acorex-modules-document-management-attachment-widget.component-y_nPA03O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-Cnh-LFjB.mjs → acorex-modules-document-management-details-view.component-CMlHf8Um.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-Cnh-LFjB.mjs.map → acorex-modules-document-management-details-view.component-CMlHf8Um.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BHELpzzB.mjs → acorex-modules-document-management-document-signature-popup.component-Cq00rYaJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BHELpzzB.mjs.map → acorex-modules-document-management-document-signature-popup.component-Cq00rYaJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CjVfyBBA.mjs → acorex-modules-document-management-drive-choose.component-pehj7js2.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CjVfyBBA.mjs.map → acorex-modules-document-management-drive-choose.component-pehj7js2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-a7AMnvvu.mjs → acorex-modules-document-management-drive.component-dvSTOy_3.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-a7AMnvvu.mjs.map → acorex-modules-document-management-drive.component-dvSTOy_3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-feature-definition.provider-B4hCKUul.mjs → acorex-modules-document-management-feature-definition.provider-De2RD_N_.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-feature-definition.provider-B4hCKUul.mjs.map → acorex-modules-document-management-feature-definition.provider-De2RD_N_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CETjs5Az.mjs → acorex-modules-document-management-large-icons-view.component-CcIhr_aU.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CETjs5Az.mjs.map → acorex-modules-document-management-large-icons-view.component-CcIhr_aU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-7agAfinH.mjs → acorex-modules-document-management-large-tiles-view.component-DP4pGOCz.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-7agAfinH.mjs.map → acorex-modules-document-management-large-tiles-view.component-DP4pGOCz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-CMfX3G8l.mjs → acorex-modules-document-management-list-view.component-BC5vi2Cj.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-CMfX3G8l.mjs.map → acorex-modules-document-management-list-view.component-BC5vi2Cj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-v7SvdUQO.mjs → acorex-modules-document-management-permission-definition.provider-B1P5TVdF.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-v7SvdUQO.mjs.map → acorex-modules-document-management-permission-definition.provider-B1P5TVdF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BL-IoyfV.mjs → acorex-modules-document-management-small-icons-view.component-C8Gf9Ea4.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BL-IoyfV.mjs.map → acorex-modules-document-management-small-icons-view.component-C8Gf9Ea4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B3QYcehJ.mjs → acorex-modules-document-management-small-tiles-view.component-Czr_jJb-.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B3QYcehJ.mjs.map → acorex-modules-document-management-small-tiles-view.component-Czr_jJb-.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +13 -3
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +0 -152
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/package.json +6 -6
- package/settings-management/index.d.ts +2 -3
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-Xhv636ad.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-CHubrWiR.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-auth-acorex-modules-auth-DyMrPzio.mjs","sources":["../tmp-esm2022/auth/lib/error-handler.js","../tmp-esm2022/auth/lib/auth.config.js","../tmp-esm2022/auth/lib/auth.routes.js","../tmp-esm2022/auth/lib/menu.keys.js","../tmp-esm2022/auth/lib/menu.provider.js","../tmp-esm2022/auth/lib/pages/account/app-chooser/app-chooser-list.component.js","../tmp-esm2022/auth/lib/pages/account/app-chooser/app-chooser-slot.component.js","../tmp-esm2022/auth/lib/pages/account/tenant-chooser/tenant-chooser-dropdown.component.js","../tmp-esm2022/auth/lib/pages/account/profile/profile-slot.component.js","../tmp-esm2022/auth/lib/pages/account/user-profile-card/user-profile-card.component.js","../tmp-esm2022/auth/lib/shared/services/idle.service.js","../tmp-esm2022/auth/lib/shared/services/device-sessions.service.js","../tmp-esm2022/auth/lib/pages/account/user-sessions/user-sessions.service.js","../tmp-esm2022/auth/lib/pages/account/tenant-chooser/tenant-chooser.guard.js","../tmp-esm2022/auth/lib/pages/account/app-chooser/app-chooser.guard.js","../tmp-esm2022/auth/lib/pages/account/account.module.js","../tmp-esm2022/auth/lib/module-provider-loader.service.js","../tmp-esm2022/auth/lib/auth.module.js","../tmp-esm2022/auth/lib/shared/types/device-sessions.types.js","../tmp-esm2022/auth/acorex-modules-auth.js"],"sourcesContent":["import { AXPUnauthenticatedError, AXPUnauthorizedError } from '@acorex/platform/auth';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, inject, isDevMode } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class AXMAuthErrorHandler {\n constructor() {\n this.router = inject(Router);\n this.layoutService = inject(AXPLayoutThemeService);\n }\n handleError(error, next) {\n if (error instanceof HttpErrorResponse) {\n // if (error.status == 401) {\n // this.router.navigate(['/auth/login']);\n // }\n // else if (error.status == 404) {\n // this.router.navigate(['/404']);\n // }\n }\n else if (error instanceof AXPUnauthorizedError) {\n const redirectUrl = error.data?.redirectUrl;\n console.error(error.message);\n this.router.navigate(['/401'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n }\n else if (error instanceof AXPUnauthenticatedError) {\n console.error(error.message);\n const redirectUrl = error.data?.redirectUrl;\n this.router.navigate(['/auth/login'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n }\n else {\n if (isDevMode()) {\n next(error); // Pass the error to the next handler\n }\n else {\n next(error); // maybe we need a error page\n }\n }\n this.layoutService.setNavigationLoading(false);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthErrorHandler }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthErrorHandler, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUd6QyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBMkJ2RDtJQXpCQyxXQUFXLENBQUMsS0FBWSxFQUFFLElBQTBCO1FBQ2xELElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDdkMsNkJBQTZCO1lBQzdCLDZDQUE2QztZQUM3QyxJQUFJO1lBQ0osa0NBQWtDO1lBQ2xDLHNDQUFzQztZQUN0QyxJQUFJO1FBQ04sQ0FBQzthQUFNLElBQUksS0FBSyxZQUFZLG9CQUFvQixFQUFFLENBQUM7WUFDakQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUM7WUFDNUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLENBQUM7YUFBTSxJQUFJLEtBQUssWUFBWSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMscUNBQXFDO1lBQ3BELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyw2QkFBNkI7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7K0dBNUJVLG1CQUFtQjttSEFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQVW5hdXRoZW50aWNhdGVkRXJyb3IsIEFYUFVuYXV0aG9yaXplZEVycm9yIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEVycm9ySGFuZGxlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZCc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgaW5qZWN0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1BdXRoRXJyb3JIYW5kbGVyIGltcGxlbWVudHMgQVhQRXJyb3JIYW5kbGVyIHtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dFRoZW1lU2VydmljZSk7XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEVycm9yLCBuZXh0OiAoZXJyb3I6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAvLyBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMSkge1xuICAgICAgLy8gICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2F1dGgvbG9naW4nXSk7XG4gICAgICAvLyB9XG4gICAgICAvLyBlbHNlIGlmIChlcnJvci5zdGF0dXMgPT0gNDA0KSB7XG4gICAgICAvLyAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvNDA0J10pO1xuICAgICAgLy8gfVxuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBWFBVbmF1dGhvcml6ZWRFcnJvcikge1xuICAgICAgY29uc3QgcmVkaXJlY3RVcmwgPSBlcnJvci5kYXRhPy5yZWRpcmVjdFVybDtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy80MDEnXSwgeyBxdWVyeVBhcmFtczogcmVkaXJlY3RVcmwgPyB7IHJlZGlyZWN0VXJsOiByZWRpcmVjdFVybCB9IDogbnVsbCB9KTtcbiAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgQVhQVW5hdXRoZW50aWNhdGVkRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICBjb25zdCByZWRpcmVjdFVybCA9IGVycm9yLmRhdGE/LnJlZGlyZWN0VXJsO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXV0aC9sb2dpbiddLCB7IHF1ZXJ5UGFyYW1zOiByZWRpcmVjdFVybCA/IHsgcmVkaXJlY3RVcmw6IHJlZGlyZWN0VXJsIH0gOiBudWxsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgbmV4dChlcnJvcik7IC8vIFBhc3MgdGhlIGVycm9yIHRvIHRoZSBuZXh0IGhhbmRsZXJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoZXJyb3IpOyAvLyBtYXliZSB3ZSBuZWVkIGEgZXJyb3IgcGFnZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2V0TmF2aWdhdGlvbkxvYWRpbmcoZmFsc2UpO1xuICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport var AXMAuthenticationTypes;\n(function (AXMAuthenticationTypes) {\n AXMAuthenticationTypes[AXMAuthenticationTypes[\"UsernamePassword\"] = 0] = \"UsernamePassword\";\n AXMAuthenticationTypes[AXMAuthenticationTypes[\"UsernameEmailPassword\"] = 1] = \"UsernameEmailPassword\";\n AXMAuthenticationTypes[AXMAuthenticationTypes[\"EmailPassword\"] = 2] = \"EmailPassword\";\n AXMAuthenticationTypes[AXMAuthenticationTypes[\"MobilePassword\"] = 3] = \"MobilePassword\";\n AXMAuthenticationTypes[AXMAuthenticationTypes[\"EmailCode\"] = 4] = \"EmailCode\";\n AXMAuthenticationTypes[AXMAuthenticationTypes[\"MobileCode\"] = 5] = \"MobileCode\";\n})(AXMAuthenticationTypes || (AXMAuthenticationTypes = {}));\nexport const AXM_AUTH_CONFIG_TOKEN = new InjectionToken('app-module-auth-config', {\n providedIn: 'root',\n factory: () => {\n return AXMDefaultAuthConfigs;\n },\n});\nexport const AXMDefaultAuthConfigs = {\n type: AXMAuthenticationTypes.UsernamePassword,\n // defaultStrategyName:'oidc',\n // حذف authConfig از اینجا چون از environment خوانده میشود\n defaultStrategyName: 'user-pass'\n};\nexport function configAuthModule(config = AXMDefaultAuthConfigs) {\n return { ...AXMDefaultAuthConfigs, ...config };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2F1dGguY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFOLElBQVksc0JBT1g7QUFQRCxXQUFZLHNCQUFzQjtJQUNoQywyRkFBZ0IsQ0FBQTtJQUNoQixxR0FBcUIsQ0FBQTtJQUNyQixxRkFBYSxDQUFBO0lBQ2IsdUZBQWMsQ0FBQTtJQUNkLDZFQUFTLENBQUE7SUFDVCwrRUFBVSxDQUFBO0FBQ1osQ0FBQyxFQVBXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFPakM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsd0JBQXdCLEVBQUU7SUFDaEcsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztDQUNGLENBQUMsQ0FBQztBQTRCSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUI7SUFDbkQsSUFBSSxFQUFFLHNCQUFzQixDQUFDLGdCQUFnQjtJQUM3Qyw4QkFBOEI7SUFDOUIsMkRBQTJEO0lBQzNELG1CQUFtQixFQUFDLFdBQVc7Q0FDaEMsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxTQUFrQyxxQkFBcUI7SUFDdEYsT0FBTyxFQUFFLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhDb25maWcgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcblxuZXhwb3J0IGVudW0gQVhNQXV0aGVudGljYXRpb25UeXBlcyB7XG4gIFVzZXJuYW1lUGFzc3dvcmQsXG4gIFVzZXJuYW1lRW1haWxQYXNzd29yZCxcbiAgRW1haWxQYXNzd29yZCxcbiAgTW9iaWxlUGFzc3dvcmQsXG4gIEVtYWlsQ29kZSxcbiAgTW9iaWxlQ29kZSxcbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9BVVRIX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWE1BdXRoQ29uZmlncz4oJ2FwcC1tb2R1bGUtYXV0aC1jb25maWcnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIHJldHVybiBBWE1EZWZhdWx0QXV0aENvbmZpZ3M7XG4gIH0sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBBWE1FeHRlcm5hbFByb3ZpZGVyQ29uZmlnIHtcbiAgcHJvdmlkZXJOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhNQXV0aENvbmZpZ3Mge1xuICB0eXBlOiBBWE1BdXRoZW50aWNhdGlvblR5cGVzO1xuICAvLyBvaWRjX3NldHRpbmdzPzogVXNlck1hbmFnZXJTZXR0aW5ncztcbiAgYXV0aENvbmZpZz86IEF1dGhDb25maWc7IC8vINiq2LrbjNuM2LEg2KjZhyBvcHRpb25hbFxuICBiYXNlVXJsPzogc3RyaW5nOyAvLyDYp9i22KfZgdmHINqp2LHYr9mGIGJhc2VVcmxcbiAgbG9nb3V0VXJsPzogc3RyaW5nOyAvLyDYp9i22KfZgdmHINqp2LHYr9mGIGxvZ291dFVybFxuICBlbmRfdXJsPzogc3RyaW5nO1xuICBzaWdudXA/OiB7XG4gICAgZW5hYmxlOiBib29sZWFuO1xuICAgIHVybD86IHN0cmluZztcbiAgfTtcbiAgZXh0ZXJuYWxQcm92aWRlcnM/OiB7XG4gICAgW3Byb3ZpZGVyOiBzdHJpbmddOiBBWE1FeHRlcm5hbFByb3ZpZGVyQ29uZmlnO1xuICB9O1xuICBzaWduaW5QYWdlPzoge1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2xvZ2FuOiBzdHJpbmc7XG4gIH07XG4gIGRlZmF1bHRTdHJhdGVneU5hbWU/OiBzdHJpbmc7XG4gIGlkbGVUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgQVhNRGVmYXVsdEF1dGhDb25maWdzOiBBWE1BdXRoQ29uZmlncyA9IHtcbiAgdHlwZTogQVhNQXV0aGVudGljYXRpb25UeXBlcy5Vc2VybmFtZVBhc3N3b3JkLFxuICAvLyBkZWZhdWx0U3RyYXRlZ3lOYW1lOidvaWRjJyxcbiAgLy8g2K3YsNmBIGF1dGhDb25maWcg2KfYsiDYp9uM2YbYrNinINqG2YjZhiDYp9iyIGVudmlyb25tZW50INiu2YjYp9mG2K/ZhyDZhduM4oCM2LTZiNivXG4gIGRlZmF1bHRTdHJhdGVneU5hbWU6J3VzZXItcGFzcydcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWdBdXRoTW9kdWxlKGNvbmZpZzogUGFydGlhbDxBWE1BdXRoQ29uZmlncz4gPSBBWE1EZWZhdWx0QXV0aENvbmZpZ3MpOiBBWE1BdXRoQ29uZmlncyB7XG4gIHJldHVybiB7IC4uLkFYTURlZmF1bHRBdXRoQ29uZmlncywgLi4uY29uZmlnIH07XG59XG4iXX0=","export const routes = [\n {\n path: 'auth',\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'login',\n },\n {\n path: '',\n loadComponent: () => import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/login/login.module').then((c) => c.AXPSignInModule),\n },\n {\n path: '',\n loadComponent: () => import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/two-factor/two-factor.module').then((c) => c.AXPTwoFactorModule),\n },\n {\n path: '',\n loadComponent: () => import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/forgot/routes').then((c) => c),\n },\n {\n path: 'axp-oauth-callback',\n loadComponent: () => import('./pages/callback/oauth-callback.component').then((c) => c.AXPOAuthCallbackComponent),\n },\n {\n path: 'account',\n loadComponent: () => import('./shared/layouts/blank/blank.layout').then((c) => c.AXPAuthBlankLayoutComponent),\n loadChildren: () => import('./pages/account/account.module').then((c) => c.AXPAccountModule),\n },\n // {\n // path: 'signincallback',\n // loadComponent: () =>\n // import('./pages/callback/oauth-callback.component').then((c) => c.AXPOAuthCallbackComponent),\n // },\n // {\n // path: '',\n // loadComponent: () =>\n // import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n // loadChildren: () => import('./register/register.module').then((c) => c.AXPRegisterModule),\n // },\n ],\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2F1dGgucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBWTtJQUM3QjtRQUNFLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLFVBQVUsRUFBRSxPQUFPO2FBQ3BCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztnQkFDN0YsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzthQUN4RjtZQUNEO2dCQUNFLElBQUksRUFBRSxFQUFFO2dCQUNSLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUM7Z0JBQzdGLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzthQUNyRztZQUNEO2dCQUNFLElBQUksRUFBRSxFQUFFO2dCQUNSLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUM7Z0JBQzdGLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNuRTtZQUNEO2dCQUNFLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUM7YUFDL0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUM7Z0JBQzdHLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQzthQUM3RjtZQUNELElBQUk7WUFDSiw0QkFBNEI7WUFDNUIseUJBQXlCO1lBQ3pCLG9HQUFvRztZQUNwRyxLQUFLO1lBQ0wsSUFBSTtZQUNKLGNBQWM7WUFDZCx5QkFBeUI7WUFDekIsbUdBQW1HO1lBQ25HLCtGQUErRjtZQUMvRixLQUFLO1NBQ047S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5leHBvcnQgY29uc3Qgcm91dGVzOiBSb3V0ZVtdID0gW1xuICB7XG4gICAgcGF0aDogJ2F1dGgnLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBwYXRoTWF0Y2g6ICdmdWxsJyxcbiAgICAgICAgcmVkaXJlY3RUbzogJ2xvZ2luJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgIGltcG9ydCgnLi9zaGFyZWQvbGF5b3V0cy9tYXN0ZXIvbWFzdGVyLmxheW91dCcpLnRoZW4oKGMpID0+IGMuQVhQQXV0aE1hc3RlckxheW91dENvbXBvbmVudCksXG4gICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT4gaW1wb3J0KCcuL3BhZ2VzL2xvZ2luL2xvZ2luLm1vZHVsZScpLnRoZW4oKGMpID0+IGMuQVhQU2lnbkluTW9kdWxlKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgIGltcG9ydCgnLi9zaGFyZWQvbGF5b3V0cy9tYXN0ZXIvbWFzdGVyLmxheW91dCcpLnRoZW4oKGMpID0+IGMuQVhQQXV0aE1hc3RlckxheW91dENvbXBvbmVudCksXG4gICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT4gaW1wb3J0KCcuL3BhZ2VzL3R3by1mYWN0b3IvdHdvLWZhY3Rvci5tb2R1bGUnKS50aGVuKChjKSA9PiBjLkFYUFR3b0ZhY3Rvck1vZHVsZSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICBpbXBvcnQoJy4vc2hhcmVkL2xheW91dHMvbWFzdGVyL21hc3Rlci5sYXlvdXQnKS50aGVuKChjKSA9PiBjLkFYUEF1dGhNYXN0ZXJMYXlvdXRDb21wb25lbnQpLFxuICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+IGltcG9ydCgnLi9wYWdlcy9mb3Jnb3Qvcm91dGVzJykudGhlbigoYykgPT4gYyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnYXhwLW9hdXRoLWNhbGxiYWNrJyxcbiAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICBpbXBvcnQoJy4vcGFnZXMvY2FsbGJhY2svb2F1dGgtY2FsbGJhY2suY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBPQXV0aENhbGxiYWNrQ29tcG9uZW50KSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdhY2NvdW50JyxcbiAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL3NoYXJlZC9sYXlvdXRzL2JsYW5rL2JsYW5rLmxheW91dCcpLnRoZW4oKGMpID0+IGMuQVhQQXV0aEJsYW5rTGF5b3V0Q29tcG9uZW50KSxcbiAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PiBpbXBvcnQoJy4vcGFnZXMvYWNjb3VudC9hY2NvdW50Lm1vZHVsZScpLnRoZW4oKGMpID0+IGMuQVhQQWNjb3VudE1vZHVsZSksXG4gICAgICB9LFxuICAgICAgLy8ge1xuICAgICAgLy8gICBwYXRoOiAnc2lnbmluY2FsbGJhY2snLFxuICAgICAgLy8gICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgLy8gICAgIGltcG9ydCgnLi9wYWdlcy9jYWxsYmFjay9vYXV0aC1jYWxsYmFjay5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUE9BdXRoQ2FsbGJhY2tDb21wb25lbnQpLFxuICAgICAgLy8gfSxcbiAgICAgIC8vIHtcbiAgICAgIC8vICAgcGF0aDogJycsXG4gICAgICAvLyAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAvLyAgICAgaW1wb3J0KCcuL3NoYXJlZC9sYXlvdXRzL21hc3Rlci9tYXN0ZXIubGF5b3V0JykudGhlbigoYykgPT4gYy5BWFBBdXRoTWFzdGVyTGF5b3V0Q29tcG9uZW50KSxcbiAgICAgIC8vICAgbG9hZENoaWxkcmVuOiAoKSA9PiBpbXBvcnQoJy4vcmVnaXN0ZXIvcmVnaXN0ZXIubW9kdWxlJykudGhlbigoYykgPT4gYy5BWFBSZWdpc3Rlck1vZHVsZSksXG4gICAgICAvLyB9LFxuICAgIF0sXG4gIH0sXG5dO1xuIl19","export const AXPAuthMenuKeys = {\n UserProfile: 'user:profile',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2F1dGgvc3JjL2xpYi9tZW51LmtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLFdBQVcsRUFBRSxjQUFjO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhQQXV0aE1lbnVLZXlzID0ge1xuICAgIFVzZXJQcm9maWxlOiAndXNlcjpwcm9maWxlJyxcbn0gYXMgY29uc3Q7XG5cbiJdfQ==","import { AXPSessionService } from '@acorex/platform/auth';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { AXPAuthMenuKeys } from './menu.keys';\nexport class AXMSecurityManagementModuleMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n context.addItems([\n {\n name: AXPAuthMenuKeys.UserProfile,\n text: `@auth:profile.title`,\n icon: 'fa-light fa-user',\n children: [],\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvbWVudS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxNQUFNLE9BQU8sdUNBQXVDO0lBQXBEO1FBQ1UsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQWlCckQsQ0FBQztJQWZDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBK0I7UUFDM0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFDRCxFQUFFO1FBQ0YsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNmO2dCQUNFLElBQUksRUFBRSxlQUFlLENBQUMsV0FBVztnQkFDakMsSUFBSSxFQUFFLHFCQUFxQjtnQkFDM0IsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsUUFBUSxFQUFFLEVBQUU7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUEF1dGhNZW51S2V5cyB9IGZyb20gJy4vbWVudS5rZXlzJztcblxuZXhwb3J0IGNsYXNzIEFYTVNlY3VyaXR5TWFuYWdlbWVudE1vZHVsZU1lbnVQcm92aWRlciBpbXBsZW1lbnRzIEFYUE1lbnVQcm92aWRlciB7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuXG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRob3JpemVkJCk7XG4gICAgaWYgKCFpc0F1dGhvcml6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy9cbiAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogQVhQQXV0aE1lbnVLZXlzLlVzZXJQcm9maWxlLFxuICAgICAgICB0ZXh0OiBgQGF1dGg6cHJvZmlsZS50aXRsZWAsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS11c2VyJyxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxufVxuIl19","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPAuthStrategyRegistryService, AXPSessionService, } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { AXP_MODULE_PROVIDER_LOADER } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AXMApplicationService } from '@acorex/modules/application-management';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/loading\";\nimport * as i3 from \"@angular/common\";\nexport class AXPAppChooserListComponent {\n constructor() {\n this.router = inject(Router);\n this.sessionService = inject(AXPSessionService);\n this.homePageService = inject(AXPHomePageService);\n this.authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n this.moduleProviderLoader = inject(AXP_MODULE_PROVIDER_LOADER);\n this.applicationService = inject(AXMApplicationService);\n this.strategyName = this.sessionService.getSessionData()?.strategy;\n this.strategy = this.authStrategyRegistry.get(this.strategyName);\n this.selectedApplication = null;\n this.applications$ = this.sessionService.applications$;\n }\n async chooseApplication(item) {\n this.selectedApplication = item;\n const tenantId = this.sessionService.tenant?.id || '';\n if (!tenantId) {\n throw new Error('Tenant ID is missing. Cannot choose application.');\n }\n // Get the full application entity to access its editions\n const fullApplication = await this.applicationService.getOne(item.id);\n if (!fullApplication) {\n throw new Error(`Application not found: ${item.id}`);\n }\n // Determine which edition to use (from item.edition or default to first edition)\n let selectedEdition = item.edition;\n if (!selectedEdition && fullApplication.editions && fullApplication.editions.length > 0) {\n selectedEdition = {\n id: fullApplication.editions[0].id,\n title: fullApplication.editions[0].title,\n description: fullApplication.editions[0].description,\n };\n }\n // Update application with edition information and version from full entity\n const applicationWithEdition = {\n ...item,\n version: fullApplication.version || item.version,\n edition: selectedEdition,\n };\n if (this.strategy && typeof this.strategy.updateToken === 'function') {\n const updateContext = {\n application: applicationWithEdition,\n user: this.sessionService.user,\n tenant: this.sessionService.tenant,\n };\n await this.sessionService.updateToken(updateContext);\n }\n // Load module providers using the loader service\n try {\n console.log('[AppChooser] Loading module providers for application:', applicationWithEdition.name);\n await this.moduleProviderLoader.loadProvidersForApplication(applicationWithEdition);\n console.log('[AppChooser] Module providers loaded successfully');\n }\n catch (error) {\n console.error('[AppChooser] Failed to load module providers:', error);\n // Don't throw - allow navigation even if provider loading fails\n }\n return await this.homePageService.navigateTo();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPAppChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXPAppChooserListComponent, isStandalone: true, selector: \"axp-app-chooser-list\", ngImport: i0, template: \"<div class=\\\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\\\">\\n @for (application of applications$ | async; track $index) {\\n <div\\n class=\\\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\\\"\\n (click)=\\\"chooseApplication(application)\\\">\\n <div class=\\\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\\\">\\n <div\\n class=\\\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\\\">\\n <axp-logo [source]=\\\"application.logo\\\" [attr.alt]=\\\"application.title\\\"\\n class=\\\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\\\"></axp-logo>\\n </div>\\n <span class=\\\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\\\">{{ application.title }}</span>\\n <span class=\\\"ax-text-gray-500 md:ax-text-sm ax-text-xs\\\">{{ application.edition?.title }}</span>\\n @if (application.name === selectedApplication?.name) {\\n <ax-loading></ax-loading>\\n } @else {\\n <ax-icon class=\\\"fa-solid rtl:ax-rotate-180 fa-chevron-right ax-text-neutral-400\\\"> </ax-icon>\\n }\\n </div>\\n </div>\\n }\\n</div>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i2.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"component\", type: AXPLogoComponent, selector: \"axp-logo\", inputs: [\"source\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPAppChooserListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-app-chooser-list', imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXPLogoComponent], template: \"<div class=\\\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\\\">\\n @for (application of applications$ | async; track $index) {\\n <div\\n class=\\\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\\\"\\n (click)=\\\"chooseApplication(application)\\\">\\n <div class=\\\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\\\">\\n <div\\n class=\\\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\\\">\\n <axp-logo [source]=\\\"application.logo\\\" [attr.alt]=\\\"application.title\\\"\\n class=\\\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\\\"></axp-logo>\\n </div>\\n <span class=\\\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\\\">{{ application.title }}</span>\\n <span class=\\\"ax-text-gray-500 md:ax-text-sm ax-text-xs\\\">{{ application.edition?.title }}</span>\\n @if (application.name === selectedApplication?.name) {\\n <ax-loading></ax-loading>\\n } @else {\\n <ax-icon class=\\\"fa-solid rtl:ax-rotate-180 fa-chevron-right ax-text-neutral-400\\\"> </ax-icon>\\n }\\n </div>\\n </div>\\n }\\n</div>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNob29zZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvYXBwLWNob29zZXIvYXBwLWNob29zZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvYXBwLWNob29zZXIvYXBwLWNob29zZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUVMLDhCQUE4QixFQUU5QixpQkFBaUIsR0FDbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQU8vRSxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBTVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FB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O1FBQ25FLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RSxnRUFBZ0U7UUFDbEUsQ0FBQztRQUVELE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pELENBQUM7K0dBL0RVLDBCQUEwQjttR0FBMUIsMEJBQTBCLGdGQ3JCdkMsd3VDQXFCTSwyQ0RGTSxZQUFZLDhCQUFFLGlCQUFpQiwrSEFBRSxlQUFlLCtLQUFFLGdCQUFnQjs7NEZBRWpFLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxzQkFBc0IsV0FFdkIsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQge1xuICBBWFBBcHBsaWNhdGlvbixcbiAgQVhQQXV0aFN0cmF0ZWd5UmVnaXN0cnlTZXJ2aWNlLFxuICBBWFBTZXNzaW9uQ29udGV4dCxcbiAgQVhQU2Vzc2lvblNlcnZpY2UsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBMb2dvQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWFBfTU9EVUxFX1BST1ZJREVSX0xPQURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBWE1BcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1hcHAtY2hvb3Nlci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICdhcHAtY2hvb3Nlci1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYTG9hZGluZ01vZHVsZSwgQVhQTG9nb0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEFwcENob29zZXJMaXN0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgaG9tZVBhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEhvbWVQYWdlU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aFN0cmF0ZWd5UmVnaXN0cnkgPSBpbmplY3QoQVhQQXV0aFN0cmF0ZWd5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBtb2R1bGVQcm92aWRlckxvYWRlciA9IGluamVjdChBWFBfTU9EVUxFX1BST1ZJREVSX0xPQURFUik7XG4gIHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYTUFwcGxpY2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgc3RyYXRlZ3lOYW1lID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRTZXNzaW9uRGF0YSgpPy5zdHJhdGVneTtcbiAgcHJpdmF0ZSBzdHJhdGVneSA9IHRoaXMuYXV0aFN0cmF0ZWd5UmVnaXN0cnkuZ2V0KHRoaXMuc3RyYXRlZ3lOYW1lISk7XG5cbiAgcHJvdGVjdGVkIHNlbGVjdGVkQXBwbGljYXRpb246IEFYUEFwcGxpY2F0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBhcHBsaWNhdGlvbnMkID0gdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbnMkO1xuXG4gIGFzeW5jIGNob29zZUFwcGxpY2F0aW9uKGl0ZW06IEFYUEFwcGxpY2F0aW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZEFwcGxpY2F0aW9uID0gaXRlbTtcbiAgICBjb25zdCB0ZW5hbnRJZCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50Py5pZCB8fCAnJztcbiAgICBpZiAoIXRlbmFudElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RlbmFudCBJRCBpcyBtaXNzaW5nLiBDYW5ub3QgY2hvb3NlIGFwcGxpY2F0aW9uLicpO1xuICAgIH1cblxuICAgIC8vIEdldCB0aGUgZnVsbCBhcHBsaWNhdGlvbiBlbnRpdHkgdG8gYWNjZXNzIGl0cyBlZGl0aW9uc1xuICAgIGNvbnN0IGZ1bGxBcHBsaWNhdGlvbiA9IGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmdldE9uZShpdGVtLmlkKTtcbiAgICBpZiAoIWZ1bGxBcHBsaWNhdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBcHBsaWNhdGlvbiBub3QgZm91bmQ6ICR7aXRlbS5pZH1gKTtcbiAgICB9XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hpY2ggZWRpdGlvbiB0byB1c2UgKGZyb20gaXRlbS5lZGl0aW9uIG9yIGRlZmF1bHQgdG8gZmlyc3QgZWRpdGlvbilcbiAgICBsZXQgc2VsZWN0ZWRFZGl0aW9uID0gaXRlbS5lZGl0aW9uO1xuICAgIGlmICghc2VsZWN0ZWRFZGl0aW9uICYmIGZ1bGxBcHBsaWNhdGlvbi5lZGl0aW9ucyAmJiBmdWxsQXBwbGljYXRpb24uZWRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgc2VsZWN0ZWRFZGl0aW9uID0ge1xuICAgICAgICBpZDogZnVsbEFwcGxpY2F0aW9uLmVkaXRpb25zWzBdLmlkLFxuICAgICAgICB0aXRsZTogZnVsbEFwcGxpY2F0aW9uLmVkaXRpb25zWzBdLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogZnVsbEFwcGxpY2F0aW9uLmVkaXRpb25zWzBdLmRlc2NyaXB0aW9uLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgYXBwbGljYXRpb24gd2l0aCBlZGl0aW9uIGluZm9ybWF0aW9uIGFuZCB2ZXJzaW9uIGZyb20gZnVsbCBlbnRpdHlcbiAgICBjb25zdCBhcHBsaWNhdGlvbldpdGhFZGl0aW9uOiBBWFBBcHBsaWNhdGlvbiA9IHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICB2ZXJzaW9uOiBmdWxsQXBwbGljYXRpb24udmVyc2lvbiB8fCBpdGVtLnZlcnNpb24sXG4gICAgICBlZGl0aW9uOiBzZWxlY3RlZEVkaXRpb24sXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnN0cmF0ZWd5ICYmIHR5cGVvZiB0aGlzLnN0cmF0ZWd5LnVwZGF0ZVRva2VuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCB1cGRhdGVDb250ZXh0ID0ge1xuICAgICAgICBhcHBsaWNhdGlvbjogYXBwbGljYXRpb25XaXRoRWRpdGlvbixcbiAgICAgICAgdXNlcjogdGhpcy5zZXNzaW9uU2VydmljZS51c2VyLFxuICAgICAgICB0ZW5hbnQ6IHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50LFxuICAgICAgfTtcbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvblNlcnZpY2UudXBkYXRlVG9rZW4odXBkYXRlQ29udGV4dCBhcyBBWFBTZXNzaW9uQ29udGV4dCk7XG4gICAgfVxuXG4gICAgLy8gTG9hZCBtb2R1bGUgcHJvdmlkZXJzIHVzaW5nIHRoZSBsb2FkZXIgc2VydmljZVxuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmxvZygnW0FwcENob29zZXJdIExvYWRpbmcgbW9kdWxlIHByb3ZpZGVycyBmb3IgYXBwbGljYXRpb246JywgYXBwbGljYXRpb25XaXRoRWRpdGlvbi5uYW1lKTtcbiAgICAgIGF3YWl0IHRoaXMubW9kdWxlUHJvdmlkZXJMb2FkZXIubG9hZFByb3ZpZGVyc0ZvckFwcGxpY2F0aW9uKGFwcGxpY2F0aW9uV2l0aEVkaXRpb24pO1xuICAgICAgY29uc29sZS5sb2coJ1tBcHBDaG9vc2VyXSBNb2R1bGUgcHJvdmlkZXJzIGxvYWRlZCBzdWNjZXNzZnVsbHknKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignW0FwcENob29zZXJdIEZhaWxlZCB0byBsb2FkIG1vZHVsZSBwcm92aWRlcnM6JywgZXJyb3IpO1xuICAgICAgLy8gRG9uJ3QgdGhyb3cgLSBhbGxvdyBuYXZpZ2F0aW9uIGV2ZW4gaWYgcHJvdmlkZXIgbG9hZGluZyBmYWlsc1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmhvbWVQYWdlU2VydmljZS5uYXZpZ2F0ZVRvKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC13LWZ1bGwgYXgtb3ZlcmZsb3ctYXV0byBheC1tYXgtaC1bMzAwcHhdIGF4LXBlLTJcIj5cbiAgQGZvciAoYXBwbGljYXRpb24gb2YgYXBwbGljYXRpb25zJCB8IGFzeW5jOyB0cmFjayAkaW5kZXgpIHtcbiAgPGRpdlxuICAgIGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMiBheC1qdXN0aWZ5LWJldHdlZW4gYXgtYm9yZGVyLWIgbGFzdDpheC1ib3JkZXItYi0wIGF4LXB5LTMgYXgtaXRlbXMtc3RhcnQgYXgtY3Vyc29yLXBvaW50ZXJcIlxuICAgIChjbGljayk9XCJjaG9vc2VBcHBsaWNhdGlvbihhcHBsaWNhdGlvbilcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LTEgYXgtZ2FwLTIgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWZvbnQtbWVkaXVtXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYXgtdy0xMiBheC1oLTEyIGF4LWZsZXggYXgtanVzdGlmeS1jZW50ZXIgYXgtaXRlbXMtY2VudGVyIGF4LXJvdW5kZWQtZnVsbCBheC1iZy1uZXV0cmFsLTEwMCBheC1tLWF1dG9cIj5cbiAgICAgICAgPGF4cC1sb2dvIFtzb3VyY2VdPVwiYXBwbGljYXRpb24ubG9nb1wiIFthdHRyLmFsdF09XCJhcHBsaWNhdGlvbi50aXRsZVwiXG4gICAgICAgICAgY2xhc3M9XCIhYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgIWF4LXRleHQtc20gYXgtbXgtYXV0byBheC13LTEwIGF4LWgtMTAgYXgtYmctbmV1dHJhbC0yMDAgYXgtcm91bmRlZC1mdWxsXCI+PC9heHAtbG9nbz5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJheC1mbGV4LTEgYXgtdGV4dC1zdGFydCBtZDpheC10ZXh0LWJhc2UgYXgtdGV4dC1zbVwiPnt7IGFwcGxpY2F0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LWdyYXktNTAwIG1kOmF4LXRleHQtc20gYXgtdGV4dC14c1wiPnt7IGFwcGxpY2F0aW9uLmVkaXRpb24/LnRpdGxlIH19PC9zcGFuPlxuICAgICAgQGlmIChhcHBsaWNhdGlvbi5uYW1lID09PSBzZWxlY3RlZEFwcGxpY2F0aW9uPy5uYW1lKSB7XG4gICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgcnRsOmF4LXJvdGF0ZS0xODAgZmEtY2hldnJvbi1yaWdodCBheC10ZXh0LW5ldXRyYWwtNDAwXCI+IDwvYXgtaWNvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIH1cbjwvZGl2PiJdfQ==","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { of } from 'rxjs';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/popover\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@angular/common\";\nexport class AXMAppChooserSlotComponent {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n this.homePageService = inject(AXPHomePageService);\n this.authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n this.strategyName = this.sessionService.getSessionData()?.strategy;\n this.strategy = this.authStrategyRegistry.get(this.strategyName);\n this.tenant$ = this.sessionService.tenant$;\n this.application$ = this.sessionService.application$;\n this.applications$ = of([]);\n }\n async chooseApplication(item) {\n const tenantId = this.sessionService.tenant?.id || '';\n if (this.strategy && typeof this.strategy.updateToken === 'function') {\n const updateContext = {\n tenant: this.sessionService.tenant,\n user: this.sessionService.user,\n application: item,\n };\n await this.sessionService.updateToken(updateContext);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAppChooserSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMAppChooserSlotComponent, isStandalone: true, selector: \"ng-component\", ngImport: i0, template: \"@if(((applications$ | async)?.length ?? 0) > 1) {\\n<ax-button color=\\\"default\\\" look=\\\"blank\\\" #appChooser>\\n <ax-icon>\\n <i class=\\\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\\\"></i>\\n </ax-icon>\\n</ax-button>\\n<ax-popover [target]=\\\"appChooser\\\" [openOn]=\\\"'toggle'\\\" [closeOn]=\\\"'clickOut'\\\" [adaptivityEnabled]=\\\"true\\\">\\n <div class=\\\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\\\">\\n <axp-app-chooser-list></axp-app-chooser-list>\\n </div>\\n</ax-popover>\\n}\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"component\", type: i2.AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: AXPAppChooserListComponent, selector: \"axp-app-chooser-list\" }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAppChooserSlotComponent, decorators: [{\n type: Component,\n args: [{ imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPAppChooserListComponent], template: \"@if(((applications$ | async)?.length ?? 0) > 1) {\\n<ax-button color=\\\"default\\\" look=\\\"blank\\\" #appChooser>\\n <ax-icon>\\n <i class=\\\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\\\"></i>\\n </ax-icon>\\n</ax-button>\\n<ax-popover [target]=\\\"appChooser\\\" [openOn]=\\\"'toggle'\\\" [closeOn]=\\\"'clickOut'\\\" [adaptivityEnabled]=\\\"true\\\">\\n <div class=\\\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\\\">\\n <axp-app-chooser-list></axp-app-chooser-list>\\n </div>\\n</ax-popover>\\n}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNob29zZXItc2xvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvYXBwLWNob29zZXIvYXBwLWNob29zZXItc2xvdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvYXBwLWNob29zZXIvYXBwLWNob29zZXItc2xvdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBa0IsOEJBQThCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBTTFFLE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLVSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0MseUJBQW9CLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDOUQsaUJBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsQ0FBQztRQUM5RCxhQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLENBQUM7UUFFM0QsWUFBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1FBRXRDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7S0FhbEM7SUFYQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBb0I7UUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyRSxNQUFNLGFBQWEsR0FBRztnQkFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTTtnQkFDbEMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSTtnQkFDOUIsV0FBVyxFQUFFLElBQUk7YUFDbEIsQ0FBQztZQUNGLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7K0dBdEJVLDBCQUEwQjttR0FBMUIsMEJBQTBCLHdFQ2R2QyxtaUJBWUEsMkNEQVksWUFBWSw4QkFBRSxjQUFjLDZYQUFFLGVBQWUsdVZBQUUsaUJBQWlCLGdJQUFFLDBCQUEwQjs7NEZBRTNGLDBCQUEwQjtrQkFKdEMsU0FBUzs4QkFFQyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhQQXBwbGljYXRpb24sIEFYUEF1dGhTdHJhdGVneVJlZ2lzdHJ5U2VydmljZSwgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQSG9tZVBhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQQXBwQ2hvb3Nlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2FwcC1jaG9vc2VyLWxpc3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtY2hvb3Nlci1zbG90LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYUG9wb3Zlck1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYUEFwcENob29zZXJMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNQXBwQ2hvb3NlclNsb3RDb21wb25lbnQge1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBob21lUGFnZVNlcnZpY2UgPSBpbmplY3QoQVhQSG9tZVBhZ2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoU3RyYXRlZ3lSZWdpc3RyeSA9IGluamVjdChBWFBBdXRoU3RyYXRlZ3lSZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIHN0cmF0ZWd5TmFtZSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0U2Vzc2lvbkRhdGEoKT8uc3RyYXRlZ3k7XG4gIHByaXZhdGUgc3RyYXRlZ3kgPSB0aGlzLmF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldCh0aGlzLnN0cmF0ZWd5TmFtZSEpO1xuXG4gIHByb3RlY3RlZCB0ZW5hbnQkID0gdGhpcy5zZXNzaW9uU2VydmljZS50ZW5hbnQkO1xuXG4gIHByb3RlY3RlZCBhcHBsaWNhdGlvbiQgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uJDtcbiAgcHJvdGVjdGVkIGFwcGxpY2F0aW9ucyQgPSBvZihbXSk7XG5cbiAgYXN5bmMgY2hvb3NlQXBwbGljYXRpb24oaXRlbTogQVhQQXBwbGljYXRpb24pIHtcbiAgICBjb25zdCB0ZW5hbnRJZCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50Py5pZCB8fCAnJztcbiAgICBpZiAodGhpcy5zdHJhdGVneSAmJiB0eXBlb2YgdGhpcy5zdHJhdGVneS51cGRhdGVUb2tlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgdXBkYXRlQ29udGV4dCA9IHtcbiAgICAgICAgdGVuYW50OiB0aGlzLnNlc3Npb25TZXJ2aWNlLnRlbmFudCxcbiAgICAgICAgdXNlcjogdGhpcy5zZXNzaW9uU2VydmljZS51c2VyLFxuICAgICAgICBhcHBsaWNhdGlvbjogaXRlbSxcbiAgICAgIH07XG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb25TZXJ2aWNlLnVwZGF0ZVRva2VuKHVwZGF0ZUNvbnRleHQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmKCgoYXBwbGljYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID8/IDApID4gMSkge1xuPGF4LWJ1dHRvbiBjb2xvcj1cImRlZmF1bHRcIiBsb29rPVwiYmxhbmtcIiAjYXBwQ2hvb3Nlcj5cbiAgPGF4LWljb24+XG4gICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1ncmlkLTIgYXgtdGV4dC1zbGF0ZS00MDAgZGFyazpheC10ZXh0LXNsYXRlLTIwMFwiPjwvaT5cbiAgPC9heC1pY29uPlxuPC9heC1idXR0b24+XG48YXgtcG9wb3ZlciBbdGFyZ2V0XT1cImFwcENob29zZXJcIiBbb3Blbk9uXT1cIid0b2dnbGUnXCIgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1iZy1saWdodGVzdCBheC1ib3JkZXIgYXgtb3ZlcmZsb3ctaGlkZGVuIGF4LXJvdW5kZWQtbWQgYXgtc2hhZG93LW1kIGF4LXctZnVsbCBheC1taW4tdy02NCBheC1wLTNcIj5cbiAgICA8YXhwLWFwcC1jaG9vc2VyLWxpc3Q+PC9heHAtYXBwLWNob29zZXItbGlzdD5cbiAgPC9kaXY+XG48L2F4LXBvcG92ZXI+XG59XG4iXX0=","import { AXChipsModule } from '@acorex/components/chips';\nimport { AXTagModule } from '@acorex/components/tag';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AXButtonModule } from '@acorex/components/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@angular/common\";\nexport class AXPTenantChooserDropdownComponent {\n constructor() {\n this.router = inject(Router);\n this.sessionService = inject(AXPSessionService);\n this.tenants$ = this.sessionService.tenants$;\n this.tenant = this.sessionService.tenant;\n }\n tenantChooser() {\n this.router.navigate(['/auth/account/tenant-chooser']);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPTenantChooserDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: \"axp-tenant-chooser-dropdown\", ngImport: i0, template: \"<!-- <ng-container *ngIf=\\\"tenants$ | async as tenants\\\">\\n@if(tenants.length>1){\\n <div (click)=\\\"tenantChooser()\\\"\\n class=\\\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\\\">\\n <ax-icon class=\\\"fa-solid fa-building ax-text-neutral-500 ax-text-xs\\\"></ax-icon>\\n <p class=\\\"ax-text-neutral-500 ax-text-sm ax-font-medium\\\">\\n {{ tenant?.title }}\\n </p>\\n <ax-icon class=\\\"fa-regular fa-chevron-down ax-text-neutral-400\\\"></ax-icon>\\n </div>\\n }@else {\\n <div class=\\\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\\\">\\n <ax-icon class=\\\"fa-solid fa-building ax-text-neutral-500\\\"></ax-icon>\\n <p class=\\\"ax-text-neutral-500 ax-text-sm ax-font-medium\\\">\\n {{ tenant?.title }}\\n </p>\\n </div>\\n}\\n</ng-container> -->\\n\\n@if (tenants$ | async; as tenants) {\\n <ax-button [text]=\\\"tenant?.title ?? ''\\\" class=\\\"ax-xs\\\" look=\\\"blank\\\">\\n @if(tenants.length > 1){\\n <ax-suffix>\\n <ax-icon class=\\\"fa-solid fa-caret-down\\\"></ax-icon>\\n </ax-suffix>\\n }\\n </ax-button>\\n}\", dependencies: [{ kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXChipsModule }, { kind: \"ngmodule\", type: AXTagModule }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPTenantChooserDropdownComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-tenant-chooser-dropdown', imports: [AXDecoratorModule, AXChipsModule, AXTagModule, CommonModule, AXButtonModule], template: \"<!-- <ng-container *ngIf=\\\"tenants$ | async as tenants\\\">\\n@if(tenants.length>1){\\n <div (click)=\\\"tenantChooser()\\\"\\n class=\\\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\\\">\\n <ax-icon class=\\\"fa-solid fa-building ax-text-neutral-500 ax-text-xs\\\"></ax-icon>\\n <p class=\\\"ax-text-neutral-500 ax-text-sm ax-font-medium\\\">\\n {{ tenant?.title }}\\n </p>\\n <ax-icon class=\\\"fa-regular fa-chevron-down ax-text-neutral-400\\\"></ax-icon>\\n </div>\\n }@else {\\n <div class=\\\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\\\">\\n <ax-icon class=\\\"fa-solid fa-building ax-text-neutral-500\\\"></ax-icon>\\n <p class=\\\"ax-text-neutral-500 ax-text-sm ax-font-medium\\\">\\n {{ tenant?.title }}\\n </p>\\n </div>\\n}\\n</ng-container> -->\\n\\n@if (tenants$ | async; as tenants) {\\n <ax-button [text]=\\\"tenant?.title ?? ''\\\" class=\\\"ax-xs\\\" look=\\\"blank\\\">\\n @if(tenants.length > 1){\\n <ax-suffix>\\n <ax-icon class=\\\"fa-solid fa-caret-down\\\"></ax-icon>\\n </ax-suffix>\\n }\\n </ax-button>\\n}\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWNob29zZXItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2F1dGgvc3JjL2xpYi9wYWdlcy9hY2NvdW50L3RlbmFudC1jaG9vc2VyL3RlbmFudC1jaG9vc2VyLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvcGFnZXMvYWNjb3VudC90ZW5hbnQtY2hvb3Nlci90ZW5hbnQtY2hvb3Nlci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQU8zRCxNQUFNLE9BQU8saUNBQWlDO0lBTDlDO1FBTVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7S0FLL0M7SUFIQyxhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FSVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx1RkNkOUMsK2xDQTRCQywyQ0RoQlcsaUJBQWlCLHNWQUFFLGFBQWEsOEJBQUUsV0FBVyw4QkFBRSxZQUFZLDhCQUFFLGNBQWM7OzRGQUUxRSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsNkJBQTZCLFdBRTlCLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDaGlwc01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGlwcyc7XG5pbXBvcnQgeyBBWFRhZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWcnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC10ZW5hbnQtY2hvb3Nlci1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAndGVuYW50LWNob29zZXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbQVhEZWNvcmF0b3JNb2R1bGUsIEFYQ2hpcHNNb2R1bGUsIEFYVGFnTW9kdWxlLCBDb21tb25Nb2R1bGUsIEFYQnV0dG9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBBWFBUZW5hbnRDaG9vc2VyRHJvcGRvd25Db21wb25lbnQge1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHRlbmFudHMkID0gdGhpcy5zZXNzaW9uU2VydmljZS50ZW5hbnRzJDtcbiAgcHJvdGVjdGVkIHRlbmFudCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50O1xuXG4gIHRlbmFudENob29zZXIoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXV0aC9hY2NvdW50L3RlbmFudC1jaG9vc2VyJ10pO1xuICB9XG59XG4iLCI8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW5hbnRzJCB8IGFzeW5jIGFzIHRlbmFudHNcIj5cbkBpZih0ZW5hbnRzLmxlbmd0aD4xKXtcbiAgPGRpdiAoY2xpY2spPVwidGVuYW50Q2hvb3NlcigpXCJcbiAgICBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWJvcmRlciBheC1yb3VuZGVkLWZ1bGwgYXgtcHgtNCBheC1weS0xIGF4LWdhcC0yIGF4LWN1cnNvci1wb2ludGVyXCI+XG4gICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1idWlsZGluZyBheC10ZXh0LW5ldXRyYWwtNTAwIGF4LXRleHQteHNcIj48L2F4LWljb24+XG4gICAgPHAgY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNTAwIGF4LXRleHQtc20gYXgtZm9udC1tZWRpdW1cIj5cbiAgICAgIHt7IHRlbmFudD8udGl0bGUgfX1cbiAgICA8L3A+XG4gICAgPGF4LWljb24gY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNoZXZyb24tZG93biBheC10ZXh0LW5ldXRyYWwtNDAwXCI+PC9heC1pY29uPlxuICA8L2Rpdj5cbiAgfUBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWJvcmRlciBheC1yb3VuZGVkLWZ1bGwgYXgtcHgtNCBheC1weS0xIGF4LWdhcC0yIGF4LWN1cnNvci1wb2ludGVyXCI+XG4gICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1idWlsZGluZyBheC10ZXh0LW5ldXRyYWwtNTAwXCI+PC9heC1pY29uPlxuICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1uZXV0cmFsLTUwMCBheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtXCI+XG4gICAgICB7eyB0ZW5hbnQ/LnRpdGxlIH19XG4gICAgPC9wPlxuICA8L2Rpdj5cbn1cbjwvbmctY29udGFpbmVyPiAtLT5cblxuQGlmICh0ZW5hbnRzJCB8IGFzeW5jOyBhcyB0ZW5hbnRzKSB7XG4gIDxheC1idXR0b24gW3RleHRdPVwidGVuYW50Py50aXRsZSA/PyAnJ1wiIGNsYXNzPVwiYXgteHNcIiBsb29rPVwiYmxhbmtcIj5cbiAgICBAaWYodGVuYW50cy5sZW5ndGggPiAxKXtcbiAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtY2FyZXQtZG93blwiPjwvYXgtaWNvbj5cbiAgICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgPC9heC1idXR0b24+XG59Il19","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@acorex/components/popover\";\nimport * as i3 from \"@acorex/components/button\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"@acorex/core/translation\";\nexport class AXMAuthProfileSlotComponent {\n constructor() {\n this.router = inject(Router);\n this.sessionService = inject(AXPSessionService);\n this.themeService = inject(AXPLayoutThemeService);\n this.popupService = inject(AXPopupService);\n this.platform = inject(AXPlatform);\n this.translateService = inject(AXTranslationService);\n this.commandExecutor = inject(AXPCommandExecutor);\n this.isDarkMode = this.themeService.isDarkMode;\n this.user$ = this.sessionService.user$;\n this.tenant$ = this.sessionService.tenant$;\n this.isAuthenticated$ = this.sessionService.isAuthenticated$;\n this.appName = () => this.sessionService.application?.name;\n }\n editProfile() {\n this.router.navigate([`/${this.appName()}/m/SecurityManagement/e/profile/0/view`]);\n }\n async logOut() {\n await this.sessionService.signout();\n }\n toggleProfileMenu() {\n this.profilePopover.open();\n }\n handleSignIn() {\n this.router.navigate(['/auth/login']);\n }\n async openUserSession() {\n const com = await import('../user-sessions/user-sessions.component').then((c) => c.AXMUserSessionsComponent);\n this.popupService.open(com, {\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'sm',\n title: await this.translateService.translateAsync('@auth:profile.sessions.title'),\n });\n }\n async showProfile() {\n this.commandExecutor.execute('auth:profile', {});\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthProfileSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"profilePopover\", first: true, predicate: [\"profilePopover\"], descendants: true }], ngImport: i0, template: \"@if (isAuthenticated$ | async) {\\n <div class=\\\"ax-size-fit\\\">\\n <div #avatar>\\n <axp-user-avatar [size]=\\\"36\\\" [userId]=\\\"(user$ | async)?.id!\\\"></axp-user-avatar>\\n </div>\\n\\n <ax-popover [target]=\\\"avatar\\\" [openOn]=\\\"'toggle'\\\" [closeOn]=\\\"'clickOut'\\\" #p>\\n <div class=\\\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\\\">\\n <axp-user-avatar [size]=\\\"64\\\" [userId]=\\\"(user$ | async)?.id!\\\"></axp-user-avatar>\\n\\n <div class=\\\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\\\">\\n <div class=\\\"ax-text-base ax-font-bold\\\">{{ (user$ | async)?.title }}</div>\\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\\n </div>\\n </div>\\n <div class=\\\"axp-profile-slot-menus\\\">\\n <ul>\\n <li>\\n <a (click)=\\\"showProfile()\\\">\\n <i class=\\\"fa-light fa-user\\\"></i>\\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\\n </a>\\n </li>\\n <li>\\n <a (click)=\\\"p.close()\\\" [routerLink]=\\\"['/', appName(), 'settings', 'user']\\\">\\n <i class=\\\"fa-light fa-gear\\\"></i>\\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\\n </a>\\n </li>\\n <li>\\n <a (click)=\\\"openUserSession()\\\">\\n <i class=\\\"fa-light fa-mobile\\\"></i>\\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\\n </a>\\n </li>\\n <li class=\\\"ax-text-danger-500\\\">\\n <a (click)=\\\"logOut()\\\">\\n <i class=\\\"fa-light fa-arrow-right-from-bracket\\\"></i>\\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\\n </a>\\n </li>\\n </ul>\\n </div>\\n </div>\\n </ax-popover>\\n </div>\\n} @else {\\n <ax-button color=\\\"default\\\" look=\\\"blank\\\" text=\\\"Sign Up / Sign In\\\" (click)=\\\"handleSignIn()\\\">\\n <ax-icon>\\n <i class=\\\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\\\"></i>\\n </ax-icon>\\n </ax-button>\\n}\\n\", styles: [\".axp-profile-slot-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.axp-profile-slot-menus ul:last-child{border-width:0px}.axp-profile-slot-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.axp-profile-slot-menus ul li:last-child{margin-bottom:.5rem}.axp-profile-slot-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}.axp-profile-slot-menus ul li i{margin-inline-end:.75rem;display:grid;height:1.5rem;width:1.5rem;place-items:center;font-size:1.25rem;line-height:1.75rem}.axp-profile-slot-menus ul li a{display:flex;height:100%;width:100%;align-items:center;padding:.5rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"ngmodule\", type: \n //\n AXImageModule }, { kind: \"ngmodule\", type: AXAvatarModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"component\", type: i2.AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i3.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"component\", type: AXPUserAvatarComponent, selector: \"axp-user-avatar\", inputs: [\"size\", \"userId\"] }, { kind: \"component\", type: \n //\n AXPTenantChooserDropdownComponent, selector: \"axp-tenant-chooser-dropdown\" }, { kind: \"pipe\", type: i5.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i6.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthProfileSlotComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n CommonModule,\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXPUserAvatarComponent,\n //\n AXPTenantChooserDropdownComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"@if (isAuthenticated$ | async) {\\n <div class=\\\"ax-size-fit\\\">\\n <div #avatar>\\n <axp-user-avatar [size]=\\\"36\\\" [userId]=\\\"(user$ | async)?.id!\\\"></axp-user-avatar>\\n </div>\\n\\n <ax-popover [target]=\\\"avatar\\\" [openOn]=\\\"'toggle'\\\" [closeOn]=\\\"'clickOut'\\\" #p>\\n <div class=\\\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\\\">\\n <axp-user-avatar [size]=\\\"64\\\" [userId]=\\\"(user$ | async)?.id!\\\"></axp-user-avatar>\\n\\n <div class=\\\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\\\">\\n <div class=\\\"ax-text-base ax-font-bold\\\">{{ (user$ | async)?.title }}</div>\\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\\n </div>\\n </div>\\n <div class=\\\"axp-profile-slot-menus\\\">\\n <ul>\\n <li>\\n <a (click)=\\\"showProfile()\\\">\\n <i class=\\\"fa-light fa-user\\\"></i>\\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\\n </a>\\n </li>\\n <li>\\n <a (click)=\\\"p.close()\\\" [routerLink]=\\\"['/', appName(), 'settings', 'user']\\\">\\n <i class=\\\"fa-light fa-gear\\\"></i>\\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\\n </a>\\n </li>\\n <li>\\n <a (click)=\\\"openUserSession()\\\">\\n <i class=\\\"fa-light fa-mobile\\\"></i>\\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\\n </a>\\n </li>\\n <li class=\\\"ax-text-danger-500\\\">\\n <a (click)=\\\"logOut()\\\">\\n <i class=\\\"fa-light fa-arrow-right-from-bracket\\\"></i>\\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\\n </a>\\n </li>\\n </ul>\\n </div>\\n </div>\\n </ax-popover>\\n </div>\\n} @else {\\n <ax-button color=\\\"default\\\" look=\\\"blank\\\" text=\\\"Sign Up / Sign In\\\" (click)=\\\"handleSignIn()\\\">\\n <ax-icon>\\n <i class=\\\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\\\"></i>\\n </ax-icon>\\n </ax-button>\\n}\\n\", styles: [\".axp-profile-slot-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.axp-profile-slot-menus ul:last-child{border-width:0px}.axp-profile-slot-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.axp-profile-slot-menus ul li:last-child{margin-bottom:.5rem}.axp-profile-slot-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}.axp-profile-slot-menus ul li i{margin-inline-end:.75rem;display:grid;height:1.5rem;width:1.5rem;place-items:center;font-size:1.25rem;line-height:1.75rem}.axp-profile-slot-menus ul li a{display:flex;height:100%;width:100%;align-items:center;padding:.5rem}\\n\"] }]\n }], propDecorators: { profilePopover: [{\n type: ViewChild,\n args: ['profilePopover']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1zbG90LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvcGFnZXMvYWNjb3VudC9wcm9maWxlL3Byb2ZpbGUtc2xvdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvcHJvZmlsZS9wcm9maWxlLXNsb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFD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aUIsK0hBQ2pCLGVBQWUsOEJBQ2YsbUJBQW1CLCtCQUNuQixzQkFBc0I7Z0JBQ3RCLEVBQUU7Z0JBRUYsaUNBQWlDOzs0RkFLeEIsMkJBQTJCO2tCQXRCdkMsU0FBUzs4QkFHQzt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osRUFBRTt3QkFDRixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsRUFBRTt3QkFFRixpQ0FBaUM7cUJBQ2xDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOztzQkFvQnBDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhBdmF0YXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYXZhdGFyJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYSW1hZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50LCBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUsIEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUFVzZXJBdmF0YXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUENvbW1hbmRFeGVjdXRvciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFBMYXlvdXRUaGVtZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3RoZW1lcy9zaGFyZWQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhQVGVuYW50Q2hvb3NlckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVuYW50LWNob29zZXIvdGVuYW50LWNob29zZXItZHJvcGRvd24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLXNsb3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZmlsZS1zbG90LmNvbXBvbmVudC5zY3NzJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgLy9cbiAgICBBWEltYWdlTW9kdWxlLFxuICAgIEFYQXZhdGFyTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFBVc2VyQXZhdGFyQ29tcG9uZW50LFxuICAgIC8vXG5cbiAgICBBWFBUZW5hbnRDaG9vc2VyRHJvcGRvd25Db21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1BdXRoUHJvZmlsZVNsb3RDb21wb25lbnQge1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KEFYUGxhdGZvcm0pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGNvbW1hbmRFeGVjdXRvciA9IGluamVjdChBWFBDb21tYW5kRXhlY3V0b3IpO1xuXG4gIHByb3RlY3RlZCBpc0RhcmtNb2RlID0gdGhpcy50aGVtZVNlcnZpY2UuaXNEYXJrTW9kZTtcblxuICBwcm90ZWN0ZWQgdXNlciQgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXIkO1xuICBwcm90ZWN0ZWQgdGVuYW50JCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50JDtcblxuICBwcm90ZWN0ZWQgaXNBdXRoZW50aWNhdGVkJCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJDtcblxuICBwcm90ZWN0ZWQgYXBwTmFtZSA9ICgpID0+IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWU7XG5cbiAgQFZpZXdDaGlsZCgncHJvZmlsZVBvcG92ZXInKSBwcm9maWxlUG9wb3ZlciE6IEFYUG9wb3ZlckNvbXBvbmVudDtcblxuICBlZGl0UHJvZmlsZSgpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC8ke3RoaXMuYXBwTmFtZSgpfS9tL1NlY3VyaXR5TWFuYWdlbWVudC9lL3Byb2ZpbGUvMC92aWV3YF0pO1xuICB9XG5cbiAgYXN5bmMgbG9nT3V0KCkge1xuICAgIGF3YWl0IHRoaXMuc2Vzc2lvblNlcnZpY2Uuc2lnbm91dCgpO1xuICB9XG5cbiAgdG9nZ2xlUHJvZmlsZU1lbnUoKSB7XG4gICAgdGhpcy5wcm9maWxlUG9wb3Zlci5vcGVuKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU2lnbkluKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2F1dGgvbG9naW4nXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgb3BlblVzZXJTZXNzaW9uKCkge1xuICAgIGNvbnN0IGNvbSA9IGF3YWl0IGltcG9ydCgnLi4vdXNlci1zZXNzaW9ucy91c2VyLXNlc3Npb25zLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhNVXNlclNlc3Npb25zQ29tcG9uZW50KTtcblxuICAgIHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tLCB7XG4gICAgICBzaXplOiB0aGlzLnBsYXRmb3JtLmlzKCdNb2JpbGUnKSB8fCB0aGlzLnBsYXRmb3JtLmlzKCdTTScpID8gJ2Z1bGwnIDogJ3NtJyxcbiAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BhdXRoOnByb2ZpbGUuc2Vzc2lvbnMudGl0bGUnKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzaG93UHJvZmlsZSgpIHtcbiAgICB0aGlzLmNvbW1hbmRFeGVjdXRvci5leGVjdXRlKCdhdXRoOnByb2ZpbGUnLCB7fSk7XG4gIH1cbn1cbiIsIkBpZiAoaXNBdXRoZW50aWNhdGVkJCB8IGFzeW5jKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1zaXplLWZpdFwiPlxuICAgIDxkaXYgI2F2YXRhcj5cbiAgICAgIDxheHAtdXNlci1hdmF0YXIgW3NpemVdPVwiMzZcIiBbdXNlcklkXT1cIih1c2VyJCB8IGFzeW5jKT8uaWQhXCI+PC9heHAtdXNlci1hdmF0YXI+XG4gICAgPC9kaXY+XG5cbiAgICA8YXgtcG9wb3ZlciBbdGFyZ2V0XT1cImF2YXRhclwiIFtvcGVuT25dPVwiJ3RvZ2dsZSdcIiBbY2xvc2VPbl09XCInY2xpY2tPdXQnXCIgI3A+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYmctbGlnaHRlc3QgYXgtYm9yZGVyIGF4LWJvcmRlci1saWdodGVzdCBheC1yb3VuZGVkLW1kIGF4LXNoYWRvdy1tZCBheC13LWZ1bGwgYXgtbWluLXctNjRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LXAtNCBheC1ib3JkZXItYlwiPlxuICAgICAgICAgIDxheHAtdXNlci1hdmF0YXIgW3NpemVdPVwiNjRcIiBbdXNlcklkXT1cIih1c2VyJCB8IGFzeW5jKT8uaWQhXCI+PC9heHAtdXNlci1hdmF0YXI+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtbXQtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtYmFzZSBheC1mb250LWJvbGRcIj57eyAodXNlciQgfCBhc3luYyk/LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICA8YXhwLXRlbmFudC1jaG9vc2VyLWRyb3Bkb3duPjwvYXhwLXRlbmFudC1jaG9vc2VyLWRyb3Bkb3duPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4cC1wcm9maWxlLXNsb3QtbWVudXNcIj5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJzaG93UHJvZmlsZSgpXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS11c2VyXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdAYXV0aDpwcm9maWxlLmVkaXQnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJwLmNsb3NlKClcIiBbcm91dGVyTGlua109XCJbJy8nLCBhcHBOYW1lKCksICdzZXR0aW5ncycsICd1c2VyJ11cIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWdlYXJcIj48L2k+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0BhdXRoOnByb2ZpbGUuc2V0dGluZ3MnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJvcGVuVXNlclNlc3Npb24oKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtbW9iaWxlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdAYXV0aDpwcm9maWxlLnNlc3Npb25zJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiYXgtdGV4dC1kYW5nZXItNTAwXCI+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJsb2dPdXQoKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0XCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdAYXV0aDpwcm9maWxlLmxvZ291dCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXgtcG9wb3Zlcj5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGF4LWJ1dHRvbiBjb2xvcj1cImRlZmF1bHRcIiBsb29rPVwiYmxhbmtcIiB0ZXh0PVwiU2lnbiBVcCAvIFNpZ24gSW5cIiAoY2xpY2spPVwiaGFuZGxlU2lnbkluKClcIj5cbiAgICA8YXgtaWNvbj5cbiAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtdXNlciBheC10ZXh0LXNsYXRlLTQwMCBkYXJrOmF4LXRleHQtc2xhdGUtMjAwXCI+PC9pPlxuICAgIDwvYXgtaWNvbj5cbiAgPC9heC1idXR0b24+XG59XG4iXX0=","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataProvider } from '@acorex/platform/common';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, ViewChild, inject, signal } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { first } from 'rxjs';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nexport class AXMUserProfileCardSlotComponent {\n constructor() {\n this.router = inject(Router);\n this.sessionService = inject(AXPSessionService);\n this.dataService = inject(AXPDataProvider, { optional: true });\n this.hasPicture = signal(true, ...(ngDevMode ? [{ debugName: \"hasPicture\" }] : []));\n this.avatarText = signal('', ...(ngDevMode ? [{ debugName: \"avatarText\" }] : []));\n this.user$ = this.sessionService.user$;\n this.tenant$ = this.sessionService.tenant$;\n this.isAuthenticated$ = this.sessionService.isAuthenticated$;\n this.appName = () => this.sessionService.application?.name;\n this.getAvatarText = () => {\n this.user$.pipe(first()).subscribe((user) => {\n const names = user?.title.split(' ');\n if (names?.length && names?.length > 1) {\n this.avatarText.set(`${names[0][0].toUpperCase()}${names[names.length - 1][0].toUpperCase()}`);\n }\n else\n return this.avatarText.set('AC');\n });\n };\n this.loadImage();\n this.getAvatarText();\n }\n editProfile() {\n this.router.navigate([`/${this.appName()}/m/securityManagement/e/profile/0/view`]);\n }\n async logOut() {\n await this.sessionService.signout();\n }\n toggleProfileMenu() {\n this.profilePopover.open();\n }\n handleSignIn() {\n this.router.navigate(['/auth/login']);\n }\n onImageError(event) {\n this.hasPicture.set(false);\n }\n async loadImage() {\n try {\n const url = this.sessionService.user?.avatar;\n if (url?.toLowerCase().startsWith('http')) {\n this.src = url;\n }\n else if (this.sessionService.user?.avatar != 'null' && this.dataService) {\n const blob = await this.dataService.viewFile(url, '');\n this.src = URL.createObjectURL(blob);\n }\n else {\n //this.src = this.mockerService.avatar();\n }\n }\n catch (error) {\n this.hasPicture.set(false);\n console.error('Failed to load image by ID:', error);\n this.src = '';\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserProfileCardSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMUserProfileCardSlotComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"profilePopover\", first: true, predicate: [\"profilePopover\"], descendants: true }], ngImport: i0, template: \"@if((isAuthenticated$ | async)) {\\n<div class=\\\"ax-p-3 ax-flex ax-items-center ax-gap-1 ax-border-b ax-border-lighter\\\">\\n <div #avatar>\\n <axp-user-avatar [size]=\\\"48\\\" [userId]=\\\"(user$ | async)?.id!\\\"></axp-user-avatar>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-title class=\\\"ax-text-sm ax-font-medium ax-px-3\\\">{{ (user$ | async)?.title }}</ax-title>\\n <axp-tenant-chooser-dropdown />\\n </div>\\n</div>\\n}\\n\", dependencies: [{ kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXImageModule }, { kind: \"ngmodule\", type: AXAvatarModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"component\", type: \n //\n AXPTenantChooserDropdownComponent, selector: \"axp-tenant-chooser-dropdown\" }, { kind: \"component\", type: AXPUserAvatarComponent, selector: \"axp-user-avatar\", inputs: [\"size\", \"userId\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserProfileCardSlotComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n //\n AXPTenantChooserDropdownComponent,\n AsyncPipe,\n AXPUserAvatarComponent,\n ], template: \"@if((isAuthenticated$ | async)) {\\n<div class=\\\"ax-p-3 ax-flex ax-items-center ax-gap-1 ax-border-b ax-border-lighter\\\">\\n <div #avatar>\\n <axp-user-avatar [size]=\\\"48\\\" [userId]=\\\"(user$ | async)?.id!\\\"></axp-user-avatar>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-title class=\\\"ax-text-sm ax-font-medium ax-px-3\\\">{{ (user$ | async)?.title }}</ax-title>\\n <axp-tenant-chooser-dropdown />\\n </div>\\n</div>\\n}\\n\" }]\n }], ctorParameters: () => [], propDecorators: { profilePopover: [{\n type: ViewChild,\n args: ['profilePopover']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2F1dGgvc3JjL2xpYi9wYWdlcy9hY2NvdW50L3VzZXItcHJvZmlsZS1jYXJkL3VzZXItcHJvZmlsZS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvcGFnZXMvYWNjb3VudC91c2VyLXByb2ZpbGUtY2FyZC91c2VyLXByb2ZpbGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUs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Uzt3QkFDVCxzQkFBc0I7cUJBQ3ZCOztzQkFzQkEsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEF2YXRhck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYSHRtbEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhJbWFnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9pbWFnZSc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFBvcG92ZXJDb21wb25lbnQsIEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQRGF0YVByb3ZpZGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFRlbmFudENob29zZXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL3RlbmFudC1jaG9vc2VyL3RlbmFudC1jaG9vc2VyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1wcm9maWxlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIC8vXG4gICAgQVhJbWFnZU1vZHVsZSxcbiAgICBBWEF2YXRhck1vZHVsZSxcbiAgICBBWFBvcG92ZXJNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWFBUZW5hbnRDaG9vc2VyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIEFYUFVzZXJBdmF0YXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVVzZXJQcm9maWxlQ2FyZFNsb3RDb21wb25lbnQge1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkYXRhU2VydmljZSA9IGluamVjdChBWFBEYXRhUHJvdmlkZXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJvdGVjdGVkIGhhc1BpY3R1cmUgPSBzaWduYWwodHJ1ZSk7XG4gIHByb3RlY3RlZCBhdmF0YXJUZXh0ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubG9hZEltYWdlKCk7XG4gICAgdGhpcy5nZXRBdmF0YXJUZXh0KCk7XG4gIH1cbiAgcHJvdGVjdGVkIHNyYyE6IHN0cmluZztcbiAgcHJvdGVjdGVkIHVzZXIkID0gdGhpcy5zZXNzaW9uU2VydmljZS51c2VyJDtcbiAgcHJvdGVjdGVkIHRlbmFudCQgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLnRlbmFudCQ7XG5cbiAgcHJvdGVjdGVkIGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmlzQXV0aGVudGljYXRlZCQ7XG5cbiAgcHJvdGVjdGVkIGFwcE5hbWUgPSAoKSA9PiB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lO1xuXG4gIEBWaWV3Q2hpbGQoJ3Byb2ZpbGVQb3BvdmVyJykgcHJvZmlsZVBvcG92ZXIhOiBBWFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgZWRpdFByb2ZpbGUoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvJHt0aGlzLmFwcE5hbWUoKX0vbS9zZWN1cml0eU1hbmFnZW1lbnQvZS9wcm9maWxlLzAvdmlld2BdKTtcbiAgfVxuXG4gIGFzeW5jIGxvZ091dCgpIHtcbiAgICBhd2FpdCB0aGlzLnNlc3Npb25TZXJ2aWNlLnNpZ25vdXQoKTtcbiAgfVxuXG4gIHRvZ2dsZVByb2ZpbGVNZW51KCkge1xuICAgIHRoaXMucHJvZmlsZVBvcG92ZXIub3BlbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVNpZ25JbigpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hdXRoL2xvZ2luJ10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW1hZ2VFcnJvcihldmVudDogQVhIdG1sRXZlbnQ8RXJyb3JFdmVudD4pIHtcbiAgICB0aGlzLmhhc1BpY3R1cmUuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdmF0YXJUZXh0ID0gKCkgPT4ge1xuICAgIHRoaXMudXNlciQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVzID0gdXNlcj8udGl0bGUuc3BsaXQoJyAnKTtcbiAgICAgIGlmIChuYW1lcz8ubGVuZ3RoICYmIG5hbWVzPy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMuYXZhdGFyVGV4dC5zZXQoYCR7bmFtZXNbMF1bMF0udG9VcHBlckNhc2UoKX0ke25hbWVzW25hbWVzLmxlbmd0aCAtIDFdWzBdLnRvVXBwZXJDYXNlKCl9YCk7XG4gICAgICB9IGVsc2UgcmV0dXJuIHRoaXMuYXZhdGFyVGV4dC5zZXQoJ0FDJyk7XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkSW1hZ2UoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudXNlcj8uYXZhdGFyIGFzIHN0cmluZztcbiAgICAgIGlmICh1cmw/LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgIHRoaXMuc3JjID0gdXJsO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmF2YXRhciAhPSAnbnVsbCcgJiYgdGhpcy5kYXRhU2VydmljZSkge1xuICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgdGhpcy5kYXRhU2VydmljZS52aWV3RmlsZSh1cmwsICcnKTtcbiAgICAgICAgdGhpcy5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy90aGlzLnNyYyA9IHRoaXMubW9ja2VyU2VydmljZS5hdmF0YXIoKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5oYXNQaWN0dXJlLnNldChmYWxzZSk7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBpbWFnZSBieSBJRDonLCBlcnJvcik7XG4gICAgICB0aGlzLnNyYyA9ICcnO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmKChpc0F1dGhlbnRpY2F0ZWQkIHwgYXN5bmMpKSB7XG48ZGl2IGNsYXNzPVwiYXgtcC0zIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0xIGF4LWJvcmRlci1iIGF4LWJvcmRlci1saWdodGVyXCI+XG4gIDxkaXYgI2F2YXRhcj5cbiAgICA8YXhwLXVzZXItYXZhdGFyIFtzaXplXT1cIjQ4XCIgW3VzZXJJZF09XCIodXNlciQgfCBhc3luYyk/LmlkIVwiPjwvYXhwLXVzZXItYXZhdGFyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2xcIj5cbiAgICA8YXgtdGl0bGUgY2xhc3M9XCJheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtIGF4LXB4LTNcIj57eyAodXNlciQgfCBhc3luYyk/LnRpdGxlIH19PC9heC10aXRsZT5cbiAgICA8YXhwLXRlbmFudC1jaG9vc2VyLWRyb3Bkb3duIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG59XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { Subject, timer } from 'rxjs';\nimport { startWith, switchMap, tap } from 'rxjs/operators';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\nimport * as i0 from \"@angular/core\";\nexport class AXPIdleService {\n constructor() {\n this.configs = inject(AXM_AUTH_CONFIG_TOKEN);\n this.idle$ = new Subject();\n this.timeoutDuration = this.configs.idleTimeout ?? 10 * 60 * 1000;\n this.userActivity$ = new Subject();\n this.idleSubscription = null;\n this.setupActivityListeners();\n }\n get idleState$() {\n return this.idle$.asObservable();\n }\n setupActivityListeners() {\n const activityEvents = ['mousemove', 'keydown', 'wheel'];\n activityEvents.forEach(event => document.addEventListener(event, () => this.resetTimer()));\n }\n startWatching() {\n this.stopWatching(); // Stop any existing subscription\n this.idleSubscription = this.userActivity$.pipe(startWith(null), switchMap(() => timer(this.timeoutDuration)), tap(() => this.idle$.next())).subscribe();\n }\n resetTimer() {\n this.userActivity$.next();\n }\n stopWatching() {\n if (this.idleSubscription) {\n this.idleSubscription.unsubscribe();\n this.idleSubscription = null;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPIdleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPIdleService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPIdleService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2F1dGgvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvaWRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQWMsS0FBSyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLGNBQWM7SUFPdkI7UUFOUSxZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM3RCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEMscUJBQWdCLEdBQXdCLElBQUksQ0FBQztRQUdqRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsTUFBTSxjQUFjLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pELGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDM0IsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FDNUQsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsaUNBQWlDO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQzVDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQy9CLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4Q1EsY0FBYzttSEFBZCxjQUFjLGNBREQsTUFBTTs7NEZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCB0aW1lciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQVhNX0FVVEhfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vLi4vYXV0aC5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUElkbGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhNX0FVVEhfQ09ORklHX1RPS0VOKTtcbiAgICBwcml2YXRlIGlkbGUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHRpbWVvdXREdXJhdGlvbiA9IHRoaXMuY29uZmlncy5pZGxlVGltZW91dCA/PyAxMCAqIDYwICogMTAwMDtcbiAgICBwcml2YXRlIHVzZXJBY3Rpdml0eSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgaWRsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZXR1cEFjdGl2aXR5TGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlkbGVTdGF0ZSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkbGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBBY3Rpdml0eUxpc3RlbmVycygpIHtcbiAgICAgICAgY29uc3QgYWN0aXZpdHlFdmVudHMgPSBbJ21vdXNlbW92ZScsICdrZXlkb3duJywgJ3doZWVsJ107XG4gICAgICAgIGFjdGl2aXR5RXZlbnRzLmZvckVhY2goZXZlbnQgPT5cbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsICgpID0+IHRoaXMucmVzZXRUaW1lcigpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHN0YXJ0V2F0Y2hpbmcoKSB7XG4gICAgICAgIHRoaXMuc3RvcFdhdGNoaW5nKCk7IC8vIFN0b3AgYW55IGV4aXN0aW5nIHN1YnNjcmlwdGlvblxuICAgICAgICB0aGlzLmlkbGVTdWJzY3JpcHRpb24gPSB0aGlzLnVzZXJBY3Rpdml0eSQucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aW1lcih0aGlzLnRpbWVvdXREdXJhdGlvbikpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuaWRsZSQubmV4dCgpKSxcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICByZXNldFRpbWVyKCkge1xuICAgICAgICB0aGlzLnVzZXJBY3Rpdml0eSQubmV4dCgpO1xuICAgIH1cblxuICAgIHN0b3BXYXRjaGluZygpIHtcbiAgICAgICAgaWYgKHRoaXMuaWRsZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pZGxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLmlkbGVTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMDeviceSessionsService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDeviceSessionsServiceImpl extends AXMDeviceSessionsService {\n constructor(http) {\n super('SecurityManagement.DeviceSessions'); // Fixed: Use correct entity name format\n this.http = http;\n // private aXMAuthConfigs: AXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n }\n terminate(id) {\n throw new Error('Method not implemented.');\n }\n async terminateAllCurrentUserSessions() {\n return (this.http\n .post(this.configs.baseUrl + '/security-management/device-sessions/Terminate-All', {})\n .pipe(map((t) => (t === undefined ? false : t)))\n .toPromise() ?? false);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDeviceSessionsServiceImpl, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDeviceSessionsServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMDeviceSessionsServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXNlc3Npb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9kZXZpY2Utc2Vzc2lvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRWhFLE1BQU0sT0FBZ0Isd0JBQXlCLFNBQVEsd0JBR3REO0NBR0E7QUFHRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsd0JBQXdCO0lBR3hFLFlBQW9CLElBQWdCO1FBQ2xDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsd0NBQXdDO1FBRGxFLFNBQUksR0FBSixJQUFJLENBQVk7UUFGcEMsMEVBQTBFO1FBQ2xFLFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUdoRCxDQUFDO0lBRVEsU0FBUyxDQUFDLEVBQVU7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFUSxLQUFLLENBQUMsK0JBQStCO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSTthQUNkLElBQUksQ0FDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxvREFBb0QsRUFDM0UsRUFBRSxDQUNIO2FBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0MsU0FBUyxFQUFFLElBQUksS0FBSyxDQUFxQixDQUFDO0lBQy9DLENBQUM7K0dBbkJVLDRCQUE0QjttSEFBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuLy8gVE9ETzogVXBkYXRlIFJvb3RDb25maWcgaW1wb3J0IHRvIHRoZSBjb3JyZWN0IGxvY2F0aW9uIGluIGF1dGggbW9kdWxlIGlmIG5lZWRlZFxuaW1wb3J0IHsgQVhNU2VjdXJpdHlNYW5hZ2VtZW50RGV2aWNlU2Vzc2lvbnNFbnRpdHlNb2RlbCB9IGZyb20gJy4uL3R5cGVzL2RldmljZS1zZXNzaW9ucy50eXBlcyc7XG5pbXBvcnQgeyBBWFBfUk9PVF9DT05GSUdfVE9LRU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWE1EZXZpY2VTZXNzaW9uc1NlcnZpY2UgZXh0ZW5kcyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8XG4gIHN0cmluZyxcbiAgQVhNU2VjdXJpdHlNYW5hZ2VtZW50RGV2aWNlU2Vzc2lvbnNFbnRpdHlNb2RlbFxuPiB7XG4gIGFic3RyYWN0IHRlcm1pbmF0ZShpZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbiAgYWJzdHJhY3QgdGVybWluYXRlQWxsQ3VycmVudFVzZXJTZXNzaW9ucygpOiBQcm9taXNlPGJvb2xlYW4+O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlSW1wbCBleHRlbmRzIEFYTURldmljZVNlc3Npb25zU2VydmljZSB7XG4gIC8vIHByaXZhdGUgYVhNQXV0aENvbmZpZ3M6IEFYTUF1dGhDb25maWdzID0gaW5qZWN0KEFYTV9BVVRIX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgY29uZmlncyA9IGluamVjdChBWFBfUk9PVF9DT05GSUdfVE9LRU4pO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcignU2VjdXJpdHlNYW5hZ2VtZW50LkRldmljZVNlc3Npb25zJyk7IC8vIEZpeGVkOiBVc2UgY29ycmVjdCBlbnRpdHkgbmFtZSBmb3JtYXRcbiAgfVxuXG4gIG92ZXJyaWRlIHRlcm1pbmF0ZShpZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgdGVybWluYXRlQWxsQ3VycmVudFVzZXJTZXNzaW9ucygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8Ym9vbGVhbj4oXG4gICAgICAgIHRoaXMuY29uZmlncy5iYXNlVXJsICsgJy9zZWN1cml0eS1tYW5hZ2VtZW50L2RldmljZS1zZXNzaW9ucy9UZXJtaW5hdGUtQWxsJyxcbiAgICAgICAge30sXG4gICAgICApXG4gICAgICAucGlwZShtYXAoKHQpID0+ICh0ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IHQpKSlcbiAgICAgIC50b1Byb21pc2UoKSA/PyBmYWxzZSkgYXMgUHJvbWlzZTxib29sZWFuPjtcbiAgfVxufSAgIl19","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMDeviceSessionsService } from '../../../shared/services';\nimport * as i0 from \"@angular/core\";\nexport class AXMUserDeviceSessionsService {\n}\nexport class AXMUserDeviceSessionsServiceImp extends AXMUserDeviceSessionsService {\n constructor() {\n super(); // Call the base class constructor (good practice)\n this.sessionService = inject(AXPSessionService);\n this.deviceSessionsService = inject(AXMDeviceSessionsService);\n this.settingsService = inject(AXPSettingsService);\n }\n async getSessions() {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n return [];\n }\n const response = await this.deviceSessionsService.query();\n const items = response.items.filter((item) => item.userId === userId && String(item.status).toLowerCase() === 'active' && !item.isActiveSession);\n return items;\n }\n async getCurrentActiveSessions() {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n throw new Error('No user found in session');\n }\n const response = await this.deviceSessionsService.query();\n const activeSession = response.items.find((item) => item.userId === userId && String(item.status).toLowerCase() === 'active' && item.isActiveSession);\n return activeSession;\n }\n async terminateSession(sessionId) {\n await this.deviceSessionsService.updateOne(sessionId, { status: 'revoked' });\n }\n async terminateAllSession() {\n await this.deviceSessionsService.terminateAllCurrentUserSessions();\n }\n async setTokenLifetimeMinutes(value) {\n await this.settingsService.scope(AXPPlatformScope.User).set('session-timeout', value);\n let s2 = await this.settingsService.scope(AXPPlatformScope.User).get('session-timeout');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserDeviceSessionsServiceImp, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserDeviceSessionsServiceImp }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMUserDeviceSessionsServiceImp, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXNzaW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2F1dGgvc3JjL2xpYi9wYWdlcy9hY2NvdW50L3VzZXItc2Vzc2lvbnMvdXNlci1zZXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVwRSxNQUFNLE9BQWdCLDRCQUE0QjtDQU1qRDtBQUdELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSw0QkFBNEI7SUFLL0U7UUFDRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLGtEQUFrRDtRQUxyRCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3pELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFJckQsQ0FBQztJQUVRLEtBQUssQ0FBQyxXQUFXO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FDakgsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVRLEtBQUssQ0FBQyx3QkFBd0I7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3ZDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUNoSCxDQUFDO1FBRUYsT0FBTyxhQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVRLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUMvQyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVRLEtBQUssQ0FBQyxtQkFBbUI7UUFDaEMsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsK0JBQStCLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRVEsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQVU7UUFDL0MsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEYsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRixDQUFDOytHQTdDVSwrQkFBK0I7bUhBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvckVhY2ggfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhNU2VjdXJpdHlNYW5hZ2VtZW50RGV2aWNlU2Vzc2lvbnNFbnRpdHlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgeyBBWE1EZXZpY2VTZXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNVXNlckRldmljZVNlc3Npb25zU2VydmljZSB7XG4gIGFic3RyYWN0IGdldFNlc3Npb25zKCk6IFByb21pc2U8QVhNU2VjdXJpdHlNYW5hZ2VtZW50RGV2aWNlU2Vzc2lvbnNFbnRpdHlNb2RlbFtdPjtcbiAgYWJzdHJhY3QgZ2V0Q3VycmVudEFjdGl2ZVNlc3Npb25zKCk6IFByb21pc2U8QVhNU2VjdXJpdHlNYW5hZ2VtZW50RGV2aWNlU2Vzc2lvbnNFbnRpdHlNb2RlbD47XG4gIGFic3RyYWN0IHRlcm1pbmF0ZVNlc3Npb24oc2Vzc2lvbklkOiBzdHJpbmcpOiBhbnk7XG4gIGFic3RyYWN0IHRlcm1pbmF0ZUFsbFNlc3Npb24oKTogYW55O1xuICBhYnN0cmFjdCBzZXRUb2tlbkxpZmV0aW1lTWludXRlcyh2YWx1ZTogc3RyaW5nKTogYW55O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNVXNlckRldmljZVNlc3Npb25zU2VydmljZUltcCBleHRlbmRzIEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkZXZpY2VTZXNzaW9uc1NlcnZpY2UgPSBpbmplY3QoQVhNRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXR0aW5nc1NlcnZpY2UgPSBpbmplY3QoQVhQU2V0dGluZ3NTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpOyAvLyBDYWxsIHRoZSBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yIChnb29kIHByYWN0aWNlKVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0U2Vzc2lvbnMoKTogUHJvbWlzZTxBWE1TZWN1cml0eU1hbmFnZW1lbnREZXZpY2VTZXNzaW9uc0VudGl0eU1vZGVsW10+IHtcbiAgICBjb25zdCB1c2VySWQgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmlkO1xuICAgIGlmICghdXNlcklkKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5kZXZpY2VTZXNzaW9uc1NlcnZpY2UucXVlcnkoKTtcbiAgICBjb25zdCBpdGVtcyA9IHJlc3BvbnNlLml0ZW1zLmZpbHRlcihcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0udXNlcklkID09PSB1c2VySWQgJiYgU3RyaW5nKGl0ZW0uc3RhdHVzKS50b0xvd2VyQ2FzZSgpID09PSAnYWN0aXZlJyAmJiAhaXRlbS5pc0FjdGl2ZVNlc3Npb24sXG4gICAgKTtcbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRDdXJyZW50QWN0aXZlU2Vzc2lvbnMoKTogUHJvbWlzZTxBWE1TZWN1cml0eU1hbmFnZW1lbnREZXZpY2VTZXNzaW9uc0VudGl0eU1vZGVsPiB7XG4gICAgY29uc3QgdXNlcklkID0gdGhpcy5zZXNzaW9uU2VydmljZS51c2VyPy5pZDtcbiAgICBpZiAoIXVzZXJJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB1c2VyIGZvdW5kIGluIHNlc3Npb24nKTtcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRldmljZVNlc3Npb25zU2VydmljZS5xdWVyeSgpO1xuICAgIGNvbnN0IGFjdGl2ZVNlc3Npb24gPSByZXNwb25zZS5pdGVtcy5maW5kKFxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS51c2VySWQgPT09IHVzZXJJZCAmJiBTdHJpbmcoaXRlbS5zdGF0dXMpLnRvTG93ZXJDYXNlKCkgPT09ICdhY3RpdmUnICYmIGl0ZW0uaXNBY3RpdmVTZXNzaW9uLFxuICAgICk7XG5cbiAgICByZXR1cm4gYWN0aXZlU2Vzc2lvbiE7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyB0ZXJtaW5hdGVTZXNzaW9uKHNlc3Npb25JZDogc3RyaW5nKSB7XG4gICAgYXdhaXQgdGhpcy5kZXZpY2VTZXNzaW9uc1NlcnZpY2UudXBkYXRlT25lKHNlc3Npb25JZCwgeyBzdGF0dXM6ICdyZXZva2VkJyB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHRlcm1pbmF0ZUFsbFNlc3Npb24oKSB7XG4gICAgYXdhaXQgdGhpcy5kZXZpY2VTZXNzaW9uc1NlcnZpY2UudGVybWluYXRlQWxsQ3VycmVudFVzZXJTZXNzaW9ucygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgc2V0VG9rZW5MaWZldGltZU1pbnV0ZXModmFsdWU6IGFueSkge1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcikuc2V0KCdzZXNzaW9uLXRpbWVvdXQnLCB2YWx1ZSk7XG4gICAgbGV0IHMyID0gYXdhaXQgdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKS5nZXQoJ3Nlc3Npb24tdGltZW91dCcpO1xuICB9XG59XG4iXX0=","import { AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nexport const canActivateTenantChooser = async (route, state) => {\n const sessionService = inject(AXPSessionService);\n const authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n const router = inject(Router);\n const strategyName = sessionService.getSessionData()?.strategy;\n const strategy = authStrategyRegistry.get(strategyName);\n const tenants = await firstValueFrom(sessionService.tenants$);\n if (tenants.length === 0) {\n window.alert('You do not have any tenant assigned to your account and cannot use the site. Please contact your administrator.');\n return router.createUrlTree(['/auth/login']);\n }\n if (tenants.length === 1) {\n if (strategy && typeof strategy.updateToken === 'function') {\n const updateContext = {\n user: sessionService.user,\n tenant: tenants[0],\n };\n await sessionService.updateToken(updateContext);\n return router.createUrlTree(['/auth/account/app-chooser']);\n }\n return false;\n }\n return true;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWNob29zZXIuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvdGVuYW50LWNob29zZXIvdGVuYW50LWNob29zZXIuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQXlDLE1BQU0sRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFrQixLQUFLLEVBQzFELEtBQTZCLEVBQzdCLEtBQTBCLEVBQzFCLEVBQUU7SUFDRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsY0FBYyxFQUFFLEVBQUUsUUFBUSxDQUFDO0lBQy9ELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxZQUFhLENBQUMsQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxLQUFLLENBQ1YsaUhBQWlILENBQ2xILENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsSUFBSSxRQUFRLElBQUksT0FBTyxRQUFRLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzNELE1BQU0sYUFBYSxHQUFHO2dCQUNwQixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7Z0JBQ3pCLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ25CLENBQUM7WUFDRixNQUFNLGNBQWMsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDaEQsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEF1dGhTdHJhdGVneVJlZ2lzdHJ5U2VydmljZSwgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZUZuLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IGNhbkFjdGl2YXRlVGVuYW50Q2hvb3NlcjogQ2FuQWN0aXZhdGVGbiA9IGFzeW5jIChcbiAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuKSA9PiB7XG4gIGNvbnN0IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgY29uc3QgYXV0aFN0cmF0ZWd5UmVnaXN0cnkgPSBpbmplY3QoQVhQQXV0aFN0cmF0ZWd5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IHN0cmF0ZWd5TmFtZSA9IHNlc3Npb25TZXJ2aWNlLmdldFNlc3Npb25EYXRhKCk/LnN0cmF0ZWd5O1xuICBjb25zdCBzdHJhdGVneSA9IGF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldChzdHJhdGVneU5hbWUhKTtcbiAgY29uc3QgdGVuYW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHNlc3Npb25TZXJ2aWNlLnRlbmFudHMkKTtcbiAgaWYgKHRlbmFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgd2luZG93LmFsZXJ0KFxuICAgICAgJ1lvdSBkbyBub3QgaGF2ZSBhbnkgdGVuYW50IGFzc2lnbmVkIHRvIHlvdXIgYWNjb3VudCBhbmQgY2Fubm90IHVzZSB0aGUgc2l0ZS4gUGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLicsXG4gICAgKTtcbiAgICByZXR1cm4gcm91dGVyLmNyZWF0ZVVybFRyZWUoWycvYXV0aC9sb2dpbiddKTtcbiAgfVxuICBpZiAodGVuYW50cy5sZW5ndGggPT09IDEpIHtcbiAgICBpZiAoc3RyYXRlZ3kgJiYgdHlwZW9mIHN0cmF0ZWd5LnVwZGF0ZVRva2VuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCB1cGRhdGVDb250ZXh0ID0ge1xuICAgICAgICB1c2VyOiBzZXNzaW9uU2VydmljZS51c2VyLFxuICAgICAgICB0ZW5hbnQ6IHRlbmFudHNbMF0sXG4gICAgICB9O1xuICAgICAgYXdhaXQgc2Vzc2lvblNlcnZpY2UudXBkYXRlVG9rZW4odXBkYXRlQ29udGV4dCk7XG4gICAgICByZXR1cm4gcm91dGVyLmNyZWF0ZVVybFRyZWUoWycvYXV0aC9hY2NvdW50L2FwcC1jaG9vc2VyJ10pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuIl19","import { AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXP_MODULE_PROVIDER_LOADER } from '@acorex/platform/core';\nimport { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nexport const canActivateAppChooser = async (route, state) => {\n const sessionService = inject(AXPSessionService);\n const authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n const homePageService = inject(AXPHomePageService);\n const router = inject(Router);\n const moduleProviderLoader = inject(AXP_MODULE_PROVIDER_LOADER);\n const strategyName = sessionService.getSessionData()?.strategy;\n const strategy = authStrategyRegistry.get(strategyName);\n const apps = await firstValueFrom(sessionService.applications$);\n if (apps.length === 0) {\n await router.navigate(['/auth/login']);\n return false;\n }\n if (apps.length === 1) {\n const tenantId = sessionService.tenant?.id;\n if (!tenantId) {\n throw new Error('Tenant ID is missing. Please contact support.');\n }\n if (strategy && typeof strategy.updateToken === 'function') {\n const updateContext = {\n user: sessionService.user,\n tenant: sessionService.tenant,\n application: apps[0],\n };\n await sessionService.updateToken(updateContext);\n // Load module providers before redirecting\n try {\n console.log('[AppChooserGuard] Loading module providers for single application...');\n await moduleProviderLoader.loadProvidersForApplication(apps[0]);\n console.log('[AppChooserGuard] Module providers loaded successfully');\n }\n catch (error) {\n console.error('[AppChooserGuard] Failed to load module providers:', error);\n // Don't block navigation if provider loading fails\n }\n return router.createUrlTree([homePageService.getCurrent().path]);\n }\n return false;\n }\n return true;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNob29zZXIuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvYXBwLWNob29zZXIvYXBwLWNob29zZXIuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQXlDLE1BQU0sRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFrQixLQUFLLEVBQ3ZELEtBQTZCLEVBQzdCLEtBQTBCLEVBQzFCLEVBQUU7SUFDRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLENBQUM7SUFDL0QsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFlBQWEsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sSUFBSSxHQUFHLE1BQU0sY0FBYyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVoRSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDM0QsTUFBTSxhQUFhLEdBQUc7Z0JBQ3BCLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtnQkFDekIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2dCQUM3QixXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNyQixDQUFDO1lBQ0YsTUFBTSxjQUFjLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRWhELDJDQUEyQztZQUMzQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO2dCQUNwRixNQUFNLG9CQUFvQixDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7WUFDeEUsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxvREFBb0QsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDM0UsbURBQW1EO1lBQ3JELENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBdXRoU3RyYXRlZ3lSZWdpc3RyeVNlcnZpY2UsIEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUF9NT0RVTEVfUFJPVklERVJfTE9BREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGVGbiwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBjYW5BY3RpdmF0ZUFwcENob29zZXI6IENhbkFjdGl2YXRlRm4gPSBhc3luYyAoXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbikgPT4ge1xuICBjb25zdCBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIGNvbnN0IGF1dGhTdHJhdGVneVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEF1dGhTdHJhdGVneVJlZ2lzdHJ5U2VydmljZSk7XG4gIGNvbnN0IGhvbWVQYWdlU2VydmljZSA9IGluamVjdChBWFBIb21lUGFnZVNlcnZpY2UpO1xuICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgY29uc3QgbW9kdWxlUHJvdmlkZXJMb2FkZXIgPSBpbmplY3QoQVhQX01PRFVMRV9QUk9WSURFUl9MT0FERVIpO1xuICBjb25zdCBzdHJhdGVneU5hbWUgPSBzZXNzaW9uU2VydmljZS5nZXRTZXNzaW9uRGF0YSgpPy5zdHJhdGVneTtcbiAgY29uc3Qgc3RyYXRlZ3kgPSBhdXRoU3RyYXRlZ3lSZWdpc3RyeS5nZXQoc3RyYXRlZ3lOYW1lISk7XG4gIGNvbnN0IGFwcHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShzZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbnMkKTtcblxuICBpZiAoYXBwcy5sZW5ndGggPT09IDApIHtcbiAgICBhd2FpdCByb3V0ZXIubmF2aWdhdGUoWycvYXV0aC9sb2dpbiddKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoYXBwcy5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCB0ZW5hbnRJZCA9IHNlc3Npb25TZXJ2aWNlLnRlbmFudD8uaWQ7XG4gICAgaWYgKCF0ZW5hbnRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUZW5hbnQgSUQgaXMgbWlzc2luZy4gUGxlYXNlIGNvbnRhY3Qgc3VwcG9ydC4nKTtcbiAgICB9XG4gICAgaWYgKHN0cmF0ZWd5ICYmIHR5cGVvZiBzdHJhdGVneS51cGRhdGVUb2tlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgdXBkYXRlQ29udGV4dCA9IHtcbiAgICAgICAgdXNlcjogc2Vzc2lvblNlcnZpY2UudXNlcixcbiAgICAgICAgdGVuYW50OiBzZXNzaW9uU2VydmljZS50ZW5hbnQsXG4gICAgICAgIGFwcGxpY2F0aW9uOiBhcHBzWzBdLFxuICAgICAgfTtcbiAgICAgIGF3YWl0IHNlc3Npb25TZXJ2aWNlLnVwZGF0ZVRva2VuKHVwZGF0ZUNvbnRleHQpO1xuXG4gICAgICAvLyBMb2FkIG1vZHVsZSBwcm92aWRlcnMgYmVmb3JlIHJlZGlyZWN0aW5nXG4gICAgICB0cnkge1xuICAgICAgICBjb25zb2xlLmxvZygnW0FwcENob29zZXJHdWFyZF0gTG9hZGluZyBtb2R1bGUgcHJvdmlkZXJzIGZvciBzaW5nbGUgYXBwbGljYXRpb24uLi4nKTtcbiAgICAgICAgYXdhaXQgbW9kdWxlUHJvdmlkZXJMb2FkZXIubG9hZFByb3ZpZGVyc0ZvckFwcGxpY2F0aW9uKGFwcHNbMF0pO1xuICAgICAgICBjb25zb2xlLmxvZygnW0FwcENob29zZXJHdWFyZF0gTW9kdWxlIHByb3ZpZGVycyBsb2FkZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdbQXBwQ2hvb3Nlckd1YXJkXSBGYWlsZWQgdG8gbG9hZCBtb2R1bGUgcHJvdmlkZXJzOicsIGVycm9yKTtcbiAgICAgICAgLy8gRG9uJ3QgYmxvY2sgbmF2aWdhdGlvbiBpZiBwcm92aWRlciBsb2FkaW5nIGZhaWxzXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbaG9tZVBhZ2VTZXJ2aWNlLmdldEN1cnJlbnQoKS5wYXRoXSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG4iXX0=","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, RouterModule, } from '@angular/router';\nimport { AXMAppChooserSlotComponent } from './app-chooser/app-chooser-slot.component';\nimport { AXMAuthProfileSlotComponent } from './profile/profile-slot.component';\nimport { AXMUserProfileCardSlotComponent } from './user-profile-card/user-profile-card.component';\nimport { AXMUserDeviceSessionsService, AXMUserDeviceSessionsServiceImp } from './user-sessions/user-sessions.service';\nimport { canActivateTenantChooser } from './tenant-chooser/tenant-chooser.guard';\nimport { canActivateAppChooser } from './app-chooser/app-chooser.guard';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/layout/components\";\nfunction routesFacory() {\n let routes = [];\n routes = [\n {\n path: 'tenant-chooser',\n loadComponent: () => import('./tenant-chooser/tenant-chooser.component').then((c) => c.AXPAuthTenantChooserComponent),\n canActivate: [AXPAuthGuard, canActivateTenantChooser],\n },\n {\n path: 'app-chooser',\n loadComponent: () => import('./app-chooser/app-chooser.component').then((c) => c.AXPAuthAppChooserComponent),\n canActivate: [AXPAuthGuard, canActivateAppChooser],\n },\n ];\n return routes;\n}\nexport class AXPAccountModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPAccountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPAccountModule, imports: [RouterModule, i1.AXPComponentSlotModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPAccountModule, providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXMUserDeviceSessionsService,\n useClass: AXMUserDeviceSessionsServiceImp,\n },\n ], imports: [RouterModule,\n //\n AXPComponentSlotModule.forChild({\n 'root-side-menu-header': [\n {\n priority: 1,\n name: 'user-card',\n component: AXMUserProfileCardSlotComponent,\n },\n ],\n 'root-header-end': [\n {\n priority: 98,\n name: 'app-choser',\n component: AXMAppChooserSlotComponent,\n },\n {\n priority: 99,\n name: 'profile',\n component: AXMAuthProfileSlotComponent,\n },\n ],\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPAccountModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [\n RouterModule,\n //\n AXPComponentSlotModule.forChild({\n 'root-side-menu-header': [\n {\n priority: 1,\n name: 'user-card',\n component: AXMUserProfileCardSlotComponent,\n },\n ],\n 'root-header-end': [\n {\n priority: 98,\n name: 'app-choser',\n component: AXMAppChooserSlotComponent,\n },\n {\n priority: 99,\n name: 'profile',\n component: AXMAuthProfileSlotComponent,\n },\n ],\n }),\n ],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXMUserDeviceSessionsService,\n useClass: AXMUserDeviceSessionsServiceImp,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFHTCxNQUFNLEVBRU4sWUFBWSxHQUdiLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUV4RSxTQUFTLFlBQVk7SUFDbkIsSUFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sR0FBRztRQUNQO1lBQ0UsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO1lBQ2xHLFdBQVcsRUFBRSxDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQztTQUN0RDtRQUNEO1lBQ0UsSUFBSSxFQUFFLGFBQWE7WUFDbkIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1lBQzVHLFdBQVcsRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQztTQUNuRDtLQUNGLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBMENELE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLFlBckN6QixZQUFZO2dIQXFDSCxnQkFBZ0IsYUFaaEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsTUFBTTtnQkFDZixLQUFLLEVBQUUsSUFBSTtnQkFDWCxVQUFVLEVBQUUsWUFBWTthQUN6QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFFBQVEsRUFBRSwrQkFBK0I7YUFDMUM7U0FDRixZQW5DQyxZQUFZO1lBQ1osRUFBRTtZQUNGLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztnQkFDOUIsdUJBQXVCLEVBQUU7b0JBQ3ZCO3dCQUNFLFFBQVEsRUFBRSxDQUFDO3dCQUNYLElBQUksRUFBRSxXQUFXO3dCQUNqQixTQUFTLEVBQUUsK0JBQStCO3FCQUMzQztpQkFDRjtnQkFDRCxpQkFBaUIsRUFBRTtvQkFDakI7d0JBQ0UsUUFBUSxFQUFFLEVBQUU7d0JBQ1osSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLFNBQVMsRUFBRSwwQkFBMEI7cUJBQ3RDO29CQUNEO3dCQUNFLFFBQVEsRUFBRSxFQUFFO3dCQUNaLElBQUksRUFBRSxTQUFTO3dCQUNmLFNBQVMsRUFBRSwyQkFBMkI7cUJBQ3ZDO2lCQUNGO2FBQ0YsQ0FBQzs7NEZBZU8sZ0JBQWdCO2tCQXhDNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osRUFBRTt3QkFDRixzQkFBc0IsQ0FBQyxRQUFRLENBQUM7NEJBQzlCLHVCQUF1QixFQUFFO2dDQUN2QjtvQ0FDRSxRQUFRLEVBQUUsQ0FBQztvQ0FDWCxJQUFJLEVBQUUsV0FBVztvQ0FDakIsU0FBUyxFQUFFLCtCQUErQjtpQ0FDM0M7NkJBQ0Y7NEJBQ0QsaUJBQWlCLEVBQUU7Z0NBQ2pCO29DQUNFLFFBQVEsRUFBRSxFQUFFO29DQUNaLElBQUksRUFBRSxZQUFZO29DQUNsQixTQUFTLEVBQUUsMEJBQTBCO2lDQUN0QztnQ0FDRDtvQ0FDRSxRQUFRLEVBQUUsRUFBRTtvQ0FDWixJQUFJLEVBQUUsU0FBUztvQ0FDZixTQUFTLEVBQUUsMkJBQTJCO2lDQUN2Qzs2QkFDRjt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsTUFBTTs0QkFDZixLQUFLLEVBQUUsSUFBSTs0QkFDWCxVQUFVLEVBQUUsWUFBWTt5QkFDekI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsUUFBUSxFQUFFLCtCQUErQjt5QkFDMUM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBdXRoR3VhcmQsIEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUENvbXBvbmVudFNsb3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IE5nTW9kdWxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkFjdGl2YXRlRm4sXG4gIFJPVVRFUyxcbiAgUm91dGVyLFxuICBSb3V0ZXJNb2R1bGUsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG4gIFJvdXRlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWE1BcHBDaG9vc2VyU2xvdENvbXBvbmVudCB9IGZyb20gJy4vYXBwLWNob29zZXIvYXBwLWNob29zZXItc2xvdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNQXV0aFByb2ZpbGVTbG90Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9maWxlL3Byb2ZpbGUtc2xvdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNVXNlclByb2ZpbGVDYXJkU2xvdENvbXBvbmVudCB9IGZyb20gJy4vdXNlci1wcm9maWxlLWNhcmQvdXNlci1wcm9maWxlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UsIEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2VJbXAgfSBmcm9tICcuL3VzZXItc2Vzc2lvbnMvdXNlci1zZXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IGNhbkFjdGl2YXRlVGVuYW50Q2hvb3NlciB9IGZyb20gJy4vdGVuYW50LWNob29zZXIvdGVuYW50LWNob29zZXIuZ3VhcmQnO1xuaW1wb3J0IHsgY2FuQWN0aXZhdGVBcHBDaG9vc2VyIH0gZnJvbSAnLi9hcHAtY2hvb3Nlci9hcHAtY2hvb3Nlci5ndWFyZCc7XG5cbmZ1bmN0aW9uIHJvdXRlc0ZhY29yeSgpIHtcbiAgbGV0IHJvdXRlczogUm91dGVzID0gW107XG4gIHJvdXRlcyA9IFtcbiAgICB7XG4gICAgICBwYXRoOiAndGVuYW50LWNob29zZXInLFxuICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgaW1wb3J0KCcuL3RlbmFudC1jaG9vc2VyL3RlbmFudC1jaG9vc2VyLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQQXV0aFRlbmFudENob29zZXJDb21wb25lbnQpLFxuICAgICAgY2FuQWN0aXZhdGU6IFtBWFBBdXRoR3VhcmQsIGNhbkFjdGl2YXRlVGVuYW50Q2hvb3Nlcl0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwYXRoOiAnYXBwLWNob29zZXInLFxuICAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2FwcC1jaG9vc2VyL2FwcC1jaG9vc2VyLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQQXV0aEFwcENob29zZXJDb21wb25lbnQpLFxuICAgICAgY2FuQWN0aXZhdGU6IFtBWFBBdXRoR3VhcmQsIGNhbkFjdGl2YXRlQXBwQ2hvb3Nlcl0sXG4gICAgfSxcbiAgXTtcbiAgcmV0dXJuIHJvdXRlcztcbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck1vZHVsZSxcbiAgICAvL1xuICAgIEFYUENvbXBvbmVudFNsb3RNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgJ3Jvb3Qtc2lkZS1tZW51LWhlYWRlcic6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByaW9yaXR5OiAxLFxuICAgICAgICAgIG5hbWU6ICd1c2VyLWNhcmQnLFxuICAgICAgICAgIGNvbXBvbmVudDogQVhNVXNlclByb2ZpbGVDYXJkU2xvdENvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICAncm9vdC1oZWFkZXItZW5kJzogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJpb3JpdHk6IDk4LFxuICAgICAgICAgIG5hbWU6ICdhcHAtY2hvc2VyJyxcbiAgICAgICAgICBjb21wb25lbnQ6IEFYTUFwcENob29zZXJTbG90Q29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJpb3JpdHk6IDk5LFxuICAgICAgICAgIG5hbWU6ICdwcm9maWxlJyxcbiAgICAgICAgICBjb21wb25lbnQ6IEFYTUF1dGhQcm9maWxlU2xvdENvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IHJvdXRlc0ZhY29yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UsXG4gICAgICB1c2VDbGFzczogQVhNVXNlckRldmljZVNlc3Npb25zU2VydmljZUltcCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBBY2NvdW50TW9kdWxlIHt9XG4iXX0=","//#region ---- Imports ----\nimport { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { AXPModuleManifestRegistry, AXPModuleProviderRegistry, AXPFeatureDefinitionProviderContext, AXP_MODULE_ACCESS_CONTROL_SERVICE, DefaultModuleAccessControlService, AXP_EDITION_SERVICE, } from '@acorex/platform/core';\nimport { AXPPermissionDefinitionService, AXPSessionService, AXPSessionStatus } from '@acorex/platform/auth';\nimport { AXPMenuProviderService, AXPSettingDefinitionProviderService, AXPDebugService } from '@acorex/platform/common';\nimport { AXPComponentSlotRegistryService } from '@acorex/platform/layout/components';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\n//#endregion\n//#region ---- Module Provider Loader Service ----\n/**\n * Service responsible for loading and registering module providers conditionally\n * based on access control and dependencies.\n */\nexport class AXPModuleProviderLoader {\n constructor() {\n //#region ---- Fields ----\n this.manifestRegistry = inject(AXPModuleManifestRegistry);\n this.providerRegistry = inject(AXPModuleProviderRegistry);\n this.injector = inject(Injector);\n this.debugService = inject(AXPDebugService);\n this.registeredModules = new Set();\n }\n /**\n * Get session service lazily to avoid circular dependency.\n * SessionService depends on AXP_MODULE_PROVIDER_LOADER, which is provided by this service.\n */\n getSessionService() {\n return this.injector.get(AXPSessionService);\n }\n getAccessControlService() {\n const customService = this.injector.get(AXP_MODULE_ACCESS_CONTROL_SERVICE, null, { optional: true });\n return customService || this.injector.get(DefaultModuleAccessControlService);\n }\n //#endregion\n //#region ---- Public Methods ----\n async loadProviders(context) {\n await this.manifestRegistry.initialize();\n const manifests = this.manifestRegistry.getAll();\n const loadPromises = [];\n const requiredModules = [];\n for (const manifest of manifests) {\n if (manifest.required && !this.registeredModules.has(manifest.name)) {\n requiredModules.push(manifest);\n }\n }\n const requiredModulesSet = new Set();\n for (const manifest of requiredModules) {\n this.collectRequiredModules(manifest, manifests, requiredModulesSet);\n }\n const requiredManifestsToLoad = Array.from(requiredModulesSet)\n .map((name) => this.manifestRegistry.get(name))\n .filter((m) => m !== undefined && !this.registeredModules.has(m.name));\n for (const manifest of requiredManifestsToLoad) {\n loadPromises.push(this.registerProviders(manifest));\n }\n const modulesWithAccess = new Map();\n const explicitlyAccessibleModules = new Set();\n const checkModuleAccessCached = async (manifest) => {\n if (manifest.required) {\n return true;\n }\n if (modulesWithAccess.has(manifest.name)) {\n return modulesWithAccess.get(manifest.name);\n }\n const hasAccess = await this.checkModuleAccess(manifest, context);\n modulesWithAccess.set(manifest.name, hasAccess);\n return hasAccess;\n };\n for (const manifest of manifests) {\n if (this.registeredModules.has(manifest.name)) {\n continue;\n }\n if (manifest.required) {\n continue;\n }\n const dependencyCheck = this.manifestRegistry.checkDependencies(manifest.name);\n if (dependencyCheck.missingFeatures.length > 0) {\n console.warn(`[ModuleProviderLoader] Module '${manifest.name}' has unmet feature dependencies:`, dependencyCheck.missingFeatures);\n continue;\n }\n const hasAccess = await checkModuleAccessCached(manifest);\n if (!hasAccess) {\n continue;\n }\n explicitlyAccessibleModules.add(manifest.name);\n }\n const modulesToLoadSet = new Set(explicitlyAccessibleModules);\n const collectDependencies = (moduleName) => {\n const manifest = this.manifestRegistry.get(moduleName);\n if (!manifest || !manifest.dependencies?.modules) {\n return;\n }\n for (const depModule of manifest.dependencies.modules) {\n if (!this.manifestRegistry.has(depModule)) {\n console.warn(`[ModuleProviderLoader] Module '${moduleName}' depends on missing module: ${depModule}`);\n continue;\n }\n if (modulesToLoadSet.has(depModule) || this.registeredModules.has(depModule)) {\n continue;\n }\n const depManifest = this.manifestRegistry.get(depModule);\n if (depManifest?.required) {\n continue;\n }\n modulesToLoadSet.add(depModule);\n collectDependencies(depModule);\n }\n };\n for (const moduleName of explicitlyAccessibleModules) {\n collectDependencies(moduleName);\n }\n const modulesToLoad = Array.from(modulesToLoadSet)\n .map((name) => this.manifestRegistry.get(name))\n .filter((m) => m !== undefined);\n for (const manifest of modulesToLoad) {\n loadPromises.push(this.registerProviders(manifest));\n }\n await Promise.all(loadPromises);\n const allLoadedModules = new Set();\n for (const manifest of requiredManifestsToLoad) {\n allLoadedModules.add(manifest.name);\n }\n for (const manifest of modulesToLoad) {\n allLoadedModules.add(manifest.name);\n }\n await this.clearServiceCaches(Array.from(allLoadedModules));\n }\n async loadRequiredModules() {\n await this.manifestRegistry.initialize();\n const manifests = this.manifestRegistry.getAll();\n const requiredModulesSet = new Set();\n for (const manifest of manifests) {\n if (manifest.required && !this.registeredModules.has(manifest.name)) {\n this.collectRequiredModules(manifest, manifests, requiredModulesSet);\n }\n }\n const requiredManifestsToLoad = Array.from(requiredModulesSet)\n .map((name) => this.manifestRegistry.get(name))\n .filter((m) => m !== undefined && !this.registeredModules.has(m.name));\n if (requiredManifestsToLoad.length === 0) {\n return;\n }\n const loadPromises = requiredManifestsToLoad.map((manifest) => this.registerProviders(manifest));\n await Promise.all(loadPromises);\n const requiredModuleNames = requiredManifestsToLoad.map((m) => m.name);\n await this.clearServiceCaches(requiredModuleNames);\n }\n collectRequiredModules(manifest, allManifests, collected) {\n if (collected.has(manifest.name)) {\n return;\n }\n collected.add(manifest.name);\n if (manifest.dependencies?.modules) {\n for (const depName of manifest.dependencies.modules) {\n const depManifest = allManifests.find((m) => m.name === depName);\n if (depManifest) {\n this.collectRequiredModules(depManifest, allManifests, collected);\n }\n }\n }\n }\n isModuleRegistered(moduleName) {\n return this.registeredModules.has(moduleName);\n }\n async clear() {\n await this.manifestRegistry.initialize();\n const requiredModules = new Set();\n const manifests = this.manifestRegistry.getAll();\n for (const manifest of manifests) {\n if (manifest.required && this.registeredModules.has(manifest.name)) {\n this.collectRequiredModules(manifest, manifests, requiredModules);\n }\n }\n for (const moduleName of this.registeredModules) {\n if (!requiredModules.has(moduleName)) {\n this.registeredModules.delete(moduleName);\n }\n }\n this.providerRegistry.clear();\n const requiredModulesArray = Array.from(requiredModules);\n await this.clearServiceCaches(requiredModulesArray);\n if (requiredModules.size > 0) {\n const requiredManifests = Array.from(requiredModules)\n .map((name) => this.manifestRegistry.get(name))\n .filter((m) => m !== undefined);\n await Promise.all(requiredManifests.map((manifest) => this.registerProviders(manifest)));\n await this.clearServiceCaches(requiredModulesArray);\n }\n }\n /**\n * Load module providers for a specific application.\n * This method can be called from guards, components, or startup tasks.\n * @param application The application to load providers for\n * @returns Promise that resolves when providers are loaded\n */\n async loadProvidersForApplication(application) {\n debugger;\n try {\n console.log('[ModuleProviderLoader] loadProvidersForApplication called for application:', application.name);\n if (!application.edition?.id) {\n console.warn('[ModuleProviderLoader] Application has no edition, skipping provider loading');\n return;\n }\n const editionService = this.injector.get(AXP_EDITION_SERVICE, null, { optional: true });\n if (!editionService) {\n console.warn('[ModuleProviderLoader] EditionService not available, skipping provider loading');\n return;\n }\n // Use getOne if available, otherwise fallback to query\n let edition;\n const editionServiceWithGetOne = editionService;\n if (typeof editionServiceWithGetOne.getOne === 'function') {\n edition = await editionServiceWithGetOne.getOne(application.edition.id);\n }\n else {\n const editionsResult = await editionService.query({ skip: 0, take: 1000 });\n edition = editionsResult.items.find((e) => e.id === application.edition.id);\n }\n if (!edition) {\n console.warn(`[ModuleProviderLoader] Edition not found: ${application.edition.id} for application ${application.id}`);\n return;\n }\n const sessionService = this.getSessionService();\n const tenant = sessionService.tenant;\n const user = sessionService.user;\n if (!tenant || !user) {\n throw new Error('Tenant or user is missing');\n }\n console.log('[ModuleProviderLoader] Loading module providers for application:', application.name);\n await this.loadProviders({\n tenant,\n application,\n edition: {\n id: edition.id,\n title: edition.title,\n modulesAndFeatures: edition.modulesAndFeatures,\n },\n subscription: undefined, // TODO: Get subscription if available\n user,\n });\n console.log('[ModuleProviderLoader] Module providers loaded successfully');\n // Display all loaded modules, features, and permissions\n try {\n await this.debugService.displayUserAccessInfo();\n }\n catch (debugError) {\n console.warn('[ModuleProviderLoader] Failed to display user access info:', debugError);\n // Don't throw - this is just for debugging\n }\n }\n catch (error) {\n console.error('[ModuleProviderLoader] Failed to load module providers:', error);\n // Don't throw - allow navigation even if provider loading fails\n }\n }\n /**\n * Load module providers if session is ready.\n * Waits for session to be authenticated/authorized, then loads providers.\n * @returns Promise that resolves when providers are loaded or skipped\n */\n async loadProvidersIfReady() {\n try {\n const sessionService = this.getSessionService();\n const isLoading = await firstValueFrom(sessionService.isLoading$);\n if (isLoading) {\n await firstValueFrom(sessionService.isLoading$.pipe(filter((loading) => !loading), take(1)));\n }\n const status = await firstValueFrom(sessionService.status$);\n if (status !== AXPSessionStatus.Authenticated && status !== AXPSessionStatus.Authorized) {\n console.log('[ModuleProviderLoader] User not authenticated, skipping provider loading');\n return;\n }\n const tenant = sessionService.tenant;\n const application = sessionService.application;\n const user = sessionService.user;\n if (!tenant || !application || !user) {\n console.log('[ModuleProviderLoader] Tenant, application, or user not available, skipping provider loading');\n return;\n }\n // Use the shared method\n await this.loadProvidersForApplication(application);\n }\n catch (error) {\n console.error('[ModuleProviderLoader] Failed to load module providers:', error);\n // Don't throw - allow navigation even if provider loading fails\n }\n }\n //#endregion\n //#region ---- Private Methods ----\n async checkModuleAccess(manifest, context) {\n try {\n const accessControlService = this.getAccessControlService();\n const result = await Promise.resolve(accessControlService.checkAccess(manifest, context));\n return result === true;\n }\n catch (error) {\n console.error(`[ModuleProviderLoader] Error checking access for module '${manifest.name}':`, error);\n return false;\n }\n }\n async registerProviders(manifest) {\n try {\n if (manifest.permissions?.provider) {\n await this.registerPermissionProvider(manifest);\n }\n if (manifest.menus?.provider) {\n await this.registerMenuProvider(manifest);\n }\n if (manifest.entities?.provider) {\n await this.registerEntityProvider(manifest);\n }\n if (manifest.settings?.provider) {\n await this.registerSettingsProvider(manifest);\n }\n if (manifest.search?.provider) {\n await this.registerSearchProvider(manifest);\n }\n if (manifest.features?.provider) {\n await this.registerFeaturesProvider(manifest);\n }\n if (manifest.datasources?.provider) {\n await this.registerDatasourceProvider(manifest);\n }\n if (manifest.componentSlots?.provider) {\n await this.registerComponentSlotsProvider(manifest);\n }\n this.registeredModules.add(manifest.name);\n }\n catch (error) {\n console.error(`[ModuleProviderLoader] Failed to register providers for module '${manifest.name}':`, error);\n throw error;\n }\n }\n async registerPermissionProvider(manifest) {\n const ProviderClass = await manifest.permissions.provider();\n const provider = runInInjectionContext(this.injector, () => {\n return new ProviderClass(this.injector);\n });\n this.providerRegistry.registerPermissionProvider(provider);\n }\n async registerMenuProvider(manifest) {\n const ProviderClass = await manifest.menus.provider();\n const provider = runInInjectionContext(this.injector, () => {\n return new ProviderClass();\n });\n this.providerRegistry.registerMenuProvider(provider);\n }\n async registerEntityProvider(manifest) {\n const ProviderClass = await manifest.entities.provider();\n const provider = runInInjectionContext(this.injector, () => {\n return new ProviderClass(this.injector);\n });\n this.providerRegistry.registerEntityProvider(provider);\n }\n async registerSettingsProvider(manifest) {\n const ProviderClass = await manifest.settings.provider();\n const provider = runInInjectionContext(this.injector, () => {\n return new ProviderClass(this.injector);\n });\n this.providerRegistry.registerSettingProvider(provider);\n }\n async registerSearchProvider(manifest) {\n const ProviderClass = await manifest.search.provider();\n const provider = runInInjectionContext(this.injector, () => {\n return new ProviderClass();\n });\n this.providerRegistry.registerSearchProvider(provider);\n }\n async registerFeaturesProvider(manifest) {\n const ProviderClass = await manifest.features.provider();\n const provider = runInInjectionContext(this.injector, () => {\n return new ProviderClass();\n });\n this.providerRegistry.registerFeatureProvider(provider);\n const context = new AXPFeatureDefinitionProviderContext();\n await provider.provide(context);\n const dynamicFeatures = context.getFeatures();\n for (const [key, definition] of dynamicFeatures.entries()) {\n const [moduleName, ...keyParts] = key.split(':');\n const shortKey = keyParts.join(':');\n this.manifestRegistry.registerFeatureDefinition({\n ...definition,\n name: key,\n module: moduleName,\n key: shortKey,\n });\n }\n }\n async registerDatasourceProvider(manifest) {\n const ProviderClass = await manifest.datasources.provider();\n const provider = runInInjectionContext(this.injector, () => {\n return new ProviderClass();\n });\n this.providerRegistry.registerDatasourceProvider(provider);\n }\n async registerComponentSlotsProvider(manifest) {\n const configs = await manifest.componentSlots.provider();\n const registry = this.injector.get(AXPComponentSlotRegistryService);\n for (const [slotName, slotConfigs] of Object.entries(configs)) {\n slotConfigs.forEach((config) => {\n registry.register(slotName, config);\n });\n }\n }\n async clearServiceCaches(preserveModules) {\n // Step 1: Reload permission definitions (structure) and await completion\n try {\n const permissionService = this.injector.get(AXPPermissionDefinitionService, null, { optional: true });\n if (permissionService && typeof permissionService.reload === 'function') {\n await permissionService.reload();\n console.log('[ModuleProviderLoader] Permission definitions reloaded');\n }\n }\n catch (error) {\n console.warn('[ModuleProviderLoader] Failed to reload permission definitions:', error);\n }\n // Step 2: Reload session permissions (actual keys user has)\n // This is critical because menu visibility checks use sessionService.authorize()\n // which checks against sessionService.permissions array\n // Note: We reload permissions by calling updateToken which triggers restoreSession()\n // which calls loadPermissions(). updateToken only calls restoreSession() if\n // tenant and application are set, which they should be at this point.\n try {\n const sessionService = this.injector.get(AXPSessionService, null, { optional: true });\n if (sessionService && sessionService.user && sessionService.tenant && sessionService.application) {\n // updateToken will trigger restoreSession() which reloads permissions\n // We pass the current context to updateToken\n const context = sessionService.getContext();\n await sessionService.updateToken({\n user: context.user,\n tenant: context.tenant,\n application: context.application,\n });\n console.log('[ModuleProviderLoader] Session permissions reloaded via updateToken');\n }\n }\n catch (error) {\n console.warn('[ModuleProviderLoader] Failed to reload session permissions:', error);\n // Continue even if this fails - menu will still work, just might have stale permissions briefly\n }\n // Step 3: Clear menu cache AFTER permissions are ready\n // This ensures menu visibility checks have access to updated permissions\n try {\n const menuService = this.injector.get(AXPMenuProviderService, null, { optional: true });\n if (menuService && typeof menuService.clearCache === 'function') {\n menuService.clearCache();\n console.log('[ModuleProviderLoader] Menu cache cleared after permissions reload');\n }\n }\n catch (error) {\n // Ignore\n }\n try {\n const settingsService = this.injector.get(AXPSettingDefinitionProviderService, null, { optional: true });\n if (settingsService && typeof settingsService.reload === 'function') {\n settingsService.reload().catch((error) => {\n console.warn('[ModuleProviderLoader] Failed to reload settings:', error);\n });\n }\n }\n catch (error) {\n // Ignore\n }\n try {\n const entityService = this.injector.get(AXPEntityDefinitionRegistryService, null, { optional: true });\n if (entityService && typeof entityService.clear === 'function') {\n entityService.clear(preserveModules);\n }\n }\n catch (error) {\n // Ignore\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPModuleProviderLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPModuleProviderLoader, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPModuleProviderLoader, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXByb3ZpZGVyLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2F1dGgvc3JjL2xpYi9tb2R1bGUtcHJvdmlkZXItbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUNMLHlCQUF5QixFQUV6Qix5QkFBeUIsRUFDekIsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUdqQyxpQ0FBaUMsRUFFakMsbUJBQW1CLEdBRXBCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBRTVILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQ0FBbUMsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsWUFBWTtBQUVaLHNEQUFzRDtBQUV0RDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRUUsOEJBQThCO1FBRWIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDckQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDckQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFR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SSxhQUFhLElBQUksT0FBTyxhQUFhLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUMvRCxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFNBQVM7UUFDWCxDQUFDO0lBQ0gsQ0FBQzsrR0FuakJVLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRFYsTUFBTTs7NEZBQ25CLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEFYUE1vZHVsZU1hbmlmZXN0UmVnaXN0cnksXG4gIEFYUE1vZHVsZU1hbmlmZXN0LFxuICBBWFBNb2R1bGVQcm92aWRlclJlZ2lzdHJ5LFxuICBBWFBGZWF0dXJlRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCxcbiAgQVhQX01PRFVMRV9BQ0NFU1NfQ09OVFJPTF9TRVJWSUNFLFxuICBBWFBNb2R1bGVBY2Nlc3NDb250cm9sU2VydmljZSxcbiAgQVhQTW9kdWxlQWNjZXNzQ29udGV4dCxcbiAgRGVmYXVsdE1vZHVsZUFjY2Vzc0NvbnRyb2xTZXJ2aWNlLFxuICBBWFBJTW9kdWxlUHJvdmlkZXJMb2FkZXIsXG4gIEFYUF9FRElUSU9OX1NFUlZJQ0UsXG4gIEFYUElFZGl0aW9uU2VydmljZSxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFBlcm1pc3Npb25EZWZpbml0aW9uU2VydmljZSwgQVhQU2Vzc2lvblNlcnZpY2UsIEFYUFNlc3Npb25TdGF0dXMsIEFYUEFwcGxpY2F0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB0eXBlIHsgQVhQU2Vzc2lvblNlcnZpY2UgYXMgQVhQU2Vzc2lvblNlcnZpY2VUeXBlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUE1lbnVQcm92aWRlclNlcnZpY2UsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlLCBBWFBEZWJ1Z1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBDb21wb25lbnRTbG90UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgTW9kdWxlIFByb3ZpZGVyIExvYWRlciBTZXJ2aWNlICAgLS0tLVxuXG4vKipcbiAqIFNlcnZpY2UgcmVzcG9uc2libGUgZm9yIGxvYWRpbmcgYW5kIHJlZ2lzdGVyaW5nIG1vZHVsZSBwcm92aWRlcnMgY29uZGl0aW9uYWxseVxuICogYmFzZWQgb24gYWNjZXNzIGNvbnRyb2wgYW5kIGRlcGVuZGVuY2llcy5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBNb2R1bGVQcm92aWRlckxvYWRlciBpbXBsZW1lbnRzIEFYUElNb2R1bGVQcm92aWRlckxvYWRlciB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgRmllbGRzICAgLS0tLVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFuaWZlc3RSZWdpc3RyeSA9IGluamVjdChBWFBNb2R1bGVNYW5pZmVzdFJlZ2lzdHJ5KTtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlclJlZ2lzdHJ5ID0gaW5qZWN0KEFYUE1vZHVsZVByb3ZpZGVyUmVnaXN0cnkpO1xuICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWJ1Z1NlcnZpY2UgPSBpbmplY3QoQVhQRGVidWdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZWdpc3RlcmVkTW9kdWxlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBHZXQgc2Vzc2lvbiBzZXJ2aWNlIGxhemlseSB0byBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5LlxuICAgKiBTZXNzaW9uU2VydmljZSBkZXBlbmRzIG9uIEFYUF9NT0RVTEVfUFJPVklERVJfTE9BREVSLCB3aGljaCBpcyBwcm92aWRlZCBieSB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBwcml2YXRlIGdldFNlc3Npb25TZXJ2aWNlKCk6IEFYUFNlc3Npb25TZXJ2aWNlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWNjZXNzQ29udHJvbFNlcnZpY2UoKTogQVhQTW9kdWxlQWNjZXNzQ29udHJvbFNlcnZpY2Uge1xuICAgIGNvbnN0IGN1c3RvbVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFBfTU9EVUxFX0FDQ0VTU19DT05UUk9MX1NFUlZJQ0UsIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgcmV0dXJuIGN1c3RvbVNlcnZpY2UgfHwgdGhpcy5pbmplY3Rvci5nZXQoRGVmYXVsdE1vZHVsZUFjY2Vzc0NvbnRyb2xTZXJ2aWNlKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUHVibGljIE1ldGhvZHMgICAtLS0tXG5cbiAgYXN5bmMgbG9hZFByb3ZpZGVycyhjb250ZXh0OiBBWFBNb2R1bGVBY2Nlc3NDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5tYW5pZmVzdFJlZ2lzdHJ5LmluaXRpYWxpemUoKTtcblxuICAgIGNvbnN0IG1hbmlmZXN0cyA9IHRoaXMubWFuaWZlc3RSZWdpc3RyeS5nZXRBbGwoKTtcbiAgICBjb25zdCBsb2FkUHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdO1xuXG4gICAgY29uc3QgcmVxdWlyZWRNb2R1bGVzOiBBWFBNb2R1bGVNYW5pZmVzdFtdID0gW107XG4gICAgZm9yIChjb25zdCBtYW5pZmVzdCBvZiBtYW5pZmVzdHMpIHtcbiAgICAgIGlmIChtYW5pZmVzdC5yZXF1aXJlZCAmJiAhdGhpcy5yZWdpc3RlcmVkTW9kdWxlcy5oYXMobWFuaWZlc3QubmFtZSkpIHtcbiAgICAgICAgcmVxdWlyZWRNb2R1bGVzLnB1c2gobWFuaWZlc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkTW9kdWxlc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGZvciAoY29uc3QgbWFuaWZlc3Qgb2YgcmVxdWlyZWRNb2R1bGVzKSB7XG4gICAgICB0aGlzLmNvbGxlY3RSZXF1aXJlZE1vZHVsZXMobWFuaWZlc3QsIG1hbmlmZXN0cywgcmVxdWlyZWRNb2R1bGVzU2V0KTtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1aXJlZE1hbmlmZXN0c1RvTG9hZCA9IEFycmF5LmZyb20ocmVxdWlyZWRNb2R1bGVzU2V0KVxuICAgICAgLm1hcCgobmFtZSkgPT4gdGhpcy5tYW5pZmVzdFJlZ2lzdHJ5LmdldChuYW1lKSlcbiAgICAgIC5maWx0ZXIoKG0pOiBtIGlzIEFYUE1vZHVsZU1hbmlmZXN0ID0+IG0gIT09IHVuZGVmaW5lZCAmJiAhdGhpcy5yZWdpc3RlcmVkTW9kdWxlcy5oYXMobS5uYW1lKSk7XG5cbiAgICBmb3IgKGNvbnN0IG1hbmlmZXN0IG9mIHJlcXVpcmVkTWFuaWZlc3RzVG9Mb2FkKSB7XG4gICAgICBsb2FkUHJvbWlzZXMucHVzaCh0aGlzLnJlZ2lzdGVyUHJvdmlkZXJzKG1hbmlmZXN0KSk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kdWxlc1dpdGhBY2Nlc3MgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcbiAgICBjb25zdCBleHBsaWNpdGx5QWNjZXNzaWJsZU1vZHVsZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIGNvbnN0IGNoZWNrTW9kdWxlQWNjZXNzQ2FjaGVkID0gYXN5bmMgKG1hbmlmZXN0OiBBWFBNb2R1bGVNYW5pZmVzdCk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgICAgaWYgKG1hbmlmZXN0LnJlcXVpcmVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobW9kdWxlc1dpdGhBY2Nlc3MuaGFzKG1hbmlmZXN0Lm5hbWUpKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGVzV2l0aEFjY2Vzcy5nZXQobWFuaWZlc3QubmFtZSkhO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoYXNBY2Nlc3MgPSBhd2FpdCB0aGlzLmNoZWNrTW9kdWxlQWNjZXNzKG1hbmlmZXN0LCBjb250ZXh0KTtcbiAgICAgIG1vZHVsZXNXaXRoQWNjZXNzLnNldChtYW5pZmVzdC5uYW1lLCBoYXNBY2Nlc3MpO1xuICAgICAgcmV0dXJuIGhhc0FjY2VzcztcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBtYW5pZmVzdCBvZiBtYW5pZmVzdHMpIHtcbiAgICAgIGlmICh0aGlzLnJlZ2lzdGVyZWRNb2R1bGVzLmhhcyhtYW5pZmVzdC5uYW1lKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hbmlmZXN0LnJlcXVpcmVkKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZXBlbmRlbmN5Q2hlY2sgPSB0aGlzLm1hbmlmZXN0UmVnaXN0cnkuY2hlY2tEZXBlbmRlbmNpZXMobWFuaWZlc3QubmFtZSk7XG4gICAgICBpZiAoZGVwZW5kZW5jeUNoZWNrLm1pc3NpbmdGZWF0dXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBNb2R1bGUgJyR7bWFuaWZlc3QubmFtZX0nIGhhcyB1bm1ldCBmZWF0dXJlIGRlcGVuZGVuY2llczpgLFxuICAgICAgICAgIGRlcGVuZGVuY3lDaGVjay5taXNzaW5nRmVhdHVyZXNcbiAgICAgICAgKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhc0FjY2VzcyA9IGF3YWl0IGNoZWNrTW9kdWxlQWNjZXNzQ2FjaGVkKG1hbmlmZXN0KTtcbiAgICAgIGlmICghaGFzQWNjZXNzKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBleHBsaWNpdGx5QWNjZXNzaWJsZU1vZHVsZXMuYWRkKG1hbmlmZXN0Lm5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZHVsZXNUb0xvYWRTZXQgPSBuZXcgU2V0PHN0cmluZz4oZXhwbGljaXRseUFjY2Vzc2libGVNb2R1bGVzKTtcblxuICAgIGNvbnN0IGNvbGxlY3REZXBlbmRlbmNpZXMgPSAobW9kdWxlTmFtZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBtYW5pZmVzdCA9IHRoaXMubWFuaWZlc3RSZWdpc3RyeS5nZXQobW9kdWxlTmFtZSk7XG4gICAgICBpZiAoIW1hbmlmZXN0IHx8ICFtYW5pZmVzdC5kZXBlbmRlbmNpZXM/Lm1vZHVsZXMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGRlcE1vZHVsZSBvZiBtYW5pZmVzdC5kZXBlbmRlbmNpZXMubW9kdWxlcykge1xuICAgICAgICBpZiAoIXRoaXMubWFuaWZlc3RSZWdpc3RyeS5oYXMoZGVwTW9kdWxlKSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIE1vZHVsZSAnJHttb2R1bGVOYW1lfScgZGVwZW5kcyBvbiBtaXNzaW5nIG1vZHVsZTogJHtkZXBNb2R1bGV9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobW9kdWxlc1RvTG9hZFNldC5oYXMoZGVwTW9kdWxlKSB8fCB0aGlzLnJlZ2lzdGVyZWRNb2R1bGVzLmhhcyhkZXBNb2R1bGUpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZXBNYW5pZmVzdCA9IHRoaXMubWFuaWZlc3RSZWdpc3RyeS5nZXQoZGVwTW9kdWxlKTtcbiAgICAgICAgaWYgKGRlcE1hbmlmZXN0Py5yZXF1aXJlZCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbW9kdWxlc1RvTG9hZFNldC5hZGQoZGVwTW9kdWxlKTtcbiAgICAgICAgY29sbGVjdERlcGVuZGVuY2llcyhkZXBNb2R1bGUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IG1vZHVsZU5hbWUgb2YgZXhwbGljaXRseUFjY2Vzc2libGVNb2R1bGVzKSB7XG4gICAgICBjb2xsZWN0RGVwZW5kZW5jaWVzKG1vZHVsZU5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZHVsZXNUb0xvYWQgPSBBcnJheS5mcm9tKG1vZHVsZXNUb0xvYWRTZXQpXG4gICAgICAubWFwKChuYW1lKSA9PiB0aGlzLm1hbmlmZXN0UmVnaXN0cnkuZ2V0KG5hbWUpKVxuICAgICAgLmZpbHRlcigobSk6IG0gaXMgQVhQTW9kdWxlTWFuaWZlc3QgPT4gbSAhPT0gdW5kZWZpbmVkKTtcblxuICAgIGZvciAoY29uc3QgbWFuaWZlc3Qgb2YgbW9kdWxlc1RvTG9hZCkge1xuICAgICAgbG9hZFByb21pc2VzLnB1c2godGhpcy5yZWdpc3RlclByb3ZpZGVycyhtYW5pZmVzdCkpO1xuICAgIH1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGxvYWRQcm9taXNlcyk7XG5cbiAgICBjb25zdCBhbGxMb2FkZWRNb2R1bGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IG1hbmlmZXN0IG9mIHJlcXVpcmVkTWFuaWZlc3RzVG9Mb2FkKSB7XG4gICAgICBhbGxMb2FkZWRNb2R1bGVzLmFkZChtYW5pZmVzdC5uYW1lKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1hbmlmZXN0IG9mIG1vZHVsZXNUb0xvYWQpIHtcbiAgICAgIGFsbExvYWRlZE1vZHVsZXMuYWRkKG1hbmlmZXN0Lm5hbWUpO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuY2xlYXJTZXJ2aWNlQ2FjaGVzKEFycmF5LmZyb20oYWxsTG9hZGVkTW9kdWxlcykpO1xuICB9XG5cbiAgYXN5bmMgbG9hZFJlcXVpcmVkTW9kdWxlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLm1hbmlmZXN0UmVnaXN0cnkuaW5pdGlhbGl6ZSgpO1xuXG4gICAgY29uc3QgbWFuaWZlc3RzID0gdGhpcy5tYW5pZmVzdFJlZ2lzdHJ5LmdldEFsbCgpO1xuICAgIGNvbnN0IHJlcXVpcmVkTW9kdWxlc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCBtYW5pZmVzdCBvZiBtYW5pZmVzdHMpIHtcbiAgICAgIGlmIChtYW5pZmVzdC5yZXF1aXJlZCAmJiAhdGhpcy5yZWdpc3RlcmVkTW9kdWxlcy5oYXMobWFuaWZlc3QubmFtZSkpIHtcbiAgICAgICAgdGhpcy5jb2xsZWN0UmVxdWlyZWRNb2R1bGVzKG1hbmlmZXN0LCBtYW5pZmVzdHMsIHJlcXVpcmVkTW9kdWxlc1NldCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWlyZWRNYW5pZmVzdHNUb0xvYWQgPSBBcnJheS5mcm9tKHJlcXVpcmVkTW9kdWxlc1NldClcbiAgICAgIC5tYXAoKG5hbWUpID0+IHRoaXMubWFuaWZlc3RSZWdpc3RyeS5nZXQobmFtZSkpXG4gICAgICAuZmlsdGVyKChtKTogbSBpcyBBWFBNb2R1bGVNYW5pZmVzdCA9PiBtICE9PSB1bmRlZmluZWQgJiYgIXRoaXMucmVnaXN0ZXJlZE1vZHVsZXMuaGFzKG0ubmFtZSkpO1xuXG4gICAgaWYgKHJlcXVpcmVkTWFuaWZlc3RzVG9Mb2FkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxvYWRQcm9taXNlcyA9IHJlcXVpcmVkTWFuaWZlc3RzVG9Mb2FkLm1hcCgobWFuaWZlc3QpID0+IHRoaXMucmVnaXN0ZXJQcm92aWRlcnMobWFuaWZlc3QpKTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChsb2FkUHJvbWlzZXMpO1xuXG4gICAgY29uc3QgcmVxdWlyZWRNb2R1bGVOYW1lcyA9IHJlcXVpcmVkTWFuaWZlc3RzVG9Mb2FkLm1hcCgobSkgPT4gbS5uYW1lKTtcbiAgICBhd2FpdCB0aGlzLmNsZWFyU2VydmljZUNhY2hlcyhyZXF1aXJlZE1vZHVsZU5hbWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGVjdFJlcXVpcmVkTW9kdWxlcyhcbiAgICBtYW5pZmVzdDogQVhQTW9kdWxlTWFuaWZlc3QsXG4gICAgYWxsTWFuaWZlc3RzOiBBWFBNb2R1bGVNYW5pZmVzdFtdLFxuICAgIGNvbGxlY3RlZDogU2V0PHN0cmluZz5cbiAgKTogdm9pZCB7XG4gICAgaWYgKGNvbGxlY3RlZC5oYXMobWFuaWZlc3QubmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb2xsZWN0ZWQuYWRkKG1hbmlmZXN0Lm5hbWUpO1xuXG4gICAgaWYgKG1hbmlmZXN0LmRlcGVuZGVuY2llcz8ubW9kdWxlcykge1xuICAgICAgZm9yIChjb25zdCBkZXBOYW1lIG9mIG1hbmlmZXN0LmRlcGVuZGVuY2llcy5tb2R1bGVzKSB7XG4gICAgICAgIGNvbnN0IGRlcE1hbmlmZXN0ID0gYWxsTWFuaWZlc3RzLmZpbmQoKG0pID0+IG0ubmFtZSA9PT0gZGVwTmFtZSk7XG4gICAgICAgIGlmIChkZXBNYW5pZmVzdCkge1xuICAgICAgICAgIHRoaXMuY29sbGVjdFJlcXVpcmVkTW9kdWxlcyhkZXBNYW5pZmVzdCwgYWxsTWFuaWZlc3RzLCBjb2xsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNNb2R1bGVSZWdpc3RlcmVkKG1vZHVsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyZWRNb2R1bGVzLmhhcyhtb2R1bGVOYW1lKTtcbiAgfVxuXG4gIGFzeW5jIGNsZWFyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWFuaWZlc3RSZWdpc3RyeS5pbml0aWFsaXplKCk7XG5cbiAgICBjb25zdCByZXF1aXJlZE1vZHVsZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBjb25zdCBtYW5pZmVzdHMgPSB0aGlzLm1hbmlmZXN0UmVnaXN0cnkuZ2V0QWxsKCk7XG4gICAgZm9yIChjb25zdCBtYW5pZmVzdCBvZiBtYW5pZmVzdHMpIHtcbiAgICAgIGlmIChtYW5pZmVzdC5yZXF1aXJlZCAmJiB0aGlzLnJlZ2lzdGVyZWRNb2R1bGVzLmhhcyhtYW5pZmVzdC5uYW1lKSkge1xuICAgICAgICB0aGlzLmNvbGxlY3RSZXF1aXJlZE1vZHVsZXMobWFuaWZlc3QsIG1hbmlmZXN0cywgcmVxdWlyZWRNb2R1bGVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1vZHVsZU5hbWUgb2YgdGhpcy5yZWdpc3RlcmVkTW9kdWxlcykge1xuICAgICAgaWYgKCFyZXF1aXJlZE1vZHVsZXMuaGFzKG1vZHVsZU5hbWUpKSB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJlZE1vZHVsZXMuZGVsZXRlKG1vZHVsZU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucHJvdmlkZXJSZWdpc3RyeS5jbGVhcigpO1xuXG4gICAgY29uc3QgcmVxdWlyZWRNb2R1bGVzQXJyYXkgPSBBcnJheS5mcm9tKHJlcXVpcmVkTW9kdWxlcyk7XG4gICAgYXdhaXQgdGhpcy5jbGVhclNlcnZpY2VDYWNoZXMocmVxdWlyZWRNb2R1bGVzQXJyYXkpO1xuXG4gICAgaWYgKHJlcXVpcmVkTW9kdWxlcy5zaXplID4gMCkge1xuICAgICAgY29uc3QgcmVxdWlyZWRNYW5pZmVzdHMgPSBBcnJheS5mcm9tKHJlcXVpcmVkTW9kdWxlcylcbiAgICAgICAgLm1hcCgobmFtZSkgPT4gdGhpcy5tYW5pZmVzdFJlZ2lzdHJ5LmdldChuYW1lKSlcbiAgICAgICAgLmZpbHRlcigobSk6IG0gaXMgQVhQTW9kdWxlTWFuaWZlc3QgPT4gbSAhPT0gdW5kZWZpbmVkKTtcblxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocmVxdWlyZWRNYW5pZmVzdHMubWFwKChtYW5pZmVzdCkgPT4gdGhpcy5yZWdpc3RlclByb3ZpZGVycyhtYW5pZmVzdCkpKTtcbiAgICAgIGF3YWl0IHRoaXMuY2xlYXJTZXJ2aWNlQ2FjaGVzKHJlcXVpcmVkTW9kdWxlc0FycmF5KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBtb2R1bGUgcHJvdmlkZXJzIGZvciBhIHNwZWNpZmljIGFwcGxpY2F0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBjYW4gYmUgY2FsbGVkIGZyb20gZ3VhcmRzLCBjb21wb25lbnRzLCBvciBzdGFydHVwIHRhc2tzLlxuICAgKiBAcGFyYW0gYXBwbGljYXRpb24gVGhlIGFwcGxpY2F0aW9uIHRvIGxvYWQgcHJvdmlkZXJzIGZvclxuICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBwcm92aWRlcnMgYXJlIGxvYWRlZFxuICAgKi9cbiAgYXN5bmMgbG9hZFByb3ZpZGVyc0ZvckFwcGxpY2F0aW9uKGFwcGxpY2F0aW9uOiBBWFBBcHBsaWNhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGRlYnVnZ2VyXG4gICAgdHJ5IHtcbiAgICAgIGNvbnNvbGUubG9nKCdbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIGxvYWRQcm92aWRlcnNGb3JBcHBsaWNhdGlvbiBjYWxsZWQgZm9yIGFwcGxpY2F0aW9uOicsIGFwcGxpY2F0aW9uLm5hbWUpO1xuXG4gICAgICBpZiAoIWFwcGxpY2F0aW9uLmVkaXRpb24/LmlkKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBBcHBsaWNhdGlvbiBoYXMgbm8gZWRpdGlvbiwgc2tpcHBpbmcgcHJvdmlkZXIgbG9hZGluZycpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVkaXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQX0VESVRJT05fU0VSVklDRSwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgICAgaWYgKCFlZGl0aW9uU2VydmljZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tNb2R1bGVQcm92aWRlckxvYWRlcl0gRWRpdGlvblNlcnZpY2Ugbm90IGF2YWlsYWJsZSwgc2tpcHBpbmcgcHJvdmlkZXIgbG9hZGluZycpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIFVzZSBnZXRPbmUgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgZmFsbGJhY2sgdG8gcXVlcnlcbiAgICAgIGxldCBlZGl0aW9uO1xuICAgICAgY29uc3QgZWRpdGlvblNlcnZpY2VXaXRoR2V0T25lID0gZWRpdGlvblNlcnZpY2UgYXMgQVhQSUVkaXRpb25TZXJ2aWNlICYgeyBnZXRPbmU/OiAoaWQ6IHN0cmluZykgPT4gUHJvbWlzZTxhbnk+IH07XG4gICAgICBpZiAodHlwZW9mIGVkaXRpb25TZXJ2aWNlV2l0aEdldE9uZS5nZXRPbmUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZWRpdGlvbiA9IGF3YWl0IGVkaXRpb25TZXJ2aWNlV2l0aEdldE9uZS5nZXRPbmUoYXBwbGljYXRpb24uZWRpdGlvbi5pZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBlZGl0aW9uc1Jlc3VsdCA9IGF3YWl0IGVkaXRpb25TZXJ2aWNlLnF1ZXJ5KHsgc2tpcDogMCwgdGFrZTogMTAwMCB9KTtcbiAgICAgICAgZWRpdGlvbiA9IGVkaXRpb25zUmVzdWx0Lml0ZW1zLmZpbmQoKGUpID0+IGUuaWQgPT09IGFwcGxpY2F0aW9uLmVkaXRpb24hLmlkKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFlZGl0aW9uKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBFZGl0aW9uIG5vdCBmb3VuZDogJHthcHBsaWNhdGlvbi5lZGl0aW9uLmlkfSBmb3IgYXBwbGljYXRpb24gJHthcHBsaWNhdGlvbi5pZH1gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2Vzc2lvblNlcnZpY2UgPSB0aGlzLmdldFNlc3Npb25TZXJ2aWNlKCk7XG4gICAgICBjb25zdCB0ZW5hbnQgPSBzZXNzaW9uU2VydmljZS50ZW5hbnQ7XG4gICAgICBjb25zdCB1c2VyID0gc2Vzc2lvblNlcnZpY2UudXNlcjtcblxuICAgICAgaWYgKCF0ZW5hbnQgfHwgIXVzZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUZW5hbnQgb3IgdXNlciBpcyBtaXNzaW5nJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUubG9nKCdbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIExvYWRpbmcgbW9kdWxlIHByb3ZpZGVycyBmb3IgYXBwbGljYXRpb246JywgYXBwbGljYXRpb24ubmFtZSk7XG5cbiAgICAgIGF3YWl0IHRoaXMubG9hZFByb3ZpZGVycyh7XG4gICAgICAgIHRlbmFudCxcbiAgICAgICAgYXBwbGljYXRpb24sXG4gICAgICAgIGVkaXRpb246IHtcbiAgICAgICAgICBpZDogZWRpdGlvbi5pZCxcbiAgICAgICAgICB0aXRsZTogZWRpdGlvbi50aXRsZSxcbiAgICAgICAgICBtb2R1bGVzQW5kRmVhdHVyZXM6IGVkaXRpb24ubW9kdWxlc0FuZEZlYXR1cmVzLFxuICAgICAgICB9LFxuICAgICAgICBzdWJzY3JpcHRpb246IHVuZGVmaW5lZCwgLy8gVE9ETzogR2V0IHN1YnNjcmlwdGlvbiBpZiBhdmFpbGFibGVcbiAgICAgICAgdXNlcixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZygnW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBNb2R1bGUgcHJvdmlkZXJzIGxvYWRlZCBzdWNjZXNzZnVsbHknKTtcblxuICAgICAgLy8gRGlzcGxheSBhbGwgbG9hZGVkIG1vZHVsZXMsIGZlYXR1cmVzLCBhbmQgcGVybWlzc2lvbnNcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZGVidWdTZXJ2aWNlLmRpc3BsYXlVc2VyQWNjZXNzSW5mbygpO1xuICAgICAgfSBjYXRjaCAoZGVidWdFcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tNb2R1bGVQcm92aWRlckxvYWRlcl0gRmFpbGVkIHRvIGRpc3BsYXkgdXNlciBhY2Nlc3MgaW5mbzonLCBkZWJ1Z0Vycm9yKTtcbiAgICAgICAgLy8gRG9uJ3QgdGhyb3cgLSB0aGlzIGlzIGp1c3QgZm9yIGRlYnVnZ2luZ1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIEZhaWxlZCB0byBsb2FkIG1vZHVsZSBwcm92aWRlcnM6JywgZXJyb3IpO1xuICAgICAgLy8gRG9uJ3QgdGhyb3cgLSBhbGxvdyBuYXZpZ2F0aW9uIGV2ZW4gaWYgcHJvdmlkZXIgbG9hZGluZyBmYWlsc1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIG1vZHVsZSBwcm92aWRlcnMgaWYgc2Vzc2lvbiBpcyByZWFkeS5cbiAgICogV2FpdHMgZm9yIHNlc3Npb24gdG8gYmUgYXV0aGVudGljYXRlZC9hdXRob3JpemVkLCB0aGVuIGxvYWRzIHByb3ZpZGVycy5cbiAgICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gcHJvdmlkZXJzIGFyZSBsb2FkZWQgb3Igc2tpcHBlZFxuICAgKi9cbiAgYXN5bmMgbG9hZFByb3ZpZGVyc0lmUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlc3Npb25TZXJ2aWNlID0gdGhpcy5nZXRTZXNzaW9uU2VydmljZSgpO1xuICAgICAgY29uc3QgaXNMb2FkaW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oc2Vzc2lvblNlcnZpY2UuaXNMb2FkaW5nJCk7XG4gICAgICBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgIHNlc3Npb25TZXJ2aWNlLmlzTG9hZGluZyQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigobG9hZGluZykgPT4gIWxvYWRpbmcpLFxuICAgICAgICAgICAgdGFrZSgxKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhdHVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oc2Vzc2lvblNlcnZpY2Uuc3RhdHVzJCk7XG4gICAgICBpZiAoc3RhdHVzICE9PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhlbnRpY2F0ZWQgJiYgc3RhdHVzICE9PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhvcml6ZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tNb2R1bGVQcm92aWRlckxvYWRlcl0gVXNlciBub3QgYXV0aGVudGljYXRlZCwgc2tpcHBpbmcgcHJvdmlkZXIgbG9hZGluZycpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRlbmFudCA9IHNlc3Npb25TZXJ2aWNlLnRlbmFudDtcbiAgICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb247XG4gICAgICBjb25zdCB1c2VyID0gc2Vzc2lvblNlcnZpY2UudXNlcjtcblxuICAgICAgaWYgKCF0ZW5hbnQgfHwgIWFwcGxpY2F0aW9uIHx8ICF1c2VyKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIFRlbmFudCwgYXBwbGljYXRpb24sIG9yIHVzZXIgbm90IGF2YWlsYWJsZSwgc2tpcHBpbmcgcHJvdmlkZXIgbG9hZGluZycpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIFVzZSB0aGUgc2hhcmVkIG1ldGhvZFxuICAgICAgYXdhaXQgdGhpcy5sb2FkUHJvdmlkZXJzRm9yQXBwbGljYXRpb24oYXBwbGljYXRpb24pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIEZhaWxlZCB0byBsb2FkIG1vZHVsZSBwcm92aWRlcnM6JywgZXJyb3IpO1xuICAgICAgLy8gRG9uJ3QgdGhyb3cgLSBhbGxvdyBuYXZpZ2F0aW9uIGV2ZW4gaWYgcHJvdmlkZXIgbG9hZGluZyBmYWlsc1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUHJpdmF0ZSBNZXRob2RzICAgLS0tLVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tNb2R1bGVBY2Nlc3MoXG4gICAgbWFuaWZlc3Q6IEFYUE1vZHVsZU1hbmlmZXN0LFxuICAgIGNvbnRleHQ6IEFYUE1vZHVsZUFjY2Vzc0NvbnRleHRcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFjY2Vzc0NvbnRyb2xTZXJ2aWNlID0gdGhpcy5nZXRBY2Nlc3NDb250cm9sU2VydmljZSgpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGFjY2Vzc0NvbnRyb2xTZXJ2aWNlLmNoZWNrQWNjZXNzKG1hbmlmZXN0LCBjb250ZXh0KSk7XG4gICAgICByZXR1cm4gcmVzdWx0ID09PSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIEVycm9yIGNoZWNraW5nIGFjY2VzcyBmb3IgbW9kdWxlICcke21hbmlmZXN0Lm5hbWV9JzpgLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWdpc3RlclByb3ZpZGVycyhtYW5pZmVzdDogQVhQTW9kdWxlTWFuaWZlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKG1hbmlmZXN0LnBlcm1pc3Npb25zPy5wcm92aWRlcikge1xuICAgICAgICBhd2FpdCB0aGlzLnJlZ2lzdGVyUGVybWlzc2lvblByb3ZpZGVyKG1hbmlmZXN0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hbmlmZXN0Lm1lbnVzPy5wcm92aWRlcikge1xuICAgICAgICBhd2FpdCB0aGlzLnJlZ2lzdGVyTWVudVByb3ZpZGVyKG1hbmlmZXN0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hbmlmZXN0LmVudGl0aWVzPy5wcm92aWRlcikge1xuICAgICAgICBhd2FpdCB0aGlzLnJlZ2lzdGVyRW50aXR5UHJvdmlkZXIobWFuaWZlc3QpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWFuaWZlc3Quc2V0dGluZ3M/LnByb3ZpZGVyKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVnaXN0ZXJTZXR0aW5nc1Byb3ZpZGVyKG1hbmlmZXN0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hbmlmZXN0LnNlYXJjaD8ucHJvdmlkZXIpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWdpc3RlclNlYXJjaFByb3ZpZGVyKG1hbmlmZXN0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hbmlmZXN0LmZlYXR1cmVzPy5wcm92aWRlcikge1xuICAgICAgICBhd2FpdCB0aGlzLnJlZ2lzdGVyRmVhdHVyZXNQcm92aWRlcihtYW5pZmVzdCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtYW5pZmVzdC5kYXRhc291cmNlcz8ucHJvdmlkZXIpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWdpc3RlckRhdGFzb3VyY2VQcm92aWRlcihtYW5pZmVzdCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtYW5pZmVzdC5jb21wb25lbnRTbG90cz8ucHJvdmlkZXIpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWdpc3RlckNvbXBvbmVudFNsb3RzUHJvdmlkZXIobWFuaWZlc3QpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJlZ2lzdGVyZWRNb2R1bGVzLmFkZChtYW5pZmVzdC5uYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBGYWlsZWQgdG8gcmVnaXN0ZXIgcHJvdmlkZXJzIGZvciBtb2R1bGUgJyR7bWFuaWZlc3QubmFtZX0nOmAsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJQZXJtaXNzaW9uUHJvdmlkZXIobWFuaWZlc3Q6IEFYUE1vZHVsZU1hbmlmZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgUHJvdmlkZXJDbGFzcyA9IGF3YWl0IG1hbmlmZXN0LnBlcm1pc3Npb25zIS5wcm92aWRlcigpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvdmlkZXJDbGFzcyh0aGlzLmluamVjdG9yKTtcbiAgICB9KTtcbiAgICB0aGlzLnByb3ZpZGVyUmVnaXN0cnkucmVnaXN0ZXJQZXJtaXNzaW9uUHJvdmlkZXIocHJvdmlkZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWdpc3Rlck1lbnVQcm92aWRlcihtYW5pZmVzdDogQVhQTW9kdWxlTWFuaWZlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBQcm92aWRlckNsYXNzID0gYXdhaXQgbWFuaWZlc3QubWVudXMhLnByb3ZpZGVyKCk7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm92aWRlckNsYXNzKCk7XG4gICAgfSk7XG4gICAgdGhpcy5wcm92aWRlclJlZ2lzdHJ5LnJlZ2lzdGVyTWVudVByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJFbnRpdHlQcm92aWRlcihtYW5pZmVzdDogQVhQTW9kdWxlTWFuaWZlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBQcm92aWRlckNsYXNzID0gYXdhaXQgbWFuaWZlc3QuZW50aXRpZXMhLnByb3ZpZGVyKCk7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm92aWRlckNsYXNzKHRoaXMuaW5qZWN0b3IpO1xuICAgIH0pO1xuICAgIHRoaXMucHJvdmlkZXJSZWdpc3RyeS5yZWdpc3RlckVudGl0eVByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJTZXR0aW5nc1Byb3ZpZGVyKG1hbmlmZXN0OiBBWFBNb2R1bGVNYW5pZmVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IFByb3ZpZGVyQ2xhc3MgPSBhd2FpdCBtYW5pZmVzdC5zZXR0aW5ncyEucHJvdmlkZXIoKTtcbiAgICBjb25zdCBwcm92aWRlciA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb3ZpZGVyQ2xhc3ModGhpcy5pbmplY3Rvcik7XG4gICAgfSk7XG4gICAgdGhpcy5wcm92aWRlclJlZ2lzdHJ5LnJlZ2lzdGVyU2V0dGluZ1Byb3ZpZGVyKHByb3ZpZGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJTZWFyY2hQcm92aWRlcihtYW5pZmVzdDogQVhQTW9kdWxlTWFuaWZlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBQcm92aWRlckNsYXNzID0gYXdhaXQgbWFuaWZlc3Quc2VhcmNoIS5wcm92aWRlcigpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvdmlkZXJDbGFzcygpO1xuICAgIH0pO1xuICAgIHRoaXMucHJvdmlkZXJSZWdpc3RyeS5yZWdpc3RlclNlYXJjaFByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJGZWF0dXJlc1Byb3ZpZGVyKG1hbmlmZXN0OiBBWFBNb2R1bGVNYW5pZmVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IFByb3ZpZGVyQ2xhc3MgPSBhd2FpdCBtYW5pZmVzdC5mZWF0dXJlcyEucHJvdmlkZXIoKTtcbiAgICBjb25zdCBwcm92aWRlciA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb3ZpZGVyQ2xhc3MoKTtcbiAgICB9KTtcbiAgICB0aGlzLnByb3ZpZGVyUmVnaXN0cnkucmVnaXN0ZXJGZWF0dXJlUHJvdmlkZXIocHJvdmlkZXIpO1xuXG4gICAgY29uc3QgY29udGV4dCA9IG5ldyBBWFBGZWF0dXJlRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCgpO1xuICAgIGF3YWl0IHByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG5cbiAgICBjb25zdCBkeW5hbWljRmVhdHVyZXMgPSBjb250ZXh0LmdldEZlYXR1cmVzKCk7XG4gICAgZm9yIChjb25zdCBba2V5LCBkZWZpbml0aW9uXSBvZiBkeW5hbWljRmVhdHVyZXMuZW50cmllcygpKSB7XG4gICAgICBjb25zdCBbbW9kdWxlTmFtZSwgLi4ua2V5UGFydHNdID0ga2V5LnNwbGl0KCc6Jyk7XG4gICAgICBjb25zdCBzaG9ydEtleSA9IGtleVBhcnRzLmpvaW4oJzonKTtcblxuICAgICAgdGhpcy5tYW5pZmVzdFJlZ2lzdHJ5LnJlZ2lzdGVyRmVhdHVyZURlZmluaXRpb24oe1xuICAgICAgICAuLi5kZWZpbml0aW9uLFxuICAgICAgICBuYW1lOiBrZXksXG4gICAgICAgIG1vZHVsZTogbW9kdWxlTmFtZSxcbiAgICAgICAga2V5OiBzaG9ydEtleSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJEYXRhc291cmNlUHJvdmlkZXIobWFuaWZlc3Q6IEFYUE1vZHVsZU1hbmlmZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgUHJvdmlkZXJDbGFzcyA9IGF3YWl0IG1hbmlmZXN0LmRhdGFzb3VyY2VzIS5wcm92aWRlcigpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvdmlkZXJDbGFzcygpO1xuICAgIH0pO1xuICAgIHRoaXMucHJvdmlkZXJSZWdpc3RyeS5yZWdpc3RlckRhdGFzb3VyY2VQcm92aWRlcihwcm92aWRlcik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlZ2lzdGVyQ29tcG9uZW50U2xvdHNQcm92aWRlcihtYW5pZmVzdDogQVhQTW9kdWxlTWFuaWZlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25maWdzID0gYXdhaXQgbWFuaWZlc3QuY29tcG9uZW50U2xvdHMhLnByb3ZpZGVyKCk7XG4gICAgY29uc3QgcmVnaXN0cnkgPSB0aGlzLmluamVjdG9yLmdldChBWFBDb21wb25lbnRTbG90UmVnaXN0cnlTZXJ2aWNlKTtcblxuICAgIGZvciAoY29uc3QgW3Nsb3ROYW1lLCBzbG90Q29uZmlnc10gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlncyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4pKSB7XG4gICAgICBzbG90Q29uZmlncy5mb3JFYWNoKChjb25maWc6IGFueSkgPT4ge1xuICAgICAgICByZWdpc3RyeS5yZWdpc3RlcihzbG90TmFtZSwgY29uZmlnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2xlYXJTZXJ2aWNlQ2FjaGVzKHByZXNlcnZlTW9kdWxlcz86IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gU3RlcCAxOiBSZWxvYWQgcGVybWlzc2lvbiBkZWZpbml0aW9ucyAoc3RydWN0dXJlKSBhbmQgYXdhaXQgY29tcGxldGlvblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwZXJtaXNzaW9uU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFBlcm1pc3Npb25EZWZpbml0aW9uU2VydmljZSwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICAgIGlmIChwZXJtaXNzaW9uU2VydmljZSAmJiB0eXBlb2YgcGVybWlzc2lvblNlcnZpY2UucmVsb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGF3YWl0IHBlcm1pc3Npb25TZXJ2aWNlLnJlbG9hZCgpO1xuICAgICAgICBjb25zb2xlLmxvZygnW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBQZXJtaXNzaW9uIGRlZmluaXRpb25zIHJlbG9hZGVkJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybignW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBGYWlsZWQgdG8gcmVsb2FkIHBlcm1pc3Npb24gZGVmaW5pdGlvbnM6JywgZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIFN0ZXAgMjogUmVsb2FkIHNlc3Npb24gcGVybWlzc2lvbnMgKGFjdHVhbCBrZXlzIHVzZXIgaGFzKVxuICAgIC8vIFRoaXMgaXMgY3JpdGljYWwgYmVjYXVzZSBtZW51IHZpc2liaWxpdHkgY2hlY2tzIHVzZSBzZXNzaW9uU2VydmljZS5hdXRob3JpemUoKVxuICAgIC8vIHdoaWNoIGNoZWNrcyBhZ2FpbnN0IHNlc3Npb25TZXJ2aWNlLnBlcm1pc3Npb25zIGFycmF5XG4gICAgLy8gTm90ZTogV2UgcmVsb2FkIHBlcm1pc3Npb25zIGJ5IGNhbGxpbmcgdXBkYXRlVG9rZW4gd2hpY2ggdHJpZ2dlcnMgcmVzdG9yZVNlc3Npb24oKVxuICAgIC8vIHdoaWNoIGNhbGxzIGxvYWRQZXJtaXNzaW9ucygpLiB1cGRhdGVUb2tlbiBvbmx5IGNhbGxzIHJlc3RvcmVTZXNzaW9uKCkgaWZcbiAgICAvLyB0ZW5hbnQgYW5kIGFwcGxpY2F0aW9uIGFyZSBzZXQsIHdoaWNoIHRoZXkgc2hvdWxkIGJlIGF0IHRoaXMgcG9pbnQuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlc3Npb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2Vzc2lvblNlcnZpY2UsIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgICBpZiAoc2Vzc2lvblNlcnZpY2UgJiYgc2Vzc2lvblNlcnZpY2UudXNlciAmJiBzZXNzaW9uU2VydmljZS50ZW5hbnQgJiYgc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24pIHtcbiAgICAgICAgLy8gdXBkYXRlVG9rZW4gd2lsbCB0cmlnZ2VyIHJlc3RvcmVTZXNzaW9uKCkgd2hpY2ggcmVsb2FkcyBwZXJtaXNzaW9uc1xuICAgICAgICAvLyBXZSBwYXNzIHRoZSBjdXJyZW50IGNvbnRleHQgdG8gdXBkYXRlVG9rZW5cbiAgICAgICAgY29uc3QgY29udGV4dCA9IHNlc3Npb25TZXJ2aWNlLmdldENvbnRleHQoKTtcbiAgICAgICAgYXdhaXQgc2Vzc2lvblNlcnZpY2UudXBkYXRlVG9rZW4oe1xuICAgICAgICAgIHVzZXI6IGNvbnRleHQudXNlcixcbiAgICAgICAgICB0ZW5hbnQ6IGNvbnRleHQudGVuYW50LFxuICAgICAgICAgIGFwcGxpY2F0aW9uOiBjb250ZXh0LmFwcGxpY2F0aW9uLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc29sZS5sb2coJ1tNb2R1bGVQcm92aWRlckxvYWRlcl0gU2Vzc2lvbiBwZXJtaXNzaW9ucyByZWxvYWRlZCB2aWEgdXBkYXRlVG9rZW4nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS53YXJuKCdbTW9kdWxlUHJvdmlkZXJMb2FkZXJdIEZhaWxlZCB0byByZWxvYWQgc2Vzc2lvbiBwZXJtaXNzaW9uczonLCBlcnJvcik7XG4gICAgICAvLyBDb250aW51ZSBldmVuIGlmIHRoaXMgZmFpbHMgLSBtZW51IHdpbGwgc3RpbGwgd29yaywganVzdCBtaWdodCBoYXZlIHN0YWxlIHBlcm1pc3Npb25zIGJyaWVmbHlcbiAgICB9XG5cbiAgICAvLyBTdGVwIDM6IENsZWFyIG1lbnUgY2FjaGUgQUZURVIgcGVybWlzc2lvbnMgYXJlIHJlYWR5XG4gICAgLy8gVGhpcyBlbnN1cmVzIG1lbnUgdmlzaWJpbGl0eSBjaGVja3MgaGF2ZSBhY2Nlc3MgdG8gdXBkYXRlZCBwZXJtaXNzaW9uc1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtZW51U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUE1lbnVQcm92aWRlclNlcnZpY2UsIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgICBpZiAobWVudVNlcnZpY2UgJiYgdHlwZW9mIG1lbnVTZXJ2aWNlLmNsZWFyQ2FjaGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgbWVudVNlcnZpY2UuY2xlYXJDYWNoZSgpO1xuICAgICAgICBjb25zb2xlLmxvZygnW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBNZW51IGNhY2hlIGNsZWFyZWQgYWZ0ZXIgcGVybWlzc2lvbnMgcmVsb2FkJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIElnbm9yZVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZXR0aW5nc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyU2VydmljZSwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICAgIGlmIChzZXR0aW5nc1NlcnZpY2UgJiYgdHlwZW9mIHNldHRpbmdzU2VydmljZS5yZWxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgc2V0dGluZ3NTZXJ2aWNlLnJlbG9hZCgpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUud2FybignW01vZHVsZVByb3ZpZGVyTG9hZGVyXSBGYWlsZWQgdG8gcmVsb2FkIHNldHRpbmdzOicsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIElnbm9yZVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbnRpdHlTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICAgIGlmIChlbnRpdHlTZXJ2aWNlICYmIHR5cGVvZiBlbnRpdHlTZXJ2aWNlLmNsZWFyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGVudGl0eVNlcnZpY2UuY2xlYXIocHJlc2VydmVNb2R1bGVzKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSWdub3JlXG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19","import { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXPCommonModule } from '@acorex/platform/common';\nimport { AXP_MODULE_PROVIDER_LOADER } from '@acorex/platform/core';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { routes } from './auth.routes';\nimport { AXMAuthErrorHandler } from './error-handler';\nimport { AXMSecurityManagementModuleMenuProvider } from './menu.provider';\nimport { AXPAccountModule } from './pages/account/account.module';\nimport { AXPModuleProviderLoader } from './module-provider-loader.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/common\";\nimport * as i2 from \"@angular/router\";\nexport class AXMAuthModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthModule, imports: [CommonModule, i1.AXPCommonModule, i2.RouterModule, AXPAccountModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthModule, providers: [\n AXMAuthErrorHandler,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMSecurityManagementModuleMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXMSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_MODULE_PROVIDER_LOADER,\n useClass: AXPModuleProviderLoader,\n },\n provideCommandSetups([\n {\n key: 'auth:profile',\n command: () => import('./commands/show-profile-command').then((c) => c.AXPShowProfileCommand),\n },\n ]),\n ], imports: [CommonModule,\n AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),\n RouterModule.forChild(routes),\n AXPAccountModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMAuthModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),\n RouterModule.forChild(routes),\n AXPAccountModule,\n ],\n providers: [\n AXMAuthErrorHandler,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMSecurityManagementModuleMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXMSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_MODULE_PROVIDER_LOADER,\n useClass: AXPModuleProviderLoader,\n },\n provideCommandSetups([\n {\n key: 'auth:profile',\n command: () => import('./commands/show-profile-command').then((c) => c.AXPShowProfileCommand),\n },\n ]),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2F1dGgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBK0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBcUMzRSxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsWUFqQ3RCLFlBQVksdUNBR1osZ0JBQWdCO2dIQThCUCxhQUFhLGFBNUJiO1lBQ1QsbUJBQW1CO1lBQ25CO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSx1Q0FBdUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUU7b0JBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7b0JBQzFFLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSwwQkFBMEI7Z0JBQ25DLFFBQVEsRUFBRSx1QkFBdUI7YUFDbEM7WUFDRCxvQkFBb0IsQ0FBQztnQkFDbkI7b0JBQ0UsR0FBRyxFQUFFLGNBQWM7b0JBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDOUY7YUFDRixDQUFDO1NBQ0gsWUEvQkMsWUFBWTtZQUNaLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDbEUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDN0IsZ0JBQWdCOzs0RkE4QlAsYUFBYTtrQkFuQ3pCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQzt3QkFDbEUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7d0JBQzdCLGdCQUFnQjtxQkFDakI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLHVDQUF1Qzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLCtCQUErQjs0QkFDeEMsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFO2dDQUNyQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0NBQ2xDLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO2dDQUMxRSxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzRCQUNoQyxDQUFDOzRCQUNELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFFBQVEsRUFBRSx1QkFBdUI7eUJBQ2xDO3dCQUNELG9CQUFvQixDQUFDOzRCQUNuQjtnQ0FDRSxHQUFHLEVBQUUsY0FBYztnQ0FDbkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDOzZCQUM5Rjt5QkFDRixDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX01FTlVfUFJPVklERVIsIEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsIEFYUENvbW1vbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUF9NT0RVTEVfUFJPVklERVJfTE9BREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVDb21tYW5kU2V0dXBzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdG9yLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gJy4vYXV0aC5yb3V0ZXMnO1xuaW1wb3J0IHsgQVhNQXV0aEVycm9ySGFuZGxlciB9IGZyb20gJy4vZXJyb3ItaGFuZGxlcic7XG5pbXBvcnQgeyBBWE1TZWN1cml0eU1hbmFnZW1lbnRNb2R1bGVNZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhQQWNjb3VudE1vZHVsZSB9IGZyb20gJy4vcGFnZXMvYWNjb3VudC9hY2NvdW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWFBNb2R1bGVQcm92aWRlckxvYWRlciB9IGZyb20gJy4vbW9kdWxlLXByb3ZpZGVyLWxvYWRlci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBWFBDb21tb25Nb2R1bGUuZm9yQ2hpbGQoeyBlcnJvckhhbmRsZXJzOiBbQVhNQXV0aEVycm9ySGFuZGxlcl0gfSksXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyksXG4gICAgQVhQQWNjb3VudE1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhNQXV0aEVycm9ySGFuZGxlcixcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfTUVOVV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1TZWN1cml0eU1hbmFnZW1lbnRNb2R1bGVNZW51UHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VGYWN0b3J5OiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSAoYXdhaXQgaW1wb3J0KCcuL3NldHRpbmdzLnByb3ZpZGVyJykpLkFYTVNldHRpbmdQcm92aWRlcjtcbiAgICAgICAgcmV0dXJuIG5ldyBwcm92aWRlcihpbmplY3Rvcik7XG4gICAgICB9LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfTU9EVUxFX1BST1ZJREVSX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBNb2R1bGVQcm92aWRlckxvYWRlcixcbiAgICB9LFxuICAgIHByb3ZpZGVDb21tYW5kU2V0dXBzKFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnYXV0aDpwcm9maWxlJyxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2NvbW1hbmRzL3Nob3ctcHJvZmlsZS1jb21tYW5kJykudGhlbigoYykgPT4gYy5BWFBTaG93UHJvZmlsZUNvbW1hbmQpLFxuICAgICAgfSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNQXV0aE1vZHVsZSB7IH1cbiJdfQ==","export var AXMSessionStatusTypes;\n(function (AXMSessionStatusTypes) {\n AXMSessionStatusTypes[\"revoked\"] = \"revoked\";\n AXMSessionStatusTypes[\"expired\"] = \"expired\";\n AXMSessionStatusTypes[\"active\"] = \"active\";\n})(AXMSessionStatusTypes || (AXMSessionStatusTypes = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXNlc3Npb25zLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2F1dGgvc3JjL2xpYi9zaGFyZWQvdHlwZXMvZGV2aWNlLXNlc3Npb25zLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sQ0FBTixJQUFZLHFCQUlYO0FBSkQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsNENBQW1CLENBQUE7SUFDbkIsMENBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFJaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlNb2RlbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5leHBvcnQgZW51bSBBWE1TZXNzaW9uU3RhdHVzVHlwZXMge1xuICByZXZva2VkID0gJ3Jldm9rZWQnLFxuICBleHBpcmVkID0gJ2V4cGlyZWQnLFxuICBhY3RpdmUgPSAnYWN0aXZlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWE1TZWN1cml0eU1hbmFnZW1lbnREZXZpY2VTZXNzaW9uc0VudGl0eU1vZGVsIGV4dGVuZHMgQVhQRW50aXR5TW9kZWw8c3RyaW5nPiB7XG4gIGNsaWVudE5hbWU6IHN0cmluZztcbiAgaXBBZGRyZXNzOiBzdHJpbmc7XG4gIHVzZXJBZ2VudDogc3RyaW5nO1xuICBhdXRob3JpemF0aW9uSWQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICB1c2VyOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcbiAgYXBwbGljYXRpb246IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgdGVuYW50OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGlzQWN0aXZlU2Vzc2lvbjogYm9vbGVhbjtcblxuICBkZXZpY2VOYW1lOiBzdHJpbmc7XG4gIG9wZXJhdGluZ1N5c3RlbTogc3RyaW5nO1xuICBicm93c2VyOiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBzdHJpbmc7XG4gIGxhc3RMb2dpbkRhdGU6IERhdGU7XG59ICJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9hY29yZXgtbW9kdWxlcy1hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i3","i1","i2","i4","i5","i6"],"mappings":"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"}
|